InkSoul/themes/meme_cdn/layouts/partials/components/post-meta.html

87 lines
5.3 KiB
HTML

{{ $ := index . "$" }}
{{ $isHome := .isHome }}
<div class="post-meta">
{{ if and $.Site.Params.displayPublishedDate (not $.PublishDate.IsZero) }}
{{ $icon := partial "utils/icon.html" (dict "$" $ "name" $.Site.Params.publishedDateIcon "class" "post-meta-icon") }}
<time datetime="{{ $.PublishDate.Format "2006-01-02T15:04:05-07:00" }}" class="post-meta-item published dt-published">{{ $icon }}&nbsp;{{ $.PublishDate.Format $.Site.Params.postMetaDateFormat }}</time>
{{ end }}
{{ if and $.Site.Params.displayModifiedDate (not $.Lastmod.IsZero) }}
{{ $icon := partial "utils/icon.html" (dict "$" $ "name" $.Site.Params.modifiedDateIcon "class" "post-meta-icon") }}
<time datetime="{{ $.Lastmod.Format "2006-01-02T15:04:05-07:00" }}" class="post-meta-item modified dt-updated">{{ $icon }}&nbsp;{{ $.Lastmod.Format $.Site.Params.postMetaDateFormat }}</time>
{{ end }}
{{ if and $.Site.Params.displayExpiredDate (not $.ExpiryDate.IsZero) }}
{{ $icon := partial "utils/icon.html" (dict "$" $ "name" $.Site.Params.expiredDateIcon "class" "post-meta-icon") }}
<time datetime="{{ $.ExpiryDate.Format "2006-01-02T15:04:05-07:00" }}" class="post-meta-item expired">{{ $icon }}&nbsp;{{ $.ExpiryDate.Format $.Site.Params.postMetaDateFormat }}</time>
{{ end }}
{{ if $.Site.Params.displayCategory }}
{{ $icon := partial "utils/icon.html" (dict "$" $ "name" $.Site.Params.categoryIcon "class" "post-meta-icon") }}
{{ if and (eq $.Site.Params.categoryBy "sections") (in $.Site.Params.mainSections $.Section) }}
{{ $sections := split (strings.TrimSuffix "/" ($.File.Dir | default $.Section)) "/" }}
{{ with $sections }}
{{ $.Scratch.Delete "sectionsDirMeta" }}
{{ $.Scratch.Delete "sectionsMeta" }}
{{ $.Scratch.Set "index" 0 }}
{{ range $sections }}
{{ $section := . }}
{{ $.Scratch.Add "sectionsDirMeta" (printf `/%s` $section) }}
{{ with $.Site.GetPage ($.Scratch.Get "sectionsDirMeta") }}
{{ if (eq .Kind "section") }}
{{ $.Scratch.SetInMap "sectionsMeta" (printf `%s/%s` (string ($.Scratch.Get "index")) .RelPermalink) (.LinkTitle | default $section) }}
{{ $.Scratch.Set "index" (add ($.Scratch.Get "index") 1) }}
{{ end }}
{{ end }}
{{ end }}
{{ end }}
{{ $sections := $.Scratch.Get "sectionsMeta" }}
{{ with $sections }}
<span class="post-meta-item category">
{{- $icon -}}&nbsp;
{{- range $link, $title := $sections -}}
{{- $index := $link | replaceRE `(\d+)/.+` `$1` | int -}}
{{- if ne $index 0 }}
{{- $.Site.Params.categoryDelimiter | default "/" -}}
{{- end -}}
<a href="{{- $link | replaceRE `\d+/(.+)` `$1` -}}" class="category-link p-category">
{{- $title -}}
</a>
{{- end -}}
</span>
{{ end }}
{{ end }}
{{ if eq $.Site.Params.categoryBy "categories" }}
{{ with $.Params.categories }}
<span class="post-meta-item category">
{{- $icon -}}&nbsp;
{{- range $index, $category := . -}}
{{- if ne $index 0 -}}
{{- $.Site.Params.categoryDelimiter | default "/" -}}
{{- end -}}
<!-- Work-around for https://github.com/gohugoio/hugo/issues/6546 -->
{{- $path := (urls.Parse ($category | urlize)).Path -}}
{{- with $.Site.GetPage (printf `/categories/%s` $path) -}}
<a href="{{- .RelPermalink -}}" class="category-link p-category">
{{- .LinkTitle | default $path -}}
</a>
{{- end -}}
{{- end -}}
</span>
{{ end }}
{{ end }}
{{ end }}
{{ if $.Site.Params.displayWordCount }}
{{ $icon := partial "utils/icon.html" (dict "$" $ "name" $.Site.Params.wordCountIcon "class" "post-meta-icon") }}
<span class="post-meta-item wordcount">{{ $icon }}&nbsp;{{ $.WordCount }}</span>
{{ end }}
{{ if $.Site.Params.displayReadingTime }}
{{ $icon := partial "utils/icon.html" (dict "$" $ "name" $.Site.Params.readingTimeIcon "class" "post-meta-icon") }}
<span class="post-meta-item reading-time">{{ $icon }}&nbsp;{{ $.ReadingTime }}&nbsp;{{ i18n "minute" $.ReadingTime }}</span>
{{ end }}
{{ if and $.Site.Params.displayBusuanziPagePV (eq hugo.Environment "production") }}
{{ if not $isHome }}
{{ $icon := partial "utils/icon.html" (dict "$" $ "name" $.Site.Params.busuanziPagePVIcon "class" "post-meta-icon") }}
<span class="post-meta-item busuanzi-page-pv" id="busuanzi_container_page_pv">{{ $icon }}&nbsp;<span id="busuanzi_value_page_pv"></span></span>
{{ end }}
{{ end }}
{{ partial "custom/post-meta.html" $ }}
</div>