website/routes/wiki.go

63 lines
1.1 KiB
Go

package routes
import (
"git.matterlinux.xyz/Matter/website/lib"
"git.matterlinux.xyz/Matter/website/log"
"github.com/gofiber/fiber/v2"
)
func GET_Wiki(c *fiber.Ctx) error {
var (
con lib.Content
err error
)
if con, err = lib.GetContent("wiki", "main"); err != nil {
log.Error("GetContent failed: %s", err.Error())
return lib.RenderError(c, 500)
}
return c.Render("post", fiber.Map{
"title": "Wiki",
"post": con,
})
}
func GET_WikiPage(c *fiber.Ctx) error {
var (
contents []lib.Content
err error
)
docid := c.Params("id")
if len(docid) == 0 {
return lib.RenderError(c, 404)
}
if contents, err = lib.ListContent("wiki"); err != nil {
log.Error("ListContent failed: %s", err.Error())
return lib.RenderError(c, 500)
}
for _, con := range contents {
if con.ID != docid {
continue
}
con, err = lib.GetContent(con.Dir, con.Name)
if err != nil {
log.Error("GetContent failed: %s", err.Error())
return lib.RenderError(c, 500)
}
con.Title = "Wiki: " + con.Title
return c.Render("post", fiber.Map{
"title": con.Title,
"post": con,
})
}
return lib.RenderError(c, 404)
}