From 4716d59f08c94607c66f5ca85ce9aaaf63fd017e Mon Sep 17 00:00:00 2001 From: alex Date: Sun, 8 Oct 2023 21:55:35 +0200 Subject: Add about --- blog_experiment/blog/__init__.py | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) (limited to 'blog_experiment/blog/__init__.py') 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() -- cgit v1.2.3