Improved OG data
This commit is contained in:
parent
0e009f434c
commit
1937980254
@ -2,6 +2,7 @@ package layout
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/aerogo/aero"
|
"github.com/aerogo/aero"
|
||||||
|
"github.com/animenotifier/arn"
|
||||||
"github.com/animenotifier/notify.moe/components"
|
"github.com/animenotifier/notify.moe/components"
|
||||||
"github.com/animenotifier/notify.moe/utils"
|
"github.com/animenotifier/notify.moe/utils"
|
||||||
)
|
)
|
||||||
@ -9,6 +10,6 @@ import (
|
|||||||
// Render layout.
|
// Render layout.
|
||||||
func Render(ctx *aero.Context, content string) string {
|
func Render(ctx *aero.Context, content string) string {
|
||||||
user := utils.GetUser(ctx)
|
user := utils.GetUser(ctx)
|
||||||
meta, _ := ctx.Data.(map[string]string)
|
openGraph, _ := ctx.Data.(*arn.OpenGraph)
|
||||||
return components.Layout(ctx.App, ctx, user, meta, content)
|
return components.Layout(ctx.App, ctx, user, openGraph, content)
|
||||||
}
|
}
|
||||||
|
@ -1,14 +1,17 @@
|
|||||||
component Layout(app *aero.Application, ctx *aero.Context, user *arn.User, meta map[string]string, content string)
|
component Layout(app *aero.Application, ctx *aero.Context, user *arn.User, openGraph *arn.OpenGraph, content string)
|
||||||
html(lang="en")
|
html(lang="en")
|
||||||
head
|
head
|
||||||
title= app.Config.Title
|
title= app.Config.Title
|
||||||
|
|
||||||
meta(name="viewport", content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes")
|
meta(name="viewport", content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes")
|
||||||
meta(name="theme-color", content=app.Config.Manifest.ThemeColor)
|
meta(name="theme-color", content=app.Config.Manifest.ThemeColor)
|
||||||
|
|
||||||
if meta != nil
|
if openGraph != nil
|
||||||
for property, value := range meta
|
for name, value := range openGraph.Meta
|
||||||
meta(name=property, value=value)
|
meta(name=name, content=value)
|
||||||
|
|
||||||
|
for property, content := range openGraph.Tags
|
||||||
|
meta(property=property, content=content)
|
||||||
|
|
||||||
link(rel="chrome-webstore-item", href="https://chrome.google.com/webstore/detail/hajchfikckiofgilinkpifobdbiajfch")
|
link(rel="chrome-webstore-item", href="https://chrome.google.com/webstore/detail/hajchfikckiofgilinkpifobdbiajfch")
|
||||||
link(rel="manifest", href="/manifest.json")
|
link(rel="manifest", href="/manifest.json")
|
||||||
|
@ -40,22 +40,27 @@ func Get(ctx *aero.Context) string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Open Graph
|
// Open Graph
|
||||||
meta := map[string]string{
|
openGraph := &arn.OpenGraph{
|
||||||
"og:title": anime.Title.Canonical,
|
Tags: map[string]string{
|
||||||
"og:image": anime.Image.Large,
|
"og:title": anime.Title.Canonical,
|
||||||
"og:url": "https://" + ctx.App.Config.Domain + anime.Link(),
|
"og:image": anime.Image.Large,
|
||||||
"og:site_name": "notify.moe",
|
"og:url": "https://" + ctx.App.Config.Domain + anime.Link(),
|
||||||
"description": anime.Summary,
|
"og:site_name": "notify.moe",
|
||||||
|
"og:description": anime.Summary,
|
||||||
|
},
|
||||||
|
Meta: map[string]string{
|
||||||
|
"description": anime.Summary,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
switch anime.Type {
|
switch anime.Type {
|
||||||
case "tv":
|
case "tv":
|
||||||
meta["og:type"] = "video.tv_show"
|
openGraph.Tags["og:type"] = "video.tv_show"
|
||||||
case "movie":
|
case "movie":
|
||||||
meta["og:type"] = "video.movie"
|
openGraph.Tags["og:type"] = "video.movie"
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx.Data = meta
|
ctx.Data = openGraph
|
||||||
|
|
||||||
return ctx.HTML(components.Anime(anime, tracks, user, episodesReversed))
|
return ctx.HTML(components.Anime(anime, tracks, user, episodesReversed))
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user