mirror of
https://github.com/gohugoio/hugo.git
synced 2024-12-03 04:23:50 -05:00
29 lines
493 B
Go
29 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)
|
||
|
}
|