// app/controllers/post_controller/postcontroller.go
package postcontroller
import (
"net/http"
"golazy.dev/lazycontroller"
)
var Markdown = lazycontroller.NewFormat(
"text/markdown",
lazycontroller.As("markdown"),
lazycontroller.Suffix("md", "markdown"),
)
func (c *PostsController) Show(w http.ResponseWriter, post *Post) error {
return c.Wants(lazycontroller.Formats{
lazycontroller.HTML: func() error {
c.Set("post", post)
return nil
},
Markdown: func() error {
c.ContentType("text/markdown; charset=utf-8")
_, err := w.Write([]byte("# " + post.Title + "\n"))
return err
},
})
}