108 lines
3.2 KiB
HTML
108 lines
3.2 KiB
HTML
{{- define "main" }}
|
|
|
|
{{- if (and site.Params.profileMode.enabled .IsHome) }}
|
|
{{- partial "index_profile.html" . }}
|
|
{{- else }} {{/* if not profileMode */}}
|
|
|
|
{{- if not .IsHome | and .Title }}
|
|
<header class="page-header">
|
|
{{- partial "breadcrumbs.html" . }}
|
|
<h1>{{ .Title }}</h1>
|
|
{{- if .Description }}
|
|
<div class="post-description">
|
|
{{ .Description | markdownify }}
|
|
</div>
|
|
{{- end }}
|
|
{{- with .Param "archivesSlug" }}
|
|
<div>
|
|
<a href="{{ $.RelPermalink }}{{ . }}/">Archives</a>
|
|
</div>
|
|
{{- end }}
|
|
</header>
|
|
{{- end }}
|
|
|
|
{{- if .Content }}
|
|
<div class="post-content">
|
|
{{- if not (.Param "disableAnchoredHeadings") }}
|
|
{{- partial "anchored_headings.html" .Content -}}
|
|
{{- else }}{{ .Content }}{{ end }}
|
|
</div>
|
|
{{- end }}
|
|
|
|
|
|
{{- $pages := .Pages }}
|
|
{{- if .IsHome }}
|
|
{{/* get all regular pages instead of pages in a section */}}
|
|
{{- $pages = where site.RegularPages "Section" "in" site.Params.mainSections }}
|
|
{{- end }}
|
|
{{- $pages = where $pages "Params.hidden" "!=" true }}
|
|
|
|
{{/* related issue: https://github.com/gohugoio/hugo/issues/9003 */}}
|
|
{{ $paginator := "" }}
|
|
{{ if (.Param "paginate") }}
|
|
{{- $paginator = .Paginate $pages (.Param "paginate") }}
|
|
{{ else }}
|
|
{{- $paginator = .Paginate $pages }}
|
|
{{ end }}
|
|
|
|
{{- if and .IsHome site.Params.homeInfoParams (eq $paginator.PageNumber 1) }}
|
|
{{- partial "home_info.html" . }}
|
|
{{- end }}
|
|
|
|
{{- $term := .Data.Term }}
|
|
{{- range $index, $page := $paginator.Pages }}
|
|
|
|
{{- $class := "post-entry" }}
|
|
|
|
{{- $user_preferred := or site.Params.disableSpecial1stPost site.Params.homeInfoParams }}
|
|
{{- if (and $.IsHome (eq $paginator.PageNumber 1) (eq $index 0) (not $user_preferred)) }}
|
|
{{- $class = "first-entry" }}
|
|
{{- else if $term }}
|
|
{{- $class = "post-entry tag-entry" }}
|
|
{{- end }}
|
|
|
|
<article class="{{ $class }}">
|
|
{{- $isHidden := (site.Params.cover.hidden | default site.Params.cover.hiddenInList) }}
|
|
{{- partial "cover.html" (dict "cxt" . "IsHome" true "isHidden" $isHidden) }}
|
|
<header class="entry-header">
|
|
<h2>
|
|
{{- .Title }}
|
|
{{- if .Draft }}<sup><span class="entry-isdraft"> [Draft]</span></sup>{{- end }}
|
|
{{- if .Weight }}<sup><span class="entry-isdraft"> [Pinned]</span></sup>{{- end }}
|
|
</h2>
|
|
</header>
|
|
{{- if (ne (.Param "hideSummary") true) }}
|
|
<section class="entry-content">
|
|
{{ if .Description }}
|
|
<p>{{ .Description | plainify | htmlUnescape }}</p>
|
|
{{ else }}
|
|
<p>{{ .Summary | plainify | htmlUnescape }}{{ if .Truncated }}...{{ end }}</p>
|
|
{{ end }}
|
|
</section>
|
|
{{- end }}
|
|
{{- if not (.Param "hideMeta") }}
|
|
<footer class="entry-footer">
|
|
{{- partial "post_meta.html" . -}}
|
|
</footer>
|
|
{{- end }}
|
|
<a class="entry-link" aria-label="post link to {{ .Title | plainify }}" href="{{ .Permalink }}"></a>
|
|
</article>
|
|
{{- end }}
|
|
|
|
{{- if gt $paginator.TotalPages 1 }}
|
|
<footer class="page-footer">
|
|
<nav class="pagination">
|
|
{{- if $paginator.HasPrev }}
|
|
<a class="prev" href="{{ $paginator.Prev.URL | absURL }}">« {{ i18n "prev_page" }}</a>
|
|
{{- end }}
|
|
{{- if $paginator.HasNext }}
|
|
<a class="next" href="{{ $paginator.Next.URL | absURL }}">{{ i18n "next_page" }} »</a>
|
|
{{- end }}
|
|
</nav>
|
|
</footer>
|
|
{{- end }}
|
|
|
|
{{- end }}{{/* end profileMode */}}
|
|
|
|
{{- end }}{{- /* end main */ -}}
|