Compare commits

...

100 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
Mark Dumay
85fdf28bdc Merge pull request #757 from gethinode/develop
Add optional button to card
2024-02-07 17:23:47 +01:00
Mark Dumay
1c1f4be1f9 Merge branch 'main' into develop 2024-02-07 17:17:02 +01:00
Mark Dumay
e4f949f67b Disable macOS test
See https://github.com/sass/homebrew-sass/issues/57
2024-02-07 17:16:42 +01:00
Mark Dumay
2fe3c69a2d Merge branch 'main' into develop 2024-02-07 17:03:16 +01:00
Mark Dumay
08b3725307 Add brew tap 2024-02-07 17:03:05 +01:00
Mark Dumay
664fb87e4e Merge branch 'main' into develop 2024-02-07 16:57:58 +01:00
Mark Dumay
9bf90dfa98 Switch to brew extract 2024-02-07 16:57:24 +01:00
Mark Dumay
867f684b6a Merge branch 'main' into develop 2024-02-07 16:51:05 +01:00
Mark Dumay
3bcb2138c1 Switch from brew to gem on macOS 2024-02-07 16:50:22 +01:00
Mark Dumay
693c2be098 Bump actions/cache to v4 2024-02-07 16:10:39 +01:00
Mark Dumay
da63bcb4eb Merge branch 'main' into develop 2024-02-07 16:04:36 +01:00
Mark Dumay
564a62e780 Add optional button to card 2024-02-07 16:03:57 +01:00
Mark Dumay
01e4837669 Bump package release 2024-02-07 14:58:33 +01:00
Mark Dumay
0a2a1a8b1a Merge pull request #753 from gethinode/develop
Allow raw content for headless pages
2024-02-05 14:52:29 +01:00
Mark Dumay
154ddfe1cc Merge branch 'main' into develop 2024-02-05 14:37:23 +01:00
Mark Dumay
14786383ec Bump package release 2024-02-05 14:36:56 +01:00
Mark Dumay
e5aae017a6 Allow raw content for headless pages 2024-02-05 14:36:21 +01:00
Mark Dumay
68ceb8c71e Merge pull request #752 from gethinode/develop
Drop max range requirement of card groups
2024-02-05 11:05:45 +01:00
Mark Dumay
dcd94a7137 Bump dependencies 2024-02-05 10:59:35 +01:00
Mark Dumay
1e75a3675e Merge branch 'main' into develop 2024-02-05 10:23:40 +01:00
Mark Dumay
6c301e2512 Drop max range requirement 2024-02-05 10:22:26 +01:00
Mark Dumay
59c06c7f02 Merge pull request #751 from gethinode/develop
Fix more button spacing
2024-02-04 09:47:22 +01:00
Mark Dumay
85aad4c431 Merge branch 'main' into develop 2024-02-04 09:22:52 +01:00
Mark Dumay
ade4df79ed Bump package release 2024-02-04 09:22:18 +01:00
Mark Dumay
ec12b41293 Fix more button spacing 2024-02-04 09:21:51 +01:00
Mark Dumay
7216c88e0b Merge pull request #750 from gethinode/develop
Restrict max range
2024-02-04 08:57:20 +01:00
Mark Dumay
fac87c69e2 Merge branch 'main' into develop 2024-02-04 08:15:24 +01:00
Mark Dumay
62d4fdeb32 Merge pull request #749 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2024-02-04 08:00:42 +01:00
Mark Dumay
91da0c7d0d Restrict max range 2024-02-04 07:42:28 +01:00
markdumay
b116c2582f fix: update Hugo module dependencies 2024-02-04 06:39:58 +00:00
Mark Dumay
276307fb5c Merge pull request #748 from gethinode/develop
Refine fixed navbar rendering
2024-02-04 07:06:31 +01:00
Mark Dumay
54ae613298 Merge branch 'main' into develop 2024-02-04 06:57:32 +01:00
Mark Dumay
a22040f4e3 Refine fixed navbar rendering 2024-02-04 06:56:50 +01:00
Mark Dumay
630cc55361 Improve error handling 2024-02-04 06:56:06 +01:00
Mark Dumay
2aacace6ad Merge pull request #747 from gethinode/develop
Fix init of card padding with zero value
2024-02-04 06:04:34 +01:00
Mark Dumay
91714727c3 Merge branch 'main' into develop 2024-02-04 05:52:12 +01:00
Mark Dumay
8e21f36619 Bump package release 2024-02-04 05:51:39 +01:00
Mark Dumay
baa88ca957 Fix init of padding with zero value 2024-02-04 05:50:25 +01:00
Mark Dumay
1874fc9b47 Merge pull request #746 from gethinode/develop
Improve flex search index
2024-02-03 10:29:18 +01:00
Mark Dumay
6c9543d05a Merge branch 'main' into develop 2024-02-03 10:20:50 +01:00
Mark Dumay
a614c35f05 Merge pull request #745 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2024-02-03 10:20:08 +01:00
Mark Dumay
0d7bc8e7d8 Bump package release 2024-02-03 10:13:00 +01:00
Mark Dumay
39b3d500d0 Add default flexsearch configuration 2024-02-03 10:12:19 +01:00
Mark Dumay
03200f3828 Update build stats 2024-02-03 10:12:02 +01:00
markdumay
044a5eadcd fix: update Hugo module dependencies 2024-02-03 09:09:42 +00:00
Mark Dumay
e924bd96ec Merge pull request #743 from gethinode/develop
Refine responsive icon size on cards
2024-02-03 05:29:15 +01:00
Mark Dumay
e234240e74 Merge branch 'main' into develop 2024-02-03 05:14:42 +01:00
Mark Dumay
33473b0db1 Refine responsive icon size on cards 2024-02-03 05:13:45 +01:00
github-actions[bot]
cfad29f9d4 Merge pull request #741 from gethinode/dependabot/npm_and_yarn/netlify/plugin-lighthouse-6.0.0
Bump @netlify/plugin-lighthouse from 5.0.0 to 6.0.0
2024-01-31 13:45:11 +00:00
dependabot[bot]
7ffdbea3ec Bump @netlify/plugin-lighthouse from 5.0.0 to 6.0.0
Bumps [@netlify/plugin-lighthouse](https://github.com/netlify/netlify-plugin-lighthouse) from 5.0.0 to 6.0.0.
- [Release notes](https://github.com/netlify/netlify-plugin-lighthouse/releases)
- [Changelog](https://github.com/netlify/netlify-plugin-lighthouse/blob/main/CHANGELOG.md)
- [Commits](https://github.com/netlify/netlify-plugin-lighthouse/compare/v5.0.0...v6.0.0)

---
updated-dependencies:
- dependency-name: "@netlify/plugin-lighthouse"
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-31 13:39:13 +00:00
github-actions[bot]
2c2fb4d305 Merge pull request #740 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.119.0
Bump hugo-bin from 0.118.1 to 0.119.0
2024-01-29 13:44:24 +00:00
dependabot[bot]
709172c506 Bump hugo-bin from 0.118.1 to 0.119.0
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.118.1 to 0.119.0.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.118.1...v0.119.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-29 13:37:22 +00:00
Mark Dumay
8727ee50ee Merge pull request #739 from gethinode/develop
Update installation instructions for Windows
2024-01-29 11:21:28 +01:00
mark
04d4d20ba6 Fix linting issue 2024-01-29 11:11:47 +01:00
Mark Dumay
e77ea9358e Merge branch 'main' into develop 2024-01-29 10:50:44 +01:00
Mark Dumay
6263dc0649 Update installation instructions for Windows 2024-01-29 10:50:12 +01:00
Mark Dumay
52eccfc384 Merge pull request #737 from gethinode/develop
Fix navbar toggler color in overlay mode
2024-01-28 08:28:47 +01:00
Mark Dumay
13085416e2 Merge branch 'main' into develop 2024-01-28 07:15:32 +01:00
Mark Dumay
f7efa99fc3 Bump package release 2024-01-28 07:15:09 +01:00
Mark Dumay
32d6b8844a Fix navbar toggler color in overlay mode 2024-01-28 07:14:27 +01:00
Mark Dumay
1c4287a3ed Merge pull request #735 from gethinode/develop
Add support for card group data
2024-01-27 12:26:50 +01:00
Mark Dumay
354fa85f38 Fix alignment of features 2024-01-27 11:40:42 +01:00
Mark Dumay
78fb0760f3 Merge branch 'main' into develop 2024-01-27 11:33:14 +01:00
Mark Dumay
dfdda4d27f Bump package release 2024-01-27 11:32:34 +01:00
Mark Dumay
6d8f90bdce Add support for card group data 2024-01-27 11:32:24 +01:00
Mark Dumay
3e531da29c Add support for card group data 2024-01-27 11:31:53 +01:00
Mark Dumay
6065ebb6b4 Fix card-group args 2024-01-27 10:11:15 +01:00
Mark Dumay
75373935f1 Merge pull request #734 from gethinode/develop
Extend card style configuration
2024-01-27 09:59:27 +01:00
Mark Dumay
1d5784a4d1 Merge branch 'main' into develop 2024-01-27 07:28:33 +01:00
Mark Dumay
5df94ffe33 Extend card-group args 2024-01-27 07:26:17 +01:00
Mark Dumay
6aeaa8812a Bump package release 2024-01-27 07:15:19 +01:00
Mark Dumay
b1f8044e02 Update build stats 2024-01-27 07:15:09 +01:00
Mark Dumay
09fc0991bd Extend card args 2024-01-27 07:15:00 +01:00
Mark Dumay
a7b70efef0 Merge pull request #732 from gethinode/develop
Support navbar overlay
2024-01-24 11:12:35 +01:00
Mark Dumay
4c3df8e769 Update build stats 2024-01-24 11:03:38 +01:00
Mark Dumay
15418f7bdc Merge branch 'main' into develop 2024-01-24 11:01:33 +01:00
Mark Dumay
0a2bc468e5 Support navbar overlay 2024-01-24 11:00:34 +01:00
Mark Dumay
df8bcff315 Merge pull request #731 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2024-01-24 07:30:26 +01:00
markdumay
56e992ba7a fix: update Hugo module dependencies 2024-01-24 06:18:08 +00:00
41 changed files with 376 additions and 166 deletions

View File

@@ -82,7 +82,7 @@ jobs:
# Cache Hugo cachedir and resourcedir (configured in config/ci/hugo.toml) for each OS
# No additional cache invalidation is needed, Hugo uses checksums itself
- name: Use Hugo cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ${{ runner.os == 'Windows' && env.CACHE_PATH_WIN || runner.os == 'macOS' && env.CACHE_PATH_MAC || env.CACHE_PATH_DEBIAN }}
key: ${{ runner.os }}-${{ env.CACHE_KEY }}

View File

@@ -75,6 +75,14 @@ The installation instructions in this readme install Hinode as a regular Hugo th
## Installation
<!-- markdownlint-disable MD033 -->
<details>
<summary>Installation notes for Windows</summary>
The installation for Windows requires PowerShell v7. Download it from the Microsoft Store as needed. Check your current version with the command `$PSVersionTable`.
</details>
<!-- markdownlint-enable MD033 -->
Start a new Hinode project in three steps:
1. **Create a new site**
@@ -83,14 +91,15 @@ Start a new Hinode project in three steps:
hugo new site my-hinode-site && cd my-hinode-site
```
1. **Initialize the module system**
2. **Initialize the module system**
```bash
hugo mod init example.com/my-hinode-site
echo "[[module.imports]]\npath = 'github.com/gethinode/hinode'" >> hugo.toml
echo "[[module.imports]]" >> hugo.toml
echo "path = 'github.com/gethinode/hinode'" >> hugo.toml
```
1. **Start a development server**
3. **Start a development server**
```bash
hugo server

View File

@@ -1,14 +1,24 @@
const navbar = document.querySelector('.navbar')
const togglers = document.querySelectorAll('.main-nav-toggler')
const modeSelectors = document.querySelectorAll('.switch-mode-collapsed')
const colorsBG = ['body', 'secondary', 'tertiary']
if (navbar !== null && togglers !== null) {
// initialize background color
const color = (navbar.getAttribute('data-navbar-color') || 'body')
const bg = colorsBG.includes(color) ? `var(--bs-${color}-bg)` : `var(--bs-navbar-color-${color})`
navbar.style.setProperty('--bs-navbar-expanded-color', bg)
// set the navbar background color to opaque when scrolling past a breakpoint
window.onscroll = () => {
if (window.scrollY > 75) {
navbar.classList.add('nav-active')
const storedTheme = localStorage.getItem('theme')
navbar.setAttribute('data-bs-theme', storedTheme)
} else {
navbar.classList.remove('nav-active')
const defaultTheme = navbar.getAttribute('data-bs-overlay')
navbar.setAttribute('data-bs-theme', defaultTheme)
}
}

View File

@@ -22,13 +22,13 @@ a:active {
}
.fullscreen {
--navbar-offset: #{$navbar-offset};
--overlay-offset: #{$overlay-offset};
min-height: calc(100vh - var(--navbar-offset));
min-height: calc(100vh - var(--overlay-offset));
}
.main-content {
margin-top: $navbar-offset;
margin-top: $overlay-offset;
}
$utilities: map-merge(

View File

@@ -20,6 +20,7 @@ strong {
$navbar-height: h.$navbar-height;
$navbar-offset: h.$navbar-offset;
$overlay-offset: h.$overlay-offset;
$primary: h.$primary;
$secondary: h.$secondary;
$success: h.$success;

View File

@@ -86,8 +86,8 @@
// stylelint-enable annotation-no-unknown
// make tag-link clickable on top of the stretched-link.
.card .tag-link {
// make tag-link and card-button clickable on top of the stretched-link.
.card .tag-link, .card .card-button {
z-index: 2;
position: relative;
}

View File

@@ -19,3 +19,11 @@
-webkit-transform: scaleX(-1);
transform: scaleX(-1);
}
.background-img {
--overlay-offset: #{$overlay-offset};
height: calc(100vh - var(--overlay-offset));
width: 100vw;
object-fit: cover;
}

View File

@@ -2,13 +2,22 @@
// Source: https://jsfiddle.net/njhgr40m/
.navbar {
--bs-navbar-expanded-color: var(--bs-body-bg);
--bs-navbar-toggler-color: var(--bs-navbar-hover-color);
transition: 0.5s ease-in-out;
background-color: transparent;
@each $state, $val in $theme-colors {
--bs-navbar-color-#{$state}: #{$val};
}
}
.nav-active, .navbar-expanded {
background-color: var(--bs-body-bg);
background-color: var(--bs-navbar-expanded-color);
border-bottom: 1px solid var(--bs-secondary-bg);
}
.nav-link {
@@ -25,12 +34,17 @@
--bs-navbar-hover-color: white !important;
--bs-navbar-disabled-color: white !important;
--bs-navbar-active-color: white !important;
--bs-navbar-toggler-color: white;
}
.navbar-expanded {
box-shadow: $box-shadow-sm;
}
.nav-item .vr {
color: var(--bs-navbar-color);
}
/* Remove border from toggler */
.navbar-toggler {
border: 0 if($enable-important-utilities, !important, null);
@@ -97,19 +111,11 @@
/* Color of Toggler when collapsed */
.navbar-toggler.collapsed .toggler-icon {
background-color: #777;
background-color: var(--bs-navbar-toggler-color);
}
.emphasis-light {
background-color: $black if($enable-important-utilities, !important, null);
}
.emphasis-dark {
background-color: $white if($enable-important-utilities, !important, null);
}
.emphasis {
background-color: $black if($enable-important-utilities, !important, null);
.emphasis, .emphasis-dark, .emphasis-light {
background-color: var(--bs-navbar-toggler-color);
}
@include color-mode(dark) {

View File

@@ -135,5 +135,5 @@ home = ["HTML", "RSS", "REDIR"]
[[module.imports]]
path = "github.com/gethinode/mod-lottie"
[[module.imports]]
path = "github.com/gethinode/mod-utils"
path = "github.com/gethinode/mod-utils/v2"
# toml-docs-end modules

View File

@@ -24,6 +24,9 @@
disableTemplate = ["katex"]
[modules.katex]
state = "defer"
[modules.flexsearch]
frontmatter = false
filter = ""
[modules.fontawesome]
inline = true
debug = true
@@ -63,6 +66,8 @@
logo = "/img/logo_icon.svg"
color = "body"
fixed = true
overlay = false
overlayMode = "dark"
horizontal = false
offset = "5.5rem"
search = true

View File

@@ -27,10 +27,11 @@ arguments:
release: v0.19.0
list:
type:
- page.Pages
- resource.Resources
- 'page.Pages'
- 'resource.Resources'
- '[]map[string]interface {}'
optional: true
comment: Array of pages to be rendered as cards.
comment: Array of pages or structured content to be rendered as cards.
group: partial
cards:
type: string
@@ -42,6 +43,8 @@ arguments:
optional: true
comment: Maximum number of cards to display.
group: partial
options:
min: 1
cols:
type: select
optional: true

View File

@@ -157,19 +157,49 @@ arguments:
optional: true
comment: >-
Font Awesome icon, displayed on top or the left of the card.
align:
type: select
parent: cascade
optional: true
default: start
release: v0.23.0-alpha2
comment: Icon alignment.
options:
values:
- start
- end
- center
style:
type: string
parent: cascade
optional: true
release: v0.23.0-alpha2
comment: Icon style.
orientation:
type: select
optional: true
default: stacked
parent: cascade
comment: >-
Placement of the thumbnail or icon.
comment: Placement of the thumbnail or icon.
options:
values:
- stacked
- horizontal
- horizontal-sm
- none
subtle:
type: bool
parent: cascade
optional: true
release: v0.23.0-alpha2
comment: Apply subtle background colors.
button:
type: bool
parent: cascade
optional: true
release: v0.23.0-beta
comment: >-
Flag indicating the cards should include a button that links to the provided address.
body:
optional: true
comment: >-

View File

@@ -100,6 +100,26 @@ arguments:
default: false
comment: Flag to indicate the navbar should stick to the top.
group: partial
overlay:
type: bool
optional: true
default: false
comment: >-
Flag to indicate if the navbar should render as an overlay on the current
page.
group: partial
release: v0.22.6
overlayMode:
type: select
optional: true
default: dark
comment: Color mode of the overlay.
options:
values:
- light
- dark
group: partial
release: v0.23.0
logo:
type: path
optional: true

View File

@@ -20,6 +20,9 @@
disableTemplate = ["katex"]
[modules.katex]
state = "defer"
[modules.flexsearch]
frontmatter = false
filter = ""
[modules.fontawesome]
inline = true
debug = true
@@ -52,6 +55,8 @@
logo = "/img/logo_icon.svg"
color = "body"
fixed = true
overlay = false
overlayMode = "dark"
horizontal = false
offset = "5.5rem"
search = true
@@ -127,7 +132,7 @@
padding = "3"
header = "none"
footer = "tags"
orientation = "horizontal-sm"
orientation = "horizontal"
style = "border-1 card-emphasize"
homepage = 3
separator = false

View File

@@ -8,7 +8,7 @@ showComments: false
{{< image src="/img/logo_var.svg#logo" class="img-fluid w-50" wrapper="text-center" >}}
{{< card-group class="text-center border-0" padding="3" >}}
{{< card-group align="center" class="border-0" padding="3" >}}
{{< card title="Bootstrap framework" icon="fab bootstrap" >}}
Build fast, responsive sites with Bootstrap 5. Easily customize your site with the source Sass files.
{{< /card >}}

View File

@@ -125,7 +125,8 @@ As an example, the following shortcode displays a stacked card that links to the
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* card path="about" padding="3" class="col-6 mx-auto" color="body-tertiary" header="publication" footer="none" /*/>}}
{{</* card path="about" padding="3" class="col-6 mx-auto" color="body-tertiary"
header="publication" footer="none" button=true /*/>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->

View File

@@ -9,7 +9,7 @@ showComments: false
{{< image src="/img/logo_var.svg#logo" class="img-fluid w-50" wrapper="text-center" >}}
{{< card-group class="text-center border-0" padding="3" >}}
{{< card-group align="center" class="border-0" padding="3" >}}
{{< card title="Framework Bootstrap" icon="fab bootstrap" >}}
Créez des sites rapides et réactifs avec Bootstrap 5. Personnalisez facilement votre site avec les fichiers source Sass.
{{< /card >}}

View File

@@ -10,7 +10,7 @@ showComments: false
{{< image src="/img/logo_var.svg#logo" class="img-fluid w-50" wrapper="text-center" >}}
{{< card-group class="text-center border-0" padding="3" >}}
{{< card-group align="center" class="border-0" padding="3" >}}
{{< card title="Bootstrap raamwerk" icon="fab bootstrap" >}}
Bouw snelle websites geschikt voor mobiele en desktop schermen met Bootstrap 5. Pas de site eenvoudig aan met bronbestanden in Sass.
{{< /card >}}

View File

@@ -15,6 +15,7 @@
"form",
"h2",
"h3",
"h5",
"head",
"hr",
"html",
@@ -26,7 +27,6 @@
"mark",
"meta",
"nav",
"nil",
"noscript",
"ol",
"p",
@@ -63,6 +63,7 @@
"alert-dismissible",
"align-items-center",
"align-items-end",
"align-items-start",
"align-middle",
"align-self-center",
"align-self-end",
@@ -102,6 +103,7 @@
"card-body",
"card-body-link",
"card-body-margin",
"card-button",
"card-emphasize",
"card-icon",
"card-img-top",
@@ -277,6 +279,7 @@
"ms-md-3",
"mt-2",
"mt-3",
"mt-4",
"mt-5",
"mt-auto",
"multi-docs-collapse-15",
@@ -305,6 +308,11 @@
"navbar-toggler",
"next",
"no-js",
"offcanvas",
"offcanvas-body",
"offcanvas-header",
"offcanvas-start",
"offcanvas-title",
"order-0",
"order-1",
"order-first",
@@ -331,12 +339,14 @@
"ps-1",
"ps-3",
"ps-xl-3",
"pt-1",
"pt-5",
"pt-md-3",
"ptw-3",
"ptw-5",
"ptw-lg-5",
"ptw-sm-4",
"px-2",
"px-4",
"px-xxl-0",
"py-1",
@@ -516,6 +526,8 @@
"navbar-sample-collapse",
"navigation",
"notification",
"offcanvas-label",
"offcanvass-sidebar",
"persona",
"projecten",
"projects",

12
go.mod
View File

@@ -5,12 +5,12 @@ 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.8.1 // indirect
github.com/gethinode/mod-fontawesome v1.8.0 // indirect
github.com/gethinode/mod-flexsearch v1.9.0 // indirect
github.com/gethinode/mod-fontawesome v1.8.1 // indirect
github.com/gethinode/mod-katex v1.0.5 // indirect
github.com/gethinode/mod-leaflet v0.4.0 // indirect
github.com/gethinode/mod-lottie v1.4.1 // indirect
github.com/gethinode/mod-utils v1.0.2 // indirect
github.com/nextapps-de/flexsearch v0.0.0-20240108021025-afd75f742f22 // indirect
github.com/gethinode/mod-leaflet v1.0.0 // indirect
github.com/gethinode/mod-lottie v1.4.2 // indirect
github.com/gethinode/mod-utils/v2 v2.0.3 // indirect
github.com/nextapps-de/flexsearch v0.0.0-20240110101704-4c3966709f85 // indirect
github.com/twbs/bootstrap v5.3.2+incompatible // indirect
)

22
go.sum
View File

@@ -44,6 +44,8 @@ github.com/gethinode/mod-flexsearch v1.8.0 h1:rKu9ackmbGAD/CRJYUDUhy/3nDCEj0IgYD
github.com/gethinode/mod-flexsearch v1.8.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.8.1 h1:xwPvmmxd8Tdyxp8/rnd9KRGqIDtZs/YwAQJ1i9oQMiM=
github.com/gethinode/mod-flexsearch v1.8.1/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ=
github.com/gethinode/mod-flexsearch v1.9.0 h1:AE+w7QeZTxh36JNTG+CASDLxaqlCZKn+EUD6ulnPGak=
github.com/gethinode/mod-flexsearch v1.9.0/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ=
github.com/gethinode/mod-fontawesome v1.0.2 h1:ZSK6D20/w4y5GnfYfTBB58uHD0ChIfkpKfRGwioS9rg=
github.com/gethinode/mod-fontawesome v1.0.2/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.1.0 h1:rsDzUI+3ZlS/do2ff3ne8/z3KwHeysmuA+WsXlumXXk=
@@ -78,6 +80,8 @@ github.com/gethinode/mod-fontawesome v1.7.3 h1:YzRCYSasVRIcImVmTJYjqNJ+KmyNWfm/b
github.com/gethinode/mod-fontawesome v1.7.3/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.8.0 h1:YEuCmvCdzcemF1eFK35Wnp1asKKO3/xbxGArnjq6PRY=
github.com/gethinode/mod-fontawesome v1.8.0/go.mod h1:uvuC2YL8mdXNp6NRzFOu4TWsHvtY9AZ8YxJkF23/M/8=
github.com/gethinode/mod-fontawesome v1.8.1 h1:iyvULrpaGizQoI5Vl9WjFYcMGWefdyG90NGK2UKax+k=
github.com/gethinode/mod-fontawesome v1.8.1/go.mod h1:xBKsZH3WJtMOItZVlp9SbO51uaBy6IbvUZSKpNu3b6Y=
github.com/gethinode/mod-katex v1.0.0 h1:me/3dIIZBkfk1mRIFt8QiAGYwYDoSG5bc2hHRtIutFc=
github.com/gethinode/mod-katex v1.0.0/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-katex v1.0.1 h1:809QUztxmKgMNchU+v03iMO7Ma+ISc3ZzhXYauc21rs=
@@ -102,6 +106,8 @@ github.com/gethinode/mod-leaflet v0.3.5 h1:69Bv/6zRXhbcTzo7TMr58h3ry47srHRpM1k81
github.com/gethinode/mod-leaflet v0.3.5/go.mod h1:uGggt87x4Fw7wBoJpSiUvNkYg+s/Ujne7klAX2rxMRk=
github.com/gethinode/mod-leaflet v0.4.0 h1:Xc6c1UTf4m1saQLFfFWT5sEpwj25xVGuS8csGC82UUI=
github.com/gethinode/mod-leaflet v0.4.0/go.mod h1:yr+bUKAstifdB16mbYh69OayAmgPOlNUubAmVn5eL2M=
github.com/gethinode/mod-leaflet v1.0.0 h1:HdnWafOGkkK1hYGfqLYF3pp9dAFS/caxlzML9sO1rCc=
github.com/gethinode/mod-leaflet v1.0.0/go.mod h1:Ei0x9WiL7Dbi4JeG6yI1CE63bT1QJ8sKi67Jea1wFSE=
github.com/gethinode/mod-lottie v1.0.0 h1:1CUZMcgN5FAyjjyuP3qkaOQ6M5sv6HUAbosW4sIT5VE=
github.com/gethinode/mod-lottie v1.0.0/go.mod h1:erRCgSL2FCfKHI0jQbSpM+g0jXl7SjKVJrh7kWGteKs=
github.com/gethinode/mod-lottie v1.0.1 h1:+IE7xtnSVQpJS56oBJq9RWKZeFEfxrOZAqE3BSrS/u0=
@@ -118,15 +124,31 @@ github.com/gethinode/mod-lottie v1.4.0 h1:0Ls1Q/8p0gQpuX9+dtfNGKcjBNeymjE7gERdnN
github.com/gethinode/mod-lottie v1.4.0/go.mod h1:57eu6glS5oxkew2dB1P2zsbhw444aRX0XfuyDe7k/dk=
github.com/gethinode/mod-lottie v1.4.1 h1:RzCjYsxFPqyBsYAcdPeUP0rvF+hD9eEl7NrxuaRiKQQ=
github.com/gethinode/mod-lottie v1.4.1/go.mod h1:QjKlEmYbekrNGwa9EdFlPcXxwWWcraJUQ6xIL+syA60=
github.com/gethinode/mod-lottie v1.4.2 h1:rHBhbMVRlkVMxVY+3g1u2kolDv695uL8Zur4mDeoIO8=
github.com/gethinode/mod-lottie v1.4.2/go.mod h1:H6y1e3/2bBR1ujuM5N1iY39kpyN3RtcSRahX90+tlQI=
github.com/gethinode/mod-utils v1.0.0 h1:cqHm2xS5uDiJzRm1KfHaNbq6uMVDKLhQa8/BuTZ1nhY=
github.com/gethinode/mod-utils v1.0.0/go.mod h1:ONJm3pHCq7nvaPNjusLZNCeCbhOhSBH4HVKHwK1FdYE=
github.com/gethinode/mod-utils v1.0.1 h1:jhZGlGFHHL1f5HXbBMXfiZ2gCz4TVafAzjnRPTIBSEE=
github.com/gethinode/mod-utils v1.0.1/go.mod h1:ONJm3pHCq7nvaPNjusLZNCeCbhOhSBH4HVKHwK1FdYE=
github.com/gethinode/mod-utils v1.0.2 h1:0b3i+/bBHY1Td9N6khDbL1nf3d5HGc4QzI4BbEWHoU4=
github.com/gethinode/mod-utils v1.0.2/go.mod h1:ONJm3pHCq7nvaPNjusLZNCeCbhOhSBH4HVKHwK1FdYE=
github.com/gethinode/mod-utils v1.0.3 h1:FF6lnam0Bcdj7G1E5P+qi5ByPrl1npL+3uS5YoPx1C0=
github.com/gethinode/mod-utils v1.0.3/go.mod h1:ONJm3pHCq7nvaPNjusLZNCeCbhOhSBH4HVKHwK1FdYE=
github.com/gethinode/mod-utils v1.0.4 h1:Lr7hAVaWHv0O5TJXhRHGhvlOvWwIATJm9mpLQhCsopM=
github.com/gethinode/mod-utils v1.0.4/go.mod h1:ONJm3pHCq7nvaPNjusLZNCeCbhOhSBH4HVKHwK1FdYE=
github.com/gethinode/mod-utils v1.1.0 h1:a82h/DQTKc5hxf/ExDoZqJCJmVLT0dtyU8tf78yOPFw=
github.com/gethinode/mod-utils v1.1.0/go.mod h1:ONJm3pHCq7nvaPNjusLZNCeCbhOhSBH4HVKHwK1FdYE=
github.com/gethinode/mod-utils/v2 v2.0.1 h1:yy8Qaytrk55YNMzyldYKDWJr6mpQs7s7TWBkSYRMBng=
github.com/gethinode/mod-utils/v2 v2.0.1/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.0.2 h1:pocFT/mWPcfmABltZwe76D1IB3TZIrD1k1kH9zCDO1M=
github.com/gethinode/mod-utils/v2 v2.0.2/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
github.com/gethinode/mod-utils/v2 v2.0.3 h1:4BsRNGi+0a3Mq021Gq/TwDNiyuIfZ8xnpYU0DkNbUYI=
github.com/gethinode/mod-utils/v2 v2.0.3/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
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/nextapps-de/flexsearch v0.0.0-20240108021025-afd75f742f22 h1:re7L8FxbXQpnX8BgzkdUnDpsUmloGNyLmiy2ZCln8pg=
github.com/nextapps-de/flexsearch v0.0.0-20240108021025-afd75f742f22/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
github.com/nextapps-de/flexsearch v0.0.0-20240110101704-4c3966709f85 h1:H6xa5YyCHr78M+qqCApM4Kvz/eMA7pfGskYmfkEBRCA=
github.com/nextapps-de/flexsearch v0.0.0-20240110101704-4c3966709f85/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

@@ -29,6 +29,8 @@
translation: "No articles found"
- id: emptyTags
translation: "No tags found"
- id: readMore
translation: "Read more"
# Languages
- id: lang_de

View File

@@ -27,6 +27,8 @@
translation: "Geen artikelen gevonden"
- id: emptyTags
translation: "Geen tags gevonden"
- id: readMore
translation: "Lees meer"
# Languages
- id: lang_de

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 */ -}}
{{- $version := partial "utilities/GetVersion.html" (dict "page" . "base" true) -}}
{{- $.Scratch.Set "version" $version -}}
@@ -71,6 +43,8 @@
{{- partial "assets/navbar.html" (dict
"page" .
"fixed" site.Params.navigation.fixed
"overlay" site.Params.navigation.overlay
"overlayMode" site.Params.navigation.overlayMode
"color" site.Params.navigation.color
"style" (default "light" site.Params.navigation.style)
"size" (default "md" site.Params.navigation.size))
@@ -97,6 +71,6 @@
{{- partial "footer/toast-container.html" . -}}
{{- partialCached "footer/scripts.html" (dict "header" false "page" . "core" true) }}
{{- partial "partials/optional-scripts.html" . -}}
{{- partial "footer/optional-scripts.html" . -}}
</body>
</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" -}}
{{- $menu := .Scratch.Get "sidebar" -}}
{{- $version := .Scratch.Get "version" -}}
{{- $breakpoint := $.Scratch.Get "breakpoint" -}}
{{ $sidebar := "" }}
{{- $hasSidebar := .Site.Params.navigation.sidebar | default true -}}
{{ if and $menu $hasSidebar }}{{ $sidebar = partial "assets/sidebar.html" (dict "page" . "menu" $menu "version" $version) }}{{ end }}
{{ $sidebar := .Render "single/sidebar" }}
{{ $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-header">
<h5 class="offcanvas-title" id="offcanvas-label">{{ strings.FirstUpper $.Section }}</h5>
@@ -36,13 +16,13 @@
{{ end }}
<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="col col-{{ $breakpoint.next }}-2 d-none d-{{ $breakpoint.next }}-block sidebar-overflow sticky-top pt-5">
{{ $sidebar | safeHTML }}
</div>
<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 class="col col-{{ $breakpoint.current }}-3 col-{{ $breakpoint.next }}-2 d-none d-{{ $breakpoint.current }}-block pt-5">
{{ $toc | safeHTML }}
@@ -51,7 +31,7 @@
{{ else }}
<div class="row row-cols-1 row-cols-{{ $breakpoint.current }}-2">
<div class="col col-{{ $breakpoint.prev }}-12 col-{{ $breakpoint.current }}-9">
{{ partial "partials/single-main.html" . }}
{{ .Render "single/main" }}
</div>
<div class="col col-{{ $breakpoint.current }}-3 d-none d-{{ $breakpoint.current }}-block">
{{ $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,6 +16,7 @@
{{ $page := .page }}
<!-- Main code -->
{{ if not $error }}
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
{{- range $index, $item := $page.Ancestors.Reverse -}}
@@ -31,3 +32,4 @@
<li class="breadcrumb-item active" aria-current="page">{{ $page.LinkTitle }}</li>
</ol>
</nav>
{{ end }}

View File

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

View File

@@ -27,16 +27,22 @@
{{- $orientation := .orientation -}}
{{- $ratio := .ratio -}}
{{- $wrapper := .wrapper | default "p-0" -}}
{{- $style := .style -}}
{{- $align := .align -}}
{{- $subtle := .subtle }}
{{- $loading := .loading -}}
{{- $button := .button -}}
<!-- Override arguments -->
{{ $isPages := in (slice "page.Pages" "resource.Resources") (printf "%T" $pages) }}
{{ $paginator := "" }}
{{ if $paginate }}
{{ if and $isPages $paginate }}
{{ $paginator = $page.Paginate $pages }}
{{ $pages = first $paginator.PageSize (after (mul (sub $paginator.PageNumber 1) $paginator.PageSize) $pages) }}
{{ end }}
{{ $list := slice }}
{{ if $isPages }}
{{ range $index, $element := $pages }}
{{ $params := dict }}
<!-- regular page -->
@@ -48,7 +54,7 @@
{{- $params = merge $params (dict
"title" $element.Title
"href" $element.RelPermalink
"description" (partial "utilities/GetDescription.html" $element)
"description" (partial "utilities/GetDescription.html" (dict "page" $element "raw" true))
"thumbnail" $thumbnail
"icon" $element.Params.icon
) -}}
@@ -56,6 +62,9 @@
{{- $list = $list | append $params }}
{{ end }}
{{ else if $pages }}
{{ $list = $list | append $pages }}
{{ end }}
{{- $count := len $list -}}
{{- $max := $count -}}
@@ -90,6 +99,10 @@
"orientation" $orientation
"padding" $padding
"ratio" $ratio
"subtle" $subtle
"style" $style
"align" $align
"button" $button
) -}}
{{- $params = merge $params $element }}
@@ -102,7 +115,7 @@
</div>
{{- end -}}
{{- end -}}
{{- print $cards | safeHTML }}
{{if $cards }}{{- print $cards | safeHTML }}{{ end }}
</div>
{{ if $paginate }}
@@ -111,7 +124,7 @@
{{- end -}}
{{ else }}
{{ if and (gt $count $max) $moreTitle }}
<a class="btn btn-outline-primary" href="{{ $moreURL| safeURL }}" role="button">{{ $moreTitle }}</a>
<a class="btn btn-outline-primary mt-4" href="{{ $moreURL| safeURL }}" role="button">{{ $moreTitle }}</a>
{{ end }}
{{ end }}
</div>

View File

@@ -19,12 +19,25 @@
{{- $header := .header | default "full" -}}
{{- $href := .href -}}
{{- $icon := .icon -}}
{{- $iconStyle := "" -}}
{{- $align := .align | default "start" -}}
{{- $style := .style | default "" -}}
{{- $loading := .loading -}}
{{- $orientation := .orientation | default "stacked" -}}
{{- $padding := .padding | default "auto" -}}
{{- $padding := (string .padding) | default "auto" -}}
{{- $ratio := .ratio -}}
{{- $thumbnail := .thumbnail -}}
{{- $title := .title -}}
{{- $subtle := .subtle -}}
{{- $button := .button -}}
{{- $colorStyle := "" -}}
{{ if $color }}
{{ if $subtle }}
{{- $colorStyle = printf "bg-%s-subtle text-%s-emphasis" $color $color -}}
{{ else }}
{{- $colorStyle = printf "bg-%s text-bg-%s" $color $color -}}
{{ end }}
{{ end }}
<!-- Override arguments -->
{{- $page := "" }}
@@ -37,11 +50,18 @@
{{- with $page -}}
{{- if not $title }}{{ $title = .Title }}{{ end -}}
{{- if not $href }}{{ $href = .RelPermalink }}{{ end -}}
{{- if not $description }}{{ $description = partial "utilities/GetDescription.html" . }}{{ end -}}
{{- if not $description }}{{ $description = partial "utilities/GetDescription.html" (dict "page" .) }}{{ end -}}
{{- if not $thumbnail }}{{ $thumbnail = (or (and (reflect.IsMap .Params.Thumbnail) .Params.Thumbnail.url) .Params.Thumbnail) }}{{ end -}}
{{- if not $icon }}{{ $icon = .Params.icon }}{{ end -}}
{{- end -}}
{{ if (hasPrefix $orientation "horizontal") }}
{{ if not $style }}{{ $style = "fa-fluid fa-fw" }}{{ end }}
{{ else }}
{{ if not $style }}{{ $style = "fa-4x" }}{{ end }}
{{- $iconStyle = "pb-3" -}}
{{ end }}
{{- if eq $orientation "none" }}{{ $thumbnail = "" }}{{ $icon = "" }}{{ end -}}
<!-- Inline partial to render the card's body -->
@@ -50,6 +70,7 @@
{{- $href := .href -}}
{{- $color := .color -}}
{{- $description := .description -}}
{{- $button := .button -}}
{{- if $href -}}
<a href="{{ $href }}" class="{{ if $color }}link-bg-{{ $color }}{{ else }}card-body-link{{ end }} stretched-link">
@@ -100,36 +121,39 @@
{{- if hasPrefix $orientation "horizontal" -}}
<!-- Render horizontal card -->
<div class="card {{ with $color }}bg-{{ . }} text-bg-{{ . }}{{ end }} {{ $class }}">
<div class="row g-0 row-cols-1 h-100">
<div class="col-4{{ if eq $orientation "horizontal-sm" }} col-md-2{{ end }}">
<div class="card {{ $colorStyle }} {{ $class }}">
<div class="row g-0 row-cols-1 h-100{{ if $button }} pb-5{{ end }}">
<div class="{{ if eq $orientation "horizontal-sm" }}col-4 col-md-2{{ else }}col-4{{ end }}">
{{- if $thumbnail -}}
{{- partial "assets/image.html" (dict "url" $thumbnail "ratio" (or $ratio "1x1") "wrapper" "h-100 card-img-wrap" "class" "rounded-start card-img-h100" "title" $title "loading" $loading) -}}
{{- else if $icon -}}
<div class="card-icon p-{{ $padding }} h-100 fa-wrapper d-flex align-items-center justify-content-center">
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-fluid fa-fw" $icon)) -}}
<div class="card-icon p-{{ $padding }} h-100 fa-wrapper d-flex align-items-{{ $align}} justify-content-center {{ $iconStyle }}">
{{- partial "assets/icon.html" (dict "icon" (printf "%s %s" $icon $style)) -}}
</div>
{{- end -}}
</div>
<div class="col-8{{ if eq $orientation "horizontal-sm" }} col-md-10{{ end }}">
<div class="card-body d-flex p-{{ $padding }} flex-column h-100">
<div class="{{ if eq $orientation "horizontal-sm" }}col-8 col-md-10{{ else }}col-8{{ end }}">
<div class="card-body d-flex p-{{ $padding }} flex-column h-100 flex-fill">
{{ if $page }}<div>{{ partial "card-caption.html" (dict "page" $page "keywords" $header "color" $color) }}</div>{{ end }}
<div class="h-100">
{{- partial "card-body.html" (dict "title" $title "href" $href "color" $color "description" $description) -}}
<div class="flex-fill">
{{- partial "card-body.html" (dict "title" $title "href" $href "color" $color "description" $description "button" $button) -}}
</div>
{{ if $page }}<div>{{ partial "card-caption.html" (dict "page" $page "keywords" $footer "color" $color) }}</div>{{ end }}
{{ if $button }}
<div>{{ partial "assets/button.html" (dict "title" (T "readMore") "href" $href "outline" true "size" "sm" "class" "card-button mb-n4") }}</div>
{{ end }}
</div>
</div>
</div>
</div>
{{- else -}}
<!-- Render stacked / default card -->
<div class="card {{ with $color }}bg-{{ . }} text-bg-{{ . }}{{ end }} {{ $class }}">
<div class="card {{ $colorStyle }} {{ $class }} text-{{ $align }}">
{{- if $thumbnail -}}
{{- partial "assets/image.html" (dict "url" $thumbnail "ratio" (or $ratio "16x9") "wrapper" "card-img-wrap" "class" "card-img-top" "title" (or $alt $title) "loading" $loading) -}}
{{- else if $icon -}}
<div class="card-icon p-{{ $padding }}">
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-4x" $icon)) -}}
<div class="card-icon p-{{ $padding }} {{ $iconStyle }} text-{{ $align }}">
{{- partial "assets/icon.html" (dict "icon" (printf "%s %s" $icon $style)) -}}
</div>
{{- end -}}
<div class="card-body d-flex flex-column p-{{ $padding }}">
@@ -137,6 +161,14 @@
{{- partial "card-body.html" (dict "title" $title "href" $href "color" $color "description" $description) -}}
{{ if $page }}{{- partial "card-caption.html" (dict "page" $page "keywords" $footer "color" $color) -}}{{ end }}
</div>
{{ if $button }}
<div class="row p-{{ $padding }}" >
<div class="{{ if eq $orientation "horizontal-sm" }}col-4 col-md-2{{ else if eq $orientation "horizontal" }}col-4{{ end }}"></div>
<div class="col {{ if eq $orientation "horizontal-sm" }}px-2{{ else if eq $orientation "horizontal"}}px-1 {{ else }}px-2 pt-1{{ end }}">
{{ partial "assets/button.html" (dict "title" (T "readMore") "href" $href "outline" true "size" "sm" "class" "card-button") }}
</div>
</div>
{{ end }}
</div>
{{- end -}}

View File

@@ -73,7 +73,7 @@
"title" $item.Title
"class" $class
"color" $color
"content" (partial "utilities/GetDescription.html" $item)
"content" (partial "utilities/GetDescription.html" (dict "page" $item))
"thumbnail" $thumbnail
) -}}
{{- else -}}

View File

@@ -110,6 +110,8 @@
{{- $size := .size | default "md" -}}
{{- $fixed := .fixed | default false -}}
{{- $overlay := .overlay | default false -}}
{{- $overlayMode := .overlayMode | default "dark" -}}
{{- $color := .color | default "" -}}
{{- $search := .search | default site.Params.navigation.search -}}
{{- $searchModal := and $search site.Params.navigation.searchModal -}}
@@ -170,7 +172,16 @@
<!-- Main code -->
<div class="container-fluid {{ if $fixed }}fixed-top{{ end }} p-0{{ with $class }} {{ . }}{{ end }}">
{{- partial "assets/page-alert.html" (dict "page" $page) -}}
<nav class="navbar {{ if $fixed }}navbar-fixed-top{{ end }} navbar-expand-{{ $size }}{{ if $contrast }} navbar-contrast{{ end }}{{ with $color }} bg-{{ . }}{{ end }} p-4"{{ with $theme }} data-bs-theme="{{ . }}"{{ end }}>
<nav class="navbar p-4
{{- if not $overlay }}{{ with $color }} bg-{{ . }}{{ end }}{{ end -}}
{{ if $fixed }} navbar-fixed-top{{ end }} navbar-expand-{{ $size -}}
{{ if $contrast }} navbar-contrast{{ 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 }}
>
<div class="container-xxl p-0">
<!-- Insert sidebar toggler when applicable -->
<div class="d-flex align-items-center">

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

@@ -7,7 +7,7 @@
{{ $.Scratch.Set "title" .Site.Title -}}
{{ end -}}
{{ $description := or (partial "utilities/GetDescription.html" .) .Site.Params.main.description }}
{{ $description := or (partial "utilities/GetDescription.html" (dict "page" .)) .Site.Params.main.description }}
{{ if gt (strings.RuneCount $description) 150 }}
{{ $description = print (substr $description 0 150) "..." }}
{{ end }}

View File

@@ -26,8 +26,10 @@
{{- errorf "partial [head/stylesheet.html] - Invalid value for site param 'style.darkModeTint': %s" site.Params.style.darkModeTint -}}
{{ end}}
{{- $navbarOffset := "0em" -}}
{{- if site.Params.navigation.fixed }}{{ $navbarOffset = site.Params.navigation.offset | default "4em" }}{{ end }}
{{- $navbarOffset := "0rem" -}}
{{- if site.Params.navigation.fixed }}{{ $navbarOffset = site.Params.navigation.offset | default "4rem" }}{{ end }}
{{- $overlayOffset := $navbarOffset -}}
{{- if site.Params.navigation.overlay }}{{ $overlayOffset = "0rem" }}{{ end }}
{{- $vars := dict
"theme-font" (default "Inter" site.Params.style.themeFont)
"font-size-base" (default "1rem" site.Params.style.fontSizeBase)
@@ -39,8 +41,9 @@
"danger" (default "#dc3545" site.Params.style.danger)
"light" (default "#f8f9fa" site.Params.style.light)
"dark" (default "#212529" site.Params.style.dark)
"navbar-height" (site.Params.navigation.offset | default "4em")
"navbar-height" (site.Params.navigation.offset | default "4rem")
"navbar-offset" $navbarOffset
"overlay-offset" $overlayOffset
"enable-dark-mode" (printf "%t" ((default true site.Params.main.enableDarkMode)))
"import-fonts" (printf "%t" (not (hasPrefix (lower site.Params.style.themeFontPath) "http")))
"dark-mode-shade" (default "0%" site.Params.style.darkModeShade)

View File

@@ -24,6 +24,10 @@
{{- $header := .Get "header" | default "" -}}
{{- $footer := .Get "footer" | default "" -}}
{{- $orientation := .Get "orientation" | default "" -}}
{{- $align := .Get "align" | default "start" -}}
{{- $style := .Get "style" | default "" -}}
{{- $subtle := .Get "subtle" | default false -}}
{{- $button := .Get "button" | default false -}}
{{ $inner := .Scratch.Get "inner" }}
{{ $input := trim .Inner " \r\n" }}
@@ -48,5 +52,9 @@
"header" $header
"footer" $footer
"orientation" $orientation
"align" $align
"style" $style
"subtle" $subtle
"button" $button
)
-}}

View File

@@ -21,6 +21,9 @@
{{- $gutter := partial "utilities/GetArgParent" (dict "page" . "arg" "gutter") | default "0" -}}
{{- $header := partial "utilities/GetArgParent" (dict "page" . "arg" "header") | default "full" -}}
{{- $icon := .Get "icon" -}}
{{- $align := partial "utilities/GetArgParent" (dict "page" . "arg" "align") | default "start" -}}
{{- $style := partial "utilities/GetArgParent" (dict "page" . "arg" "style") | default "" -}}
{{- $subtle := partial "utilities/GetArgParent" (dict "page" . "arg" "subtle") | default false -}}
{{- $loading := .Get "loading" -}}
{{- $orientation := partial "utilities/GetArgParent" (dict "page" . "arg" "orientation") | default "stacked" -}}
{{- $padding := partial "utilities/GetArgParent" (dict "page" . "arg" "padding") | default "auto" -}}
@@ -29,6 +32,7 @@
{{- $path := .Get "path" -}}
{{- $thumbnail := .Get "thumbnail" -}}
{{- $title := .Get "title" -}}
{{- $button := partial "utilities/GetArgParent" (dict "page" . "arg" "button") | default false -}}
<!-- Override arguments -->
{{ if $path }}
@@ -59,9 +63,13 @@
"description" $description
"ratio" $ratio
"icon" $icon
"align" $align
"style" $style
"subtle" $subtle
"thumbnail" $thumbnail
"loading" $loading
"alt" $alt
"button" $button
) -}}
<!-- Pass output to parent or current stream -->

View File

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

22
package-lock.json generated
View File

@@ -1,17 +1,17 @@
{
"name": "@gethinode/hinode",
"version": "0.22.5",
"version": "0.23.0-beta4",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@gethinode/hinode",
"version": "0.22.5",
"version": "0.23.0-beta4",
"license": "MIT",
"devDependencies": {
"@fullhuman/postcss-purgecss": "^5.0.0",
"@gethinode/netlify-plugin-dartsass": "^0.2.0",
"@netlify/plugin-lighthouse": "^5.0.0",
"@netlify/plugin-lighthouse": "^6.0.0",
"autoprefixer": "^10.4.17",
"cssnano": "^6.0.3",
"cssnano-preset-advanced": "^6.0.3",
@@ -20,7 +20,7 @@
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-n": "^16.6.2",
"eslint-plugin-promise": "^6.1.1",
"hugo-bin": "^0.118.1",
"hugo-bin": "^0.119.0",
"markdownlint-cli2": "^0.12.1",
"netlify-plugin-hugo-cache-resources": "^0.2.1",
"npm-run-all": "^4.1.5",
@@ -562,9 +562,9 @@
}
},
"node_modules/@netlify/plugin-lighthouse": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/@netlify/plugin-lighthouse/-/plugin-lighthouse-5.0.0.tgz",
"integrity": "sha512-tCaoVYxCU3OB592vChtFkANzUL4kDUNaIk9VCGp3qBecBnH+yFrILUlcqy2d08Is4ecstjTacyHqV+ixKbNYGQ==",
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/@netlify/plugin-lighthouse/-/plugin-lighthouse-6.0.0.tgz",
"integrity": "sha512-Uqqy9A7huuDT+1RIBWDoWhp+ntlLE1ibp1jXFpiizWy8QProWkLm8E7PFLu0Bf+aAwgjV2eJPj6ocIbk+jBANQ==",
"dev": true,
"dependencies": {
"chalk": "^4.1.0",
@@ -577,7 +577,7 @@
"puppeteer": "^18.0.0"
},
"engines": {
"node": ">=14.15 <20"
"node": ">=18.14.0"
}
},
"node_modules/@nodelib/fs.scandir": {
@@ -4365,9 +4365,9 @@
"dev": true
},
"node_modules/hugo-bin": {
"version": "0.118.1",
"resolved": "https://registry.npmjs.org/hugo-bin/-/hugo-bin-0.118.1.tgz",
"integrity": "sha512-WIS4kLNySb5u2+iwk//N7ClLUCksmyjvqdkGQTFc5v7Bqjpn1yLcIIBWwxU3R4SBc2Lr772/auxlzzsRffGbVA==",
"version": "0.119.0",
"resolved": "https://registry.npmjs.org/hugo-bin/-/hugo-bin-0.119.0.tgz",
"integrity": "sha512-RnjlxHKdOjo7i7yRX/001t53142tC9NTa5JVrnPCTpX2kNQQCz5XdI/WWX7emf0dNkxipj55Z58EsA2ft9W16g==",
"dev": true,
"funding": [
{

View File

@@ -1,6 +1,6 @@
{
"name": "@gethinode/hinode",
"version": "0.22.5",
"version": "0.23.0-beta4",
"description": "Hinode is a clean documentation and blog theme for Hugo, an open-source static site generator",
"keywords": [
"hugo",
@@ -69,7 +69,7 @@
"devDependencies": {
"@fullhuman/postcss-purgecss": "^5.0.0",
"@gethinode/netlify-plugin-dartsass": "^0.2.0",
"@netlify/plugin-lighthouse": "^5.0.0",
"@netlify/plugin-lighthouse": "^6.0.0",
"autoprefixer": "^10.4.17",
"cssnano": "^6.0.3",
"cssnano-preset-advanced": "^6.0.3",
@@ -78,7 +78,7 @@
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-n": "^16.6.2",
"eslint-plugin-promise": "^6.1.1",
"hugo-bin": "^0.118.1",
"hugo-bin": "^0.119.0",
"markdownlint-cli2": "^0.12.1",
"netlify-plugin-hugo-cache-resources": "^0.2.1",
"npm-run-all": "^4.1.5",