summaryrefslogtreecommitdiffstats
path: root/markup/goldmark/toc_test.go
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2022-02-17 13:04:00 +0100
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2022-02-24 18:59:50 +0100
commit08fdca9d9365eaf1e496a12e2af5e18617bd0e66 (patch)
tree6c6942d1b74a4160d93a997860bafd52b92025f5 /markup/goldmark/toc_test.go
parent2c20f5bc00b604e72b3b7e401fbdbf9447fe3470 (diff)
Add Markdown diagrams and render hooks for code blocks
You can now create custom hook templates for code blocks, either one for all (`render-codeblock.html`) or for a given code language (e.g. `render-codeblock-go.html`). We also used this new hook to add support for diagrams in Hugo: * Goat (Go ASCII Tool) is built-in and enabled by default; just create a fenced code block with the language `goat` and start draw your Ascii diagrams. * Another popular alternative for diagrams in Markdown, Mermaid (supported by GitHub), can also be implemented with a simple template. See the Hugo documentation for more information. Updates #7765 Closes #9538 Fixes #9553 Fixes #8520 Fixes #6702 Fixes #9558
Diffstat (limited to 'markup/goldmark/toc_test.go')
-rw-r--r--markup/goldmark/toc_test.go9
1 files changed, 6 insertions, 3 deletions
diff --git a/markup/goldmark/toc_test.go b/markup/goldmark/toc_test.go
index f8fcf79d4..6e080bf46 100644
--- a/markup/goldmark/toc_test.go
+++ b/markup/goldmark/toc_test.go
@@ -18,6 +18,7 @@ import (
"strings"
"testing"
+ "github.com/gohugoio/hugo/markup/converter/hooks"
"github.com/gohugoio/hugo/markup/markup_config"
"github.com/gohugoio/hugo/common/loggers"
@@ -27,6 +28,8 @@ import (
qt "github.com/frankban/quicktest"
)
+var nopGetRenderer = func(t hooks.RendererType, id interface{}) interface{} { return nil }
+
func TestToc(t *testing.T) {
c := qt.New(t)
@@ -58,7 +61,7 @@ And then some.
c.Assert(err, qt.IsNil)
conv, err := p.New(converter.DocumentContext{})
c.Assert(err, qt.IsNil)
- b, err := conv.Convert(converter.RenderContext{Src: []byte(content), RenderTOC: true})
+ b, err := conv.Convert(converter.RenderContext{Src: []byte(content), RenderTOC: true, GetRenderer: nopGetRenderer})
c.Assert(err, qt.IsNil)
got := b.(converter.TableOfContentsProvider).TableOfContents().ToHTML(2, 3, false)
c.Assert(got, qt.Equals, `<nav id="TableOfContents">
@@ -108,7 +111,7 @@ func TestEscapeToc(t *testing.T) {
"# `echo codeblock`",
}, "\n")
// content := ""
- b, err := safeConv.Convert(converter.RenderContext{Src: []byte(content), RenderTOC: true})
+ b, err := safeConv.Convert(converter.RenderContext{Src: []byte(content), RenderTOC: true, GetRenderer: nopGetRenderer})
c.Assert(err, qt.IsNil)
got := b.(converter.TableOfContentsProvider).TableOfContents().ToHTML(1, 2, false)
c.Assert(got, qt.Equals, `<nav id="TableOfContents">
@@ -120,7 +123,7 @@ func TestEscapeToc(t *testing.T) {
</ul>
</nav>`, qt.Commentf(got))
- b, err = unsafeConv.Convert(converter.RenderContext{Src: []byte(content), RenderTOC: true})
+ b, err = unsafeConv.Convert(converter.RenderContext{Src: []byte(content), RenderTOC: true, GetRenderer: nopGetRenderer})
c.Assert(err, qt.IsNil)
got = b.(converter.TableOfContentsProvider).TableOfContents().ToHTML(1, 2, false)
c.Assert(got, qt.Equals, `<nav id="TableOfContents">