1
0
mirror of https://github.com/alanorth/hugo-theme-bootstrap4-blog.git synced 2024-11-17 17:57:04 +01:00
hugo-theme-bootstrap4-blog/layouts/_default/single.html
Alan Orth bf9bca9656
layouts: Add imageConfig to set height and width
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.
2017-02-21 08:24:01 +02:00

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: */}}