diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2018-04-15 23:17:50 +0200 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2018-04-15 23:17:50 +0200 |
commit | 4dba6ce15ae9b5208b1e2d68c96d7b1dce0a07ab (patch) | |
tree | 8375ba7778fdff45a367d4af197dc9f12b38ab2b /tpl/urls/urls.go | |
parent | 880ca19f209e68e6a8daa6686b361515ecacc91e (diff) |
tpl/urls: Add anchorize template func
Diffstat (limited to 'tpl/urls/urls.go')
-rw-r--r-- | tpl/urls/urls.go | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/tpl/urls/urls.go b/tpl/urls/urls.go index a9f8f4f76..b93c7cada 100644 --- a/tpl/urls/urls.go +++ b/tpl/urls/urls.go @@ -16,6 +16,9 @@ package urls import ( "errors" "fmt" + + "github.com/russross/blackfriday" + "html/template" "net/url" @@ -78,6 +81,15 @@ func (ns *Namespace) URLize(a interface{}) (string, error) { return ns.deps.PathSpec.URLize(s), nil } +// Anchorize creates sanitized anchor names that are compatible with Blackfriday. +func (ns *Namespace) Anchorize(a interface{}) (string, error) { + s, err := cast.ToStringE(a) + if err != nil { + return "", nil + } + return blackfriday.SanitizedAnchorName(s), nil +} + type reflinker interface { Ref(refs ...string) (string, error) RelRef(refs ...string) (string, error) |