1
0
mirror of https://github.com/alanorth/hugo-theme-bootstrap4-blog.git synced 2024-07-03 11:33:44 +02:00
hugo-theme-bootstrap4-blog/layouts/_default/single.html
Alan Orth 4d7a544dac
layouts: Quote some parameters in JSON LD
Current Hugo 0.19-DEV doesn't quote these anymore, so we need to
add quotes manually. I'm not sure if this is a design decision or
not on Hugo's part.
2017-02-21 08:17:19 +02:00

88 lines
2.6 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 }}"
},
{{- 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: */}}