mirror of
https://github.com/alanorth/hugo-theme-bootstrap4-blog.git
synced 2024-11-01 02:13:00 +01:00
105 lines
3.1 KiB
HTML
105 lines
3.1 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 . -}}
|
|
{{/* try to get the image from the page bundle */}}
|
|
{{- with $.Page.Resources.GetMatch (printf "*%s*" .) }}
|
|
"image": {
|
|
"@type": "ImageObject",
|
|
"url": {{ .Permalink }},
|
|
"height": "{{ .Height }}",
|
|
"width": "{{ .Width }}"
|
|
{{/* otherwise, get the image from static */}}
|
|
{{- else }}
|
|
"image": {
|
|
"@type": "ImageObject",
|
|
{{- $image := . -}}
|
|
{{- /* Don't try to get imageConfig if image param is not local */ -}}
|
|
{{- if not (or (hasPrefix . "http://") (hasPrefix . "https://")) -}}
|
|
{{- with (imageConfig (printf "/static/%s" .)) }}
|
|
"url": {{ $image | absURL }},
|
|
"height": "{{ .Height }}",
|
|
"width": "{{ .Width }}"
|
|
{{- end -}}
|
|
{{- end -}}
|
|
{{ 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 }}
|
|
"author": {
|
|
"@type": "Person",
|
|
"name": {{ .Params.author | default .Site.Params.author }}
|
|
}
|
|
{{- if or (.Params.keywords) (or (.Params.categories) (.Params.tags)) -}}
|
|
,
|
|
"keywords": {{ delimit (union .Params.keywords (union .Params.categories .Params.tags)) ", " }}
|
|
{{- 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" dir="auto"><a href="{{ .Permalink }}">{{ .Title | markdownify }}</a></h2>
|
|
<p class="blog-post-meta">
|
|
{{ if not .PublishDate.IsZero }}<time {{ .Date.Format "2006-01-02T15:04:05Z07:00" | printf "datetime=%q" | safeHTMLAttr }}>{{ .Date.Format $dateFormat }}</time>{{ end }}
|
|
{{ if or (.Params.categories) (.Params.tags) }} {{ i18n "postedIn" }} {{ 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) }}
|
|
{{ template "_internal/disqus.html" . }}
|
|
{{ end }}
|
|
</footer>
|
|
{{ end }}
|
|
|
|
</article> <!-- /.blog-post -->
|
|
|
|
{{ end }}
|
|
|
|
{{- /* vim: set ts=2 sw=2 et: */}}
|