gopherproxy/markdown.go

32 lines
813 B
Go

package gopherproxy
import (
"bytes"
"html/template"
"io"
"github.com/gomarkdown/markdown"
"github.com/gomarkdown/markdown/ast"
)
func renderHookImageResponsive(w io.Writer, node ast.Node, entering bool) (ast.WalkStatus, bool) {
if _, ok := node.(*ast.Image); !ok {
return ast.GoToNext, false
}
container := node.AsContainer()
container.Classes = append(container.Classes, []byte("img-reponsive"))
return ast.GoToNext, true
}
func renderMd(b io.Reader) template.HTML {
buf := new(bytes.Buffer)
buf.ReadFrom(b)
// opts := html.RendererOptions{
// Flags: html.CommonFlags,
// RenderNodeHook: renderHookImageResponsive,
// }
// renderer := html.NewRenderer(opts)
// TODO: get the img-responsive thing to work
return template.HTML(string(markdown.ToHTML(buf.Bytes(), nil, nil)))
}