diff options
author | 2018-05-01 11:36:13 +0100 | |
---|---|---|
committer | 2018-05-01 11:36:13 +0100 | |
commit | d5be0951fb8f332ad9dc27caf25e64ac255eedc8 (patch) | |
tree | 5b6b1c87dfc64da7783b04c68ac184dc158934a0 /pysite/rst | |
parent | [Wiki] Fix image spacing (diff) | |
parent | restructure docker (diff) |
Merge remote-tracking branch 'origin/master'
# Conflicts:
# static/style.css
Diffstat (limited to 'pysite/rst')
-rw-r--r-- | pysite/rst/__init__.py | 16 | ||||
-rw-r--r-- | pysite/rst/directives/__init__.py | 1 | ||||
-rw-r--r-- | pysite/rst/roles.py | 3 |
3 files changed, 14 insertions, 6 deletions
diff --git a/pysite/rst/__init__.py b/pysite/rst/__init__.py index 74f19285..97a77f40 100644 --- a/pysite/rst/__init__.py +++ b/pysite/rst/__init__.py @@ -1,4 +1,3 @@ -# coding=utf-8 import re from docutils.core import publish_parts @@ -68,12 +67,23 @@ def render(rst: str): if depth == 1: # Top-level header, so just store it in the current header current_header["id"] = match.group(1) - current_header["title"] = match.group(2) + + title = match.group(2) + + if title.startswith("<i"): # We've found an icon, which needs to have a space after it + title = title.replace("</i> ", "</i> ") + + current_header["title"] = title else: # Second-level (or deeper) header, should be stored in a list of sub-headers under the current sub_headers = current_header.get("sub_headers", []) + title = match.group(2) + + if title.startswith("<i"): # We've found an icon, which needs to have a space after it + title = title.replace("</i> ", "</i> ") + sub_headers.append({ "id": match.group(1), - "title": match.group(2) + "title": title }) current_header["sub_headers"] = sub_headers diff --git a/pysite/rst/directives/__init__.py b/pysite/rst/directives/__init__.py index 9bad5790..e69de29b 100644 --- a/pysite/rst/directives/__init__.py +++ b/pysite/rst/directives/__init__.py @@ -1 +0,0 @@ -# coding=utf-8 diff --git a/pysite/rst/roles.py b/pysite/rst/roles.py index acba31e4..abade243 100644 --- a/pysite/rst/roles.py +++ b/pysite/rst/roles.py @@ -1,4 +1,3 @@ -# coding=utf-8 from docutils import nodes from docutils.parsers.rst.roles import set_classes from docutils.parsers.rst.states import Inliner @@ -41,7 +40,7 @@ def icon_role(_role: str, rawtext: str, text: str, lineno: int, inliner: Inliner return [prb], [msg] - html = f"""<i class="uk-icon {weight} fa-{parts[1]}"></i>""" + html = f"""<i class="uk-icon fa-fw {weight} fa-{parts[1]}"></i>""" node = nodes.raw(html, html, format="html", **options) return [node], [] |