From 1391ee18d3711e2dfc6791d23c61edd355cbd431 Mon Sep 17 00:00:00 2001 From: ankraft <an.kraft@gmail.com> Date: Mon, 30 Sep 2024 23:21:59 +0200 Subject: [PATCH] Add one empty line when writing out the clauses. This prevents a problem with mkdocs that if the first line contains a colon (:) it is wrongly interpreted as a mkdocs configuration --- toMkdocs/toMkdocs.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/toMkdocs/toMkdocs.py b/toMkdocs/toMkdocs.py index 8ad53dc..54a79bd 100644 --- a/toMkdocs/toMkdocs.py +++ b/toMkdocs/toMkdocs.py @@ -71,13 +71,15 @@ class Clause: self.lines.extend(clause.lines) - def asStringList(self) -> list[str]: + def asStringList(self, paddings:int = 0) -> list[str]: """ Return the clause as a list of strings. + Args: + paddings: The number of empty lines to add before the clause. Returns: The clause's lines as a list of strings. """ - return [ l.text for l in self.lines ] + return [ '\n' for _ in range(paddings) ] + [ l.text for l in self.lines ] def __len__(self) -> int: @@ -380,7 +382,11 @@ def writeClauses(outClauses:list[Clause], filename:str, navTitle:str) -> None: if verbose: print(f'[dim]Writing "{f.clauseNumber}.md" - "{f.title}"') with open(f'{os.path.dirname(filename)}/{navTitle}/{f.clauseNumber}.md', 'w') as file: - file.writelines(f.asStringList()) + # Add one empty line before the clause. This is done to avoid + # a bug in MkDocs that does not display the first line of a clause + # if it contains a colon. It does not matter otherwise if the line + # is empty or not. + file.writelines(f.asStringList(1)) # write nav.yml file -- GitLab