restructure title fix (#187)

Signed-off-by: Panos Vagenas <35837085+vagenas@users.noreply.github.com>
This commit is contained in:
Panos Vagenas 2024-10-30 10:19:58 +01:00 committed by GitHub
parent fc12cda82b
commit 14b63a3e7d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -179,33 +179,31 @@ class HTMLDocumentBackend(DeclarativeDocumentBackend):
self.parents[self.level] = doc.add_text( self.parents[self.level] = doc.add_text(
parent=self.parents[0], label=DocItemLabel.TITLE, text=text parent=self.parents[0], label=DocItemLabel.TITLE, text=text
) )
else:
if hlevel > self.level:
return # dont add another heading with the same text! # add invisible group
for i in range(self.level + 1, hlevel):
self.parents[i] = doc.add_group(
name=f"header-{i}",
label=GroupLabel.SECTION,
parent=self.parents[i - 1],
)
self.level = hlevel
elif hlevel > self.level: elif hlevel < self.level:
# add invisible group # remove the tail
for i in range(self.level + 1, hlevel): for key, val in self.parents.items():
self.parents[i] = doc.add_group( if key > hlevel:
name=f"header-{i}", self.parents[key] = None
label=GroupLabel.SECTION, self.level = hlevel
parent=self.parents[i - 1],
)
self.level = hlevel
elif hlevel < self.level: self.parents[hlevel] = doc.add_heading(
parent=self.parents[hlevel - 1],
# remove the tail text=text,
for key, val in self.parents.items(): level=hlevel,
if key > hlevel: )
self.parents[key] = None
self.level = hlevel
self.parents[hlevel] = doc.add_heading(
parent=self.parents[hlevel - 1],
text=text,
level=hlevel,
)
def handle_paragraph(self, element, idx, doc): def handle_paragraph(self, element, idx, doc):
"""Handles paragraph tags (p).""" """Handles paragraph tags (p)."""