aboutsummaryrefslogtreecommitdiff
path: root/blog_experiment/blog/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'blog_experiment/blog/__init__.py')
-rw-r--r--blog_experiment/blog/__init__.py29
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()