Isolation of links and footnotes inside codeblocks

1) Footnotes within inline code will never work. It is… code.

This is `inline code[^1]`.

2) Footnotes within indented code blocks will never work. It is… code.

    This is an indented code block.[^2]

3) Footnotes within fenced code blocks (those without a render hook) will never work. It is… code.

```go
This is a fenced code block.[^3]
```

4) Footnotes in a blockquote are rendered as expected.

> This is a blockquote.[^4]

5) Footnotes within a shortcode called using the {{% foo %}} notation are rendered as expected.

{{% foo %}}
This is **bold** text.[^4]
{{% /foo %}}

6) Footnotes within a shortcode called using the {{< foo >}} are rendered if both parts are passed through .Page.RenderString in the same call. Shortcodes called with this notation are rendered separately from the .RawContent, outside of the normal page flow, resulting in duplicate id attributes and positioned immediately after the shortcode call. This is expected.

{{< foo >}}
This is **bold** text.[^5]
[^5]: Footnote 5
{{< /foo >}}

7) Footnotes within a markdown render hook are rendered if both parts are passed through .Page.RenderString in the same call. The content is rendered separately from the .RawContent, outside of the normal page flow, resulting in duplicate id attributes and positioned immediately after the fenced code block. This is expected.

```blockquote
This is rendered by a code block render hook.[^6]
[^6]: Footnote 6
```

No.

Sort of.

No.

1 Like