summaryrefslogtreecommitdiff
path: root/app/wrapper.go
diff options
context:
space:
mode:
authorlost+skunk <[email protected]>2024-08-13 15:59:52 +0300
committerlost+skunk <[email protected]>2024-08-13 15:59:52 +0300
commit1537da9b16dfda1ecb2730b5d1de3b9005397618 (patch)
tree0cce5db0cb6393d369b7f8207d495645510276f2 /app/wrapper.go
parent4db018fb7f01669cb5e4c1da4b56ccfe3dbadd6f (diff)
downloadskunky-art-1537da9b16dfda1ecb2730b5d1de3b9005397618.tar.gz
skunky-art-1537da9b16dfda1ecb2730b5d1de3b9005397618.tar.bz2
skunky-art-1537da9b16dfda1ecb2730b5d1de3b9005397618.zip
темплейты в бинарнике и улучшенная система кеша
Diffstat (limited to 'app/wrapper.go')
-rw-r--r--app/wrapper.go40
1 files changed, 23 insertions, 17 deletions
diff --git a/app/wrapper.go b/app/wrapper.go
index 250e88b..5e8b6c1 100644
--- a/app/wrapper.go
+++ b/app/wrapper.go
@@ -15,17 +15,17 @@ import (
)
var wr = io.WriteString
-var Templates = make(map[string]string)
type skunkyart struct {
Writer http.ResponseWriter
- Args url.Values
- BasePath string
- Type rune
- Query, QueryRaw string
- Page int
- Atom bool
+ Args url.Values
+ Page int
+ Type rune
+ Atom bool
+
+ BasePath, Endpoint string
+ Query, QueryRaw string
Templates struct {
About struct {
@@ -136,7 +136,7 @@ func (s skunkyart) GRUser() {
case "cover_deviation":
group.About.BGMeta = x.ModuleData.CoverDeviation.Deviation
group.About.BGMeta.Url = ConvertDeviantArtUrlToSkunkyArt(group.About.BGMeta.Url)
- group.About.BG = ParseMedia(group.About.BGMeta.Media)
+ group.About.BG = ParseMedia(group.About.BGMeta.Media, group.About.BGMeta.Title)
case "group_admins":
var htm strings.Builder
for _, z := range x.ModuleData.GroupAdmins.Results {
@@ -171,7 +171,7 @@ func (s skunkyart) GRUser() {
folders.WriteString(`<a href="`)
folders.WriteString(ConvertDeviantArtUrlToSkunkyArt(x.Thumb.Url))
folders.WriteString(`"><img loading="lazy" src="`)
- folders.WriteString(ParseMedia(x.Thumb.Media))
+ folders.WriteString(ParseMedia(x.Thumb.Media, x.Thumb.Title))
folders.WriteString(`" title="`)
folders.WriteString(x.Thumb.Title)
folders.WriteString(`"></a>`)
@@ -180,7 +180,7 @@ func (s skunkyart) GRUser() {
}
folders.WriteString("<br>")
- folders.WriteString(`<a href="?folder=`)
+ folders.WriteString(`<a href="group_user?folder=`)
folders.WriteString(strconv.Itoa(x.FolderId))
folders.WriteString("&q=")
folders.WriteString(s.Query)
@@ -209,7 +209,7 @@ func (s skunkyart) GRUser() {
}
if !s.Atom {
- s.ExecuteTemplate("gruser.htm", &s)
+ s.ExecuteTemplate("gruser.htm", "html", &s)
}
}
@@ -233,7 +233,7 @@ func (s skunkyart) Deviation(author, postname string) {
}
// время публикации
post.StringTime = post.Post.Deviation.PublishedTime.UTC().String()
- post.Post.IMG = ParseMedia(post.Post.Deviation.Media)
+ post.Post.IMG = ParseMedia(post.Post.Deviation.Media, post.Post.Deviation.Title)
for _, x := range post.Post.Deviation.Extended.RelatedContent {
if len(x.Deviations) != 0 {
post.Related += s.DeviationList(x.Deviations, false)
@@ -258,7 +258,7 @@ func (s skunkyart) Deviation(author, postname string) {
post.Comments = s.ParseComments(devianter.GetComments(id, post.Post.Comments.Cursor, s.Page, 1))
- s.ExecuteTemplate("deviantion.htm", &s)
+ s.ExecuteTemplate("deviantion.htm", "html", &s)
}
func (s skunkyart) DD() {
@@ -281,11 +281,16 @@ func (s skunkyart) DD() {
More: dd.HasMore,
})
if !s.Atom {
- s.ExecuteTemplate("daily.htm", &s)
+ s.ExecuteTemplate("daily.htm", "html", &s)
}
}
func (s skunkyart) Search() {
+ if s.Query == "" {
+ s.ReturnHTTPError(400)
+ return
+ }
+
var err error
ss := &s.Templates.Search
switch s.Type {
@@ -338,6 +343,7 @@ func (s skunkyart) Search() {
}
default:
s.ReturnHTTPError(400)
+ return
}
try(err)
@@ -348,7 +354,7 @@ func (s skunkyart) Search() {
})
}
- s.ExecuteTemplate("search.htm", &s)
+ s.ExecuteTemplate("search.htm", "html", &s)
}
func (s skunkyart) Emojitar(name string) {
@@ -367,6 +373,6 @@ func (s skunkyart) Emojitar(name string) {
func (s skunkyart) About() {
s.Templates.About.Nsfw = CFG.Nsfw
s.Templates.About.Proxy = CFG.Proxy
- try(json.Unmarshal([]byte(Templates["instances.json"]), &s.Templates.About))
- s.ExecuteTemplate("about.htm", &s)
+ try(json.Unmarshal(instances, &s.Templates.About))
+ s.ExecuteTemplate("about.htm", "html", &s)
}