63 lines
1.1 KiB
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)
|
|
}
|