fix: use quotes for html attributes

This commit is contained in:
Tim Grelka
2024-12-08 14:30:04 +01:00
parent 608be5bd09
commit 1334e9c906
2 changed files with 35 additions and 30 deletions
+26 -22
View File
@@ -13,14 +13,27 @@ from renderer.underline import Underline
class FiftyOhmHtmlRenderer(HtmlRenderer):
margin_anchor_id = 0
margin_id = 0
section_url = "DeineMama.html"
section_url = "section.html"
ref_id = 0
def __init__(self):
super().__init__(Dash, BlockComment, SpanComment, Quote, Underline, Tag, HalfwidthSpaces, NonbreakingSpaces, NonbreakingSpacesDots, HalfwidthSpaces, NonbreakingSpaces, NonbreakingSpacesDots, References)
super().__init__(
Dash,
BlockComment,
SpanComment,
Quote,
Underline,
Tag,
HalfwidthSpaces,
NonbreakingSpaces,
NonbreakingSpacesDots,
HalfwidthSpaces,
NonbreakingSpaces,
NonbreakingSpacesDots,
References,
)
def render_dash(self, token):
return " – "
@@ -45,7 +58,7 @@ class FiftyOhmHtmlRenderer(HtmlRenderer):
def render_tag_helper(type, content, margin_id, margin_anchor_id):
"""This function is used to render the different types of tags. It is
used in the HtmlRenderer class and also in the test class"""
return textwrap.dedent(f'''\
return textwrap.dedent(f"""\
<div class="margin {type}" id="margin_for_{margin_id}">
{content}
</div>
@@ -65,33 +78,29 @@ class FiftyOhmHtmlRenderer(HtmlRenderer):
moveFunc();
}})();
</script>
''')
""")
def render_tag(self, token):
if(token.tagtype == "latexonly"):
if token.tagtype == "latexonly":
return ""
elif(token.tagtype == "webonly"):
elif token.tagtype == "webonly":
return self.render_inner(token)
self.margin_id += 1
if(token.tagtype == "webmargin"):
if token.tagtype == "webmargin":
type = "margin"
elif(token.tagtype == "webtipp"):
elif token.tagtype == "webtipp":
type = "tipp"
elif(token.tagtype == "webindepth"):
elif token.tagtype == "webindepth":
type = "indepth"
else:
type = token.tagtype
return self.render_tag_helper(
type,
self.render_inner(token),
self.margin_id,
self.margin_anchor_id
type, self.render_inner(token), self.margin_id, self.margin_anchor_id
)
def render_halfwidth_spaces(self, token):
return f"{token.first}.&#8239;{token.second}."
@@ -99,13 +108,8 @@ class FiftyOhmHtmlRenderer(HtmlRenderer):
return f"{token.first}&#160;{token.second}"
def render_nonbreaking_spaces_dots(self, token):
lookup = {
"" : "",
" " : "&#160;"
}
lookup = {"": "", " ": "&#160;"}
return f"{lookup[token.first]}{token.second}{lookup[token.third]}"
def render_references(self, token):
return f"<a href=&#34;{self.section_url}#ref_{token.first}&#34; onclick=&#34;highlightRef(&#39;{token.first}&#39;);&#34;>{self.ref_id}</a>"
return f'<a href="{self.section_url}#ref_{token.first}" onclick="highlightRef(\'{token.first}\');">{self.ref_id}</a>'
+4 -3
View File
@@ -3,13 +3,14 @@ import mistletoe
from renderer.fifty_ohm_html_renderer import FiftyOhmHtmlRenderer
from test.util import paragraph
def test_references_html():
# Right now this tests only the default values.
# The correct behavior can be tested when the information is added to the renderer class
assertions = {
"[ref:e_oszilloskop_bildschirmfoto_sinus]" : "<a href=&#34;DeineMama.html#ref_e_oszilloskop_bildschirmfoto_sinus&#34; onclick=&#34;highlightRef(&#39;e_oszilloskop_bildschirmfoto_sinus&#39;);&#34;>0</a>",
"[ref:n_rst_r]" : "<a href=&#34;DeineMama.html#ref_n_rst_r&#34; onclick=&#34;highlightRef(&#39;n_rst_r&#39;);&#34;>0</a>",
"[ref:Uuuuuh]" : "<a href=&#34;DeineMama.html#ref_Uuuuuh&#34; onclick=&#34;highlightRef(&#39;Uuuuuh&#39;);&#34;>0</a>" # Test the default parameters
"[ref:e_oszilloskop_bildschirmfoto_sinus]": '<a href="section.html#ref_e_oszilloskop_bildschirmfoto_sinus" onclick="highlightRef(\'e_oszilloskop_bildschirmfoto_sinus\');">0</a>',
"[ref:n_rst_r]": '<a href="section.html#ref_n_rst_r" onclick="highlightRef(\'n_rst_r\');">0</a>',
"[ref:Uuuuuh]": '<a href="section.html#ref_Uuuuuh" onclick="highlightRef(\'Uuuuuh\');">0</a>', # Test the default parameters
}
for key, value in assertions.items():