aboutsummaryrefslogtreecommitdiffhomepage
path: root/markup/converter/converter.go
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <[email protected]>2022-02-17 13:04:00 +0100
committerBjørn Erik Pedersen <[email protected]>2022-02-24 18:59:50 +0100
commit08fdca9d9365eaf1e496a12e2af5e18617bd0e66 (patch)
tree6c6942d1b74a4160d93a997860bafd52b92025f5 /markup/converter/converter.go
parent2c20f5bc00b604e72b3b7e401fbdbf9447fe3470 (diff)
downloadhugo-08fdca9d9365eaf1e496a12e2af5e18617bd0e66.tar.gz
hugo-08fdca9d9365eaf1e496a12e2af5e18617bd0e66.zip
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/converter/converter.go')
-rw-r--r--markup/converter/converter.go10
1 files changed, 6 insertions, 4 deletions
diff --git a/markup/converter/converter.go b/markup/converter/converter.go
index 180208a7b..30addfec6 100644
--- a/markup/converter/converter.go
+++ b/markup/converter/converter.go
@@ -21,6 +21,7 @@ import (
"github.com/gohugoio/hugo/config"
"github.com/gohugoio/hugo/identity"
"github.com/gohugoio/hugo/markup/converter/hooks"
+ "github.com/gohugoio/hugo/markup/highlight"
"github.com/gohugoio/hugo/markup/markup_config"
"github.com/gohugoio/hugo/markup/tableofcontents"
"github.com/spf13/afero"
@@ -34,7 +35,7 @@ type ProviderConfig struct {
ContentFs afero.Fs
Logger loggers.Logger
Exec *hexec.Exec
- Highlight func(code, lang, optsStr string) (string, error)
+ highlight.Highlighter
}
// ProviderProvider creates converter providers.
@@ -127,9 +128,10 @@ type DocumentContext struct {
// RenderContext holds contextual information about the content to render.
type RenderContext struct {
- Src []byte
- RenderTOC bool
- RenderHooks hooks.Renderers
+ Src []byte
+ RenderTOC bool
+
+ GetRenderer hooks.GetRendererFunc
}
var FeatureRenderHooks = identity.NewPathIdentity("markup", "renderingHooks")