Add a way to ignore hard line breaks in Markdown builds (#944)
This commit is contained in:
@@ -81,6 +81,7 @@ SETTINGS_TEMPLATE = {
|
|||||||
"odt.addColours": (bool, True),
|
"odt.addColours": (bool, True),
|
||||||
"odt.pageHeader": (str, nwHeadFmt.ODT_AUTO),
|
"odt.pageHeader": (str, nwHeadFmt.ODT_AUTO),
|
||||||
"odt.pageCountOffset": (int, 0),
|
"odt.pageCountOffset": (int, 0),
|
||||||
|
"md.preserveBreaks": (bool, True),
|
||||||
"html.addStyles": (bool, True),
|
"html.addStyles": (bool, True),
|
||||||
"html.preserveTabs": (bool, False),
|
"html.preserveTabs": (bool, False),
|
||||||
}
|
}
|
||||||
@@ -131,6 +132,9 @@ SETTINGS_LABELS = {
|
|||||||
"odt.pageHeader": QT_TRANSLATE_NOOP("Builds", "Page Header"),
|
"odt.pageHeader": QT_TRANSLATE_NOOP("Builds", "Page Header"),
|
||||||
"odt.pageCountOffset": QT_TRANSLATE_NOOP("Builds", "Page Counter Offset"),
|
"odt.pageCountOffset": QT_TRANSLATE_NOOP("Builds", "Page Counter Offset"),
|
||||||
|
|
||||||
|
"md": QT_TRANSLATE_NOOP("Builds", "Markdown (.md)"),
|
||||||
|
"md.preserveBreaks": QT_TRANSLATE_NOOP("Builds", "Preserve Hard Line Breaks"),
|
||||||
|
|
||||||
"html": QT_TRANSLATE_NOOP("Builds", "HTML (.html)"),
|
"html": QT_TRANSLATE_NOOP("Builds", "HTML (.html)"),
|
||||||
"html.addStyles": QT_TRANSLATE_NOOP("Builds", "Add CSS Styles"),
|
"html.addStyles": QT_TRANSLATE_NOOP("Builds", "Add CSS Styles"),
|
||||||
"html.preserveTabs": QT_TRANSLATE_NOOP("Builds", "Preserve Tab Characters"),
|
"html.preserveTabs": QT_TRANSLATE_NOOP("Builds", "Preserve Tab Characters"),
|
||||||
|
|||||||
@@ -192,6 +192,8 @@ class NWBuildDocument:
|
|||||||
if self._build.getBool("format.replaceTabs"):
|
if self._build.getBool("format.replaceTabs"):
|
||||||
makeObj.replaceTabs(nSpaces=4, spaceChar=" ")
|
makeObj.replaceTabs(nSpaces=4, spaceChar=" ")
|
||||||
|
|
||||||
|
makeObj.setPreserveBreaks(self._build.getBool("md.preserveBreaks"))
|
||||||
|
|
||||||
for i, tHandle in enumerate(self._queue):
|
for i, tHandle in enumerate(self._queue):
|
||||||
self._error = None
|
self._error = None
|
||||||
if filtered.get(tHandle, (False, 0))[0]:
|
if filtered.get(tHandle, (False, 0))[0]:
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ class ToMarkdown(Tokenizer):
|
|||||||
super().__init__(project)
|
super().__init__(project)
|
||||||
self._genMode = self.M_STD
|
self._genMode = self.M_STD
|
||||||
self._fullMD: list[str] = []
|
self._fullMD: list[str] = []
|
||||||
|
self._preserveBreaks = True
|
||||||
return
|
return
|
||||||
|
|
||||||
##
|
##
|
||||||
@@ -74,6 +75,11 @@ class ToMarkdown(Tokenizer):
|
|||||||
self._genMode = self.M_EXT
|
self._genMode = self.M_EXT
|
||||||
return
|
return
|
||||||
|
|
||||||
|
def setPreserveBreaks(self, state: bool) -> None:
|
||||||
|
"""Preserve line breaks in paragraphs."""
|
||||||
|
self._preserveBreaks = state
|
||||||
|
return
|
||||||
|
|
||||||
##
|
##
|
||||||
# Class Methods
|
# Class Methods
|
||||||
##
|
##
|
||||||
@@ -125,12 +131,13 @@ class ToMarkdown(Tokenizer):
|
|||||||
|
|
||||||
para = []
|
para = []
|
||||||
lines = []
|
lines = []
|
||||||
|
lineSep = " \n" if self._preserveBreaks else " "
|
||||||
|
|
||||||
for tType, _, tText, tFormat, tStyle in self._tokens:
|
for tType, _, tText, tFormat, tStyle in self._tokens:
|
||||||
|
|
||||||
if tType == self.T_EMPTY:
|
if tType == self.T_EMPTY:
|
||||||
if len(para) > 0:
|
if len(para) > 0:
|
||||||
tTemp = (" \n".join(para)).rstrip(" ")
|
tTemp = (lineSep.join(para)).rstrip(" ")
|
||||||
lines.append(f"{tTemp}\n\n")
|
lines.append(f"{tTemp}\n\n")
|
||||||
para = []
|
para = []
|
||||||
|
|
||||||
|
|||||||
@@ -1248,6 +1248,12 @@ class _OutputTab(NScrollableForm):
|
|||||||
self.htmlPreserveTabs = NSwitch(self, height=iPx)
|
self.htmlPreserveTabs = NSwitch(self, height=iPx)
|
||||||
self.addRow(self._build.getLabel("html.preserveTabs"), self.htmlPreserveTabs)
|
self.addRow(self._build.getLabel("html.preserveTabs"), self.htmlPreserveTabs)
|
||||||
|
|
||||||
|
# Markdown Document
|
||||||
|
self.addGroupLabel(self._build.getLabel("md"))
|
||||||
|
|
||||||
|
self.mdPreserveBreaks = NSwitch(self, height=iPx)
|
||||||
|
self.addRow(self._build.getLabel("md.preserveBreaks"), self.mdPreserveBreaks)
|
||||||
|
|
||||||
# Finalise
|
# Finalise
|
||||||
self.finalise()
|
self.finalise()
|
||||||
|
|
||||||
@@ -1260,6 +1266,7 @@ class _OutputTab(NScrollableForm):
|
|||||||
self.odtPageCountOffset.setValue(self._build.getInt("odt.pageCountOffset"))
|
self.odtPageCountOffset.setValue(self._build.getInt("odt.pageCountOffset"))
|
||||||
self.htmlAddStyles.setChecked(self._build.getBool("html.addStyles"))
|
self.htmlAddStyles.setChecked(self._build.getBool("html.addStyles"))
|
||||||
self.htmlPreserveTabs.setChecked(self._build.getBool("html.preserveTabs"))
|
self.htmlPreserveTabs.setChecked(self._build.getBool("html.preserveTabs"))
|
||||||
|
self.mdPreserveBreaks.setChecked(self._build.getBool("md.preserveBreaks"))
|
||||||
return
|
return
|
||||||
|
|
||||||
def saveContent(self) -> None:
|
def saveContent(self) -> None:
|
||||||
@@ -1269,6 +1276,7 @@ class _OutputTab(NScrollableForm):
|
|||||||
self._build.setValue("odt.pageCountOffset", self.odtPageCountOffset.value())
|
self._build.setValue("odt.pageCountOffset", self.odtPageCountOffset.value())
|
||||||
self._build.setValue("html.addStyles", self.htmlAddStyles.isChecked())
|
self._build.setValue("html.addStyles", self.htmlAddStyles.isChecked())
|
||||||
self._build.setValue("html.preserveTabs", self.htmlPreserveTabs.isChecked())
|
self._build.setValue("html.preserveTabs", self.htmlPreserveTabs.isChecked())
|
||||||
|
self._build.setValue("md.preserveBreaks", self.mdPreserveBreaks.isChecked())
|
||||||
return
|
return
|
||||||
|
|
||||||
##
|
##
|
||||||
|
|||||||
Reference in New Issue
Block a user