summaryrefslogtreecommitdiffstats
path: root/tpl/urls/urls.go
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2018-04-15 23:17:50 +0200
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2018-04-15 23:17:50 +0200
commit4dba6ce15ae9b5208b1e2d68c96d7b1dce0a07ab (patch)
tree8375ba7778fdff45a367d4af197dc9f12b38ab2b /tpl/urls/urls.go
parent880ca19f209e68e6a8daa6686b361515ecacc91e (diff)
tpl/urls: Add anchorize template func
Diffstat (limited to 'tpl/urls/urls.go')
-rw-r--r--tpl/urls/urls.go12
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)