tpl/urls: Add anchorize template func - hugo - [fork] hugo port for 9front
 (HTM) git clone git@git.drkhsh.at/hugo.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Submodules
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 4dba6ce15ae9b5208b1e2d68c96d7b1dce0a07ab
 (DIR) parent 880ca19f209e68e6a8daa6686b361515ecacc91e
 (HTM) Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
       Date:   Sun, 15 Apr 2018 23:17:50 +0200
       
       tpl/urls: Add anchorize template func
       
       Diffstat:
         M tpl/urls/init.go                    |       7 +++++++
         M tpl/urls/urls.go                    |      12 ++++++++++++
       
       2 files changed, 19 insertions(+), 0 deletions(-)
       ---
 (DIR) diff --git a/tpl/urls/init.go b/tpl/urls/init.go
       @@ -59,6 +59,13 @@ func init() {
                                [][2]string{},
                        )
        
       +                ns.AddMethodMapping(ctx.Anchorize,
       +                        []string{"anchorize"},
       +                        [][2]string{
       +                                {`{{ "This is a title" | anchorize }}`, `this-is-a-title`},
       +                        },
       +                )
       +
                        return ns
        
                }
 (DIR) diff --git 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)