diff --git a/res/template/file_viewer.html b/res/template/file_viewer.html
index a20b0f4..d45fd61 100644
--- a/res/template/file_viewer.html
+++ b/res/template/file_viewer.html
@@ -5,7 +5,9 @@
{{.Title}}
- {{template "user_style" .}}
+ {{ template "opengraph" .OGData }}
+
+ {{ template "user_style" . }}
@@ -20,11 +22,9 @@
-
- {{ template "opengraph" .OGData }}
@@ -208,7 +208,7 @@
{{ else }}
-
{{ end }}
diff --git a/res/template/fragments/opengraph.html b/res/template/fragments/opengraph.html
index 527e3d6..05c45ee 100644
--- a/res/template/fragments/opengraph.html
+++ b/res/template/fragments/opengraph.html
@@ -1,13 +1,13 @@
{{ define "opengraph" }}
-{{ range $kv := .OGRules }}
-
+{{ range $kv := .MetaPropRules }}
+
{{ end }}
-{{ range $kv := .TwitterRules }}
-
+{{ range $kv := .MetaNameRules }}
+
{{ end }}
{{ range $kv := .LinkRules }}
-
+
{{ end }}
{{ end }}
diff --git a/webcontroller/opengraph.go b/webcontroller/opengraph.go
index 2d2afe8..8bda206 100644
--- a/webcontroller/opengraph.go
+++ b/webcontroller/opengraph.go
@@ -7,9 +7,9 @@ import (
)
type ogData struct {
- OGRules []ogProp
- TwitterRules []ogProp
- LinkRules []ogProp
+ MetaPropRules []ogProp
+ MetaNameRules []ogProp
+ LinkRules []ogProp
}
type ogProp struct {
@@ -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) addLink(k, v string) { og.LinkRules = append(og.LinkRules, 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