diff options
author | Miran <narimiran@disroot.org> | 2020-09-21 17:01:12 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-21 17:01:12 +0200 |
commit | 464518327211ea3a693e9ae5e9b03c739d410ac4 (patch) | |
tree | e1ea10e4e82e0b6d3a5a15d48fb8e76de8b01976 | |
parent | 40a868bccc6934aba99a9e490dad04296533b00f (diff) | |
download | Nim-464518327211ea3a693e9ae5e9b03c739d410ac4.tar.gz |
fix #6430, support `:target:` for images (#15379)
-rw-r--r-- | lib/packages/docutils/rstgen.nim | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/packages/docutils/rstgen.nim b/lib/packages/docutils/rstgen.nim index 2ec25cc6e..9f707f4e8 100644 --- a/lib/packages/docutils/rstgen.nim +++ b/lib/packages/docutils/rstgen.nim @@ -848,6 +848,18 @@ proc renderImage(d: PDoc, n: PRstNode, result: var string) = """ else: htmlOut = "<img src=\"$1\"$2/>" + + # support for `:target:` links for images: + var target = esc(d.target, getFieldValue(n, "target").strip()) + if target.len > 0: + # `htmlOut` needs to be of the following format for link to work for images: + # <a class="reference external" href="target"><img src=\"$1\"$2/></a> + var htmlOutWithLink = "" + dispA(d.target, htmlOutWithLink, + "<a class=\"reference external\" href=\"$2\">$1</a>", + "\\href{$2}{$1}", [htmlOut, target]) + htmlOut = htmlOutWithLink + dispA(d.target, result, htmlOut, "\\includegraphics$2{$1}", [esc(d.target, arg), options]) if len(n) >= 3: renderRstToOut(d, n.sons[2], result) |