Add rstgen.rstToLatex convenience proc for renderRstToOut and initRstGenerator with outLatex output, see https://github.com/nim-lang/fusion/pull/11#issuecomment-641804899 (#14629)
This commit is contained in:
parent
1168c75381
commit
82e424189e
2 changed files with 13 additions and 0 deletions
|
|
@ -111,6 +111,8 @@
|
||||||
- new module `std/jsonutils` with hookable `jsonTo,toJson,fromJson` for json serialization/deserialization of custom types.
|
- new module `std/jsonutils` with hookable `jsonTo,toJson,fromJson` for json serialization/deserialization of custom types.
|
||||||
|
|
||||||
- new proc `heapqueue.find[T](heap: HeapQueue[T], x: T): int` to get index of element ``x``.
|
- new proc `heapqueue.find[T](heap: HeapQueue[T], x: T): int` to get index of element ``x``.
|
||||||
|
- Add `rstgen.rstToLatex` convenience proc for `renderRstToOut` and `initRstGenerator` with `outLatex` output.
|
||||||
|
|
||||||
|
|
||||||
## Language changes
|
## Language changes
|
||||||
- In the newruntime it is now allowed to assign discriminator field without restrictions as long as case object doesn't have custom destructor. Discriminator value doesn't have to be a constant either. If you have custom destructor for case object and you do want to freely assign discriminator fields, it is recommended to refactor object into 2 objects like this:
|
- In the newruntime it is now allowed to assign discriminator field without restrictions as long as case object doesn't have custom destructor. Discriminator value doesn't have to be a constant either. If you have custom destructor for case object and you do want to freely assign discriminator fields, it is recommended to refactor object into 2 objects like this:
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@ import strutils, os, hashes, strtabs, rstast, rst, highlite, tables, sequtils,
|
||||||
algorithm, parseutils
|
algorithm, parseutils
|
||||||
import "$lib/../compiler/nimpaths"
|
import "$lib/../compiler/nimpaths"
|
||||||
import "$lib/../compiler/pathutils"
|
import "$lib/../compiler/pathutils"
|
||||||
|
import ../../std/private/since
|
||||||
|
|
||||||
const
|
const
|
||||||
HtmlExt = "html"
|
HtmlExt = "html"
|
||||||
|
|
@ -1344,6 +1345,16 @@ proc rstToHtml*(s: string, options: RstParseOptions,
|
||||||
renderRstToOut(d, rst, result)
|
renderRstToOut(d, rst, result)
|
||||||
|
|
||||||
|
|
||||||
|
proc rstToLatex*(rstSource: string; options: RstParseOptions): string {.inline, since: (1, 3).} =
|
||||||
|
## Convenience proc for `renderRstToOut` and `initRstGenerator`.
|
||||||
|
runnableExamples: doAssert rstToLatex("*Hello* **world**", {}) == """\emph{Hello} \textbf{world}"""
|
||||||
|
if rstSource.len == 0: return
|
||||||
|
var option: bool
|
||||||
|
var rstGenera: RstGenerator
|
||||||
|
rstGenera.initRstGenerator(outLatex, defaultConfig(), "input", options)
|
||||||
|
rstGenera.renderRstToOut(rstParse(rstSource, "", 1, 1, option, options), result)
|
||||||
|
|
||||||
|
|
||||||
when isMainModule:
|
when isMainModule:
|
||||||
assert rstToHtml("*Hello* **world**!", {},
|
assert rstToHtml("*Hello* **world**!", {},
|
||||||
newStringTable(modeStyleInsensitive)) ==
|
newStringTable(modeStyleInsensitive)) ==
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue