Compare commits

...

21 Commits

Author SHA1 Message Date
Mark Dumay
e1011919a5 Merge pull request #765 from gethinode/develop
Refactor navbar to use color themes in overlay mode
2024-02-11 07:30:57 +01:00
Mark Dumay
7c3aed4822 Merge branch 'main' into develop 2024-02-11 07:24:21 +01:00
Mark Dumay
dbe2c6bb59 Bump package release 2024-02-11 07:23:46 +01:00
Mark Dumay
9e644185f2 Refactor navbar to use color themes in overlay mode 2024-02-11 07:23:01 +01:00
Mark Dumay
9a12ce32d3 Merge pull request #762 from gethinode/develop
Update Netlify build environment
2024-02-11 05:11:13 +01:00
Mark Dumay
66d6a89431 Merge branch 'main' into develop 2024-02-09 07:36:50 +01:00
Mark Dumay
b7a605ea9c Update Netlify build environment 2024-02-09 07:36:19 +01:00
Mark Dumay
a2b1cca1ab Merge pull request #761 from gethinode/develop
Use placeholder when button title is missing
2024-02-09 07:36:01 +01:00
Mark Dumay
b8cd3dbee6 Merge branch 'main' into develop 2024-02-09 07:27:00 +01:00
Mark Dumay
fe46126e19 Use placeholder when title is missing 2024-02-09 07:25:43 +01:00
Mark Dumay
a439623119 Restore macOS lint and build 2024-02-09 07:19:32 +01:00
Mark Dumay
86713488b4 Merge pull request #760 from gethinode/develop
Fix sidebar rendering
2024-02-08 05:54:47 +01:00
Mark Dumay
fbaa5bcfa7 Merge branch 'main' into develop 2024-02-08 05:45:59 +01:00
Mark Dumay
23deaf6df3 Fix sidebar rendering 2024-02-08 05:45:34 +01:00
Mark Dumay
4db9c6fde8 Merge pull request #759 from gethinode/develop
Refactor single page template
2024-02-08 05:22:42 +01:00
Mark Dumay
67ad2fe076 Merge branch 'main' into develop 2024-02-08 05:16:39 +01:00
Mark Dumay
00e169512c Refactor single page template 2024-02-08 05:16:04 +01:00
Mark Dumay
3171f065eb Merge pull request #758 from gethinode/develop
Refactor optional scripts
2024-02-07 19:10:52 +01:00
Mark Dumay
5dcb44b2d0 Merge branch 'main' into develop 2024-02-07 19:03:04 +01:00
Mark Dumay
b54c415f39 Bump package release 2024-02-07 19:02:22 +01:00
Mark Dumay
7ecc818ca1 Refactor optional scripts 2024-02-07 19:01:56 +01:00
14 changed files with 76 additions and 91 deletions

View File

@@ -41,10 +41,7 @@ jobs:
strategy: strategy:
matrix: matrix:
os: [windows-latest, ubuntu-latest] os: [macos-latest, windows-latest, ubuntu-latest]
# 2024-02-07: temp disabled macOS due to Dart Sass installation error
# see https://github.com/sass/homebrew-sass/issues/57
# os: [macos-latest, windows-latest, ubuntu-latest]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/ # See supported Node.js release schedule at https://nodejs.org/en/about/releases/
node-version: [18.x, 20.x] node-version: [18.x, 20.x]

View File

@@ -13,8 +13,12 @@ if (navbar !== null && togglers !== null) {
window.onscroll = () => { window.onscroll = () => {
if (window.scrollY > 75) { if (window.scrollY > 75) {
navbar.classList.add('nav-active') navbar.classList.add('nav-active')
const storedTheme = localStorage.getItem('theme')
navbar.setAttribute('data-bs-theme', storedTheme)
} else { } else {
navbar.classList.remove('nav-active') navbar.classList.remove('nav-active')
const defaultTheme = navbar.getAttribute('data-bs-overlay')
navbar.setAttribute('data-bs-theme', defaultTheme)
} }
} }

View File

@@ -41,28 +41,6 @@
box-shadow: $box-shadow-sm; box-shadow: $box-shadow-sm;
} }
.navbar-overlay-dark {
--bs-navbar-color: #{$navbar-dark-color};
--bs-navbar-hover-color: #{$navbar-dark-hover-color};
--bs-navbar-disabled-color: #{$navbar-dark-disabled-color};
--bs-navbar-active-color: #{$navbar-dark-active-color};
--bs-navbar-brand-color: #{$navbar-dark-brand-color};
--bs-navbar-brand-hover-color: #{$navbar-dark-brand-hover-color};
--bs-navbar-toggler-border-color: #{$navbar-dark-toggler-border-color};
--bs-navbar-toggler-color: white;
}
.navbar-overlay-light, .navbar-overlay-dark.nav-active, .navbar-overlay-dark.navbar-expanded {
--bs-navbar-color: #{$navbar-light-color};
--bs-navbar-hover-color: #{$navbar-light-hover-color};
--bs-navbar-disabled-color: #{$navbar-light-disabled-color};
--bs-navbar-active-color: #{$navbar-light-active-color};
--bs-navbar-brand-color: #{$navbar-light-brand-color};
--bs-navbar-brand-hover-color: #{$navbar-light-brand-hover-color};
--bs-navbar-toggler-border-color: #{$navbar-light-toggler-border-color};
--bs-navbar-toggler-color: black;
}
.nav-item .vr { .nav-item .vr {
color: var(--bs-navbar-color); color: var(--bs-navbar-color);
} }

View File

@@ -15,6 +15,7 @@
"form", "form",
"h2", "h2",
"h3", "h3",
"h5",
"head", "head",
"hr", "hr",
"html", "html",
@@ -307,6 +308,11 @@
"navbar-toggler", "navbar-toggler",
"next", "next",
"no-js", "no-js",
"offcanvas",
"offcanvas-body",
"offcanvas-header",
"offcanvas-start",
"offcanvas-title",
"order-0", "order-0",
"order-1", "order-1",
"order-first", "order-first",
@@ -520,6 +526,8 @@
"navbar-sample-collapse", "navbar-sample-collapse",
"navigation", "navigation",
"notification", "notification",
"offcanvas-label",
"offcanvass-sidebar",
"persona", "persona",
"projecten", "projecten",
"projects", "projects",

View File

@@ -1,31 +1,3 @@
{{- define "partials/optional-scripts.html" -}}
{{ $page_modules := slice }}
{{ if reflect.IsMap .Params.modules }}
{{ $page_modules = .Params.modules }}
{{ else }}
{{ $page_modules = $page_modules | append .Params.modules }}
{{ end }}
{{- $modules := site.Params.modules.optional | intersect $page_modules -}}
{{- range $index, $mod := $modules -}}
{{- $filename := printf "js/%s.bundle.js" $mod -}}
{{- $match := printf "js/modules/%s/**.js" $mod -}}
{{- $skipTemplate := false -}}
{{- if reflect.IsSlice site.Params.modules.disableTemplate -}}
{{- if in site.Params.modules.disableTemplate $mod}}
{{- $skipTemplate = true -}}
{{- end -}}
{{- end -}}
{{ $state := "" }}
{{- with (index site.Params.modules $mod) -}}
{{- with index . "state" }}{{ $state = . }}{{ end -}}
{{- end -}}
{{- partial "footer/scripts.html" (dict "filename" $filename "match" $match "header" false "skipTemplate" $skipTemplate "state" $state "page" .) }}
{{- end -}}
{{- end -}}
{{- /* Set version-aware sidebar menu */ -}} {{- /* Set version-aware sidebar menu */ -}}
{{- $version := partial "utilities/GetVersion.html" (dict "page" . "base" true) -}} {{- $version := partial "utilities/GetVersion.html" (dict "page" . "base" true) -}}
{{- $.Scratch.Set "version" $version -}} {{- $.Scratch.Set "version" $version -}}
@@ -99,6 +71,6 @@
{{- partial "footer/toast-container.html" . -}} {{- partial "footer/toast-container.html" . -}}
{{- partialCached "footer/scripts.html" (dict "header" false "page" . "core" true) }} {{- partialCached "footer/scripts.html" (dict "header" false "page" . "core" true) }}
{{- partial "partials/optional-scripts.html" . -}} {{- partial "footer/optional-scripts.html" . -}}
</body> </body>
</html> </html>

View File

@@ -1,29 +1,9 @@
{{- define "partials/single-main.html" -}}
{{- $breakpoint := $.Scratch.Get "breakpoint" -}}
{{ if .Site.Params.navigation.breadcrumb }}{{ partial "assets/breadcrumb.html" (dict "page" .) }}{{ end -}}
{{ .Render "single/header" }}
{{- if and .Site.Params.navigation.toc .Params.includeToc | default true -}}
<div class="d-{{ $breakpoint.current }}-none pb-5">{{ partial "assets/toc-dropdown.html" (dict "page" .) }}</div>
{{- end -}}
{{ .Render "single/body" }}
{{ .Render "single/footer" }}
{{ end -}}
{{ define "main" -}} {{ define "main" -}}
{{- $menu := .Scratch.Get "sidebar" -}}
{{- $version := .Scratch.Get "version" -}}
{{- $breakpoint := $.Scratch.Get "breakpoint" -}} {{- $breakpoint := $.Scratch.Get "breakpoint" -}}
{{ $sidebar := .Render "single/sidebar" }}
{{ $sidebar := "" }}
{{- $hasSidebar := .Site.Params.navigation.sidebar | default true -}}
{{ if and $menu $hasSidebar }}{{ $sidebar = partial "assets/sidebar.html" (dict "page" . "menu" $menu "version" $version) }}{{ end }}
{{ $toc := .Render "single/panel-toc" }} {{ $toc := .Render "single/panel-toc" }}
{{ with $sidebar -}} {{ with $sidebar }}
<div class="offcanvas offcanvas-start" tabindex="-1" id="offcanvass-sidebar" aria-inledby="offcanvas-label"> <div class="offcanvas offcanvas-start" tabindex="-1" id="offcanvass-sidebar" aria-inledby="offcanvas-label">
<div class="offcanvas-header"> <div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvas-label">{{ strings.FirstUpper $.Section }}</h5> <h5 class="offcanvas-title" id="offcanvas-label">{{ strings.FirstUpper $.Section }}</h5>
@@ -36,13 +16,13 @@
{{ 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 $hasSidebar -}} {{ if $sidebar -}}
<div class="row row-cols-1 row-cols-{{ $breakpoint.current }}-2 row-cols-{{ $breakpoint.next }}-3"> <div class="row row-cols-1 row-cols-{{ $breakpoint.current }}-2 row-cols-{{ $breakpoint.next }}-3">
<div class="col col-{{ $breakpoint.next }}-2 d-none d-{{ $breakpoint.next }}-block sidebar-overflow sticky-top pt-5"> <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-12 col-{{ $breakpoint.current }}-9 col-{{ $breakpoint.next }}-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" . }} {{ .Render "single/main" }}
</div> </div>
<div class="col col-{{ $breakpoint.current }}-3 col-{{ $breakpoint.next }}-2 d-none d-{{ $breakpoint.current }}-block pt-5"> <div class="col col-{{ $breakpoint.current }}-3 col-{{ $breakpoint.next }}-2 d-none d-{{ $breakpoint.current }}-block pt-5">
{{ $toc | safeHTML }} {{ $toc | safeHTML }}
@@ -51,7 +31,7 @@
{{ else }} {{ else }}
<div class="row row-cols-1 row-cols-{{ $breakpoint.current }}-2"> <div class="row row-cols-1 row-cols-{{ $breakpoint.current }}-2">
<div class="col col-{{ $breakpoint.prev }}-12 col-{{ $breakpoint.current }}-9"> <div class="col col-{{ $breakpoint.prev }}-12 col-{{ $breakpoint.current }}-9">
{{ partial "partials/single-main.html" . }} {{ .Render "single/main" }}
</div> </div>
<div class="col col-{{ $breakpoint.current }}-3 d-none d-{{ $breakpoint.current }}-block"> <div class="col col-{{ $breakpoint.current }}-3 d-none d-{{ $breakpoint.current }}-block">
{{ $toc | safeHTML }} {{ $toc | safeHTML }}

View File

@@ -0,0 +1,11 @@
{{- $breakpoint := $.Scratch.Get "breakpoint" -}}
{{ if .Site.Params.navigation.breadcrumb }}{{ partial "assets/breadcrumb.html" (dict "page" .) }}{{ end -}}
{{ .Render "single/header" }}
{{- if and .Site.Params.navigation.toc .Params.includeToc | default true -}}
<div class="d-{{ $breakpoint.current }}-none pb-5">{{ partial "assets/toc-dropdown.html" (dict "page" .) }}</div>
{{- end -}}
{{ .Render "single/body" }}
{{ .Render "single/footer" }}

View File

@@ -0,0 +1,7 @@
{{- $menu := .Scratch.Get "sidebar" -}}
{{- $version := .Scratch.Get "version" -}}
{{ $sidebar := "" }}
{{- $hasSidebar := .Site.Params.navigation.sidebar | default true -}}
{{ if and $menu $hasSidebar }}
{{ partial "assets/sidebar.html" (dict "page" . "menu" $menu "version" $version) }}
{{ end }}

View File

@@ -16,8 +16,8 @@
{{- $title := trim .title " \r\n" -}} {{- $title := trim .title " \r\n" -}}
{{- $icon := .icon }} {{- $icon := .icon }}
{{- if not (or $title $icon) -}} {{- if not (or $title $icon) -}}
{{- errorf "partial [assets/button.html] - Missing element title or icon" -}} {{- warnf "partial [assets/button.html] - Missing element title or icon" -}}
{{ $error = true }} {{ $title = T "linkPlaceholder" }}
{{- end -}} {{- end -}}
{{- $id := .id }} {{- $id := .id }}

View File

@@ -173,10 +173,13 @@
<div class="container-fluid {{ if $fixed }}fixed-top{{ end }} p-0{{ with $class }} {{ . }}{{ end }}"> <div class="container-fluid {{ if $fixed }}fixed-top{{ end }} p-0{{ with $class }} {{ . }}{{ end }}">
{{- partial "assets/page-alert.html" (dict "page" $page) -}} {{- partial "assets/page-alert.html" (dict "page" $page) -}}
<nav class="navbar p-4 <nav class="navbar p-4
{{ if $overlay }}navbar-overlay-{{ $overlayMode }}{{ else }}{{ with $color }}bg-{{ . }}{{ end }}{{ end }} {{- if not $overlay }}{{ with $color }} bg-{{ . }}{{ end }}{{ end -}}
{{ if $fixed }}navbar-fixed-top{{ end }} navbar-expand-{{ $size }} {{ if $fixed }} navbar-fixed-top{{ end }} navbar-expand-{{ $size -}}
{{ if $contrast }}navbar-contrast{{ end }}" {{ if $contrast }} navbar-contrast{{ end }}"
{{ with $theme }}data-bs-theme="{{ . }}"{{ end }} {{ if $overlay }}
data-bs-theme="{{ $overlayMode }}"
data-bs-overlay="{{ $overlayMode }}"
{{ else }}{{ with $theme }}data-bs-theme="{{ . }}"{{ end }}{{ end }}
{{ if $overlay }}data-navbar-color="{{ $color }}"{{ end }} {{ if $overlay }}data-navbar-color="{{ $color }}"{{ end }}
> >
<div class="container-xxl p-0"> <div class="container-xxl p-0">

View File

@@ -0,0 +1,25 @@
{{ $page_modules := slice }}
{{ if reflect.IsMap .Params.modules }}
{{ $page_modules = .Params.modules }}
{{ else }}
{{ $page_modules = $page_modules | append .Params.modules }}
{{ end }}
{{- $modules := site.Params.modules.optional | intersect $page_modules -}}
{{- range $index, $mod := $modules -}}
{{- $filename := printf "js/%s.bundle.js" $mod -}}
{{- $match := printf "js/modules/%s/**.js" $mod -}}
{{- $skipTemplate := false -}}
{{- if reflect.IsSlice site.Params.modules.disableTemplate -}}
{{- if in site.Params.modules.disableTemplate $mod}}
{{- $skipTemplate = true -}}
{{- end -}}
{{- end -}}
{{ $state := "" }}
{{- with (index site.Params.modules $mod) -}}
{{- with index . "state" }}{{ $state = . }}{{ end -}}
{{- end -}}
{{- partial "footer/scripts.html" (dict "filename" $filename "match" $match "header" false "skipTemplate" $skipTemplate "state" $state "page" .) }}
{{- end -}}

View File

@@ -4,8 +4,8 @@
command = "npm run build:example" command = "npm run build:example"
[build.environment] [build.environment]
DART_SASS_VERSION = "1.69.7" DART_SASS_VERSION = "1.70.0"
HUGO_VERSION = "0.121.1" HUGO_VERSION = "0.122.0"
HUGO_ENV = "production" HUGO_ENV = "production"
HUGO_ENABLEGITINFO = "true" HUGO_ENABLEGITINFO = "true"
NODE_VERSION = "18.19.0" NODE_VERSION = "18.19.0"

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{ {
"name": "@gethinode/hinode", "name": "@gethinode/hinode",
"version": "0.23.0-beta", "version": "0.23.0-beta4",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "@gethinode/hinode", "name": "@gethinode/hinode",
"version": "0.23.0-beta", "version": "0.23.0-beta4",
"license": "MIT", "license": "MIT",
"devDependencies": { "devDependencies": {
"@fullhuman/postcss-purgecss": "^5.0.0", "@fullhuman/postcss-purgecss": "^5.0.0",

View File

@@ -1,6 +1,6 @@
{ {
"name": "@gethinode/hinode", "name": "@gethinode/hinode",
"version": "0.23.0-beta", "version": "0.23.0-beta4",
"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",