rst: single backticks now render correctly in both rst2html and github (#17028)

* rst: `` => `
* support default-role in rst2html
* update docstyle regarding single vs double backticks
This commit is contained in:
Timothee Cour
2021-02-13 00:30:23 -08:00
committed by GitHub
parent eb8cc51bb8
commit 190fe36eba
6 changed files with 76 additions and 60 deletions

View File

@@ -1978,6 +1978,10 @@ proc dirAdmonition(p: var RstParser, d: string): PRstNode =
result.kind = rnAdmonition
result.text = d
proc dirDefaultRole(p: var RstParser): PRstNode =
result = parseDirective(p, {hasArg}, nil)
result.kind = rnDefaultRole
proc dirRawAux(p: var RstParser, result: var PRstNode, kind: RstNodeKind,
contentParser: SectionParser) =
var filename = getFieldValue(result, "file")
@@ -2037,6 +2041,7 @@ proc selectDir(p: var RstParser, d: string): PRstNode =
of "tip": result = dirAdmonition(p, d)
of "title": result = dirTitle(p)
of "warning": result = dirAdmonition(p, d)
of "default-role": result = dirDefaultRole(p)
else:
rstMessage(p, meInvalidDirective, d)

View File

@@ -65,6 +65,7 @@ type
rnInlineTarget, # "_`target`"
rnSubstitutionReferences, # "|"
rnSmiley, # some smiley
rnDefaultRole, # .. default-role:: code
rnLeaf # a leaf; the node's text field contains the
# leaf val

View File

@@ -1293,6 +1293,7 @@ proc renderRstToOut(d: PDoc, n: PRstNode, result: var string) =
of rnSmiley: renderSmiley(d, n, result)
of rnLeaf: result.add(esc(d.target, n.text))
of rnContents: d.hasToc = true
of rnDefaultRole: discard
of rnTitle:
d.meta[metaTitle] = ""
renderRstToOut(d, n.sons[0], d.meta[metaTitle])