counter per page

This commit is contained in:
Arnas Udovic 2024-07-18 21:34:57 +03:00
parent 459c572439
commit 7a3961bdf5
4 changed files with 26 additions and 7 deletions

23
main.go
View file

@ -136,7 +136,7 @@ func process(_ context.Context, w gemini.ResponseWriter, r *gemini.Request) {
log.Fatal(err)
return
}
db.Inc("page_counter_" + defaultLang)
db.Inc("page_counter." + defaultLang)
conn, err := grpc.Dial(
fileSrvHost+":"+fileSrvPort,
@ -240,10 +240,10 @@ func renderIndex(w gemini.ResponseWriter, client TreeManagerClient) {
if !found {
}
pageCounter, found := db.Get("page_counter_" + defaultLang)
pageCounter, found := db.Get("page_counter." + defaultLang)
if !found {
pageCounter = "1"
db.Save("page_counter_"+defaultLang, "1")
db.Save("page_counter."+defaultLang, "1")
}
w.SetMediaType("text/gemini")
@ -437,9 +437,24 @@ func renderFile(w gemini.ResponseWriter, r *gemini.Request, client TreeManagerCl
return
}
db, err := zordfsdb.InitDB("./db")
if err != nil {
w.WriteHeader(gemini.StatusTemporaryFailure, "Internal server error")
log.Fatal(err)
return
}
pageCounter, found := db.Get("page_counter." + id)
if !found {
pageCounter = "1"
db.Save("page_counter."+id, "1")
}
w.SetMediaType("text/gemini")
tpl := pongo2.Must(pongo2.FromFile("templates/page.gmi"))
page, err := tpl.Execute(pongo2.Context{"lang": defaultLang, "file": file})
page, err := tpl.Execute(
pongo2.Context{"lang": defaultLang, "file": file, "pageCounter": pageCounter},
)
if err != nil {
log.Fatalf("template failed: %v", err)
return

View file

@ -22,5 +22,5 @@ Welcome to my capsule in Gemini space. {{ logo() }}
```
Last build: {{lastRebuild}}
Page counter: {{pageCounter}}
Total page counter: {{pageCounter}}
```

View file

@ -15,3 +15,7 @@ Language: {{ file.File.Lang }}
{{ category_url(file.File.CategoryPath, file.File.Category|last, 0) }}
{{ home(lang) }}
```
Page counter: {{pageCounter}}
```

View file

@ -23,6 +23,6 @@ Sveikė atvīkėn i mona kapsolė Gemini ertie. {{ logo() }}
=> /s ėiškuok
```
Paskutinis atnaujėnėms: {{lastRebuild}}
Lonkītuoju skaitlios: {{pageCounter}}
Last build: {{lastRebuild}}
Total page counter: {{pageCounter}}
```