diff options
| author | alex <alex@pdp7.net> | 2023-10-08 21:55:35 +0200 |
|---|---|---|
| committer | alex <alex@pdp7.net> | 2023-10-08 21:55:35 +0200 |
| commit | 4716d59f08c94607c66f5ca85ce9aaaf63fd017e (patch) | |
| tree | eb63bb70881daed9b139717ad0453270da2c8b6c /blog_experiment/blog/__init__.py | |
| parent | 8efec5e2974570580f674e2c601e70727d5eec8a (diff) | |
Add about
Diffstat (limited to 'blog_experiment/blog/__init__.py')
| -rw-r--r-- | blog_experiment/blog/__init__.py | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/blog_experiment/blog/__init__.py b/blog_experiment/blog/__init__.py index 594d1a77..c16c2a23 100644 --- a/blog_experiment/blog/__init__.py +++ b/blog_experiment/blog/__init__.py @@ -3,7 +3,31 @@ import re import bicephalus -from blog import blog_pages, page +import htmlgenerator as h + +from blog import blog_pages, page, html, pretty, gemtext + + +class AboutPage(page.BasePage): + def get_gemini_content(self): + return ( + bicephalus.Status.OK, + "text/gemini", + pathlib.Path("static/about/index.gmi").read_text(), + ) + + def get_http_content(self): + return ( + bicephalus.Status.OK, + "text/html", + pretty.pretty_html(h.render( + h.HTML( + h.HEAD( + h.TITLE("About Álex Córcoles"), + ), + h.BODY(*html.gemini_to_html(gemtext.parse(self.get_gemini_content()[2]))) + ), {})), + ) def handler(request: bicephalus.Request) -> bicephalus.Response: @@ -15,4 +39,7 @@ def handler(request: bicephalus.Request) -> bicephalus.Response: return blog_pages.EntryPage(request, blog_file).response() if request.path == "/feed/" and request.proto == bicephalus.Proto.HTTP: return blog_pages.Root(request).feed() + if request.path == "/about/": + return AboutPage(request).response() + return page.NotFound(request).response() |
