webserver.go 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. package main
  2. import (
  3. "fmt"
  4. "log"
  5. "os"
  6. "github.com/gin-contrib/multitemplate"
  7. "github.com/gin-gonic/gin"
  8. "git.aetherial.dev/aeth/keiji/pkg/env"
  9. "git.aetherial.dev/aeth/keiji/pkg/routes"
  10. )
  11. var WEB_ROOT string
  12. var DOMAIN_NAME string
  13. var REDIS_PORT string
  14. var REDIS_ADDR string
  15. func main() {
  16. args := os.Args
  17. err := env.LoadAndVerifyEnv(args[1], env.REQUIRED_VARS)
  18. if err != nil {
  19. log.Fatal("Error when loading env file: ", err)
  20. }
  21. renderer := multitemplate.NewRenderer()
  22. renderer.AddFromFiles(
  23. "home",
  24. fmt.Sprintf("%s/templates/home.html", WEB_ROOT),
  25. fmt.Sprintf("%s/templates/navigation.html", WEB_ROOT),
  26. fmt.Sprintf("%s/templates/menu.html", WEB_ROOT),
  27. fmt.Sprintf("%s/templates/link.html", WEB_ROOT),
  28. fmt.Sprintf("%s/templates/listing.html", WEB_ROOT),
  29. )
  30. renderer.AddFromFiles(
  31. "blogpost",
  32. fmt.Sprintf("%s/templates/blogpost.html", WEB_ROOT),
  33. fmt.Sprintf("%s/templates/navigation.html", WEB_ROOT),
  34. fmt.Sprintf("%s/templates/menu.html", WEB_ROOT),
  35. fmt.Sprintf("%s/templates/link.html", WEB_ROOT),
  36. )
  37. renderer.AddFromFiles(
  38. "digital_art",
  39. fmt.Sprintf("%s/templates/digital_art.html", WEB_ROOT),
  40. fmt.Sprintf("%s/templates/centered_image.html", WEB_ROOT),
  41. fmt.Sprintf("%s/templates/navigation.html", WEB_ROOT),
  42. fmt.Sprintf("%s/templates/menu.html", WEB_ROOT),
  43. fmt.Sprintf("%s/templates/link.html", WEB_ROOT),
  44. )
  45. renderer.AddFromFiles(
  46. "login",
  47. fmt.Sprintf("%s/templates/login.html", WEB_ROOT),
  48. )
  49. renderer.AddFromFiles(
  50. "admin",
  51. fmt.Sprintf("%s/templates/admin.html", WEB_ROOT),
  52. fmt.Sprintf("%s/templates/menu.html", WEB_ROOT),
  53. fmt.Sprintf("%s/templates/link.html", WEB_ROOT),
  54. fmt.Sprintf("%s/templates/navigation.html", WEB_ROOT),
  55. fmt.Sprintf("%s/templates/listing.html", WEB_ROOT),
  56. )
  57. renderer.AddFromFiles(
  58. "blogpost_editor",
  59. fmt.Sprintf("%s/templates/blogpost_editor.html", WEB_ROOT),
  60. fmt.Sprintf("%s/templates/menu.html", WEB_ROOT),
  61. fmt.Sprintf("%s/templates/link.html", WEB_ROOT),
  62. fmt.Sprintf("%s/templates/navigation.html", WEB_ROOT),
  63. fmt.Sprintf("%s/templates/listing.html", WEB_ROOT),
  64. )
  65. e := gin.Default()
  66. e.HTMLRender = renderer
  67. routes.Register(e, WEB_ROOT, DOMAIN_NAME, REDIS_PORT, REDIS_ADDR)
  68. e.Run(fmt.Sprintf("%s:%s", os.Getenv("HOST_ADDR"), os.Getenv("HOST_PORT")))
  69. }