35 lines
795 B
Go
35 lines
795 B
Go
package main
|
|
|
|
import (
|
|
"git.ddd.rip/ptrcnull/modweb/config"
|
|
"git.ddd.rip/ptrcnull/modweb/module"
|
|
"git.ddd.rip/ptrcnull/modweb/templates"
|
|
"git.ddd.rip/ptrcnull/modweb/templates/static"
|
|
"github.com/gofiber/fiber"
|
|
_ "github.com/hashicorp/go-plugin"
|
|
)
|
|
|
|
func main() {
|
|
conf, _ := config.Load()
|
|
app := fiber.New()
|
|
|
|
modules, err := module.LoadAll(conf.ModulePath)
|
|
for _, module := range modules {
|
|
app.Get("/" + module.Name() + "/", func(ctx *fiber.Ctx) {
|
|
templates.Send(ctx, fiber.Map{
|
|
"modules": modules,
|
|
"currentModule": module,
|
|
}, static.Navbar, static.ModulePage)
|
|
})
|
|
}
|
|
|
|
app.Get("/", func(ctx *fiber.Ctx) {
|
|
templates.Send(ctx, fiber.Map{"modules": modules}, static.Navbar, static.Homepage)
|
|
})
|
|
|
|
err = app.Listen(conf.ListenAddress)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
}
|