blob: 537bce52b7e2c99787328e6e407e7da7b32788e0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
<?php /* Copyright (c) 2024 Freya Murphy */
class Projects_model extends Model {
private $markdown;
function __construct()
{
$this->markdown = new MarkdownParser();
}
/**
* @param array<string,mixed> $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;
}
}
?>
|