136 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			136 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| {{ $page := . }}
 | |
| 
 | |
| {{ $authors := partial "paige/authors.html" $page }}
 | |
| {{ $categories := $page.Params.categories | default slice | uniq }}
 | |
| {{ $commiturl := "" }}
 | |
| {{ $date := $page.PublishDate }}
 | |
| {{ $dateformat := $page.Param "paige.date.format" | default ":date_long" }}
 | |
| {{ $description := $page.Description | markdownify }}
 | |
| {{ $draft := $page.Draft }}
 | |
| {{ $expired := and $page.ExpiryDate (lt $page.ExpiryDate now) }}
 | |
| {{ $flags := slice }}
 | |
| {{ $future := and $page.PublishDate (gt $page.PublishDate now) }}
 | |
| {{ $modified := and $page.PublishDate $page.Lastmod (lt $page.PublishDate $page.Lastmod) }}
 | |
| {{ $pinned := $page.Params.paige.pin }}
 | |
| {{ $readingtime := $page.ReadingTime }}
 | |
| {{ $series := $page.Params.series }}
 | |
| {{ $summary := $page.Summary | htmlUnescape | plainify }}
 | |
| {{ $tags := $page.Params.tags | default slice | uniq }}
 | |
| {{ $title := $page.Title | markdownify }}
 | |
| {{ $titlelink := $page.RelPermalink }}
 | |
| 
 | |
| {{ if and (.Param "paige.git.commit_url_prefix") .GitInfo }}
 | |
|     {{ $commiturl = print (.Param "paige.git.commit_url_prefix") .GitInfo.Hash }}
 | |
| {{ end }}
 | |
| 
 | |
| {{ if $draft }}
 | |
|     {{ $flags = $flags | append "paige-draft" "paige-unpublished" }}
 | |
| {{ end }}
 | |
| 
 | |
| {{ if $expired }}
 | |
|     {{ $flags = $flags | append "paige-expired" "paige-unpublished" }}
 | |
| {{ end }}
 | |
| 
 | |
| {{ if $future }}
 | |
|     {{ $flags = $flags | append "paige-future" "paige-unpublished" }}
 | |
| {{ end }}
 | |
| 
 | |
| {{ if $modified }}
 | |
|     {{ $flags = $flags | append "paige-modified" }}
 | |
| {{ end }}
 | |
| 
 | |
| {{ if not (or $draft $expired $future) }}
 | |
|     {{ $flags = $flags | append "paige-published" }}
 | |
| {{ end }}
 | |
| 
 | |
| {{ $flags = delimit ($flags | uniq) " " }}
 | |
| {{ $class := delimit (slice "mb-3" "paige-page" "w-100" | append $flags | uniq | sort) " " }}
 | |
| 
 | |
| <div class="{{ $class }}">
 | |
|     {{ with $title }}
 | |
|         <p class="mb-0 paige-title text-center">{{ if $pinned -}} <i class="bi bi-pin-fill text-primary" style="margin-left: -2.5ch; position: absolute"><span class="visually-hidden">{{ i18n "paige_pinned_page" }}</span></i> {{ end }}<a href="{{ $titlelink }}">{{ . }}</a></p>
 | |
|     {{ end }}
 | |
| 
 | |
|     {{ with $description }}
 | |
|         <p class="mb-0 paige-description text-center">{{ . }}</p>
 | |
|     {{ end }}
 | |
| 
 | |
|     {{ with $summary }}
 | |
|         <p class="fst-italic mb-0 paige-summary text-center">{{ . }}</p>
 | |
|     {{ end }}
 | |
| 
 | |
|     {{ if or $categories $tags }}
 | |
|         <p class="mb-0 paige-keywords text-center">
 | |
|             {{ $terms := slice }}
 | |
| 
 | |
|             {{ range $categories }}
 | |
|                 {{ $terms = $terms | append (dict "name" . "url" (printf "categories/%v/" . | relLangURL | string)) }}
 | |
|             {{ end }}
 | |
| 
 | |
|             {{ range $tags }}
 | |
|                 {{ $terms = $terms | append (dict "name" . "url" (printf "tags/%v/" . | relLangURL | string)) }}
 | |
|             {{ end }}
 | |
| 
 | |
|             {{ range sort $terms "name" }}
 | |
|                 {{ $name := .name }}
 | |
| 
 | |
|                 {{ with site.GetPage .url }}
 | |
|                     {{ $name = .Title }}
 | |
|                 {{ end }}
 | |
| 
 | |
|                 <a class="badge paige-keyword text-bg-secondary text-decoration-none" href="{{ .url | safeURL }}">{{ $name }}</a>
 | |
|             {{ end }}
 | |
|         </p>
 | |
|     {{ end }}
 | |
| 
 | |
|     {{ with $series }}
 | |
|         <p class="mb-0 paige-series text-center text-secondary">
 | |
|             {{ range $i, $name := . -}}
 | |
|                 {{- if gt $i 0 }}, {{ end -}}
 | |
| 
 | |
|                 {{- with site.GetPage (print "series/" $name) -}}
 | |
|                     <a class="link-secondary" href="{{ .RelPermalink }}">{{ .Title | default $name }}</a>
 | |
|                 {{- else -}}
 | |
|                     {{- $name -}}
 | |
|                 {{- end -}}
 | |
|             {{- end }}
 | |
|         </p>
 | |
|     {{ end }}
 | |
| 
 | |
|     {{ with $authors }}
 | |
|         <p class="mb-0 paige-authors text-center text-secondary">
 | |
|             {{ range $i, $author := . -}}
 | |
|                 {{- if gt $i 0 }}, {{ end -}}
 | |
| 
 | |
|                 {{- with $author.id -}}
 | |
|                     {{- with site.GetPage (print "authors/" .) -}}
 | |
|                         <a class="link-secondary" href="{{ .RelPermalink }}">{{ .Title | default $author.name }}</a>
 | |
|                     {{- else -}}
 | |
|                         {{- $author.name -}}
 | |
|                     {{- end -}}
 | |
|                 {{- else -}}
 | |
|                     {{- $author.name -}}
 | |
|                 {{- end -}}
 | |
|             {{- end }}
 | |
|         </p>
 | |
|     {{ end }}
 | |
| 
 | |
|     {{ with $date }}
 | |
|         <p class="mb-0 paige-date text-center text-secondary">
 | |
|             {{ with $commiturl }}
 | |
|                 <a class="link-secondary" href="{{ . }}">
 | |
|             {{ end }}
 | |
| 
 | |
|             <time datetime="{{ .Format `2006-01-02` }}">{{ time.Format $dateformat . }}</time>
 | |
| 
 | |
|             {{ if $commiturl }}
 | |
|                 </a>
 | |
|             {{ end }}
 | |
|         </p>
 | |
|     {{ end }}
 | |
| 
 | |
|     {{ with $readingtime }}
 | |
|         <p class="mb-0 paige-reading-time text-center text-secondary">{{ . }} {{ i18n "paige_minutes" . }}</p>
 | |
|     {{ end }}
 | |
| </div>
 |