Compare commits

...

347 Commits

Author SHA1 Message Date
Mark Dumay
4d86493bfb Merge pull request #1580 from gethinode/develop
fix: refine vertical alignment of brand
2025-09-14 16:54:22 +02:00
Mark Dumay
633dab2622 Merge branch 'main' into develop 2025-09-14 16:48:26 +02:00
Mark Dumay
5c9316cea0 fix: refine vertical alignment of brand 2025-09-14 16:47:57 +02:00
Mark Dumay
6085688d7b Merge pull request #1579 from gethinode/develop
Develop
2025-09-14 15:16:48 +02:00
Mark Dumay
54e1720be6 fix: vertically align brand text in navbar 2025-09-14 14:59:06 +02:00
Mark Dumay
f482f4dd94 feat: enable configuration of navbar logo align and mode 2025-09-14 13:58:02 +02:00
Mark Dumay
b48a9598f4 fix: prevent wrapping of navbar items 2025-09-14 12:45:07 +02:00
Mark Dumay
ed56db6d0d refactor: remove redundant spacing 2025-09-14 12:35:40 +02:00
Mark Dumay
9a91208f58 fix: pass default arguments from shortcode to partial 2025-09-14 12:35:10 +02:00
Mark Dumay
353f5e2194 Merge pull request #1578 from gethinode/develop
Develop
2025-09-13 09:52:06 +02:00
Mark Dumay
cd301e2274 fix: correct regression error for site's title style 2025-09-13 09:32:22 +02:00
Mark Dumay
7fbeb7fa5a fix: override site's title size for contact body 2025-09-13 09:30:59 +02:00
Mark Dumay
80a8e6ca2f feat: support optional links in cards
Renders each link as a button with class `btn-social` next to the card's title.
2025-09-13 09:27:32 +02:00
Mark Dumay
64f892dca9 fix: bump dependencies 2025-09-13 09:14:21 +02:00
github-actions[bot]
5f1edc0643 Merge pull request #1576 from gethinode/dependabot/npm_and_yarn/stylelint-config-standard-scss-16.0.0
build(deps-dev): bump stylelint-config-standard-scss from 15.0.1 to 16.0.0
2025-09-13 06:47:22 +00:00
Mark Dumay
defd63142d Merge branch 'main' into dependabot/npm_and_yarn/stylelint-config-standard-scss-16.0.0 2025-09-13 08:41:42 +02:00
Mark Dumay
d0d1059774 Merge pull request #1577 from gethinode/develop
fix: exclude stylelint rule no-invalid-position-declaration for scrol…
2025-09-13 07:54:13 +02:00
Mark Dumay
f0fdda6960 Merge branch 'main' into develop 2025-09-13 07:48:23 +02:00
Mark Dumay
bd03786f02 fix: exclude stylelint rule no-invalid-position-declaration for scrollbar 2025-09-13 07:47:23 +02:00
dependabot[bot]
bbb976440e build(deps-dev): bump stylelint-config-standard-scss
Bumps [stylelint-config-standard-scss](https://github.com/stylelint-scss/stylelint-config-standard-scss) from 15.0.1 to 16.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/v15.0.1...v16.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-12 13:07:31 +00:00
github-actions[bot]
d99d2ad436 Merge pull request #1574 from gethinode/dependabot/npm_and_yarn/semantic-release-24.2.8
build(deps-dev): bump semantic-release from 24.2.7 to 24.2.8
2025-09-11 13:22:36 +00:00
dependabot[bot]
6703dd4092 build(deps-dev): bump semantic-release from 24.2.7 to 24.2.8
Bumps [semantic-release](https://github.com/semantic-release/semantic-release) from 24.2.7 to 24.2.8.
- [Release notes](https://github.com/semantic-release/semantic-release/releases)
- [Commits](https://github.com/semantic-release/semantic-release/compare/v24.2.7...v24.2.8)

---
updated-dependencies:
- dependency-name: semantic-release
  dependency-version: 24.2.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-11 13:16:55 +00:00
github-actions[bot]
35891daf3c Merge pull request #1575 from gethinode/dependabot/npm_and_yarn/replace-in-files-cli-4.0.0
build(deps-dev): bump replace-in-files-cli from 3.0.0 to 4.0.0
2025-09-11 13:15:35 +00:00
dependabot[bot]
768c83d494 build(deps-dev): bump replace-in-files-cli from 3.0.0 to 4.0.0
Bumps [replace-in-files-cli](https://github.com/sindresorhus/replace-in-files-cli) from 3.0.0 to 4.0.0.
- [Release notes](https://github.com/sindresorhus/replace-in-files-cli/releases)
- [Commits](https://github.com/sindresorhus/replace-in-files-cli/compare/v3.0.0...v4.0.0)

---
updated-dependencies:
- dependency-name: replace-in-files-cli
  dependency-version: 4.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-11 13:08:23 +00:00
Mark Dumay
cbc36092f3 Merge pull request #1573 from gethinode/develop
fix: update dependencies
2025-09-10 19:30:37 +02:00
Mark Dumay
12a1598578 Merge branch 'main' into develop 2025-09-10 19:22:27 +02:00
Mark Dumay
8c77e7ad5c fix: update dependencies 2025-09-10 19:22:01 +02:00
Mark Dumay
9c746ec7f2 Merge pull request #1572 from gethinode/develop
fix: enable passthrough argument for building blocks
2025-09-10 16:53:01 +02:00
Mark Dumay
c161063dca fix: enable passthrough argument for building blocks 2025-09-10 16:46:32 +02:00
Mark Dumay
593ab2c918 Merge pull request #1571 from gethinode/develop
Develop
2025-09-10 14:09:34 +02:00
Mark Dumay
1f33976fe2 fix: ensure panel content is always set to size 6 2025-09-10 13:56:38 +02:00
Mark Dumay
9234d3c86a fix: include theme and cover args in all content blocks 2025-09-10 13:49:16 +02:00
github-actions[bot]
de716b0162 Merge pull request #1570 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.147.0
build(deps): bump hugo-bin from 0.146.1 to 0.147.0
2025-09-09 13:13:57 +00:00
dependabot[bot]
7c176956b0 build(deps): bump hugo-bin from 0.146.1 to 0.147.0
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.146.1 to 0.147.0.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.146.1...v0.147.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-09 13:07:04 +00:00
github-actions[bot]
7258d0b5a9 Merge pull request #1564 from gethinode/dependabot/npm_and_yarn/stylelint-16.24.0
build(deps-dev): bump stylelint from 16.23.1 to 16.24.0
2025-09-08 17:38:33 +00:00
Mark Dumay
fe04de37a7 Merge branch 'main' into dependabot/npm_and_yarn/stylelint-16.24.0 2025-09-08 19:31:32 +02:00
github-actions[bot]
d3ca7075bf Merge pull request #1565 from gethinode/dependabot/github_actions/actions/setup-node-5
build(deps): bump actions/setup-node from 4 to 5
2025-09-08 17:28:24 +00:00
Mark Dumay
68215d5f94 Merge branch 'main' into dependabot/github_actions/actions/setup-node-5 2025-09-08 19:21:27 +02:00
github-actions[bot]
dc57fa5217 Merge pull request #1566 from gethinode/dependabot/npm_and_yarn/eslint-9.35.0
build(deps-dev): bump eslint from 9.34.0 to 9.35.0
2025-09-08 17:19:12 +00:00
Mark Dumay
8299b125fc Merge branch 'main' into dependabot/npm_and_yarn/eslint-9.35.0 2025-09-08 19:10:09 +02:00
github-actions[bot]
6a51cb9681 Merge pull request #1567 from gethinode/dependabot/github_actions/actions/setup-go-6
build(deps): bump actions/setup-go from 5 to 6
2025-09-08 17:09:57 +00:00
Mark Dumay
27bbf7ddf5 Merge branch 'main' into dependabot/github_actions/actions/setup-go-6 2025-09-08 19:03:16 +02:00
Mark Dumay
89fea6d15f Merge pull request #1568 from gethinode/develop
fix: update dependencies
2025-09-08 19:01:06 +02:00
Mark Dumay
af762c840c fix: update dependencies 2025-09-08 18:54:20 +02:00
dependabot[bot]
4b3b0e87bb build(deps): bump actions/setup-go from 5 to 6
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 5 to 6.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 13:14:08 +00:00
dependabot[bot]
6bad35eec8 build(deps-dev): bump eslint from 9.34.0 to 9.35.0
Bumps [eslint](https://github.com/eslint/eslint) from 9.34.0 to 9.35.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.34.0...v9.35.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 9.35.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 13:12:58 +00:00
dependabot[bot]
46e745d1e7 build(deps): bump actions/setup-node from 4 to 5
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4 to 5.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 13:10:54 +00:00
dependabot[bot]
6cef5651d2 build(deps-dev): bump stylelint from 16.23.1 to 16.24.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.23.1 to 16.24.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/16.23.1...16.24.0)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-version: 16.24.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 13:09:59 +00:00
github-actions[bot]
c91604d34a Merge pull request #1562 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.146.1
build(deps): bump hugo-bin from 0.146.0 to 0.146.1
2025-09-05 13:12:08 +00:00
dependabot[bot]
842725fd1c build(deps): bump hugo-bin from 0.146.0 to 0.146.1
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.146.0 to 0.146.1.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.146.0...v0.146.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-05 13:06:08 +00:00
Mark Dumay
5cad7cb0f9 Merge pull request #1561 from gethinode/develop
fix: apply border radius theme to navbar buttons
2025-09-02 09:37:23 +02:00
Mark Dumay
057dd63957 fix: apply border radius theme to navbar buttons 2025-09-02 09:23:52 +02:00
Mark Dumay
f002cf06e4 Merge pull request #1560 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2025-09-02 07:04:27 +02:00
markdumay
9d742f9165 fix: update Hugo module dependencies 2025-09-02 03:22:58 +00:00
Mark Dumay
68c2cac3e0 Merge pull request #1559 from gethinode/develop
fix: correct layout of stacked video message
2025-09-01 16:12:30 +02:00
Mark Dumay
1c0ed71df9 Merge branch 'main' into develop 2025-09-01 16:07:04 +02:00
Mark Dumay
1e8791fdf0 fix: correct layout of stacked video message 2025-09-01 16:06:36 +02:00
Mark Dumay
8cfac32280 Merge pull request #1558 from gethinode/develop
feat: support generic site default values for partial/shortode arguments
2025-09-01 10:10:57 +02:00
Mark Dumay
6e7a1dcdb9 feat: support generic site default values for partial/shortode arguments 2025-09-01 08:59:37 +02:00
Mark Dumay
19cda9a986 Merge pull request #1556 from gethinode/develop
Develop
2025-08-30 16:05:16 +02:00
Mark Dumay
9ee9ebc960 fix: adjust width of dropdown items in collapsed navbar 2025-08-30 15:54:03 +02:00
Mark Dumay
6f7903a2f2 Merge branch 'main' into develop 2025-08-30 14:41:50 +02:00
Mark Dumay
82d12d693c fix: adjust button size when navbar is expanded on small screens 2025-08-30 14:41:10 +02:00
Mark Dumay
3ed64f59f1 fix: refine nav item layout 2025-08-30 14:40:33 +02:00
Mark Dumay
df8ea923c5 fix: add margin between search input and nav items 2025-08-30 14:37:17 +02:00
Mark Dumay
60872ea541 Merge pull request #1555 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.146.0
build(deps): bump hugo-bin from 0.145.2 to 0.146.0
2025-08-29 19:00:46 +02:00
dependabot[bot]
52715cef21 build(deps): bump hugo-bin from 0.145.2 to 0.146.0
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.145.2 to 0.146.0.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.145.2...v0.146.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-28 14:01:38 +00:00
Mark Dumay
91f79e57ab refactor: reduce whitespace in featured illustration asset 2025-08-28 10:25:13 +02:00
Mark Dumay
fdd878241b Merge pull request #1554 from gethinode/develop
fix: improve nav-item layout
2025-08-28 08:20:07 +02:00
Mark Dumay
f32bd92efa Merge branch 'main' into develop 2025-08-28 08:10:34 +02:00
Mark Dumay
c31dca464a fix: improve nav-item layout 2025-08-28 08:10:03 +02:00
Mark Dumay
cb02c25ac4 Merge pull request #1553 from gethinode/develop
fix: remove navbar item suffix when displaying icon only
2025-08-27 19:37:49 +02:00
Mark Dumay
39ef3c5372 Merge branch 'main' into develop 2025-08-27 19:32:22 +02:00
Mark Dumay
546003c9d4 fix: remove navbar item suffix when displaying icon only 2025-08-27 19:31:50 +02:00
Mark Dumay
6b4a1334bb Merge pull request #1552 from gethinode/develop
TOC
2025-08-27 19:15:19 +02:00
Mark Dumay
90ee71a536 fix: adjust vertical scroll of TOC 2025-08-27 19:09:27 +02:00
Mark Dumay
0c6b2929dc Merge branch 'main' into develop 2025-08-27 18:41:39 +02:00
Mark Dumay
2cb60efc38 fix: remove incorrect tokens for nested TOC items beyond endLevel 2025-08-27 18:40:54 +02:00
github-actions[bot]
26f1bf3c7f Merge pull request #1547 from gethinode/dependabot/npm_and_yarn/cssnano-preset-advanced-7.0.9
build(deps): bump cssnano-preset-advanced from 7.0.8 to 7.0.9
2025-08-27 06:39:29 +00:00
dependabot[bot]
ec8176c1e3 build(deps): bump cssnano-preset-advanced from 7.0.8 to 7.0.9
Bumps [cssnano-preset-advanced](https://github.com/cssnano/cssnano) from 7.0.8 to 7.0.9.
- [Release notes](https://github.com/cssnano/cssnano/releases)
- [Commits](https://github.com/cssnano/cssnano/compare/cssnano-preset-advanced@7.0.8...cssnano-preset-advanced@7.0.9)

---
updated-dependencies:
- dependency-name: cssnano-preset-advanced
  dependency-version: 7.0.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-27 06:33:47 +00:00
github-actions[bot]
20b1cfb59e Merge pull request #1548 from gethinode/dependabot/npm_and_yarn/cssnano-7.1.1
build(deps): bump cssnano from 7.1.0 to 7.1.1
2025-08-27 06:32:34 +00:00
Mark Dumay
09a6125834 Merge branch 'main' into dependabot/npm_and_yarn/cssnano-7.1.1 2025-08-27 08:26:53 +02:00
Mark Dumay
f30b30e48e Merge pull request #1549 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2025-08-27 08:26:22 +02:00
Mark Dumay
a0b89fd1a3 Merge branch 'main' into hugo-mod-dependencies 2025-08-27 08:21:02 +02:00
Mark Dumay
dccedfe42d Merge pull request #1550 from gethinode/develop
Develop
2025-08-27 08:11:33 +02:00
Mark Dumay
d3ee13584a fix: test for custom controls in navbar divider 2025-08-27 07:34:12 +02:00
Mark Dumay
03f4541b8a fix: correct translated homepages of example site 2025-08-27 07:14:48 +02:00
Mark Dumay
9b0f91a378 feat: improve navbar configuration 2025-08-27 06:57:46 +02:00
markdumay
d9487b77db fix: update Hugo module dependencies 2025-08-26 03:24:30 +00:00
dependabot[bot]
f543c012bd build(deps): bump cssnano from 7.1.0 to 7.1.1
Bumps [cssnano](https://github.com/cssnano/cssnano) from 7.1.0 to 7.1.1.
- [Release notes](https://github.com/cssnano/cssnano/releases)
- [Commits](https://github.com/cssnano/cssnano/compare/cssnano@7.1.0...cssnano@7.1.1)

---
updated-dependencies:
- dependency-name: cssnano
  dependency-version: 7.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-26 03:14:31 +00:00
github-actions[bot]
c068f7f4e6 Merge pull request #1546 from gethinode/dependabot/npm_and_yarn/eslint-9.34.0
build(deps-dev): bump eslint from 9.33.0 to 9.34.0
2025-08-26 00:38:32 +00:00
dependabot[bot]
0dfd5d6a2f build(deps-dev): bump eslint from 9.33.0 to 9.34.0
Bumps [eslint](https://github.com/eslint/eslint) from 9.33.0 to 9.34.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.33.0...v9.34.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 9.34.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-26 00:33:16 +00:00
Mark Dumay
0a6dbccb12 Merge pull request #1545 from gethinode/radius
fix: improve init of color mode icons
2025-08-24 14:02:11 +02:00
Mark Dumay
c012eb5358 Merge branch 'main' into radius 2025-08-24 13:56:27 +02:00
Mark Dumay
bb2f1b63cf fix: improve init of color mode icons 2025-08-24 13:55:43 +02:00
github-actions[bot]
d7facc353d Merge pull request #1543 from gethinode/dependabot/npm_and_yarn/brace-expansion-1.1.12
build(deps): bump brace-expansion from 1.1.11 to 1.1.12
2025-08-22 10:42:12 +00:00
Mark Dumay
4dcae71516 Merge branch 'main' into dependabot/npm_and_yarn/brace-expansion-1.1.12 2025-08-22 12:26:58 +02:00
github-actions[bot]
bac2bed6ad Merge pull request #1539 from gethinode/dependabot/github_actions/actions/checkout-5
build(deps): bump actions/checkout from 4 to 5
2025-08-22 10:09:14 +00:00
dependabot[bot]
56275d04dc build(deps): bump brace-expansion from 1.1.11 to 1.1.12
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.11 to 1.1.12.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/1.1.11...v1.1.12)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 1.1.12
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-22 10:00:16 +00:00
Mark Dumay
f32a958cf9 Merge branch 'main' into dependabot/github_actions/actions/checkout-5 2025-08-22 11:59:25 +02:00
Mark Dumay
e00e04b40b Merge pull request #1540 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2025-08-22 11:58:56 +02:00
Mark Dumay
4970c604d9 Merge branch 'main' into hugo-mod-dependencies 2025-08-22 11:41:05 +02:00
Mark Dumay
a44e5dcafc Merge pull request #1542 from gethinode/radius
Radius
2025-08-22 11:40:51 +02:00
Mark Dumay
8493154844 Merge branch 'main' into radius 2025-08-22 11:32:52 +02:00
Mark Dumay
8a8a644ccf feat: support theme-border-radius for consistent styling 2025-08-22 11:32:02 +02:00
Mark Dumay
d390d2eb4e fix: set font display to block to reduce layout shift 2025-08-22 11:19:22 +02:00
Mark Dumay
2e3bca1a34 fix: add border color to search input 2025-08-22 11:17:39 +02:00
Mark Dumay
9a00e6c4c1 feat: add video color argument to ease in frame content 2025-08-22 11:16:05 +02:00
Mark Dumay
3dcbe0b62c feat: improve border radius consistency 2025-08-22 08:23:25 +02:00
markdumay
bdf9d84a72 fix: update Hugo module dependencies 2025-08-19 03:24:17 +00:00
dependabot[bot]
7386cf1fb9 build(deps): bump actions/checkout from 4 to 5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-18 17:35:32 +00:00
Mark Dumay
2625222554 Merge pull request #1538 from gethinode/develop
feat: add link button to toggle TOC items
2025-08-15 10:00:54 +02:00
Mark Dumay
74eeec9030 Merge branch 'main' into develop 2025-08-15 09:53:29 +02:00
Mark Dumay
a57e0da164 feat: add link button to toggle TOC items 2025-08-15 09:52:20 +02:00
github-actions[bot]
6ab01755f2 Merge pull request #1537 from gethinode/dependabot/npm_and_yarn/cpy-cli-6.0.0
build(deps-dev): bump cpy-cli from 5.0.0 to 6.0.0
2025-08-13 13:51:27 +00:00
dependabot[bot]
22cb71ca9b build(deps-dev): bump cpy-cli from 5.0.0 to 6.0.0
Bumps [cpy-cli](https://github.com/sindresorhus/cpy-cli) from 5.0.0 to 6.0.0.
- [Release notes](https://github.com/sindresorhus/cpy-cli/releases)
- [Commits](https://github.com/sindresorhus/cpy-cli/compare/v5.0.0...v6.0.0)

---
updated-dependencies:
- dependency-name: cpy-cli
  dependency-version: 6.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-13 13:45:14 +00:00
Mark Dumay
62897f685f Merge pull request #1535 from gethinode/codeql
ci: use advanced codeql config
2025-08-12 09:35:18 +02:00
Mark Dumay
4f8fdc4f03 ci: fix codeql config path 2025-08-12 09:28:05 +02:00
Mark Dumay
925a3ff33e ci: specify codeql paths to scan 2025-08-12 09:25:06 +02:00
Mark Dumay
cf16cb9824 ci: use advanced codeql config 2025-08-12 08:22:40 +02:00
Mark Dumay
5d9383858f Merge pull request #1534 from gethinode/develop
fix: adjust horizontal alignment of cards
2025-08-12 08:04:14 +02:00
Mark Dumay
3332b437dd Merge branch 'main' into develop 2025-08-12 07:56:55 +02:00
github-actions[bot]
c5510707b1 Merge pull request #1532 from gethinode/dependabot/github_actions/actions/checkout-5
build(deps): bump actions/checkout from 4 to 5
2025-08-12 04:35:12 +00:00
Mark Dumay
498f208382 Merge branch 'main' into dependabot/github_actions/actions/checkout-5 2025-08-12 06:28:55 +02:00
Mark Dumay
86962eb8a2 fix: adjust horizontal alignment of cards
fixes #1533
2025-08-12 06:28:33 +02:00
dependabot[bot]
f4319180e0 build(deps): bump actions/checkout from 4 to 5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-11 20:45:50 +00:00
github-actions[bot]
9607aef8ef Merge pull request #1531 from gethinode/dependabot/npm_and_yarn/eslint-9.33.0
build(deps-dev): bump eslint from 9.32.0 to 9.33.0
2025-08-11 18:21:09 +00:00
dependabot[bot]
2c2f150faa build(deps-dev): bump eslint from 9.32.0 to 9.33.0
Bumps [eslint](https://github.com/eslint/eslint) from 9.32.0 to 9.33.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.32.0...v9.33.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 9.33.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-11 18:13:53 +00:00
github-actions[bot]
6087630643 Merge pull request #1529 from gethinode/dependabot/npm_and_yarn/stylelint-16.23.1
build(deps-dev): bump stylelint from 16.23.0 to 16.23.1
2025-08-08 14:07:49 +00:00
dependabot[bot]
26235a1e7e build(deps-dev): bump stylelint from 16.23.0 to 16.23.1
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.23.0 to 16.23.1.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/16.23.0...16.23.1)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-version: 16.23.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-08 13:59:57 +00:00
Mark Dumay
408799c3e2 Merge pull request #1528 from gethinode/develop
feat: enable customization of content blocks rendering
2025-08-06 14:27:38 +02:00
Mark Dumay
7b4a46121c Merge branch 'main' into develop 2025-08-06 14:18:01 +02:00
Mark Dumay
7af4c37c88 feat: enable customization of content blocks rendering 2025-08-06 14:17:34 +02:00
Mark Dumay
9cc7174030 Merge pull request #1527 from gethinode/develop
Develop
2025-08-06 09:13:55 +02:00
Mark Dumay
f8de99173f feat: enable global site robots config 2025-08-06 08:58:47 +02:00
Mark Dumay
68f7b466fb fix: improve aria handling of modal messages 2025-08-06 08:58:27 +02:00
github-actions[bot]
3a9a57cc5d Merge pull request #1526 from gethinode/dependabot/npm_and_yarn/stylelint-16.23.0
build(deps-dev): bump stylelint from 16.22.0 to 16.23.0
2025-07-29 14:07:10 +00:00
dependabot[bot]
f3c264ead2 build(deps-dev): bump stylelint from 16.22.0 to 16.23.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.22.0 to 16.23.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/16.22.0...16.23.0)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-version: 16.23.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-29 13:59:51 +00:00
github-actions[bot]
1dd2971893 Merge pull request #1525 from gethinode/dependabot/npm_and_yarn/eslint-9.32.0
build(deps-dev): bump eslint from 9.31.0 to 9.32.0
2025-07-28 18:04:51 +00:00
dependabot[bot]
7ac6b89ece build(deps-dev): bump eslint from 9.31.0 to 9.32.0
Bumps [eslint](https://github.com/eslint/eslint) from 9.31.0 to 9.32.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.31.0...v9.32.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 9.32.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-28 17:59:30 +00:00
github-actions[bot]
458e8fb605 Merge pull request #1524 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.145.2
build(deps): bump hugo-bin from 0.145.1 to 0.145.2
2025-07-28 17:54:34 +00:00
dependabot[bot]
b268c1bad0 build(deps): bump hugo-bin from 0.145.1 to 0.145.2
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.145.1 to 0.145.2.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.145.1...v0.145.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-28 17:49:07 +00:00
Mark Dumay
d414c111f4 Merge pull request #1523 from gethinode/develop
Develop
2025-07-23 14:19:07 +02:00
Mark Dumay
62f7ca0c79 fix: add mermaid to scss purge config 2025-07-23 14:05:13 +02:00
Mark Dumay
6ebd03b4db feat: support interactive Mermaid diagrams 2025-07-23 07:39:57 +02:00
Mark Dumay
a3e5b7cbc4 feat: support JavaScript modules 2025-07-23 07:39:35 +02:00
Mark Dumay
7335014a55 docs: improve code layout 2025-07-22 07:28:45 +02:00
Mark Dumay
f43dc337d1 Merge branch 'main' into develop 2025-07-21 16:56:38 +02:00
Mark Dumay
50de255e59 docs: improve layout of scripts file 2025-07-21 10:06:59 +02:00
github-actions[bot]
3166ce9bb3 Merge pull request #1522 from gethinode/dependabot/npm_and_yarn/stylelint-16.22.0
build(deps-dev): bump stylelint from 16.21.1 to 16.22.0
2025-07-18 13:55:05 +00:00
dependabot[bot]
d8c331e35d build(deps-dev): bump stylelint from 16.21.1 to 16.22.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.21.1 to 16.22.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/16.21.1...16.22.0)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-version: 16.22.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-18 13:48:25 +00:00
github-actions[bot]
cef686243a Merge pull request #1520 from gethinode/dependabot/npm_and_yarn/cssnano-preset-advanced-7.0.8
build(deps): bump cssnano-preset-advanced from 7.0.7 to 7.0.8
2025-07-15 13:43:27 +00:00
dependabot[bot]
c4bdbb242c build(deps): bump cssnano-preset-advanced from 7.0.7 to 7.0.8
---
updated-dependencies:
- dependency-name: cssnano-preset-advanced
  dependency-version: 7.0.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-15 13:37:22 +00:00
github-actions[bot]
cb70afd5f0 Merge pull request #1521 from gethinode/dependabot/npm_and_yarn/cssnano-7.1.0
build(deps): bump cssnano from 7.0.7 to 7.1.0
2025-07-15 13:36:10 +00:00
dependabot[bot]
fbf758cced build(deps): bump cssnano from 7.0.7 to 7.1.0
---
updated-dependencies:
- dependency-name: cssnano
  dependency-version: 7.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-15 13:29:32 +00:00
github-actions[bot]
abd69af2f2 Merge pull request #1517 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.145.1
build(deps): bump hugo-bin from 0.145.0 to 0.145.1
2025-07-14 17:08:49 +00:00
dependabot[bot]
1190a96694 build(deps): bump hugo-bin from 0.145.0 to 0.145.1
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.145.0 to 0.145.1.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.145.0...v0.145.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-14 17:03:26 +00:00
github-actions[bot]
d310648950 Merge pull request #1518 from gethinode/dependabot/npm_and_yarn/semantic-release-24.2.7
build(deps-dev): bump semantic-release from 24.2.6 to 24.2.7
2025-07-14 17:02:09 +00:00
dependabot[bot]
8c7fea7670 build(deps-dev): bump semantic-release from 24.2.6 to 24.2.7
Bumps [semantic-release](https://github.com/semantic-release/semantic-release) from 24.2.6 to 24.2.7.
- [Release notes](https://github.com/semantic-release/semantic-release/releases)
- [Commits](https://github.com/semantic-release/semantic-release/compare/v24.2.6...v24.2.7)

---
updated-dependencies:
- dependency-name: semantic-release
  dependency-version: 24.2.7
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-14 16:56:39 +00:00
github-actions[bot]
9e5d786ca3 Merge pull request #1516 from gethinode/dependabot/npm_and_yarn/eslint-9.31.0
build(deps-dev): bump eslint from 9.30.1 to 9.31.0
2025-07-14 16:55:41 +00:00
dependabot[bot]
2bfb9d6991 build(deps-dev): bump eslint from 9.30.1 to 9.31.0
Bumps [eslint](https://github.com/eslint/eslint) from 9.30.1 to 9.31.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.30.1...v9.31.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 9.31.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-14 16:50:27 +00:00
Mark Dumay
294f1ae91d fix: correct init of stack when articles use scroll style 2025-07-12 11:47:18 +02:00
Mark Dumay
8f5f1caef6 Merge pull request #1514 from gethinode/develop
fix: improve handling of generated content pages
2025-07-12 11:21:25 +02:00
Mark Dumay
d342496336 Merge branch 'main' into develop 2025-07-12 10:15:53 +02:00
Mark Dumay
24c5ecda82 Merge pull request #1512 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2025-07-12 10:15:07 +02:00
Mark Dumay
dbf3be5528 fix: improve handling of generated content pages 2025-07-12 10:13:45 +02:00
markdumay
d4e516065d fix: update Hugo module dependencies 2025-07-10 03:32:00 +00:00
github-actions[bot]
5b2b996948 Merge pull request #1510 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.145.0
build(deps): bump hugo-bin from 0.144.9 to 0.145.0
2025-07-09 13:28:23 +00:00
dependabot[bot]
33056742af build(deps): bump hugo-bin from 0.144.9 to 0.145.0
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.144.9 to 0.145.0.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.144.9...v0.145.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-09 13:18:03 +00:00
Mark Dumay
8fa4b251b1 Merge pull request #1505 from gethinode/develop
Develop
2025-07-08 10:53:36 +02:00
Mark Dumay
dcbbf2a55a fix: update Hugo modules 2025-07-08 10:44:06 +02:00
Mark Dumay
c7a4edee1f Merge branch 'main' into develop 2025-07-08 10:34:49 +02:00
Mark Dumay
f69f536dca fix: use go.mod for version info instead of package.json
The package.json no longer contains version info, as it is locked due semantic release.
2025-07-08 10:34:10 +02:00
Mark Dumay
4bd20f6bb0 Merge pull request #1504 from gethinode/develop
Develop
2025-07-08 07:41:00 +02:00
Mark Dumay
6db9cbec0e Merge branch 'main' into develop 2025-07-08 07:31:22 +02:00
Mark Dumay
0170417ddc fix: correct responsive behavior of cards content block 2025-07-08 07:30:27 +02:00
Mark Dumay
3eb2e36429 fix: standardize bottom padding of section title 2025-07-08 07:29:46 +02:00
Mark Dumay
773b365b1c Merge pull request #1503 from gethinode/develop
Develop
2025-07-08 06:58:46 +02:00
Mark Dumay
550945f0f6 fix: correct arguments of panels content block 2025-07-08 06:48:09 +02:00
Mark Dumay
b60ad8fd0b docs: drop npm badge 2025-07-08 06:41:07 +02:00
Mark Dumay
38d1ddb86d Merge pull request #1502 from gethinode/develop
Develop
2025-07-08 06:39:23 +02:00
Mark Dumay
17287492e5 fix: adjust padding of section title 2025-07-08 06:31:12 +02:00
Mark Dumay
992d724a6f Merge branch 'main' into develop 2025-07-08 06:17:21 +02:00
Mark Dumay
0b81eba373 Merge pull request #1501 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2025-07-08 06:17:04 +02:00
Mark Dumay
0a5e8bed92 fix: standardize padding of content blocks 2025-07-08 06:07:14 +02:00
Mark Dumay
a387adca66 feat: add support for configurable icon style to video message 2025-07-08 06:06:28 +02:00
markdumay
5341db7db2 fix: update Hugo module dependencies 2025-07-08 03:30:43 +00:00
Mark Dumay
f4d59a0324 Merge pull request #1500 from gethinode/develop
Develop
2025-07-07 14:22:40 +02:00
Mark Dumay
6c068898a3 fix: ensure card icons have equal width 2025-07-07 14:15:30 +02:00
Mark Dumay
eec6697ff6 Merge branch 'main' into develop 2025-07-07 14:02:53 +02:00
Mark Dumay
26402fb5be fix: update build stats 2025-07-07 14:02:18 +02:00
Mark Dumay
e08aebf928 docs: adjust article layout 2025-07-07 14:02:01 +02:00
Mark Dumay
787ad2eb91 feat: make card icons configurable 2025-07-07 14:01:23 +02:00
Mark Dumay
8f137b0c54 feat: make article icons configurable 2025-07-07 14:00:41 +02:00
Mark Dumay
a979dd8d58 fix: adjust default values of card arguments 2025-07-07 14:00:03 +02:00
Mark Dumay
b77a125485 fix: correct card group argument initialization of icon-style 2025-07-07 13:59:27 +02:00
Mark Dumay
004da99765 docs: include additional card examples 2025-07-07 13:58:51 +02:00
Mark Dumay
907c8ac800 fix: improve rendering of card icons
Icon columns now resize properly when set to horizontal layout.
Padding and alignment have also been revised.
2025-07-07 13:20:54 +02:00
Mark Dumay
a8efc27771 Merge pull request #1499 from gethinode/develop
fix: correct separator argument definition
2025-07-06 14:29:27 +02:00
Mark Dumay
3bf8da3767 Merge branch 'main' into develop 2025-07-06 14:20:10 +02:00
Mark Dumay
131de0c064 fix: correct seperator argument definition 2025-07-06 14:16:52 +02:00
Mark Dumay
a914fe18e8 Merge pull request #1497 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2025-07-06 13:45:08 +02:00
Mark Dumay
a855a41c13 Merge branch 'main' into hugo-mod-dependencies 2025-07-06 12:14:28 +02:00
Mark Dumay
c41cd0650e Merge pull request #1498 from gethinode/develop
Develop
2025-07-06 12:08:43 +02:00
Mark Dumay
a83bab6689 Merge branch 'main' into develop 2025-07-06 12:03:41 +02:00
Mark Dumay
03a099ae66 fix: correct hide-empty argument in articles content block 2025-07-06 12:03:07 +02:00
Mark Dumay
cd837cf116 feat: add panels content block 2025-07-06 11:51:37 +02:00
Mark Dumay
8cffd358aa feat: improve responsive behavior of nav control 2025-07-06 11:51:10 +02:00
Mark Dumay
0d33a15e98 fix: improve layout 2025-07-06 11:47:24 +02:00
Mark Dumay
9be691eb6b fix: adjust heading size of CTA 2025-07-06 11:46:58 +02:00
Mark Dumay
fd727228d7 fix: adjust size argument of section title 2025-07-06 11:46:42 +02:00
Mark Dumay
a9f1cd098d feat: include ordinal position of content blocks 2025-07-06 11:44:41 +02:00
markdumay
dc1c358cfa fix: update Hugo module dependencies 2025-07-06 03:34:33 +00:00
github-actions[bot]
0d24dc445d Merge pull request #1495 from gethinode/dependabot/npm_and_yarn/neostandard-0.12.2
Bump neostandard from 0.12.1 to 0.12.2
2025-07-04 13:41:07 +00:00
dependabot[bot]
f6f034252b Bump neostandard from 0.12.1 to 0.12.2
Bumps [neostandard](https://github.com/neostandard/neostandard) from 0.12.1 to 0.12.2.
- [Release notes](https://github.com/neostandard/neostandard/releases)
- [Changelog](https://github.com/neostandard/neostandard/blob/main/CHANGELOG.md)
- [Commits](https://github.com/neostandard/neostandard/compare/v0.12.1...v0.12.2)

---
updated-dependencies:
- dependency-name: neostandard
  dependency-version: 0.12.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-04 13:35:15 +00:00
Mark Dumay
863b81efbb Merge pull request #1494 from gethinode/develop
feat: extend navbar styling options
2025-07-04 12:56:42 +02:00
Mark Dumay
9b0683d176 Merge branch 'main' into develop 2025-07-04 12:51:29 +02:00
Mark Dumay
dd1b2eb97f feat: extend navbar styling options 2025-07-04 12:50:41 +02:00
Mark Dumay
3f6dc3b2d7 Merge pull request #1493 from gethinode/develop
Develop
2025-07-04 07:43:32 +02:00
Mark Dumay
873277b691 Merge branch 'main' into develop 2025-07-04 07:38:09 +02:00
Mark Dumay
7a456a12d2 fix: improve handling of static svg files
Removes the subfolder from the static file path, if any. Only applicable to sites deployed to a subfolder (when setting `baseURL`).
2025-07-04 07:36:22 +02:00
Mark Dumay
b437b414b0 fix: suppress empty class and origin of svg files 2025-07-04 07:14:38 +02:00
Mark Dumay
80ac704d81 Merge pull request #1491 from gethinode/develop
fix: improve non-fluid section rendering
2025-07-03 19:18:02 +02:00
Mark Dumay
996e9ec294 Merge branch 'main' into develop 2025-07-03 19:09:14 +02:00
Mark Dumay
0ab274d6f5 fix: improve non-fluid section rendering 2025-07-03 19:08:26 +02:00
github-actions[bot]
3742e8ef04 Merge pull request #1490 from gethinode/dependabot/npm_and_yarn/stylelint-16.21.1
Bump stylelint from 16.21.0 to 16.21.1
2025-07-03 13:29:37 +00:00
dependabot[bot]
3eadaa02b8 Bump stylelint from 16.21.0 to 16.21.1
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.21.0 to 16.21.1.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/16.21.0...16.21.1)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-version: 16.21.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-03 13:24:13 +00:00
Mark Dumay
90bc571b76 Merge pull request #1489 from gethinode/develop
ci: set read-only permissions for lint & build
2025-07-02 17:51:11 +02:00
Mark Dumay
aad5b59a48 fix: update dependencies 2025-07-02 16:56:37 +02:00
Mark Dumay
4d7fdffd4a Merge branch 'main' into develop 2025-07-02 16:35:22 +02:00
Mark Dumay
c384836224 ci: set read-only permissions for lint & build 2025-07-02 16:34:30 +02:00
github-actions[bot]
cb547351d9 Merge pull request #1487 from gethinode/dependabot/npm_and_yarn/eslint-9.30.1
Bump eslint from 9.30.0 to 9.30.1
2025-07-02 13:37:17 +00:00
dependabot[bot]
3b47a5b66f Bump eslint from 9.30.0 to 9.30.1
Bumps [eslint](https://github.com/eslint/eslint) from 9.30.0 to 9.30.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.30.0...v9.30.1)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 9.30.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-02 13:30:03 +00:00
Mark Dumay
9f9029baf0 Merge pull request #1486 from gethinode/develop
Develop
2025-07-02 12:53:05 +02:00
Mark Dumay
3079f1f7dd fix: correct page handling 2025-07-02 12:46:29 +02:00
Mark Dumay
e546d34422 Merge branch 'main' into develop 2025-07-02 12:24:10 +02:00
Mark Dumay
00e80f6400 docs: add cta example 2025-07-02 12:23:45 +02:00
Mark Dumay
b46dd52101 feat: add cta content block 2025-07-02 12:23:16 +02:00
Mark Dumay
b1a8c956fc feat: make fluid layout of sections configurable 2025-07-02 12:21:46 +02:00
Mark Dumay
1b8aa10d11 fix: update broken link in main index file 2025-07-02 12:16:00 +02:00
Mark Dumay
32fd60bb58 Merge pull request #1485 from gethinode/develop
Semantic release
2025-07-01 12:54:41 +02:00
Mark Dumay
8fa19c9ed1 Merge branch 'main' into develop 2025-07-01 12:44:56 +02:00
Mark Dumay
d36fcd894b feat: introduce semantic releases 2025-07-01 12:40:19 +02:00
Mark Dumay
7378a61542 ci: update Netlify build environment 2025-07-01 12:33:06 +02:00
Mark Dumay
fb63e36c56 Merge pull request #1484 from gethinode/develop
Fix kbd rendering
2025-07-01 11:42:27 +02:00
Mark Dumay
ae1cda1f5a Merge branch 'main' into develop 2025-07-01 11:36:04 +02:00
Mark Dumay
4846d1b016 Bump package release 2025-07-01 11:35:04 +02:00
Mark Dumay
01522dad71 Update build stats 2025-07-01 11:34:38 +02:00
Mark Dumay
0bbef1dad2 FIx kbd rendering 2025-07-01 11:34:29 +02:00
Mark Dumay
5e048d32df Merge pull request #1482 from gethinode/develop
Fix rendering of nav items
2025-06-30 08:42:44 +02:00
Mark Dumay
d1128fa7c3 Merge branch 'main' into develop 2025-06-30 08:00:43 +02:00
Mark Dumay
cf9a39b51f Fix rendering of nav items 2025-06-30 08:00:04 +02:00
Mark Dumay
ae9ec71966 Update dependencies 2025-06-29 13:35:27 +02:00
Mark Dumay
f6c4bbfffb Merge pull request #1481 from gethinode/develop
Enable explicit auto ratio for images
2025-06-29 13:24:07 +02:00
Mark Dumay
7a655315f1 Merge branch 'main' into develop 2025-06-29 13:19:12 +02:00
Mark Dumay
5c27178881 Enable explicit auto ratio for images 2025-06-29 13:18:43 +02:00
Mark Dumay
c829049842 Merge pull request #1480 from gethinode/develop
Fix starter template
2025-06-29 13:14:02 +02:00
Mark Dumay
613da916aa Merge branch 'main' into develop 2025-06-29 13:07:13 +02:00
Mark Dumay
d3d75c9dc6 Fix starter template 2025-06-29 13:05:52 +02:00
Mark Dumay
2f5b49397e Merge pull request #1479 from gethinode/develop
Fix justification of section title
2025-06-29 13:04:54 +02:00
Mark Dumay
632f3d861b Merge branch 'main' into develop 2025-06-29 12:56:11 +02:00
Mark Dumay
004063f02a Refine content blocks page 2025-06-29 12:34:48 +02:00
Mark Dumay
1bd498f816 Fix justification of section title 2025-06-29 12:34:36 +02:00
github-actions[bot]
291220256a Merge pull request #1476 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.144.9
Bump hugo-bin from 0.144.8 to 0.144.9
2025-06-25 15:13:07 +00:00
Mark Dumay
7bcb87a73e Merge branch 'main' into dependabot/npm_and_yarn/hugo-bin-0.144.9 2025-06-25 17:08:13 +02:00
Mark Dumay
55cebc752e Merge pull request #1478 from gethinode/develop
Fix sharing label
2025-06-25 17:06:43 +02:00
Mark Dumay
14bf59a551 Merge branch 'main' into develop 2025-06-25 17:02:01 +02:00
Mark Dumay
bce0fedd15 Fix sharing label 2025-06-25 17:01:34 +02:00
Mark Dumay
694e7fc7b1 Merge branch 'main' into dependabot/npm_and_yarn/hugo-bin-0.144.9 2025-06-25 16:41:39 +02:00
Mark Dumay
93749cb368 Merge pull request #1477 from gethinode/develop
Fix missing image set widths
2025-06-25 16:41:27 +02:00
Mark Dumay
cf01e22a4d Merge branch 'main' into develop 2025-06-25 16:33:20 +02:00
Mark Dumay
f416f6bb7e Fix missing image set widths 2025-06-25 16:32:55 +02:00
dependabot[bot]
a7b776c0dc Bump hugo-bin from 0.144.8 to 0.144.9
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.144.8 to 0.144.9.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.144.8...v0.144.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-23 14:48:51 +00:00
Mark Dumay
e70f3acb57 Merge pull request #1475 from gethinode/develop
Refine arguments
2025-06-23 13:04:14 +02:00
Mark Dumay
6e7b40ad0f Remove redundant file example 2025-06-23 12:57:35 +02:00
Mark Dumay
7446b2958e Merge branch 'main' into develop 2025-06-23 12:49:20 +02:00
Mark Dumay
6c18ada352 Update build stats 2025-06-23 12:48:42 +02:00
Mark Dumay
323b42996b Fix titleCase setting 2025-06-23 12:44:20 +02:00
Mark Dumay
ab8074b293 Update dependencies 2025-06-23 12:42:33 +02:00
Mark Dumay
9419e18ba9 Update file arguments 2025-06-23 12:42:27 +02:00
Mark Dumay
0f007ba5c2 Update articles arguments 2025-06-23 12:42:02 +02:00
Mark Dumay
7d0943fb0c Fix deprecated video arguments 2025-06-23 12:41:36 +02:00
Mark Dumay
3d2cfdaf0a Support title case for structured type headers 2025-06-23 12:41:17 +02:00
Mark Dumay
281c16b561 Refine card group arguments 2025-06-23 12:40:51 +02:00
Mark Dumay
fe68bd6be3 Simplify rendering of page modification date 2025-06-23 12:39:35 +02:00
Mark Dumay
3bf0c241a3 Update dependencies 2025-06-23 11:51:12 +02:00
Mark Dumay
a6a670cd2b Bump package release 2025-06-23 11:51:03 +02:00
Mark Dumay
a44b5449f8 Merge pull request #1472 from gethinode/develop
Fix handling of card parent arguments
2025-06-20 11:58:37 +02:00
Mark Dumay
461f53c67e Merge branch 'main' into develop 2025-06-20 11:52:23 +02:00
Mark Dumay
9a5059d8bd Fix handling of card parent arguments 2025-06-20 11:48:08 +02:00
Mark Dumay
c1586ee00e Bump package release 2025-06-20 11:01:50 +02:00
Mark Dumay
88d2a50954 Simplify page layout structure 2025-06-20 11:01:18 +02:00
Mark Dumay
77aa394c8e Merge pull request #1471 from gethinode/develop
Support xs buttons
2025-06-20 10:28:25 +02:00
Mark Dumay
5d4147fea9 Merge branch 'main' into develop 2025-06-20 10:23:49 +02:00
Mark Dumay
9c1d84487d Clean up button example 2025-06-20 10:21:58 +02:00
Mark Dumay
944a9705d7 Bump package release 2025-06-20 10:18:42 +02:00
Mark Dumay
5e274d952a Add args shortcode to example blog 2025-06-20 10:18:04 +02:00
Mark Dumay
a7f2d6d003 Use GetPadding from mod-utils 2025-06-20 10:17:21 +02:00
Mark Dumay
057ae25f7b Use xs button for inline release links 2025-06-20 10:16:46 +02:00
Mark Dumay
a6454e3b4e Support xs buttons 2025-06-20 10:16:21 +02:00
Mark Dumay
4b8f59782a Improve error handling of getdimension utility function 2025-06-20 10:14:43 +02:00
github-actions[bot]
777c4f671f Merge pull request #1470 from gethinode/dependabot/npm_and_yarn/stylelint-16.21.0
Bump stylelint from 16.20.0 to 16.21.0
2025-06-19 14:09:18 +00:00
dependabot[bot]
990a016434 Bump stylelint from 16.20.0 to 16.21.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 16.20.0 to 16.21.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/16.20.0...16.21.0)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-version: 16.21.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-19 13:59:32 +00:00
Mark Dumay
1e64f4f009 Merge pull request #1469 from gethinode/develop
Enable purge settings
2025-06-19 07:42:12 +02:00
Mark Dumay
8bd3f0a254 Fix purge settings of mod-simple-datatables 2025-06-19 07:09:37 +02:00
Mark Dumay
d6b3aaeb99 Merge branch 'main' into develop 2025-06-18 19:35:46 +02:00
Mark Dumay
e2e351f964 Enable purge settings 2025-06-18 19:35:09 +02:00
Mark Dumay
b711d0591d Merge pull request #1468 from gethinode/develop
Clean up core files
2025-06-18 19:32:13 +02:00
Mark Dumay
7a76408876 Merge branch 'main' into develop 2025-06-18 19:21:57 +02:00
Mark Dumay
1a53fdc636 Update build stats 2025-06-18 19:20:12 +02:00
Mark Dumay
81f60a28e1 Use updated animation arguments 2025-06-18 19:20:03 +02:00
Mark Dumay
193edecd03 Clean up obsolete file 2025-06-18 19:19:42 +02:00
Mark Dumay
9ed4d00d19 Use arguments from mod-utils instead 2025-06-18 19:19:32 +02:00
Mark Dumay
e821670be9 Update dependencies 2025-06-18 19:19:08 +02:00
Mark Dumay
7f7c8d12d9 Clean up base style 2025-06-18 19:18:58 +02:00
Mark Dumay
450e065117 Update dependencies 2025-06-18 19:18:05 +02:00
Mark Dumay
1360a750a5 Merge pull request #1466 from gethinode/develop
Fix margins of hero
2025-06-18 07:17:32 +02:00
Mark Dumay
e7bb3ba1ca Merge branch 'main' into develop 2025-06-18 07:07:53 +02:00
Mark Dumay
5121c1cf1c Merge pull request #1464 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2025-06-18 07:07:23 +02:00
Mark Dumay
50bf5fa168 Merge branch 'main' into hugo-mod-dependencies 2025-06-18 06:55:35 +02:00
Mark Dumay
363fcc3788 Fix margins of hero 2025-06-18 06:54:49 +02:00
Mark Dumay
d2e2b424b8 Merge pull request #1465 from gethinode/develop
Refactor navbar logo
2025-06-18 06:25:08 +02:00
Mark Dumay
859140e92f Merge branch 'main' into develop 2025-06-18 06:17:30 +02:00
Mark Dumay
38ef1bbbfe Bump package version 2025-06-18 06:16:35 +02:00
Mark Dumay
508da2ba2b Refactor navbar logo 2025-06-18 06:16:00 +02:00
Mark Dumay
529301ec8b Bump dependencies 2025-06-18 06:14:31 +02:00
markdumay
91acdeca75 fix: update Hugo module dependencies 2025-06-18 03:28:09 +00:00
Mark Dumay
805350c7b7 Merge pull request #1463 from gethinode/develop
Fix highlight of example bookshop input
2025-06-17 19:11:18 +02:00
Mark Dumay
9900dce30d Merge branch 'main' into develop 2025-06-17 19:00:58 +02:00
Mark Dumay
d40927f97a Fix highlight of example bookshop input 2025-06-17 19:00:28 +02:00
Mark Dumay
8c5e032514 Merge pull request #1462 from gethinode/develop
Make padding globally configurable
2025-06-17 18:40:21 +02:00
Mark Dumay
47a410f333 Merge branch 'main' into develop 2025-06-17 17:30:29 +02:00
Mark Dumay
fe0d3553fb Make padding globally configurable 2025-06-17 17:29:56 +02:00
Mark Dumay
05af8f72a3 Merge pull request #1461 from gethinode/develop
Refactor bookshop components
2025-06-17 06:28:15 +02:00
Mark Dumay
977c82b10d Fix separator padding and width 2025-06-17 06:17:31 +02:00
Mark Dumay
be92798dec Merge branch 'main' into develop 2025-06-17 05:54:59 +02:00
Mark Dumay
db9b96797a Bump package release 2025-06-17 05:54:11 +02:00
Mark Dumay
d41d58cf5d Refactor bookshop components 2025-06-17 05:53:33 +02:00
github-actions[bot]
d3fe893287 Merge pull request #1460 from gethinode/dependabot/npm_and_yarn/eslint-9.29.0
Bump eslint from 9.28.0 to 9.29.0
2025-06-16 14:13:36 +00:00
dependabot[bot]
e64a08c339 Bump eslint from 9.28.0 to 9.29.0
Bumps [eslint](https://github.com/eslint/eslint) from 9.28.0 to 9.29.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v9.28.0...v9.29.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 9.29.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-16 14:05:37 +00:00
Mark Dumay
900fce4169 Merge pull request #1459 from gethinode/develop
Refine content blocks
2025-06-11 16:59:46 +02:00
Mark Dumay
c82f9a41d4 Merge branch 'main' into develop 2025-06-11 16:51:36 +02:00
Mark Dumay
ea83db2eeb Fix image mode rendering 2025-06-11 16:48:35 +02:00
Mark Dumay
d37c2f6517 Add cards content block 2025-06-11 16:40:16 +02:00
Mark Dumay
68a4859638 Add articles example 2025-06-11 16:39:41 +02:00
Mark Dumay
81494cb1ed Bump package release 2025-06-11 05:49:02 +02:00
Mark Dumay
8307e2ab57 FIx timeline bug using workaround 2025-06-11 05:48:08 +02:00
193 changed files with 12875 additions and 4644 deletions

8
.github/codeql/codeql-config.yml vendored Normal file
View File

@@ -0,0 +1,8 @@
paths:
- 'assets/js'
paths-ignore:
- '**/vendor'
- '**/critical/languageSelector.js'
- '**/critical/color.js'
- '**/navbar.js'
- '**/sharing.js'

102
.github/workflows/codeql.yml vendored Normal file
View File

@@ -0,0 +1,102 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL Advanced"
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
schedule:
- cron: '44 1 * * 3'
jobs:
analyze:
name: Analyze (${{ matrix.language }})
# Runner size impacts CodeQL analysis time. To learn more, please see:
# - https://gh.io/recommended-hardware-resources-for-running-codeql
# - https://gh.io/supported-runners-and-hardware-resources
# - https://gh.io/using-larger-runners (GitHub.com only)
# Consider using larger runners or machines with greater resources for possible analysis time improvements.
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
permissions:
# required for all workflows
security-events: write
# required to fetch internal or private CodeQL packs
packages: read
# only required for workflows in private repositories
actions: read
contents: read
strategy:
fail-fast: false
matrix:
include:
- language: actions
build-mode: none
- language: javascript-typescript
build-mode: none
# CodeQL supports the following values keywords for 'language': 'actions', 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'rust', 'swift'
# Use `c-cpp` to analyze code written in C, C++ or both
# Use 'java-kotlin' to analyze code written in Java, Kotlin or both
# Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
# To learn more about changing the languages that are analyzed or customizing the build mode for your analysis,
# see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.
# If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
steps:
- name: Checkout repository
uses: actions/checkout@v5
# Add any setup steps before running the `github/codeql-action/init` action.
# This includes steps like installing compilers or runtimes (`actions/setup-node`
# or others). This is typically only required for manual builds.
# - name: Setup runtime (example)
# uses: actions/setup-example@v1
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
config-file: ./.github/codeql/codeql-config.yml
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality
# If the analyze step fails for one of the languages you are analyzing with
# "We were unable to automatically build your code", modify the matrix above
# to set the build mode to "manual" for that language. Then modify this step
# to build your code.
# Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
- if: matrix.build-mode == 'manual'
shell: bash
run: |
echo 'If you are using a "manual" build mode for one or more of the' \
'languages you are analyzing, replace this with the commands to build' \
'your code, for example:'
echo ' make bootstrap'
echo ' make release'
exit 1
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{matrix.language}}"

View File

@@ -14,16 +14,20 @@ env:
CACHE_PATH_WIN: '~\AppData\Local\hugo_cache' CACHE_PATH_WIN: '~\AppData\Local\hugo_cache'
CACHE_PATH_MAC: '/Users/runner/Library/Caches/hugo_cache' CACHE_PATH_MAC: '/Users/runner/Library/Caches/hugo_cache'
permissions:
pull-requests: read
contents: read
jobs: jobs:
lint: lint:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v4 uses: actions/checkout@v5
- name: Set up Node.js - name: Set up Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v5
with: with:
node-version: lts/* node-version: lts/*
cache: 'npm' cache: 'npm'
@@ -49,15 +53,15 @@ jobs:
steps: steps:
- name: Check out repository - name: Check out repository
uses: actions/checkout@v4 uses: actions/checkout@v5
- name: Install Go - name: Install Go
uses: actions/setup-go@v5 uses: actions/setup-go@v6
with: with:
go-version: ">1.0.0" go-version: ">1.0.0"
- name: Set up Node.js ${{ matrix.node-version }} - name: Set up Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4 uses: actions/setup-node@v5
with: with:
node-version: ${{ matrix.node-version }} node-version: ${{ matrix.node-version }}
cache: 'npm' cache: 'npm'

View File

@@ -14,10 +14,10 @@ jobs:
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v5
- name: Setup Node.js - name: Setup Node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v5
with: with:
node-version: lts/* node-version: lts/*
cache: 'npm' cache: 'npm'

View File

@@ -1,41 +0,0 @@
# This workflow will run tests using node and then publish a package to npmjs.org when a release is created
# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages
name: Publish package to npmjs
on:
workflow_dispatch:
release:
types: [published]
env:
REGISTRY_URL: 'https://registry.npmjs.org/'
jobs:
build:
strategy:
matrix:
os: [ubuntu-latest]
node-version: [20.x]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup .npmrc file to publish to npm
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
registry-url: ${{ env.REGISTRY_URL }}
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
# [27/AUG/23] Adjusted from npm ci to prevent EBADPLATFORM error due to fsevents
- name: Install npm
run: npm i
- name: Publish package to npm
run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

44
.github/workflows/release.yml vendored Normal file
View File

@@ -0,0 +1,44 @@
name: Release
on:
workflow_dispatch:
push:
branches:
- main
env:
HUSKY: 0
permissions:
contents: read # for checkout
jobs:
release:
name: Release
runs-on: ubuntu-latest
permissions:
contents: write # to be able to publish a GitHub release
issues: write # to be able to comment on released issues
pull-requests: write # to be able to comment on released pull requests
id-token: write # to enable use of OIDC for npm provenance
steps:
- name: Checkout repository
uses: actions/checkout@v5
with:
fetch-depth: 0
- name: Set up Node.js
uses: actions/setup-node@v5
with:
node-version: "lts/*"
- name: Install dependencies
run: npm clean-install
- name: Verify the integrity of provenance attestations and registry signatures for installed dependencies
run: npm audit signatures
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: npx semantic-release

1
.gitignore vendored
View File

@@ -1,5 +1,6 @@
_vendor/ _vendor/
prebuild/ prebuild/
prebuild-headers/
public/ public/
resources/ resources/
node_modules/ node_modules/

1
.husky/commit-msg Normal file
View File

@@ -0,0 +1 @@
npx --no -- commitlint --edit $1

6
.husky/install.mjs Normal file
View File

@@ -0,0 +1,6 @@
// Skip Husky install in production and CI
if (process.env.NODE_ENV === 'production' || process.env.CI === 'true') {
process.exit(0)
}
const husky = (await import('husky')).default
console.log(husky())

1
.husky/pre-commit Normal file
View File

@@ -0,0 +1 @@
npm test

View File

@@ -15,9 +15,6 @@
<a href="https://gethinode.com"> <a href="https://gethinode.com">
<img src="https://img.shields.io/badge/theme-hinode-blue" alt="Hinode theme"> <img src="https://img.shields.io/badge/theme-hinode-blue" alt="Hinode theme">
</a> </a>
<a href="https://www.npmjs.com/package/%40gethinode/hinode">
<img src="https://img.shields.io/npm/v/%40gethinode/hinode" alt="npm package">
</a>
<a href="https://app.netlify.com/sites/gethinode-demo/deploys"> <a href="https://app.netlify.com/sites/gethinode-demo/deploys">
<img src="https://img.shields.io/netlify/0ad42e3e-fdfa-4d37-8e26-58badd429a67" alt="Netlify Status"> <img src="https://img.shields.io/netlify/0ad42e3e-fdfa-4d37-8e26-58badd429a67" alt="Netlify Status">
</a> </a>

View File

@@ -1,4 +1,4 @@
{{- if site.Params.main.enableDarkMode -}} {{- if (or site.Params.main.enableDarkMode site.Params.main.colorMode.enabled) -}}
/*! /*!
* Color mode toggler for Bootstrap's docs (https://getbootstrap.com/) * Color mode toggler for Bootstrap's docs (https://getbootstrap.com/)
@@ -43,9 +43,7 @@
document.documentElement.setAttribute('data-bs-theme', theme) document.documentElement.setAttribute('data-bs-theme', theme)
} }
document.querySelectorAll('.navbar-mode-selector').forEach(chk => { updateSelectors()
chk.checked = (document.documentElement.getAttribute('data-bs-theme') === 'light')
})
} }
// alternates the currently active theme // alternates the currently active theme
@@ -54,6 +52,12 @@
setTheme(target) setTheme(target)
} }
function updateSelectors() {
document.querySelectorAll('.navbar-mode-selector').forEach(chk => {
chk.checked = (document.documentElement.getAttribute('data-bs-theme') === 'light')
})
}
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => { window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => {
if (storedTheme !== 'light' || storedTheme !== 'dark') { if (storedTheme !== 'light' || storedTheme !== 'dark') {
setTheme(getPreferredTheme()) setTheme(getPreferredTheme())
@@ -69,7 +73,12 @@
}) })
}) })
// initialize theme directly when script is invoked window.addEventListener('load', () => {
// update the selectors when all elements are ready
updateSelectors()
})
// initialize theme as soon as possible to reduce screen flickering
setTheme(getTheme()) setTheme(getTheme())
})() })()

6
assets/js/modal.js Normal file
View File

@@ -0,0 +1,6 @@
document.addEventListener('hide.bs.modal', function (event) {
// Remove the focus from the active element
if (document.activeElement) {
document.activeElement.blur()
}
})

45
assets/js/nav.js Normal file
View File

@@ -0,0 +1,45 @@
function updateDropdown (element, id, label) {
const dropdown = document.getElementById(element)
if (dropdown != null) {
dropdown.querySelector('.dropdown-toggle').textContent = label
dropdown.querySelectorAll('.panel-dropdown .dropdown-item').forEach(item => {
item.classList.remove('active')
let target = item.getAttribute('data-link')
if (target != null) {
target = target.replace(/^#+/, '')
if (target === id) {
item.classList.add('active')
}
}
})
}
}
document.querySelectorAll('.panel-dropdown').forEach(trigger => {
trigger.addEventListener('hide.bs.dropdown', event => {
if (event.clickEvent != null) {
let target = event.clickEvent.srcElement.getAttribute('data-link')
if (target != null) {
trigger.querySelectorAll('.panel-dropdown .dropdown-item').forEach(item => {
item.classList.remove('active')
})
target = target.replace(/^#+/, '')
const btn = document.getElementById(target)
if (btn != null) {
event.clickEvent.srcElement.classList.add('active')
trigger.querySelector('.dropdown-toggle').textContent = event.clickEvent.srcElement.textContent
btn.click()
}
}
}
})
})
document.querySelectorAll('.nav-panel .nav-link').forEach(trigger => {
trigger.addEventListener('click', event => {
const companion = event.srcElement.parentElement.parentElement.getAttribute('data-companion')
if (companion != null) {
updateDropdown(companion, trigger.getAttribute('id'), trigger.textContent.trim())
}
})
})

13
assets/js/toc.js Normal file
View File

@@ -0,0 +1,13 @@
const btnTOCShowMore = document.getElementById('btnTOCShowMore')
if (btnTOCShowMore !== null) {
btnTOCShowMore.addEventListener('click', (e) => {
btnTOCShowMore.style.display = 'none'
})
}
const btnTOCShowLess = document.getElementById('btnTOCShowLess')
if ((btnTOCShowLess !== null) && (btnTOCShowMore !== null)) {
btnTOCShowLess.addEventListener('click', (e) => {
btnTOCShowMore.style.display = 'initial'
})
}

View File

@@ -24,8 +24,10 @@
@import "components/carousel.scss"; @import "components/carousel.scss";
@import "components/clipboard.scss"; @import "components/clipboard.scss";
@import "components/command.scss"; @import "components/command.scss";
@import "components/docs.scss";
@import "components/feature.scss"; @import "components/feature.scss";
@import "components/footer.scss"; @import "components/footer.scss";
@import "components/kbd.scss";
@import "components/nav.scss"; @import "components/nav.scss";
@import "components/navbar.scss"; @import "components/navbar.scss";
@import "components/img.scss"; @import "components/img.scss";
@@ -35,6 +37,7 @@
@import "components/sidebar.scss"; @import "components/sidebar.scss";
@import "components/syntax-dart.scss"; // note: modified for dart-sass @import "components/syntax-dart.scss"; // note: modified for dart-sass
@import "components/table.scss"; @import "components/table.scss";
@import "components/toast.scss";
@import "components/timeline.scss"; @import "components/timeline.scss";
@import "components/toc.scss"; @import "components/toc.scss";
@import "components/video.scss"; @import "components/video.scss";

View File

@@ -22,8 +22,10 @@
@import "components/carousel.scss"; @import "components/carousel.scss";
@import "components/clipboard.scss"; @import "components/clipboard.scss";
@import "components/command.scss"; @import "components/command.scss";
@import "components/docs.scss";
@import "components/feature.scss"; @import "components/feature.scss";
@import "components/footer.scss"; @import "components/footer.scss";
@import "components/kbd.scss";
@import "components/nav.scss"; @import "components/nav.scss";
@import "components/navbar.scss"; @import "components/navbar.scss";
@import "components/img.scss"; @import "components/img.scss";
@@ -33,6 +35,7 @@
@import "components/sidebar.scss"; @import "components/sidebar.scss";
@import "components/syntax.scss"; @import "components/syntax.scss";
@import "components/table.scss"; @import "components/table.scss";
@import "components/toast.scss";
@import "components/timeline.scss"; @import "components/timeline.scss";
@import "components/toc.scss"; @import "components/toc.scss";
@import "components/video.scss"; @import "components/video.scss";

View File

@@ -21,6 +21,7 @@
// Standard version (Firefox, only appears on scroll) // Standard version (Firefox, only appears on scroll)
@supports (-moz-appearance:none) { @supports (-moz-appearance:none) {
/* stylelint-disable-next-line no-invalid-position-declaration */
scrollbar-color: $foreground-color $background-color; scrollbar-color: $foreground-color $background-color;
} }
} }

View File

@@ -14,27 +14,21 @@ a:active {
text-decoration: none; text-decoration: none;
} }
div.rounded, img.rounded {
--bs-border-radius: #{$theme-border-radius};
}
// //
// Ensure main page is rendered to full viewport height // Ensure main page is rendered to full viewport height
// //
.main { .main {
min-height: 100vh;
}
.fullcover {
--navbar-height: #{$navbar-height}; --navbar-height: #{$navbar-height};
min-height: calc(100vh - var(--navbar-height));
}
.fullscreen {
--overlay-offset: #{$overlay-offset}; --overlay-offset: #{$overlay-offset};
--section-height: 88vh;
--max-section-height: 1024px;
min-height: calc(100vh - var(--overlay-offset)); min-height: 100vh;
} margin-top: var(--overlay-offset);
.main-content {
margin-top: var(--navbar-offset);
} }
$utilities: map-merge( $utilities: map-merge(
@@ -100,66 +94,24 @@ $utilities: map-merge(
) )
); );
@media screen and (orientation: portrait) {
.min-vh-custom {
min-height: 25vh !important
}
}
@media screen and (orientation: landscape) {
.min-vh-custom {
min-height: 50vh !important
}
}
:root { :root {
--nav-height: 90px; --nav-height: 90px;
} }
@include media-breakpoint-up(sm) {
.ratio-section {
min-height: calc(min(100vh, 576px) - var(--nav-height));
}
}
@include media-breakpoint-up(md) {
.ratio-section {
min-height: calc(min(100vh, 768px) - var(--nav-height));
}
}
@include media-breakpoint-up(lg) {
.ratio-section {
min-height: calc(min(100vh, 992px) - var(--nav-height));
}
}
@include media-breakpoint-up(xl) {
.ratio-section {
min-height: calc(min(100vh, 1200px) - var(--nav-height));
}
}
@include media-breakpoint-up(xxl) {
.ratio-section {
min-height: calc(min(100vh, 1400px) - var(--nav-height));
}
}
.section-cover { .section-cover {
min-height: 100vh; min-height: calc(var(--section-height) - var(--overlay-offset));
} }
@include media-breakpoint-up(xxl) { @include media-breakpoint-up(xxl) {
.section-cover { .section-cover {
min-height: calc(min(100vh, 1000px)); min-height: calc(min(calc(var(--section-height) - var(--overlay-offset)), var(--max-section-height)));
} }
} }
/* stylelint-disable media-feature-range-notation */ /* stylelint-disable media-feature-range-notation */
@media (min-height: 1400px) { @media (min-height: 1400px) {
.section-cover { .section-cover {
min-height: calc(min(100vh, 1000px)); min-height: calc(min(calc(var(--section-height) - var(--overlay-offset)), var(--max-section-height)));
} }
} }
/* stylelint-enable media-feature-range-notation */ /* stylelint-enable media-feature-range-notation */
@@ -199,3 +151,17 @@ $utilities: map-merge(
) )
) )
); );
.width-100 {
width: 100%;
}
$utilities: (
"width": (
property: width,
responsive: true,
values: (
auto: auto
)
)
);

View File

@@ -16,12 +16,12 @@ $font-weight-normal: 300 !default;
$font-weight-bold: 600 !default; $font-weight-bold: 600 !default;
$font-weight-bolder: bolder !default; $font-weight-bolder: bolder !default;
$theme-border-radius: 1rem;
strong { strong {
font-weight: 600 if($enable-important-utilities, !important, null); font-weight: 600 if($enable-important-utilities, !important, null);
} }
$theme-border-radius: 0.375rem;
$navbar-height: h.$navbar-height; $navbar-height: h.$navbar-height;
$navbar-offset: h.$navbar-offset; $navbar-offset: h.$navbar-offset;
$navbar-offset-xs: h.$navbar-offset-xs; $navbar-offset-xs: h.$navbar-offset-xs;
@@ -69,3 +69,8 @@ $theme-colors: (
"body": $body-bg, "body": $body-bg,
"body-tertiary": $gray-100, "body-tertiary": $gray-100,
); );
$btn-padding-y-xs: .08rem !default;
$btn-padding-x-xs: 0.3rem !default;
$btn-font-size-xs: $font-size-base * .6 !default;
$btn-border-radius-xs: .2rem !default;

View File

@@ -17,13 +17,13 @@ $font-weight-normal: 300 !default;
$font-weight-bold: 600 !default; $font-weight-bold: 600 !default;
$font-weight-bolder: bolder !default; $font-weight-bolder: bolder !default;
$theme-border-radius: 1rem;
strong { strong {
font-weight: 600 if($enable-important-utilities, !important, null); font-weight: 600 if($enable-important-utilities, !important, null);
} }
// scss-docs-end font // scss-docs-end font
$theme-border-radius: 0.375rem;
$white: #fff !default; $white: #fff !default;
$black: #000 !default; $black: #000 !default;
$body-bg: #fff !default; $body-bg: #fff !default;
@@ -64,3 +64,8 @@ $theme-colors: (
"body": $body-bg, "body": $body-bg,
"body-tertiary": $gray-100, "body-tertiary": $gray-100,
); );
$btn-padding-y-xs: .08rem !default;
$btn-padding-x-xs: 0.3rem !default;
$btn-font-size-xs: $font-size-base * .6 !default;
$btn-border-radius-xs: .2rem !default;

View File

@@ -48,3 +48,11 @@ a.btn {
margin: 0 !important; margin: 0 !important;
} }
.btn-xs {
@include button-size($btn-padding-y-xs, $btn-padding-x-xs, $btn-font-size-xs, $btn-border-radius-xs);
}
.btn {
--bs-border-radius: #{$theme-border-radius};
}

View File

@@ -6,6 +6,9 @@
} }
.card { .card {
--bs-card-border-radius: #{$theme-border-radius};
--bs-card-inner-border-radius: #{$theme-border-radius};
--bs-border-radius: #{$theme-border-radius};
--bs-card-bg: transparent; --bs-card-bg: transparent;
} }
@@ -28,6 +31,13 @@
cursor: pointer; cursor: pointer;
} }
.card-img-top {
--bs-border-radius: #{$theme-border-radius};
border-top-left-radius: var(--bs-border-radius) !important;
border-top-right-radius: var(--bs-border-radius) !important;
}
.card-img-wrap img { .card-img-wrap img {
transition: transform 0.25s ease; transition: transform 0.25s ease;
width: 100%; width: 100%;

View File

@@ -1,3 +1,7 @@
.carousel-inner {
border-radius: #{$theme-border-radius};
}
.gradient { .gradient {
width: 100%; width: 100%;
height: 100%; height: 100%;

View File

@@ -0,0 +1,22 @@
.docs-controls .nav-link,
.file-controls .nav-link {
border-top-left-radius: #{$theme-border-radius};
border-top-right-radius: #{$theme-border-radius};
margin-left: #{$theme-border-radius};
&:hover,
&:focus {
border-bottom: 0;
}
}
.docs-panel,
.file-panel {
border: 1px solid var(--#{$prefix}border-color);
overflow: hidden;
}
.docs-panel, .docs-panel .collapse,
.file-panel, .file-panel .collapse {
border-radius: #{$theme-border-radius};
}

View File

@@ -27,3 +27,7 @@
width: 100vw; width: 100vw;
object-fit: cover; object-fit: cover;
} }
.figure-caption {
margin-left: #{$theme-border-radius};
}

View File

@@ -0,0 +1,3 @@
kbd {
border-radius: #{$theme-border-radius};
}

View File

@@ -1,14 +1,8 @@
.nav-tabs .nav-tabs { .nav-tabs {
border: none; border: none !important;
} }
.nav-tabs .nav-link.active { .nav-callout, .tab-content {
border-bottom-color: var(--bs-body-bg) !important;
border-bottom-style: solid !important;
z-index: 1;
}
.nav-callout {
--#{$prefix}nav-callout-bg: var(--#{$prefix}light); --#{$prefix}nav-callout-bg: var(--#{$prefix}light);
--#{$prefix}nav-callout-active-bg: var(--bs-primary-bg-subtle); --#{$prefix}nav-callout-active-bg: var(--bs-primary-bg-subtle);
--#{$prefix}nav-callout-gap: #{$nav-underline-gap}; --#{$prefix}nav-callout-gap: #{$nav-underline-gap};
@@ -90,9 +84,17 @@
border-color: var(--#{$prefix}border-color); border-color: var(--#{$prefix}border-color);
} }
.nav-callout, .pagination {
--bs-border-radius: #{$theme-border-radius};
}
.nav-callout .tab-content {
border-radius: #{$theme-border-radius};
}
@if $enable-dark-mode { @if $enable-dark-mode {
@include color-mode(dark) { @include color-mode(dark) {
.nav-callout { .nav-callout, .tab-content {
--#{$prefix}nav-callout-bg: var(--#{$prefix}tertiary-bg); --#{$prefix}nav-callout-bg: var(--#{$prefix}tertiary-bg);
} }

View File

@@ -7,7 +7,7 @@
} }
.mode-switch { .mode-switch {
--#{$prefix}mode-switch-width: 50px; --#{$prefix}mode-switch-width: 3em;
} }
.mode-switch .label { .mode-switch .label {
@@ -64,6 +64,18 @@
transform: scale(0.8); transform: scale(0.8);
} }
.mode-toggle > input {
z-index: 1;
cursor: pointer;
height: 25px;
width: 25px;
}
.mode-toggle > label {
z-index: 0;
cursor: pointer;
}
// Source: https://jsfiddle.net/njhgr40m/ // Source: https://jsfiddle.net/njhgr40m/
@if $enable-dark-mode { @if $enable-dark-mode {
@@ -92,20 +104,27 @@
margin: 0 .15rem; margin: 0 .15rem;
} }
.navbar-title { .navbar-title, .navbar-title-center, .navbar-title-start {
display: inline-block; display: inline-block;
white-space: normal; white-space: normal;
text-align: center !important;
vertical-align: middle; vertical-align: middle;
padding: 0 $spacer; padding: 0 $spacer;
width: 100% !important; width: 100% !important;
} }
.navbar-title, .navbar-title-center {
text-align: center !important;
}
.navbar-contrast .nav-link.active, .navbar-contrast .nav-link.show, .navbar-contrast .nav-link:hover { .navbar-contrast .nav-link.active, .navbar-contrast .nav-link.show, .navbar-contrast .nav-link:hover {
border-bottom: solid 1px var(--bs-navbar-hover-color); border-bottom: solid 1px var(--bs-navbar-hover-color);
margin-bottom: -1px; margin-bottom: -1px;
} }
.navbar-brand {
margin-right: 0;
}
.navbar-contrast { .navbar-contrast {
--bs-navbar-color: white !important; --bs-navbar-color: white !important;
--bs-navbar-hover-color: white !important; --bs-navbar-hover-color: white !important;
@@ -113,7 +132,7 @@
--bs-navbar-active-color: white !important; --bs-navbar-active-color: white !important;
--bs-navbar-toggler-color: white; --bs-navbar-toggler-color: white;
.navbar-title, .mode-switch { .navbar-title, .navbar-brand, .mode-switch {
--#{$prefix}border-color: white; --#{$prefix}border-color: white;
color: white !important; color: white !important;
@@ -126,12 +145,65 @@
.navbar-expanded { .navbar-expanded {
box-shadow: $box-shadow-sm; box-shadow: $box-shadow-sm;
min-height: 100vh;
align-items: start;
}
.navbar-expanded .navbar-collapse {
margin-top: 2rem;
}
@each $h, $size in $font-sizes {
.navbar-fs-#{$h} {
font-size: #{$size};
}
}
@each $breakpoint in map-keys($grid-breakpoints) {
$next: breakpoint-next($breakpoint, $grid-breakpoints);
$infix: breakpoint-infix($next, $grid-breakpoints);
@if $infix != '' {
@include media-breakpoint-up($next) {
.navbar#{$infix}-fs {
font-size: inherit;
}
}
}
}
.navbar-icon {
padding-right: var(--bs-navbar-nav-link-padding-x);
padding-left: var(--bs-navbar-nav-link-padding-x);
} }
.nav-item .vr { .nav-item .vr {
color: var(--bs-navbar-color); color: var(--bs-navbar-color);
} }
.navbar .nav-item {
display: flex;
align-items: center;
white-space: nowrap;
}
.navbar-collapse .dropdown {
display: inline;
align-items: normal;
}
.navbar-expanded .btn {
font-size: 1em;
}
.navbar .btn {
border-radius: #{$theme-border-radius};
}
.navbar-expanded .search-input {
margin-bottom: 1rem;
}
/* Remove border from toggler */ /* Remove border from toggler */
.navbar-toggler { .navbar-toggler {
border: 0 if($enable-important-utilities, !important, null); border: 0 if($enable-important-utilities, !important, null);
@@ -223,13 +295,10 @@
} }
.navbar-container { .navbar-container {
min-height: calc(2rem + 10px);
width: 100% !important; width: 100% !important;
} }
.navbar-brand {
margin-right: 0;
}
@include media-breakpoint-up(#{$navbar-size}) { @include media-breakpoint-up(#{$navbar-size}) {
:root { :root {
--navbar-offset: #{$navbar-offset}; --navbar-offset: #{$navbar-offset};
@@ -319,3 +388,7 @@
position: absolute; position: absolute;
z-index: $zindex-fixed; z-index: $zindex-fixed;
} }
.form-control.is-search {
border: 1px solid var(--bs-border-color) !important;
}

View File

@@ -11,6 +11,12 @@
} }
.sidebar-item { .sidebar-item {
--bs-border-radius: #{$theme-border-radius};
--bs-border-radius-sm: #{$theme-border-radius};
--bs-border-radius-lg: #{$theme-border-radius};
--bs-border-radius-xl: #{$theme-border-radius};
--bs-border-radius-xxl: #{$theme-border-radius};
color: rgba(0, 0, 0, 0.65); color: rgba(0, 0, 0, 0.65);
margin-left: 0 !important; margin-left: 0 !important;
display: inline-block; display: inline-block;
@@ -28,6 +34,8 @@
} }
.sidebar-item-group { .sidebar-item-group {
border-radius: #{$theme-border-radius};
&:hover, &:hover,
&:focus { &:focus {
color: $primary; color: $primary;
@@ -126,4 +134,6 @@
.dropdown-toggle { .dropdown-toggle {
outline: 0; outline: 0;
display: flex;
align-items: center;
} }

View File

@@ -16,6 +16,10 @@
flex: 1; flex: 1;
} }
.codeblock.syntax-highlight, .command.syntax-highlight {
border-radius: #{$theme-border-radius};
}
.syntax-highlight { .syntax-highlight {
background-color: var(--bs-light) if($enable-important-utilities, !important, null); background-color: var(--bs-light) if($enable-important-utilities, !important, null);
overflow-x: auto; overflow-x: auto;

View File

@@ -16,6 +16,10 @@
flex: 1; flex: 1;
} }
.codeblock.syntax-highlight, .command.syntax-highlight {
border-radius: #{$theme-border-radius};
}
.syntax-highlight { .syntax-highlight {
background-color: var(--bs-light) if($enable-important-utilities, !important, null); background-color: var(--bs-light) if($enable-important-utilities, !important, null);
overflow-x: auto; overflow-x: auto;

View File

@@ -26,6 +26,10 @@ $semi-circle-border: 0.2rem;
// scss-docs-end timeline // scss-docs-end timeline
.timeline-container {
border-radius: #{$theme-border-radius};
}
.timeline, .timeline-sm { .timeline, .timeline-sm {
position: relative; position: relative;
} }

View File

@@ -0,0 +1,4 @@
.toast {
border-radius: #{$theme-border-radius};
overflow: hidden;
}

View File

@@ -3,11 +3,11 @@
// //
// scss-docs-start toc // scss-docs-start toc
.toc-sidebar { .toc-sidebar {
grid-area: toc;
right: 0; right: 0;
z-index: 2; z-index: 2;
overflow-y: auto; overflow-y: auto;
top: 5rem; top: 5rem;
max-height: calc(100vh - var(--navbar-offset));
} }
// scss-docs-end toc // scss-docs-end toc
@@ -74,6 +74,14 @@
} }
} }
.btn-link.toc-item {
font-size: inherit;
}
#btnTOCShowMore {
padding-top: 0.875rem;
}
a.toc-item { a.toc-item {
display: block; display: block;
} }

View File

@@ -3,6 +3,7 @@
padding-bottom: 56.25%; padding-bottom: 56.25%;
height: 0; height: 0;
overflow: hidden; overflow: hidden;
border-radius: #{$theme-border-radius};
} }
.video-embedded > iframe { .video-embedded > iframe {
@@ -11,7 +12,7 @@
left: 0; left: 0;
width: 100%; width: 100%;
height: 100%; height: 100%;
border:0; border: 0;
} }
// Adapted from https://github.com/gohugoio/hugo/tpl/tplimpl/embedded/templates/shortcodes/vimeo_simple.html // Adapted from https://github.com/gohugoio/hugo/tpl/tplimpl/embedded/templates/shortcodes/vimeo_simple.html

View File

@@ -10,7 +10,7 @@
/* inter-200 - latin */ /* inter-200 - latin */
@font-face { @font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ font-display: block; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Inter'; font-family: 'Inter';
font-style: normal; font-style: normal;
font-weight: 200; font-weight: 200;
@@ -23,7 +23,7 @@
} }
/* inter-300 - latin */ /* inter-300 - latin */
@font-face { @font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ font-display: block; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Inter'; font-family: 'Inter';
font-style: normal; font-style: normal;
font-weight: 300; font-weight: 300;
@@ -36,7 +36,7 @@
} }
/* inter-regular - latin */ /* inter-regular - latin */
@font-face { @font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ font-display: block; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Inter'; font-family: 'Inter';
font-style: normal; font-style: normal;
font-weight: 400; font-weight: 400;
@@ -49,7 +49,7 @@
} }
/* inter-600 - latin */ /* inter-600 - latin */
@font-face { @font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ font-display: block; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Inter'; font-family: 'Inter';
font-style: normal; font-style: normal;
font-weight: 600; font-weight: 600;

1
commitlint.config.js Normal file
View File

@@ -0,0 +1 @@
module.exports = {extends: ['@commitlint/config-conventional']}

View File

@@ -1,8 +1,11 @@
@import "modules/bookshop/shared/styles/global"; @import "modules/bookshop/shared/styles/global";
@import "modules/bookshop/components/about/about"; @import "modules/bookshop/components/about/about";
@import "modules/bookshop/components/articles/articles"; @import "modules/bookshop/components/articles/articles";
@import "modules/bookshop/components/cards/cards";
@import "modules/bookshop/components/cta/cta";
@import "modules/bookshop/components/faq/faq"; @import "modules/bookshop/components/faq/faq";
@import "modules/bookshop/components/hero/hero"; @import "modules/bookshop/components/hero/hero";
@import "modules/bookshop/components/panels/panels";
@import "modules/bookshop/components/releases/releases"; @import "modules/bookshop/components/releases/releases";
@import "modules/bookshop/components/separator/separator"; @import "modules/bookshop/components/separator/separator";
@import "modules/bookshop/components/video-message/video-message"; @import "modules/bookshop/components/video-message/video-message";

View File

@@ -30,7 +30,10 @@ blueprint:
mode: mode:
order: order:
width: width:
justify:
link-type: link-type:
theme:
cover:
links: links:
- -
title: title:

View File

@@ -19,14 +19,15 @@
{{/* Main code */}} {{/* Main code */}}
{{ if not $args.error }} {{ if not $args.error }}
{{ partial "assets/hero.html" (dict {{ partial "assets/hero.html" (dict
"page" page
"heading" $args.heading "heading" $args.heading
"background" $args.background "background" $args.background
"illustration" (merge (dict "ratio" "1x1") $args.illustration) "illustration" (merge (dict "ratio" "auto") $args.illustration)
"order" $args.order "order" $args.order
"link-type" $args.linkType "link-type" $args.linkType
"links" $args.links "links" $args.links
"orientation" "horizontal" "orientation" "horizontal"
"width" (or .width 8) "width" (or $args.width 8)
) )
}} }}
{{- end -}} {{- end -}}

View File

@@ -27,9 +27,11 @@ blueprint:
more: more:
title: title:
link: link:
icon-rounded:
icon-style:
cols: cols:
padding: padding:
max: limit:
pagination: pagination:
paginate: paginate:
background: background:
@@ -43,3 +45,7 @@ blueprint:
footer-style: footer-style:
orientation: orientation:
class: class:
width:
justify:
theme:
cover:

View File

@@ -19,6 +19,10 @@
{{ $error = $args.err }} {{ $error = $args.err }}
{{ end }} {{ end }}
{{/* Initialize global arguments */}}
{{- $padding := partial "utilities/GetPadding.html" -}}
{{/* Initialize local variables */}}
{{ $pages := slice }} {{ $pages := slice }}
{{ $result := partial "assets/live-pages.html" (dict {{ $result := partial "assets/live-pages.html" (dict
"page" $args.page "page" $args.page
@@ -60,26 +64,31 @@
{{ $paginate = false }} {{ $paginate = false }}
{{ end }} {{ end }}
<!-- Main code --> {{/* Main code */}}
{{ if not $error }} {{ if not $error }}
<div class="container-xxl p-4 px-xxl-0"> {{ if or (gt (len $pages) 0) (not $args.hideEmpty) }}
{{- partial "assets/section-title.html" (dict "heading" $args.heading "class" "py-5") -}} {{- partial "assets/section-title.html" (dict
"heading" $args.heading
"justify" $args.justify
"class" (printf "pb-%d" $padding.y))
-}}
{{ $partial := "assets/card-group.html" }} {{ $partial := "assets/card-group.html" }}
{{ $params := dict }} {{ $params := dict }}
{{- $params = merge $params (dict {{- $params = merge $params (dict
"page" page "page" page
"list" $pages "list" $pages
"max" $args.max "limit" $args.limit
"cols" $args.cols "cols" $args.cols
"icon-rounded" $args.iconRounded "icon-rounded" $args.iconRounded
"icon-style" $args.iconStyle
"href" (cond $moreButton $moreLink "") "href" (cond $moreButton $moreLink "")
"href-title" (cond $moreButton $moreTitle "") "href-title" (cond $moreButton $moreTitle "")
"href-force" (gt $result.total (len $result.pages)) "href-force" (gt $result.total (len $result.pages))
)}} )}}
{{ if $args.scroll }} {{ if $args.scroll }}
{{ $partial := "assets/stack.html" }} {{ $partial = "assets/stack.html" }}
{{ $params = merge $params (dict {{ $params = merge $params (dict
"header-style" "none" "header-style" "none"
"body-style" "title" "body-style" "title"
@@ -96,7 +105,6 @@
"footer-style" $args.footerStyle "footer-style" $args.footerStyle
"padding" $args.padding "padding" $args.padding
"class" (or $args.class "border-0") "class" (or $args.class "border-0")
"icon-style" "fa-2x"
"align" "start" "align" "start"
"orientation" $args.orientation "orientation" $args.orientation
"hook" "assets/live-card.html" "hook" "assets/live-card.html"
@@ -104,6 +112,10 @@
"paginate" $paginate "paginate" $paginate
) -}} ) -}}
{{ end }} {{ end }}
{{ if gt (len $pages) 0 }}
{{ partial $partial $params }} {{ partial $partial $params }}
</div> {{ else }}
<p class="pt-{{ $padding.y }}">{{- T "emptyList" }}.</p>
{{ end }}
{{ end }}
{{ end }} {{ end }}

View File

@@ -0,0 +1,38 @@
# Metadata about this component, to be used in the CMS
spec:
structures:
- content_blocks
label: Benefits
description: Introduction section
icon: check
tags: []
# Defines the structure of this component, as well as the default values
blueprint:
heading:
preheading:
heading:
content:
align:
width:
cols:
icon-rounded:
icon-style:
padding:
background:
backdrop:
color:
subtle:
elements:
- title:
icon:
image:
mode:
content:
orientation:
class:
width:
justify:
align:
theme:
cover:

View File

@@ -0,0 +1,82 @@
{{/*
Copyright © 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
*/}}
{{ $error := false }}
{{/* Initialize arguments */}}
{{ $args := partial "utilities/InitArgs.html" (dict "bookshop" "cards" "args" .)}}
{{ if or $args.err $args.warnmsg }}
{{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict
"partial" "component-library/components/cards/cards.hugo.html"
"warnid" "warn-invalid-arguments"
"msg" "Invalid arguments"
"details" ($args.errmsg | append $args.warnmsg)
"file" page.File
)}}
{{ $error = $args.err }}
{{ end }}
{{/* Initialize global arguments */}}
{{- $breakpoint := partial "utilities/GetBreakpoint.html" -}}
{{- $padding := partial "utilities/GetPadding.html" -}}
{{/* Initialize local variables */}}
{{ $list := slice }}
{{ range $args.elements }}
<!-- TODO: check mode -->
{{ $list = $list | append (dict
"title" .title
"description" (.content | page.RenderString)
"icon" .icon
"thumbnail" .image
) }}
{{ end}}
{{/* Main code */}}
{{ if not $error }}
{{- partial "assets/section-title.html" (dict
"heading" $args.heading
"justify" $args.justify
"class" (printf "pb-%d" $padding.y))
-}}
{{/* Layout for small screens */}}
{{- partial "assets/card-group.html" (dict
"page" page
"list" $list
"class" (printf "border-0 card-icon-primary %s" (or $args.class ""))
"wrapper" (printf "d-%s-none" $breakpoint.prev)
"cols" $args.cols
"gutter" "4"
"padding" $args.padding
"header-style" "none"
"footer-style" "none"
"icon-rounded" $args.iconRounded
"icon-style" (or $args.iconStyle "fa-2x")
"align" $args.align
"orientation" ($args.orientation | default "horizontal-sm")
"hook" "assets/live-card.html"
) -}}
{{/* Layout for regular screens */}}
{{- partial "assets/card-group.html" (dict
"page" page
"list" $list
"class" (printf "border-0 card-icon-primary %s" (or $args.class ""))
"wrapper" (printf "d-none d-%s-block" $breakpoint.prev)
"cols" $args.cols
"gutter" "4"
"padding" $args.padding
"header-style" "none"
"footer-style" "none"
"icon-rounded" $args.iconRounded
"icon-style" (or $args.iconStyle "fa-2x")
"align" $args.align
"orientation" ($args.orientation | default "stacked")
"hook" "assets/live-card.html"
) -}}
{{ end }}

View File

@@ -0,0 +1,45 @@
# Metadata about this component, to be used in the CMS
spec:
structures:
- content_blocks
label: CTA
description: Call to action
icon: contact_page
tags: []
# Defines the structure of this component, as well as the default values
blueprint:
heading:
preheading:
title:
content:
align:
arrangement:
width:
size:
contact:
caption-url:
illustration:
image:
icon:
ratio:
class:
anchor:
mode:
background:
backdrop:
color:
subtle:
links:
-
title:
url:
icon:
force:
align:
fluid:
padding:
order:
width:
theme:
cover:

View File

@@ -0,0 +1,43 @@
{{/*
Copyright © 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
*/}}
{{/* Initialize arguments */}}
{{ $args := partial "utilities/InitArgs.html" (dict "bookshop" "cta" "args" .) }}
{{ if or $args.err $args.warnmsg }}
{{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict
"partial" "component-library/components/cta/cta.hugo.html"
"warnid" "warn-invalid-arguments"
"msg" "Invalid arguments"
"details" ($args.errmsg | append $args.warnmsg)
"file" page.File
)}}
{{- end -}}
{{/* Main code */}}
{{ if not $args.error }}
{{ $links := slice }}
{{ if and (reflect.IsSlice .links) (gt (len .links) 0) }}
{{ $links = .links }}
{{ else }}
{{ with site.Params.modules.bookshop.cta.defaultURL }}
{{ $links = $links | append (dict "title" (T "contactAction") "url" . "icon" "fas chevron-right") }}
{{ end }}
{{ end }}
{{ partial "assets/contact.html" (dict
"page" page
"orientation" "horizontal"
"heading" $args.heading
"contact" $args.contact
"caption-url" $args.captionUrl
"illustration" $args.illustration
"class" "contact-img"
"links" $links
"align" $args.align
"order" $args.order
"data" site.Params.modules.bookshop.cta.section
) }}
{{ end }}

View File

@@ -0,0 +1,12 @@
.cta {
background-color: var(--#{$prefix}primary-bg-subtle);
}
.cta, .background-img-fluid {
border-radius: #{$theme-border-radius} if($enable-important-utilities, !important, null);
}
.cta .contact-img {
background-color: var(--#{$prefix}body-bg);
border-radius: var(--bs-border-radius);
}

View File

@@ -17,6 +17,8 @@ blueprint:
width: width:
size: size:
contrast: contrast:
width:
justify:
background: background:
backdrop: backdrop:
color: color:
@@ -24,3 +26,5 @@ blueprint:
items: items:
- title: - title:
description: description:
theme:
cover:

View File

@@ -16,20 +16,24 @@
)}} )}}
{{ end }} {{ end }}
{{/* Initialize global arguments */}}
{{- $padding := partial "utilities/GetPadding.html" -}}
{{/* Main code */}}
{{ if not $args.err }} {{ if not $args.err }}
<div class="container-xxl p-4 px-xxl-0">
{{ $color := "" }} {{ $color := "" }}
{{ if $args.contrast }}{{ $color = "white" }}{{ end }} {{ if $args.contrast }}{{ $color = "white" }}{{ end }}
{{- partial "assets/section-title.html" (dict {{- partial "assets/section-title.html" (dict
"heading" $args.heading "heading" $args.heading
"color" $color "justify" $args.justify
"class" "py-5" "class" (printf "pb-%d" $padding.y))
) -}} -}}
{{ $class := "" }} {{ $class := "" }}
{{ $id := printf "faq-%s" (md5 (delimit (slice . now) "-")) }} {{ $id := printf "faq-%s" (md5 (delimit (slice . now) "-")) }}
<div id="{{ $id }}" class="accordion accordion-faq {{ if $args.contrast }}accordion-faq-contrast text-white {{ end }}accordion-flush mb-3{{ with $class }} {{ . }}{{ end }} col-12 col-md-6 mx-auto"> <div id="{{ $id }}" class="accordion accordion-faq {{ if $args.contrast }}accordion-faq-contrast text-white {{ end -}}
accordion-flush{{ with $class }} {{ . }}{{ end }} col-12 col-md-6 mx-auto">
{{ range $index, $item := $args.items }} {{ range $index, $item := $args.items }}
<div class="accordion-item"> <div class="accordion-item">
{{- with $item.title -}} {{- with $item.title -}}
@@ -55,5 +59,4 @@
</div> </div>
{{ end }} {{ end }}
</div> </div>
</div>
{{ end }} {{ end }}

View File

@@ -35,6 +35,8 @@ blueprint:
align: align:
order: order:
overlay-mode: overlay-mode:
theme:
cover: cover:
orientation: orientation:
width: width:
justify:

View File

@@ -18,6 +18,7 @@
{{ if not $args.err }} {{ if not $args.err }}
{{ partial "assets/hero.html" (dict {{ partial "assets/hero.html" (dict
"page" page
"breadcrumb" $args.breadcrumb "breadcrumb" $args.breadcrumb
"heading" $args.heading "heading" $args.heading
"background" $args.background "background" $args.background
@@ -30,6 +31,7 @@
"links" $args.links "links" $args.links
"orientation" $args.orientation "orientation" $args.orientation
"width" $args.width "width" $args.width
"justify" $args.justify
) )
}} }}
{{ end }} {{ end }}

View File

@@ -0,0 +1,37 @@
# Metadata about this component, to be used in the CMS
spec:
structures:
- content_blocks
label: Panels
description: Introduction section
icon: check
tags: []
# Defines the structure of this component, as well as the default values
blueprint:
heading:
preheading:
heading:
content:
align:
width:
cols:
padding:
background:
backdrop:
color:
subtle:
elements:
- title:
icon:
image:
mode:
content:
tab-type:
ratio:
responsive:
class:
width:
justify:
theme:
cover:

View File

@@ -0,0 +1,88 @@
{{/*
Copyright © 2025 The Hinode Team / Mark Dumay. All rights reserved.
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
Visit gethinode.com/license for more details.
*/}}
{{ $error := false }}
{{/* Initialize arguments */}}
{{ $args := partial "utilities/InitArgs.html" (dict "bookshop" "panels" "args" .)}}
{{ if or $args.err $args.warnmsg }}
{{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict
"partial" "component-library/components/panels/panels.hugo.html"
"warnid" "warn-invalid-arguments"
"msg" "Invalid arguments"
"details" ($args.errmsg | append $args.warnmsg)
"file" page.File
)}}
{{ $error = $args.err }}
{{ end }}
{{/* Initialize global arguments */}}
{{- $breakpoint := partial "utilities/GetBreakpoint.html" -}}
{{- $padding := partial "utilities/GetPadding.html" -}}
{{/* Initialize local variables */}}
{{ $list := slice }}
{{ $titles := slice }}
{{ $toc := slice }}
{{ $parentID := printf "panel-%v" (cond (isset . "_ordinal") (index . "_ordinal") (md5 (delimit (slice . now) "-"))) }}
{{ $inner := "" }}
{{ range $i, $element := $args.elements }}
{{ $toc = $toc | append (dict "href" "panel-0-1" "level" 2 "title" $element.title) }}
{{ $hero := partial "assets/hero.html" (dict
"page" page
"heading" (dict "content" $element.content "width" 8)
"background" $args.background
"illustration" (dict "ratio" $args.ratio "icon" $element.icon "image" $element.image "mode" $element.mode)
"order" $args.order
"link-type" $args.linkType
"links" $args.links
"orientation" "horizontal"
"align" "start"
"width" 12
"content-style" "fs-6"
)
}}
{{- $output := partial "assets/nav-item.html" (dict
"page" page
"id" $i
"parent-id" $parentID
"fade" false
"title" $element.title
"show" (eq $i 0)
"raw" $hero
)
-}}
{{ $inner = printf "%s\n%s" $inner $output }}
{{ $titles = $titles | append $element.title }}
{{ end}}
{{/* Main code */}}
{{ if not $error }}
{{- partial "assets/section-title.html" (dict
"heading" $args.heading
"justify" $args.justify
"class" (printf "pb-%d" $padding.y))
-}}
{{- partial "assets/nav.html" (dict
"id" (or $args.id $parentID)
"page" page
"nav-items" $inner
"nav-titles" $titles
"tab-type" $args.tabType
"vertical" $args.vertical
"word-wrap" $args.wordWrap
"class" $args.class
"pane" $args.pane
"width" $args.width
"responsive" $args.responsive
)
-}}
{{ end }}

View File

@@ -0,0 +1,13 @@
.panels .dropdown-toggle {
text-decoration: none !important;
}
.panels .nav-tabs {
border-top-left-radius: #{$theme-border-radius};
border-top-right-radius: #{$theme-border-radius};
margin-left: #{$theme-border-radius};
}
.panels .tab-content {
border-radius: #{$theme-border-radius};
}

View File

@@ -21,4 +21,8 @@ blueprint:
backdrop: backdrop:
color: color:
subtle: subtle:
width:
justify:
data: data:
theme:
cover:

View File

@@ -6,3 +6,5 @@ spec:
description: Inserts a horizontal page section separator description: Inserts a horizontal page section separator
icon: horizontal_rule icon: horizontal_rule
tags: [] tags: []
blueprint:

View File

@@ -4,7 +4,7 @@
Visit gethinode.com/license for more details. Visit gethinode.com/license for more details.
*/}} */}}
{{ $args := partial "utilities/InitArgs.html" (dict "structure" "separator" "args" .) }} {{ $args := partial "utilities/InitArgs.html" (dict "bookshop" "separator" "args" .) }}
{{ if or $args.err $args.warnmsg }} {{ if or $args.err $args.warnmsg }}
{{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict {{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict
"partial" "component-library/components/separator/separator.hugo.html" "partial" "component-library/components/separator/separator.hugo.html"
@@ -16,5 +16,5 @@
{{ end }} {{ end }}
{{ if not $args.err }} {{ if not $args.err }}
<div class="container-xxl p-0"{{ with $args.theme }} data-bs-theme="{{ . }}"{{ end }}><hr></div> <hr class="w-100">
{{ end }} {{ end }}

View File

@@ -24,12 +24,14 @@ blueprint:
link-type: link-type:
orientation: orientation:
icon-rounded: icon-rounded:
icon-style:
video: video:
provider: provider:
account: account:
media-id: media-id:
autoplay: autoplay:
query-args: query-args:
color:
cols: cols:
messages: messages:
- title: - title:
@@ -39,6 +41,9 @@ blueprint:
label: label:
border: border:
width: width:
justify:
theme:
cover:
_structures: _structures:
messages: messages:

View File

@@ -16,7 +16,9 @@
)}} )}}
{{ end }} {{ end }}
{{/* Initialize global variables */}}
{{- $breakpoint := partial "utilities/GetBreakpoint.html" -}} {{- $breakpoint := partial "utilities/GetBreakpoint.html" -}}
{{- $padding := partial "utilities/GetPadding.html" -}}
{{- define "_partials/inline/video.html" -}} {{- define "_partials/inline/video.html" -}}
{{ $provider := .provider }} {{ $provider := .provider }}
@@ -25,12 +27,17 @@
{{ $autoplay := .autoplay }} {{ $autoplay := .autoplay }}
{{ $queryArgs := .queryArgs }} {{ $queryArgs := .queryArgs }}
{{ $border := .border }} {{ $border := .border }}
{{ $padding := .padding }}
{{ $color := .color }}
{{ if site.Params.env_bookshop_live }} {{ if site.Params.env_bookshop_live }}
{{/* Define dummy content as we cannot retrieve video data in live mode */}} {{/* Define dummy content as we cannot retrieve video data in live mode */}}
{{- partial "assets/live-image.html" (dict "src" "/img/placeholder-video.svg" "ratio" "21x9" "wrapper" "text-center mb-4") -}} {{- partial "assets/live-image.html" (dict
"src" "/img/placeholder-video.svg"
"ratio" "21x9"
"wrapper" (printf "text-center mb-%d" $padding.y)) -}}
{{ else }} {{ else }}
<div class="video-container{{ if $border }} video-container-border{{ end}}"> <div class="video-container{{ if $border }} video-container-border{{ end}} {{ with $color }}bg-{{ . }}{{ end }}">
{{ partial "assets/video.html" (dict {{ partial "assets/video.html" (dict
"page" page "page" page
"provider" $provider "provider" $provider
@@ -54,6 +61,7 @@
{{ $cols := .cols }} {{ $cols := .cols }}
{{ $type := .type }} {{ $type := .type }}
{{ $iconRounded := .iconRounded }} {{ $iconRounded := .iconRounded }}
{{ $iconStyle := .iconStyle }}
{{- partial "assets/card-group.html" (dict {{- partial "assets/card-group.html" (dict
"page" page "page" page
@@ -70,10 +78,12 @@
"button" true "button" true
"link-type" $type "link-type" $type
"icon-rounded" $iconRounded "icon-rounded" $iconRounded
"icon-style" $iconStyle
) -}} ) -}}
{{ end }} {{ end }}
<div class="container-xxl p-4 px-xxl-0"> {{/* Main code */}}
{{ if not $args.err }}
{{ $list := slice }} {{ $list := slice }}
{{ range $args.messages }} {{ range $args.messages }}
@@ -93,8 +103,9 @@
{{- partial "assets/section-title.html" (dict {{- partial "assets/section-title.html" (dict
"heading" $args.heading "heading" $args.heading
"class" "py-5" "justify" $args.justify
) -}} "class" (printf "pb-%d" $padding.y))
-}}
{{ if eq $args.orientation "stacked" }} {{ if eq $args.orientation "stacked" }}
<div class="col-{{ $breakpoint.current }}-{{ $args.width }} mx-auto"> <div class="col-{{ $breakpoint.current }}-{{ $args.width }} mx-auto">
@@ -106,14 +117,22 @@
"autoplay" .autoplay "autoplay" .autoplay
"query-args" .queryArgs "query-args" .queryArgs
"border" $.border "border" $.border
"padding" $padding
"color" .color
) -}} ) -}}
{{ end }} {{ end }}
</div> </div>
<div class="mt-4"> <div class="mt-{{ $padding.y }} w-100">
{{- partial "inline/messages.html" (dict "list" $list "cols" $args.cols "type" $args.type "iconRounded" $args.iconRounded) -}} {{- partial "inline/messages.html" (dict
"list" $list
"cols" $args.cols
"type" $args.type
"iconRounded" $args.iconRounded
"iconStyle" $args.iconStyle
) -}}
</div> </div>
{{ else }} {{ else }}
<div class="container grid gap-4"> <div class="container grid gap-{{ $padding.x }}">
<div class="row row-cols-1 row-cols-{{ $breakpoint.current }}-2"> <div class="row row-cols-1 row-cols-{{ $breakpoint.current }}-2">
<div class="col col-{{ $breakpoint.current }}-{{ $args.width }} p-0"> <div class="col col-{{ $breakpoint.current }}-{{ $args.width }} p-0">
{{ with $args.video }} {{ with $args.video }}
@@ -124,13 +143,21 @@
"autoplay" .autoplay "autoplay" .autoplay
"query-args" .queryArgs "query-args" .queryArgs
"border" $.border "border" $.border
"padding" $padding
"color" .color
) -}} ) -}}
{{ end }} {{ end }}
</div> </div>
<div class="col col-{{ $breakpoint.current }}-{{ sub 12 $args.width }} mt-4 mt-{{ $breakpoint.current }}-0"> <div class="col col-{{ $breakpoint.current }}-{{ sub 12 $args.width }} mt-{{ $padding.y }} mt-{{ $breakpoint.current }}-0">
{{- partial "inline/messages.html" (dict "list" $list "cols" 1 "type" $args.type "iconRounded" $args.iconRounded) -}} {{- partial "inline/messages.html" (dict
"list" $list
"cols" 1
"type" $args.type
"iconRounded" $args.iconRounded
"iconStyle" $args.iconStyle
) -}}
</div> </div>
</div> </div>
</div> </div>
{{ end }} {{ end }}
</div> {{ end }}

View File

@@ -2,6 +2,7 @@
--bs-video-border-color: var(--bs-primary); --bs-video-border-color: var(--bs-primary);
--bs-video-border-width: 1rem; --bs-video-border-width: 1rem;
border-radius: $theme-border-radius;
position: relative; position: relative;
} }

View File

@@ -15,7 +15,8 @@
{{- $component_props := index . 1 -}} {{- $component_props := index . 1 -}}
{{- $class := index . 2 | default "p-0" -}} {{- $class := index . 2 | default "p-0" -}}
{{- $bgclass := index . 3 | default "" -}} {{- $bgclass := index . 3 | default "" -}}
{{- $padding := partial "utilities/GetPadding.html" -}}
{{- with index $component_props "padding" }}{{ $padding = dict "x" . "y" . }}{{ end -}}
{{- $component_path := partial "_bookshop/helpers/component_key" $component_name -}} {{- $component_path := partial "_bookshop/helpers/component_key" $component_name -}}
{{- $flat_component_path := partial "_bookshop/helpers/flat_component_key" $component_name -}} {{- $flat_component_path := partial "_bookshop/helpers/flat_component_key" $component_name -}}
@@ -26,27 +27,49 @@
{{- $resolved_component = $flat_component_path -}} {{- $resolved_component = $flat_component_path -}}
{{- end -}} {{- end -}}
<!-- TODO: use initialized component args instead of component_props -->
{{ $error := false }}
{{ $args := dict }}
{{- if $resolved_component -}} {{- if $resolved_component -}}
{{ $args = partial "utilities/InitArgs.html" (dict "bookshop" $component_name "args" $component_props) }}
{{ if or $args.err $args.warnmsg }}
{{ partial (cond $args.err "utilities/LogErr.html" "utilities/LogWarn.html") (dict
"partial" $resolved_component
"warnid" "warn-invalid-arguments"
"msg" "Invalid arguments"
"details" ($args.errmsg | append $args.warnmsg)
"file" page.File
)}}
{{ end }}
{{ end }}
{{ if and $resolved_component (not $args.err) }}
{{- $id := index $component_props "id" -}} {{- $id := index $component_props "id" -}}
{{- $cover := index $component_props "cover" -}} {{- $cover := index $component_props "cover" -}}
{{- $background := index $component_props "background" -}} {{- $background := index $component_props "background" -}}
{{- $backdrop := "" -}} {{- $backdrop := "" -}}
{{- $style := index $component_props "wrapper" -}} {{- $fluid := index $component_props "fluid" | default true -}}
{{- $wrapper := $style }} {{- $wrapper := index $component_props "wrapper" -}}
{{- $width := index $component_props "width" -}}
{{- $justify := index $component_props "justify" | default "start" -}}
{{- $paddingOuter := cond (ne $component_name "separator") (printf "px-xxl-0 px-%d py-0" $padding.x) "" -}}
{{- $padding := cond (ne $component_name "separator") (printf "px-%d %spy-%d" $padding.x (cond $fluid "px-xxl-0 " "") $padding.y) "" -}}
{{ with $background }} {{ with $background }}
{{ $wrapper = partial "utilities/GetBackgroundStyle.html" (dict "background" . "class" $style) }} {{ $wrapper = partial "utilities/GetBackgroundStyle.html" (dict "background" . "class" $wrapper) }}
{{ if reflect.IsMap $background }} {{ if reflect.IsMap $background }}
{{ with $background.backdrop }}{{ $wrapper = "" }}{{ $backdrop = . }}{{ end }} {{ with $background.backdrop }}{{ $wrapper = "" }}{{ $backdrop = . }}{{ end }}
{{ end }} {{ end }}
{{ end }} {{ end }}
{{/* warnf "wrapper: '%s'" $wrapper */}}
{{- $theme := index $component_props "theme" -}} {{- $theme := index $component_props "theme" -}}
{{- $overlayMode := (or (index $component_props "overlay-mode") page.Params.overlayMode) | default "dark" -}} {{- $overlayMode := (or (index $component_props "overlay-mode") page.Params.overlayMode) | default "dark" -}}
{{ if not $backdrop }}{{ $overlayMode = page.Params.overlayMode }}{{ end }} {{ if not $backdrop }}{{ $overlayMode = page.Params.overlayMode }}{{ end }}
{{ if eq $overlayMode "none" }}{{ $overlayMode = "" }}{{ end }} {{ if eq $overlayMode "none" }}{{ $overlayMode = "" }}{{ end }}
{{ (printf "<!--bookshop-live name(%s)-->" $component_name) | safeHTML }} {{ (printf "<!--bookshop-live name(%s)-->" $component_name) | safeHTML }}
<section {{ with $id }}id="{{ . }}" {{ end }}class="{{ $component_name }} container-fluid {{ $class }} {{ with $wrapper }}{{ . }}{{ end -}} {{ if not $fluid }}<div class="container-xxl {{ $paddingOuter }}">{{ end }}
<section {{ with $id }}id="{{ . }}" {{ end }}class="{{ $component_name }}
container-fluid {{ $class }}
{{ with $wrapper }}{{ . }}{{ end -}}
{{- if and $backdrop $overlayMode }} background-container{{ end -}} {{- if and $backdrop $overlayMode }} background-container{{ end -}}
{{- if $cover }} section-cover d-flex align-items-center{{ end }}" {{- if $cover }} section-cover d-flex align-items-center{{ end }}"
{{ with $overlayMode -}} {{ with $overlayMode -}}
@@ -57,12 +80,29 @@
{{- end -}} {{- end -}}
> >
{{- if $backdrop -}} {{- if $backdrop -}}
{{ partial "assets/live-image.html" (dict "src" $backdrop "class" (printf "background-img-fluid %s" $bgclass) "title" (T "backgroundImage")) }} {{ partial "assets/live-image.html" (dict
"src" $backdrop
"class" (printf "background-img-fluid %s" $bgclass)
"title" (T "backgroundImage"))
}}
{{- end -}} {{- end -}}
{{ $col := cond (and $width (lt $width 12)) (printf "col-12 col-md-%d" $width) "" }}
{{ if $args.passthrough }}
{{ partial $resolved_component $component_props }} {{ partial $resolved_component $component_props }}
{{ else }}
<div class="container-{{ cond $fluid "xxl" "fluid" }} {{ $padding }} d-flex flex-column align-items-{{ $justify }}">
{{ with $col }}
<div class="{{ . }}">{{ partial $resolved_component $component_props }}</div>
{{ else }}
{{ partial $resolved_component $component_props }}
{{ end}}
</div>
{{ end }}
</section> </section>
{{ if not $fluid }}</div>{{ end }}
{{ "<!--bookshop-live end-->" | safeHTML }} {{ "<!--bookshop-live end-->" | safeHTML }}
{{- else -}} {{- else if (not $args.err) -}}
{{- $file_loc := slicestr $component_path 9 -}} {{- $file_loc := slicestr $component_path 9 -}}
{{- $flat_file_loc := slicestr $flat_component_path 9 -}} {{- $flat_file_loc := slicestr $flat_component_path 9 -}}
{{- partial "_bookshop/errors/err" (printf "Component \"%s\" does not exist.\n Create this component by placing a file in your bookshop at %s or %s" $component_name $file_loc $flat_file_loc) -}} {{- partial "_bookshop/errors/err" (printf "Component \"%s\" does not exist.\n Create this component by placing a file in your bookshop at %s or %s" $component_name $file_loc $flat_file_loc) -}}

View File

@@ -116,7 +116,7 @@ home = ["HTML", "RSS", "REDIR", "netlify", "server"]
[module] [module]
[module.hugoVersion] [module.hugoVersion]
extended = true extended = true
min = "0.141.0" min = "0.146.0"
[[module.mounts]] [[module.mounts]]
source = "archetypes" source = "archetypes"
target = "archetypes" target = "archetypes"
@@ -176,7 +176,7 @@ home = ["HTML", "RSS", "REDIR", "netlify", "server"]
[[module.imports]] [[module.imports]]
path = "github.com/gethinode/mod-csp" path = "github.com/gethinode/mod-csp"
[[module.imports]] [[module.imports]]
path = "github.com/gethinode/mod-flexsearch/v2" path = "github.com/gethinode/mod-flexsearch/v3"
[[module.imports]] [[module.imports]]
path = "github.com/gethinode/mod-fontawesome/v2" path = "github.com/gethinode/mod-fontawesome/v2"
[[module.imports]] [[module.imports]]
@@ -188,11 +188,11 @@ home = ["HTML", "RSS", "REDIR", "netlify", "server"]
[[module.imports]] [[module.imports]]
path = "github.com/gethinode/mod-lottie" path = "github.com/gethinode/mod-lottie"
[[module.imports]] [[module.imports]]
path = "github.com/gethinode/mod-mermaid" path = "github.com/gethinode/mod-mermaid/v3"
[[module.imports]] [[module.imports]]
path = "github.com/gethinode/mod-simple-datatables" path = "github.com/gethinode/mod-simple-datatables/v2"
[[module.imports]] [[module.imports]]
path = "github.com/gethinode/mod-utils/v3" path = "github.com/gethinode/mod-utils/v4"
# toml-docs-end modules # toml-docs-end modules
# toml-docs-start segments # toml-docs-start segments

View File

@@ -2,15 +2,16 @@
[main] [main]
separator = "-" separator = "-"
description = "Hinode is a clean documentation and blog theme for your Hugo site based on Bootstrap 5." description = "Hinode is a clean documentation and blog theme for your Hugo site based on Bootstrap 5."
enableDarkMode = true
enableLanguageSelectionStorage = false enableLanguageSelectionStorage = false
modes = ["light", "dark"]
canonifyAssetsURLs = false canonifyAssetsURLs = false
endorse = true endorse = true
footerBelowFold = false footerBelowFold = false
loading = "lazy" loading = "lazy"
breakpoint = "md" breakpoint = "md"
titleCase = false titleCase = false
[main.padding]
x = 4
y = 4
[main.internalLinks] [main.internalLinks]
validate = true validate = true
pretty = false pretty = false
@@ -19,6 +20,12 @@
tab = false tab = false
[main.build] [main.build]
transpiler = "libsass" transpiler = "libsass"
[main.colorMode]
enabled = true
modes = ["light", "dark"]
toggle = false
iconLight = "fas sun"
iconDark = "fas moon"
# toml-docs-end main # toml-docs-end main
# toml-docs-start images # toml-docs-start images
@@ -81,18 +88,31 @@
[navigation] [navigation]
anchor = true anchor = true
logo = "/img/logo_icon.svg" logo = "/img/logo_icon.svg"
logo-mode = false
logo-align = "center"
logo-height = 30
color = "body" color = "body"
fixed = true fixed = true
overlay = false overlay = false
overlayMode = "dark" overlayMode = "dark"
horizontal = false horizontal = false
offset = "5.5rem" offset = "5.5rem"
search = true
searchModal = false
breadcrumb = true breadcrumb = true
toc = true toc = true
sidebar = true sidebar = true
size = "md" size = "md"
startLevel = 2
endLevel = 3
maxNumHeadings = 9
[navigation.padding]
x = 4
y = 4
[navigation.language]
icon = "fas globe"
[navigation.search]
enabled = true
modal = true
icon = "fas magnifying-glass"
# toml-docs-end navigation # toml-docs-end navigation
# toml-docs-start messages # toml-docs-start messages

View File

@@ -27,10 +27,11 @@ const purgecss = purgeCSSPlugin({
'./assets/scss/theme/fonts.scss', './assets/scss/theme/fonts.scss',
'./assets/scss/theme/theme.scss', './assets/scss/theme/theme.scss',
'./_vendor/github.com/gethinode/mod-cookieyes/v2/assets/scss/cookieyes.scss', './_vendor/github.com/gethinode/mod-cookieyes/v2/assets/scss/cookieyes.scss',
'./_vendor/github.com/gethinode/mod-flexsearch/v2/assets/scss/modules/flexsearch/flexsearch.scss', './_vendor/github.com/gethinode/mod-flexsearch/v3/assets/scss/modules/flexsearch/flexsearch.scss',
'./_vendor/github.com/gethinode/mod-katex/dist/katex.scss', './_vendor/github.com/gethinode/mod-katex/dist/katex.scss',
'./_vendor/github.com/gethinode/mod-leaflet/dist/leaflet.scss', './_vendor/github.com/gethinode/mod-leaflet/dist/leaflet.scss',
'./_vendor/github.com/gethinode/mod-simple-datatables/dist/simple-datatables.scss', './_vendor/github.com/gethinode/mod-mermaid/v3/assets/scss/mermaid.scss',
'./_vendor/github.com/gethinode/mod-simple-datatables/v2/dist/simple-datatables.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_carousel.scss', './_vendor/github.com/twbs/bootstrap/scss/_carousel.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_dropdown.scss', './_vendor/github.com/twbs/bootstrap/scss/_dropdown.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_modal.scss', './_vendor/github.com/twbs/bootstrap/scss/_modal.scss',

View File

@@ -7,7 +7,7 @@ content_blocks:
title: Welcome to Hinode! title: Welcome to Hinode!
content: |- content: |-
A clean documentation and blog theme for your Hugo site based on Bootstrap 5. A clean documentation and blog theme for your Hugo site based on Bootstrap 5.
align: start width: 6
background: background:
color: primary color: primary
subtle: true subtle: true
@@ -15,10 +15,10 @@ content_blocks:
image: /img/sunrise.jpg image: /img/sunrise.jpg
ratio: 16x9 ratio: 16x9
width: 8 width: 8
width: 6
links: links:
- title: Get started - title: Getting started
url: https://gethinode.com/docs url: https://gethinode.com/docs
icon: fas book-open icon: fas chevron-right
orientation: horizontal orientation: horizontal
justify: center
--- ---

View File

@@ -0,0 +1,8 @@
---
title: Modal elements
cascade:
- build:
list: local
publishResources: false
render: never
---

View File

@@ -4,12 +4,12 @@
command = "npm run build:example" command = "npm run build:example"
[build.environment] [build.environment]
DART_SASS_VERSION = "1.83.1" DART_SASS_VERSION = "1.89.2"
HUGO_VERSION = "0.140.2" HUGO_VERSION = "0.147.9"
HUGO_ENV = "production" HUGO_ENV = "production"
HUGO_ENABLEGITINFO = "true" HUGO_ENABLEGITINFO = "true"
NODE_VERSION = "22.12.0" NODE_VERSION = "22.13.0"
NPM_VERSION = "10.9.0" NPM_VERSION = "10.9.2"
# toml-docs-end netlify # toml-docs-end netlify
[context.deploy-preview] [context.deploy-preview]

File diff suppressed because it is too large Load Diff

View File

@@ -1,59 +0,0 @@
types:
background:
backdrop:
color:
subtle:
heading:
preheading:
title:
content:
align:
arrangement:
width:
size:
illustration:
image:
icon:
ratio:
class:
anchor:
mode:
width:
image-overlay:
hook:
input:
section:
nested:
keywords:
categories:
tags:
reverse:
sort:
items:
- title:
description:
links:
- title:
url:
icon:
force:
messages:
- title:
icon:
content:
link:
label:
more:
title:
link:
styles:
- ratio:
orientation:
portrait:
width:
video:
provider:
account:
id:
autoplay:
query-args:

View File

@@ -12,6 +12,7 @@ arguments:
class: class:
color: color:
padding: padding:
default: 3
gutter: gutter:
release: v0.19.0 release: v0.19.0
header-style: header-style:
@@ -22,7 +23,8 @@ arguments:
release: 1.0.0 release: 1.0.0
list: list:
cards: cards:
max: limit:
release: v1.0.0
cols: cols:
release: v0.19.0 release: v0.19.0
paginate: paginate:
@@ -42,6 +44,7 @@ arguments:
icon-rounded: icon-rounded:
release: v1.0.0 release: v1.0.0
align: align:
default: start
wrapper: wrapper:
default: p-0 default: p-0
responsive: responsive:
@@ -158,3 +161,12 @@ arguments:
group: partial group: partial
deprecated: v1.0.0 deprecated: v1.0.0
alternative: href-title alternative: href-title
max:
type: int
optional: true
comment: Maximum number of elements to display.
group: partial
options:
min: 1
deprecated: v1.0.0
alternative: limit

View File

@@ -15,6 +15,7 @@ arguments:
parent: cascade parent: cascade
padding: padding:
parent: cascade parent: cascade
default: 3
gutter: gutter:
default: 0 default: 0
parent: cascade parent: cascade
@@ -45,6 +46,7 @@ arguments:
icon-rounded: icon-rounded:
release: v1.0.0 release: v1.0.0
align: align:
default: start
parent: cascade parent: cascade
release: v0.23.0 release: v0.23.0
scroll: scroll:
@@ -71,6 +73,8 @@ arguments:
group: partial group: partial
anchor: anchor:
release: v0.24.23 release: v0.24.23
links:
release: v1.14.0
# deprecated arguments # deprecated arguments
header: header:
type: select type: select

View File

@@ -0,0 +1,36 @@
comment: >-
Displays a contact banner, typically placed at the bottom or right-hand side of the page.
arguments:
page:
data:
heading:
contact:
type: string
optional: false
comment: >-
The full name of the contact to retrieve.
caption-url:
type:
- string
- template.URL
optional: true
comment: >-
Address of the contact's page, either a local reference or an external
address. Include the `scheme` when referencing an external address, such
as `https://google.com`. Local references may include an optional anchor
link such as `blog/bootstrap-elements/#docs`.
illustration:
background:
link-type:
links:
align:
order:
default: first
orientation:
width:
justify:
class:
width:
default: 12
hook:
default: assets/hero-image.html

View File

@@ -11,8 +11,8 @@ arguments:
full: full:
id: id:
class: class:
options: highlight-options:
release: v0.27.6 release: v1.0.0
# deprecated arguments # deprecated arguments
path: path:
type: string type: string
@@ -22,3 +22,11 @@ arguments:
the path of the repository is used as base path instead. the path of the repository is used as base path instead.
deprecated: v1.0.0 deprecated: v1.0.0
alternative: file alternative: file
options:
type: string
optional: true
comment: >-
Hugo highlighting options, see https://gohugo.io/shortcodes/highlight/#options-1.
release: v0.27.6
deprecated: v1.0.0
alternative: highlight-options

View File

@@ -2,3 +2,17 @@ comment: >-
Initializes images dimensions (widht x height for supported image ratios. Initializes images dimensions (widht x height for supported image ratios.
arguments: arguments:
ratio: ratio:
type: select
optional: true
comment: >-
Ratio of the media asset. When the asset is an image, it is resized and
cropped (not applicable to vector graphics). For video assets, the padding
of the embedded frame is adjusted.
options:
values:
- 1x1
- 3x2
- 4x3
- 16x9
- 21x9
- auto

View File

@@ -11,3 +11,4 @@ arguments:
wrapper: wrapper:
class: class:
image-overlay: image-overlay:
justify:

View File

@@ -3,6 +3,7 @@ comment: >-
supports a heading, featured illustration, and navigation links. You can supports a heading, featured illustration, and navigation links. You can
can also add a background image with an overlay to improve contrast. can also add a background image with an overlay to improve contrast.
arguments: arguments:
page:
breadcrumb: breadcrumb:
heading: heading:
background: background:
@@ -15,8 +16,10 @@ arguments:
cover: cover:
orientation: orientation:
width: width:
justify:
use-section: use-section:
use-title: use-title:
size:
class: class:
padding: padding:
default: px-4 px-xxl-0 py-4 default: px-4 px-xxl-0 py-4
@@ -25,3 +28,5 @@ arguments:
theme: theme:
hook: hook:
default: assets/hero-image.html default: assets/hero-image.html
heading-style:
content-style:

View File

@@ -4,6 +4,8 @@ arguments:
mode: mode:
ratio: ratio:
portrait: portrait:
image-height:
image-width:
loading: loading:
priority: priority:
sizes: sizes:

View File

@@ -44,6 +44,10 @@ arguments:
release: v0.24.0 release: v0.24.0
anchor: anchor:
release: v0.24.22 release: v0.24.22
image-height:
release: v1.0.0
image-width:
release: v1.0.0
# deprecated arguments # deprecated arguments
url: url:
type: type:

View File

@@ -15,6 +15,9 @@ arguments:
class: class:
body: body:
group: partial group: partial
raw:
group: partial
release: v1.3.0
navitem-type: navitem-type:
release: v1.0.0 release: v1.0.0
illustration: illustration:

View File

@@ -7,8 +7,12 @@ arguments:
group: partial group: partial
list: list:
group: partial group: partial
nav-disabled:
release: v1.0.0
nav-items: nav-items:
release: v1.0.0 release: v1.0.0
nav-show:
release: v1.0.0
nav-titles: nav-titles:
release: v1.0.0 release: v1.0.0
tab-type: tab-type:
@@ -18,6 +22,8 @@ arguments:
release: v1.0.0 release: v1.0.0
class: class:
pane: pane:
responsive:
release: v1.4.0
width: width:
default: 12 default: 12
group: partial group: partial

View File

@@ -9,7 +9,9 @@ arguments:
comment: Context of the current page. comment: Context of the current page.
group: partial group: partial
menu: menu:
type: '*navigation.MenuEntry' type:
- '*navigation.MenuEntry'
- 'map[string]interface {}'
optional: false optional: false
comment: Menu data to use for the navbar item. comment: Menu data to use for the navbar item.
parent: parent:
@@ -37,3 +39,24 @@ arguments:
optional: true optional: true
comment: >- comment: >-
Renders the navigation item as plain item, ignoring any children. Renders the navigation item as plain item, ignoring any children.
breakpoint:
release: v1.2.0
modal:
type: string
optional: true
release: v1.2.0
comment: >-
If set, toggles a modal control for the provided target.
id:
type: string
optional: true
release: v1.2.0
comment: >-
If set, adds an id attribute to the menu item.
fs:
type: int
optional: true
default: 6
release: v1.2.0
comment: >-
Sets the font size of the navigation items when the navbar is collapsed.

View File

@@ -79,6 +79,25 @@ arguments:
comment: >- comment: >-
Address of the logo image, defaults to the parameter `logo` set in the Address of the logo image, defaults to the parameter `logo` set in the
`main` section of the site's parameter configuration. `main` section of the site's parameter configuration.
logo-align:
type: select
optional: true
default: center
comment: Alignment of the logo when the navbar is in collapsed mode.
options:
values:
- start
- center
release: v1.15.0
logo-mode:
type: bool
default: false
optional: true
comment: >-
Flag indicating if the logo should support color modes. If set, the
navbar searches for images having a matching color-mode suffix
such as `-light` or `-dark`.
release: v1.15.0
# deprecated arguments # deprecated arguments
size: size:
type: select type: select

View File

@@ -1,6 +1,6 @@
comment: >- comment: >-
Includes a reference to a local or external JavaScript file. Hinode uses the Includes a reference to a local or external JavaScript file. Hinode uses the
template defined in `layouts/partials/templates/script.html` to generate the template defined in `layouts/_partials/templates/script.html` to generate the
link to a (bundled) JavaScript file. It includes context such as the state, link to a (bundled) JavaScript file. It includes context such as the state,
category, and integrity. For example, you can adapt this template to implement category, and integrity. For example, you can adapt this template to implement
cookie consent management. cookie consent management.
@@ -44,3 +44,10 @@ arguments:
optional: true optional: true
comment: >- comment: >-
Cryptographic hash of the script to enable Subresource Integrity (SRI). Cryptographic hash of the script to enable Subresource Integrity (SRI).
script-type:
type: string
optional: true
release: v1.7.0
comment: >-
Type of the attribute of the script. Set the value to `module` to import
the script as a JavaScript module.

View File

@@ -3,124 +3,13 @@ arguments:
heading: heading:
links: links:
color: color:
type: select
comment: Text color of the section.
default: body default: body
optional: true
options:
values:
- body
- primary
- secondary
- black
- white
class: class:
type: string
optional: true
comment: Class attribute of the section title.
size: size:
type: int
optional: true
comment: Display size of the title.
options:
min: 1
max: 6
use-title: use-title:
type: bool
optional: true
default: false
comment: Sets the title to an HTML header instead of a div.
justify: justify:
type: select link-type:
comment: Justification of the link titles and icons. use-section:
optional: true
default: center
options:
values:
- start
- end
- center
- between
- around
- evenly
type:
type: select
optional: true
default: button
comment: Link type
options:
values:
- button
- link
section:
type: bool
optional: true
default: false
comment: >-
Trigger to use the current section as preheading, applies to single pages
only. Any preheading values takes precedence.
arrangement: arrangement:
headingStyle: heading-style:
type: select content-style:
optional: true
default: display
options:
values:
- display
- fs
comment: >-
Style of the heading, either display or fs (regular).
bodyStyle:
type: string
optional: true
default: lead text-muted
comment: >-
Style of the body text, if any..
# class:
# type: string
# optional: true
# comment: Class attribute of the illustration, e.g. "col-6".
# image:
# type: string
# optional: true
# comment: Image displayed on top of or adjacent to the headline.
# imageOverlay:
# type: bool
# optional: true
# default: false
# comment: Trigger to include an image overlay placeholder.
# ratio:
# type: select
# optional: true
# default: 16x9
# comment: >-
# Ratio of the illustration, uses original aspect ratio by default.
# options:
# values:
# - 1x1
# - 3x2
# - 4x3
# - 16x9
# - 21x9
# anchor:
# type: select
# optional: true
# comment:
# Anchor of the thumbnail's crop box, defaults to anchor value set in
# `imaging` section of the site configuration (usually `Smart`).
# options:
# values:
# - TopLeft
# - Top
# - TopRight
# - Left
# - Center
# - Right
# - BottomLeft
# - Bottom
# - BottomRight
# - Smart
# icon:
# type: string
# optional: true
# comment: Icon or animation displayed on top of or adjacent to the headline.

View File

@@ -1,20 +0,0 @@
comment: >-
Inserts a horizontal page section separator.
arguments:
_bookshop_name:
type: string
optional: true
comment: Unique name of the bookshop component
group: partial
page:
type:
- '*hugolib.pageState'
- '*hugolib.pageForShortcode'
optional: true
comment: Context of the current page.
group: partial
theme:
type: string
optional: true
comment: Color theme to apply.
release: v1.0.0-alpha

View File

@@ -9,3 +9,4 @@ arguments:
optional: false optional: false
background: background:
class: class:
justify:

View File

@@ -31,6 +31,11 @@ arguments:
deprecated: v1.0.0 deprecated: v1.0.0
alternative: media-id alternative: media-id
options: options:
type: string
optional: true
comment: >-
Optional query parameters to append to video asset's url. The query string
is prepended with a `?` symbol. Only applicable to Cloudinary.
release: v0.28.2 release: v0.28.2
deprecated: v1.0.0 deprecated: v1.0.0
alternative: query-args alternative: query-args

Binary file not shown.

After

Width:  |  Height:  |  Size: 665 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 MiB

View File

@@ -115,7 +115,7 @@ home = ["HTML", "RSS", "REDIR", "netlify", "server"]
[[module.imports]] [[module.imports]]
path = "github.com/gethinode/mod-csp" path = "github.com/gethinode/mod-csp"
[[module.imports]] [[module.imports]]
path = "github.com/gethinode/mod-flexsearch/v2" path = "github.com/gethinode/mod-flexsearch/v3"
[[module.imports]] [[module.imports]]
path = "github.com/gethinode/mod-fontawesome/v2" path = "github.com/gethinode/mod-fontawesome/v2"
[[module.imports]] [[module.imports]]
@@ -129,4 +129,4 @@ home = ["HTML", "RSS", "REDIR", "netlify", "server"]
[[module.imports]] [[module.imports]]
path = "github.com/gethinode/mod-simple-datatables" path = "github.com/gethinode/mod-simple-datatables"
[[module.imports]] [[module.imports]]
path = "github.com/gethinode/mod-utils/v3" path = "github.com/gethinode/mod-utils/v4"

View File

@@ -1,14 +1,15 @@
[main] [main]
separator = "-" separator = "-"
description = "Hinode is a clean documentation and blog theme for your Hugo site based on Bootstrap 5." description = "Hinode is a clean documentation and blog theme for your Hugo site based on Bootstrap 5."
enableDarkMode = true
enableLanguageSelectionStorage = true enableLanguageSelectionStorage = true
modes = ["light", "dark"]
canonifyAssetsURLs = false canonifyAssetsURLs = false
footerBelowFold = false footerBelowFold = false
loading = "lazy" loading = "lazy"
breakpoint = "md" breakpoint = "md"
titleCase = true titleCase = true
[main.padding]
x = 4
y = 4
[main.internalLinks] [main.internalLinks]
validate = true validate = true
pretty = true pretty = true
@@ -18,6 +19,12 @@
[main.build] [main.build]
transpiler = "dartsass" transpiler = "dartsass"
silenceDeprecations = true silenceDeprecations = true
[main.colorMode]
enabled = true
modes = ["light", "dark"]
toggle = true
iconLight = "fas sun"
iconDark = "fas moon"
[debugging] [debugging]
showJS = false showJS = false
@@ -34,6 +41,9 @@
[navigation] [navigation]
anchor = true anchor = true
logo = "/img/logo_icon.svg" logo = "/img/logo_icon.svg"
logo-mode = false
logo-align = "center"
logo-height = 30
color = "body" color = "body"
fixed = true fixed = true
overlay = false overlay = false
@@ -41,12 +51,23 @@
horizontal = false horizontal = false
offset = "5.5rem" offset = "5.5rem"
offsetXS = "5.5rem" offsetXS = "5.5rem"
search = true
searchModal = false
breadcrumb = true breadcrumb = true
toc = true toc = true
sidebar = true sidebar = true
size = "md" size = "md"
fontsizeCollapsed = 6
startLevel = 2
endLevel = 3
maxNumHeadings = 9
[navigation.language]
icon = "fas globe"
[navigation.padding]
x = 4
y = 4
[navigation.search]
enabled = true
modal = false
icon = "fas magnifying-glass"
[messages] [messages]
placement = "bottom-right" placement = "bottom-right"
@@ -122,8 +143,7 @@
# themeFontPath = "https://fonts.googleapis.com/css2?family=Inter:wght@200;300;600&display=swap" # external path # themeFontPath = "https://fonts.googleapis.com/css2?family=Inter:wght@200;300;600&display=swap" # external path
themeFontPath = "/fonts" # local path themeFontPath = "/fonts" # local path
themeFontPreload = "/fonts/inter-v12-latin-regular.woff2" themeFontPreload = "/fonts/inter-v12-latin-regular.woff2"
# TODO: adjust purge settings purge = true
purge = false
# toml-docs-end theme-colors # toml-docs-end theme-colors
[schema] [schema]
@@ -163,3 +183,6 @@
[modules.cookieyes] [modules.cookieyes]
url = "https://cdn-cookieyes.com/client_data/a54b5553f349dd13bd225f8e/script.js" url = "https://cdn-cookieyes.com/client_data/a54b5553f349dd13bd225f8e/script.js"
[modules.mermaid]
elk = true

View File

@@ -27,10 +27,11 @@ const purgecss = purgeCSSPlugin({
'./assets/scss/theme/fonts.scss', './assets/scss/theme/fonts.scss',
'./assets/scss/theme/theme.scss', './assets/scss/theme/theme.scss',
'./_vendor/github.com/gethinode/mod-cookieyes/v2/assets/scss/cookieyes.scss', './_vendor/github.com/gethinode/mod-cookieyes/v2/assets/scss/cookieyes.scss',
'./_vendor/github.com/gethinode/mod-flexsearch/v2/assets/scss/modules/flexsearch/flexsearch.scss', './_vendor/github.com/gethinode/mod-flexsearch/v3/assets/scss/modules/flexsearch/flexsearch.scss',
'./_vendor/github.com/gethinode/mod-katex/dist/katex.scss', './_vendor/github.com/gethinode/mod-katex/dist/katex.scss',
'./_vendor/github.com/gethinode/mod-leaflet/dist/leaflet.scss', './_vendor/github.com/gethinode/mod-leaflet/dist/leaflet.scss',
'./_vendor/github.com/gethinode/mod-simple-datatables/dist/simple-datatables.scss', './_vendor/github.com/gethinode/mod-mermaid/v3/assets/scss/mermaid.scss',
'./_vendor/github.com/gethinode/mod-simple-datatables/v2/dist/simple-datatables.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_carousel.scss', './_vendor/github.com/twbs/bootstrap/scss/_carousel.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_dropdown.scss', './_vendor/github.com/twbs/bootstrap/scss/_dropdown.scss',
'./_vendor/github.com/twbs/bootstrap/scss/_modal.scss', './_vendor/github.com/twbs/bootstrap/scss/_modal.scss',

View File

@@ -8,7 +8,7 @@ content_blocks:
title: Welcome to Hinode! title: Welcome to Hinode!
content: |- content: |-
A clean documentation and blog theme for your Hugo site based on Bootstrap 5. A clean documentation and blog theme for your Hugo site based on Bootstrap 5.
align: start width: 6
background: background:
color: primary color: primary
subtle: true subtle: true
@@ -16,12 +16,12 @@ content_blocks:
image: /img/sunrise.jpg image: /img/sunrise.jpg
ratio: 16x9 ratio: 16x9
width: 8 width: 8
width: 6
links: links:
- title: About - title: About
url: about url: about
icon: fas chevron-right icon: fas chevron-right
orientation: horizontal orientation: horizontal
justify: center
- _bookshop_name: articles - _bookshop_name: articles
heading: heading:
@@ -37,7 +37,7 @@ content_blocks:
more: more:
title: More Posts title: More Posts
padding: 0 padding: 0
max: 3 limit: 3
class: border-0 card-zoom card-body-margin class: border-0 card-zoom card-body-margin
- _bookshop_name: articles - _bookshop_name: articles
@@ -55,7 +55,8 @@ content_blocks:
title: More articles title: More articles
cols: 1 cols: 1
padding: 4 padding: 4
max: 2 limit: 2
icon-style: fa-5x
header-style: none header-style: none
footer-style: tags footer-style: tags
orientation: horizontal-sm orientation: horizontal-sm

View File

@@ -6,18 +6,17 @@ content_blocks:
- _bookshop_name: hero - _bookshop_name: hero
heading: heading:
title: Content blocks title: Content blocks
align: start
breadcrumb: true
- _bookshop_name: articles
heading:
content: >- content: >-
Hinode uses [Bookshop](https://github.com/CloudCannon/bookshop) to Hinode uses [Bookshop](https://github.com/CloudCannon/bookshop) to
support so-called content blocks. Content blocks are reusable page support so-called content blocks. Content blocks are reusable page
elements, such as a hero, about panel, or an FAQ. Hinode includes elements, such as a hero, about panel, or an FAQ. Hinode includes
several ready-to-use blocks. Click on a card for more details about several ready-to-use blocks. Click on a card for more details about
a content block, including its frontmatter configuration. a content block, including its frontmatter configuration.
align: start
width: 8 width: 8
breadcrumb: true
- _bookshop_name: articles
hide-empty: false hide-empty: false
input: input:
section: blocks section: blocks
@@ -26,9 +25,10 @@ content_blocks:
more: more:
title: More Posts title: More Posts
cols: 3 cols: 3
padding: 0 padding: 3
max: 9 limit: 9
paginate: true paginate: true
cover: false cover: false
header-style: none header-style: none
class: border-1
--- ---

View File

@@ -25,6 +25,7 @@ The `about` content block renders a short message next to an illustration. You c
subtle: true subtle: true
illustration: illustration:
image: /assets/img/nat-9l98kFByiao-unsplash.jpg image: /assets/img/nat-9l98kFByiao-unsplash.jpg
ratio: 1x1
link-type: link link-type: link
links: links:
- title: First link - title: First link

View File

@@ -0,0 +1,44 @@
---
_schema: default
title: Articles
description: Use the articles content block to show a group of article cards.
icon: fas grip
---
## Overview
The `articles` content block renders a group of article cards.
<!-- markdownlint-disable MD037 -->
{{< example-bookshop lang="bookshop" >}}
```yml
- _bookshop_name: articles
heading:
title: Blog
align: start
input:
section: blog
reverse: false
sort: title
hide-empty: false
header-style: none
more:
title: More Blogs
padding: 0
limit: 3
background:
color: primary
subtle: true
class: border-0 card-zoom card-body-margin
justify: start
```
{{< /example-bookshop >}}
<!-- markdownlint-enable MD037 -->
## Arguments
The content block supports the following arguments:
{{< args bookshop-articles >}}

View File

@@ -0,0 +1,191 @@
---
_schema: default
title: Cards
description: Use the cards content block to show a card group of messages.
icon: fa address-card
---
## Overview
The `cards` content block renders a group of content cards.
<!-- markdownlint-disable MD037 -->
{{< example-bookshop lang="bookshop" >}}
```yml
- _bookshop_name: cards
heading:
preheading: Preheading
title: Heading
content: Cards content. It supports multiple lines.
align: start
background:
color: primary
subtle: true
orientation: stacked
icon-rounded: true
icon-style: fa-xs
padding: 0
align: start
elements:
- title: First Card
icon: fas 1
content: Content of the first card
- title: Second Card
icon: fas 2
content: Content of the second card
- title: Third Card
icon: fas 3
content: Content of the third card
```
{{< /example-bookshop >}}
<!-- markdownlint-enable MD037 -->
## Arguments
The content block supports the following arguments:
{{< args bookshop-cards >}}
## Examples
### Stacked cards with an image
Set the `image` attribute of each `element` to an image asset to render illustrated cards.
<!-- markdownlint-disable MD037 -->
{{< example-bookshop lang="bookshop" >}}
```yml
- _bookshop_name: cards
heading:
preheading: Preheading
title: Heading
content: Cards content. It supports multiple lines.
align: start
background:
color: primary
subtle: true
orientation: stacked
class: bg-body
align: center
elements:
- title: First Card
image: /img/nat-9l98kFByiao-unsplash.jpg
- title: Second Card
image: /img/nat-9l98kFByiao-unsplash.jpg
- title: Third Card
image: /img/nat-9l98kFByiao-unsplash.jpg
```
{{< /example-bookshop >}}
<!-- markdownlint-enable MD037 -->
### Horizontal cards with an image
Set the `orientation` attribute to `horizontal` to render horizontally oriented cards.
<!-- markdownlint-disable MD037 -->
{{< example-bookshop lang="bookshop" >}}
```yml
- _bookshop_name: cards
heading:
preheading: Preheading
title: Heading
content: Cards content. It supports multiple lines.
align: start
background:
color: primary
subtle: true
orientation: horizontal
class: bg-body
align: center
elements:
- title: First Card
image: /img/nat-9l98kFByiao-unsplash.jpg
content: Content of the first card
- title: Second Card
image: /img/nat-9l98kFByiao-unsplash.jpg
content: Content of the second card
- title: Third Card
image: /img/nat-9l98kFByiao-unsplash.jpg
content: Content of the third card
```
{{< /example-bookshop >}}
<!-- markdownlint-enable MD037 -->
### Stacked cards with an icon
Set the `icon` attribute of each `element` to an icon to render illustrated cards. Adjust the icon's styling with `icon-rounded` and `icon-style`.
<!-- markdownlint-disable MD037 -->
{{< example-bookshop lang="bookshop" >}}
```yml
- _bookshop_name: cards
heading:
preheading: Preheading
title: Heading
content: Cards content. It supports multiple lines.
align: start
background:
color: primary
subtle: true
orientation: stacked
icon-style: fa-xs text-primary
align: start
padding: 0
elements:
- title: First Card
icon: fas 1
content: Content of the first card
- title: Second Card
icon: fas 2
content: Content of the second card
- title: Third Card
icon: fas 3
content: Content of the third card
```
{{< /example-bookshop >}}
<!-- markdownlint-enable MD037 -->
### Horizontal cards with an icon
Set the `icon` attribute of each `element` to an icon to render illustrated cards. Adjust the icon's styling with `icon-rounded` and `icon-style`.
<!-- markdownlint-disable MD037 -->
{{< example-bookshop lang="bookshop" >}}
```yml
- _bookshop_name: cards
heading:
preheading: Preheading
title: Heading
content: Cards content. It supports multiple lines.
align: start
background:
color: primary
subtle: true
orientation: horizontal
icon-rounded: true
icon-style: fa-2xs text-primary
align: start
padding: 0
elements:
- title: First Card
icon: fas 1
content: Content of the first card
- title: Second Card
icon: fas 2
content: Content of the second card
- title: Third Card
icon: fas 3
content: Content of the third card
```
{{< /example-bookshop >}}
<!-- markdownlint-enable MD037 -->

Some files were not shown because too many files have changed in this diff Show More