summaryrefslogtreecommitdiff
path: root/hack
diff options
context:
space:
mode:
authorjaseg <git@jaseg.de>2023-10-14 13:03:20 +0200
committerjaseg <git@jaseg.de>2023-10-14 13:03:20 +0200
commitd3129f384f2a7313d7d2259b09c4d46661597ed7 (patch)
tree030c1e62fe05d93ae95b678b9546d95de7d70da8 /hack
parent2cdeee2a3c728a42dc1b9fe9d6892ea647402e1c (diff)
parent74d7f5c965c55be28ea6da0e0e33f7f0fd5478f9 (diff)
downloadblog-d3129f384f2a7313d7d2259b09c4d46661597ed7.tar.gz
blog-d3129f384f2a7313d7d2259b09c4d46661597ed7.tar.bz2
blog-d3129f384f2a7313d7d2259b09c4d46661597ed7.zip
deploy.py auto-commit
Diffstat (limited to 'hack')
-rwxr-xr-xhack/rst2html50
1 files changed, 0 insertions, 50 deletions
diff --git a/hack/rst2html b/hack/rst2html
deleted file mode 100755
index e3a390d..0000000
--- a/hack/rst2html
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/usr/bin/env python3
-# https://gist.github.com/mastbaum/2655700
-
-import sys
-import re
-
-import docutils.core
-from docutils.transforms import Transform
-from docutils.nodes import TextElement, Inline, Text
-from docutils.parsers.rst import Directive, directives
-from docutils.writers.html4css1 import Writer, HTMLTranslator
-
-
-class UnfuckedHTMLTranslator(HTMLTranslator):
- def __init__(self, *args, **kwargs):
- super().__init__(*args, **kwargs)
- self.in_literal_block = False
-
- def visit_literal_block(self, node):
- self.in_literal_block = True
- self.body.append(self.starttag(node, 'pre', CLASS='literal-block'))
- self.body.append('<span class="lineno"></span><span class="line">')
-
- def depart_literal_block(self, node):
- self.in_literal_block = False
- self.body.append('\n</span></pre>\n')
-
- def visit_Text(self, node):
- if self.in_literal_block:
- for match in re.finditer('([^\n]*)(\n|$)', node.astext()):
- text, end = match.groups()
-
- if text:
- super().visit_Text(Text(text))
-
- if end == '\n':
- if isinstance(node.parent, Inline):
- self.depart_inline(node.parent)
- self.body.append(f'</span>\n<span class="lineno"></span><span class="line">')
- if isinstance(node.parent, Inline):
- self.visit_inline(node.parent)
-
- else:
- super().visit_Text(node)
-
-
-html_writer = Writer()
-html_writer.translator_class = UnfuckedHTMLTranslator
-docutils.core.publish_cmdline(writer=html_writer)
-