Merge pull request #299 from vkbo/doc_view_bugfix
Markdown to HTML Converter Bug
This commit is contained in:
@@ -216,6 +216,7 @@ def main(sysArgs=None):
|
|||||||
logger.addHandler(cHandle)
|
logger.addHandler(cHandle)
|
||||||
|
|
||||||
logger.setLevel(debugLevel)
|
logger.setLevel(debugLevel)
|
||||||
|
logger.info("This is %s %s" % (__package__, __version__))
|
||||||
|
|
||||||
# Check Packages and Versions
|
# Check Packages and Versions
|
||||||
errorData = []
|
errorData = []
|
||||||
|
|||||||
+17
-16
@@ -312,23 +312,24 @@ class ToHtml(Tokenizer):
|
|||||||
refTags = []
|
refTags = []
|
||||||
if theBits[0] in nwLabels.KEY_NAME:
|
if theBits[0] in nwLabels.KEY_NAME:
|
||||||
retText += "<span class='tags'>%s:</span> " % nwLabels.KEY_NAME[theBits[0]]
|
retText += "<span class='tags'>%s:</span> " % nwLabels.KEY_NAME[theBits[0]]
|
||||||
if theBits[0] == nwKeyWords.TAG_KEY:
|
if len(theBits) > 1:
|
||||||
retText += "<a name='tag_%s'>%s</a>" % (
|
if theBits[0] == nwKeyWords.TAG_KEY:
|
||||||
theBits[1], theBits[1]
|
retText += "<a name='tag_%s'>%s</a>" % (
|
||||||
)
|
theBits[1], theBits[1]
|
||||||
else:
|
)
|
||||||
if self.genMode == self.M_PREVIEW:
|
|
||||||
for tTag in theBits[1:]:
|
|
||||||
refTags.append("<a href='#%s=%s'>%s</a>" % (
|
|
||||||
theBits[0][1:], tTag, tTag
|
|
||||||
))
|
|
||||||
retText += ", ".join(refTags)
|
|
||||||
else:
|
else:
|
||||||
for tTag in theBits[1:]:
|
if self.genMode == self.M_PREVIEW:
|
||||||
refTags.append("<a href='#tag_%s'>%s</a>" % (
|
for tTag in theBits[1:]:
|
||||||
tTag, tTag
|
refTags.append("<a href='#%s=%s'>%s</a>" % (
|
||||||
))
|
theBits[0][1:], tTag, tTag
|
||||||
retText += ", ".join(refTags)
|
))
|
||||||
|
retText += ", ".join(refTags)
|
||||||
|
else:
|
||||||
|
for tTag in theBits[1:]:
|
||||||
|
refTags.append("<a href='#tag_%s'>%s</a>" % (
|
||||||
|
tTag, tTag
|
||||||
|
))
|
||||||
|
retText += ", ".join(refTags)
|
||||||
|
|
||||||
return "<div>%s</div>" % retText
|
return "<div>%s</div>" % retText
|
||||||
|
|
||||||
|
|||||||
+25
-15
@@ -476,22 +476,32 @@ class GuiBuildNovel(QDialog):
|
|||||||
noteRoot &= tItem.itemType == nwItemType.ROOT
|
noteRoot &= tItem.itemType == nwItemType.ROOT
|
||||||
noteRoot &= tItem.itemClass != nwItemClass.NOVEL
|
noteRoot &= tItem.itemClass != nwItemClass.NOVEL
|
||||||
|
|
||||||
if noteRoot:
|
try:
|
||||||
# Add headers for root folders of notes
|
if noteRoot:
|
||||||
makeHtml.addRootHeading(tItem.itemHandle)
|
# Add headers for root folders of notes
|
||||||
makeHtml.doConvert()
|
makeHtml.addRootHeading(tItem.itemHandle)
|
||||||
self.htmlText.append(makeHtml.getResult())
|
makeHtml.doConvert()
|
||||||
self.nwdText.append(makeHtml.getFilteredMarkdown())
|
self.htmlText.append(makeHtml.getResult())
|
||||||
|
self.nwdText.append(makeHtml.getFilteredMarkdown())
|
||||||
|
|
||||||
elif self._checkInclude(tItem, noteFiles, novelFiles, ignoreFlag):
|
elif self._checkInclude(tItem, noteFiles, novelFiles, ignoreFlag):
|
||||||
makeHtml.setText(tItem.itemHandle)
|
makeHtml.setText(tItem.itemHandle)
|
||||||
makeHtml.doAutoReplace()
|
makeHtml.doAutoReplace()
|
||||||
makeHtml.tokenizeText()
|
makeHtml.tokenizeText()
|
||||||
makeHtml.doHeaders()
|
makeHtml.doHeaders()
|
||||||
makeHtml.doConvert()
|
makeHtml.doConvert()
|
||||||
makeHtml.doPostProcessing()
|
makeHtml.doPostProcessing()
|
||||||
self.htmlText.append(makeHtml.getResult())
|
self.htmlText.append(makeHtml.getResult())
|
||||||
self.nwdText.append(makeHtml.getFilteredMarkdown())
|
self.nwdText.append(makeHtml.getFilteredMarkdown())
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
logger.error("Failed to generate html of document '%s'" % tItem.itemHandle)
|
||||||
|
logger.error(str(e))
|
||||||
|
self.docView.setText((
|
||||||
|
"Failed to generate preview. "
|
||||||
|
"Document with title '%s' could not be parsed."
|
||||||
|
) % tItem.itemName)
|
||||||
|
return False
|
||||||
|
|
||||||
# Update progress bar, also for skipped items
|
# Update progress bar, also for skipped items
|
||||||
self.buildProgress.setValue(nItt+1)
|
self.buildProgress.setValue(nItt+1)
|
||||||
|
|||||||
+16
-5
@@ -135,11 +135,22 @@ class GuiDocViewer(QTextBrowser):
|
|||||||
aDoc = ToHtml(self.theProject, self.theParent)
|
aDoc = ToHtml(self.theProject, self.theParent)
|
||||||
aDoc.setPreview(True, self.mainConf.viewComments)
|
aDoc.setPreview(True, self.mainConf.viewComments)
|
||||||
aDoc.setLinkHeaders(True)
|
aDoc.setLinkHeaders(True)
|
||||||
aDoc.setText(tHandle)
|
|
||||||
aDoc.doAutoReplace()
|
# Be extra careful here to prevent crashes when first opening a
|
||||||
aDoc.tokenizeText()
|
# project as a crash here leaves no way of recovering.
|
||||||
aDoc.doConvert()
|
# See issue #298
|
||||||
aDoc.doPostProcessing()
|
try:
|
||||||
|
aDoc.setText(tHandle)
|
||||||
|
aDoc.doAutoReplace()
|
||||||
|
aDoc.tokenizeText()
|
||||||
|
aDoc.doConvert()
|
||||||
|
aDoc.doPostProcessing()
|
||||||
|
except Exception as e:
|
||||||
|
logger.error("Failed to generate preview for document with handle '%s'" % tHandle)
|
||||||
|
logger.error(str(e))
|
||||||
|
self.setText("An error occurred while generating the preview.")
|
||||||
|
return False
|
||||||
|
|
||||||
self.setHtml(aDoc.theResult)
|
self.setHtml(aDoc.theResult)
|
||||||
if self.theHandle == tHandle:
|
if self.theHandle == tHandle:
|
||||||
self.verticalScrollBar().setValue(sPos)
|
self.verticalScrollBar().setValue(sPos)
|
||||||
|
|||||||
Reference in New Issue
Block a user