8a597a5c9c
* refactor(i18n): simplify the structure of the translation file * chore: prepare repository for v4.0.0-alpha * chore: modify go.mod to v4 * refactor: migrate theme configuration to TOML * fix: exampleSite not using correct theme * feat: add favicon from assets folder * refactor: drop linear grandient background feature remove node-vibrant from dependencies * feat: use Hugo's code block render hook to implement code copy button Now it can have i18n support * refactor: delete color.ts * refactor: delete Emoji support post from example site * refactor: drop support for `hidden` field in front matter * feat: upgrade to PhotoSwipe v5 * chore: bump the required hugo version to 0.100.0 * refactor: remove PhotoSwipe from external.yaml * fix: extra margin in search result * fix: incorrect markdown heading level in example site * refactor: remove some usages of `default` in template No longer needed thanks to Hugo's configuration merge * fix: one line codeblock style in firefox closes https://github.com/CaiJimmy/hugo-theme-stack/issues/564 * feat: add style to new codeblock * feat: i18n support for codeblock copy text * fix(menu): jitter when closing menu It's caused by flexbox gap property, which can't animate * fix(search): long text overflows under the Search icon closes https://github.com/CaiJimmy/hugo-theme-stack/issues/515
85 lines
3.2 KiB
HTML
85 lines
3.2 KiB
HTML
{{ define "main" }}
|
|
<header>
|
|
<h3 class="section-title">
|
|
{{ if eq .Parent (.GetPage "/") }}
|
|
{{ T "list.section" }}
|
|
{{ else }}
|
|
{{ .Parent.Title }}
|
|
{{ end }}
|
|
</h3>
|
|
|
|
<div class="section-card">
|
|
<div class="section-details">
|
|
<h3 class="section-count">{{ T "list.page" (len .Pages) }}</h3>
|
|
<h1 class="section-term">{{ .Title }}</h1>
|
|
{{ with .Params.description }}
|
|
<h2 class="section-description">{{ . }}</h2>
|
|
{{ end }}
|
|
</div>
|
|
|
|
{{- $image := partialCached "helper/image" (dict "Context" . "Type" "section") .RelPermalink "section" -}}
|
|
{{ if $image.exists }}
|
|
<div class="section-image">
|
|
{{ if $image.resource }}
|
|
{{- $Permalink := $image.resource.RelPermalink -}}
|
|
{{- $Width := $image.resource.Width -}}
|
|
{{- $Height := $image.resource.Height -}}
|
|
|
|
{{- if .Page.Site.Params.imageProcessing.cover.enabled -}}
|
|
{{- $thumbnail := $image.resource.Fill "120x120" -}}
|
|
{{- $Permalink = $thumbnail.RelPermalink -}}
|
|
{{- $Width = $thumbnail.Width -}}
|
|
{{- $Height = $thumbnail.Height -}}
|
|
{{- end -}}
|
|
|
|
<img src="{{ $Permalink }}"
|
|
width="{{ $Width }}"
|
|
height="{{ $Height }}"
|
|
loading="lazy">
|
|
{{ else }}
|
|
<img src="{{ $image.permalink }}" loading="lazy" />
|
|
{{ end }}
|
|
</div>
|
|
{{ end }}
|
|
</div>
|
|
</header>
|
|
|
|
{{- $subsections := .Sections -}}
|
|
{{- $pages := .Pages | complement $subsections -}}
|
|
|
|
{{- if eq (len $pages) 0 -}}
|
|
{{/* If there are no normal pages, display subsections in list style, with pagination */}}
|
|
{{/* This happens with taxonomies like categories or tags */}}
|
|
{{- $pages = $subsections -}}
|
|
{{- $subsections = slice -}}
|
|
{{- end -}}
|
|
|
|
{{- with $subsections -}}
|
|
<aside>
|
|
<h2 class="section-title">{{ T "list.subsection" (len $subsections) }}</h2>
|
|
<div class="subsection-list">
|
|
<div class="article-list--tile">
|
|
{{ range . }}
|
|
{{ partial "article-list/tile" (dict "context" . "size" "250x150" "Type" "section") }}
|
|
{{ end }}
|
|
</div>
|
|
</div>
|
|
</aside>
|
|
{{- end -}}
|
|
|
|
{{/* List only pages that are not a subsection */}}
|
|
{{ $paginator := .Paginate $pages }}
|
|
<section class="article-list--compact">
|
|
{{ range $paginator.Pages }}
|
|
{{ partial "article-list/compact" . }}
|
|
{{ end }}
|
|
</section>
|
|
|
|
{{- partial "pagination.html" . -}}
|
|
|
|
{{ partialCached "footer/footer" . }}
|
|
{{ end }}
|
|
|
|
{{ define "right-sidebar" }}
|
|
{{ partial "sidebar/right.html" (dict "Context" . "Scope" "homepage") }}
|
|
{{ end }} |