tags colapse
This commit is contained in:
parent
ca57b910de
commit
3302fa52cf
4 changed files with 42 additions and 4 deletions
32
main.go
32
main.go
|
@ -159,6 +159,8 @@ func process(_ context.Context, w gemini.ResponseWriter, r *gemini.Request) {
|
|||
renderAbout(w)
|
||||
case regexp.MustCompile(`^/s/?$`).MatchString(r.URL.Path):
|
||||
renderSearch(w, r, client)
|
||||
case regexp.MustCompile(`^/t/?$`).MatchString(r.URL.Path):
|
||||
renderTags(w, client)
|
||||
case regexp.MustCompile(`^/f/?$`).MatchString(r.URL.Path):
|
||||
renderAllFiles(w, client)
|
||||
case regexp.MustCompile(`^/f/([\p{L}\d_+.]+/)+[\d\w]+/index.gmi$`).MatchString(r.URL.Path):
|
||||
|
@ -271,6 +273,36 @@ func renderIndex(w gemini.ResponseWriter, client TreeManagerClient) {
|
|||
}
|
||||
}
|
||||
|
||||
func renderTags(w gemini.ResponseWriter, client TreeManagerClient) {
|
||||
path := ""
|
||||
tr := TreeRequest{Path: &path, Filter: getLangFilters()}
|
||||
|
||||
tree, err := client.GetSummery(context.Background(), &tr)
|
||||
if err != nil {
|
||||
w.WriteHeader(gemini.StatusTemporaryFailure, "Internal server error")
|
||||
return
|
||||
}
|
||||
|
||||
w.SetMediaType("text/gemini")
|
||||
tpl := pongo2.Must(pongo2.FromFile("templates/tags.gmi"))
|
||||
page, err := tpl.Execute(
|
||||
pongo2.Context{
|
||||
"tree": tree,
|
||||
"lang": defaultLang,
|
||||
},
|
||||
)
|
||||
if err != nil {
|
||||
log.Fatalf("template failed: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
_, err = w.Write([]byte(page))
|
||||
if err != nil {
|
||||
w.WriteHeader(gemini.StatusTemporaryFailure, "Internal server error")
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
func renderFeed(w gemini.ResponseWriter, r *gemini.Request, client TreeManagerClient) {
|
||||
path := ""
|
||||
tr := TreeRequest{Path: &path, Filter: getLangFilters()}
|
||||
|
|
|
@ -11,8 +11,7 @@ Welcome to my capsule in Gemini space. {{ logo() }}
|
|||
{% for cat, count in tree.Categories %}
|
||||
{{ category_url(cat, cat, count) }} {% endfor %}
|
||||
|
||||
{% for tag, count in tree.Tags %}
|
||||
{{ tag_url(tag, count) }} {% endfor %}
|
||||
=> /t 🏷 Tags ({{ tree.Tags|length }})
|
||||
|
||||
{% if lastFiles %}### Last texts
|
||||
{% for file in lastFiles %}{{ text_url(file) }}{% endfor %}{% endif %}
|
||||
|
|
|
@ -11,8 +11,7 @@ Sveikė atvīkėn i mona kapsolė Gemini ertie. {{ logo() }}
|
|||
{% for cat, count in tree.Categories %}
|
||||
{{ category_url(cat, cat, count) }} {% endfor %}
|
||||
|
||||
{% for tag, count in tree.Tags %}
|
||||
{{ tag_url(tag, count) }} {% endfor %}
|
||||
=> /t 🏷 Žīmas ({{ tree.Tags|length }})
|
||||
|
||||
{% if lastFiles %}### Paskotėnē īrašā
|
||||
|
||||
|
|
8
templates/tags.gmi
Normal file
8
templates/tags.gmi
Normal file
|
@ -0,0 +1,8 @@
|
|||
{% import "macros.tpl" tag_url, home %}
|
||||
# {% if lang == "sgs" %}Žīmas{% else %}Tags{% endif %}
|
||||
|
||||
{% for tag, count in tree.Tags %}
|
||||
{{ tag_url(tag, count) }} {% endfor %}
|
||||
|
||||
|
||||
{{ home(lang) }}
|
Loading…
Add table
Reference in a new issue