mirror of
https://github.com/alanorth/hugo-theme-bootstrap4-blog.git
synced 2024-12-26 04:04:29 +01:00
Alan Orth
bf9bca9656
Hugo 0.18 introduced the imageConfig function which allows you to access the height and width of images, which makes bots consuming the structured data happy.
92 lines
2.7 KiB
HTML
92 lines
2.7 KiB
HTML
{{ define "title" }}{{ .Title | markdownify }} | {{ .Site.Title }}{{ end }}
|
|
|
|
{{ define "schema-dot-org" }}
|
|
<script type="application/ld+json">
|
|
{
|
|
"@context": "http://schema.org",
|
|
"@type": "BlogPosting",
|
|
{{/* Google recommends the headline be no more than 110 characters */}}
|
|
"headline": "{{ substr .Title 0 110 }}",
|
|
{{- with .Params.images -}}{{ range first 1 . }}
|
|
"image": {
|
|
"@type": "ImageObject",
|
|
"url": "{{ . | absURL }}",
|
|
{{ with (imageConfig (printf "/static/%s" .)) }}
|
|
"height": "{{ .Height }}",
|
|
"width": "{{ .Width }}"
|
|
{{ end }}
|
|
},
|
|
{{- end -}}{{ end }}
|
|
"url": "{{ printf "%s" .Permalink }}",
|
|
"wordCount": "{{ .WordCount }}",
|
|
{{ $ISO8601 := "2006-01-02T15:04:05-07:00" }}
|
|
{{ if not .PublishDate.IsZero }}
|
|
"datePublished": "{{ .PublishDate.Format $ISO8601 }}",
|
|
{{ else }}
|
|
"datePublished": "{{ .Date.Format $ISO8601 }}",
|
|
{{ end }}
|
|
{{ if not .Lastmod.IsZero }}
|
|
"dateModified": "{{ .Lastmod.Format $ISO8601 }}",
|
|
{{ end }}
|
|
{{ with .Site.Social.GooglePlus }}
|
|
"publisher": "{{ printf "%s" . }}",
|
|
{{ end }}
|
|
"author": {
|
|
"@type": "Person",
|
|
"name": "{{ .Params.author | default .Site.Params.author }}"
|
|
}
|
|
{{ if or (.Params.categories) (.Params.tags) }}
|
|
,
|
|
"keywords": "{{ with .Params.categories }}{{ range $i, $e := . }}{{ if $i }},{{ end }}{{ $e }}{{ end }},{{ end }}{{ with .Params.tags }}{{ range $i, $e := . }}{{ if $i }},{{ end }}{{ $e }}{{ end }}{{ end }}"
|
|
{{ end }}
|
|
|
|
{{- with .Params.description -}}
|
|
,
|
|
"description": "{{ . }}"
|
|
{{ end }}
|
|
}
|
|
</script>
|
|
|
|
{{ end }}
|
|
|
|
{{ define "main" }}
|
|
{{ $dateFormat := default "Mon Jan 2, 2006" (index .Site.Params "date_format") }}
|
|
|
|
<article class="blog-post">
|
|
<header>
|
|
<h2 class="blog-post-title"><a href="{{ .Permalink }}">{{ .Title | markdownify }}</a></h2>
|
|
<p class="blog-post-meta"><time datetime="{{ .Date.Format "2006-01-02T15:04:05Z07:00" }}">{{ .Date.Format $dateFormat }}</time> by {{ .Params.author | default .Site.Params.author }}{{ if or (.Params.categories) (.Params.tags) }} in {{ partial "meta-terms.html" . }}{{ end }}</p>
|
|
</header>
|
|
{{ .Content }}
|
|
|
|
{{ if .IsTranslated }}
|
|
<h4>{{ i18n "translations" }}</h4>
|
|
<ul>
|
|
{{ range .Translations }}
|
|
<li>
|
|
<a href="{{ .Permalink }}">{{ .Lang }}: {{ .Title }}{{ if .IsPage }}{{ end }}</a>
|
|
</li>
|
|
{{ end }}
|
|
</ul>
|
|
{{ end }}
|
|
|
|
{{ if or (ne ($.Param "sharingicons") false) (.Site.DisqusShortname) }}
|
|
<hr>
|
|
<footer>
|
|
|
|
{{ if (ne ($.Param "sharingicons") false) }}
|
|
{{ partial "sharing-icons.html" . }}
|
|
{{ end }}
|
|
|
|
{{ if and (.Site.DisqusShortname) (ne .Params.comments false) }}
|
|
{{ partial "disqus.html" . }}
|
|
{{ end }}
|
|
</footer>
|
|
{{ end }}
|
|
|
|
</article> <!-- /.blog-post -->
|
|
|
|
{{ end }}
|
|
|
|
{{- /* vim: set ts=2 sw=2 et: */}}
|