mirror of
https://github.com/PrivSec-dev/privsec.dev.git
synced 2024-12-15 02:34:43 -05:00
3b8da5a8e1
Signed-off-by: Tommy <contact@tommytran.io>
102 lines
3.1 KiB
HTML
102 lines
3.1 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 }}
|
|
{{- if and (or (eq .Kind `term`) (eq .Kind `section`)) (.Param "ShowRssButtonInSectionTermList") }}
|
|
<a href="index.xml" title="RSS" aria-label="RSS">
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"
|
|
stroke-linecap="round" stroke-linejoin="round" height="23">
|
|
<path d="M4 11a9 9 0 0 1 9 9" />
|
|
<path d="M4 4a16 16 0 0 1 16 16" />
|
|
<circle cx="5" cy="19" r="1" />
|
|
</svg>
|
|
</a>
|
|
{{- end }}
|
|
</h1>
|
|
{{- if .Description }}
|
|
<div class="post-description">
|
|
{{ .Description | markdownify }}
|
|
</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 := union .RegularPages .Sections }}
|
|
|
|
{{- if .IsHome }}
|
|
{{- $pages = where site.RegularPages "Type" "in" site.Params.mainSections }}
|
|
{{- end }}
|
|
|
|
{{- $paginator := .Paginate $pages }}
|
|
|
|
{{- if and .IsHome site.Params.homeInfoParams (eq $paginator.PageNumber 1) }}
|
|
{{- partial "home_info.html" . }}
|
|
{{- end }}
|
|
|
|
{{- $term := .Data.Term }}
|
|
{{- range $index, $page := $paginator.Pages.ByTitle }}
|
|
|
|
{{- $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 }}
|
|
</h2>
|
|
</header>
|
|
{{- if (ne (.Param "hideSummary") true) }}
|
|
<div class="entry-content">
|
|
<p>{{ .Summary | plainify | htmlUnescape }}{{ if .Truncated }}...{{ end }}</p>
|
|
</div>
|
|
{{- 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 */ -}}
|