mirror of
https://github.com/alanorth/hugo-theme-bootstrap4-blog.git
synced 2024-12-25 11:44:29 +01:00
Alan Orth
d554b6bead
Don't try to get image information when the image isn't local. We generally expect that images are in the local filesystem's static directory, but if the user has specified a remote image—ie, with an http:// or https:// prefix—then we shouldn't try imageConfig.
96 lines
2.9 KiB
HTML
96 lines
2.9 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 }}"
|
|
{{- /* Don't try to get imageConfig if image param is not local */ -}}
|
|
{{- if not (or (hasPrefix . "http://") (hasPrefix . "https://")) -}}
|
|
{{- with (imageConfig (printf "/static/%s" .)) -}}
|
|
,
|
|
"height": "{{ .Height }}",
|
|
"width": "{{ .Width }}"
|
|
{{ 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 }}
|
|
{{ 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: */}}
|