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
+30 -26
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 " – "
@@ -43,9 +56,9 @@ class FiftyOhmHtmlRenderer(HtmlRenderer):
@staticmethod
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'''\
"""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"""\
<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 :
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>'
+5 -4
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.
# 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():