diff options
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() |
