Update meta tags

This commit is contained in:
2021-04-20 16:36:58 +02:00
parent e78b042691
commit 7258a8a039
3 changed files with 63 additions and 60 deletions

View File

@@ -5,7 +5,9 @@
<title>{{.Title}}</title>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
{{template "user_style" .}}
{{ template "opengraph" .OGData }}
{{ template "user_style" . }}
<link rel="icon" sizes="32x32" href="/res/img/pixeldrain_32.png" />
<link rel="icon" sizes="128x128" href="/res/img/pixeldrain_128.png" />
@@ -20,11 +22,9 @@
<meta name="theme-color" content="#75AD38"/>
<style>
{{template `viewer.css`}}
{{template `modal.css`}}
{{ template `viewer.css` }}
{{ template `modal.css` }}
</style>
{{ template "opengraph" .OGData }}
</head>
<body>
@@ -208,7 +208,7 @@
</div>
</div>
{{ else }}
<a class="sponsors_banner" style="display: inline-block; width: 728px; height: 90px;" href="https://brave.com/pix009">
<a class="sponsors_banner" style="display: inline-block; width: 728px; height: 90px;" href="/click/MdUXxSov?target=https%3A%2F%2Fbrave.com%2Fpix009">
<img src="/res/img/misc/brave-728x90.png" style="width: 100%; height: 100%" />
</a>
{{ end }}

View File

@@ -1,13 +1,13 @@
{{ define "opengraph" }}
{{ range $kv := .OGRules }}
<meta property="{{ $kv.Key }}" content="{{ $kv.Value }}" />
{{ range $kv := .MetaPropRules }}
<meta property="{{ $kv.Key }}" content="{{ $kv.Value }}" />
{{ end }}
{{ range $kv := .TwitterRules }}
<meta name="{{ $kv.Key }}" content="{{ $kv.Value }}" />
{{ range $kv := .MetaNameRules }}
<meta name="{{ $kv.Key }}" content="{{ $kv.Value }}" />
{{ end }}
{{ range $kv := .LinkRules }}
<link rel="{{ $kv.Key }}" href="{{ $kv.Value }}" />
<link rel="{{ $kv.Key }}" href="{{ $kv.Value }}" />
{{ end }}
{{ end }}

View File

@@ -7,8 +7,8 @@ import (
)
type ogData struct {
OGRules []ogProp
TwitterRules []ogProp
MetaPropRules []ogProp
MetaNameRules []ogProp
LinkRules []ogProp
}
@@ -17,70 +17,73 @@ type ogProp struct {
Value string
}
func (og *ogData) addOG(k, v string) { og.OGRules = append(og.OGRules, ogProp{k, v}) }
func (og *ogData) addTwitter(k, v string) { og.TwitterRules = append(og.TwitterRules, ogProp{k, v}) }
func (og *ogData) addProp(k, v string) { og.MetaPropRules = append(og.MetaPropRules, ogProp{k, v}) }
func (og *ogData) addName(k, v string) { og.MetaNameRules = append(og.MetaNameRules, ogProp{k, v}) }
func (og *ogData) addLink(k, v string) { og.LinkRules = append(og.LinkRules, ogProp{k, v}) }
func (wc *WebController) metadataFromFile(f pixelapi.FileInfo) (og ogData) {
og.addOG("og:title", f.Name)
og.addOG("og:site_name", "pixeldrain")
og.addOG("og:description", "This file has been shared with you on pixeldrain")
og.addOG("description", "This file has been shared with you on pixeldrain")
og.addOG("og:url", wc.websiteAddress+"/u/"+f.ID)
og.addTwitter("twitter:title", f.Name)
og.addTwitter("twitter:site", "@Fornax96")
og.addTwitter("twitter:domain", "pixeldrain.com")
og.addProp("og:title", f.Name)
og.addProp("og:site_name", "pixeldrain")
og.addProp("og:description", "This file has been shared with you on pixeldrain")
og.addProp("og:url", wc.websiteAddress+"/u/"+f.ID)
og.addProp("description", "This file has been shared with you on pixeldrain")
og.addName("description", "This file has been shared with you on pixeldrain")
og.addName("keywords", "pixeldrain,shared,sharing,upload,file,free")
og.addName("twitter:title", f.Name)
og.addName("twitter:site", "@Fornax96")
og.addName("twitter:domain", "pixeldrain.com")
if strings.HasPrefix(f.MimeType, "image") {
og.addOG("og:type", "article")
og.addOG("og:image", wc.websiteAddress+"/api/file/"+f.ID)
og.addOG("og:image:url", wc.websiteAddress+"/api/file/"+f.ID)
og.addOG("og:image:secure_url", wc.websiteAddress+"/api/file/"+f.ID)
og.addOG("og:image:type", f.MimeType)
og.addProp("og:type", "article")
og.addProp("og:image", wc.websiteAddress+"/api/file/"+f.ID)
og.addProp("og:image:url", wc.websiteAddress+"/api/file/"+f.ID)
og.addProp("og:image:secure_url", wc.websiteAddress+"/api/file/"+f.ID)
og.addProp("og:image:type", f.MimeType)
og.addTwitter("twitter:card", "summary_large_image")
og.addTwitter("twitter:image", wc.websiteAddress+"/api/file/"+f.ID)
og.addName("twitter:card", "summary_large_image")
og.addName("twitter:image", wc.websiteAddress+"/api/file/"+f.ID)
og.addLink("image_src", wc.websiteAddress+"/api/file/"+f.ID)
} else if strings.HasPrefix(f.MimeType, "video") {
og.addOG("og:type", "video.other")
og.addOG("og:image", wc.websiteAddress+"/api/file/"+f.ID+"/thumbnail")
og.addOG("og:video", wc.websiteAddress+"/api/file/"+f.ID)
og.addOG("og:video:url", wc.websiteAddress+"/api/file/"+f.ID)
og.addOG("og:video:secure_url", wc.websiteAddress+"/api/file/"+f.ID)
og.addOG("og:video:type", f.MimeType)
og.addProp("og:type", "video.other")
og.addProp("og:image", wc.websiteAddress+"/api/file/"+f.ID+"/thumbnail")
og.addProp("og:video", wc.websiteAddress+"/api/file/"+f.ID)
og.addProp("og:video:url", wc.websiteAddress+"/api/file/"+f.ID)
og.addProp("og:video:secure_url", wc.websiteAddress+"/api/file/"+f.ID)
og.addProp("og:video:type", f.MimeType)
og.addTwitter("twitter:card", "player")
og.addTwitter("twitter:image", wc.websiteAddress+"/api/file/"+f.ID+"/thumbnail")
og.addTwitter("twitter:player", wc.websiteAddress+"/api/file/"+f.ID)
og.addTwitter("twitter:player:stream", wc.websiteAddress+"/api/file/"+f.ID)
og.addTwitter("twitter:player:stream:content_type", f.MimeType)
og.addName("twitter:card", "player")
og.addName("twitter:image", wc.websiteAddress+"/api/file/"+f.ID+"/thumbnail")
og.addName("twitter:player", wc.websiteAddress+"/api/file/"+f.ID)
og.addName("twitter:player:stream", wc.websiteAddress+"/api/file/"+f.ID)
og.addName("twitter:player:stream:content_type", f.MimeType)
og.addLink("image_src", wc.websiteAddress+"/api/file/"+f.ID+"/thumbnail")
} else if strings.HasPrefix(f.MimeType, "audio") {
og.addOG("og:type", "music.song")
og.addOG("og:audio", wc.websiteAddress+"/api/file/"+f.ID)
og.addOG("og:audio:secure_url", wc.websiteAddress+"/api/file/"+f.ID)
og.addOG("og:audio:type", f.MimeType)
og.addProp("og:type", "music.song")
og.addProp("og:audio", wc.websiteAddress+"/api/file/"+f.ID)
og.addProp("og:audio:secure_url", wc.websiteAddress+"/api/file/"+f.ID)
og.addProp("og:audio:type", f.MimeType)
og.addLink("image_src", wc.websiteAddress+"/api/file/"+f.ID+"/thumbnail")
} else {
og.addOG("og:type", "website")
og.addProp("og:type", "website")
og.addLink("image_src", wc.websiteAddress+"/api/file/"+f.ID+"/thumbnail")
}
return og
}
func (wc *WebController) metadataFromList(l pixelapi.ListInfo) (og ogData) {
og.addOG("og:type", "website")
og.addOG("og:title", l.Title)
og.addOG("og:site_name", "pixeldrain")
og.addOG("og:description", "A collection of files on pixeldrain")
og.addOG("description", "A collection of files on pixeldrain")
og.addOG("og:url", wc.websiteAddress+"/l/"+l.ID)
og.addTwitter("twitter:title", l.Title)
og.addTwitter("twitter:site", "@Fornax96")
og.addTwitter("twitter:domain", "pixeldrain.com")
og.addProp("og:type", "website")
og.addProp("og:title", l.Title)
og.addProp("og:site_name", "pixeldrain")
og.addProp("og:description", "A collection of files on pixeldrain")
og.addProp("description", "A collection of files on pixeldrain")
og.addName("description", "A collection of files on pixeldrain")
og.addProp("og:url", wc.websiteAddress+"/l/"+l.ID)
og.addName("twitter:title", l.Title)
og.addName("twitter:site", "@Fornax96")
og.addName("twitter:domain", "pixeldrain.com")
if l.FileCount > 0 {
og.addOG("og:image", wc.websiteAddress+"/api/file/"+l.Files[0].ID+"/thumbnail")
og.addOG("og:image:url", wc.websiteAddress+"/api/file/"+l.Files[0].ID+"/thumbnail")
og.addTwitter("twitter:image", wc.websiteAddress+"/api/file/"+l.Files[0].ID+"/thumbnail")
og.addProp("og:image", wc.websiteAddress+"/api/file/"+l.Files[0].ID+"/thumbnail")
og.addProp("og:image:url", wc.websiteAddress+"/api/file/"+l.Files[0].ID+"/thumbnail")
og.addName("twitter:image", wc.websiteAddress+"/api/file/"+l.Files[0].ID+"/thumbnail")
og.addLink("image_src", wc.websiteAddress+"/api/file/"+l.Files[0].ID+"/thumbnail")
}
return og