mirror of
https://github.com/CaiJimmy/hugo-theme-stack.git
synced 2024-11-27 04:03:48 +01:00
refactor(layouts): move layout HTML to baseof.html
For better maintainability
This commit is contained in:
parent
cca10c7947
commit
ed91cb7629
9 changed files with 122 additions and 168 deletions
|
@ -1,6 +1,6 @@
|
|||
@import "variables.scss";
|
||||
|
||||
.article-and-sidebar {
|
||||
.keep-sidebar {
|
||||
@media (min-width: $on-phone) and (max-width: $on-tablet) {
|
||||
--main-top-padding: 50px;
|
||||
}
|
||||
|
@ -13,7 +13,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
.left-sidebar {
|
||||
&:not(.keep-sidebar) .left-sidebar {
|
||||
@media (max-width: $on-tablet) {
|
||||
display: none;
|
||||
}
|
||||
|
|
|
@ -1,13 +1,7 @@
|
|||
{{ define "body_class" }}2-column{{ end }}
|
||||
{{ define "main" }}
|
||||
<div class="container extended flex on-phone--column align-items--flex-start">
|
||||
{{ partial "sidebar/left.html" . }}
|
||||
|
||||
<main class="main full-width">
|
||||
<div class="not-found-card">
|
||||
<h1 class="article-title">{{ T "notFoundTitle" }}</h1>
|
||||
<h2 class="article-subtitle">{{ T "notFoundSubtitle" }}</h2>
|
||||
</div>
|
||||
</main>
|
||||
</div>
|
||||
<div class="not-found-card">
|
||||
<h1 class="article-title">{{ T "notFoundTitle" }}</h1>
|
||||
<h2 class="article-subtitle">{{ T "notFoundSubtitle" }}</h2>
|
||||
</div>
|
||||
{{ partialCached "footer/footer" . }}
|
||||
{{ end }}
|
|
@ -1,9 +1,13 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="{{ .Site.LanguageCode }}">
|
||||
{{- partial "head/head.html" . -}}
|
||||
<body>
|
||||
<div id="content">
|
||||
{{- block "main" . }}{{- end }}
|
||||
<body class="{{ block `body-class` . }}{{ end }}">
|
||||
<div class="container extended flex on-phone--column align-items--flex-start {{ block `container-class` . }}{{end}}">
|
||||
{{ partial "sidebar/left.html" . }}
|
||||
<main class="main full-width">
|
||||
{{- block "main" . }}{{- end }}
|
||||
</main>
|
||||
{{- block "right-sidebar" . -}}{{ end }}
|
||||
</div>
|
||||
{{ partial "footer/script.html" . }}
|
||||
{{ partial "footer/style.html" . }}
|
||||
|
|
|
@ -1,24 +1,19 @@
|
|||
{{ define "body_class" }}3-column{{ end }}
|
||||
{{ define "main" }}
|
||||
<div class="container extended flex on-phone--column align-items--flex-start">
|
||||
{{ partialCached "sidebar/left.html" . }}
|
||||
<div class="widget">
|
||||
<h3 class="widget-title">{{ .Title }}</h3>
|
||||
</div>
|
||||
|
||||
<main class="main full-width">
|
||||
<div class="widget">
|
||||
<h3 class="widget-title">{{ .Title }}</h3>
|
||||
</div>
|
||||
<section class="article-list--compact">
|
||||
{{ range .Paginator.Pages }}
|
||||
{{ partial "article-list/compact" . }}
|
||||
{{ end }}
|
||||
</section>
|
||||
|
||||
<section class="article-list--compact">
|
||||
{{ range .Paginator.Pages }}
|
||||
{{ partial "article-list/compact" . }}
|
||||
{{ end }}
|
||||
</section>
|
||||
{{- partial "pagination.html" . -}}
|
||||
|
||||
{{- partial "pagination.html" . -}}
|
||||
|
||||
{{ partialCached "footer/footer" . }}
|
||||
</main>
|
||||
{{ partialCached "footer/footer" . }}
|
||||
{{ end }}
|
||||
|
||||
{{ define "right-sidebar" }}
|
||||
{{ partialCached "sidebar/right.html" . }}
|
||||
</div>
|
||||
{{ end }}
|
|
@ -1,30 +1,21 @@
|
|||
{{ define "body_class" }}2-column{{ end }}
|
||||
{{ define "container-class" }}article-page with-toolbar{{ end }}
|
||||
{{ define "main" }}
|
||||
<div class="container extended flex on-phone--column align-items--flex-start article-page with-toolbar">
|
||||
{{ partial "sidebar/left.html" . }}
|
||||
|
||||
<div class="flex column do-not-overflow full-width">
|
||||
<main class="main">
|
||||
<div id="article-toolbar">
|
||||
<a href="{{ .Site.BaseURL }}" class="back-home">
|
||||
{{ (resources.Get "icons/back.svg").Content | safeHTML }}
|
||||
<span>Back</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
{{ partial "article/article.html" . }}
|
||||
|
||||
{{ partial "article/components/related-contents" . }}
|
||||
|
||||
{{ if or (not (isset .Params "comments")) (eq .Params.comments "true")}}
|
||||
{{ partial "comments/include" . }}
|
||||
{{ end }}
|
||||
|
||||
{{ partialCached "footer/footer" . }}
|
||||
</main>
|
||||
<div id="article-toolbar">
|
||||
<a href="{{ .Site.BaseURL }}" class="back-home">
|
||||
{{ (resources.Get "icons/back.svg").Content | safeHTML }}
|
||||
<span>Back</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{- partial "article/components/photoswipe.html" . -}}
|
||||
{{ partial "article/article.html" . }}
|
||||
|
||||
{{ partial "article/components/related-contents" . }}
|
||||
|
||||
{{ if or (not (isset .Params "comments")) (eq .Params.comments "true")}}
|
||||
{{ partial "comments/include" . }}
|
||||
{{ end }}
|
||||
|
||||
{{ partialCached "footer/footer" . }}
|
||||
|
||||
{{- partial "article/components/photoswipe.html" . -}}
|
||||
{{ end }}
|
|
@ -1,45 +1,37 @@
|
|||
{{ define "body_class" }}2-column{{ end }}
|
||||
{{ define "main" }}
|
||||
<div class="container extended flex on-phone--column">
|
||||
{{ partial "sidebar/left.html" . }}
|
||||
|
||||
<main class="main">
|
||||
|
||||
<h3 class="taxonomy-type">{{ .Type | singularize | humanize }}</h3>
|
||||
<div class="taxonomy-card">
|
||||
<div class="taxonomy-details">
|
||||
<h3 class="taxonomy-count">{{ len .Pages }} post{{ if gt (len .Pages) 1 }}s{{ end }}</h3>
|
||||
<h1 class="taxonomy-term">{{ .Title }}</h1>
|
||||
{{ with .Params.description }}
|
||||
<h2 class="taxonomy-description">{{ . }}</h2>
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
{{ $image := partial "helper/image" (dict "Context" . "Type" "taxonomy") }}
|
||||
{{ if $image.exists }}
|
||||
<div class="taxonomy-image">
|
||||
{{ if $image.resource }}
|
||||
{{- $thumbnail := $image.resource.Fill "120x120" -}}
|
||||
<img src="{{ $thumbnail.RelPermalink }}" width="{{ $thumbnail.Width }}"
|
||||
height="{{ $thumbnail.Height }}" loading="lazy">
|
||||
{{ else }}
|
||||
<img src="{{ $image.permalink }}" loading="lazy">
|
||||
{{ end }}
|
||||
</div>
|
||||
<h3 class="taxonomy-type">{{ .Type | singularize | humanize }}</h3>
|
||||
<div class="taxonomy-card">
|
||||
<div class="taxonomy-details">
|
||||
<h3 class="taxonomy-count">{{ len .Pages }} post{{ if gt (len .Pages) 1 }}s{{ end }}</h3>
|
||||
<h1 class="taxonomy-term">{{ .Title }}</h1>
|
||||
{{ with .Params.description }}
|
||||
<h2 class="taxonomy-description">{{ . }}</h2>
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
<section class="article-list--compact">
|
||||
{{ $v2 := where .Pages "Params.hidden" "!=" true }}
|
||||
{{ $pag := .Paginate (.Pages) }}
|
||||
{{ range $pag.Pages }}
|
||||
{{ partial "article-list/compact" . }}
|
||||
{{ end }}
|
||||
</section>
|
||||
|
||||
{{- partial "pagination.html" . -}}
|
||||
|
||||
{{ partialCached "footer/footer" . }}
|
||||
</main>
|
||||
</div>
|
||||
{{ $image := partial "helper/image" (dict "Context" . "Type" "taxonomy") }}
|
||||
{{ if $image.exists }}
|
||||
<div class="taxonomy-image">
|
||||
{{ if $image.resource }}
|
||||
{{- $thumbnail := $image.resource.Fill "120x120" -}}
|
||||
<img src="{{ $thumbnail.RelPermalink }}" width="{{ $thumbnail.Width }}"
|
||||
height="{{ $thumbnail.Height }}" loading="lazy">
|
||||
{{ else }}
|
||||
<img src="{{ $image.permalink }}" loading="lazy">
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
<section class="article-list--compact">
|
||||
{{ $v2 := where .Pages "Params.hidden" "!=" true }}
|
||||
{{ $pag := .Paginate (.Pages) }}
|
||||
{{ range $pag.Pages }}
|
||||
{{ partial "article-list/compact" . }}
|
||||
{{ end }}
|
||||
</section>
|
||||
|
||||
{{- partial "pagination.html" . -}}
|
||||
|
||||
{{ partialCached "footer/footer" . }}
|
||||
{{ end }}
|
|
@ -1,25 +1,19 @@
|
|||
{{ define "body_class" }}3-column{{ end }}
|
||||
{{ define "main" }}
|
||||
<div class="container extended flex on-phone--column align-items--flex-start">
|
||||
{{ partialCached "sidebar/left.html" . }}
|
||||
{{ $pages := where .Site.RegularPages "Type" "in" .Site.Params.mainSections }}
|
||||
{{ $notHidden := where .Site.RegularPages "Params.hidden" "!=" true }}
|
||||
{{ $filtered := ($pages | intersect $notHidden) }}
|
||||
{{ $pag := .Paginate ($filtered) }}
|
||||
|
||||
<main class="main full-width">
|
||||
{{ $pages := where .Site.RegularPages "Type" "in" .Site.Params.mainSections }}
|
||||
{{ $notHidden := where .Site.RegularPages "Params.hidden" "!=" true }}
|
||||
{{ $filtered := ($pages | intersect $notHidden) }}
|
||||
{{ $pag := .Paginate ($filtered) }}
|
||||
|
||||
<section class="article-list">
|
||||
{{ range $index, $element := $pag.Pages }}
|
||||
{{ partial "article-list/default" . }}
|
||||
{{ end }}
|
||||
</section>
|
||||
|
||||
{{- partial "pagination.html" . -}}
|
||||
<section class="article-list">
|
||||
{{ range $index, $element := $pag.Pages }}
|
||||
{{ partial "article-list/default" . }}
|
||||
{{ end }}
|
||||
</section>
|
||||
|
||||
{{ partialCached "footer/footer" . }}
|
||||
</main>
|
||||
|
||||
{{- partial "pagination.html" . -}}
|
||||
{{ partialCached "footer/footer" . }}
|
||||
{{ end }}
|
||||
|
||||
{{ define "right-sidebar" }}
|
||||
{{ partialCached "sidebar/right.html" . }}
|
||||
</div>
|
||||
{{ end }}
|
|
@ -1,42 +1,34 @@
|
|||
{{ define "body_class" }}2-column{{ end }}
|
||||
{{ define "body-class" }}template-archive{{ end }}
|
||||
{{ define "main" }}
|
||||
<div class="container extended flex on-phone--column align-items--flex-start">
|
||||
|
||||
{{ partial "sidebar/left.html" . }}
|
||||
|
||||
<main class="main template-archive">
|
||||
{{ $categories := ($.Site.GetPage "taxonomyTerm" "categories").Pages }}
|
||||
{{ if $categories }}
|
||||
<div class="widget">
|
||||
<h1 class="widget-title">Categories</h1>
|
||||
<div class="category-list">
|
||||
<div class="article-list--tile">
|
||||
{{ range $categories }}
|
||||
{{ partial "article-list/tile" (dict "context" . "size" "250x150") }}
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
|
||||
{{ $pages := where .Site.RegularPages "Type" "in" .Site.Params.mainSections }}
|
||||
{{ $notHidden := where .Site.RegularPages "Params.hidden" "!=" true }}
|
||||
{{ $filtered := ($pages | intersect $notHidden) }}
|
||||
|
||||
{{ range $filtered.GroupByDate "2006" }}
|
||||
{{ $id := lower (replace .Key " " "-") }}
|
||||
<div class="archive-group" id="{{ $id }}">
|
||||
<h3 class="archive-date"><a href="{{ $.Permalink }}#{{ $id }}">{{ .Key }}</a></h3>
|
||||
<div class="article-list--compact">
|
||||
{{ range .Pages }}
|
||||
{{ partial "article-list/compact" . }}
|
||||
{{ $categories := ($.Site.GetPage "taxonomyTerm" "categories").Pages }}
|
||||
{{ if $categories }}
|
||||
<div class="widget">
|
||||
<h1 class="widget-title">Categories</h1>
|
||||
<div class="category-list">
|
||||
<div class="article-list--tile">
|
||||
{{ range $categories }}
|
||||
{{ partial "article-list/tile" (dict "context" . "size" "250x150") }}
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
{{ end }}
|
||||
|
||||
{{ partialCached "footer/footer" . }}
|
||||
</main>
|
||||
</div>
|
||||
{{ $pages := where .Site.RegularPages "Type" "in" .Site.Params.mainSections }}
|
||||
{{ $notHidden := where .Site.RegularPages "Params.hidden" "!=" true }}
|
||||
{{ $filtered := ($pages | intersect $notHidden) }}
|
||||
|
||||
{{ range $filtered.GroupByDate "2006" }}
|
||||
{{ $id := lower (replace .Key " " "-") }}
|
||||
<div class="archive-group" id="{{ $id }}">
|
||||
<h3 class="archive-date"><a href="{{ $.Permalink }}#{{ $id }}">{{ .Key }}</a></h3>
|
||||
<div class="article-list--compact">
|
||||
{{ range .Pages }}
|
||||
{{ partial "article-list/compact" . }}
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
|
||||
{{ partialCached "footer/footer" . }}
|
||||
{{ end }}
|
|
@ -1,20 +1,12 @@
|
|||
{{ define "body_class" }}2-column{{ end }}
|
||||
{{ define "body-class" }}article-page keep-sidebar{{ end }}
|
||||
{{ define "main" }}
|
||||
<div class="container extended flex on-phone--column align-items--flex-start article-and-sidebar">
|
||||
{{ partial "article/article.html" . }}
|
||||
|
||||
{{ partial "sidebar/left.html" . }}
|
||||
{{ if or (not (isset .Params "comments")) (eq .Params.comments "true")}}
|
||||
{{ partial "comments/include" . }}
|
||||
{{ end }}
|
||||
|
||||
<main class="main article-page do-not-overflow full-width">
|
||||
{{ partial "article/article.html" . }}
|
||||
|
||||
{{ if or (not (isset .Params "comments")) (eq .Params.comments "true")}}
|
||||
{{ partial "comments/include" . }}
|
||||
{{ end }}
|
||||
|
||||
{{ partialCached "footer/footer" . }}
|
||||
</main>
|
||||
</div>
|
||||
|
||||
{{ partial "article/components/photoswipe" . }}
|
||||
{{ partialCached "footer/footer" . }}
|
||||
|
||||
{{ partial "article/components/photoswipe" . }}
|
||||
{{ end }}
|
Loading…
Reference in a new issue