From bdf4e9cc5c5934281631af09bf9a7d58719d0cbb Mon Sep 17 00:00:00 2001 From: jan Date: Fri, 18 Dec 2015 15:15:15 +0100 Subject: kleiner renderer inklusive benutzung von charakterin. diff --git a/README b/README index e69de29..0f25db8 100644 --- a/README +++ b/README @@ -0,0 +1 @@ +Grilist ist eine Liste. für Grils. \ No newline at end of file diff --git a/frontend/renderer.go b/frontend/renderer.go new file mode 100644 index 0000000..5673860 --- /dev/null +++ b/frontend/renderer.go @@ -0,0 +1,33 @@ +package frontend + +import ( + "html/template" + "net/http" +) + +// Renderer rendert Seiten. +type Renderer struct { + templates *template.Template +} + +// New erstellt einen neuen Renderer und sucht alle Templates aus dem gegebenen pfad. +func New(path string) *Renderer { + r := &Renderer{ + template.Must(template.ParseGlob(path + "/*")), + } + + return r +} + +// RenderPage rendert eine bestimmte Seite (basierend auf dem Template-Namen) und den gegebenen Daten. +func (r *Renderer) RenderPage(name string, w http.ResponseWriter, data map[string]interface{}) { + err := r.templates.ExecuteTemplate(w, name, data) + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + } +} + +// RenderLoginPage zeigt die Loginseite an. +func (r *Renderer) RenderLoginPage(w http.ResponseWriter, data map[string]interface{}) { + r.RenderPage("login", w, data) +} diff --git a/main.go b/main.go new file mode 100644 index 0000000..cc4283c --- /dev/null +++ b/main.go @@ -0,0 +1,21 @@ +package main + +import ( + login "fagott.pw/charakterin" + "fagott.pw/grilist/frontend" + "github.com/julienschmidt/httprouter" + "log" + "net/http" +) + +func main() { + frontend := frontend.New("views") + charakterin := login.New() + charakterin.UseRenderer(frontend) + + router := httprouter.New() + router.HandlerFunc("GET", "/login", charakterin.DisplayLogin) + router.HandlerFunc("POST", "/login", charakterin.Login) + + log.Fatal(http.ListenAndServe(":8080", router)) +} diff --git a/views/login.html b/views/login.html new file mode 100644 index 0000000..934d575 --- /dev/null +++ b/views/login.html @@ -0,0 +1,10 @@ +{{ define "login" }} + + + Grilist - Login + + + Benis. + + +{{ end }} \ No newline at end of file -- cgit v0.10.1