Compare commits

...

104 Commits

Author SHA1 Message Date
Mark Dumay
e0ca123aa2 Merge pull request #520 from gethinode/develop
Support sidebar links
2023-09-08 12:53:52 +02:00
Mark Dumay
ef3636befe Merge branch 'main' into develop 2023-09-08 10:31:13 +02:00
mark
5635f895df Fix #510 2023-09-08 10:30:23 +02:00
Mark Dumay
779f9b11a7 Merge pull request #519 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2023-09-08 06:24:08 +02:00
markdumay
b0b8e9d684 fix: update Hugo module dependencies 2023-09-08 03:15:41 +00:00
Mark Dumay
b4f7163913 Merge pull request #518 from gethinode/develop
Bump package version
2023-09-07 06:39:09 +02:00
Mark Dumay
6ef4738619 Merge branch 'main' into develop 2023-09-07 06:28:24 +02:00
mark
333e4c3e07 Bump package version 2023-09-07 06:27:53 +02:00
Mark Dumay
705900dd27 Merge pull request #517 from gethinode/develop
Add Netlify plugins
2023-09-06 16:28:59 +02:00
Mark Dumay
363b6293af Merge branch 'main' into develop 2023-09-06 16:12:53 +02:00
mark
97ef22d3fb Bump package version 2023-09-06 16:10:12 +02:00
mark
f7fa573347 Configure plugins 2023-09-06 16:09:36 +02:00
Mark Dumay
971b61fe8a Merge pull request #516 from gethinode/develop
Fix base settings
2023-09-06 10:36:39 +02:00
mark
303a611913 Restore base settings 2023-09-06 10:28:34 +02:00
Mark Dumay
066a9f1722 Merge pull request #515 from gethinode/main
Sync with main
2023-09-06 10:27:23 +02:00
Mark Dumay
ac5cddf448 Merge pull request #512 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2023-09-06 10:15:39 +02:00
Mark Dumay
d6bea30b24 Merge branch 'main' into hugo-mod-dependencies 2023-09-06 08:09:48 +02:00
Mark Dumay
ac05154eec Merge pull request #514 from markdumay/dart
Add support for Dart Sass
2023-09-06 08:08:56 +02:00
Mark Dumay
ff579b0cfc Merge branch 'main' into dart 2023-09-06 07:43:30 +02:00
Mark Dumay
13ede1b2a4 Add Dart Sass installation 2023-09-06 07:42:50 +02:00
Mark Dumay
51c7706af2 Add Dart Installation 2023-09-06 07:41:39 +02:00
Mark Dumay
5a3c2c298b Merge branch 'main' into dart 2023-09-06 07:25:17 +02:00
mark
608e8609c6 Fix linting issues 2023-09-06 07:21:08 +02:00
mark
60edf6d444 Optimize stylesheet processing 2023-09-06 07:16:50 +02:00
mark
28c79f30a2 Address Dart Sass warnings and variable handling 2023-09-06 07:15:03 +02:00
mark
89fcd7413f Update dependencies 2023-09-06 07:11:20 +02:00
markdumay
5741027a54 fix: update Hugo module dependencies 2023-09-06 03:15:29 +00:00
github-actions[bot]
6598ca5335 Merge pull request #509 from gethinode/dependabot/npm_and_yarn/stylelint-config-standard-scss-11.0.0
Bump stylelint-config-standard-scss from 10.0.0 to 11.0.0
2023-09-04 13:19:24 +00:00
dependabot[bot]
5024bac01e Bump stylelint-config-standard-scss from 10.0.0 to 11.0.0
Bumps [stylelint-config-standard-scss](https://github.com/stylelint-scss/stylelint-config-standard-scss) from 10.0.0 to 11.0.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/v10.0.0...v11.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 13:14:00 +00:00
mark
499a481baa Set default transpiler 2023-09-03 13:05:17 +02:00
mark
7d4ab6ff58 Support configurable transpiler 2023-09-03 13:02:47 +02:00
mark
9c93d5e336 Adjust package version 2023-09-03 09:00:57 +02:00
mark
19af20457e Add dart-sass installation to build command 2023-09-03 08:49:22 +02:00
mark
1cdc165b1c Update base URL 2023-09-03 08:40:30 +02:00
Mark Dumay
ede8fe8066 Merge pull request #507 from gethinode/develop
Fix issues with table and link
2023-09-02 16:26:15 +02:00
mark
51046d9646 Bump package version 2023-09-02 15:44:31 +02:00
mark
f2fd933f50 Update build stats 2023-09-02 15:43:08 +02:00
mark
8d16d50171 Increase min required version of Hugo 2023-09-02 15:42:49 +02:00
mark
3e3e2486ee Remove workaround for incorrect raw content 2023-09-02 15:42:17 +02:00
Mark Dumay
780707d821 Merge branch 'main' into develop 2023-09-02 15:31:43 +02:00
mark
8ac0f752ba Fix class init of link shortcode 2023-09-02 09:36:54 +02:00
mark
180641a72b Refine table colors in dark mode 2023-09-02 09:06:07 +02:00
Mark Dumay
75126f27ed Merge pull request #503 from gethinode/develop
Improve cards and card-group
2023-09-01 16:40:46 +02:00
Mark Dumay
df683a3022 Merge branch 'main' into develop 2023-09-01 16:27:17 +02:00
mark
61373259e9 Bump package version 2023-09-01 16:26:19 +02:00
mark
481dffd8b6 Update build stats 2023-09-01 16:26:08 +02:00
mark
80a957d261 Refine project cards layout 2023-09-01 16:26:01 +02:00
mark
9df3b0f163 Adjust card-group gutter 2023-09-01 16:25:34 +02:00
mark
284cc53308 Add card-body-margin to example section config 2023-09-01 16:12:20 +02:00
mark
4c7075fdb8 Improve handling of inner content 2023-09-01 16:08:21 +02:00
mark
5d5a21ca4e Add gutter support 2023-09-01 16:07:24 +02:00
mark
9e6f14ed47 Add wrapper example 2023-09-01 16:07:05 +02:00
mark
c61c770c3e Document wrapper example value 2023-09-01 14:45:38 +02:00
mark
9595892444 Add gutter argument 2023-09-01 14:45:10 +02:00
mark
8c7867e14a Document cols arg 2023-09-01 14:44:26 +02:00
mark
a58b0dae6b Refine default wrapper value 2023-09-01 14:44:06 +02:00
mark
4385ef9f87 Add configurable gutter 2023-09-01 14:43:20 +02:00
mark
8f9ed014f2 Add bottom margin adjustment 2023-09-01 14:38:45 +02:00
mark
2f0ce05789 Refactor cols init 2023-09-01 13:17:18 +02:00
mark
6d700e6819 Adjust gutter behavior 2023-09-01 13:16:44 +02:00
mark
46c5ec3b44 Document auto-behavior 2023-09-01 13:16:08 +02:00
mark
de8d450a05 Add responsive argument 2023-09-01 13:05:28 +02:00
Mark Dumay
56f74e03ba Merge pull request #502 from aefly/french-translation
Update 'bootstrap-elements.md' with latest hinode version
2023-09-01 12:33:51 +02:00
aefly
0ce037675b Fix exemple - > example 2023-09-01 03:51:56 +02:00
aefly
aa472e6ffa Update 'bootstap-elements.md' with latest hinode version 2023-09-01 03:48:03 +02:00
github-actions[bot]
f05b45af02 Merge pull request #500 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.114.2
Bump hugo-bin from 0.113.0 to 0.114.2
2023-08-31 14:06:54 +00:00
dependabot[bot]
69b4f6a4ca Bump hugo-bin from 0.113.0 to 0.114.2
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.113.0 to 0.114.2.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.113.0...v0.114.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-31 14:01:00 +00:00
Mark Dumay
484d540ecb Merge pull request #499 from gethinode/develop
Improve cards
2023-08-31 14:41:27 +02:00
Mark Dumay
bb542efaa8 Merge branch 'main' into develop 2023-08-31 14:27:36 +02:00
Mark Dumay
49ac691b3e Merge pull request #498 from gethinode/develop
Improve argument handling
2023-08-31 14:25:41 +02:00
mark
95d757f826 Discard empty title 2023-08-31 14:24:27 +02:00
mark
c1fc156d75 Remove bottom margin 2023-08-31 14:24:03 +02:00
mark
35a5a25150 Add wrapper arg 2023-08-31 14:23:20 +02:00
Mark Dumay
9547ba316e Merge branch 'main' into develop 2023-08-31 13:35:41 +02:00
mark
0d48dec518 Improve initialization of default value 2023-08-31 13:34:23 +02:00
mark
f4852a4bdb Fix arg handling 2023-08-31 13:32:01 +02:00
mark
a7d515e76a Improve handling of nil args 2023-08-31 12:48:42 +02:00
Mark Dumay
37f6acc984 Merge pull request #497 from gethinode/develop
Improve contrast for accented tables
2023-08-31 12:14:56 +02:00
Mark Dumay
c87bd75334 Merge branch 'main' into develop 2023-08-31 11:56:20 +02:00
mark
77ffbb49a7 Improve contrast for accented tables 2023-08-31 11:55:51 +02:00
Mark Dumay
64533e5dbc Merge pull request #494 from aefly/french-translation
Add French slugs
2023-08-31 11:35:14 +02:00
Mark Dumay
d42b980496 Merge branch 'main' into french-translation 2023-08-31 11:25:50 +02:00
Mark Dumay
2b84def4d8 Merge pull request #496 from gethinode/develop
Fix #495
2023-08-31 11:24:37 +02:00
Mark Dumay
7ba75a04ad Merge branch 'main' into develop 2023-08-31 11:14:21 +02:00
mark
98b88a74ae Fix #495 2023-08-31 11:13:52 +02:00
aefly
31d98ef263 Merge branch 'gethinode:main' into french-translation 2023-08-31 10:09:58 +02:00
aefly
3f34ae2ab0 Add 'composents' slug 2023-08-31 10:07:02 +02:00
aefly
d8b52d8772 Add 'elements-bootstrap' slug 2023-08-31 10:06:39 +02:00
Mark Dumay
103fa52511 Merge pull request #492 from gethinode/develop
Bump package version
2023-08-31 07:31:06 +02:00
mark
cdb0a8e685 Bump package version 2023-08-31 07:20:51 +02:00
mark
6b217d6c02 Update build stats 2023-08-31 07:20:29 +02:00
Mark Dumay
490b0a32b2 Merge pull request #491 from gethinode/main
Sync with main
2023-08-31 07:17:49 +02:00
Mark Dumay
c0684f4486 Merge pull request #490 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2023-08-31 07:10:49 +02:00
markdumay
988c8dcb08 fix: update Hugo module dependencies 2023-08-31 05:02:09 +00:00
Mark Dumay
a1251de4e8 Merge pull request #489 from gethinode/main
Sync with main
2023-08-31 06:26:50 +02:00
Mark Dumay
a64e4f1d0d Merge pull request #455 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2023-08-31 06:19:54 +02:00
markdumay
72f13a2b66 fix: update Hugo module dependencies 2023-08-31 04:14:03 +00:00
Mark Dumay
a587119310 Merge pull request #488 from aefly/french-translation
Update French Translation
2023-08-31 05:13:38 +02:00
aefly
12e29f944a Update 'components.md' 2023-08-30 22:25:12 +02:00
aefly
19861ce3d4 Update 'bootstrap-elements.md' 2023-08-30 22:21:56 +02:00
aefly
d8647e4f16 Merge branch 'french-translation' of https://github.com/aefly/hinode into french-translation 2023-08-30 22:10:25 +02:00
aefly
60e9abecfe Update 'components.md'
Added 'slug' for French Translation.
2023-08-30 22:10:14 +02:00
aefly
1b45d2b564 Update 'bootstrap-elements.md'
Updated /fr/about to /en/about to illustrate the cross-language links. Added 'slug' for French Translation.
2023-08-30 22:09:35 +02:00
Mark Dumay
25d62a4755 Merge pull request #485 from gethinode/main
Sync with main
2023-08-30 13:58:15 +02:00
66 changed files with 3922 additions and 267 deletions

View File

@@ -58,6 +58,17 @@ jobs:
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
- name: Install Dart Sass
run: |
if [ "$RUNNER_OS" == "Linux" ]; then
sudo snap install dart-sass
elif [ "$RUNNER_OS" == "macOS" ]; then
brew install sass/sass/sass
elif [ "$RUNNER_OS" == "Windows" ]; then
choco install sass
fi
shell: bash
# [24/AUG/23] Adjusted from npm ci for non-macOS to prevent EBADPLATFORM error due to fsevents
- name: Perform clean install of npm
run: |

View File

@@ -3,5 +3,6 @@ assets/scss/components/_syntax-dark.scss
assets/scss/components/_syntax-light.scss
assets/scss/vendor
assets/scss/theme/fonts.scss
assets/scss/app-dart.scss
assets/scss/app.scss
node_modules

56
assets/scss/app-dart.scss Normal file
View File

@@ -0,0 +1,56 @@
@use "sass:meta";
// Define template variables
@use "hugo:vars" as h; // note: modified for dart-sass
// Include default variable overrides
@import "common/variables-dart.scss"; // note: modified for dart-sass
@import "common/icons.scss";
// Import Bootstrap configuration (mounted by core Bootstrap module)
@import "bootstrap-dart.scss"; // note: modified for dart-sass
// Include dark mode overrides
@import "common/variables-dark.scss";
// Import Hinode theme styles
@import "components/alert.scss";
@import "components/blockquote.scss";
@import "components/breadcrumb.scss";
@import "components/buttons.scss";
@import "components/card.scss";
@import "components/carousel.scss";
@import "components/clipboard.scss";
@import "components/command.scss";
@import "components/comments.scss";
@import "components/feature.scss";
@import "components/footer.scss";
@import "components/navbar.scss";
@import "components/img.scss";
@import "components/pagination.scss";
@import "components/persona.scss";
@import "components/popover.scss";
@import "components/sidebar.scss";
@import "components/syntax-dart.scss"; // note: modified for dart-sass
@import "components/table.scss";
@import "components/timeline.scss";
@import "components/toc.scss";
@import "components/vimeo.scss";
@import "common/animation.scss";
@import "common/styles.scss";
@import "layouts/reboot.scss";
@import "layouts/type.scss";
@import "common/export.scss";
@import "helpers/colored-links.scss";
@import "helpers/display.scss";
// note: modified for dart-sass
@if h.$import-fonts {
@include meta.load-css(theme/fonts);
}
// Import theme placeholder
@import "theme/theme.scss";
// Import Bootstrap utilities API (mounted by core Bootstrap module)
@import "modules/bootstrap/utilities/api";

View File

@@ -30,6 +30,7 @@
@import "components/popover.scss";
@import "components/sidebar.scss";
@import "components/syntax.scss";
@import "components/table.scss";
@import "components/timeline.scss";
@import "components/toc.scss";
@import "components/vimeo.scss";

View File

@@ -0,0 +1,41 @@
// Bootstrap variables overrides for theme
$enable-negative-margins: true;
$enable-important-utilities: true !default;
// Remove the border from the focused navigation toggler
$navbar-toggler-focus-width: 0 !default;
$font-family-sans-serif: h.$theme-font, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;
$headings-font-weight: 600 !default;
$font-weight-lighter: lighter !default;
$font-weight-light: 200 !default;
$font-weight-normal: 300 !default;
$font-weight-bold: 600 !default;
$font-weight-bolder: bolder !default;
strong {
font-weight: 600 if($enable-important-utilities, !important, null);
}
$navbar-offset: h.$navbar-offset;
$primary: h.$primary;
$secondary: h.$secondary;
$success: h.$success;
$info: h.$info;
$warning: h.$warning;
$danger: h.$danger;
$light: h.$light;
$dark: h.$dark;
$black: #000 !default;
$btn-toggle-color: $black !default;
$carousel-dark-indicator-active-bg: #fff !default;
$carousel-dark-caption-color: #fff !default;
$carousel-dark-control-icon-filter: invert(0) grayscale(100) !default;
$primary-text-emphasis-dark: mix(white, h.$primary, h.$dark-mode-tint) !default;
$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;

View File

@@ -22,8 +22,8 @@ strong {
$black: #000 !default;
$btn-toggle-color: $black !default;
$carousel-dark-indicator-active-bg: #ffffff !default;
$carousel-dark-caption-color: #ffffff !default;
$carousel-dark-indicator-active-bg: #fff !default;
$carousel-dark-caption-color: #fff !default;
$carousel-dark-control-icon-filter: invert(0) grayscale(100) !default;
// scss-docs-start color-mode

View File

@@ -48,6 +48,10 @@
color: $body-color if($enable-important-utilities, !important, null);
}
.card-body-margin {
margin-bottom: $spacer * 1.5; // equals mb-4
}
@if $enable-dark-mode {
@include color-mode(dark) {
.card-body-link {

View File

@@ -0,0 +1,49 @@
// stylelint-disable annotation-no-unknown
@import "syntax-light";
.bg,
.chroma,
.chroma .err {
// set to transparent background to avoid rendering issues with example shortcode
background-color: transparent if($enable-important-utilities, !important, null);
}
.chroma {
display: flex;
}
.chroma code {
flex: 1;
}
.syntax-highlight {
background-color: var(--bs-light) if($enable-important-utilities, !important, null);
overflow-x: auto;
}
@if $enable-dark-mode {
[data-bs-theme="dark"] {
@include meta.load-css(syntax-dark);
.bg,
.chroma,
.chroma .err {
// set to transparent background to avoid rendering issues with example shortcode
background-color: transparent if($enable-important-utilities, !important, null);
}
.syntax-highlight {
background-color: var(--bs-tertiary-bg) if($enable-important-utilities, !important, null);
overflow-x: auto;
}
.bg,
.chroma,
.chroma .ge,
.chroma .gl,
.chroma .gs {
color: #c9d1d9 if($enable-important-utilities, !important, null);
}
}
}
// stylelint-enable annotation-no-unknown

View File

@@ -0,0 +1,13 @@
@if $enable-dark-mode {
@include color-mode(dark) {
.table-striped, .table-striped-columns {
--bs-table-striped-bg: var(--bs-tertiary-bg);
--bs-table-striped-color: var(--bs-body-color);
}
.table-hover {
--bs-table-hover-bg: var(--bs-tertiary-bg);
--bs-table-striped-color: var(--bs-body-color);
}
}
}

View File

@@ -9,6 +9,8 @@
[main.externalLinks]
cue = false
tab = false
[main.build]
transpiler = "libsass"
# toml-docs-end main
# toml-docs-start modules
@@ -116,7 +118,7 @@
# header = "full"
# footer = "none"
# orientation = "stacked"
# style = "border-0 card-zoom"
# style = "border-0 card-zoom card-body-margin"
# homepage = 3
# separator = true
# toml-docs-end sections

View File

@@ -19,6 +19,7 @@ const purgecss = require('@fullhuman/postcss-purgecss')({
'./assets/scss/components/_syntax.scss',
'./assets/scss/components/_syntax-dark.scss',
'./assets/scss/components/_syntax-light.scss',
'./assets/scss/components/_table.scss',
'./assets/scss/theme/fonts.scss',
'./assets/scss/theme/theme.scss',
'./_vendor/github.com/gethinode/mod-flexsearch/assets/scss/modules/flexsearch/flexsearch.scss',

View File

@@ -7,6 +7,8 @@
[main.externalLinks]
cue = true
tab = true
[main.build]
transpiler = "dartsass"
[modules]
core = ["bootstrap", "flexsearch", "fontawesome"]
@@ -98,7 +100,7 @@
header = "full"
footer = "none"
orientation = "stacked"
style = "border-0 card-zoom"
style = "border-0 card-zoom card-body-margin"
homepage = 3
separator = true
[sections.projects]
@@ -113,7 +115,7 @@
padding = "3"
header = "none"
footer = "tags"
orientation = "horizontal"
orientation = "horizontal-sm"
style = "border-1 card-emphasize"
homepage = 3
separator = false

View File

@@ -135,7 +135,7 @@ As an example, the following shortcode displays a card group of three elements.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* card-group padding="3" */>}}
{{</* card-group padding="3" gutter="3" */>}}
{{</* card title="Bootstrap framework" icon="fab bootstrap" */>}}
Build fast, responsive sites with Bootstrap 5. Easily customize your site with the source
Sass files.

View File

@@ -1,6 +1,7 @@
---
author: Mark Dumay
title: Éléments Bootstrap
slug: elements-bootstrap
date: 2023-08-12
description: Utilisez des shortcodes pour ajouter facilement des éléments Bootstrap courants.
tags: ["bootstrap", "shortcode"]
@@ -14,6 +15,16 @@ thumbnail:
Hinode propose plusieurs shortcodes qui enveloppent des composants Bootstrap courants. Consultez la [documentation officielle]({{< param "links.hinode_docs" >}}) pour plus de détails.
## Abbr
À titre d'exemple, le shortcode suivant affiche le texte complet d'une abréviation lorsque survolé.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* abbr "CI/CD" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Accordéon
À titre d'exemple, le shortcode suivant affiche un accordéon avec trois éléments, dont le premier élément est déplié.
@@ -124,7 +135,7 @@ En-tête 6 {{</* badge title="Nouveau" */>}}
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* card-group padding="3" */>}}
{{</* card-group padding="3" gutter="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.
@@ -285,14 +296,24 @@ Utilisez le shortcode `file` pour afficher et mettre en évidence le contenu com
- {{</* link url="/projects/another-project" /*/>}}
- {{</* link url="../projects/another-project" case=false /*/>}}
- {{</* link "/about/" /*/>}}
- {{</* link "/fr/about/" /*/>}}
- {{</* link "/fr/about" >}}About (French){{< /link */>}}
- {{</* link "/en/about/" /*/>}}
- {{</* link "/en/about" >}}About (Anglais){{< /link */>}}
- {{</* link "#image" /*/>}}
- {{</* link "components/#map" /*/>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Mark
Utilisez le shortcode `mark` pour mettre en évidence le texte. Le contenu interne est utilisé en tant qu'entrée.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
Utilisez le shortcode `mark` pour {{</* mark >}}mettre en évidence{{< /mark */>}} un texte spécifique.
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Navigation
À titre d'exemple, le shortcode suivant affiche un groupe d'onglets avec des onglets alignés verticalement.
@@ -346,6 +367,26 @@ Chargement...
{{< /example>}}
<!-- markdownlint-enable MD037 -->
## Sub
À titre d'exemple, le shortcode suivant affiche du texte en indice.
<!-- markdownlint-disable MD037 -->
{{< example >}}
H{{</* sub 2 */>}}O est un liquide.
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Sup
À titre d'exemple, le shortcode suivant affiche du texte en exposant.
<!-- markdownlint-disable MD037 -->
{{< example >}}
2{{</* sup 10 */>}} équivaut à 1024.
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Chronologie
À titre d'exemple, le shortcode suivant affiche une chronologie avec le fichier `data/timeline-fr.yml` en tant que données.

View File

@@ -1,6 +1,7 @@
---
author: Mark Dumay
title: Components
title: Composents
slug: composents
date: 2023-07-21
description: Utilisez des shortcodes pour ajouter des composants prédéfinis alimentés par des bibliothèques externes.
tags: ["bootstrap", "shortcode"]

View File

@@ -3,9 +3,4 @@ module github.com/gethinode/hinode-test
go 1.19
require (
github.com/gethinode/mod-bootstrap v1.1.1 // indirect
github.com/gethinode/mod-flexsearch v1.4.0 // indirect
github.com/gethinode/mod-fontawesome v1.2.5 // indirect
github.com/gethinode/mod-katex v1.0.2 // indirect
github.com/gethinode/mod-leaflet v0.3.4 // indirect
)

View File

@@ -1,17 +1,31 @@
github.com/gethinode/mod-bootstrap v1.1.1 h1:Tx4M5hGVOFrEaxnUONDAm6N9xuRi5UphKlT7F26HujU=
github.com/gethinode/mod-bootstrap v1.1.1/go.mod h1:DcpPc2cNaXUPGEvhD7npuEEPA7573NvakTlrwFbyjr8=
github.com/gethinode/mod-bootstrap v1.2.0 h1:JkTcImU3qpi25WgKvUxUYiMoiXtrxrG+Wf/utRB5UbU=
github.com/gethinode/mod-bootstrap v1.2.0/go.mod h1:DcpPc2cNaXUPGEvhD7npuEEPA7573NvakTlrwFbyjr8=
github.com/gethinode/mod-bootstrap v1.2.1 h1:z54dgsbhShhlri+X77Z+yLrg0wz/f8C8ojA/wnlhsJc=
github.com/gethinode/mod-bootstrap v1.2.1/go.mod h1:DcpPc2cNaXUPGEvhD7npuEEPA7573NvakTlrwFbyjr8=
github.com/gethinode/mod-flexsearch v1.2.0 h1:SSMpWzK9SMbi9QRYfil9PJZLLWWLHWzlTc69UxtSWAA=
github.com/gethinode/mod-flexsearch v1.2.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.3.0 h1:RbfEDw219Y1rOVp9lHmy5ePdF9lyPalDu2J5oVeejrU=
github.com/gethinode/mod-flexsearch v1.3.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.4.0 h1:5e/NVRLyWzUZ9fO/fNsM5o+O7nw+xyln2rfEOtbgfWc=
github.com/gethinode/mod-flexsearch v1.4.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.4.1 h1:z+GKvhJ4v6BsZsWVZRgbO9WcmSZEVUkb3Q9a09yXtd8=
github.com/gethinode/mod-flexsearch v1.4.1/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-fontawesome v1.2.4 h1:SqE3CQ+boaBIhrVh3MPu4nz0uoHPfEH5t60nNY1CfsI=
github.com/gethinode/mod-fontawesome v1.2.4/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.2.5 h1:RqkLRj6+s+gM4nKd0IwNMMDA8cRmxfp0fxkVH4FdAGU=
github.com/gethinode/mod-fontawesome v1.2.5/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.3.0 h1:oudeDBlAKu8vqYxumWuq5SG5F5itm33NgTrBLgvPulQ=
github.com/gethinode/mod-fontawesome v1.3.0/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.3.1 h1:EdnBuG2B+bi06OcYmcL1NfSxHpRMEGu8TXUqEEpVH4g=
github.com/gethinode/mod-fontawesome v1.3.1/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.3.2 h1:qLJSbAFR2T33BuBtC2Iulm9wZql3cy7AhXjxc2YGzBU=
github.com/gethinode/mod-fontawesome v1.3.2/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-katex v1.0.1/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-katex v1.0.2 h1:pIG4n3qLl/IVe7BEiwn+GL8r5lOCtF6FDxlcrPKdAXk=
github.com/gethinode/mod-katex v1.0.2/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-leaflet v0.3.4 h1:oY+YQ0JiJuhFQNrk9XgFdg0NMsTUQPXNfnILp4ia4r4=
github.com/gethinode/mod-leaflet v0.3.4/go.mod h1:uGggt87x4Fw7wBoJpSiUvNkYg+s/Ujne7klAX2rxMRk=
github.com/gethinode/mod-leaflet v0.3.5 h1:69Bv/6zRXhbcTzo7TMr58h3ry47srHRpM1k81LrLbYU=
github.com/gethinode/mod-leaflet v0.3.5/go.mod h1:uGggt87x4Fw7wBoJpSiUvNkYg+s/Ujne7klAX2rxMRk=

View File

@@ -94,6 +94,7 @@
"card",
"card-body",
"card-body-link",
"card-body-margin",
"card-emphasize",
"card-img-top",
"card-img-wrap",
@@ -213,6 +214,7 @@
"fw-semibold",
"g-0",
"g-3",
"g-4",
"gap-2",
"gap-3",
"gradient",
@@ -308,7 +310,6 @@
"ps-1",
"ps-3",
"ps-xl-3",
"pt-3",
"px-3",
"px-4",
"px-xxl-0",
@@ -416,10 +417,14 @@
"accordion-0-item-0",
"accordion-0-item-1",
"accordion-0-item-2",
"accordéon",
"alert",
"alerte",
"badge",
"barre-de-navigation",
"body-docs-collapse-15",
"body-file-collapse-1",
"bouton",
"breadcrumb",
"btn-webshare",
"button",
@@ -428,18 +433,32 @@
"card-group",
"carousel",
"carousel-0",
"carrousel",
"carte",
"chronologie",
"collapse",
"collapse-1",
"command-prompt",
"docs",
"documentation",
"example",
"exemple",
"fichier",
"fil-dariane",
"file",
"footer-docs-collapse-15",
"footer-file-collapse-1",
"formula-katex",
"formule-katex",
"groupe-de-boutons",
"groupe-de-cartes",
"icon",
"image",
"indicateur-de-chargement",
"infobulle",
"invite-de-commandes",
"leaflet-map-0",
"lien",
"link",
"map",
"mark",
@@ -454,7 +473,11 @@
"navbar",
"navbar-0-collapse",
"navbar-sample-collapse",
"navigation",
"notification",
"publication",
"release",
"réduire",
"spinner",
"sub",
"sup",

8
go.mod
View File

@@ -3,9 +3,9 @@ module github.com/gethinode/hinode
go 1.19
require (
github.com/gethinode/mod-bootstrap v1.1.1 // indirect
github.com/gethinode/mod-flexsearch v1.4.0 // indirect
github.com/gethinode/mod-fontawesome v1.2.5 // indirect
github.com/gethinode/mod-bootstrap v1.2.1 // indirect
github.com/gethinode/mod-flexsearch v1.4.1 // indirect
github.com/gethinode/mod-fontawesome v1.3.2 // indirect
github.com/gethinode/mod-katex v1.0.2 // indirect
github.com/gethinode/mod-leaflet v0.3.4 // indirect
github.com/gethinode/mod-leaflet v0.3.5 // indirect
)

14
go.sum
View File

@@ -4,6 +4,10 @@ github.com/gethinode/mod-bootstrap v1.1.0 h1:BbalsW8kmFhv+J+dcc41TGcjIlM/p69AB0h
github.com/gethinode/mod-bootstrap v1.1.0/go.mod h1:DcpPc2cNaXUPGEvhD7npuEEPA7573NvakTlrwFbyjr8=
github.com/gethinode/mod-bootstrap v1.1.1 h1:Tx4M5hGVOFrEaxnUONDAm6N9xuRi5UphKlT7F26HujU=
github.com/gethinode/mod-bootstrap v1.1.1/go.mod h1:DcpPc2cNaXUPGEvhD7npuEEPA7573NvakTlrwFbyjr8=
github.com/gethinode/mod-bootstrap v1.2.0 h1:JkTcImU3qpi25WgKvUxUYiMoiXtrxrG+Wf/utRB5UbU=
github.com/gethinode/mod-bootstrap v1.2.0/go.mod h1:DcpPc2cNaXUPGEvhD7npuEEPA7573NvakTlrwFbyjr8=
github.com/gethinode/mod-bootstrap v1.2.1 h1:z54dgsbhShhlri+X77Z+yLrg0wz/f8C8ojA/wnlhsJc=
github.com/gethinode/mod-bootstrap v1.2.1/go.mod h1:DcpPc2cNaXUPGEvhD7npuEEPA7573NvakTlrwFbyjr8=
github.com/gethinode/mod-flexsearch v1.0.1 h1:FJkRsUzSnQTXl3MWCigT4E6vfff870UWTnkGqaDGIhA=
github.com/gethinode/mod-flexsearch v1.0.1/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.1.0 h1:7BCMyQDlYlskNXuazt8Jg/jg9WREexu2xVkYqThkAX4=
@@ -22,6 +26,8 @@ github.com/gethinode/mod-flexsearch v1.3.0 h1:RbfEDw219Y1rOVp9lHmy5ePdF9lyPalDu2
github.com/gethinode/mod-flexsearch v1.3.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.4.0 h1:5e/NVRLyWzUZ9fO/fNsM5o+O7nw+xyln2rfEOtbgfWc=
github.com/gethinode/mod-flexsearch v1.4.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.4.1 h1:z+GKvhJ4v6BsZsWVZRgbO9WcmSZEVUkb3Q9a09yXtd8=
github.com/gethinode/mod-flexsearch v1.4.1/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
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=
@@ -38,6 +44,12 @@ github.com/gethinode/mod-fontawesome v1.2.4 h1:SqE3CQ+boaBIhrVh3MPu4nz0uoHPfEH5t
github.com/gethinode/mod-fontawesome v1.2.4/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.2.5 h1:RqkLRj6+s+gM4nKd0IwNMMDA8cRmxfp0fxkVH4FdAGU=
github.com/gethinode/mod-fontawesome v1.2.5/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.3.0 h1:oudeDBlAKu8vqYxumWuq5SG5F5itm33NgTrBLgvPulQ=
github.com/gethinode/mod-fontawesome v1.3.0/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.3.1 h1:EdnBuG2B+bi06OcYmcL1NfSxHpRMEGu8TXUqEEpVH4g=
github.com/gethinode/mod-fontawesome v1.3.1/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.3.2 h1:qLJSbAFR2T33BuBtC2Iulm9wZql3cy7AhXjxc2YGzBU=
github.com/gethinode/mod-fontawesome v1.3.2/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
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=
@@ -52,3 +64,5 @@ github.com/gethinode/mod-leaflet v0.3.3 h1:isnjja6VRFvVWBatYSouh46TXSJg2C4/E2BQT
github.com/gethinode/mod-leaflet v0.3.3/go.mod h1:uGggt87x4Fw7wBoJpSiUvNkYg+s/Ujne7klAX2rxMRk=
github.com/gethinode/mod-leaflet v0.3.4 h1:oY+YQ0JiJuhFQNrk9XgFdg0NMsTUQPXNfnILp4ia4r4=
github.com/gethinode/mod-leaflet v0.3.4/go.mod h1:uGggt87x4Fw7wBoJpSiUvNkYg+s/Ujne7klAX2rxMRk=
github.com/gethinode/mod-leaflet v0.3.5 h1:69Bv/6zRXhbcTzo7TMr58h3ry47srHRpM1k81LrLbYU=
github.com/gethinode/mod-leaflet v0.3.5/go.mod h1:uGggt87x4Fw7wBoJpSiUvNkYg+s/Ujne7klAX2rxMRk=

View File

@@ -16,7 +16,6 @@
"link",
"meta",
"nav",
"ol",
"p",
"path",
"script",
@@ -38,12 +37,9 @@
"bg-primary",
"bottom-0",
"bottom-bar",
"breadcrumb",
"breadcrumb-item",
"btn",
"btn-close",
"btn-primary",
"btn-social",
"col",
"col-12",
"col-lg-2",
@@ -84,17 +80,12 @@
"fa-circle-half-stroke",
"fa-ellipsis",
"fa-face-frown",
"fa-facebook",
"fa-fw",
"fa-github",
"fa-link",
"fa-linkedin",
"fa-medium",
"fa-moon",
"fa-share-nodes",
"fa-sun",
"fa-whatsapp",
"fa-x-twitter",
"fab",
"fas",
"feature",
@@ -108,21 +99,16 @@
"fs-3",
"fw-30",
"fw-bold",
"gap-2",
"h-100",
"hstack",
"img-fluid",
"img-wrap",
"invisible",
"is-search",
"justify-content-center",
"lead",
"link-bg-footer",
"link-secondary",
"main-nav-toggler",
"mb-3",
"mb-4",
"mb-5",
"me-auto",
"middle-bar",
"min-vh-100",
@@ -161,13 +147,11 @@
"px-4",
"px-xxl-0",
"py-2",
"py-3",
"py-5",
"py-md-1",
"rounded",
"row",
"row-cols-1",
"row-cols-2",
"row-cols-sm-3",
"row-cols-sm-4",
"search",
@@ -176,13 +160,10 @@
"shadow",
"svg-inline--fa",
"switch-mode-collapsed",
"text-body-secondary",
"text-center",
"text-decoration-none",
"text-end",
"text-secondary",
"text-sm-start",
"text-uppercase",
"theme-icon",
"theme-icon-active",
"toast",
@@ -197,11 +178,9 @@
"ids": [
"-theme",
"-theme-collapsed",
"btn-webshare",
"navbar-0-collapse",
"toast-container",
"toast-copied-code-message",
"toast-message-email-4"
"toast-copied-code-message"
]
}
}

View File

@@ -1,7 +1,5 @@
{{- define "main" -}}
<!-- Ignore empty content, see https://github.com/gohugoio/hugo/issues/11406 -->
{{- $content := "" -}}
{{- if .Content }}{{ $content = partial "utilities/ProcessContent" (dict "page" .Page "raw" .RawContent) }}{{ end -}}
{{- $content := partial "utilities/ProcessContent" (dict "page" .Page "raw" .RawContent) -}}
{{- partial "assets/section-list.html" (dict
"page" .
"section" .Type

View File

@@ -84,8 +84,7 @@
{{ end -}}
{{ end }}
<!-- Ignore empty content, see https://github.com/gohugoio/hugo/issues/11406 -->
{{- if .Content }}{{ partial "utilities/ProcessContent" (dict "page" .Page "raw" .RawContent) }}{{ end -}}
{{ partial "utilities/ProcessContent" (dict "page" .Page "raw" .RawContent) }}
{{ end -}}
{{ define "partials/footer.html" -}}

View File

@@ -10,6 +10,7 @@
"cards" Optional string of rendered cards.
"max" Required maximum number of cards to display.
"cols" Required number of columns for the grid, must be a value between 1 and 5.
"gutter" Gutter between columns in a group, either "0", "1", "2", "3", "4" (default), or "5".
"title" Optional title of the card group.
"paginate" Optional flag indicating if pagination should be added to the card group, if the list exceeds the
maximum number of cards to display.
@@ -17,6 +18,8 @@
maximum number of cards to display.
"hrefTitle" Optional title of the button or hyperlink as companion to href.
"separator" Optional flag to indicate a horizontal line should be added between items on small screens.
"wrapper" Optional class attributes of the wrapper element, e.g. "p-4 px-xxl-0".
"responsive" Optional flag if the number of columns should be responsive, defaults to "true".
In addition, the following arguments are passed to the individual cards.
"class" Optional class attribute of the card element, e.g. “w-50”.
@@ -89,15 +92,31 @@
{{- end -}}
{{- $max = math.Min $max $count -}}
{{- $cols := .cols -}}
{{- if or (lt $cols 1) (gt $cols 5) -}}
{{- errorf "partial [assets/card-group.html] - Invalid value for param 'cols': %d" $cols -}}
{{- $responsive := .responsive | default true -}}
{{- with .responsive -}}
{{- if ne (printf "%T" .) "bool" -}}
{{- errorf "partial [assets/card-group.html] - Invalid value for param 'responsive'" -}}
{{- end -}}
{{- end -}}
{{- $cols := string .cols | default "3" -}}
{{- $supportedCols := slice "0" "1" "2" "3" "4" "5" "auto" -}}
{{- if not (in $supportedCols $cols) -}}
{{- errorf "partial [assets/card-group.html] - Invalid value for param 'cols': %s" $cols -}}
{{- end -}}
{{- $colGrid := "" -}}
{{- if eq $cols "1" }}{{ $colGrid = "row-cols-1" -}}
{{- else if eq $cols "2" }}{{ if $responsive }}{{ $colGrid = "row-cols-1 row-cols-sm-1 row-cols-md-2" }}{{ else }}{{ $colGrid = "row-cols-2" }}{{ end -}}
{{- else if eq $cols "3" }}{{ if $responsive }}{{ $colGrid = "row-cols-1 row-cols-sm-2 row-cols-md-3" }}{{ else }}{{ $colGrid = "row-cols-3" }}{{ end -}}
{{- else if eq $cols "4" }}{{ if $responsive }}{{ $colGrid = "row-cols-1 row-cols-sm-2 row-cols-md-4" }}{{ else }}{{ $colGrid = "row-cols-4" }}{{ end -}}
{{- else if eq $cols "5" }}{{ if $responsive }}{{ $colGrid = "row-cols-1 row-cols-sm-3 row-cols-md-5" }}{{ else }}{{ $colGrid = "row-cols-5" }}{{ end -}}
{{ end -}}
{{- $gutter := .gutter | default "4" -}}
{{- $supportedGutters := slice "0" "1" "2" "3" "4" "5" -}}
{{- if not (in $supportedGutters $gutter) -}}
{{- errorf "partial [assets/card-group.html] - Invalid value for param 'gutter': %s" $gutter -}}
{{- end -}}
{{- $colGrid := "row-cols-1" -}}
{{- if eq $cols 2 }}{{ $colGrid = "row-cols-1 row-cols-sm-1 row-cols-md-2" -}}
{{- else if eq $cols 3 }}{{ $colGrid = "row-cols-1 row-cols-sm-2 row-cols-md-3" -}}
{{- else if eq $cols 4 }}{{ $colGrid = "row-cols-1 row-cols-sm-2 row-cols-md-4" -}}
{{- else if eq $cols 5 }}{{ $colGrid = "row-cols-1 row-cols-sm-3 row-cols-md-5" }}{{ end -}}
{{- if not $paginate -}}
{{- $list = first $max $list -}}
@@ -120,11 +139,12 @@
{{- $header := .header -}}
{{- $footer := .footer -}}
{{- $orientation := .orientation -}}
{{- $wrapper := .wrapper | default "p-4 px-xxl-0" -}}
{{- if and (eq $cols 1) (eq $orientation "horizontal") }}{{ $orientation = "horizontal-sm" }}{{ end -}}
<div class="container-fluid p-4 px-xxl-0 ">
<div class="row {{ $colGrid }}">
<div class="container-fluid {{ $wrapper }}">
<div class="row {{ $colGrid }} g-{{ $gutter }}">
{{ range $index, $element := $list }}
{{- $params := (dict
"class" (printf "h-100 %s" $class)
@@ -136,7 +156,7 @@
) -}}
{{- $params = merge $params $element }}
<div class="col pt-3 pb-3">
<div class="col">
{{- partial "assets/card.html" $params -}}
</div>
{{- if and (lt $index (sub $max 1)) $separator -}}

View File

@@ -11,6 +11,7 @@
"warning", "info", "light", "dark", "white", "black", "body", or "body-tertiary". By default, no
color is specified.
"padding": Optional padding of the content, either "0", "1", "2", "3", "4", "5", or "auto" (default).
"gutter" Gutter between columns in a group, either "0" (default), "1", "2", "3", "4", or "5".
"header" Optional header components of the card, displayed in small caps. Supported values are "full"
(default), "publication", "tags", and "none".
"footer" Optional footer components of the card, displayed in small caps. Supported values are "full",
@@ -33,12 +34,12 @@
{{- if $href -}}
<a href="{{ $href }}" class="{{ if $color }}link-bg-{{ $color }}{{ else }}card-body-link{{ end }} stretched-link">
<p class="card-title fs-5 fw-bold">{{ $title }}</p>
{{ with $description }}<p class="card-text mb-4 {{ if $color }}link-bg-{{ $color }}{{ else }}card-body-link{{ end }}">{{ . }}</p>{{ end -}}
{{ with $description }}<p class="card-text {{ if $color }}link-bg-{{ $color }}{{ else }}card-body-link{{ end }}">{{ . }}</p>{{ end -}}
</a>
{{- else -}}
<div>
<p class="card-title fs-5 fw-bold">{{ $title }}</p>
{{ with $description }}<p class="card-text mb-4">{{ . }}</p>{{ end -}}
{{ with $title }}<p class="card-title fs-5 fw-bold">{{ . }}</p>{{ end -}}
{{ with $description }}<p class="card-text">{{ . }}</p>{{ end -}}
</div>
{{- end -}}
{{- end -}}
@@ -128,6 +129,12 @@
{{- errorf "partial [assets/card.html] - Invalid value for param 'padding': %s" $padding -}}
{{- end -}}
{{- $gutter := .gutter | default "0" -}}
{{ $supportedGutters:= slice "0" "1" "2" "3" "4" "5" -}}
{{ if not (in $supportedGutters $gutter) -}}
{{- errorf "partial [assets/card.html] - Invalid value for param 'gutter': %s" $gutter -}}
{{ end -}}
{{- $orientation := "stacked" -}}
{{- with .orientation }}{{ $orientation = . }}{{ end -}}
{{- $supportedOrientations := slice "stacked" "horizontal" "horizontal-sm" "none" -}}
@@ -136,6 +143,7 @@
{{- end -}}
{{- if eq $orientation "none" }}{{ $thumbnail = "" }}{{ $icon = "" }}{{ end -}}
{{ if ne $gutter "0" }}<div class="g-{{ $gutter }}">{{ end }}
{{- if hasPrefix $orientation "horizontal" -}}
<div class="card {{ with $color }}bg-{{ . }} text-bg-{{ . }}{{ end }} {{ $class }}">
<div class="row g-0 row-cols-1 h-100">
@@ -175,3 +183,4 @@
</div>
</div>
{{- end -}}
{{ if ne $gutter "0" }}</div>{{ end }}

View File

@@ -9,9 +9,10 @@
{{- $level := .level -}}
{{- $baseURL := .baseURL -}}
{{- $group := .group -}}
{{- $data := .menu -}}
{{- $doc_slug := $group.title | urlize -}}
{{- $href := printf "%s/" (relLangURL (path.Join $baseURL $doc_slug)) -}}
{{- $href := or $group.link (printf "%s/" (relLangURL (path.Join $baseURL $doc_slug))) -}}
{{- $collapsed := strings.HasPrefix $page.RelPermalink $href -}}
<li class="mb-1">
@@ -28,6 +29,7 @@
"level" (add $level 1)
"baseURL" $href
"group" $item
"menu" $data
)
}}
{{- else -}}
@@ -37,6 +39,8 @@
"level" $level
"baseURL" $href
"title" $item.title
"href" $item.link
"menu" $data
)
}}
{{ end -}}
@@ -47,15 +51,17 @@
{{ end -}}
{{- define "partials/sidebar/item.html" -}}
{{ $page := .page }}
{{ $sectionBreak := .sectionBreak }}
{{- $page := .page -}}
{{- $sectionBreak := .sectionBreak -}}
{{- $level := .level -}}
{{ $baseURL := .baseURL}}
{{ $title := .title}}
{{- $baseURL := .baseURL -}}
{{- $title := .title -}}
{{- $href := .href -}}
{{- $data := .menu -}}
{{- $doc_slug := $title | urlize -}}
{{- $href := printf "%s/" (relLangURL (path.Join $baseURL $doc_slug)) -}}
{{ $active := eq $page.RelPermalink $href }}
{{- $href := or $href (printf "%s/" (relLangURL (path.Join $baseURL $doc_slug))) -}}
{{- $active := eq (strings.TrimSuffix "/" $page.RelPermalink) (strings.TrimSuffix "/" $href) -}}
{{ if eq $level 0}}
<li class="mt-1 mb-1 {{ if $sectionBreak }}border-top{{ end }}"></li>
@@ -63,17 +69,27 @@
<li>
<ul class="btn-toggle-nav list-unstyled fw-bold pb-1">
<li>
<a href="{{ $href }}" class="sidebar-item text-decoration-none rounded {{ if $active }}active{{ end }}">
{{ $title }}
</a>
{{ $class := "sidebar-item text-decoration-none rounded" }}
{{ if $active }}{{ $class = printf "%s active" $class }}{{ end }}
{{ $link := partial "utilities/link.html" (dict "destination" $href "text" $title "class" $class "page" $page) }}
{{ if $link }}
{{ print $link | safeHTML }}
{{ else }}
{{- errorf "partial [utilities/sidebar.html] - Invalid link in file: %s" ($page.Scratch.Get "sidebarFilename") -}}
{{ end }}
</li>
</ul>
</li>
{{ else }}
<li>
<a href="{{ $href }}" class="sidebar-item text-decoration-none rounded small {{ if $active }}active{{ end }}">
{{ $title }}
</a>
{{ $class := "sidebar-item text-decoration-none rounded small" }}
{{ if $active }}{{ $class = printf "%s active" $class }}{{ end }}
{{ $link := partial "utilities/link.html" (dict "destination" $href "text" $title "class" $class "page" $page) }}
{{ if $link }}
{{ print $link | safeHTML }}
{{ else }}
{{- errorf "partial [utilities/sidebar.html] - Invalid link in file: %s" ($page.Scratch.Get "sidebarFilename") -}}
{{ end }}
</li>
{{ end }}
{{ end -}}
@@ -94,6 +110,7 @@
"level" (add $level 1)
"baseURL" $baseURL
"group" $item
"menu" $data
)
}}
{{- else }}
@@ -103,6 +120,8 @@
"level" $level
"baseURL" $baseURL
"title" $item.title
"href" $item.link
"menu" $data
)
}}
{{- end }}

View File

@@ -3,7 +3,7 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
{{ hugo.Generator}}
{{ partial "head/stylesheet.html" -}}
{{ partialCached "head/stylesheet-core.html" . -}}
{{- $modules := site.Params.modules.optional | intersect .Page.Params.modules -}}
{{- range $index, $mod := $modules -}}
{{- $source := printf "scss/%s.scss" $mod -}}

View File

@@ -0,0 +1,3 @@
{{/* Wrapper for the stylesheet partial with default arguments. */}}
{{/* Added to avoid interference with the argument of partialCached. */}}
{{ partial "head/stylesheet.html" -}}

View File

@@ -1,5 +1,14 @@
{{- $transpiler := site.Params.main.build.transpiler | default "libsass" -}}
{{- $supportedTranspilers := slice "libsass" "dartsass" -}}
{{- if not (in $supportedTranspilers $transpiler) -}}
{{- errorf "partial [head/stylesheet.html] - Invalid value for param 'transpiler': %s" $transpiler -}}
{{- end -}}
{{- $absoluteURL := site.Params.main.canonifyAssetsURLs | default false -}}
{{- $source := .source | default "scss/app.scss" -}}
{{- $source := .source }}
{{- if not $source -}}
{{- if eq $transpiler "dartsass" }}{{ $source = "scss/app-dart.scss" }}{{ else }}{{ $source = "scss/app.scss" }}{{ end -}}
{{- end -}}
{{- $target := .target | default "css/main.css" -}}
{{- $page := .page -}}
{{- $core := .core | default true -}}
@@ -36,7 +45,7 @@
"dark-mode-tint" (default "0%" site.Params.style.darkModeTint)
-}}
{{- $options := (dict "transpiler" "libsass" "targetPath" $target "enableSourceMap" (not hugo.IsProduction) "vars" $vars) -}}
{{- $options := (dict "transpiler" $transpiler "targetPath" $target "enableSourceMap" (not hugo.IsProduction) "vars" $vars) -}}
{{- $bundle := partial "utilities/bundle" (dict "match" $source "filename" (printf "scss/bundle-%d.scss" now.UnixNano) "modules" $modules "basepath" "scss" "debugging" site.Params.debugging.showSCSS) -}}
{{- $css := $bundle | resources.ExecuteAsTemplate $target . | toCSS $options -}}

View File

@@ -7,7 +7,8 @@
{{ $page := .page -}}
{{ $arg := .arg -}}
{{ $merge := .merge -}}
{{ $val := $page.Get $arg }}
{{ $val := "" }}
{{ with $page.Get $arg }}{{ $val = . }}{{ end }}
{{- with $page.Parent -}}
{{ with .Get $arg }}

View File

@@ -1,12 +1,17 @@
{{- $page := .page -}}
{{- $version := .version -}}
{{- $sidebarFilename := "" -}}
{{- $menu := "" -}}
{{- if $page.IsPage -}}
{{- $menu = index site.Data (printf "%s-%s" $page.Section $version) -}}
{{- $sidebarFilename = printf "%s-%s" $page.Section $version -}}
{{- $menu = index site.Data $sidebarFilename -}}
{{ if not $menu }}
{{ $menu = index site.Data $page.Section }}
{{- $sidebarFilename = $page.Section -}}
{{ $menu = index site.Data $sidebarFilename }}
{{ end }}
{{- end -}}
{{ if $menu }}{{ with $sidebarFilename }}{{ $page.Scratch.Set "sidebarFilename" (path.Join "data" .) }}{{ end }}{{ end -}}
{{- return $menu -}}

View File

@@ -3,6 +3,7 @@
{{- errorf "partial [utilities/link.html] - Missing param 'destination'" -}}
{{- end -}}
{{- $error := false -}}
{{- $target := "" -}}
{{- $rel := "" -}}
{{- $case := .case | default true }}
@@ -55,6 +56,7 @@
{{- if not $ref -}}
{{- errorf "partial [utilities/link.html] - Cannot find page: %s" $destination -}}
{{- $error = true -}}
{{- else -}}
{{- $destination = $ref.RelPermalink -}}
{{- with $anchor }}{{ $destination = printf "%s#%s" (strings.TrimSuffix "/" $destination) . -}}{{ end -}}
@@ -69,4 +71,6 @@
{{- end -}}
{{- end -}}
<a {{ with $class }}class="{{ . }}" {{ end }}href="{{ $destination | safeURL }}"{{ with $target }} target="{{ . }}"{{ end }}{{ with $rel }} rel="{{ . }}"{{ end }}>{{ $text }}</a>
{{ if not $error }}
<a {{ with $class }}class="{{ . }}" {{ end }}href="{{ $destination | safeURL }}"{{ with $target }} target="{{ . }}"{{ end }}{{ with $rel }} rel="{{ . }}"{{ end }}>{{ $text }}</a>
{{ end }}

View File

@@ -35,7 +35,7 @@
{{ $error = true }}
{{ end -}}
{{- $class := .Get "class" -}}
{{- $class := .Get "class" | default "" -}}
{{ if not $error }}
{{/* Try language-specific file first */}}

View File

@@ -12,7 +12,7 @@
{{- end -}}
{{- $id := .Ordinal -}}
{{ $header := .Get "header" -}}
{{ $header := .Get "header" | default "" -}}
{{ if not $header -}}
{{ if .Parent }}
{{ errorf "Missing value for param 'header': %s" .Parent.Position -}}
@@ -21,7 +21,7 @@
{{ end }}
{{ end -}}
{{ $class := .Get "class" -}}
{{ $class := .Get "class" | default "" -}}
{{ $body := trim .Inner " \r\n" -}}
{{ if not $body -}}
{{ if .Parent }}

View File

@@ -10,7 +10,7 @@
{{ with .Get "id" }}
{{ $id = . }}
{{ end }}
{{- $class := .Get "class" -}}
{{- $class := .Get "class" | default "" -}}
{{- $openParam := "false" -}}
{{- $open := false -}}

View File

@@ -49,7 +49,7 @@
{{ $error = true -}}
{{ end -}}
{{- $class := .Get "class" -}}
{{- $class := .Get "class" | default "" -}}
{{- if not $error -}}
<div class="d-flex alert alert-{{ $color }} {{ if $dismissible }}alert-dismissible fade show{{ end }}{{ with $class }} {{ . }}{{ end }}" role="alert">

View File

@@ -7,8 +7,8 @@
-->
{{- $error := false -}}
{{- $title := .Get "title" -}}
{{- $class := .Get "class" -}}
{{- $title := .Get "title" | default "" -}}
{{- $class := .Get "class" | default "" -}}
{{- $color := "secondary" -}}
{{- with .Get "color" }}{{ $color = . }}{{ end -}}
{{- $supportedColors := slice "primary" "secondary" "success" "danger" "warning" "info" "light" "dark" "white" "black" -}}

View File

@@ -5,7 +5,7 @@
{{- $error := false -}}
{{- $page := . -}}
{{- $path := .Get "path"}}
{{- $path := .Get "path" | default "" }}
{{- if $path -}}
{{- $page = .Site.GetPage $path -}}
{{- if not $page -}}

View File

@@ -31,7 +31,7 @@
{{ $error := false }}
{{ $type := "button" -}}
{{- $icon := .Get "icon" }}
{{- $icon := .Get "icon" | default "" }}
{{ $title := trim .Inner " \r\n" | .Page.RenderString -}}
{{ if not (or $title $icon) -}}
{{ errorf "Missing icon or inner element text: %s" .Position -}}
@@ -71,17 +71,17 @@
{{ errorf "Invalid value for param 'outline': %s" .Position -}}
{{ end -}}
{{ $badge := .Get "badge" -}}
{{ $label := .Get "aria-label" -}}
{{ $tooltip := .Get "tooltip" -}}
{{ $collapse := .Get "collapse" -}}
{{ $href := .Get "href" -}}
{{ $relref := .Get "relref" }}
{{ $id := .Get "id" -}}
{{ $badge := .Get "badge" | default "" -}}
{{ $label := .Get "aria-label" | default "" -}}
{{ $tooltip := .Get "tooltip" | default "" -}}
{{ $collapse := .Get "collapse" | default "" -}}
{{ $href := .Get "href" | default "" -}}
{{ $relref := .Get "relref" | default "" -}}
{{ $id := .Get "id" | default "" -}}
{{ if $relref }}
{{ $href = relref . $relref }}
{{ end }}
{{ $class := .Get "class" -}}
{{ $class := .Get "class" | default "" -}}
{{ $placement := "top" -}}
{{ with .Get "placement" }}{{ $placement = . }}{{ end -}}
@@ -91,7 +91,7 @@
{{ $error = true }}
{{ end -}}
{{- $toast := .Get "toast" -}}
{{- $toast := .Get "toast" | default "" -}}
{{- $order := "last" -}}
{{- with .Get "order" }}{{ $order = . }}{{ end -}}

View File

@@ -8,7 +8,9 @@
"cols" Required number of columns for the grid, must be a value between 1 and 5.
"title" Optional title of the card group.
"separator" Optional flag to indicate a horizontal line should be added between items on small screens.
"gutter" Gutter between columns in a group, either "0", "1", "2", "3" (default), "4", or "5".
"gutter" Gutter between columns in a group, either "0", "1", "2", "3", "4" (default), or "5".
"wrapper" Optional class attributes of the wrapper element, e.g. "p-4 px-xxl-0".
"responsive" Optional flag if the number of columns should be responsive, defaults to "true".
In addition, the following arguments are passed to the individual cards.
"class" Optional class attribute of the card element, e.g. “w-50”.
@@ -22,24 +24,35 @@
"orientation" Optional placecement of the thumbnail, either "stacked" (default), "horizontal", or "none".
-->
{{- $cols := 3 -}}
{{ with .Get "cols" }}{{ $cols = int . }}{{ end -}}
{{- $title := .Get "title" -}}
{{- $separator := .Get "separator" -}}
{{- $class := .Get "class" -}}
{{- $wrapper := .Get "wrapper" -}}
{{- $color := .Get "color" -}}
{{- $cols := .Get "cols" | default "3" -}}
{{- $gutter := .Get "gutter" | default "4" -}}
{{- $title := .Get "title" | default "" -}}
{{- $separator := .Get "separator" | default "" -}}
{{- $class := .Get "class" | default "" -}}
{{- $wrapper := .Get "wrapper" | default "" -}}
{{- $responsive := .Get "responsive" | default true -}}
{{- $color := .Get "color" | default "" -}}
{{- $padding := .Get "padding" | default "3" -}}
{{- $header := .Get "header" -}}
{{- $footer := .Get "footer" -}}
{{- $orientation := .Get "orientation" -}}
{{- $header := .Get "header" | default "" -}}
{{- $footer := .Get "footer" | default "" -}}
{{- $orientation := .Get "orientation" | default "" -}}
{{ $inner := .Scratch.Get "inner" }}
{{ $input := trim .Inner " \r\n" }}
{{ if $input }}
{{ $input = replace $input "\n" "\n " }}
{{ warnf "Unexpected inner content: %s\r\n %s" .Position $input }}
{{ end }}
{{- partial "assets/card-group.html" (dict
"page" .Page
"cards" .Inner
"cards" $inner
"cols" $cols
"gutter" $gutter
"title" $title
"separator" $separator
"wrapper" $wrapper
"responsive" $responsive
"class" $class
"color" $color
"padding" $padding

View File

@@ -8,7 +8,7 @@
"warning", "info", "light", "dark", "white", "black", "body", or "body-tertiary". By default, no
color is specified.
"padding" Optional padding of the content, either "0", "1", "2", "3", "4", "5", or "auto" (default).
"gutter" Gutter between columns in a group, either "0", "1", "2", "3" (default), "4", or "5".
"gutter" Gutter between columns in a group, either "0" (default), "1", "2", "3", "4", or "5".
"header" Optional header components of the card, displayed in small caps. Supported values are "full"
(default), "publication", "tags", and "none".
"footer" Optional footer components of the card, displayed in small caps. Supported values are "full",
@@ -21,7 +21,7 @@
{{ $error := false }}
{{ $path := .Get "path" }}
{{ $path := or (.Get "path") "" }}
{{ $page := .Page }}
{{ with $path }}
{{ $page = $.Site.GetPage $path }}
@@ -60,7 +60,7 @@
{{ $error = true -}}
{{ end -}}
{{- $gutter := partial "utilities/GetArg" (dict "page" . "arg" "gutter") | default "3" -}}
{{- $gutter := partial "utilities/GetArg" (dict "page" . "arg" "gutter") | default "0" -}}
{{ $supportedGutters:= slice "0" "1" "2" "3" "4" "5" -}}
{{ if not (in $supportedGutters $gutter) -}}
{{ errorf "Invalid value for param 'gutter': %s" .Position -}}
@@ -82,26 +82,36 @@
{{ end -}}
{{ $description := trim .Inner " \r\n" | .Page.RenderString | safeHTML }}
{{ $title := .Get "title" }}
{{ $alt := .Get "alt" }}
{{ $icon := .Get "icon" }}
{{ $thumbnail := .Get "thumbnail" }}
{{ $title := .Get "title" | default "" -}}
{{ $alt := .Get "alt" | default "" -}}
{{ $icon := .Get "icon" | default "" -}}
{{ $thumbnail := .Get "thumbnail" | default "" -}}
{{ if not $error -}}
<div class="g-{{ $gutter }}">
{{- partial "assets/card.html" (dict
"path" $path
"title" $title
"class" (printf "h-100 %s" $class)
"color" $color
"padding" $padding
"header" $header
"footer" $footer
"orientation" $orientation
"description" $description
"icon" $icon
"thumbnail" $thumbnail
"alt" $alt
) -}}
</div>
{{- $output := partial "assets/card.html" (dict
"path" $path
"title" $title
"class" (printf "h-100 %s" $class)
"gutter" $gutter
"color" $color
"padding" $padding
"header" $header
"footer" $footer
"orientation" $orientation
"description" $description
"icon" $icon
"thumbnail" $thumbnail
"alt" $alt
) -}}
{{ with .Parent }}
{{ $current := .Scratch.Get "inner" }}
{{ if $current }}
{{ .Scratch.Set "inner" (print $current $output) }}
{{ else }}
{{ .Scratch.Set "inner" $output }}
{{ end }}
{{ else }}
{{ print $output | safeHTML }}
{{ end }}
{{ end -}}

View File

@@ -14,7 +14,7 @@
{{ $id = . }}
{{ end }}
{{ $class := .Get "class" -}}
{{ $class := .Get "class" | default "" -}}
{{ $inner := .Scratch.Get "inner" }}
{{ $input := trim .Inner " \r\n" }}

View File

@@ -4,12 +4,12 @@
"class" Optional class attribute of the inner panel element, e.g. “p-3”.
-->
{{ $id := .Get "id" -}}
{{ $id := .Get "id" | default "" -}}
{{ if not $id -}}
{{ errorf "Missing value for param 'id': %s" .Position -}}
{{ end -}}
{{ $class := .Get "class" }}
{{ $class := .Get "class" | default "" }}
{{- $body := trim .Inner " \r\n" -}}
{{ if not $body -}}

View File

@@ -8,9 +8,9 @@
"class" Optional class attribute of the command element.
-->
{{- $host := .Get "host" -}}
{{- $user := .Get "user" -}}
{{- $prompt := .Get "prompt" -}}
{{- $host := .Get "host" | default "" -}}
{{- $user := .Get "user" | default "" -}}
{{- $prompt := .Get "prompt" | default "" -}}
{{- $filter := "(out)" -}}
{{- $input := trim .Inner " \t\r\n" -}}
@@ -70,7 +70,7 @@
{{- $output = (replace $output "<span class=\"c\">#" "<span class=\"c\">" | safeHTML) -}}
{{- end -}}
{{- $class := .Get "class" -}}
{{- $class := .Get "class" | default "" -}}
<div class="mb-3 syntax-highlight{{ with $class }} {{ . }}{{ end }}">
{{- $output -}}

View File

@@ -19,9 +19,9 @@
"class" Optional class argument of the tab control.
-->
{{- $name := .Get "name" -}}
{{- $name := .Get "name" | default "" -}}
{{- $basePath := .Site.Params.docs.basePath -}}
{{- $file := .Get "file" }}
{{- $file := .Get "file" | default "" -}}
{{- if hasPrefix $file "./" -}}
{{- $file = path.Clean $file -}}
{{- else -}}
@@ -68,7 +68,7 @@
{{ errorf "Invalid value for param 'full': %s" $fullParam -}}
{{ end -}}
{{- $class := .Get "class" -}}
{{- $class := .Get "class" | default "" -}}
{{- /* If any parameters are missing, print an error and exit */ -}}
{{- if or (not $name) (not $file) -}}

View File

@@ -11,8 +11,8 @@
"class" Optional class attributes of the element's container.
-->
{{- $id := .Get "id" -}}
{{- $class := .Get "class" -}}
{{- $id := .Get "id" | default "" -}}
{{- $class := .Get "class" | default "" -}}
{{- $lang := .Get "lang" | default "markdown" -}}
{{- $show_markup := .Get "show_markup" | default true -}}
{{- $show_preview := .Get "show_preview" | default true -}}

View File

@@ -14,7 +14,7 @@
-->
{{- $basePath := .Site.Params.docs.basePath -}}
{{- $file := .Get "path" }}
{{- $file := .Get "path" | default "" -}}
{{- if hasPrefix $file "./" -}}
{{- $file = path.Clean $file -}}
{{- else -}}
@@ -47,7 +47,7 @@
{{ errorf "Invalid value for param 'full': %s" $fullParam -}}
{{ end -}}
{{- $class := .Get "class" -}}
{{- $class := .Get "class" | default "" -}}
{{- /* If any parameters are missing, print an error and exit */ -}}
{{- if not $file -}}

View File

@@ -16,19 +16,19 @@
-->
{{- if isset .Params "src" -}}
{{ $url := .Get "src" -}}
{{ $url := .Get "src" | default "" -}}
{{- $validRatios := slice "1x1" "3x2" "4x3" "16x9" "21x9" -}}
{{ $ratio := .Get "ratio" -}}
{{ $ratio := .Get "ratio" | default "" -}}
{{ if $ratio -}}
{{ if not (in $validRatios $ratio) -}}
{{ errorf "Invalid value for param 'ratio': %s" .Position -}}
{{ end -}}
{{ end -}}
{{- $class := .Get "class" -}}
{{- $wrapper := .Get "wrapper" -}}
{{ $title := .Get "title" -}}
{{ $caption := .Get "caption" -}}
{{- $class := .Get "class" | default "" -}}
{{- $wrapper := .Get "wrapper" | default "" -}}
{{ $title := .Get "title" | default "" -}}
{{ $caption := .Get "caption" | default "" -}}
{{ $supportedFlags := slice "true" "false" -}}
{{ $modeParam := "false" -}}
{{ $mode := false -}}

View File

@@ -12,9 +12,9 @@
{{ if not .Parent }}
{{ errorf "The img shortcode should be contained within a carousel shortcode: %s" .Position }}
{{ else }}
{{- $src := .Get "src" -}}
{{- $src := .Get "src" | default "" -}}
{{- if $src -}}
{{- $caption := .Get "caption" -}}
{{- $caption := .Get "caption" | default "" -}}
{{- $ratio := partial "utilities/GetArg" (dict "page" . "arg" "ratio") -}}
{{- $portrait := partial "utilities/GetArg" (dict "page" . "arg" "portrait") | default false -}}
{{- $active := eq .Ordinal 0 -}}

View File

@@ -10,7 +10,7 @@
{{- $error := false -}}
{{- $title := "" -}}
{{- if .IsNamedParams }}{{ $title = .Get "title" }}{{ else }}{{ $title = .Get 0 }}{{ end }}
{{- $class := .Get "class" -}}
{{- $class := .Get "class" | default "" -}}
{{- $color := "" -}}
{{- with .Get "color" }}{{ $color = . }}{{ end -}}
{{- $supportedColors := slice "primary" "secondary" "success" "danger" "warning" "info" "light" "dark" "white" "black" -}}

View File

@@ -30,13 +30,13 @@
{{- $anchor := "" -}}
{{ if .IsNamedParams }}
{{ $href = .Get "href" }}
{{ $name = .Get "name" }}
{{ $url = .Get "url" }}
{{ $cue = .Get "cue" | default site.Params.main.externalLinks.cue }}
{{ $tab = .Get "tab" | default site.Params.main.externalLinks.tab }}
{{ $case = .Get "case" | default true }}
{{- $class := .Get "class" -}}
{{- $href = .Get "href" | default "" -}}
{{- $name = .Get "name" | default "" -}}
{{- $url = .Get "url" | default "" -}}
{{- $cue = .Get "cue" | default site.Params.main.externalLinks.cue -}}
{{- $tab = .Get "tab" | default site.Params.main.externalLinks.tab -}}
{{- $case = .Get "case" | default true -}}
{{- $class = .Get "class" | default "" -}}
{{ else }}
{{ $href = .Get 0 }}
{{ end }}
@@ -63,8 +63,7 @@
{{- $url = index $segments 0 -}}
{{- $anchor = index $segments 1 -}}
{{ if not $url }}
{{- $url = strings.TrimSuffix "/" .Page.RelPermalink -}}
{{- with .Page.Language }}{{ $url = strings.TrimPrefix (path.Join "/" .Lang) $url}}{{ end -}}
{{ $url = .Page.File.Path }}
{{ end }}
{{ end }}
{{ else }}

View File

@@ -7,14 +7,14 @@
-->
{{- $error := false -}}
{{ $color := .Get "color" -}}
{{ $color := .Get "color" | default "" -}}
{{ $supportedColors := slice "primary" "secondary" "success" "danger" "warning" "info" "light" "dark" -}}
{{ if and $color (not (in $supportedColors $color)) -}}
{{ errorf "Invalid value for param 'color': %s" .Position -}}
{{ $error = true -}}
{{ end -}}
{{- $class := .Get "class" -}}
{{- $class := .Get "class" | default "" -}}
{{- if $color }}{{ $class = printf "%s text-bg-%s" $class $color }}{{ end -}}

View File

@@ -22,12 +22,12 @@
{{- $fade = true -}}
{{- end -}}
{{- $header := .Get "header" -}}
{{- $header := .Get "header" | default "" -}}
{{- if not $header -}}
{{- errorf "Missing value for param 'header': %s" .Parent.Position -}}
{{- end -}}
{{- $class := .Get "class" -}}
{{- $class := .Get "class" | default "" -}}
{{- $body := trim .Inner " \r\n" | .Page.RenderString -}}
{{- $supportedFlags := slice "true" "false" -}}

View File

@@ -12,8 +12,8 @@
{{ $id = . }}
{{ end }}
{{- $class := .Get "class" -}}
{{ $type := .Get "type" -}}
{{- $class := .Get "class" | default "" -}}
{{ $type := .Get "type" | default "" -}}
{{ $supportedNavTypes := slice "tabs" "pills" "underline" -}}
{{ if $type }}
{{ if not (in $supportedNavTypes $type) -}}

View File

@@ -27,7 +27,7 @@
{{ $id = . }}
{{ end }}
{{ $path := .Get "path" }}
{{ $path := .Get "path" | default "" }}
{{ $page := .Site.GetPage $path }}
{{ if not $page }}
{{ errorf "Invalid or missing value for param 'path': %s" $path -}}
@@ -86,7 +86,7 @@
{{ $title := "" -}}
{{ with .Get "title" }}{{ $title = . }}{{ end -}}
{{- $class := .Get "class" -}}
{{- $class := .Get "class" | default "" -}}
{{ if not $error -}}
{{- partial "assets/navbar.html" (dict

View File

@@ -9,14 +9,14 @@
{{- $error := false -}}
{{- $path := .Get "path" -}}
{{- $path := .Get "path" | default "" -}}
{{- $page := .Site.GetPage $path -}}
{{- if not $page -}}
{{- errorf "Invalid or missing value for param 'path': %s" .Position -}}
{{- $error = true -}}
{{- end -}}
{{- $class := .Get "class" -}}
{{- $class := .Get "class" | default "" -}}
{{- $color := "" -}}
{{- with .Get "color" }}{{ $color = . }}{{ end -}}

View File

@@ -10,11 +10,10 @@
-->
{{- $error := false -}}
{{- $version := .Get "version" -}}
{{- $version := .Get "version" | default "" -}}
{{- $inline := false -}}
{{- $state := "new" -}}
{{- with .Get "state" }}{{ $state = . }}{{ end -}}
{{- $state := .Get "state" | default "new" -}}
{{- $supportedStates := slice "new" "deprecated" -}}
{{- if not (in $supportedStates $state) -}}
{{- errorf "Invalid value for param 'state': %s" .Position -}}
@@ -84,7 +83,7 @@
{{- $error = true -}}
{{- end -}}
{{- $class := .Get "class" -}}
{{- $class := .Get "class" | default "" -}}
{{- if not $error -}}
{{- if not $inline }}<div class="pb-3">{{ end -}}

View File

@@ -2,6 +2,6 @@
Displays text as subscript, provided as unnamed argument.
-->
{{- $text := .Get 0 -}}
{{- $text := .Get 0 | default "" -}}
<sub>{{ $text | .Page.RenderString -}}</sub>

View File

@@ -2,6 +2,6 @@
Displays text as superscript, provided as unnamed argument.
-->
{{- $text := .Get 0 -}}
{{- $text := .Get 0 | default "" -}}
<sup>{{ $text | .Page.RenderString -}}</sup>

View File

@@ -14,7 +14,7 @@
{{ $error := false }}
{{- $page := .Page -}}
{{- $data := .Get "data" -}}
{{- $data := .Get "data" | default "" -}}
{{ if not $data -}}
{{ errorf "Missing param 'data': %s" .Position -}}
{{ $error = true }}
@@ -40,7 +40,7 @@
{{ $error = true -}}
{{ end -}}
{{- $class := .Get "class" -}}
{{- $class := .Get "class" | default "" -}}
<!-- Inline partial to render icon -->
{{- define "partials/timeline-icon.html" -}}

View File

@@ -8,10 +8,10 @@
{{- $error := false -}}
{{- $id := printf "toast-message-%d" .Ordinal -}}
{{- with .Get "id" }}{{ $id = . }}{{ end -}}
{{ $header := .Get "header" -}}
{{ $header := .Get "header" | default "" -}}
{{ $message := trim .Inner " \r\n" | .Page.RenderString -}}
{{- $class := .Get "class" -}}
{{- $class := .Get "class" | default "" -}}
{{ if not $message -}}
{{ errorf "Missing inner element text: %s" .Position -}}

View File

@@ -25,9 +25,9 @@
{{ $error = true }}
{{ end -}}
{{ $tooltip := .Get "title" -}}
{{ $tooltip := .Get "title" | default "" -}}
{{ $href := .Get "href" -}}
{{ $href := .Get "href" | default "" -}}
{{ if not $href -}}
{{ errorf "Missing value for param 'href': %s" .Position -}}
{{ $error = true }}
@@ -41,7 +41,7 @@
{{ $error = true }}
{{ end -}}
{{- $class := .Get "class" -}}
{{- $class := .Get "class" | default "" -}}
{{ if not $error }}
<div class="d-inline-flex">

View File

@@ -1,19 +1,15 @@
# toml-docs-start netlify
[build]
publish = "exampleSite/public"
# functions = "functions"
[build.environment]
NODE_VERSION = "18.17.0"
NPM_VERSION = "9.6.7"
[context.production]
command = "npm run build:example"
[context.production.environment]
HUGO_VERSION = "0.110.0"
[build.environment]
DART_SASS_VERSION = "1.66.1"
HUGO_VERSION = "0.118.2"
HUGO_ENV = "production"
HUGO_ENABLEGITINFO = "true"
NODE_VERSION = "18.17.1"
NPM_VERSION = "9.6.7"
# toml-docs-end netlify
[[headers]]
@@ -75,3 +71,19 @@
port = 8888
publish = "public"
autoLaunch = false
# toml-docs-start plugins
[[plugins]]
package = "@gethinode/netlify-plugin-dartsass"
[[plugins]]
package = "netlify-plugin-hugo-cache-resources"
[plugins.inputs]
# Redirected in exampleSite/config/_default/hugo.toml
# srcdir = ""
[[plugins]]
package = "@netlify/plugin-lighthouse"
# [plugins.inputs]
# output_path = "reports/lighthouse.html"
# toml-docs-end plugins

3428
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.19.0-beta1",
"version": "0.20.1",
"description": "Hinode is a clean documentation and blog theme for Hugo, an open-source static site generator",
"keywords": [
"hugo",
@@ -67,6 +67,8 @@
"homepage": "https://gethinode.com",
"devDependencies": {
"@fullhuman/postcss-purgecss": "^5.0.0",
"@gethinode/netlify-plugin-dartsass": "^0.2.0",
"@netlify/plugin-lighthouse": "^5.0.0",
"autoprefixer": "^10.4.15",
"cssnano": "^6.0.1",
"cssnano-preset-advanced": "^6.0.1",
@@ -75,8 +77,9 @@
"eslint-plugin-import": "^2.28.1",
"eslint-plugin-n": "^16.0.2",
"eslint-plugin-promise": "^6.1.1",
"hugo-bin": "^0.113.0",
"hugo-bin": "^0.114.2",
"markdownlint-cli2": "^0.9.2",
"netlify-plugin-hugo-cache-resources": "^0.2.1",
"npm-run-all": "^4.1.5",
"postcss-cli": "^10.1.0",
"purgecss-whitelister": "^2.4.0",
@@ -84,7 +87,7 @@
"rimraf": "^5.0.1",
"shx": "^0.3.4",
"stylelint": "^15.10.3",
"stylelint-config-standard-scss": "^10.0.0"
"stylelint-config-standard-scss": "^11.0.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.110.0"
min_version = "0.118.0" # fixes Hugo issue #11406
[author]
name = "Mark Dumay"