Use layout identifiers for dates

- Adds new Hugo feature
  (https://gohugo.io/functions/dateformat/#datetime-formatting-layouts)
enabling date localization in defaults
This commit is contained in:
Victoria Drake 2022-02-14 06:42:27 -06:00
parent 052a699484
commit fade059bf5
7 changed files with 139 additions and 124 deletions

View file

@ -1,21 +1,22 @@
{{ define "main" }} {{ define "main" }}
<div class="container markdown top-pad"> <div class="container markdown top-pad">
{{ .Content }} {{ .Content }}
</div> </div>
<div class="container"> <div class="container">
<ul> <ul>
{{ range .Pages.ByPublishDate.Reverse }} {{ range .Pages.ByPublishDate.Reverse }}
{{ if .Date }} {{ if .Date }}
<li> <li>
<a href="{{ .Permalink }}">{{ .Date.Format (.Site.Params.dateFormat | default "Jan 02, 2006") }} | {{ .Title | markdownify }}</a> <a href="{{ .Permalink }}">{{ .Date.Format (.Site.Params.dateFormat | default ":date_medium") }} |
</li> {{ .Title | markdownify }}</a>
{{ else }} </li>
<li> {{ else }}
<a href="{{ .Permalink }}">{{ .Title | markdownify }}</a> <li>
</li> <a href="{{ .Permalink }}">{{ .Title | markdownify }}</a>
{{ end }} </li>
{{ end }} {{ end }}
</ul> {{ end }}
</div> </ul>
</div>
</body> </body>
{{ end }} {{ end }}

View file

@ -1,21 +1,22 @@
{{ define "title" }} {{ define "title" }}
<h1 class="bold-title is-1">{{ .Data.Singular | humanize }}: {{ lower .Title | markdownify }}</h1> <h1 class="bold-title is-1">{{ .Data.Singular | humanize }}: {{ lower .Title | markdownify }}</h1>
{{ end }} {{ end }}
{{ define "main" }} {{ define "main" }}
<div class="container"> <div class="container">
<ul> <ul>
{{ range .Pages.ByPublishDate.Reverse }} {{ range .Pages.ByPublishDate.Reverse }}
{{ if .Date }} {{ if .Date }}
<li> <li>
<a href="{{ .Permalink }}">{{ .Date.Format (.Site.Params.dateFormat | default "Jan 02, 2006") }} | {{ .Title | markdownify }}</a> <a href="{{ .Permalink }}">{{ .Date.Format (.Site.Params.dateFormat | default ":date_medium") }} |
</li> {{ .Title | markdownify }}</a>
{{ else }} </li>
<li> {{ else }}
<a href="{{ .Permalink }}">{{ .Title | markdownify }}</a> <li>
</li> <a href="{{ .Permalink }}">{{ .Title | markdownify }}</a>
{{ end }} </li>
{{ end }} {{ end }}
</ul> {{ end }}
</div> </ul>
</div>
{{ end }} {{ end }}

View file

@ -1,31 +1,32 @@
{{ define "main" }} {{ define "main" }}
<div class="container markdown top-pad"> <div class="container markdown top-pad">
{{ .Content }} {{ .Content }}
</div> </div>
<div class="container"> <div class="container">
{{ if .Site.Params.home.showLatest | default true }} {{ if .Site.Params.home.showLatest | default true }}
<h2 class="title is-2 top-pad">{{ i18n "index_blog_latestPosts" . }}</h2> <h2 class="title is-2 top-pad">{{ i18n "index_blog_latestPosts" . }}</h2>
{{ range first 1 .Pages.ByPublishDate.Reverse }} {{ range first 1 .Pages.ByPublishDate.Reverse }}
<div class="summary">{{ if .Params.date }}{{ .Date.Format (.Site.Params.dateFormat | default "Jan 02, 2006") }}{{ end }} <div class="summary">
<h3 class="title is-3 strong-post-title"> {{ if .Params.date }}{{ .Date.Format (.Site.Params.dateFormat | default ":date_medium") }}{{ end }}
<a href="{{ .Permalink }}"> <h3 class="title is-3 strong-post-title">
{{ .Title | markdownify }} <a href="{{ .Permalink }}">
</a> {{ .Title | markdownify }}
</h3> </a>
<div class="markdown"> </h3>
{{ .Summary }} <div class="markdown">
{{ if .Truncated }} {{ .Summary }}
<a href="{{ .Permalink }}">{{ i18n "index_blog_readMore" . }}</a> {{ if .Truncated }}
{{ end }} <a href="{{ .Permalink }}">{{ i18n "index_blog_readMore" . }}</a>
</div>
</div>
{{ end }} {{ end }}
{{ end }} </div>
<h2 class="title is-2 top-pad">{{ i18n "index_blog_allPosts" . }}</h2>
{{if .Site.Params.home.allPostsArchiveFormat}}
{{ partialCached "blog/archive.html" .}}
{{else}}
{{ partialCached "blog/li.html" . }}
{{end}}
</div> </div>
{{ end }}
{{ end }}
<h2 class="title is-2 top-pad">{{ i18n "index_blog_allPosts" . }}</h2>
{{if .Site.Params.home.allPostsArchiveFormat}}
{{ partialCached "blog/archive.html" .}}
{{else}}
{{ partialCached "blog/li.html" . }}
{{end}}
</div>
{{ end }} {{ end }}

View file

@ -10,29 +10,34 @@
<a href="{{ .Permalink }}">{{ .Title | markdownify }}</a> <a href="{{ .Permalink }}">{{ .Title | markdownify }}</a>
</h2> </h2>
<div class="post-data"> <div class="post-data">
{{ if .Params.date }}{{ .Date.Format (.Site.Params.dateFormat | default "Jan 02, 2006") }}{{ end }} {{ if .Params.date }}{{ .Date.Format (.Site.Params.dateFormat | default ":date_medium") }}{{ end }}
{{ if .Site.Params.showReadingTime | default true }} {{ if .Site.Params.showReadingTime | default true }}
{{ if .Params.date }} | {{ end }} {{ if .Params.date }} | {{ end }}
{{ i18n "blog_readingTime" .ReadingTime }} {{ i18n "blog_readingTime" .ReadingTime }}
{{ end }} {{ end }}
</div> </div>
{{ if or .Site.Params.share.twitter .Site.Params.share.facebook .Site.Params.share.pinterest }} {{ if or .Site.Params.share.twitter .Site.Params.share.facebook .Site.Params.share.pinterest }}
<div class="blog-share"> <div class="blog-share">
{{ i18n "blog_shareThis" . }}: {{ i18n "blog_shareThis" . }}:
{{ if .Site.Params.share.twitter }} {{ if .Site.Params.share.twitter }}
<a class="twitter-share-button" href="https://twitter.com/intent/tweet?text={{ .Title | markdownify }}%20{{ .Permalink }}" onclick="window.open(this.href, 'twitter-share', 'width=550,height=235');return false;"> <a class="twitter-share-button"
href="https://twitter.com/intent/tweet?text={{ .Title | markdownify }}%20{{ .Permalink }}"
onclick="window.open(this.href, 'twitter-share', 'width=550,height=235');return false;">
<i class="fab fa-twitter"></i> <i class="fab fa-twitter"></i>
<span class="hidden">Twitter</span> <span class="hidden">Twitter</span>
</a> </a>
{{ end }} {{ end }}
{{ if .Site.Params.share.facebook }} {{ if .Site.Params.share.facebook }}
<a class="icon-facebook" href="https://www.facebook.com/sharer/sharer.php?u={{ .Permalink }}" onclick="window.open(this.href, 'facebook-share','width=580,height=296');return false;"> <a class="icon-facebook" href="https://www.facebook.com/sharer/sharer.php?u={{ .Permalink }}"
onclick="window.open(this.href, 'facebook-share','width=580,height=296');return false;">
<i class="fab fa-facebook-f"></i> <i class="fab fa-facebook-f"></i>
<span class="hidden">Facebook</span> <span class="hidden">Facebook</span>
</a> </a>
{{ end }} {{ end }}
{{ if .Site.Params.share.pinterest }} {{ if .Site.Params.share.pinterest }}
<a class="icon-pinterest" href="http://pinterest.com/pin/create/button/?url={{ .Permalink }}{{ if .Params.pinterestMedia }}&amp;media={{ .Site.BaseURL }}{{ .Params.pinterestMedia }}{{ end }}&amp;description={{ .Title | safeHTML}}" onclick="window.open(this.href, 'pinterest-share','width=580,height=296');return false;"> <a class="icon-pinterest"
href="http://pinterest.com/pin/create/button/?url={{ .Permalink }}{{ if .Params.pinterestMedia }}&amp;media={{ .Site.BaseURL }}{{ .Params.pinterestMedia }}{{ end }}&amp;description={{ .Title | safeHTML}}"
onclick="window.open(this.href, 'pinterest-share','width=580,height=296');return false;">
<i class="fab fa-pinterest-p"></i> <i class="fab fa-pinterest-p"></i>
<span class="hidden">Pinterest</span> <span class="hidden">Pinterest</span>
</a> </a>
@ -40,16 +45,16 @@
</div> </div>
{{ end }} {{ end }}
{{ range $taxonomy_term, $taxonomy := .Params }} {{ range $taxonomy_term, $taxonomy := .Params }}
{{ with $.Site.GetPage $taxonomy_term }} {{ with $.Site.GetPage $taxonomy_term }}
{{ $len := (len $taxonomy) }} {{ $len := (len $taxonomy) }}
<p> <p>
{{ $taxonomy_term | title }}: {{ $taxonomy_term | title }}:
{{ range $key, $value := $taxonomy }} {{ range $key, $value := $taxonomy }}
<a href="{{ (printf "/%s/" $taxonomy_term) | relLangURL }}{{ . | urlize }}"> <a href="{{ (printf " /%s/" $taxonomy_term) | relLangURL }}{{ . | urlize }}">
{{ $value }}</a>{{ if ne (add $key 1) $len }},{{ end }} {{ $value }}</a>{{ if ne (add $key 1) $len }},{{ end }}
{{ end }} {{ end }}
</p> </p>
{{ end }} {{ end }}
{{ end }} {{ end }}
</div> </div>
<!-- Begin blog post content --> <!-- Begin blog post content -->

View file

@ -1,24 +1,27 @@
<section> <section>
{{ $prev := now.Format "2006"}} <!--start from the current year--> {{ $prev := now.Format "2006"}}
{{ range first 1 .Pages.ByPublishDate.Reverse }} <!--start from the current year-->
{{if .Date}} <!--also add the header if there are posts during the current year--> {{ range first 1 .Pages.ByPublishDate.Reverse }}
{{if eq $prev (.Date.Format "2006")}} <h2 class="title is-2 top-pad"> {{ $prev }}</h2> {{end}} {{if .Date}}
<!--also add the header if there are posts during the current year-->
{{if eq $prev (.Date.Format "2006")}}
<h2 class="title is-2 top-pad"> {{ $prev }}</h2> {{end}}
{{end}}
{{end}} {{end}}
{{end}}
{{range .Pages.ByPublishDate.Reverse}} {{range .Pages.ByPublishDate.Reverse}}
{{if .Date}} {{if .Date}}
{{$curr := .Date.Format "2006"}} {{$curr := .Date.Format "2006"}}
{{if lt $curr $prev }} {{if lt $curr $prev }}
<h2 class="title is-2 top-pad">{{ $curr }}</h2> <h2 class="title is-2 top-pad">{{ $curr }}</h2>
{{end}} {{end}}
<li class="post-item"> <li class="post-item">
{{ if .Params.date }} {{ if .Params.date }}
<span>{{ .Date.Format (.Site.Params.dateFormat | default "Jan 02, 2006") }}</span> - <span>{{ .Date.Format (.Site.Params.dateFormat | default ":date_medium") }}</span> -
{{ end }} {{ end }}
<span><a href="{{ .Permalink }}">{{ .Title | markdownify }}</a></span> <span><a href="{{ .Permalink }}">{{ .Title | markdownify }}</a></span>
</li> </li>
{{ $prev = $curr}} {{ $prev = $curr}}
{{end}}
{{end}} {{end}}
{{end}}
</section> </section>

View file

@ -1,5 +1,6 @@
{{ range .Pages.ByPublishDate.Reverse }} {{ range .Pages.ByPublishDate.Reverse }}
<li class="post-item"> <li class="post-item">
<span><a href="{{ .Permalink }}">{{ .Title | markdownify }}</a></span>{{ if .Params.date }} - <span>{{ .Date.Format (.Site.Params.dateFormat | default "Jan 02, 2006") }}</span>{{ end }} <span><a href="{{ .Permalink }}">{{ .Title | markdownify }}</a></span>{{ if .Params.date }} -
</li> <span>{{ .Date.Format (.Site.Params.dateFormat | default ":date_medium") }}</span>{{ end }}
</li>
{{ end }} {{ end }}

View file

@ -4,40 +4,43 @@
<div class="container"> <div class="container">
{{ if .Site.Params.home.showLatest | default true }} {{ if .Site.Params.home.showLatest | default true }}
<h2 class="title is-2 has-text-centered">{{ i18n "index_blog_latestPosts" . }}</h2> <h2 class="title is-2 has-text-centered">{{ i18n "index_blog_latestPosts" . }}</h2>
{{ range first 1 .Pages.ByPublishDate.Reverse }} {{ range first 1 .Pages.ByPublishDate.Reverse }}
<div class="summary">{{ if .Params.date }}{{ .Date.Format (.Site.Params.dateFormat | default "Jan 02, 2006") }}{{ end }} <div class="summary">
<h3 class="title is-3 latest-post-title"><a href="{{ .Permalink }}">{{ .Title | markdownify }}</a></h3> {{ if .Params.date }}{{ .Date.Format (.Site.Params.dateFormat | default ":date_medium") }}{{ end }}
<div class="markdown"> <h3 class="title is-3 latest-post-title"><a href="{{ .Permalink }}">{{ .Title | markdownify }}</a></h3>
{{ .Summary }} <div class="markdown">
{{ if .Truncated }} {{ .Summary }}
<a href="{{ .Permalink }}">{{ i18n "index_blog_readMore" . }}</a> {{ if .Truncated }}
{{ end }} <a href="{{ .Permalink }}">{{ i18n "index_blog_readMore" . }}</a>
</div> {{ end }}
</div> </div>
{{ end }} </div>
{{ end }}
{{ end }} {{ end }}
</div> </div>
</div> </div>
{{ if .Site.Params.home.showAllPosts }} {{ if .Site.Params.home.showAllPosts }}
<div class="section" id="all-posts"> <div class="section" id="all-posts">
<div class="container"> <div class="container">
<h2 class="title is-2 top-pad">{{ i18n "index_blog_allPosts" . }}</h2> <h2 class="title is-2 top-pad">{{ i18n "index_blog_allPosts" . }}</h2>
{{if .Site.Params.home.allPostsArchiveFormat}} {{if .Site.Params.home.allPostsArchiveFormat}}
{{ partialCached "blog/archive.html" .}} {{ partialCached "blog/archive.html" .}}
{{else}} {{else}}
{{ partialCached "blog/li.html" . }} {{ partialCached "blog/li.html" . }}
{{end}} {{end}}
</div>
</div> </div>
{{ else }} </div>
<div class="container has-text-centered top-pad"> {{ else }}
<a href="{{ .Permalink }}">{{ i18n "index_blog_allPosts" . }}</a> <div class="container has-text-centered top-pad">
</div> <a href="{{ .Permalink }}">{{ i18n "index_blog_allPosts" . }}</a>
{{ end }} </div>
{{ end }}
<!-- End Blog container --> <!-- End Blog container -->
{{ partial "top-icon.html" . }} {{ partial "top-icon.html" . }}
<!-- End Blog section --> <!-- End Blog section -->
<div class="container"><hr></div> <div class="container">
<hr>
</div>
{{ end }} {{ end }}