mirror of
https://github.com/gethinode/hinode.git
synced 2025-10-07 18:14:28 +00:00
Compare commits
6 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
cc4a4766a9 | ||
![]() |
6821ac2b60 | ||
![]() |
06e10655ec | ||
![]() |
d32fdfa987 | ||
![]() |
9e97f063e5 | ||
![]() |
627f174ae4 |
@@ -8,6 +8,7 @@
|
|||||||
endorse = true
|
endorse = true
|
||||||
footerBelowFold = false
|
footerBelowFold = false
|
||||||
loading = "lazy"
|
loading = "lazy"
|
||||||
|
breakpoint = "md"
|
||||||
[main.externalLinks]
|
[main.externalLinks]
|
||||||
cue = false
|
cue = false
|
||||||
tab = false
|
tab = false
|
||||||
|
@@ -6,6 +6,7 @@
|
|||||||
canonifyAssetsURLs = false
|
canonifyAssetsURLs = false
|
||||||
footerBelowFold = false
|
footerBelowFold = false
|
||||||
loading = "lazy"
|
loading = "lazy"
|
||||||
|
breakpoint = "md"
|
||||||
[main.externalLinks]
|
[main.externalLinks]
|
||||||
cue = true
|
cue = true
|
||||||
tab = true
|
tab = true
|
||||||
|
@@ -120,12 +120,15 @@
|
|||||||
"col-8",
|
"col-8",
|
||||||
"col-9",
|
"col-9",
|
||||||
"col-auto",
|
"col-auto",
|
||||||
|
"col-lg-2",
|
||||||
"col-lg-4",
|
"col-lg-4",
|
||||||
"col-lg-8",
|
"col-lg-8",
|
||||||
"col-md-10",
|
"col-md-10",
|
||||||
"col-md-2",
|
"col-md-2",
|
||||||
|
"col-md-3",
|
||||||
"col-md-4",
|
"col-md-4",
|
||||||
"col-md-8",
|
"col-md-8",
|
||||||
|
"col-md-9",
|
||||||
"col-md-auto",
|
"col-md-auto",
|
||||||
"col-sm-12",
|
"col-sm-12",
|
||||||
"col-sm-3",
|
"col-sm-3",
|
||||||
@@ -141,6 +144,7 @@
|
|||||||
"d-grid",
|
"d-grid",
|
||||||
"d-inline",
|
"d-inline",
|
||||||
"d-inline-flex",
|
"d-inline-flex",
|
||||||
|
"d-lg-block",
|
||||||
"d-md-block",
|
"d-md-block",
|
||||||
"d-md-flex",
|
"d-md-flex",
|
||||||
"d-md-none",
|
"d-md-none",
|
||||||
@@ -332,6 +336,7 @@
|
|||||||
"row",
|
"row",
|
||||||
"row-cols-1",
|
"row-cols-1",
|
||||||
"row-cols-2",
|
"row-cols-2",
|
||||||
|
"row-cols-lg-3",
|
||||||
"row-cols-md-2",
|
"row-cols-md-2",
|
||||||
"row-cols-md-3",
|
"row-cols-md-3",
|
||||||
"row-cols-sm-2",
|
"row-cols-sm-2",
|
||||||
@@ -341,6 +346,7 @@
|
|||||||
"search-suggestions",
|
"search-suggestions",
|
||||||
"shadow",
|
"shadow",
|
||||||
"show",
|
"show",
|
||||||
|
"sidebar-overflow",
|
||||||
"slide",
|
"slide",
|
||||||
"small",
|
"small",
|
||||||
"spinner-border",
|
"spinner-border",
|
||||||
|
@@ -48,6 +48,9 @@
|
|||||||
{{ $sections := partial "utilities/GetSections.html" (dict "page" . "loading" $loading) }}
|
{{ $sections := partial "utilities/GetSections.html" (dict "page" . "loading" $loading) }}
|
||||||
{{- $.Scratch.Set "sections" $sections -}}
|
{{- $.Scratch.Set "sections" $sections -}}
|
||||||
|
|
||||||
|
{{- /* Define main breakpoint */ -}}
|
||||||
|
{{- $.Scratch.Set "breakpoint" (partial "utilities/GetBreakpoint.html") }}
|
||||||
|
|
||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html lang="{{ .Site.Language.Lang }}" class="no-js">
|
<html lang="{{ .Site.Language.Lang }}" class="no-js">
|
||||||
<head>
|
<head>
|
||||||
|
@@ -1,9 +1,10 @@
|
|||||||
{{- $sections := $.Scratch.Get "sections" -}}
|
{{- $sections := $.Scratch.Get "sections" -}}
|
||||||
{{- $fullCover := $.Scratch.Get "fullCover" -}}
|
{{- $fullCover := $.Scratch.Get "fullCover" -}}
|
||||||
|
{{- $breakpoint := $.Scratch.Get "breakpoint" -}}
|
||||||
{{- $layout := .Params.layout -}}
|
{{- $layout := .Params.layout -}}
|
||||||
|
|
||||||
<div class="row row-cols-1 row-cols-sm-2">
|
<div class="row row-cols-1 row-cols-{{ $breakpoint.current }}-2">
|
||||||
<div class="col col-sm-12 col-md-8">
|
<div class="col-12 col-{{ $breakpoint.current }}-9">
|
||||||
{{ if not .IsHome }}
|
{{ if not .IsHome }}
|
||||||
{{ with .Title }}<p id="{{ anchorize . }}" class="display-4 mt-5{{ if and $.IsHome site.Params.home.centerHeadline }} text-center{{ end }}">{{ . }}</p>{{ end }}
|
{{ with .Title }}<p id="{{ anchorize . }}" class="display-4 mt-5{{ if and $.IsHome site.Params.home.centerHeadline }} text-center{{ end }}">{{ . }}</p>{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
@@ -15,9 +16,12 @@
|
|||||||
{{- if $fullCover }}{{ $loading = site.Params.main.loading }}{{ end }}
|
{{- if $fullCover }}{{ $loading = site.Params.main.loading }}{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{- $content := partial "utilities/ProcessContent" (dict "page" . "raw" .RawContent "loading" $loading) -}}
|
{{- $content := partial "utilities/ProcessContent" (dict "page" . "raw" .RawContent "loading" $loading) -}}
|
||||||
{{ $content | safeHTML }}
|
{{- $content | safeHTML -}}
|
||||||
{{ if and (and $sections (eq (len $sections) 1)) (not $content) }}
|
{{ if and (and $sections (eq (len $sections) 1)) (not $content) }}
|
||||||
<p class="pt-4">{{- T "emptyList" }}.</p>
|
<p class="pt-4">{{- T "emptyList" }}.</p>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col col-{{ $breakpoint.current }}-3 d-none d-{{ $breakpoint.current }}-block">
|
||||||
|
{{/* Empty in default layout */}}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@@ -1,10 +1,11 @@
|
|||||||
{{- define "partials/single-main.html" -}}
|
{{- define "partials/single-main.html" -}}
|
||||||
|
{{- $breakpoint := $.Scratch.Get "breakpoint" -}}
|
||||||
{{ if .Site.Params.navigation.breadcrumb }}{{ partial "assets/breadcrumb.html" . }}{{ end -}}
|
{{ if .Site.Params.navigation.breadcrumb }}{{ partial "assets/breadcrumb.html" . }}{{ end -}}
|
||||||
|
|
||||||
{{ .Render "single/header" }}
|
{{ .Render "single/header" }}
|
||||||
|
|
||||||
{{- if and .Site.Params.navigation.toc .Params.includeToc | default true -}}
|
{{- if and .Site.Params.navigation.toc .Params.includeToc | default true -}}
|
||||||
<div class="d-md-none pb-5">{{ partial "assets/toc-dropdown.html" . }}</div>
|
<div class="d-{{ $breakpoint.current }}-none pb-5">{{ partial "assets/toc-dropdown.html" . }}</div>
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{ .Render "single/body" }}
|
{{ .Render "single/body" }}
|
||||||
|
|
||||||
@@ -18,6 +19,7 @@
|
|||||||
{{ define "main" -}}
|
{{ define "main" -}}
|
||||||
{{- $menu := .Scratch.Get "sidebar" -}}
|
{{- $menu := .Scratch.Get "sidebar" -}}
|
||||||
{{- $version := .Scratch.Get "version" -}}
|
{{- $version := .Scratch.Get "version" -}}
|
||||||
|
{{- $breakpoint := $.Scratch.Get "breakpoint" -}}
|
||||||
|
|
||||||
{{ $sidebar := "" }}
|
{{ $sidebar := "" }}
|
||||||
{{- $hasSidebar := .Site.Params.navigation.sidebar | default true -}}
|
{{- $hasSidebar := .Site.Params.navigation.sidebar | default true -}}
|
||||||
@@ -38,34 +40,24 @@
|
|||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
<div class="container-xxl flex-fill p-4 px-xxl-0">
|
<div class="container-xxl flex-fill p-4 px-xxl-0">
|
||||||
{{ if and $menu $hasSidebar -}}
|
{{ if $hasSidebar -}}
|
||||||
<div class="row row-cols-md-2 row-cols-lg-3">
|
<div class="row row-cols-1 row-cols-{{ $breakpoint.current }}-2 row-cols-{{ $breakpoint.next }}-3">
|
||||||
<div class="col col-md-3 col-lg-2 d-none pt-5 d-md-block sidebar-overflow sticky-top">
|
<div class="col col-{{ $breakpoint.next }}-2 d-none d-{{ $breakpoint.next }}-block sidebar-overflow sticky-top pt-5">
|
||||||
{{ $sidebar | safeHTML }}
|
{{ $sidebar | safeHTML }}
|
||||||
</div>
|
</div>
|
||||||
<div class="col col-md-9 col-lg-8 mb-5 p-4">
|
<div class="col-12 col-{{ $breakpoint.current }}-9 col-{{ $breakpoint.next }}-8 mb-5 p-4">
|
||||||
{{ partial "partials/single-main.html" . }}
|
{{ partial "partials/single-main.html" . }}
|
||||||
</div>
|
</div>
|
||||||
<div class="col col-lg-2 d-none d-lg-block pt-5">
|
<div class="col col-{{ $breakpoint.current }}-3 col-{{ $breakpoint.next }}-2 d-none d-{{ $breakpoint.current }}-block pt-5">
|
||||||
{{ $toc | safeHTML }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{{ else if $hasSidebar }}
|
|
||||||
<div class="row row-cols-1 row-cols-sm-3">
|
|
||||||
<div class="col col-md-2 d-none d-md-block"></div>
|
|
||||||
<div class="col col-sm-12 col-md-8">
|
|
||||||
{{ partial "partials/single-main.html" . }}
|
|
||||||
</div>
|
|
||||||
<div class="col col-md-2 d-none d-md-block">
|
|
||||||
{{ $toc | safeHTML }}
|
{{ $toc | safeHTML }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{ else }}
|
{{ else }}
|
||||||
<div class="row row-cols-1 row-cols-sm-2">
|
<div class="row row-cols-1 row-cols-{{ $breakpoint.current }}-2">
|
||||||
<div class="col col-sm-12 col-md-9">
|
<div class="col col-{{ $breakpoint.prev }}-12 col-{{ $breakpoint.current }}-9">
|
||||||
{{ partial "partials/single-main.html" . }}
|
{{ partial "partials/single-main.html" . }}
|
||||||
</div>
|
</div>
|
||||||
<div class="col col-md-3 d-none d-md-block">
|
<div class="col col-{{ $breakpoint.current }}-3 d-none d-{{ $breakpoint.current }}-block">
|
||||||
{{ $toc | safeHTML }}
|
{{ $toc | safeHTML }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@@ -36,6 +36,7 @@
|
|||||||
-->
|
-->
|
||||||
|
|
||||||
{{- $page := .page -}}
|
{{- $page := .page -}}
|
||||||
|
{{- $breakpoint := partial "utilities/GetBreakpoint.html" -}}
|
||||||
|
|
||||||
{{- if not (in (slice "*hugolib.pageState" "*hugolib.pageForShortcode") (printf "%T" $page)) -}}
|
{{- if not (in (slice "*hugolib.pageState" "*hugolib.pageForShortcode") (printf "%T" $page)) -}}
|
||||||
{{- errorf "partial [assets/card-group.html] - Invalid value for param 'page': %T" $page -}}
|
{{- errorf "partial [assets/card-group.html] - Invalid value for param 'page': %T" $page -}}
|
||||||
@@ -108,10 +109,10 @@
|
|||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- $colGrid := "" -}}
|
{{- $colGrid := "" -}}
|
||||||
{{- if eq $cols "1" }}{{ $colGrid = "row-cols-1" -}}
|
{{- if eq $cols "1" }}{{ $colGrid = "row-cols-1" -}}
|
||||||
{{- else if eq $cols "2" }}{{ if $responsive }}{{ $colGrid = "row-cols-1 row-cols-sm-1 row-cols-md-2" }}{{ else }}{{ $colGrid = "row-cols-2" }}{{ end -}}
|
{{- else if eq $cols "2" }}{{ if $responsive }}{{ $colGrid = printf "row-cols-1 row-cols-%s-1 row-cols-%s-2" $breakpoint.prev $breakpoint.current }}{{ else }}{{ $colGrid = "row-cols-2" }}{{ end -}}
|
||||||
{{- else if eq $cols "3" }}{{ if $responsive }}{{ $colGrid = "row-cols-1 row-cols-sm-2 row-cols-md-3" }}{{ else }}{{ $colGrid = "row-cols-3" }}{{ end -}}
|
{{- else if eq $cols "3" }}{{ if $responsive }}{{ $colGrid = printf "row-cols-1 row-cols-%s-2 row-cols-%s-3" $breakpoint.prev $breakpoint.current }}{{ else }}{{ $colGrid = "row-cols-3" }}{{ end -}}
|
||||||
{{- else if eq $cols "4" }}{{ if $responsive }}{{ $colGrid = "row-cols-1 row-cols-sm-2 row-cols-md-4" }}{{ else }}{{ $colGrid = "row-cols-4" }}{{ end -}}
|
{{- else if eq $cols "4" }}{{ if $responsive }}{{ $colGrid = printf "row-cols-1 row-cols-%s-2 row-cols-%s-4" $breakpoint.prev $breakpoint.current }}{{ else }}{{ $colGrid = "row-cols-4" }}{{ end -}}
|
||||||
{{- else if eq $cols "5" }}{{ if $responsive }}{{ $colGrid = "row-cols-1 row-cols-sm-3 row-cols-md-5" }}{{ else }}{{ $colGrid = "row-cols-5" }}{{ end -}}
|
{{- else if eq $cols "5" }}{{ if $responsive }}{{ $colGrid = printf "row-cols-1 row-cols-%s-3 row-cols-%s-5" $breakpoint.prev $breakpoint.current }}{{ else }}{{ $colGrid = "row-cols-5" }}{{ end -}}
|
||||||
{{ end -}}
|
{{ end -}}
|
||||||
|
|
||||||
{{- $gutter := .gutter | default "4" -}}
|
{{- $gutter := .gutter | default "4" -}}
|
||||||
|
21
layouts/partials/utilities/GetBreakpoint.html
Normal file
21
layouts/partials/utilities/GetBreakpoint.html
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{{- /* Define main breakpoint */ -}}
|
||||||
|
{{ $prev := 0 }}
|
||||||
|
{{ $next := 0 }}
|
||||||
|
{{ $result := dict }}
|
||||||
|
{{- $breakpoints := slice "xs" "sm" "md" "lg" "xl" "xxl" }}
|
||||||
|
{{- $breakpoint := site.Params.main.breakpoint | default "md" -}}
|
||||||
|
{{- if not (in $breakpoints $breakpoint) -}}
|
||||||
|
{{- errorf "layout [_default/baseof.html] - Invalid value for param 'breakpoint': %s" $breakpoint -}}
|
||||||
|
{{ else }}
|
||||||
|
{{ range $index, $item := $breakpoints }}
|
||||||
|
{{ if eq $item $breakpoint }}
|
||||||
|
{{ $prev = sub $index 1 }}
|
||||||
|
{{ $next = add $index 1 }}
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
{{ if lt $prev 0 }}{{ $prev = 0 }}{{ end }}
|
||||||
|
{{ if ge $next (len $breakpoints) }}{{ $next = sub (len $breakpoints) 1 }}{{ end }}
|
||||||
|
{{ $result = dict "prev" (index $breakpoints $prev) "current" $breakpoint "next" (index $breakpoints $next) }}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{ return $result }}
|
@@ -48,7 +48,8 @@
|
|||||||
|
|
||||||
{{- $thumbnail := (or (and (reflect.IsMap $sectionPage.Params.Thumbnail) $sectionPage.Params.Thumbnail.url) $sectionPage.Params.Thumbnail) -}}
|
{{- $thumbnail := (or (and (reflect.IsMap $sectionPage.Params.Thumbnail) $sectionPage.Params.Thumbnail.url) $sectionPage.Params.Thumbnail) -}}
|
||||||
{{- $icon := $sectionPage.Params.Icon -}}
|
{{- $icon := $sectionPage.Params.Icon -}}
|
||||||
{{- $content := $sectionPage.Content -}}
|
{{- $content := "" -}}
|
||||||
|
{{ if not $sectionPage.IsSection }}{{ $content = $sectionPage.Content }}{{ end -}}
|
||||||
{{- $sectionTitle := strings.FirstUpper $sectionPage.Type -}}
|
{{- $sectionTitle := strings.FirstUpper $sectionPage.Type -}}
|
||||||
{{- $moreTitle := "" -}}
|
{{- $moreTitle := "" -}}
|
||||||
{{- with (index site.Params.sections $section) -}}
|
{{- with (index site.Params.sections $section) -}}
|
||||||
|
@@ -1,11 +1,12 @@
|
|||||||
{{ define "main" }}
|
{{ define "main" }}
|
||||||
{{- $page := . -}}
|
{{- $page := . -}}
|
||||||
{{- $layout := $page.Params.layout -}}
|
{{- $layout := $page.Params.layout -}}
|
||||||
|
{{- $breakpoint := $.Scratch.Get "breakpoint" -}}
|
||||||
|
|
||||||
<div class="container-xxl flex-fill p-4 px-xxl-0">
|
<div class="container-xxl flex-fill p-4 px-xxl-0">
|
||||||
<div class="row row-cols-1 row-cols-sm-3">
|
<div class="row row-cols-1 row-cols-{{ $breakpoint.prev }}-3">
|
||||||
<div class="col col-md-2 d-none d-md-block"></div>
|
<div class="col col-{{ $breakpoint.current }}-2 d-none d-{{ $breakpoint.current }}-block"></div>
|
||||||
<div class="col col-sm-12 col-md-8">
|
<div class="col col-{{ $breakpoint.prev }}-12 col-{{ $breakpoint.current }}-8">
|
||||||
{{- if ne $layout "featured" -}}
|
{{- if ne $layout "featured" -}}
|
||||||
{{ if and (not $page.IsHome) site.Params.navigation.breadcrumb }}
|
{{ if and (not $page.IsHome) site.Params.navigation.breadcrumb }}
|
||||||
<div>{{ partial "assets/breadcrumb.html" $page }}</div>
|
<div>{{ partial "assets/breadcrumb.html" $page }}</div>
|
||||||
@@ -36,7 +37,7 @@
|
|||||||
{{ $year := .Date.Year }}
|
{{ $year := .Date.Year }}
|
||||||
{{ $lastYear := $.Scratch.Get "lastYear"}}
|
{{ $lastYear := $.Scratch.Get "lastYear"}}
|
||||||
<div class="row mt-2">
|
<div class="row mt-2">
|
||||||
<div class="d-none d-sm-block col-sm-3 mt-auto text-right">
|
<div class="d-none d-{{ $breakpoint.prev }}-block col-{{ $breakpoint.prev }}-3 mt-auto text-right">
|
||||||
<time class="post-date" datetime="{{ .Date.Format "2006-01-02T15:04:05Z07:00" | safeHTML }}">
|
<time class="post-date" datetime="{{ .Date.Format "2006-01-02T15:04:05Z07:00" | safeHTML }}">
|
||||||
{{ (partial "utilities/date.html" (dict "date" .Date "format" "medium")) }}
|
{{ (partial "utilities/date.html" (dict "date" .Date "format" "medium")) }}
|
||||||
</time>
|
</time>
|
||||||
@@ -52,7 +53,7 @@
|
|||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
<div class="col col-md-2 d-none d-md-block"></div>
|
<div class="col col-{{ $breakpoint.current }}-2 d-none d-{{ $breakpoint.current }}-block"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "@gethinode/hinode",
|
"name": "@gethinode/hinode",
|
||||||
"version": "0.21.6",
|
"version": "0.21.7",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "@gethinode/hinode",
|
"name": "@gethinode/hinode",
|
||||||
"version": "0.21.6",
|
"version": "0.21.7",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@fullhuman/postcss-purgecss": "^5.0.0",
|
"@fullhuman/postcss-purgecss": "^5.0.0",
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@gethinode/hinode",
|
"name": "@gethinode/hinode",
|
||||||
"version": "0.21.6",
|
"version": "0.21.7",
|
||||||
"description": "Hinode is a clean documentation and blog theme for Hugo, an open-source static site generator",
|
"description": "Hinode is a clean documentation and blog theme for Hugo, an open-source static site generator",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"hugo",
|
"hugo",
|
||||||
|
Reference in New Issue
Block a user