markdown = new MarkdownParser(); } /** * @param array $data */ private function load_projects(&$data): void { $projects = array(); $dir = ASSET_ROOT . '/projects'; if ($handle = opendir($dir)) { while (false !== ($entry = readdir($handle))) { if (str_starts_with($entry, ".")) { continue; } $path = $dir . '/' . $entry; $md = $this->markdown->parse($path); $projects[$entry] = $md; } } krsort($projects); $data['projects'] = $projects; } public function get_data(): ?array { $data = parent::get_base_data(); $this->load_projects($data); $data['title'] = lang('title'); $data['desc'] = lang('short_desc'); return $data; } } ?>