I’m developing an annotation shortcode, and I’m running into a problem with the RenderString
function. I’ve put my shortcode code and an example in this gist Hugo annotation shortcode · GitHub
The general idea is that this
{{< annotate >}}
\`\`\`
this is a codeblock with annotation # (1)
\`\`\`
* this is a list (2) with annotation
{{< annotations >}}
1. An annotation :wave:
2. Another annotation :dog:
{{< /annotations >}}
{{< /annotate >}}
Will render this
This process is this:
- Markdownify the
annotate
.Inner
, and capture to a string of HTML -
annotations
createsscript
tags, where the script adds annotations elements and open/closes popups - Find/replace the annotation anchor
(\d)
with aspan/icon
clickable element - Render the full string of HTML (the
.Inner
content + anchors + script tags) to the doc
I think {{ $.Page.RenderString (dict "markup" "html") }}
should render the whole string as HTML, but when I try that, I get the following error:
No content renderer found for markup "markdown"
Interesting, when I try (dict "markup" "pandoc")
, I get the warning:
pandoc not found in $PATH: Please install.
Leaving pandoc content unrendered.
but the HTML ends up getting rendered correctly.
Am I using (dict "markup" "html")
correctly? Why is this error being thrown, since I’m just trying to use HTML, which doesn’t have dependencies?