diff options
author | Timothee Cour <timothee.cour2@gmail.com> | 2021-02-13 00:30:23 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-13 09:30:23 +0100 |
commit | 190fe36ebacb7cb3fd448ee8c3582ed464afb846 (patch) | |
tree | de544ae1e531196f9ee84d6274960fe07d419209 /lib | |
parent | eb8cc51bb8b035fa160f64b68f1aa9795616c4b0 (diff) | |
download | Nim-190fe36ebacb7cb3fd448ee8c3582ed464afb846.tar.gz |
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
Diffstat (limited to 'lib')
-rw-r--r-- | lib/packages/docutils/rst.nim | 5 | ||||
-rw-r--r-- | lib/packages/docutils/rstast.nim | 1 | ||||
-rw-r--r-- | lib/packages/docutils/rstgen.nim | 1 |
3 files changed, 7 insertions, 0 deletions
diff --git a/lib/packages/docutils/rst.nim b/lib/packages/docutils/rst.nim index 898258973..a79242c39 100644 --- a/lib/packages/docutils/rst.nim +++ b/lib/packages/docutils/rst.nim @@ -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) diff --git a/lib/packages/docutils/rstast.nim b/lib/packages/docutils/rstast.nim index 4e3ca9a2b..6ba12c9be 100644 --- a/lib/packages/docutils/rstast.nim +++ b/lib/packages/docutils/rstast.nim @@ -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 diff --git a/lib/packages/docutils/rstgen.nim b/lib/packages/docutils/rstgen.nim index 1dd299ee4..df6ffa4c4 100644 --- a/lib/packages/docutils/rstgen.nim +++ b/lib/packages/docutils/rstgen.nim @@ -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]) |