Compare commits

...

48 Commits

Author SHA1 Message Date
Mark Dumay
da1edce3aa Merge pull request #608 from gethinode/develop
Bump package release
2023-11-05 07:29:29 +01:00
Mark Dumay
863012256f Merge branch 'main' into develop 2023-11-05 07:19:13 +01:00
mark
faecbf7f45 Bump package release 2023-11-05 07:18:32 +01:00
Mark Dumay
49581b6749 Merge pull request #607 from gethinode/develop
Adjust thumbnail margins
2023-11-05 06:51:09 +01:00
Mark Dumay
d795d506dd Merge branch 'main' into develop 2023-11-05 06:41:17 +01:00
mark
6348b8ed3f Add bottom margin to cover images 2023-11-05 06:32:43 +01:00
github-actions[bot]
aa2ec54189 Merge pull request #603 from gethinode/dependabot/npm_and_yarn/stylelint-config-standard-scss-11.1.0
Bump stylelint-config-standard-scss from 11.0.0 to 11.1.0
2023-11-03 13:39:12 +00:00
dependabot[bot]
a8fdd78b21 Bump stylelint-config-standard-scss from 11.0.0 to 11.1.0
Bumps [stylelint-config-standard-scss](https://github.com/stylelint-scss/stylelint-config-standard-scss) from 11.0.0 to 11.1.0.
- [Release notes](https://github.com/stylelint-scss/stylelint-config-standard-scss/releases)
- [Changelog](https://github.com/stylelint-scss/stylelint-config-standard-scss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint-scss/stylelint-config-standard-scss/compare/v11.0.0...v11.1.0)

---
updated-dependencies:
- dependency-name: stylelint-config-standard-scss
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-03 13:27:12 +00:00
mark
e1170b8a95 Update minimum version requirement
Depends on Hugo #11510
2023-11-03 11:16:58 +01:00
mark
400ef7d2c5 Update minimum version requirement
Depends on Hugo #11510
2023-11-03 10:41:30 +01:00
Mark Dumay
02fec2c512 Merge pull request #602 from gethinode/develop
Fix KaTeX script in production environment
2023-11-03 07:39:35 +01:00
Mark Dumay
8f4ec5e8d6 Merge branch 'main' into develop 2023-11-03 07:28:07 +01:00
mark
e16e10a8e8 Fix KaTeX script in production environment
Adjust js minification settings to keep variable names.
The built in minifier causes a reference error to an
undefined variable name.
2023-11-03 07:27:34 +01:00
Mark Dumay
15764b7642 Merge pull request #601 from gethinode/develop
Add callout nav
2023-11-03 06:53:26 +01:00
Mark Dumay
a4247c6c6a Merge branch 'main' into develop 2023-11-03 06:12:28 +01:00
mark
1fcfc7c874 Fix linting issues 2023-11-03 06:11:40 +01:00
mark
0a885188a8 Add callout nav 2023-11-03 06:06:30 +01:00
github-actions[bot]
213a78c864 Merge pull request #600 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.116.3
Bump hugo-bin from 0.116.2 to 0.116.3
2023-11-02 13:27:16 +00:00
dependabot[bot]
767d0d0efe Bump hugo-bin from 0.116.2 to 0.116.3
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.116.2 to 0.116.3.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.116.2...v0.116.3)

---
updated-dependencies:
- dependency-name: hugo-bin
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-02 13:20:38 +00:00
github-actions[bot]
51ac0e4c33 Merge pull request #599 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.116.2
Bump hugo-bin from 0.116.1 to 0.116.2
2023-11-01 13:14:45 +00:00
dependabot[bot]
f3d1f2a84b Bump hugo-bin from 0.116.1 to 0.116.2
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.116.1 to 0.116.2.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.116.1...v0.116.2)

---
updated-dependencies:
- dependency-name: hugo-bin
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-01 13:07:10 +00:00
Mark Dumay
856fcdd9f2 Merge pull request #597 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2023-11-01 10:32:37 +01:00
markdumay
3aaef99bb3 fix: update Hugo module dependencies 2023-11-01 03:16:35 +00:00
Mark Dumay
fed96e723f Merge pull request #596 from gethinode/develop
Make section menu responsive
2023-10-31 14:19:17 +01:00
mark
58ba3c1838 Add breadcrumb to tags page 2023-10-31 14:01:47 +01:00
mark
d6b233da3e Align padding 2023-10-31 13:46:46 +01:00
Mark Dumay
8bf7668cc5 Merge branch 'main' into develop 2023-10-31 12:43:41 +01:00
mark
632badddb5 Make section menu responsive 2023-10-31 12:42:58 +01:00
Mark Dumay
c2e1cd370a Merge pull request #595 from gethinode/develop
Address Hugo v0.120.0 deprecation warnings
2023-10-31 11:39:32 +01:00
mark
4ac787bef0 Adapt IsServer check revised in hugo v0.120.0 2023-10-31 11:00:01 +01:00
mark
678b9502ff Adapt new Google Analytics ID config 2023-10-31 10:54:51 +01:00
mark
e2222be7b8 Bump dependencies 2023-10-31 10:53:59 +01:00
Mark Dumay
4c5c2eef73 Merge pull request #594 from gethinode/main
Sync with main
2023-10-31 07:37:59 +01:00
Mark Dumay
064baae07d Merge pull request #593 from gethinode/list
Bump package release
2023-10-30 20:06:13 +01:00
Mark Dumay
a3a0f0fe6c Merge branch 'main' into list 2023-10-30 18:59:27 +01:00
mark
c5dd3c39d9 Bump package release 2023-10-30 18:58:46 +01:00
Mark Dumay
7bb0853525 Merge pull request #592 from gethinode/list
Support layout types for list pages
2023-10-30 18:56:34 +01:00
Mark Dumay
25928bf38a Merge branch 'main' into list 2023-10-30 17:00:47 +01:00
Mark Dumay
09e516db93 Merge pull request #591 from gethinode/develop
Fix section title and modal search
2023-10-30 17:00:17 +01:00
mark
0bf26224df Support layout types for list pages 2023-10-30 16:59:42 +01:00
mark
347704fc8e Remove obsolete debugging statement 2023-10-30 16:58:05 +01:00
Mark Dumay
829795f3fe Merge branch 'main' into develop 2023-10-30 16:42:50 +01:00
mark
5f25b5458e Fix section title of current page 2023-10-30 16:41:40 +01:00
mark
d3e80198a8 Fix purge settings of modal search 2023-10-30 15:31:13 +01:00
Mark Dumay
5afb2936b8 Merge pull request #590 from gethinode/develop
Add horizontal navigation styling parameters
2023-10-30 14:40:59 +01:00
Mark Dumay
2da3f2a2b8 Merge branch 'main' into develop 2023-10-30 14:32:09 +01:00
mark
acebdc610f Bump package release 2023-10-30 14:31:30 +01:00
mark
490df18d60 Add horizontal navigation styling parameters 2023-10-30 14:31:08 +01:00
40 changed files with 1588 additions and 7835 deletions

View File

@@ -11,8 +11,8 @@
{{- end -}}
{{- $pc := .Site.Config.Privacy.GoogleAnalytics -}}
{{- if (and (not .Site.IsServer) (not $pc.Disable)) -}}
{{ with .Site.GoogleAnalytics -}}
{{- if (and (not hugo.IsServer) (not $pc.Disable)) -}}
{{ with .Site.Config.Services.GoogleAnalytics.ID -}}
{{ if hasPrefix . "G-"}}
{{ template "__ga_js_set_doNotTrack" $ }}

View File

@@ -5,6 +5,7 @@
// Include default variable overrides
@import "common/variables-dart.scss"; // note: modified for dart-sass
@import "theme/variables.scss";
@import "common/icons.scss";
// Import Bootstrap configuration (mounted by core Bootstrap module)
@@ -26,6 +27,7 @@
@import "components/comments.scss";
@import "components/feature.scss";
@import "components/footer.scss";
@import "components/nav.scss";
@import "components/navbar.scss";
@import "components/img.scss";
@import "components/pagination.scss";

View File

@@ -3,6 +3,7 @@
// Include default variable overrides
@import "common/variables.scss";
@import "theme/variables.scss";
@import "common/icons.scss";
// Import Bootstrap configuration (mounted by core Bootstrap module)
@@ -24,6 +25,7 @@
@import "components/comments.scss";
@import "components/feature.scss";
@import "components/footer.scss";
@import "components/nav.scss";
@import "components/navbar.scss";
@import "components/img.scss";
@import "components/pagination.scss";

View File

@@ -40,4 +40,8 @@ $primary-text-emphasis-dark: mix(white, h.$primary, h.$dark-mode-tint) !d
$secondary-text-emphasis-dark: mix(white, h.$secondary, h.$dark-mode-tint) !default;
$link-color-dark: mix(white, h.$primary, h.$dark-mode-tint) !default;
$primary-bg-subtle-dark: mix(black, h.$primary, h.$dark-mode-shade) !default;
$primary-border-subtle-dark: mix(black, h.$primary, calc(h.$dark-mode-shade / 2)) !default;
$primary-border-subtle-dark: mix(black, h.$primary, calc(h.$dark-mode-shade / 2)) !default;
$dropdown-transition: opacity .15s ease-in-out !default;
$dropdown-horizontal-margin-top: calc((-1.5 * 1rem) - 2px);
$dropdown-horizontal-padding-y: calc(1rem + 2px);

View File

@@ -33,4 +33,10 @@ $secondary-text-emphasis-dark: mix(white, $secondary, $dark-mode-tint) !def
$link-color-dark: mix(white, $primary, $dark-mode-tint) !default;
$primary-bg-subtle-dark: mix(black, $primary, $dark-mode-shade) !default;
$primary-border-subtle-dark: mix(black, $primary, $dark-mode-shade / 2) !default;
// scss-docs-end color-mode
// scss-docs-end color-mode
// scss-docs-start horizontal-nav
$dropdown-transition: opacity .15s ease-in-out !default;
$dropdown-horizontal-margin-top: calc((-1.5 * 1rem) - 2px);
$dropdown-horizontal-padding-y: calc(1rem + 2px);
// scss-docs-end horizontal-nav

View File

@@ -0,0 +1,103 @@
.nav-tabs > .nav-link.active {
border-bottom-color: var(--bs-body-bg) !important;
border-bottom-style: solid !important;
z-index: 1;
}
.nav-callout {
--#{$prefix}nav-callout-bg: var(--#{$prefix}light);
--#{$prefix}nav-callout-active-bg: var(--bs-primary-bg-subtle);
--#{$prefix}nav-callout-gap: #{$nav-underline-gap};
column-gap: var(--#{$prefix}nav-callout-gap) !important;
}
.nav-callout > .tab-content {
background-color: var(--#{$prefix}nav-callout-bg);
padding: 2 * $spacer;
margin-top: 0 !important;
}
.nav-callout > .nav-link {
display: flex;
text-align: start;
vertical-align: text-top;
border-radius: 0;
padding: 0 0 (4 * $spacer) 0;
border-bottom: none;
}
.nav-callout > .nav-link.active {
background-image: linear-gradient(to top right, var(--#{$prefix}nav-callout-bg) 50%, transparent 0);
background-size: 50% (3 * $spacer);
background-repeat: no-repeat;
background-position: 50% bottom;
font-weight: 600;
color: var(--bs-nav-underline-link-active-color);
}
.nav-callout .accordion-button {
background-color: var(--#{$prefix}nav-callout-bg) !important;
border: solid;
border-color: var(--#{$prefix}border-color);
border-radius: var(--#{$prefix}accordion-inner-border-radius) !important;
margin-bottom: 0;
&:focus {
border-bottom: none !important;
box-shadow: none;
}
&:not(.collapsed) {
box-shadow: none;
}
}
.nav-callout > .accordion-item {
margin-top: 2 * $spacer;
margin-bottom: 2 * $spacer;
border: none;
}
.nav-callout .accordion-button[aria-expanded="false"] {
border-bottom: solid !important;
border-color: var(--#{$prefix}border-color) !important;
border-radius: var(--#{$prefix}accordion-inner-border-radius);
}
.nav-callout .accordion-button[aria-expanded="true"] {
border-color: var(--#{$prefix}border-color) !important;
border-bottom: none !important;
border-radius: var(--#{$prefix}accordion-inner-border-radius) var(--#{$prefix}accordion-inner-border-radius) 0 0 !important;
padding-bottom: 3 * $spacer;
background-image: linear-gradient(to top right, var(--#{$prefix}nav-callout-active-bg) 50%, transparent 0);
background-size: 10% (2.5 * $spacer);
background-repeat: no-repeat;
background-position: 10% bottom;
}
.nav-callout .accordion-collapse {
background-color: var(--#{$prefix}nav-callout-active-bg) !important;
border-radius: 0 0 var(--#{$prefix}accordion-inner-border-radius) var(--#{$prefix}accordion-inner-border-radius);
border-top: none !important;
border-left: solid;
border-right: solid;
border-bottom: solid;
border-color: var(--#{$prefix}border-color);
}
@if $enable-dark-mode {
@include color-mode(dark) {
.nav-callout {
--#{$prefix}nav-callout-bg: var(--#{$prefix}tertiary-bg);
}
.nav-callout .accordion-button[aria-expanded="true"] {
background-image: linear-gradient(to top right, shade-color($primary, 70%) 50%, transparent 0);
}
.nav-callout .accordion-collapse {
background-color: shade-color($primary, 70%) !important;
}
}
}

View File

@@ -130,8 +130,6 @@
}
}
$dropdown-transition: opacity .15s ease-in-out !default;
.dropdown-horizontal {
@each $breakpoint in map-keys($grid-breakpoints) {
$next: breakpoint-next($breakpoint, $grid-breakpoints);
@@ -152,9 +150,9 @@ $dropdown-transition: opacity .15s ease-in-out !default;
text-align: center;
border-radius: 0;
border: 0;
margin-top: calc((-1.5 * $spacer) - 2px);
padding-top: calc(1 * $spacer + 2px);
padding-bottom: 1 * $spacer;
margin-top: $dropdown-horizontal-margin-top;
padding-top: $dropdown-horizontal-padding-y;
padding-bottom: $dropdown-horizontal-padding-y;
box-shadow: 0.125rem 0.25rem rgba(0, 0, 0, .075);
@include transition($dropdown-transition);

View File

@@ -93,4 +93,8 @@
}
}
}
}
}
.section-menu > .nav-link.active, .section-menu > .nav-link:hover {
color: var(--bs-primary);
}

View File

@@ -0,0 +1,2 @@
// Placeholder to quickly add your own theme variable overrides
// The file is included at the beginning of the build pipeline

View File

@@ -6,7 +6,6 @@ enableGitInfo = true
# toml-docs-end main
# additional settings
# googleAnalytics = "G-xxxxxxxxxx"
baseURL = "https://example.com/"
canonifyURLs = false
enableEmoji = true
@@ -73,6 +72,8 @@ home = ["HTML", "RSS", "REDIR"]
disableInlineCSS = true
[services.twitter]
disableInlineCSS = true
[services.googleAnalytics]
# ID = "G-xxxxxxxxxx"
[outputFormats]
[outputFormats.XML]
@@ -83,10 +84,16 @@ home = ["HTML", "RSS", "REDIR"]
permalinkable = false
name = "xml"
[minify]
[minify.tdewolff.js]
keepVarNames = true
precision = 0
version = 2022
[module]
[module.hugoVersion]
extended = true
min = "0.110.0"
min = "0.120.0"
max = ""
[[module.mounts]]
source = "archetypes"

View File

@@ -14,6 +14,7 @@ const purgecss = require('@fullhuman/postcss-purgecss')({
...whitelister([
'./assets/scss/components/_clipboard.scss',
'./assets/scss/components/_command.scss',
'./assets/scss/components/_nav.scss',
'./assets/scss/components/_navbar.scss',
'./assets/scss/components/_search.scss',
'./assets/scss/components/_syntax.scss',
@@ -27,6 +28,7 @@ const purgecss = require('@fullhuman/postcss-purgecss')({
'./_vendor/github.com/gethinode/mod-leaflet/dist/leaflet.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_carousel.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_dropdown.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_modal.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_reboot.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_tooltip.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_transitions.scss',

View File

@@ -5,7 +5,6 @@ paginate = 9
enableGitInfo = true
# additional settings
googleAnalytics = "G-T85PPZ36GN"
baseURL = "https://demo.gethinode.com/"
canonifyURLs = false
enableEmoji = true
@@ -63,6 +62,8 @@ home = ["HTML", "RSS", "REDIR"]
disableInlineCSS = true
[services.twitter]
disableInlineCSS = true
[services.googleAnalytics]
ID = "G-T85PPZ36GN"
[outputFormats]
[outputFormats.XML]
@@ -73,6 +74,12 @@ home = ["HTML", "RSS", "REDIR"]
permalinkable = false
name = "xml"
[minify]
[minify.tdewolff.js]
keepVarNames = true
precision = 0
version = 2022
[module]
replacements = 'github.com/gethinode/hinode -> ../..'
[[module.imports]]

View File

@@ -17,6 +17,8 @@
optional = ["leaflet", "katex", "lottie"]
excludeSCSS = ["bootstrap"]
disableTemplate = ["katex"]
[modules.katex]
state = "defer"
[modules.fontawesome]
inline = true
debug = true

View File

@@ -14,6 +14,7 @@ const purgecss = require('@fullhuman/postcss-purgecss')({
...whitelister([
'./assets/scss/components/_clipboard.scss',
'./assets/scss/components/_command.scss',
'./assets/scss/components/_nav.scss',
'./assets/scss/components/_navbar.scss',
'./assets/scss/components/_search.scss',
'./assets/scss/components/_syntax.scss',
@@ -27,6 +28,7 @@ const purgecss = require('@fullhuman/postcss-purgecss')({
'./_vendor/github.com/gethinode/mod-leaflet/dist/leaflet.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_carousel.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_dropdown.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_modal.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_reboot.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_tooltip.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_transitions.scss',

View File

@@ -56,7 +56,6 @@
"alert-dismissible",
"align-items-center",
"align-items-end",
"align-items-start",
"align-middle",
"align-self-center",
"align-self-end",
@@ -120,6 +119,7 @@
"col-6",
"col-8",
"col-9",
"col-auto",
"col-lg-4",
"col-lg-8",
"col-md-10",
@@ -209,9 +209,6 @@
"form-control",
"fs-3",
"fs-5",
"fullcover",
"fullscreen",
"fw-30",
"fw-bold",
"fw-semibold",
"g-0",

3
go.mod
View File

@@ -3,10 +3,13 @@ module github.com/gethinode/hinode
go 1.19
require (
github.com/airbnb/lottie-web v5.12.2+incompatible // indirect
github.com/gethinode/mod-bootstrap v1.2.2 // indirect
github.com/gethinode/mod-flexsearch v1.6.0 // indirect
github.com/gethinode/mod-fontawesome v1.5.0 // indirect
github.com/gethinode/mod-katex v1.0.4 // indirect
github.com/gethinode/mod-leaflet v0.3.5 // indirect
github.com/gethinode/mod-lottie v1.3.0 // indirect
github.com/nextapps-de/flexsearch v0.0.0-20230711092928-1243fd883ec3 // indirect
github.com/twbs/bootstrap v5.3.2+incompatible // indirect
)

6
go.sum
View File

@@ -1,3 +1,5 @@
github.com/airbnb/lottie-web v5.12.2+incompatible h1:Ldogtlhiucf7mMsgisyxSBY0qunV44+lpa9Icy2KoQc=
github.com/airbnb/lottie-web v5.12.2+incompatible/go.mod h1:nTss557UK9FGnp8QYlCMO29tjUHwbdAHG/DprbGfHGE=
github.com/gethinode/mod-bootstrap v1.0.1 h1:NDZar+UEL42YHCvzzO+jVgqkZU5INA12BpjX3y6U4I4=
github.com/gethinode/mod-bootstrap v1.0.1/go.mod h1:DcpPc2cNaXUPGEvhD7npuEEPA7573NvakTlrwFbyjr8=
github.com/gethinode/mod-bootstrap v1.1.0 h1:BbalsW8kmFhv+J+dcc41TGcjIlM/p69AB0h0oGhAXIU=
@@ -92,3 +94,7 @@ github.com/gethinode/mod-lottie v1.2.0 h1:9S0Y4PlEO66dIvFxayatmDEf8WWxqbLNLi4z56
github.com/gethinode/mod-lottie v1.2.0/go.mod h1:erRCgSL2FCfKHI0jQbSpM+g0jXl7SjKVJrh7kWGteKs=
github.com/gethinode/mod-lottie v1.3.0 h1:vQ8CXkjdp2IeFskTzu+ZnKOEio8GtN08urVK+oCH81E=
github.com/gethinode/mod-lottie v1.3.0/go.mod h1:erRCgSL2FCfKHI0jQbSpM+g0jXl7SjKVJrh7kWGteKs=
github.com/nextapps-de/flexsearch v0.0.0-20230711092928-1243fd883ec3 h1:H/qVR5O4BXjRjD+5PZB+r4ug2BSJ2Of4RtwOntd+OKo=
github.com/nextapps-de/flexsearch v0.0.0-20230711092928-1243fd883ec3/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/twbs/bootstrap v5.3.2+incompatible h1:tuiO5acc6xnZUR77Sbi5aKWXxjYxbmsSbJwYrhAKoQQ=
github.com/twbs/bootstrap v5.3.2+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0=

View File

@@ -79,6 +79,8 @@
translation: "On this page"
- id: seeAlso
translation: "See also"
- id: sectionMenu
translation: "Select a topic"
# Sidebar
- id: toggleSidebar

View File

@@ -77,6 +77,8 @@
translation: "Inhoudsopgave"
- id: seeAlso
translation: "Zie ook"
- id: sectionMenu
translation: "Selecteer een onderwerp"
# Sidebar
- id: toggleSidebar

View File

@@ -1,40 +1,5 @@
{{- define "featured" }}
{{- $sections := $.Scratch.Get "sections" -}}
{{- $headings := slice }}
{{ if .Params.sectionMenu }}
{{ range $sections }}
{{ $headings = $headings | append .title }}
{{ end }}
{{ end }}
{{- $page := . -}}
{{- $orientation := site.Params.list.feature.orientation | default "horizontal" -}}
{{- $width := site.Params.list.feature.width | default 6 -}}
{{- $justify := site.Params.list.feature.justify | default "center" -}}
{{- $align := site.Params.list.feature.align | default "center" -}}
{{- $actions := $page.Params.actions -}}
{{- $layout := $page.Params.layout -}}
{{ if $page.IsHome }}
{{- $orientation = or site.Params.home.feature.orientation $orientation -}}
{{- $width = or site.Params.home.feature.width $width -}}
{{- $justify = or site.Params.home.feature.justify $justify -}}
{{- $align = or site.Params.home.feature.align $align -}}
{{- $actions = (or $actions site.Params.featured.actions) -}}
{{ end }}
{{/* Display featured section */}}
{{- if or (eq $layout "featured") $page.IsHome -}}
{{- partial "list/featured.html" (dict
"page" .
"headings" $headings
"actions" $actions
"orientation" $orientation
"width" $width
"justify" $justify
"align" $align)
-}}
{{- end -}}
{{ .Render "list/header" }}
{{ end }}
{{- define "main" -}}
@@ -43,47 +8,16 @@
{{- $fullCover := $.Scratch.Get "fullCover" -}}
{{- $layout := $page.Params.layout -}}
<div class="container-xxl px-4 px-xxl-0">
<div class="container-xxl p-4 px-xxl-0">
{{- if ne $layout "featured" -}}
{{ if and (not $page.IsHome) site.Params.navigation.breadcrumb }}
<div>{{ partial "assets/breadcrumb.html" $page }}</div>
{{ end -}}
{{- end -}}
<div class="row row-cols-1 row-cols-sm-2">
<div class="col col-sm-12 col-md-8">
{{ if not $page.IsHome }}
{{ with $page.Title }}<p id="{{ anchorize . }}" class="display-4 mt-5{{ if and page.IsHome site.Params.home.centerHeadline }} text-center{{ end }}">{{ . }}</p>{{ end }}
{{ end }}
{{ if ($page.Params.menu) }}
{{- partial "assets/section-menu.html" $page -}}
{{- end -}}
{{- $loading := "" -}}
{{- if or (eq $layout "featured") $page.IsHome -}}
{{- if $fullCover}}{{ $loading = site.Params.main.loading }}{{ end }}
{{ end }}
{{- $content := partial "utilities/ProcessContent" (dict "page" $page "raw" $page.RawContent "loading" $loading) -}}
{{ $content | safeHTML }}
{{ if and (and $sections (eq (len $sections) 1)) (not $content) }}
<p class="pt-4">{{- T "emptyList" }}.</p>
{{ end }}
</div>
{{ with $page.Params.contact }}
{{- $contact := site.GetPage . }}
{{- if not $contact }}
{{- errorf "Error processing content file '%s' - Cannot find contact: %s" $page.File . -}}
{{- else -}}
{{ $color := site.Params.contact.color | default "primary" }}
{{ $style := site.Params.contact.style | default "shadow" }}
<div class="col col-md-4 d-none d-md-block pt-5">
{{- partial "assets/card.html" (dict "path" $page.Params.contact "color" $color "header" "none" "footer" "none" "ratio" "1x1" "class" (printf "w-75 mx-auto mt-4 %s" $style)) -}}
</div>
<div class="col col-sm-12 d-md-none pt-5">
{{- partial "assets/card.html" (dict "path" $page.Params.contact "color" $color "header" "none" "footer" "none" "orientation" "horizontal" "class" $style) -}}
</div>
{{- end }}
{{ end }}
</div>
{{ .Render "list/body" }}
{{ .Render "list/footer" }}
</div>
{{/* Display generated sections */}}
@@ -91,6 +25,6 @@
{{ .content | safeHTML }}
{{ end }}
{{/* Fill remaining space to push footer to viewport bottom */}}
{{/* Fill remaining space to push page footer to viewport bottom */}}
<div class="container-fluid flex-fill"></div>
{{- end -}}

View File

@@ -0,0 +1,23 @@
{{- $sections := $.Scratch.Get "sections" -}}
{{- $fullCover := $.Scratch.Get "fullCover" -}}
{{- $layout := .Params.layout -}}
<div class="row row-cols-1 row-cols-sm-2">
<div class="col col-sm-12 col-md-8">
{{ 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 }}
{{ end }}
{{ if (.Params.menu) }}
{{- partial "assets/section-menu.html" . -}}
{{- end -}}
{{- $loading := "" -}}
{{- if or (eq $layout "featured") .IsHome -}}
{{- if $fullCover }}{{ $loading = site.Params.main.loading }}{{ end }}
{{ end }}
{{- $content := partial "utilities/ProcessContent" (dict "page" . "raw" .RawContent "loading" $loading) -}}
{{ $content | safeHTML }}
{{ if and (and $sections (eq (len $sections) 1)) (not $content) }}
<p class="pt-4">{{- T "emptyList" }}.</p>
{{ end }}
</div>
</div>

View File

@@ -0,0 +1 @@
{{/* Adds a custom footer directly below the list body */}}

View File

@@ -0,0 +1,35 @@
{{- $sections := $.Scratch.Get "sections" -}}
{{- $headings := slice }}
{{ if .Params.sectionMenu }}
{{ range $sections }}
{{ $headings = $headings | append .title }}
{{ end }}
{{ end }}
{{- $orientation := site.Params.list.feature.orientation | default "horizontal" -}}
{{- $width := site.Params.list.feature.width | default 6 -}}
{{- $justify := site.Params.list.feature.justify | default "center" -}}
{{- $align := site.Params.list.feature.align | default "center" -}}
{{- $actions := .Params.actions -}}
{{- $layout := .Params.layout -}}
{{ if .IsHome }}
{{- $orientation = or site.Params.home.feature.orientation $orientation -}}
{{- $width = or site.Params.home.feature.width $width -}}
{{- $justify = or site.Params.home.feature.justify $justify -}}
{{- $align = or site.Params.home.feature.align $align -}}
{{- $actions = (or $actions site.Params.featured.actions) -}}
{{ end }}
{{/* Display featured section */}}
{{- if or (eq $layout "featured") .IsHome -}}
{{- partial "list/featured.html" (dict
"page" .
"headings" $headings
"actions" $actions
"orientation" $orientation
"width" $width
"justify" $justify
"align" $align)
-}}
{{- end -}}

View File

@@ -1 +1,2 @@
{{- partial "single/thumbnail.html" . -}}
{{- partial "single/thumbnail.html" (dict "page" . "class" "mb-5") -}}

View File

@@ -10,6 +10,8 @@
"body" The body content of the nav-item, supports Markdown and HTML (if enabled).
"show" Optional flag to indicate the item should be shown as expanded (only one can be shown at a time).
"disabled" Optional flag to indicate the item should be in a disabled state.
"type" Optional type of the item to render, supports "accordion" as alternative format. Defaults to
"tab-pane".
-->
{{- $id := .id -}}
@@ -21,9 +23,33 @@
{{- $body := .body -}}
{{- $show := .show -}}
{{- $disabled := .disabled -}}
{{- $type := .type -}}
{{- $illustration := .illustration -}}
<div class="tab-pane{{ if $show }} active {{ if $fade }}show{{ end }}{{ end }} {{ if $fade}}fade{{ end }}{{ with $class }} {{ . }}{{ end }}" id="{{ $parentID }}-{{ $id }}"
role="tabpanel" aria-labelledby="{{ $parentID }}-btn-{{ $id }}" tabindex="0" data-header="{{ $header }}" {{ if $show }}data-show-id="{{ $id }}"{{ end }}
data-has-content="{{ gt (len $body) 0 }}" {{ if $disabled }} data-disabled-id="{{ $id }}"{{ end }}>
{{ $body }}
</div>
{{ if eq $type "accordion" }}
<div class="accordion-item{{ if $show }} show{{ end }}{{ with $class }} {{ . }}{{ end }}">
{{- with $header -}}
<h2 class="accordion-header m-0" id="accordion-{{ $parentID }}-heading-{{ $id }}">
<button class="accordion-button collapsed {{ if $disabled }} text-secondary{{ end }}" type="button" data-bs-toggle="collapse" data-bs-target="#accordion-{{ $parentID }}-item-{{ $id }}" aria-expanded="false" aria-controls="accordion-{{ $parentID }}-item-{{ $id }}"{{ if $disabled }} disabled{{ end }}>
{{ if $illustration }}
<div class="row">
<div class="col-3 col-sm-2 my-auto">{{ $illustration | safeHTML }}</div>
<div class="col-9 col-sm-10 fs-6 fs-sm-5 my-auto">{{ . }}</div>
</div>
{{ else }}
{{ . }}
{{ end }}
</button>
</h2>
{{- end -}}
<div id="accordion-{{ $parentID }}-item-{{ $id }}" class="accordion-collapse collapse{{ with $class }} {{ . }}{{ end }}" aria-labelledby="{{ $parentID }}-heading-{{ $id }}" data-bs-parent="#accordion-{{ $parentID }}">
<div class="accordion-body">{{- $body | safeHTML -}}</div>
</div>
</div>
{{ else }}
<div class="tab-pane{{ if $show }} active {{ if $fade }}show{{ end }}{{ end }} {{ if $fade}}fade{{ end }}{{ with $class }} {{ . }}{{ end }}" id="{{ $parentID }}-{{ $id }}"
role="tabpanel" aria-labelledby="{{ $parentID }}-btn-{{ $id }}" tabindex="0" data-header="{{ $header }}" {{ if $show }}data-show-id="{{ $id }}"{{ end }}
data-has-content="{{ gt (len $body) 0 }}" {{ if $disabled }} data-disabled-id="{{ $id }}"{{ end }}>
{{ $body }}
</div>
{{ end }}

View File

@@ -4,7 +4,7 @@
"page" Required context of the current page.
"list" Required array of pages.
"title" Optional title of the tab group.
"type" Optional type of the tab group, either "tabs", "pills" (default), or "underline".
"type" Optional type of the tab group, either "tabs", "pills" (default), "underline" or "callout".
"vertical" Optional flag to show vertical tabs instead of horizontal tabs (default).
"class" Optional class attribute of the tab group, e.g. “nav-fill”.
"pane" Optional style of the panes, either "none" (default) or "persona".
@@ -70,7 +70,7 @@
{{ $type := "pills" }}
{{ with .type }}
{{ $type = . -}}
{{ $supportedNavTypes := slice "tabs" "pills" "underline" -}}
{{ $supportedNavTypes := slice "tabs" "pills" "underline" "callout" -}}
{{ if $type }}
{{ if not (in $supportedNavTypes $type) -}}
{{ errorf "partial [assets/nav.html] - Invalid value for param 'type': %s" $type -}}
@@ -86,8 +86,31 @@
{{ end -}}
{{- end -}}
<div class="{{ if eq $width 50 }}col-sm-12 col-md-10 col-lg-8 col-xl-6{{ else }}col-12{{ end }} mx-auto pt-5 pb-5">
<div class="{{ if eq $width 50 }}col-sm-12 col-md-10 col-lg-8 col-xl-6{{ else }}col-12{{ end }} mx-auto">
{{ if $vertical }}<div class="d-flex align-items-start">{{ end }}
{{ if eq $type "callout" }}
<div class="d-lg-none">
<div id="accordion-{{ $id }}" class="accordion mb-3{{ with $class }} {{ . }}{{ end }} nav-callout">
{{- range $index, $item := $list -}}
{{ partial "assets/nav-item" (dict
"id" $index
"parentID" $id
"fade" false
"header" $item.Title
"class" $class
"body" (or $item.Description $item.Content)
"show" false
"disabled" false
"type" "accordion"
"illustration" (partial "utilities/GetIllustration.html" (dict "item" $item "size" "col-12"))
)
}}
{{ end -}}
</div>
</div>
<div class="d-none d-lg-block">
{{ end }}
<div class="nav{{ with $type }} nav-{{ . }}{{ end }}{{ with $class }} {{ . }}{{ end }}{{ if $vertical }} flex-column{{ end }}" id="nav-{{ $id }}" role="tablist"{{ if $vertical }} aria-orientation="vertical"{{ end }}>
{{- range $index, $item := $list -}}
{{ $show := eq $index 0}}
@@ -96,29 +119,39 @@
{{ $item.Title }}
</button>
{{ end -}}
<div class="tab-content {{ if eq $type "tabs" }}border border-bottom-0 p-3{{ else if $vertical }}ms-3{{ else }}mt-3{{ end }}">
{{ range $index, $item := $list }}
{{ $header := $item.Title }}
{{ $body := $item.Content }}
{{ $show := eq $index 0}}
{{- $thumbnail := (or (and (reflect.IsMap $item.Params.Thumbnail) $item.Params.Thumbnail.url) $item.Params.Thumbnail) -}}
<div class="tab-pane{{ if $show }} active{{ end }}" id="nav-{{ $id }}-{{ $index }}" role="tabpanel" aria-labelledby="{{ $id }}-btn-{{ $index }}" tabindex="0">
{{- if eq $pane "persona" -}}
{{- partial "assets/persona.html" (dict
"title" $item.Title
"class" $class
"color" $color
"content" (partial "utilities/GetDescription.html" $item)
"thumbnail" $thumbnail
"loading" $loading
) -}}
{{- else -}}
{{ $illustration := (partial "utilities/GetIllustration.html" (dict "item" $item)) }}
{{ if $illustration }}
<div class="row">
<div class="col-12 col-lg-10 order-1 order-lg-0">{{- (or $item.Description $item.Content) -}}</div>
<div class="col-12 col-lg-2 order-0 order-lg-1">{{ $illustration | safeHTML }}</div>
</div>
{{ else }}
{{- (or $item.Description $item.Content) -}}
{{ end }}
{{- end -}}
</div>
{{ end }}
</div>
</div>
<div class="tab-content {{ if eq $type "tabs" }}border border-top-0 p-3{{ else if $vertical }}ms-3{{ else }}mt-3{{ end }}">
{{ range $index, $item := $list }}
{{ $header := $item.Title }}
{{ $body := $item.Content }}
{{ $show := eq $index 0}}
{{- $thumbnail := (or (and (reflect.IsMap $item.Params.Thumbnail) $item.Params.Thumbnail.url) $item.Params.Thumbnail) -}}
<div class="tab-pane{{ if $show }} active{{ end }}" id="nav-{{ $id }}-{{ $index }}" role="tabpanel" aria-labelledby="{{ $id }}-btn-{{ $index }}" tabindex="0">
{{- if eq $pane "persona" -}}
{{- partial "assets/persona.html" (dict
"title" $item.Title
"class" $class
"color" $color
"content" (partial "utilities/GetDescription.html" $item)
"thumbnail" $thumbnail
"loading" $loading
) -}}
{{- else -}}
{{- (or $item.Description $item.Content) -}}
{{- end -}}
</div>
{{ end }}
</div>
{{ if eq $type "callout" }}</div>{{ end }}
{{ if $vertical }}</div>{{ end }}
</div>

View File

@@ -68,7 +68,7 @@
{{- range $index, $item := $list -}}
{{- $active := eq $item.label $version -}}
{{- $disabled := false -}}
{{- if site.IsServer }}
{{- if hugo.IsServer }}
{{- $disabled = and $item.redirect (gt (len $item.redirect) 0) -}}
{{- end -}}
{{ if $item.url }}

View File

@@ -5,7 +5,31 @@
{{ end }}
{{- if gt (len $items) 0 }}
<nav class="navbar navbar-expand navbar-services p-0 fs-5">
<div class="d-grid gap-2 mx-auto d-md-none">
{{ partial "assets/button.html" (dict
"title" (T "sectionMenu")
"color" "secondary"
"outline" "true"
"class" "toc-button"
"icon" "fas sort"
"justify" "between"
"collapse" "toc-collapse"
"order" "last")
-}}
</div>
<p>
<div class="collapse border bg-body-tertiary rounded p-1 navbar-nav-scroll" id="toc-collapse">
<div class="toc toc-panel section-menu text-body p-2 fs-6">
{{- range $items }}
{{ $active := eq $page.RelPermalink .RelPermalink }}
<a class="nav-link{{ if $active }} active{{ end }}" href="{{ .RelPermalink }}">{{ .Title }}</a>
{{- end }}
</div>
</div>
</p>
<nav class="navbar navbar-expand navbar-services p-0 fs-5 d-none d-md-block">
<div class="container-fluid p-0 pb-3">
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">

View File

@@ -25,10 +25,10 @@
{{- $js = $bundle | resources.ExecuteAsTemplate $filename $page -}}
{{- end -}}
{{- if and (not site.IsServer) $header -}}
{{- if and (not hugo.IsServer) $header -}}
{{- $pc := site.Config.Privacy.GoogleAnalytics -}}
{{- if and (not $pc.Disable) (hasPrefix site.GoogleAnalytics "G-") }}
<script async src="https://www.googletagmanager.com/gtag/js?id={{ site.GoogleAnalytics }}"></script>
{{- if and (not $pc.Disable) (hasPrefix site.Config.Services.GoogleAnalytics.ID "G-") }}
<script async src="https://www.googletagmanager.com/gtag/js?id={{ site.Config.Services.GoogleAnalytics.ID }}"></script>
{{- end }}
{{- end -}}

View File

@@ -62,7 +62,7 @@
{{- end -}}
<div class="container-fluid p-0 {{ with site.Params.home.feature.color }} bg-{{ . }} bg-opacity-{{ site.Params.style.themeOpacity | default "25" | safeHTML }}{{ end }}">
<div class="container-xxl {{ if $breadcrumb }} pb-4 px-4 {{ else }} p-4 {{ end }} px-xxl-0 {{ if site.Params.home.fullCover }} fullcover{{ end }} d-flex flex-column">
<div class="container-xxl p-4 px-xxl-0 {{ if site.Params.home.fullCover }} fullcover{{ end }} d-flex flex-column">
{{ if $breadcrumb }}
<div>{{ partial "assets/breadcrumb.html" $page }}</div>
{{ end -}}

View File

@@ -1,20 +1,22 @@
{{- $page := .page -}}
{{- $class := printf "img-wrap %s" .class -}}
{{- $thumbnail := "" -}}
{{- $credits := "" -}}
{{- if reflect.IsMap .Params.Thumbnail -}}
{{- $thumbnail = .Params.Thumbnail.url -}}
{{- if reflect.IsMap $page.Params.Thumbnail -}}
{{- $thumbnail = $page.Params.Thumbnail.url -}}
{{- $author := "" -}}
{{- if and .Params.Thumbnail.authorURL "text" .Params.Thumbnail.author }}
{{- $author = partial "utilities/link" (dict "destination" .Params.Thumbnail.authorURL "text" .Params.Thumbnail.author) -}}
{{- else if .Params.Thumbnail.author }}
{{- $author = .Params.Thumbnail.author -}}
{{- if and $page.Params.Thumbnail.authorURL "text" $page.Params.Thumbnail.author }}
{{- $author = partial "utilities/link" (dict "destination" $page.Params.Thumbnail.authorURL "text" $page.Params.Thumbnail.author) -}}
{{- else if $page.Params.Thumbnail.author }}
{{- $author = $page.Params.Thumbnail.author -}}
{{- end -}}
{{- $origin := "" -}}
{{- if and .Params.Thumbnail.originURL "text" .Params.Thumbnail.origin }}
{{- $origin = partial "utilities/link" (dict "destination" .Params.Thumbnail.originURL "text" .Params.Thumbnail.origin) -}}
{{- else if .Params.Thumbnail.origin }}
{{- $origin = .Params.Thumbnail.origin -}}
{{- if and $page.Params.Thumbnail.originURL "text" $page.Params.Thumbnail.origin }}
{{- $origin = partial "utilities/link" (dict "destination" $page.Params.Thumbnail.originURL "text" $page.Params.Thumbnail.origin) -}}
{{- else if $page.Params.Thumbnail.origin }}
{{- $origin = $page.Params.Thumbnail.origin -}}
{{- end }}
{{- if and $author $origin }}
@@ -23,13 +25,13 @@
{{ $credits = T "photoShort" $author }}
{{ end }}
{{ else }}
{{- $thumbnail = .Params.Thumbnail -}}
{{ if or .Params.photoCredits .Params.photoSource }}
{{ warnf "DEPRECATED: frontmatter variables `photoCredits` and `photoSource` have been deprecated in release v0.18: %s" .RelPermalink }}
{{- $thumbnail = $page.Params.Thumbnail -}}
{{ if or $page.Params.photoCredits $page.Params.photoSource }}
{{ warnf "DEPRECATED: frontmatter variables `photoCredits` and `photoSource` have been deprecated in release v0.18: %s" $page.RelPermalink }}
{{ end }}
{{- if and .Params.photoCredits .Params.PhotoSource }}{{ $credits = printf (T "photoFull") .Params.photoCredits .Params.PhotoSource }}{{ end -}}
{{- if and $page.Params.photoCredits $page.Params.PhotoSource }}{{ $credits = printf (T "photoFull") $page.Params.photoCredits $page.Params.PhotoSource }}{{ end -}}
{{- end -}}
{{ if $thumbnail -}}
{{- partial "assets/image.html" (dict "url" $thumbnail "ratio" "21x9" "outerClass" "img-wrap" "innerClass" "rounded" "title" .Params.title "caption" $credits) -}}
{{- partial "assets/image.html" (dict "url" $thumbnail "ratio" "21x9" "outerClass" $class "innerClass" "rounded" "title" $page.Params.title "caption" $credits) -}}
{{ end -}}

View File

@@ -0,0 +1,21 @@
{{- $item := .item -}}
{{- $illustration := "" -}}
{{- $style := "img-wrap mx-auto mx-md-0" -}}
{{- $size := .size | default "col-12 col-sm-4 col-lg-12" -}}
{{ if $item.Params.icon }}
{{- $icon := (or (and (reflect.IsMap $item.Params.Icon) $item.Params.Icon.url) $item.Params.Icon) -}}
{{- $mode := and (reflect.IsMap $item.Params.Icon) $item.Params.Icon.mode -}}
{{ if eq (lower (path.Ext $icon)) ".json" }}
{{ $illustration = partial "assets/animation.html" (dict "data" $icon "mode" $mode "loop" false "hover" true "class" (printf "mx-auto text-center %s" $size)) }}
{{ else }}
{{ $illustration = partial "assets/icon.html" (dict "icon" "mode" $mode $icon "wrapper" "mx-auto text-center")}}
{{ end }}
{{ else }}
{{- $thumbnail := (or (and (reflect.IsMap $item.Params.Thumbnail) $item.Params.Thumbnail.url) $item.Params.Thumbnail) -}}
{{- if $thumbnail }}
{{ $illustration = partial "assets/image.html" (dict "url" $thumbnail "ratio" "16x9" "outerClass" $style "innerClass" "rounded" "title" $item.Site.Title) }}
{{ end }}
{{ end }}
{{ return $illustration }}

View File

@@ -3,7 +3,7 @@
{{/* Add title for current page */}}
{{- $items := slice -}}
{{ $items = $items | append (dict "title" .Title "content" "" )}}
{{ $items = $items | append (dict "title" $page.Title "content" "" )}}
{{/* Identify page sections */}}
{{- $sections := slice -}}

View File

@@ -55,8 +55,6 @@
{{- end -}}
{{- end -}}
{{/* warnf "FILES: %s" $sorted */}}
{{ $bundle := "" }}
{{ if gt (len $sorted) 0 }}
{{ $bundle = $sorted | resources.Concat $filename -}}

View File

@@ -22,6 +22,8 @@
{{- $fade = true -}}
{{- end -}}
{{- $type := .Parent.Get "type" -}}
{{- $header := .Get "header" | default "" -}}
{{- if not $header -}}
{{- errorf "Missing value for param 'header': %s" .Parent.Position -}}
@@ -58,6 +60,7 @@
"body" $body
"show" $show
"disabled" $disabled
"type" $type
)
}}
@@ -67,4 +70,24 @@
{{ else }}
{{ .Parent.Scratch.Set "inner" $output }}
{{ end }}
{{ $alternative := partial "assets/nav-item" (dict
"id" $id
"parentID" $parent
"fade" $fade
"header" $header
"class" $class
"body" $body
"show" $show
"disabled" $disabled
"type" "accordion"
)
}}
{{ $current := .Parent.Scratch.Get "alternative" }}
{{ if $current }}
{{ .Parent.Scratch.Set "alternative" (print $current $alternative) }}
{{ else }}
{{ .Parent.Scratch.Set "alternative" $alternative }}
{{ end }}
{{ end }}

View File

@@ -1,7 +1,7 @@
<!--
Displays a tab group of multiple items. Add nav-item inner elements for each tab pane. The shortcode supports the
following arguments:
"type" Optional type of the tab group, either "tabs", "pills", or "underline".
"type" Optional type of the tab group, either "tabs", "pills", "underline", or "callout".
"vertical" Optional flag to show vertical tabs instead of horizontal tabs (default).
"fade" Optional flag to make tab panes fade in.
"class" Optional class attribute of the tab group, e.g. “nav-fill”.
@@ -15,7 +15,7 @@
{{- $class := .Get "class" | default "" -}}
{{ $type := .Get "type" | default "" -}}
{{ $supportedNavTypes := slice "tabs" "pills" "underline" -}}
{{ $supportedNavTypes := slice "tabs" "pills" "underline" "callout" -}}
{{ if $type }}
{{ if not (in $supportedNavTypes $type) -}}
{{ errorf "Invalid value for param 'type': %s" $type -}}
@@ -71,8 +71,18 @@
{{- $hasContent := gt (len (findRE "data-has-content=\"true\"" $inner)) 0 -}}
{{ if $vertical }}<div class="d-flex align-items-start">{{ end }}
{{ $alternative := .Scratch.Get "alternative" }}
{{ if and (eq $type "callout") $alternative }}
<div class="d-lg-none">
<div id="accordion-{{ $id }}" class="accordion mb-3{{ with $class }} {{ . }}{{ end }} nav-callout">
{{- $alternative | safeHTML -}}
</div>
</div>
<div class="d-none d-lg-block">
{{ end }}
<div class="nav{{ with $type }} nav-{{ . }}{{ end }}{{ with $class }} {{ . }}{{ end }}{{ if $vertical }} flex-column{{ end }}" id="{{ $id }}" role="tablist"{{ if $vertical }} aria-orientation="vertical"{{ end }}>
{{ if $vertical }}<div class="row"><div class="col-auto">{{ end }}
{{- range $index, $item := $items -}}
{{- $header := partial "utilities/GetVal.html" $item -}}
{{- $itemDisabled := in $disabled $index -}}
@@ -81,11 +91,13 @@
{{ $header }}
</button>
{{ end -}}
</div>
{{- if $hasContent -}}
<div class="tab-content {{ if eq $type "tabs" }}border border-top-0 p-3{{ else if $vertical }}ms-3{{ else }}mt-3{{ end }}">
{{- $inner | safeHTML -}}
{{ if $vertical }}</div><div class="col">{{ end }}
{{- if $hasContent -}}
<div class="tab-content w-100 {{ if not $vertical }} {{ end }}{{ if eq $type "tabs" }}border border-bottom-0 p-3{{ else if $vertical }}ms-3{{ else }}mt-3{{ end }}">
{{- $inner | safeHTML -}}
</div>
{{- end -}}
{{ if $vertical }}</div></div>{{ end }}
</div>
{{- end -}}
{{ if $vertical }}</div>{{ end }}
{{ if and (eq $type "callout") $alternative }}</div>{{ end }}

View File

@@ -1,8 +1,17 @@
{{ define "main" }}
<div class="container-xxl flex-fill px-4 px-xxl-0">
{{- $page := . -}}
{{- $layout := $page.Params.layout -}}
<div class="container-xxl flex-fill p-4 px-xxl-0">
<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">
{{- if ne $layout "featured" -}}
{{ if and (not $page.IsHome) site.Params.navigation.breadcrumb }}
<div>{{ partial "assets/breadcrumb.html" $page }}</div>
{{ end -}}
{{- end -}}
<p class="display-4 mt-5">{{ .Name | humanize }}</p>
{{ if eq .Kind "taxonomy" }}

8812
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"name": "@gethinode/hinode",
"version": "0.21.0-beta8",
"version": "0.21.0",
"description": "Hinode is a clean documentation and blog theme for Hugo, an open-source static site generator",
"keywords": [
"hugo",
@@ -78,7 +78,7 @@
"eslint-plugin-import": "^2.29.0",
"eslint-plugin-n": "^16.2.0",
"eslint-plugin-promise": "^6.1.1",
"hugo-bin": "^0.115.0",
"hugo-bin": "^0.116.3",
"markdownlint-cli2": "^0.10.0",
"netlify-plugin-hugo-cache-resources": "^0.2.1",
"npm-run-all": "^4.1.5",
@@ -88,7 +88,7 @@
"rimraf": "^5.0.5",
"shx": "^0.3.4",
"stylelint": "^15.11.0",
"stylelint-config-standard-scss": "^11.0.0"
"stylelint-config-standard-scss": "^11.1.0"
},
"optionalDependencies": {
"fsevents": "*"

View File

@@ -6,7 +6,7 @@ homepage = "https://gethinode.com"
demosite = "https://demo.gethinode.com"
tags = ["blog", "documentation", "minimal", "modern", "customizable", "search", "bootstrap"]
features = ["security aware", "fast by default", "seo-ready", "development tools", "bootstrap framework", "netlify-ready", "full text search", "page layouts", "versioned documentation"]
min_version = "0.118.0" # fixes Hugo issue #11406
min_version = "0.120.0"
[author]
name = "Mark Dumay"