diff options
Diffstat (limited to 'gemini.py')
-rw-r--r-- | gemini.py | 14 |
1 files changed, 9 insertions, 5 deletions
@@ -3,12 +3,15 @@ import socket import ssl import urllib.parse +import pyphen +dic = pyphen.Pyphen(lang='en_US') + def htmlescape(text: str) -> str: return text.replace('<', '<').replace('>', '>') def gem2html(gem: str) -> str: html = [] - html.append('<html>\n<body>') + html.append('<html>\n<body>\n<div id="root">') state = 'text' blanklines = 0 for line in gem.split('\n'): @@ -62,14 +65,15 @@ def gem2html(gem: str) -> str: html.append(line) else: if line.startswith('###'): - html.append('<h3>{}</h3>'.format(line[3:].lstrip())) + html.append('<p class="h3">{}</p>'.format(line[3:].lstrip())) elif line.startswith('##'): - html.append('<h2>{}</h2>'.format(line[2:].lstrip())) + html.append('<p class="h2">{}</p>'.format(line[2:].lstrip())) elif line.startswith('#'): - html.append('<h1>{}</h1>'.format(line[1:].lstrip())) + html.append('<p class="h1">{}</p>'.format(line[1:].lstrip())) else: + ' '.join([dic.inserted(word, "\u00AD") for word in line.split()]) html.append('<p>{}</p>'.format(htmlescape(line))) - html.append('</body>\n</html>') + html.append('</div>\n</body>\n</html>') return '\n'.join(html) def urljoin(base: str, url: str) -> str: |