diff --git a/go.mod b/go.mod index 9dab6797438..d2c29720845 100644 --- a/go.mod +++ b/go.mod @@ -54,7 +54,7 @@ require ( github.com/mattn/go-isatty v0.0.20 github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c github.com/muesli/smartcrop v0.3.0 - github.com/niklasfasching/go-org v1.8.0 + github.com/niklasfasching/go-org v1.9.1 github.com/olekukonko/tablewriter v1.0.8 github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 github.com/pelletier/go-toml/v2 v2.2.4 diff --git a/go.sum b/go.sum index aa486711816..653dfcf8cff 100644 --- a/go.sum +++ b/go.sum @@ -424,6 +424,8 @@ github.com/niklasfasching/go-org v1.8.0 h1:WyGLaajLLp8JbQzkmapZ1y0MOzKuKV47HkZRl github.com/niklasfasching/go-org v1.8.0/go.mod h1:e2A9zJs7cdONrEGs3gvxCcaAEpwwPNPG7csDpXckMNg= github.com/niklasfasching/go-org v1.9.0 h1:4/Sr68Qx06hjC9MVDB/4etGP67JionLHGscLMOClpnk= github.com/niklasfasching/go-org v1.9.0/go.mod h1:ZAGFFkWvUQcpazmi/8nHqwvARpr1xpb+Es67oUGX/48= +github.com/niklasfasching/go-org v1.9.1 h1:/3s4uTPOF06pImGa2Yvlp24yKXZoTYM+nsIlMzfpg/0= +github.com/niklasfasching/go-org v1.9.1/go.mod h1:ZAGFFkWvUQcpazmi/8nHqwvARpr1xpb+Es67oUGX/48= github.com/oasdiff/yaml v0.0.0-20250309154309-f31be36b4037 h1:G7ERwszslrBzRxj//JalHPu/3yz+De2J+4aLtSRlHiY= github.com/oasdiff/yaml v0.0.0-20250309154309-f31be36b4037/go.mod h1:2bpvgLBZEtENV5scfDFEtB/5+1M4hkQhDQrccEJ/qGw= github.com/oasdiff/yaml3 v0.0.0-20250309153720-d2182401db90 h1:bQx3WeLcUWy+RletIKwUIt4x3t8n2SxavmoclizMb8c= diff --git a/markup/org/convert.go b/markup/org/convert.go index 141269f1d89..bd83e46238e 100644 --- a/markup/org/convert.go +++ b/markup/org/convert.go @@ -17,6 +17,7 @@ package org import ( "bytes" "log" + "strings" "github.com/gohugoio/hugo/identity" @@ -51,6 +52,19 @@ func (c *orgConverter) Convert(ctx converter.RenderContext) (converter.ResultRen config.ReadFile = func(filename string) ([]byte, error) { return afero.ReadFile(c.cfg.ContentFs, filename) } + config.ResolveLink = func(protocol string, description []org.Node, link string) org.Node { + out := org.RegularLink{ + Protocol: protocol, + Description: description, + URL: link, + AutoLink: false, + } + if protocol == "denote" { + id := strings.TrimPrefix(link, "denote:") + out.URL = "../" + strings.ToLower(id) + "/" + } + return out + } writer := org.NewHTMLWriter() writer.HighlightCodeBlock = func(source, lang string, inline bool, params map[string]string) string { highlightedSource, err := c.cfg.Highlight(source, lang, "")