Persistenz implementiert + Anpassungen
All checks were successful
release-tag / release-image (push) Successful in 2m7s
All checks were successful
release-tag / release-image (push) Successful in 2m7s
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"html/template"
|
"html/template"
|
||||||
"net/http"
|
"net/http"
|
||||||
@@ -14,6 +15,28 @@ import (
|
|||||||
|
|
||||||
var TickCatalog []TickEntry
|
var TickCatalog []TickEntry
|
||||||
|
|
||||||
|
func SaveTickCatalog(filename string) error {
|
||||||
|
file, err := os.Create(filename)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
defer file.Close()
|
||||||
|
|
||||||
|
encoder := json.NewEncoder(file)
|
||||||
|
encoder.SetIndent("", " ")
|
||||||
|
return encoder.Encode(TickCatalog)
|
||||||
|
}
|
||||||
|
|
||||||
|
func LoadTickCatalog(filename string) error {
|
||||||
|
file, err := os.Open(filename)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
defer file.Close()
|
||||||
|
|
||||||
|
return json.NewDecoder(file).Decode(&TickCatalog)
|
||||||
|
}
|
||||||
|
|
||||||
func IncTick(xSlug string) error {
|
func IncTick(xSlug string) error {
|
||||||
for a, b := range TickCatalog {
|
for a, b := range TickCatalog {
|
||||||
if b.Slug == xSlug {
|
if b.Slug == xSlug {
|
||||||
@@ -33,12 +56,12 @@ func getTick(xSlug string) string {
|
|||||||
return strconv.FormatInt(n, 10)
|
return strconv.FormatInt(n, 10)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return "-1"
|
return "0"
|
||||||
}
|
}
|
||||||
|
|
||||||
type TickEntry struct {
|
type TickEntry struct {
|
||||||
Slug string
|
Slug string `json:"slug"`
|
||||||
Count int64
|
Count int64 `json:"count"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func getenv(k, d string) string {
|
func getenv(k, d string) string {
|
||||||
@@ -75,6 +98,15 @@ func main() {
|
|||||||
staticDir := getenv("BLOG_STATIC_DIR", "/app/internal/web/static")
|
staticDir := getenv("BLOG_STATIC_DIR", "/app/internal/web/static")
|
||||||
pagesDir := getenv("BLOG_PAGES_DIR", "/pages")
|
pagesDir := getenv("BLOG_PAGES_DIR", "/pages")
|
||||||
templatesDir := getenv("BLOG_TEMPLATES_DIR", "/templates")
|
templatesDir := getenv("BLOG_TEMPLATES_DIR", "/templates")
|
||||||
|
ticksDir := getenv("BLOG_TICKS_DIR", "/ticks")
|
||||||
|
|
||||||
|
TickCatalog = nil
|
||||||
|
if err := LoadTickCatalog(ticksDir + "/ticks.json"); err != nil {
|
||||||
|
fmt.Println("Fehler beim Laden:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Println("Geladener Katalog:", TickCatalog)
|
||||||
|
|
||||||
funcs := template.FuncMap{
|
funcs := template.FuncMap{
|
||||||
"now": time.Now, // jetzt‑Zeit bereitstellen
|
"now": time.Now, // jetzt‑Zeit bereitstellen
|
||||||
@@ -166,4 +198,11 @@ func main() {
|
|||||||
http.FileServer(http.Dir(staticDir)))))
|
http.FileServer(http.Dir(staticDir)))))
|
||||||
|
|
||||||
http.ListenAndServe(":8080", mux)
|
http.ListenAndServe(":8080", mux)
|
||||||
|
|
||||||
|
if err := SaveTickCatalog(ticksDir + "/ticks.json"); err != nil {
|
||||||
|
fmt.Println("Fehler beim Speichern:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Println("Geladener Katalog:", TickCatalog)
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user