package main import ( "html/template" "log" "github.com/SowinskiBraeden/gfbmb/messageBox" "github.com/gofiber/fiber/v2" "github.com/gofiber/template/html" ) // Example func main() { // Example engine engine := html.New("./exampleViews", ".html") // Take not of this AddFunc code, // This is from GoFiber enabling us to render html engine.AddFunc( // add unescape function "unescape", func(s string) template.HTML { return template.HTML(s) }, ) // After you created your engine, you can pass it to Fiber's Views Engine app := fiber.New(fiber.Config{ Views: engine, }) // Index Example app.Get("/", func(c *fiber.Ctx) error { return c.Render("index", fiber.Map{ "msgBox": messageBox.EmptyMessageBox(), }) }) app.Post("/", func(c *fiber.Ctx) error { msgType := c.FormValue("messageboxtype") // msgType is a string value of // 'success', 'warning' or 'danger' message := c.FormValue("message") // You can use... newMsgBox, err := messageBox.NewMessageBox(message, msgType) // msgType is optional, providing none will default to 'success' if err != nil { return c.Render("index", fiber.Map{ "msgBox": messageBox.NewDangerBox(err.Error()), }) } // To make a new message box // Or you can use any of the following: // newMsgBox := messageBox.NewSuccessBox(message) // newMsgBox := messageBox.NewWarningBox(message) // newMsgBox := messageBox.NewErrorBox(message) return c.Render("index", fiber.Map{ "msgBox": newMsgBox, }) }) log.Fatal(app.Listen(":3000")) }