diff options
| author | alex <alex@pdp7.net> | 2023-09-17 17:39:54 +0200 |
|---|---|---|
| committer | alex <alex@pdp7.net> | 2023-09-17 17:39:54 +0200 |
| commit | e7d04e802ea9fcf4a56210be16aaa0b131e5e797 (patch) | |
| tree | 071fc39e31a08dd9c91fe5c5ab4d8c05fde3feab /blog_experiment/blog/__init__.py | |
| parent | e5a7e9667c709c20988158b30b29e5ac019c0fe2 (diff) | |
Refactor in modules, add gemtext parser
Diffstat (limited to 'blog_experiment/blog/__init__.py')
| -rw-r--r-- | blog_experiment/blog/__init__.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/blog_experiment/blog/__init__.py b/blog_experiment/blog/__init__.py new file mode 100644 index 00000000..4b1e0ba5 --- /dev/null +++ b/blog_experiment/blog/__init__.py @@ -0,0 +1,16 @@ +import pathlib +import re + +import bicephalus + +from blog import blog_pages, page + + +def handler(request: bicephalus.Request) -> bicephalus.Response: + if request.path == "/": + return blog_pages.Root(request).response() + if re.match(r"/\d{4}/\d{2}/.*/", request.path): + blog_file = pathlib.Path("content") / (request.path[1:-1] + ".gmi") + if blog_file.exists(): + return blog_pages.EntryPage(request, blog_file).response() + return page.NotFound(request).response() |
