summaryrefslogtreecommitdiff
path: root/gemini.py
diff options
context:
space:
mode:
authorMatt Singleton <matt@xcolour.net>2022-01-15 12:50:28 -0600
committerMatt Singleton <matt@xcolour.net>2022-01-16 13:04:41 -0600
commitfdf5165ebb37cf7cf7c02bec0f7c35f800ade755 (patch)
treedb540cd0ac11ac7afd4469a87158f2c8a88e3b52 /gemini.py
parent72e2b1675b300d9ffde1b93a1f2f567df49343cf (diff)
html template
Diffstat (limited to 'gemini.py')
-rw-r--r--gemini.py19
1 files changed, 11 insertions, 8 deletions
diff --git a/gemini.py b/gemini.py
index 2d29236..e820619 100644
--- a/gemini.py
+++ b/gemini.py
@@ -2,6 +2,7 @@ import io
import re
import socket
import ssl
+import string
import urllib.parse
import fsm
@@ -12,16 +13,18 @@ def htmlescape(text: str) -> str:
def gem2html(gem: str) -> str:
- html = io.StringIO()
- html.write('<!DOCTYPE html>\n<html lang="en">\n<html>\n<head>\n<meta charset="utf-8"/>\n<style type="text/css">\n')
- html.write(open('style.css', encoding='utf8').read())
- html.write('</style>\n</head>\n<body>\n<div id="root">')
- parser = fsm.Parser(gem.split('\n'), html)
+ template = string.Template(open('page_template.html').read())
+ body = io.StringIO()
+ parser = fsm.Parser(gem.split('\n'), body)
parser.parse()
- html.write('</div>\n</body>\n</html>')
+ html = template.substitute(
+ body=body.getvalue(),
+ charset='utf-8',
+ lang='en',
+ )
with open('latest.html', 'w') as fp:
- fp.write(html.getvalue())
- return html.getvalue()
+ fp.write(html)
+ return html
def urljoin(base: str, url: str) -> str: