hugo/transform/nav.go
Noah Campbell f34ea6108d Add the ability to set navbar li class to active
First cut at doing post html processing.  This utility can be used to
mark pages as active.
2013-09-28 23:05:16 -07:00

28 lines
493 B
Go

package transform
import (
htmltran "code.google.com/p/go-html-transform/html/transform"
"io"
"fmt"
)
type NavActive struct {
Section string
}
func (n *NavActive) Apply(r io.Reader, w io.Writer) (err error) {
var tr *htmltran.Transformer
if n.Section == "" {
_, err = io.Copy(w, r)
return
}
if tr, err = htmltran.NewFromReader(r); err != nil {
return
}
tr.Apply(htmltran.ModifyAttrib("class", "active"), fmt.Sprintf("li[data-nav=%s]", n.Section))
return tr.Render(w)
}