From ed91cb76293411884cbe88793d8a3394ac72e95f Mon Sep 17 00:00:00 2001 From: Jimmy Cai <jimmehcai@gmail.com> Date: Sat, 12 Sep 2020 10:33:53 +0200 Subject: [PATCH 1/2] refactor(layouts): move layout HTML to baseof.html For better maintainability --- assets/scss/partials/layout/article.scss | 4 +- layouts/404.html | 16 ++---- layouts/_default/baseof.html | 10 +++- layouts/_default/list.html | 29 ++++------ layouts/_default/single.html | 41 ++++++-------- layouts/_default/term.html | 72 +++++++++++------------- layouts/index.html | 34 +++++------ layouts/page/archive.html | 62 +++++++++----------- layouts/page/single.html | 22 +++----- 9 files changed, 122 insertions(+), 168 deletions(-) diff --git a/assets/scss/partials/layout/article.scss b/assets/scss/partials/layout/article.scss index 23b8763..76e0fad 100644 --- a/assets/scss/partials/layout/article.scss +++ b/assets/scss/partials/layout/article.scss @@ -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; } diff --git a/layouts/404.html b/layouts/404.html index d882c30..dd5e49d 100644 --- a/layouts/404.html +++ b/layouts/404.html @@ -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 }} \ No newline at end of file diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html index 52e5df2..bf3d511 100644 --- a/layouts/_default/baseof.html +++ b/layouts/_default/baseof.html @@ -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" . }} diff --git a/layouts/_default/list.html b/layouts/_default/list.html index 54206c4..8bd33d0 100644 --- a/layouts/_default/list.html +++ b/layouts/_default/list.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 }} \ No newline at end of file diff --git a/layouts/_default/single.html b/layouts/_default/single.html index 82013b3..aabeee7 100644 --- a/layouts/_default/single.html +++ b/layouts/_default/single.html @@ -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 }} \ No newline at end of file diff --git a/layouts/_default/term.html b/layouts/_default/term.html index 9bf62fe..0d0a35f 100644 --- a/layouts/_default/term.html +++ b/layouts/_default/term.html @@ -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 }} \ No newline at end of file diff --git a/layouts/index.html b/layouts/index.html index f3559b3..1811bd2 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -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 }} \ No newline at end of file diff --git a/layouts/page/archive.html b/layouts/page/archive.html index 6751ff3..b68e40a 100644 --- a/layouts/page/archive.html +++ b/layouts/page/archive.html @@ -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 }} \ No newline at end of file diff --git a/layouts/page/single.html b/layouts/page/single.html index e5a1ed8..edf53fb 100644 --- a/layouts/page/single.html +++ b/layouts/page/single.html @@ -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 }} \ No newline at end of file From d14a39913c2f775abc09adb1d0274a91c95f47d7 Mon Sep 17 00:00:00 2001 From: Jimmy Cai <jimmehcai@gmail.com> Date: Sat, 12 Sep 2020 10:37:55 +0200 Subject: [PATCH 2/2] style(partial/article): remove empty space in classname --- layouts/partials/article/article.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/layouts/partials/article/article.html b/layouts/partials/article/article.html index c7c9064..1f453aa 100644 --- a/layouts/partials/article/article.html +++ b/layouts/partials/article/article.html @@ -1,4 +1,4 @@ -<article class="{{ if .Params.image }}has-image{{ end }} main-article"> +<article class="{{ if .Params.image }}has-image {{ end }}main-article"> {{ partial "article/components/header" . }} {{ partial "article/components/content" . }}