Update HTML to work with new chapter headers

This commit is contained in:
Veronica Berglyd Olsen
2025-01-25 15:05:11 +01:00
parent 13e6199af2
commit 5a25d34ba3
2 changed files with 15 additions and 29 deletions
+8 -22
View File
@@ -130,20 +130,6 @@ class ToHtml(Tokenizer):
def doConvert(self) -> None:
"""Convert the list of text tokens into an HTML document."""
if self._isNovel:
# For story files, we bump the titles one level up
h1Cl = " class='title'"
h1 = "h1"
h2 = "h1"
h3 = "h2"
h4 = "h3"
else:
h1Cl = ""
h1 = "h1"
h2 = "h2"
h3 = "h3"
h4 = "h4"
lines = []
for tType, tMeta, tText, tFmt, tStyle in self._blocks:
@@ -213,25 +199,25 @@ class ToHtml(Tokenizer):
if tType == BlockTyp.TEXT:
lines.append(f"<p{hStyle}>{self._formatText(tText, tFmt)}</p>\n")
elif tType == BlockTyp.TITLE:
elif tType in (BlockTyp.TITLE, BlockTyp.PART):
tHead = tText.replace("\n", "<br>")
lines.append(f"<h1 class='title'{hStyle}>{aNm}{tHead}</h1>\n")
elif tType == BlockTyp.HEAD1:
elif tType in (BlockTyp.HEAD1, BlockTyp.CHAPTER):
tHead = tText.replace("\n", "<br>")
lines.append(f"<{h1}{h1Cl}{hStyle}>{aNm}{tHead}</{h1}>\n")
lines.append(f"<h1{hStyle}>{aNm}{tHead}</h1>\n")
elif tType == BlockTyp.HEAD2:
elif tType in (BlockTyp.HEAD2, BlockTyp.SCENE):
tHead = tText.replace("\n", "<br>")
lines.append(f"<{h2}{hStyle}>{aNm}{tHead}</{h2}>\n")
lines.append(f"<h2{hStyle}>{aNm}{tHead}</h2>\n")
elif tType == BlockTyp.HEAD3:
elif tType in (BlockTyp.HEAD3, BlockTyp.SECTION):
tHead = tText.replace("\n", "<br>")
lines.append(f"<{h3}{hStyle}>{aNm}{tHead}</{h3}>\n")
lines.append(f"<h3{hStyle}>{aNm}{tHead}</h3>\n")
elif tType == BlockTyp.HEAD4:
tHead = tText.replace("\n", "<br>")
lines.append(f"<{h4}{hStyle}>{aNm}{tHead}</{h4}>\n")
lines.append(f"<h4{hStyle}>{aNm}{tHead}</h4>\n")
elif tType == BlockTyp.SEP:
lines.append(f"<p class='sep'{hStyle}>{tText}</p>\n")
+7 -7
View File
@@ -410,7 +410,7 @@ def testFmtToHtml_ConvertDirect(mockGUI):
# Unnumbered
html._blocks = [
(BlockTyp.HEAD2, tMeta, "Prologue", [], BlockFmt.PBB),
(BlockTyp.CHAPTER, tMeta, "Prologue", [], BlockFmt.PBB),
]
html.doConvert()
assert html._pages[-1] == (
@@ -443,7 +443,7 @@ def testFmtToHtml_ConvertDirect(mockGUI):
# Align Left
html.setStyles(False)
html._blocks = [
(BlockTyp.HEAD1, tMeta, "A Title", [], BlockFmt.LEFT),
(BlockTyp.PART, tMeta, "A Title", [], BlockFmt.LEFT),
]
html.doConvert()
assert html._pages[-1] == (
@@ -454,7 +454,7 @@ def testFmtToHtml_ConvertDirect(mockGUI):
# Align Left
html._blocks = [
(BlockTyp.HEAD1, tMeta, "A Title", [], BlockFmt.LEFT),
(BlockTyp.PART, tMeta, "A Title", [], BlockFmt.LEFT),
]
html.doConvert()
assert html._pages[-1] == (
@@ -463,7 +463,7 @@ def testFmtToHtml_ConvertDirect(mockGUI):
# Align Right
html._blocks = [
(BlockTyp.HEAD1, tMeta, "A Title", [], BlockFmt.RIGHT),
(BlockTyp.PART, tMeta, "A Title", [], BlockFmt.RIGHT),
]
html.doConvert()
assert html._pages[-1] == (
@@ -472,7 +472,7 @@ def testFmtToHtml_ConvertDirect(mockGUI):
# Align Centre
html._blocks = [
(BlockTyp.HEAD1, tMeta, "A Title", [], BlockFmt.CENTRE),
(BlockTyp.PART, tMeta, "A Title", [], BlockFmt.CENTRE),
]
html.doConvert()
assert html._pages[-1] == (
@@ -481,7 +481,7 @@ def testFmtToHtml_ConvertDirect(mockGUI):
# Align Justify
html._blocks = [
(BlockTyp.HEAD1, tMeta, "A Title", [], BlockFmt.JUSTIFY),
(BlockTyp.PART, tMeta, "A Title", [], BlockFmt.JUSTIFY),
]
html.doConvert()
assert html._pages[-1] == (
@@ -493,7 +493,7 @@ def testFmtToHtml_ConvertDirect(mockGUI):
# Page Break Always
html._blocks = [
(BlockTyp.HEAD1, tMeta, "A Title", [], BlockFmt.PBB | BlockFmt.PBA),
(BlockTyp.PART, tMeta, "A Title", [], BlockFmt.PBB | BlockFmt.PBA),
]
html.doConvert()
assert html._pages[-1] == (