Fix keyword section in writing classes
This commit is contained in:
+10
-17
@@ -31,7 +31,7 @@ from pathlib import Path
|
|||||||
|
|
||||||
from novelwriter import CONFIG
|
from novelwriter import CONFIG
|
||||||
from novelwriter.common import formatTimeStamp
|
from novelwriter.common import formatTimeStamp
|
||||||
from novelwriter.constants import nwHeadFmt, nwKeyWords, nwLabels, nwHtmlUnicode
|
from novelwriter.constants import nwHeadFmt, nwKeyWords, nwLabels, nwHtmlUnicode, trConst
|
||||||
from novelwriter.core.project import NWProject
|
from novelwriter.core.project import NWProject
|
||||||
from novelwriter.core.tokenizer import Tokenizer, stripEscape
|
from novelwriter.core.tokenizer import Tokenizer, stripEscape
|
||||||
|
|
||||||
@@ -474,25 +474,18 @@ class ToHtml(Tokenizer):
|
|||||||
def _formatKeywords(self, text: str) -> str:
|
def _formatKeywords(self, text: str) -> str:
|
||||||
"""Apply HTML formatting to keywords."""
|
"""Apply HTML formatting to keywords."""
|
||||||
valid, bits, _ = self._project.index.scanThis("@"+text)
|
valid, bits, _ = self._project.index.scanThis("@"+text)
|
||||||
if not valid or not bits:
|
if not valid or not bits or bits[0] not in nwLabels.KEY_NAME:
|
||||||
return ""
|
return ""
|
||||||
|
|
||||||
result = ""
|
result = f"<span class='tags'>{trConst(nwLabels.KEY_NAME[bits[0]])}:</span> "
|
||||||
tags = []
|
if len(bits) > 1:
|
||||||
if bits[0] in nwLabels.KEY_NAME:
|
if bits[0] == nwKeyWords.TAG_KEY:
|
||||||
result += f"<span class='tags'>{nwLabels.KEY_NAME[bits[0]]}:</span> "
|
result += f"<a name='tag_{bits[1]}'>{bits[1]}</a>"
|
||||||
if len(bits) > 1:
|
else:
|
||||||
if bits[0] == nwKeyWords.TAG_KEY:
|
if self._genMode == self.M_PREVIEW:
|
||||||
result += f"<a name='tag_{bits[1]}'>{bits[1]}</a>"
|
result += ", ".join(f"<a href='#{bits[0][1:]}={t}'>{t}</a>" for t in bits[1:])
|
||||||
else:
|
else:
|
||||||
if self._genMode == self.M_PREVIEW:
|
result += ", ".join(f"<a href='#tag_{t}'>{t}</a>" for t in bits[1:])
|
||||||
for tTag in bits[1:]:
|
|
||||||
tags.append(f"<a href='#{bits[0][1:]}={tTag}'>{tTag}</a>")
|
|
||||||
result += ", ".join(tags)
|
|
||||||
else:
|
|
||||||
for tTag in bits[1:]:
|
|
||||||
tags.append(f"<a href='#tag_{tTag}'>{tTag}</a>")
|
|
||||||
result += ", ".join(tags)
|
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ import logging
|
|||||||
|
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
from novelwriter.constants import nwHeadFmt, nwLabels
|
from novelwriter.constants import nwHeadFmt, nwLabels, trConst
|
||||||
from novelwriter.core.project import NWProject
|
from novelwriter.core.project import NWProject
|
||||||
from novelwriter.core.tokenizer import Tokenizer
|
from novelwriter.core.tokenizer import Tokenizer
|
||||||
|
|
||||||
@@ -209,7 +209,7 @@ class ToMarkdown(Tokenizer):
|
|||||||
|
|
||||||
result = ""
|
result = ""
|
||||||
if bits[0] in nwLabels.KEY_NAME:
|
if bits[0] in nwLabels.KEY_NAME:
|
||||||
result += f"**{nwLabels.KEY_NAME[bits[0]]}:** "
|
result += f"**{trConst(nwLabels.KEY_NAME[bits[0]])}:** "
|
||||||
if len(bits) > 1:
|
if len(bits) > 1:
|
||||||
result += ", ".join(bits[1:])
|
result += ", ".join(bits[1:])
|
||||||
|
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ from datetime import datetime
|
|||||||
|
|
||||||
from novelwriter import __version__
|
from novelwriter import __version__
|
||||||
from novelwriter.common import xmlIndent
|
from novelwriter.common import xmlIndent
|
||||||
from novelwriter.constants import nwHeadFmt, nwLabels, trConst
|
from novelwriter.constants import nwHeadFmt, nwKeyWords, nwLabels, trConst
|
||||||
from novelwriter.core.project import NWProject
|
from novelwriter.core.project import NWProject
|
||||||
from novelwriter.core.tokenizer import Tokenizer, stripEscape
|
from novelwriter.core.tokenizer import Tokenizer, stripEscape
|
||||||
|
|
||||||
@@ -571,10 +571,15 @@ class ToOdt(Tokenizer):
|
|||||||
valid, bits, _ = self._project.index.scanThis("@"+text)
|
valid, bits, _ = self._project.index.scanThis("@"+text)
|
||||||
if not valid or not bits or bits[0] not in nwLabels.KEY_NAME:
|
if not valid or not bits or bits[0] not in nwLabels.KEY_NAME:
|
||||||
return "", []
|
return "", []
|
||||||
name = trConst(nwLabels.KEY_NAME[bits[0]])
|
|
||||||
tags = ", ".join(bits[1:])
|
rTxt = f"{trConst(nwLabels.KEY_NAME[bits[0]])}: "
|
||||||
rTxt = f"{name}: {tags}"
|
rFmt = [(0, self.FMT_B_B), (len(rTxt) - 1, self.FMT_B_E)]
|
||||||
rFmt = [(0, self.FMT_B_B), (len(name) + 1, self.FMT_B_E)]
|
if len(bits) > 1:
|
||||||
|
if bits[0] == nwKeyWords.TAG_KEY:
|
||||||
|
rTxt += bits[1]
|
||||||
|
else:
|
||||||
|
rTxt += ", ".join(bits[1:])
|
||||||
|
|
||||||
return rTxt, rFmt
|
return rTxt, rFmt
|
||||||
|
|
||||||
def _addTextPar(
|
def _addTextPar(
|
||||||
|
|||||||
Reference in New Issue
Block a user