2.2 KiB
2.2 KiB
GoFiber BootStrap Message Box (gfbmb)
When using GoFiber with the HTML template to serve a basic webpage, a common tool used is BootStrap. Though, there was no simple way to add a BootStrap component like a Message Box to the page through GoFiber.
I solved this issue, by writing a small package for a couple of my projects that returns the required code for a message box. Combining GoFiber's HTML template and my basic functions I am able to easly insert and render a message box on my html page.
Getting Started
- Get the module in your terminal.
go get github.com/SowinskiBraeden/gfbmb
- Ensure your GoFiber engine has
unescapedefined.
engine.AddFunc(
"unescape", func(s string) template.HTML {
return template.HTML(s)
},
)
- Ensure your html page has the required modules.
<link rel="stylesheet" href="https://bootswatch.com/4/journal/bootstrap.min.css"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
- Place where you want your Message box to go in your html page.
{{ unescape msgBox }}
- Render your html page with the empty message box.
app.Get("/", func(c *fiber.Ctx) error {
return c.Render("index", fiber.Map{
"msgBox": messageBox.EmptyMessageBox(),
})
})
- When rendering a page with a message, use one of the following...
newMsgBox, err := messageBox.NewMessageBox(message, msgType)
// msgType is optional, providing none will default to 'success'
// msgType can be 'success', 'warning' or 'danger'
if err != nil {
return c.Render("index", fiber.Map{
"msgBox": messageBox.NewDangerBox(err.Error()),
})
}
or one of these...
newMsgBox := messageBox.NewSuccessBox(message)
newMsgBox := messageBox.NewWarningBox(message)
newMsgBox := messageBox.NewErrorBox(message)
- Render your html page with your new Message Box.
return c.Render("index", fiber.Map{
"msgBox": newMsgBox,
})
You can see the full example using the main.go file.