From f373ead95fb5beb962c376b5b7b46dfde8ac4e57 Mon Sep 17 00:00:00 2001 From: Freya Murphy Date: Mon, 23 Feb 2026 22:57:27 -0500 Subject: update website to work with crimson framework --- src/web/lib/markdown.php | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src/web/lib/markdown.php (limited to 'src/web/lib/markdown.php') diff --git a/src/web/lib/markdown.php b/src/web/lib/markdown.php new file mode 100644 index 0000000..5279a1f --- /dev/null +++ b/src/web/lib/markdown.php @@ -0,0 +1,36 @@ +parsedown = new ParsedownExtra(); + } + + /** + * @return array + */ + function parse(string $path): array { + $content = file_get_contents($path); + $data = array( + 'meta' => array(), + 'content' => $content + ); + if (str_starts_with($content, '---')) { + $parts = explode('---', $content); + $data['content'] = trim(implode('---', array_slice($parts, 2))); + $meta = array_filter(explode("\n", $parts[1]), fn($x) => $x != ''); + foreach ($meta as $set) { + $parts = explode(": ", $set); + $key = trim($parts[0]); + $value = trim($parts[1]); + $data['meta'][$key] = $value; + } + + } + $data['content'] = $this->parsedown->text($data['content']); + return $data; + } + +} -- cgit v1.2.3-freya