mirror of
https://github.com/alanorth/hugo-theme-bootstrap4-blog.git
synced 2024-12-19 09:02:18 +01:00
layouts: Add basic support for OpenGraph and Twitter card metadata
Uses basic data like title, description, author, and date that we are using with existing vanilla meta tags, but extends them to OG and Twitter Card tags. See [0] and [1]. For the Twitter summary cards specifically, you can optionally add attribution for your username by adding something like this to your configuration: [params.social] twitter_username = "@mralanorth" ... and for posts with images, you can specify an "image" in the post's front matter like so: image = "/2016/09/IMG_20160916_174409.jpg" And then the theme will opt to use Twitter's "large" summary card. [0] http://ogp.me/ [1] https://dev.twitter.com/cards/getting-started
This commit is contained in:
parent
826bd2de54
commit
731af8c564
@ -7,12 +7,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||||
{{ "<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->" | safeHTML }}
|
{{ "<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->" | safeHTML }}
|
||||||
|
|
||||||
<meta name="description" content="{{ .Params.description | default .Site.Params.description }}">
|
{{ partial "metadata.html" . }}
|
||||||
<meta name="author" content="{{ .Params.author | default .Site.Params.author }}">
|
|
||||||
|
|
||||||
{{ if .Site.Params.google_verify_meta }}<meta name="google-site-verification" content="{{ .Site.Params.google_verify_meta }}">{{ end }}
|
|
||||||
|
|
||||||
{{ .Hugo.Generator }}
|
|
||||||
|
|
||||||
<base href="{{ .Site.BaseURL }}">
|
<base href="{{ .Site.BaseURL }}">
|
||||||
<link rel="canonical" href="{{ .Permalink }}">
|
<link rel="canonical" href="{{ .Permalink }}">
|
||||||
|
36
layouts/partials/metadata.html
Normal file
36
layouts/partials/metadata.html
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{{ $title := .Title | default .Site.Title }}
|
||||||
|
{{ $description := .Params.description | default .Site.Params.description }}
|
||||||
|
{{ $author := .Params.author | default .Site.Params.author }}
|
||||||
|
|
||||||
|
<meta name="description" content="{{ $description }}">
|
||||||
|
<meta name="author" content="{{ $author }}">
|
||||||
|
|
||||||
|
{{ "<!-- OpenGraph Metadata: http://ogp.me/ -->" | safeHTML }}
|
||||||
|
<meta property="og:title" content="{{ $title }}">
|
||||||
|
<meta property="og:description" content="{{ $description }}">
|
||||||
|
|
||||||
|
{{ if eq .Section "post" }}
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="article:published_time" content="{{ .Date.Format "2006-01-02T15:04:05Z07:00" }}">
|
||||||
|
<meta property="article:author" content="{{ $author }}">
|
||||||
|
{{ if .Params.image }}
|
||||||
|
<meta property="og:image" content="{{ .Params.image | absURL }}">
|
||||||
|
{{ end }}
|
||||||
|
{{ else }}
|
||||||
|
<meta property="og:type" content="blog">
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<meta property="og:url" content="{{ .Permalink }}">
|
||||||
|
|
||||||
|
{{ "<!-- Metadata for Twitter: https://dev.twitter.com/cards/markup -->" | safeHTML }}
|
||||||
|
{{ if and (eq .Section "post") (.Params.image) }}
|
||||||
|
<meta property="twitter:card" content="summary_large_image">
|
||||||
|
<meta property="twitter:image" content="{{ .Params.image | absURL }}">
|
||||||
|
{{ else }}
|
||||||
|
<meta property="twitter:card" content="summary">
|
||||||
|
{{ end }}
|
||||||
|
{{ if .Site.Params.social.twitter_username}}<meta property="twitter:creator" content="{{ .Site.Params.social.twitter_username }}">{{ end }}
|
||||||
|
<meta property="twitter:title" content="{{ $title }}">
|
||||||
|
<meta property="twitter:description" content="{{ $description }}">
|
||||||
|
|
||||||
|
{{ .Hugo.Generator }}
|
Loading…
Reference in New Issue
Block a user