Compare commits

...

734 Commits

Author SHA1 Message Date
Mark Dumay
a543db250f Merge pull request #324 from gethinode/timeline
Add timeline shortcode
2023-07-03 13:41:46 +02:00
mark
8d6b34716f Fix var typo 2023-07-03 13:33:26 +02:00
Mark Dumay
ea89e1c8b5 Merge branch 'main' into timeline 2023-07-03 13:20:57 +02:00
mark
fb6d47c33e Bump package release 2023-07-03 13:18:04 +02:00
mark
dc71f43faf Remove temp blog post 2023-07-03 13:16:07 +02:00
mark
78df40873f Fix highlight color of panels with limited text 2023-07-03 13:14:40 +02:00
mark
43f996acc3 Add internataional timeline examples 2023-07-03 13:14:12 +02:00
mark
dd51fbd542 Add support for smaller screens 2023-07-03 13:02:43 +02:00
mark
49df936f3b Refactor panel code 2023-07-03 11:08:12 +02:00
mark
b6643f12dd Refactor icon code 2023-07-03 10:59:39 +02:00
mark
2de996242a Add scss docs tags 2023-07-03 10:46:52 +02:00
mark
3b8611ebd0 Add initial timeline component 2023-07-03 07:25:47 +02:00
Mark Dumay
3274c7453e Merge pull request #320 from gethinode/develop
Fix breadcrumb hidden by fixed navbar
2023-07-01 06:09:45 +02:00
Mark Dumay
ff622c8080 Merge branch 'main' into develop 2023-07-01 06:03:18 +02:00
mark
455e77b3e9 Bump package release 2023-07-01 06:02:22 +02:00
mark
22c85f7997 Fix [BUG] Breadcrumbs are not visible #317 2023-07-01 05:56:50 +02:00
mark
d8799fabb5 Enable breadcrumb by default 2023-07-01 05:55:22 +02:00
github-actions[bot]
8ae01a2ce1 Merge pull request #319 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.111.0
Bump hugo-bin from 0.110.1 to 0.111.0
2023-06-30 13:38:24 +00:00
dependabot[bot]
d9d3054f22 Bump hugo-bin from 0.110.1 to 0.111.0
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.110.1 to 0.111.0.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.110.1...v0.111.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-30 13:32:50 +00:00
github-actions[bot]
0bf25f7acd Merge pull request #318 from gethinode/dependabot/npm_and_yarn/stylelint-config-standard-scss-10.0.0
Bump stylelint-config-standard-scss from 9.0.0 to 10.0.0
2023-06-30 13:32:05 +00:00
dependabot[bot]
d5c228d43c Bump stylelint-config-standard-scss from 9.0.0 to 10.0.0
Bumps [stylelint-config-standard-scss](https://github.com/stylelint-scss/stylelint-config-standard-scss) from 9.0.0 to 10.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/v9.0.0...v10.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-30 13:28:31 +00:00
mark
96886e20d7 Refine img statement 2023-06-28 09:19:41 +02:00
Mark Dumay
171259fb29 Merge pull request #316 from gethinode/develop
Refine config
2023-06-28 09:13:30 +02:00
Mark Dumay
a706936849 Merge branch 'main' into develop 2023-06-28 07:42:06 +02:00
mark
f538f3b772 Bump bootstrap dependency 2023-06-28 07:40:15 +02:00
mark
a848fccec8 Bump package release 2023-06-28 07:37:27 +02:00
mark
69352dd60a Bump build dependencies 2023-06-28 07:31:23 +02:00
mark
e1c8641d41 Rename config.toml to hugo.toml 2023-06-28 07:20:57 +02:00
mark
deb8dfb3cb Adjust min Hugo version 2023-06-28 07:17:23 +02:00
mark
0dcd3f02c9 Add versioning feature 2023-06-28 07:17:03 +02:00
mark
d3105436a3 Add keyword 2023-06-28 07:16:43 +02:00
mark
38c982f7f4 Remove unused config 2023-06-28 07:08:44 +02:00
mark
9c19327e19 Shorten PR label 2023-06-28 06:40:35 +02:00
Mark Dumay
a9f2d56dd6 Merge pull request #315 from gethinode/develop
Fix post-processing of social URLs
2023-06-28 06:35:05 +02:00
mark
434e02e7f5 Add npm badge 2023-06-28 06:30:11 +02:00
Mark Dumay
7e44d71ecb Merge branch 'main' into develop 2023-06-28 06:11:28 +02:00
mark
be8c6d539b Fix post-processing of social URLs 2023-06-28 06:10:45 +02:00
Mark Dumay
3db2b1f734 Merge pull request #313 from gethinode/develop
Finalize versioned docs support
2023-06-26 17:34:24 +02:00
mark
6802524aac Fix typo 2023-06-26 17:24:44 +02:00
mark
71cdad17d3 Add versioned-documentation feature 2023-06-26 17:16:38 +02:00
mark
626b82a619 Disable version check by default 2023-06-26 17:07:24 +02:00
Mark Dumay
fbb60a0622 Merge branch 'main' into develop 2023-06-26 16:54:47 +02:00
mark
a0684a8a49 Bump package release 2023-06-26 16:53:20 +02:00
mark
55516602e5 Enable versioning for single docs sites 2023-06-26 16:47:21 +02:00
github-actions[bot]
fcab852216 Merge pull request #312 from gethinode/dependabot/npm_and_yarn/eslint-plugin-n-16.0.1
Bump eslint-plugin-n from 16.0.0 to 16.0.1
2023-06-26 14:11:18 +00:00
dependabot[bot]
cb714201bc Bump eslint-plugin-n from 16.0.0 to 16.0.1
Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 16.0.0 to 16.0.1.
- [Release notes](https://github.com/eslint-community/eslint-plugin-n/releases)
- [Commits](https://github.com/eslint-community/eslint-plugin-n/compare/16.0.0...16.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-26 14:08:20 +00:00
github-actions[bot]
c8de62f46b Merge pull request #310 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.110.1
Bump hugo-bin from 0.110.0 to 0.110.1
2023-06-23 14:09:09 +00:00
dependabot[bot]
53ab00357e Bump hugo-bin from 0.110.0 to 0.110.1
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.110.0 to 0.110.1.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.110.0...v0.110.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-23 14:02:52 +00:00
github-actions[bot]
0cc246a79a Merge pull request #309 from gethinode/dependabot/npm_and_yarn/stylelint-15.9.0
Bump stylelint from 15.8.0 to 15.9.0
2023-06-23 13:15:04 +00:00
dependabot[bot]
21541b9f80 Bump stylelint from 15.8.0 to 15.9.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 15.8.0 to 15.9.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/15.8.0...15.9.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-23 13:11:28 +00:00
github-actions[bot]
e3d4339730 Merge pull request #308 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.110.0
Bump hugo-bin from 0.109.0 to 0.110.0
2023-06-22 14:08:55 +00:00
dependabot[bot]
710efd0caa Bump hugo-bin from 0.109.0 to 0.110.0
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.109.0 to 0.110.0.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.109.0...v0.110.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-22 14:03:55 +00:00
github-actions[bot]
493ff64be0 Merge pull request #307 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.109.0
Bump hugo-bin from 0.108.0 to 0.109.0
2023-06-21 14:14:36 +00:00
dependabot[bot]
f2e35074c2 Bump hugo-bin from 0.108.0 to 0.109.0
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.108.0 to 0.109.0.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.108.0...v0.109.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-21 14:11:13 +00:00
mark
7597710980 Add netlify.app to CSP config 2023-06-21 06:07:45 +02:00
Mark Dumay
c44340ef9e Merge pull request #306 from gethinode/develop
Bump release version
2023-06-20 09:51:06 +02:00
Mark Dumay
8dfe0cb9d4 Merge branch 'main' into develop 2023-06-20 09:20:08 +02:00
mark
fdb8287951 Bump release version 2023-06-20 09:19:32 +02:00
Mark Dumay
f4f9b7c754 Merge pull request #305 from gethinode/develop
Exclude 'latest' label from version check
2023-06-20 09:18:26 +02:00
Mark Dumay
4bb5ba728a Merge branch 'main' into develop 2023-06-20 09:08:34 +02:00
mark
bdb8c43fb9 Remove unused code 2023-06-20 09:07:26 +02:00
mark
63e51006ed Exclude 'latest' label from version check 2023-06-20 09:07:02 +02:00
Mark Dumay
37b623e48c Merge pull request #304 from gethinode/develop
Add optional alert when version is outdated
2023-06-20 08:33:55 +02:00
Mark Dumay
27019594ca Merge branch 'main' into develop 2023-06-20 08:17:18 +02:00
mark
d4ee11b7a5 Bump release version 2023-06-20 08:16:48 +02:00
mark
009314943b Add optional alert when version is outdated 2023-06-20 08:16:18 +02:00
github-actions[bot]
826b5f58d8 Merge pull request #303 from gethinode/dependabot/npm_and_yarn/eslint-8.43.0
Bump eslint from 8.42.0 to 8.43.0
2023-06-19 14:16:51 +00:00
dependabot[bot]
f6fb80d690 Bump eslint from 8.42.0 to 8.43.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.42.0 to 8.43.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/v8.42.0...v8.43.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-19 14:12:40 +00:00
github-actions[bot]
8ed98bc5b4 Merge pull request #302 from gethinode/dependabot/npm_and_yarn/stylelint-15.8.0
Bump stylelint from 15.7.0 to 15.8.0
2023-06-19 14:12:10 +00:00
dependabot[bot]
0cc3775370 Bump stylelint from 15.7.0 to 15.8.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 15.7.0 to 15.8.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/15.7.0...15.8.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-19 14:09:11 +00:00
Mark Dumay
7be81f4393 Merge pull request #301 from gethinode/develop
Fix redirects
2023-06-19 10:42:20 +02:00
mark
869f696a67 Fix local image processing and renaming 2023-06-19 10:28:52 +02:00
Mark Dumay
c6d942b350 Merge branch 'main' into develop 2023-06-19 10:09:18 +02:00
mark
18275acc80 Bump package release 2023-06-19 10:08:08 +02:00
mark
a85540f8de Make script references absolute to support rewrites 2023-06-19 10:07:39 +02:00
mark
3c93828d4f Make image references absolute to support rewrites 2023-06-19 10:07:27 +02:00
mark
8ca629978f Make alias redirects relative 2023-06-19 10:03:17 +02:00
mark
d99d416838 Fix redirect newline 2023-06-19 10:03:01 +02:00
mark
b58a69b2ad Include aliases in redirect template 2023-06-19 09:08:11 +02:00
Mark Dumay
49d7736e1a Merge pull request #300 from gethinode/develop
Enable netlify redirects
2023-06-17 13:58:03 +02:00
mark
04531b6158 Bump package release 2023-06-17 13:50:29 +02:00
mark
b7fb9fb05b Enable netlify redirects 2023-06-17 13:49:23 +02:00
Mark Dumay
4a78bd9e6b Merge pull request #299 from gethinode/main
Sync branch
2023-06-17 12:41:54 +02:00
Mark Dumay
4d0007a26b Merge pull request #298 from gethinode/reedirect
Add support for version redirects
2023-06-17 12:33:45 +02:00
Mark Dumay
ac7e564857 Merge branch 'main' into reedirect 2023-06-17 12:27:34 +02:00
mark
f804ab747c Bump package release 2023-06-17 12:26:49 +02:00
mark
cfd292ddff Add support for version redirects 2023-06-17 12:21:11 +02:00
Mark Dumay
d4b0c379e2 Merge pull request #297 from gethinode/versioning
Add support for version overview
2023-06-17 06:27:38 +02:00
Mark Dumay
60ebd5fd41 Merge branch 'main' into versioning 2023-06-17 06:17:52 +02:00
mark
19a4398c90 Add support for optional version overview 2023-06-17 06:14:13 +02:00
mark
841c2e397f Make urls language aware 2023-06-17 06:13:59 +02:00
mark
3f42d781ec Fix overflow for large version menu entries 2023-06-17 06:13:20 +02:00
mark
dd9fcc6cbd Add support for optional version overview 2023-06-17 06:12:32 +02:00
mark
70aed1ed63 Add site title to version switch in collapsed menu 2023-06-17 05:14:22 +02:00
Mark Dumay
1c635c814c Merge pull request #296 from gethinode/develop
Fix latest label
2023-06-16 16:01:18 +02:00
Mark Dumay
ff1c8ff056 Merge branch 'main' into develop 2023-06-16 15:54:58 +02:00
mark
44c70f4036 Bump release version 2023-06-16 15:54:09 +02:00
mark
28f13f8385 Fix latest label 2023-06-16 15:53:36 +02:00
Mark Dumay
849d481cd6 Merge pull request #295 from gethinode/develop
Add versioning support
2023-06-16 15:43:11 +02:00
Mark Dumay
a0987e33a9 Merge branch 'main' into develop 2023-06-16 15:31:25 +02:00
mark
f5dae5caa2 Add latest label 2023-06-16 15:29:13 +02:00
mark
d640ed1f8e Add version dropdown 2023-06-16 15:29:02 +02:00
mark
0c46c0080e Load versioned menu data 2023-06-16 15:28:44 +02:00
mark
7319a3f9e3 Identify version based on path 2023-06-16 15:28:30 +02:00
mark
2e6ba557c8 Add version support for menu data 2023-06-16 15:27:56 +02:00
mark
1d24b8ff0e Bump package release 2023-06-16 15:27:01 +02:00
github-actions[bot]
df307be37c Merge pull request #293 from gethinode/dependabot/npm_and_yarn/markdownlint-cli2-0.8.1
Bump markdownlint-cli2 from 0.7.1 to 0.8.1
2023-06-13 14:08:00 +00:00
dependabot[bot]
5d09963bb5 Bump markdownlint-cli2 from 0.7.1 to 0.8.1
Bumps [markdownlint-cli2](https://github.com/DavidAnson/markdownlint-cli2) from 0.7.1 to 0.8.1.
- [Changelog](https://github.com/DavidAnson/markdownlint-cli2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/DavidAnson/markdownlint-cli2/compare/v0.7.1...v0.8.1)

---
updated-dependencies:
- dependency-name: markdownlint-cli2
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-13 14:03:56 +00:00
Mark Dumay
8ce05d0c41 Merge pull request #291 from gethinode/navbar
Support icon-only nav items
2023-06-07 10:41:33 +02:00
Mark Dumay
5e03d80944 Merge branch 'main' into navbar 2023-06-07 09:52:55 +02:00
mark
65bdc8bb32 Bump release version 2023-06-07 09:52:00 +02:00
mark
558eed95ef Support icon-only nav items 2023-06-07 09:51:27 +02:00
github-actions[bot]
a17ed9b14a Merge pull request #286 from gethinode/dependabot/npm_and_yarn/stylelint-15.7.0
Bump stylelint from 15.6.3 to 15.7.0
2023-06-06 14:13:15 +00:00
dependabot[bot]
06c5a97e3b Bump stylelint from 15.6.3 to 15.7.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 15.6.3 to 15.7.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/15.6.3...15.7.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-06 14:10:08 +00:00
github-actions[bot]
269d7c6bcf Merge pull request #285 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.108.0
Bump hugo-bin from 0.106.1 to 0.108.0
2023-06-06 14:09:12 +00:00
dependabot[bot]
fc2a43b8b9 Bump hugo-bin from 0.106.1 to 0.108.0
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.106.1 to 0.108.0.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.106.1...v0.108.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-06 14:05:19 +00:00
github-actions[bot]
9c14411a3b Merge pull request #283 from gethinode/dependabot/npm_and_yarn/eslint-8.42.0
Bump eslint from 8.41.0 to 8.42.0
2023-06-05 13:28:23 +00:00
dependabot[bot]
529e402267 Bump eslint from 8.41.0 to 8.42.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.41.0 to 8.42.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/v8.41.0...v8.42.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-05 13:25:05 +00:00
github-actions[bot]
4a8ecaad19 Merge pull request #284 from gethinode/dependabot/npm_and_yarn/stylelint-15.6.3
Bump stylelint from 15.6.2 to 15.6.3
2023-06-05 13:23:40 +00:00
dependabot[bot]
d13013189c Bump stylelint from 15.6.2 to 15.6.3
Bumps [stylelint](https://github.com/stylelint/stylelint) from 15.6.2 to 15.6.3.
- [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/15.6.2...15.6.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-05 13:19:19 +00:00
github-actions[bot]
b21b412f16 Merge pull request #281 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.106.1
Bump hugo-bin from 0.105.1 to 0.106.1
2023-06-02 14:09:04 +00:00
dependabot[bot]
b3ad43768c Bump hugo-bin from 0.105.1 to 0.106.1
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.105.1 to 0.106.1.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.105.1...v0.106.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-02 14:05:25 +00:00
Mark Dumay
9ea9a6c616 Merge pull request #280 from gethinode/develop
Bump package release
2023-06-02 11:06:13 +02:00
Mark Dumay
188129f19b Merge branch 'main' into develop 2023-06-02 10:51:13 +02:00
mark
8a83f7345a Bump package release 2023-06-02 10:50:36 +02:00
Mark Dumay
65cd47b1db Merge pull request #279 from gethinode/develop
Change pagination style
2023-06-02 10:49:14 +02:00
Mark Dumay
7e7cc41603 Merge branch 'main' into develop 2023-06-02 09:31:55 +02:00
mark
7318d3cacb Change style of pagination control 2023-06-02 09:29:25 +02:00
github-actions[bot]
ff928d035a Merge pull request #278 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.105.1
Bump hugo-bin from 0.104.0 to 0.105.1
2023-06-01 14:13:41 +00:00
dependabot[bot]
9341a98ab7 Bump hugo-bin from 0.104.0 to 0.105.1
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.104.0 to 0.105.1.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.104.0...v0.105.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-01 14:08:46 +00:00
github-actions[bot]
206558e21e Merge pull request #276 from gethinode/dependabot/npm_and_yarn/eslint-plugin-n-16.0.0
Bump eslint-plugin-n from 15.7.0 to 16.0.0
2023-05-31 14:17:51 +00:00
dependabot[bot]
8ecf38befc Bump eslint-plugin-n from 15.7.0 to 16.0.0
Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 15.7.0 to 16.0.0.
- [Release notes](https://github.com/eslint-community/eslint-plugin-n/releases)
- [Commits](https://github.com/eslint-community/eslint-plugin-n/compare/15.7.0...16.0.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-n
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-31 14:14:19 +00:00
github-actions[bot]
afb3bbff9d Merge pull request #277 from gethinode/dependabot/npm_and_yarn/bootstrap-5.3.0
Bump bootstrap from 5.3.0-alpha3 to 5.3.0
2023-05-31 14:13:42 +00:00
dependabot[bot]
a7f871f954 Bump bootstrap from 5.3.0-alpha3 to 5.3.0
Bumps [bootstrap](https://github.com/twbs/bootstrap) from 5.3.0-alpha3 to 5.3.0.
- [Release notes](https://github.com/twbs/bootstrap/releases)
- [Commits](https://github.com/twbs/bootstrap/compare/v5.3.0-alpha3...v5.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-31 14:09:55 +00:00
github-actions[bot]
5d368ecaaa Merge pull request #275 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.104.0
Bump hugo-bin from 0.103.5 to 0.104.0
2023-05-31 14:09:17 +00:00
dependabot[bot]
2e40bd6be0 Bump hugo-bin from 0.103.5 to 0.104.0
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.103.5 to 0.104.0.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.103.5...v0.104.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-31 14:04:51 +00:00
github-actions[bot]
21ae80d491 Merge pull request #274 from gethinode/dependabot/npm_and_yarn/eslint-config-standard-17.1.0
Bump eslint-config-standard from 17.0.0 to 17.1.0
2023-05-30 14:08:57 +00:00
dependabot[bot]
6292be190e Bump eslint-config-standard from 17.0.0 to 17.1.0
Bumps [eslint-config-standard](https://github.com/standard/eslint-config-standard) from 17.0.0 to 17.1.0.
- [Changelog](https://github.com/standard/eslint-config-standard/blob/master/CHANGELOG.md)
- [Commits](https://github.com/standard/eslint-config-standard/compare/v17.0.0...v17.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-30 14:04:57 +00:00
Mark Dumay
a7c5c613c2 Create release.yml
Add default release format
2023-05-30 08:15:55 +02:00
mark
480981d867 Mount instead of copy Font Awesome fonts 2023-05-30 05:40:10 +02:00
github-actions[bot]
abfa80d5a2 Merge pull request #273 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.103.5
Bump hugo-bin from 0.103.3 to 0.103.5
2023-05-29 14:11:41 +00:00
dependabot[bot]
08531514d3 Bump hugo-bin from 0.103.3 to 0.103.5
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.103.3 to 0.103.5.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.103.3...v0.103.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-29 14:08:07 +00:00
Mark Dumay
d4c321fee4 Merge pull request #272 from gethinode/main
Sync
2023-05-29 14:23:40 +02:00
Mark Dumay
b125be2e7d Merge pull request #271 from gethinode/card
Layout
2023-05-29 13:59:43 +02:00
mark
f075eb12ee Adjust font-size from cqw to to cqi 2023-05-29 13:53:11 +02:00
mark
c30dd39ce2 Fix icon width 2023-05-29 13:08:34 +02:00
mark
ad7cd18893 Fix linting issue 2023-05-29 08:22:36 +02:00
mark
cdc3accff3 Bump package release 2023-05-29 08:22:29 +02:00
Mark Dumay
5916a89979 Merge branch 'main' into card 2023-05-29 08:15:23 +02:00
mark
dbc253cbf2 Adjust spacing between sharing icons 2023-05-29 08:12:29 +02:00
mark
1fd8989ad3 Use horizontal stack to evenly distribute tags 2023-05-29 08:12:15 +02:00
mark
0a401775ff Fix horizontal card height 2023-05-29 07:30:24 +02:00
mark
3534d6daec Support fluid icons 2023-05-29 07:25:21 +02:00
mark
ada5ac3d5c Display projects as icon cards 2023-05-29 07:23:34 +02:00
mark
1630eabff8 Replace thumbnail with icon 2023-05-29 07:23:06 +02:00
mark
4a492d2de5 Improve thumbnail / icon ratio for single columns 2023-05-29 07:21:38 +02:00
Mark Dumay
20a492d9d9 Merge pull request #270 from gethinode/template
Rename child to template
2023-05-27 18:49:25 +02:00
Mark Dumay
179132964f Merge branch 'main' into template 2023-05-27 18:42:52 +02:00
mark
4768d6791f Rename child to template 2023-05-27 18:27:43 +02:00
Mark Dumay
c8e2d3410c Merge pull request #269 from gethinode/develop
Fixes
2023-05-27 10:38:56 +02:00
Mark Dumay
8d53c762d7 Merge branch 'main' into develop 2023-05-27 10:27:16 +02:00
mark
22d2e41601 Bump package release 2023-05-27 10:26:44 +02:00
mark
b462c31916 Remove redundant empty lines on copy 2023-05-27 09:45:28 +02:00
mark
dbb5b4be69 Add a toast message on copy 2023-05-27 09:21:35 +02:00
mark
4f288ec5dd Add subject to copy message 2023-05-27 09:21:11 +02:00
mark
8fb47e27af Remove debug statement 2023-05-27 09:07:37 +02:00
mark
a0d2063738 Set message placement to default value 2023-05-27 09:06:07 +02:00
mark
c17986bb49 Enable toast placement configuration 2023-05-27 09:03:44 +02:00
mark
bafd522530 Embed container in base to aid CSS purge 2023-05-27 09:03:14 +02:00
mark
930e151365 Embed container in base to aid CSS purge 2023-05-27 09:02:47 +02:00
Mark Dumay
6687e09d68 Merge pull request #268 from gethinode/develop
Social media
2023-05-26 14:15:11 +02:00
Mark Dumay
86ec79d08a Merge branch 'main' into develop 2023-05-26 14:06:28 +02:00
mark
afb42a188c Rename order param to reverse 2023-05-26 13:43:00 +02:00
mark
c303e97eb0 Bump package release 2023-05-26 13:29:21 +02:00
mark
1ad2a4c617 Add social sharing buttons 2023-05-26 13:28:17 +02:00
mark
2bf15ca8b2 Add comments 2023-05-26 12:44:11 +02:00
mark
e00ab2a2fd Remove debug statements 2023-05-26 12:44:00 +02:00
mark
98c422a6d4 Add clipboard button support 2023-05-26 12:43:17 +02:00
mark
527060e219 Add clipboard support 2023-05-26 12:42:27 +02:00
github-actions[bot]
b5c81cd121 Merge pull request #267 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.103.3
Bump hugo-bin from 0.103.2 to 0.103.3
2023-05-25 14:10:58 +00:00
dependabot[bot]
9fbe81a668 Bump hugo-bin from 0.103.2 to 0.103.3
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.103.2 to 0.103.3.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.103.2...v0.103.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-25 14:06:12 +00:00
mark
cf4ed131aa Adjust toast examples 2023-05-25 13:04:24 +02:00
mark
15a9eb2c5c Change toast behavior 2023-05-25 13:03:58 +02:00
mark
3271fcc97e Rewrite DOM to stack toast messages 2023-05-25 13:03:11 +02:00
mark
0752b4cfbf Refactor toast shorcode 2023-05-25 13:02:10 +02:00
github-actions[bot]
965845137c Merge pull request #266 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.103.2
Bump hugo-bin from 0.103.0 to 0.103.2
2023-05-24 14:09:04 +00:00
dependabot[bot]
8f83138cbc Bump hugo-bin from 0.103.0 to 0.103.2
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.103.0 to 0.103.2.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.103.0...v0.103.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-24 14:04:55 +00:00
github-actions[bot]
86d726d10c Merge pull request #265 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.103.0
Bump hugo-bin from 0.102.2 to 0.103.0
2023-05-23 14:08:18 +00:00
dependabot[bot]
2860edd1bd Bump hugo-bin from 0.102.2 to 0.103.0
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.102.2 to 0.103.0.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.102.2...v0.103.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-23 14:04:52 +00:00
github-actions[bot]
d802df87ef Merge pull request #264 from gethinode/dependabot/npm_and_yarn/eslint-8.41.0
Bump eslint from 8.40.0 to 8.41.0
2023-05-22 14:14:19 +00:00
dependabot[bot]
808b3a5694 Bump eslint from 8.40.0 to 8.41.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.40.0 to 8.41.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/v8.40.0...v8.41.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-22 14:10:21 +00:00
Mark Dumay
cde8495583 Merge pull request #263 from gethinode/develop
Fixes
2023-05-22 06:55:14 +02:00
Mark Dumay
c2aaff81cf Merge branch 'main' into develop 2023-05-22 06:44:21 +02:00
mark
5421839028 Bump package release 2023-05-22 06:43:57 +02:00
mark
a74466e281 Adjust layout 2023-05-22 06:41:24 +02:00
mark
454c659e44 Fix release url 2023-05-22 06:41:16 +02:00
mark
2de384497e Fix release url 2023-05-22 06:37:52 +02:00
mark
ca41d9adb4 Clean up unspecified classes 2023-05-22 06:16:25 +02:00
mark
a633e4eea0 Remove debug statements 2023-05-22 06:03:00 +02:00
mark
a341e916b9 Add optional id argument 2023-05-22 06:00:46 +02:00
Mark Dumay
a3d289843f Merge pull request #262 from gethinode/develop
Fixes
2023-05-21 14:29:35 +02:00
mark
8700e18ad9 Add docs urls 2023-05-21 14:25:23 +02:00
Mark Dumay
8936dafac6 Merge branch 'main' into develop 2023-05-21 14:16:42 +02:00
mark
4d1c7d46eb Bump package release 2023-05-21 14:16:15 +02:00
mark
bffe6425da Add always-open option 2023-05-21 14:15:44 +02:00
mark
3e1c3a2c9c Hault rendering on issue 2023-05-21 14:15:07 +02:00
mark
df83103718 Use icon shorthand notation 2023-05-21 14:14:45 +02:00
mark
e54417bc02 Refine supported colors 2023-05-21 14:14:14 +02:00
mark
61f2b82221 Fix color behavior 2023-05-21 14:13:56 +02:00
mark
2689107e5a Refine supported colors 2023-05-21 14:13:24 +02:00
mark
d20d053232 Support optional id argument 2023-05-21 14:13:03 +02:00
mark
35fb72d408 Support optional id argument 2023-05-21 14:12:49 +02:00
mark
18cee3cac6 Refine supported colors 2023-05-21 14:12:11 +02:00
mark
192021fbb3 Fix layout of horizontal card 2023-05-21 14:11:41 +02:00
mark
a3c5d36584 Support optional redirect for hidden pages 2023-05-20 09:07:21 +02:00
mark
42d169bbc0 Add release shortcode 2023-05-20 09:06:43 +02:00
github-actions[bot]
3b4b3a65b6 Merge pull request #261 from gethinode/dependabot/npm_and_yarn/rimraf-5.0.1
Bump rimraf from 5.0.0 to 5.0.1
2023-05-18 14:09:29 +00:00
dependabot[bot]
32ee66bf90 Bump rimraf from 5.0.0 to 5.0.1
Bumps [rimraf](https://github.com/isaacs/rimraf) from 5.0.0 to 5.0.1.
- [Changelog](https://github.com/isaacs/rimraf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/rimraf/compare/v5.0.0...v5.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-18 14:05:30 +00:00
github-actions[bot]
6b8ff44fb0 Merge pull request #260 from gethinode/dependabot/npm_and_yarn/stylelint-15.6.2
Bump stylelint from 15.6.1 to 15.6.2
2023-05-17 14:15:11 +00:00
dependabot[bot]
70cc8946b0 Bump stylelint from 15.6.1 to 15.6.2
Bumps [stylelint](https://github.com/stylelint/stylelint) from 15.6.1 to 15.6.2.
- [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/15.6.1...15.6.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-17 14:09:41 +00:00
github-actions[bot]
eab0cfa6ab Merge pull request #259 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.102.2
Bump hugo-bin from 0.102.1 to 0.102.2
2023-05-17 14:08:50 +00:00
dependabot[bot]
1580898f1a Bump hugo-bin from 0.102.1 to 0.102.2
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.102.1 to 0.102.2.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.102.1...v0.102.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-17 14:05:09 +00:00
Mark Dumay
530fb03d29 Merge pull request #258 from gethinode/develop
Menu aliases
2023-05-17 12:05:58 +02:00
Mark Dumay
3e5261bd36 Merge branch 'main' into develop 2023-05-17 11:52:39 +02:00
mark
e2d409baed Bump package release 2023-05-17 11:51:32 +02:00
mark
d009874ece Support menu aliases 2023-05-17 11:50:55 +02:00
mark
f8adffc131 Use pageRef instead of url 2023-05-17 09:27:47 +02:00
github-actions[bot]
68a3a3be30 Merge pull request #257 from gethinode/dependabot/npm_and_yarn/hugo-bin-0.102.1
Bump hugo-bin from 0.102.0 to 0.102.1
2023-05-16 14:10:55 +00:00
dependabot[bot]
c077c8b53b Bump hugo-bin from 0.102.0 to 0.102.1
Bumps [hugo-bin](https://github.com/fenneclab/hugo-bin) from 0.102.0 to 0.102.1.
- [Release notes](https://github.com/fenneclab/hugo-bin/releases)
- [Commits](https://github.com/fenneclab/hugo-bin/compare/v0.102.0...v0.102.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-16 14:04:37 +00:00
Mark Dumay
6a0c6af296 Merge pull request #256 from gethinode/develop
CSS fix
2023-05-16 06:31:49 +02:00
Mark Dumay
2bf16b0e59 Merge branch 'main' into develop 2023-05-16 06:17:43 +02:00
mark
e56cc645e2 Update package release 2023-05-16 06:16:12 +02:00
mark
8c361a8417 Fix incorrect CSS link in development mode 2023-05-16 06:15:23 +02:00
Mark Dumay
65e9e57c9e Merge pull request #255 from gethinode/develop
Menu fix
2023-05-15 16:43:17 +02:00
Mark Dumay
ffa4473d25 Merge branch 'main' into develop 2023-05-15 16:10:43 +02:00
mark
6c5fe6f208 Bump release 2023-05-15 16:10:10 +02:00
mark
60efecf946 Retrieve menu data for single pages only 2023-05-15 16:09:39 +02:00
Mark Dumay
70fdf7c4f0 Merge pull request #254 from gethinode/develop
Sections
2023-05-15 15:36:53 +02:00
Mark Dumay
ee4bb45368 Merge branch 'main' into develop 2023-05-15 14:37:05 +02:00
mark
a08695d97e Bump package release 2023-05-15 14:35:28 +02:00
mark
1abeabcacd Refactor section headers 2023-05-15 14:34:53 +02:00
mark
16b2c8b058 Fix detection of headless content 2023-05-15 14:33:57 +02:00
mark
f8eab705fb Make href optional 2023-05-15 14:33:15 +02:00
mark
13b8421893 Enable description and content for list pages 2023-05-15 14:31:15 +02:00
mark
6324a90d77 Add option to push footer below page fold 2023-05-15 14:30:18 +02:00
mark
faccca732b Add thumbnail, icon, and content for sections 2023-05-15 14:29:30 +02:00
mark
04736fd8f1 Adjust color of projects section 2023-05-15 14:27:28 +02:00
mark
9c4378e5af Add moreOpensource translation 2023-05-15 14:17:05 +02:00
mark
0574627010 Refine theme switcher label 2023-05-15 14:16:51 +02:00
Mark Dumay
9e668775db Merge pull request #252 from gethinode/develop
Develop
2023-05-14 05:33:48 +02:00
mark
cefd152430 Bump release version 2023-05-14 05:30:00 +02:00
mark
48d2002d1c Remove docs template from main repository 2023-05-14 05:29:23 +02:00
Mark Dumay
259f0f321c Merge pull request #251 from gethinode/main
Sync
2023-05-13 17:36:29 +02:00
Mark Dumay
d24cb8ccb3 Merge pull request #250 from gethinode/sections
Sections
2023-05-13 17:32:46 +02:00
Mark Dumay
96226e2d8a Merge branch 'main' into sections 2023-05-13 16:48:02 +02:00
mark
27857b7fd5 Bump release version 2023-05-13 16:47:31 +02:00
mark
9a67f7bd4f Support configurable nesting 2023-05-13 16:46:43 +02:00
Mark Dumay
e15cd08bea Merge pull request #249 from gethinode/links
Links
2023-05-11 09:26:04 +02:00
Mark Dumay
dd817bc5ce Merge branch 'main' into links 2023-05-11 09:08:09 +02:00
mark
4b4c9d1711 Bump release version 2023-05-11 09:07:52 +02:00
mark
38e68ac757 Fix potentially unsafe external links 2023-05-11 09:06:55 +02:00
Mark Dumay
c14d3868bb Merge pull request #248 from gethinode/develop
Multilingual
2023-05-11 06:47:51 +02:00
Mark Dumay
067c244770 Merge branch 'main' into develop 2023-05-11 06:40:52 +02:00
mark
d76d275ddb Bump release version 2023-05-11 06:38:57 +02:00
mark
1803759b6b Ensure parsed URLs are language aware 2023-05-11 06:32:31 +02:00
mark
2833cfc15a Remove language URL prefix 2023-05-11 06:28:45 +02:00
mark
0a174def75 Remove language URL prefix 2023-05-11 06:28:24 +02:00
mark
7a7d3a93f9 Translate slug of Dutch blog posts 2023-05-11 06:04:27 +02:00
Mark Dumay
c1afe32344 Merge pull request #245 from gethinode/develop
Navbar
2023-05-08 18:07:14 +02:00
Mark Dumay
749dab16ca Merge branch 'main' into develop 2023-05-08 17:04:05 +02:00
mark
264012eefb Bump release version 2023-05-08 17:03:36 +02:00
mark
fda4efa72b Fix navbar handling 2023-05-08 17:03:08 +02:00
github-actions[bot]
6a0bdf0f61 Merge pull request #244 from gethinode/dependabot/npm_and_yarn/eslint-8.40.0
Bump eslint from 8.39.0 to 8.40.0
2023-05-08 14:14:26 +00:00
dependabot[bot]
1a09879bea Bump eslint from 8.39.0 to 8.40.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.39.0 to 8.40.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/v8.39.0...v8.40.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-08 14:10:33 +00:00
Mark Dumay
81cc8fe02f Merge pull request #243 from gethinode/develop
Search
2023-05-08 10:12:53 +02:00
Mark Dumay
ef3d79f875 Merge branch 'main' into develop 2023-05-08 09:57:23 +02:00
mark
c66bb79ac5 Bump release version 2023-05-08 09:56:43 +02:00
mark
c5c5695541 Remove debug statement 2023-05-08 09:55:34 +02:00
mark
a3343c29dc Fix handling when search input is unavailable 2023-05-08 09:52:50 +02:00
mark
50a697c1fb Fix incorrect translation of no search results 2023-05-08 09:50:33 +02:00
github-actions[bot]
6cf7a410f4 Merge pull request #241 from gethinode/dependabot/npm_and_yarn/cssnano-6.0.1
Bump cssnano from 6.0.0 to 6.0.1
2023-05-03 14:13:19 +00:00
dependabot[bot]
bdade82dea Bump cssnano from 6.0.0 to 6.0.1
Bumps [cssnano](https://github.com/cssnano/cssnano) from 6.0.0 to 6.0.1.
- [Release notes](https://github.com/cssnano/cssnano/releases)
- [Commits](https://github.com/cssnano/cssnano/compare/cssnano@6.0.0...cssnano@6.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-03 14:09:44 +00:00
github-actions[bot]
38aac9507e Merge pull request #242 from gethinode/dependabot/npm_and_yarn/stylelint-15.6.1
Bump stylelint from 15.6.0 to 15.6.1
2023-05-03 14:08:56 +00:00
dependabot[bot]
0eec1da639 Bump stylelint from 15.6.0 to 15.6.1
Bumps [stylelint](https://github.com/stylelint/stylelint) from 15.6.0 to 15.6.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/15.6.0...15.6.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-03 14:05:09 +00:00
github-actions[bot]
1e8bc5f11d Merge pull request #240 from gethinode/dependabot/npm_and_yarn/cssnano-preset-advanced-6.0.1
Bump cssnano-preset-advanced from 6.0.0 to 6.0.1
2023-05-01 14:15:51 +00:00
dependabot[bot]
56f467e02c Bump cssnano-preset-advanced from 6.0.0 to 6.0.1
Bumps [cssnano-preset-advanced](https://github.com/cssnano/cssnano) from 6.0.0 to 6.0.1.
- [Release notes](https://github.com/cssnano/cssnano/releases)
- [Commits](https://github.com/cssnano/cssnano/compare/cssnano-preset-advanced@6.0.0...cssnano-preset-advanced@6.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-01 14:12:37 +00:00
github-actions[bot]
83049db4bc Merge pull request #239 from gethinode/dependabot/npm_and_yarn/markdownlint-cli2-0.7.1
Bump markdownlint-cli2 from 0.7.0 to 0.7.1
2023-04-28 14:13:01 +00:00
dependabot[bot]
78599c8f76 Bump markdownlint-cli2 from 0.7.0 to 0.7.1
Bumps [markdownlint-cli2](https://github.com/DavidAnson/markdownlint-cli2) from 0.7.0 to 0.7.1.
- [Release notes](https://github.com/DavidAnson/markdownlint-cli2/releases)
- [Changelog](https://github.com/DavidAnson/markdownlint-cli2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/DavidAnson/markdownlint-cli2/compare/v0.7.0...v0.7.1)

---
updated-dependencies:
- dependency-name: markdownlint-cli2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-28 14:05:36 +00:00
Mark Dumay
fc6e916fca Merge pull request #238 from gethinode/develop
Git commits
2023-04-28 12:29:10 +02:00
Mark Dumay
a0febc31ee Merge branch 'main' into develop 2023-04-28 12:19:27 +02:00
mark
800c82dba5 Bump release version 2023-04-28 12:18:58 +02:00
mark
8b59f3b6f7 Fix docs git commit link 2023-04-28 12:18:06 +02:00
Mark Dumay
9795e04a9b Merge pull request #237 from gethinode/develop
Tables
2023-04-28 09:23:19 +02:00
mark
6381cb3519 Fix linting issues 2023-04-28 09:18:51 +02:00
mark
01927f22b6 Bump package release 2023-04-28 09:07:52 +02:00
mark
da75210771 Add responsive behavior for tables 2023-04-28 09:00:12 +02:00
mark
b47bf99744 Fix highlight of nav items 2023-04-27 17:46:13 +02:00
Mark Dumay
2a4ba34c51 Merge pull request #236 from gethinode/develop
Add Google Analytics for demo site
2023-04-27 15:00:26 +02:00
mark
fc07cec664 Use cross-domain linking 2023-04-27 14:55:08 +02:00
Mark Dumay
538a1d2de3 Merge branch 'main' into develop 2023-04-27 14:46:22 +02:00
mark
6dda374b73 Add Google Analytics for demo site 2023-04-27 14:45:36 +02:00
Mark Dumay
e53a333ebf Merge pull request #235 from gethinode/develop
Fixes
2023-04-27 12:58:45 +02:00
Mark Dumay
5ed8c28bee Merge branch 'main' into develop 2023-04-27 12:36:22 +02:00
mark
fa47b7d93e Bump release 2023-04-27 12:35:51 +02:00
mark
f1693c8cf0 Refine Netlify CSP headers 2023-04-27 12:34:56 +02:00
mark
740fd91038 Remove empty parameters 2023-04-27 11:44:45 +02:00
mark
9a0dba5ee4 Fix loading tag manager script twice 2023-04-27 11:44:25 +02:00
Mark Dumay
e4b7b252b3 Revert back to macos-latest 2023-04-27 08:29:00 +02:00
Mark Dumay
569562cf24 Merge pull request #234 from gethinode/develop
Server
2023-04-27 08:28:27 +02:00
Mark Dumay
60b53f2fa9 Merge branch 'main' into develop 2023-04-27 08:17:46 +02:00
mark
3e5f23cf89 Bump release version 2023-04-27 08:17:07 +02:00
mark
c7b16cf2f4 Fix Hugo server detection 2023-04-27 08:16:21 +02:00
Mark Dumay
191d6e3d94 Change to macos-latest-xl runner 2023-04-27 08:01:43 +02:00
Mark Dumay
9dd7bf64e1 Merge pull request #233 from gethinode/main
Sync
2023-04-27 08:00:32 +02:00
Mark Dumay
580675f8b1 Merge pull request #232 from gethinode/tooltip
Tooltip
2023-04-27 07:55:02 +02:00
Mark Dumay
b2b43d550b Merge branch 'main' into tooltip 2023-04-27 07:47:08 +02:00
Mark Dumay
f79317b317 Merge pull request #231 from gethinode/develop
Google Analytics
2023-04-27 07:46:14 +02:00
mark
3d7bcc4356 Bump release version 2023-04-27 07:45:56 +02:00
mark
a7256ff270 Fix tooltip justification 2023-04-27 07:45:47 +02:00
mark
8ffc6dbd59 Bump release version 2023-04-27 07:28:46 +02:00
mark
5bb0cf07e6 Add Google Analytics support 2023-04-27 07:28:22 +02:00
Mark Dumay
37e9e70c55 Merge pull request #230 from gethinode/main
Sync
2023-04-26 16:04:43 +02:00
Mark Dumay
b4ddc8c58d Merge pull request #229 from gethinode/TOC
TOC
2023-04-26 16:01:32 +02:00
Mark Dumay
a7c4be508d Merge branch 'main' into TOC 2023-04-26 15:55:39 +02:00
mark
0988e07106 Fix linting issues 2023-04-26 15:50:29 +02:00
mark
7dcbfe8373 Add hover color to sidebar TOC 2023-04-26 15:48:59 +02:00
Mark Dumay
fdebbccfa1 Merge branch 'main' into develop 2023-04-26 13:44:28 +02:00
mark
7d1cd93e87 Bump release version 2023-04-26 13:43:04 +02:00
mark
3a056829c5 Improve configurability of button 2023-04-26 13:40:47 +02:00
mark
0ee0febc15 Adjust TOC button shadow 2023-04-26 13:40:22 +02:00
mark
ac081a3084 Add icon support 2023-04-26 12:07:59 +02:00
mark
9d07b5da5a Add TOC drop-down for small screens 2023-04-26 12:02:52 +02:00
Mark Dumay
67f1708691 Merge pull request #227 from gethinode/develop
Release v0.12.0
2023-04-25 16:48:00 +02:00
Mark Dumay
c5e5ec0f21 Merge branch 'main' into develop 2023-04-25 16:42:28 +02:00
mark
d461333738 Bump dependencies 2023-04-25 16:37:28 +02:00
mark
32c422a2a8 Bump release version 2023-04-25 16:36:49 +02:00
github-actions[bot]
b66660b557 Merge pull request #225 from gethinode/dependabot/npm_and_yarn/stylelint-config-standard-scss-9.0.0
Bump stylelint-config-standard-scss from 8.0.0 to 9.0.0
2023-04-25 14:09:00 +00:00
dependabot[bot]
be95c3cd68 Bump stylelint-config-standard-scss from 8.0.0 to 9.0.0
Bumps [stylelint-config-standard-scss](https://github.com/stylelint-scss/stylelint-config-standard-scss) from 8.0.0 to 9.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/v8.0.0...v9.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-25 14:04:29 +00:00
mark
74aa32e595 Move partials to assets folder 2023-04-25 15:58:45 +02:00
mark
4c305b38a5 Improve partial error messages 2023-04-25 15:31:36 +02:00
mark
63c609c1d3 Improve configurability of nav partial 2023-04-25 15:24:23 +02:00
mark
d7424d26eb Update i18n keywords 2023-04-25 13:22:57 +02:00
mark
1f66740c19 Refine minimal layout 2023-04-25 13:15:40 +02:00
github-actions[bot]
cb032b4fb8 Merge pull request #224 from gethinode/dependabot/npm_and_yarn/eslint-8.39.0
Bump eslint from 8.38.0 to 8.39.0
2023-04-24 14:21:22 +00:00
dependabot[bot]
3889382e19 Bump eslint from 8.38.0 to 8.39.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.38.0 to 8.39.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/v8.38.0...v8.39.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-24 14:17:25 +00:00
github-actions[bot]
86addfd6dd Merge pull request #223 from gethinode/dependabot/npm_and_yarn/stylelint-15.6.0
Bump stylelint from 15.5.0 to 15.6.0
2023-04-24 14:16:22 +00:00
dependabot[bot]
9110fb5ab4 Bump stylelint from 15.5.0 to 15.6.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 15.5.0 to 15.6.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/15.5.0...15.6.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-24 14:12:08 +00:00
Mark Dumay
fad4cdbfd2 Merge pull request #221 from gethinode/develop
Sections
2023-04-24 15:00:20 +02:00
Mark Dumay
c403d422d9 Merge branch 'main' into develop 2023-04-24 14:52:03 +02:00
mark
0ecfa72864 Update section config 2023-04-24 14:51:00 +02:00
mark
62af498414 Refactor card group 2023-04-24 14:50:19 +02:00
mark
ee37599ded Fix card header and footer 2023-04-24 14:43:57 +02:00
mark
9a4c7c7776 Merge snippets and lists into sections 2023-04-24 14:17:37 +02:00
mark
c05eeb015c Bump release version 2023-04-24 14:09:23 +02:00
mark
d9f898a2e1 Add unique id to each nav 2023-04-24 06:54:01 +02:00
mark
36f31a57ae Fix id 2023-04-24 06:52:40 +02:00
mark
17b3bbaf80 Add body as supported color 2023-04-24 06:52:30 +02:00
mark
26bc4ebb00 Prioritize page title over param title 2023-04-24 04:52:17 +02:00
mark
d13d80af2f Adjust build timeout 2023-04-23 16:35:43 +02:00
Mark Dumay
64abaf8d1e Merge pull request #220 from gethinode/develop
Fixes
2023-04-23 14:55:05 +02:00
Mark Dumay
ffc9c47b45 Merge branch 'main' into develop 2023-04-23 14:43:04 +02:00
mark
092630b030 Fix layout of figures 2023-04-23 14:39:44 +02:00
mark
2ec60a8b71 Adjust top spacing 2023-04-23 14:39:03 +02:00
mark
9af871fee7 Align layout of tags to single page layout 2023-04-23 14:38:43 +02:00
mark
883ab3f7a0 Bump release version 2023-04-23 14:26:30 +02:00
mark
d6a49ccb90 Refine padding 2023-04-23 14:25:41 +02:00
mark
fdc58d52e9 Fix image caption when ratio is set 2023-04-23 13:55:30 +02:00
Mark Dumay
97a829dfff Merge pull request #219 from gethinode/develop
Fixes
2023-04-23 10:14:54 +02:00
Mark Dumay
c7fbc548bb Merge branch 'main' into develop 2023-04-23 09:46:03 +02:00
mark
794510861c Bump release version 2023-04-23 09:45:34 +02:00
mark
da7c70c444 Fix detection of homepage 2023-04-23 09:45:02 +02:00
mark
1571decb8e Update supported colors 2023-04-23 08:44:53 +02:00
mark
835d3e615e Remove obsolete forestry config 2023-04-23 07:56:56 +02:00
Mark Dumay
393aea46e1 Merge pull request #218 from gethinode/develop
Colors
2023-04-23 07:53:47 +02:00
Mark Dumay
f3347e871e Merge branch 'main' into develop 2023-04-23 07:47:44 +02:00
mark
9d751abbf0 Bump release to 0.12.0-alpha2 2023-04-23 07:47:03 +02:00
mark
ccfc674019 Improve placement of multiple tag buttons 2023-04-23 07:43:49 +02:00
mark
45aa488e37 Set project card color to body-tertiary 2023-04-23 07:38:33 +02:00
mark
5d96fdb3db Make tags color-mode aware 2023-04-23 07:34:54 +02:00
mark
c2faf0d4f6 Update card example 2023-04-23 07:22:12 +02:00
mark
1e8d94e1fb Change tertiary to body-tertiary 2023-04-23 07:21:45 +02:00
mark
3a6edbf2a2 Improve colored links for color modes 2023-04-23 07:13:45 +02:00
Mark Dumay
a52154b531 Merge pull request #217 from gethinode/develop
v0.12.0 prerelease
2023-04-22 13:38:29 +02:00
mark
a27d25737f Add nav example in Dutch 2023-04-22 13:33:50 +02:00
mark
e810df9177 Change color to tertiary 2023-04-22 13:33:32 +02:00
mark
d4dc5d8693 Stretch background color to entire viewport 2023-04-22 13:23:30 +02:00
Mark Dumay
878258796b Merge branch 'main' into develop 2023-04-22 13:10:49 +02:00
mark
0397b66d05 Do not center headlines by default 2023-04-22 13:09:09 +02:00
mark
5ef32bed6d Add option to center headlines on homepage 2023-04-22 13:08:42 +02:00
mark
bbdd8b6c62 Adjust style of header 2023-04-22 13:07:57 +02:00
mark
67a1d58178 Adjust style of header 2023-04-22 13:07:20 +02:00
mark
1bede70fae Fix lint issues 2023-04-22 12:42:00 +02:00
mark
156dbfd3a9 Add section styles 2023-04-22 12:39:44 +02:00
mark
c2a2ffd06d Add reveal animation 2023-04-22 12:39:22 +02:00
mark
6aeb1ae617 Add reveal animation 2023-04-22 12:39:13 +02:00
mark
9fe02aa39b Add snippet list partial 2023-04-22 12:33:40 +02:00
mark
f6f65ef7f3 Set max width of sections 2023-04-22 12:32:08 +02:00
mark
8b8a6b5b36 Add list partial 2023-04-22 12:31:21 +02:00
mark
9fabcbaf13 Adjust style of header 2023-04-22 12:30:30 +02:00
mark
18ad1ebc93 Adjust style of header 2023-04-22 12:28:29 +02:00
mark
f4cde441a0 Set max width of single pages 2023-04-22 12:27:49 +02:00
mark
1baea7f63d Add support for snippets 2023-04-22 12:25:48 +02:00
mark
89b7aa24e9 Set max width of featured section 2023-04-22 12:22:50 +02:00
mark
2ebbf5a370 Set max width of footer 2023-04-22 12:20:16 +02:00
mark
595e562814 Add nav partial 2023-04-22 12:05:08 +02:00
mark
2bf64805dc Adjust maximum width of navbar 2023-04-22 12:04:33 +02:00
mark
0576f78240 Add persona shortcode 2023-04-22 11:58:46 +02:00
mark
0f06571e50 Refine message of 404 page 2023-04-22 11:55:53 +02:00
mark
bb834c9c15 Improve layout of 404 page 2023-04-22 11:52:16 +02:00
mark
f000d95533 Change release to 0.12.0-alpha 2023-04-22 11:47:45 +02:00
mark
d3738657a3 Add "body" and "tertiary" theme colors 2023-04-22 11:46:42 +02:00
Mark Dumay
d2655290b4 Merge pull request #216 from gethinode/develop
Refinement
2023-04-21 18:06:20 +02:00
Mark Dumay
97fd864129 Merge branch 'main' into develop 2023-04-21 16:59:07 +02:00
mark
44d2f3699f Fix indentation of sidebar items 2023-04-21 16:56:41 +02:00
github-actions[bot]
7bc7621996 Merge pull request #215 from gethinode/dependabot/npm_and_yarn/markdownlint-cli2-0.7.0
Bump markdownlint-cli2 from 0.6.0 to 0.7.0
2023-04-20 14:09:55 +00:00
dependabot[bot]
19b6a7817d Bump markdownlint-cli2 from 0.6.0 to 0.7.0
Bumps [markdownlint-cli2](https://github.com/DavidAnson/markdownlint-cli2) from 0.6.0 to 0.7.0.
- [Release notes](https://github.com/DavidAnson/markdownlint-cli2/releases)
- [Changelog](https://github.com/DavidAnson/markdownlint-cli2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/DavidAnson/markdownlint-cli2/compare/v0.6.0...v0.7.0)

---
updated-dependencies:
- dependency-name: markdownlint-cli2
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-20 14:04:55 +00:00
mark
eddfe93e6e Add persona partial 2023-04-18 15:27:23 +02:00
mark
a5b3b61e23 Remove commented code 2023-04-18 12:02:02 +02:00
mark
6586370d75 Refine nav 2023-04-18 11:58:38 +02:00
Mark Dumay
c1de0a4604 Merge pull request #213 from gethinode/develop
Color mode
2023-04-18 06:07:33 +02:00
Mark Dumay
e71908e2a8 Merge branch 'main' into develop 2023-04-17 16:57:32 +02:00
mark
053b63a580 Add callout styles 2023-04-17 16:54:42 +02:00
mark
276b2e7ab5 Bump release version 2023-04-17 16:54:39 +02:00
mark
db5cadb2ac Add color mode support for images 2023-04-17 16:40:35 +02:00
github-actions[bot]
a6669030d8 Merge pull request #212 from gethinode/dependabot/npm_and_yarn/stylelint-15.5.0
Bump stylelint from 15.4.0 to 15.5.0
2023-04-17 14:12:11 +00:00
dependabot[bot]
8cbd2db6fa Bump stylelint from 15.4.0 to 15.5.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 15.4.0 to 15.5.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/15.4.0...15.5.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-17 14:09:16 +00:00
Mark Dumay
b09b411b10 Update and rename auto-approve.yml to auto-merge.yml 2023-04-14 05:15:00 +02:00
Mark Dumay
b4414c9ecb Merge pull request #210 from gethinode/develop
Nav shortcode
2023-04-13 16:57:53 +02:00
Mark Dumay
e6a4d9a643 Merge branch 'main' into develop 2023-04-13 16:52:36 +02:00
mark
4c4bce6e1e Bump release version 2023-04-13 16:51:32 +02:00
mark
5c6c934499 Add nav shortcode 2023-04-13 16:50:58 +02:00
mark
f163c870cd Move auto-approve to workflows 2023-04-13 10:01:04 +02:00
Mark Dumay
b6035d2aa8 Merge pull request #207 from gethinode/dependabot/npm_and_yarn/eslint-8.38.0
Bump eslint from 8.37.0 to 8.38.0
2023-04-13 07:40:37 +02:00
Mark Dumay
2eed95a45d Merge branch 'main' into dependabot/npm_and_yarn/eslint-8.38.0 2023-04-13 07:34:19 +02:00
Mark Dumay
9019ea8d3c Rename auto-approve to auto-approve.yml 2023-04-13 07:34:01 +02:00
Mark Dumay
bd88950647 Create auto-approve 2023-04-13 07:33:37 +02:00
Mark Dumay
7b2d88d9d7 Merge branch 'main' into dependabot/npm_and_yarn/eslint-8.38.0 2023-04-13 07:19:27 +02:00
Mark Dumay
c6cc6e03eb Merge pull request #209 from gethinode/dependabot/npm_and_yarn/stylelint-config-standard-scss-8.0.0
Bump stylelint-config-standard-scss from 7.0.1 to 8.0.0
2023-04-11 17:08:29 +02:00
dependabot[bot]
afc023d580 Bump stylelint-config-standard-scss from 7.0.1 to 8.0.0
Bumps [stylelint-config-standard-scss](https://github.com/stylelint-scss/stylelint-config-standard-scss) from 7.0.1 to 8.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/v7.0.1...v8.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-11 14:05:35 +00:00
Mark Dumay
d3a15b5b1e Merge pull request #208 from gethinode/dependabot/npm_and_yarn/rimraf-5.0.0
Bump rimraf from 4.4.1 to 5.0.0
2023-04-10 16:31:33 +02:00
dependabot[bot]
d928f6d4fd Bump rimraf from 4.4.1 to 5.0.0
Bumps [rimraf](https://github.com/isaacs/rimraf) from 4.4.1 to 5.0.0.
- [Release notes](https://github.com/isaacs/rimraf/releases)
- [Changelog](https://github.com/isaacs/rimraf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/rimraf/compare/v4.4.1...v5.0.0)

---
updated-dependencies:
- dependency-name: rimraf
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-10 14:11:48 +00:00
dependabot[bot]
f2559c243f Bump eslint from 8.37.0 to 8.38.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.37.0 to 8.38.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/v8.37.0...v8.38.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-10 14:11:28 +00:00
mark
0e073465ae Remove color mode switcher from navbar example 2023-04-10 15:16:34 +02:00
Mark Dumay
f5dafb50a8 Merge pull request #206 from gethinode/develop
Bump release version
2023-04-10 14:44:06 +02:00
mark
671cd1f0f2 Bump release version 2023-04-10 14:43:38 +02:00
Mark Dumay
e15052db22 Merge pull request #205 from gethinode/develop
Navbar
2023-04-10 14:42:38 +02:00
mark
6be2bb28f8 Fix #204 2023-04-10 14:16:45 +02:00
mark
31e4161258 Apply small drop shadow for expanded navbar 2023-04-10 14:16:20 +02:00
mark
44d018fa7c Fix invalid value 2023-04-10 14:15:32 +02:00
mark
3a49d0ca73 Adjust divider for collapsed and regular navbar 2023-04-10 14:14:45 +02:00
mark
c5ac3bbd3c Fix indent 2023-04-10 14:10:28 +02:00
Mark Dumay
6fe0df9466 Merge pull request #203 from gethinode/develop
Navbar
2023-04-09 15:20:59 +02:00
mark
2fc134503c Bump release version 2023-04-09 15:14:11 +02:00
mark
f11e98367b Change navbar size 2023-04-09 15:13:31 +02:00
mark
0ad4875ee2 Improve mode selector behavior 2023-04-09 15:13:11 +02:00
mark
a227a01407 Hide language label unless collapsed 2023-04-09 15:12:37 +02:00
mark
a8c8546c23 Add mode param 2023-04-09 15:11:20 +02:00
mark
0aa2a0427b Add mode param 2023-04-09 15:10:27 +02:00
mark
3047f8e937 Support multiple selectors 2023-04-09 15:10:01 +02:00
Mark Dumay
d144bd328c Merge pull request #202 from gethinode/develop
Color mode
2023-04-08 09:09:13 +02:00
mark
8815642bea Bump release version 2023-04-08 08:57:30 +02:00
mark
cb862374fd FIx icon path 2023-04-08 08:56:45 +02:00
mark
60265ce7e8 Fix #200 2023-04-08 08:54:25 +02:00
Mark Dumay
eec1c0954a Update bug_report.md
Add Hinode version
2023-04-07 18:44:14 +02:00
mark
8aa0556298 Move stylesheet to folder 2023-04-06 17:49:53 +02:00
mark
c92c1686cd Remove redundant suffix from main js bundle 2023-04-06 17:29:43 +02:00
Mark Dumay
f2509b07af Merge pull request #199 from gethinode/develop
Navigation
2023-04-06 09:49:34 +02:00
mark
4b606deafd Clean up style 2023-04-06 09:40:11 +02:00
mark
d9f805d4a4 Bump release version 2023-04-06 09:33:10 +02:00
mark
a62bea018b Refine TOC offset 2023-04-06 09:31:09 +02:00
mark
2596f2d7ee Refine heading offset 2023-04-06 09:31:02 +02:00
mark
2bcd955402 Fix #154 2023-04-06 09:09:17 +02:00
Mark Dumay
511ad2cb4c Merge pull request #198 from gethinode/develop
Navbar
2023-04-06 06:21:07 +02:00
mark
b87a91f6df Fix #128 2023-04-06 06:17:30 +02:00
mark
11b8bb4c69 Bump release version 2023-04-06 06:05:00 +02:00
mark
84fab6b8a8 Improve alignment of navbar elements 2023-04-06 06:04:29 +02:00
Mark Dumay
656770352a Merge pull request #197 from gethinode/develop
Configurable sidebar version
2023-04-05 13:17:07 +02:00
mark
1dadce3f92 Bump release version 2023-04-05 13:11:57 +02:00
mark
8d428d3b51 Make sidebar version configurable 2023-04-05 13:11:28 +02:00
Mark Dumay
8de8204f0e Merge pull request #196 from gethinode/develop
Clean up
2023-04-05 09:20:30 +02:00
mark
e5d2ece0b7 Bump release version 2023-04-05 09:16:00 +02:00
mark
01159ceea2 Remove debug statement 2023-04-05 09:10:07 +02:00
Mark Dumay
d6357b70ae Merge pull request #195 from gethinode/develop
Multi-level sidebar nav
2023-04-05 09:05:08 +02:00
mark
eb000e9f81 Fix linting issues 2023-04-05 08:51:38 +02:00
mark
efe9c2e06e Bump release version 2023-04-05 08:39:41 +02:00
mark
4c41cbcafb Enable nested sidebar navigation 2023-04-05 08:39:24 +02:00
mark
1910af163d Move API to enable utilities in theme styles 2023-04-05 08:31:21 +02:00
Mark Dumay
cba1566ba1 Merge pull request #194 from gethinode/develop
Bump dependencies
2023-04-03 15:27:27 +02:00
mark
69abe3ec0c Bump dependencies 2023-04-03 15:19:08 +02:00
Mark Dumay
9961d8e364 Merge pull request #193 from gethinode/develop
Dependencies
2023-04-03 15:04:09 +02:00
mark
7b1f81cd9a Bump Bootstrap to v5.3.0-alpha3 2023-04-03 14:17:06 +02:00
mark
1dd91da4f5 Fix dummy links 2023-04-03 14:14:03 +02:00
mark
624d89118d Use hugo-bin to simplify hugo installation 2023-04-03 14:12:52 +02:00
mark
ddab72c463 Fix #189 2023-04-03 13:42:02 +02:00
Mark Dumay
c95ccd22eb Merge pull request #192 from gethinode/main
Sync with main
2023-04-03 11:51:41 +02:00
Mark Dumay
ced7196084 Merge pull request #191 from gethinode/sass
Sidebar
2023-04-03 11:45:39 +02:00
mark
9c726191de Bump release version 2023-04-03 11:39:57 +02:00
mark
93a6fab67f Fix #190 2023-04-03 11:38:48 +02:00
Mark Dumay
923ff12915 Merge pull request #188 from gethinode/sass
Bootstrap 5.3.0-alpha2
2023-04-01 14:36:44 +02:00
mark
aaa299ef1d Bump Bootstrap to v5.3.0-alpha2 2023-04-01 14:22:18 +02:00
mark
e93bfcce8e Add js docs support 2023-04-01 14:19:52 +02:00
mark
d3847186b7 Bump dependencies 2023-04-01 14:12:19 +02:00
mark
ac956333d4 Use shorthand notation 2023-04-01 14:11:49 +02:00
Mark Dumay
08ab28bfea Merge pull request #187 from gethinode/main
Sync with main branch
2023-04-01 14:05:50 +02:00
Mark Dumay
18d4548b8d Merge pull request #186 from gethinode/main
Sync with main branch
2023-04-01 14:02:50 +02:00
Mark Dumay
38f4fe796b Merge pull request #182 from gethinode/dependabot/npm_and_yarn/cssnano-6.0.0
Bump cssnano from 5.1.15 to 6.0.0
2023-04-01 13:56:05 +02:00
Mark Dumay
04e4c37f3e Merge pull request #185 from gethinode/dependabot/npm_and_yarn/eslint-8.37.0
Bump eslint from 8.36.0 to 8.37.0
2023-03-30 17:42:53 +02:00
Mark Dumay
c4695dd771 Merge pull request #184 from gethinode/dependabot/npm_and_yarn/eslint-plugin-n-15.7.0
Bump eslint-plugin-n from 15.6.1 to 15.7.0
2023-03-30 17:42:16 +02:00
dependabot[bot]
cb75b6c777 Bump eslint from 8.36.0 to 8.37.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.36.0 to 8.37.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/v8.36.0...v8.37.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-30 14:12:29 +00:00
dependabot[bot]
827fcd9d4d Bump eslint-plugin-n from 15.6.1 to 15.7.0
Bumps [eslint-plugin-n](https://github.com/eslint-community/eslint-plugin-n) from 15.6.1 to 15.7.0.
- [Release notes](https://github.com/eslint-community/eslint-plugin-n/releases)
- [Commits](https://github.com/eslint-community/eslint-plugin-n/compare/15.6.1...15.7.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-30 14:11:56 +00:00
dependabot[bot]
21f1678de4 Bump cssnano from 5.1.15 to 6.0.0
Bumps [cssnano](https://github.com/cssnano/cssnano) from 5.1.15 to 6.0.0.
- [Release notes](https://github.com/cssnano/cssnano/releases)
- [Commits](https://github.com/cssnano/cssnano/compare/cssnano@5.1.15...cssnano@6.0.0)

---
updated-dependencies:
- dependency-name: cssnano
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-28 14:27:26 +00:00
Mark Dumay
f0cfd49983 Merge pull request #183 from gethinode/dependabot/npm_and_yarn/fortawesome/fontawesome-free-6.4.0
Bump @fortawesome/fontawesome-free from 6.3.0 to 6.4.0
2023-03-28 16:24:37 +02:00
Mark Dumay
61fb294dfd Merge pull request #181 from gethinode/dependabot/npm_and_yarn/cssnano-preset-advanced-6.0.0
Bump cssnano-preset-advanced from 5.3.10 to 6.0.0
2023-03-28 16:23:59 +02:00
dependabot[bot]
7e1843febe Bump @fortawesome/fontawesome-free from 6.3.0 to 6.4.0
Bumps [@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome) from 6.3.0 to 6.4.0.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.3.0...6.4.0)

---
updated-dependencies:
- dependency-name: "@fortawesome/fontawesome-free"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-28 14:11:46 +00:00
dependabot[bot]
7ed4693f40 Bump cssnano-preset-advanced from 5.3.10 to 6.0.0
Bumps [cssnano-preset-advanced](https://github.com/cssnano/cssnano) from 5.3.10 to 6.0.0.
- [Release notes](https://github.com/cssnano/cssnano/releases)
- [Commits](https://github.com/cssnano/cssnano/compare/cssnano-preset-advanced@5.3.10...cssnano-preset-advanced@6.0.0)

---
updated-dependencies:
- dependency-name: cssnano-preset-advanced
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-28 14:11:09 +00:00
Mark Dumay
6c08d5eda1 Merge pull request #179 from gethinode/dependabot/npm_and_yarn/rimraf-4.4.1
Bump rimraf from 4.4.0 to 4.4.1
2023-03-23 15:33:08 +01:00
dependabot[bot]
79e1b0aae1 Bump rimraf from 4.4.0 to 4.4.1
Bumps [rimraf](https://github.com/isaacs/rimraf) from 4.4.0 to 4.4.1.
- [Release notes](https://github.com/isaacs/rimraf/releases)
- [Changelog](https://github.com/isaacs/rimraf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/rimraf/compare/v4.4.0...v4.4.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-23 14:14:45 +00:00
Mark Dumay
f3225ff139 Merge pull request #177 from gethinode/sass
Sass
2023-03-18 06:33:40 +01:00
mark
f0389f83b7 Add js support 2023-03-18 06:25:54 +01:00
mark
d8271aa83a Bump release version 2023-03-18 06:24:38 +01:00
mark
c523f2b890 Bump dependencies 2023-03-18 06:22:51 +01:00
mark
6a32015d08 Support Bootstrap theme 2023-03-18 06:22:36 +01:00
mark
e576737ff1 Add PostProcess in production 2023-03-18 06:21:36 +01:00
Mark Dumay
08fa4d8c89 Merge pull request #175 from gethinode/dependabot/npm_and_yarn/eslint-8.36.0
Bump eslint from 8.35.0 to 8.36.0
2023-03-13 17:01:46 +01:00
dependabot[bot]
7086700562 Bump eslint from 8.35.0 to 8.36.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.35.0 to 8.36.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/v8.35.0...v8.36.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-13 14:14:57 +00:00
Mark Dumay
a8fbdad172 Merge pull request #173 from gethinode/sass
Sass
2023-03-12 13:11:17 +01:00
mark
d374f50b66 Refine safelist 2023-03-12 12:52:55 +01:00
mark
f0210348c6 Bump release version 2023-03-12 12:52:44 +01:00
mark
d66b093281 Rename duplicate build tag 2023-03-12 12:50:09 +01:00
Mark Dumay
bda9550c16 Merge pull request #172 from gethinode/sass
Sass
2023-03-12 09:25:58 +01:00
mark
36a4d93321 Update lint ignore path 2023-03-12 08:59:36 +01:00
mark
26aeec106a Bump release version 2023-03-12 08:58:08 +01:00
mark
d419bb8f67 Fix import statement 2023-03-12 08:57:36 +01:00
mark
b840ce6cf4 Move files to theme folder to fix downstream mount 2023-03-12 08:57:21 +01:00
mark
816b7ca920 Move files to theme folder to fix downstream mount 2023-03-12 08:56:50 +01:00
mark
3534141678 Add fonts to purge safelist 2023-03-12 08:36:56 +01:00
Mark Dumay
7125033baa Merge pull request #171 from gethinode/dependabot/npm_and_yarn/autoprefixer-10.4.14
Bump autoprefixer from 10.4.13 to 10.4.14
2023-03-10 17:24:15 +01:00
Mark Dumay
042fa303be Merge pull request #170 from gethinode/dependabot/npm_and_yarn/rimraf-4.4.0
Bump rimraf from 4.3.1 to 4.4.0
2023-03-10 17:23:49 +01:00
dependabot[bot]
5bd83f8255 Bump autoprefixer from 10.4.13 to 10.4.14
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.4.13 to 10.4.14.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/10.4.13...10.4.14)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-10 14:08:45 +00:00
dependabot[bot]
f0d18dc909 Bump rimraf from 4.3.1 to 4.4.0
Bumps [rimraf](https://github.com/isaacs/rimraf) from 4.3.1 to 4.4.0.
- [Release notes](https://github.com/isaacs/rimraf/releases)
- [Changelog](https://github.com/isaacs/rimraf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/rimraf/compare/v4.3.1...v4.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-10 14:08:15 +00:00
Mark Dumay
128f9d6071 Merge pull request #168 from gethinode/dependabot/npm_and_yarn/rimraf-4.3.1
Bump rimraf from 4.3.0 to 4.3.1
2023-03-07 18:34:53 +01:00
dependabot[bot]
f0be69daf5 Bump rimraf from 4.3.0 to 4.3.1
Bumps [rimraf](https://github.com/isaacs/rimraf) from 4.3.0 to 4.3.1.
- [Release notes](https://github.com/isaacs/rimraf/releases)
- [Changelog](https://github.com/isaacs/rimraf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/rimraf/compare/v4.3.0...v4.3.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-07 14:10:03 +00:00
Mark Dumay
d21bc1fe42 Merge pull request #167 from gethinode/dependabot/npm_and_yarn/rimraf-4.3.0
Bump rimraf from 4.2.0 to 4.3.0
2023-03-06 15:31:08 +01:00
Mark Dumay
6da61c23db Merge pull request #166 from gethinode/sass
Adjust default purge settings
2023-03-06 15:30:27 +01:00
dependabot[bot]
454efc5915 Bump rimraf from 4.2.0 to 4.3.0
Bumps [rimraf](https://github.com/isaacs/rimraf) from 4.2.0 to 4.3.0.
- [Release notes](https://github.com/isaacs/rimraf/releases)
- [Changelog](https://github.com/isaacs/rimraf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/rimraf/compare/v4.2.0...v4.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-06 14:25:49 +00:00
mark
aa139ec51a Adjust default purge settings 2023-03-06 15:23:07 +01:00
Mark Dumay
a7844486bf Merge pull request #165 from gethinode/sass
Sass
2023-03-06 15:16:59 +01:00
mark
221dc23a05 Remove deprecated rules 2023-03-06 07:38:44 +01:00
mark
92d97f7091 Bump release version 2023-03-06 07:37:00 +01:00
mark
51b31cb98a Make reading of site params more consistent 2023-03-06 07:35:06 +01:00
mark
2935b60404 Use isProduction flag 2023-03-06 07:34:24 +01:00
mark
fc74085a7f Add CSS purge 2023-03-06 07:33:54 +01:00
mark
cd6b7332ab Revert back to libsass 2023-03-06 07:30:27 +01:00
mark
ef952f73f8 Ignore hugo_stats.json 2023-03-06 06:57:28 +01:00
mark
4a3a6d5395 Bump Hugo dependency 2023-03-06 06:57:02 +01:00
mark
b4186265ef Remove superfluous trailing forward slash 2023-03-06 06:10:27 +01:00
mark
ac5ae9aeb8 Use Dart Sass syntax 2023-03-04 12:45:57 +01:00
mark
d15eced48c Make Font Awesome fonts configurable 2023-03-04 12:42:26 +01:00
mark
7a66470b67 Use Hugo template variables 2023-03-04 08:54:53 +01:00
mark
1b772f8a18 Use Hugo template variables 2023-03-04 08:53:43 +01:00
mark
29c49350a2 Improve consistency of color definition 2023-03-04 08:39:51 +01:00
mark
6f0e767610 Leverage Sass variables from Hugo templates (v0.109.0) 2023-03-04 08:37:08 +01:00
mark
013937d60f Bump Hugo dependency 2023-03-04 08:32:52 +01:00
Mark Dumay
dc99a35258 Merge pull request #164 from gethinode/dependabot/npm_and_yarn/rimraf-4.2.0
Bump rimraf from 4.1.3 to 4.2.0
2023-03-03 17:26:03 +01:00
dependabot[bot]
3b4c4cb02f Bump rimraf from 4.1.3 to 4.2.0
Bumps [rimraf](https://github.com/isaacs/rimraf) from 4.1.3 to 4.2.0.
- [Release notes](https://github.com/isaacs/rimraf/releases)
- [Changelog](https://github.com/isaacs/rimraf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/rimraf/compare/v4.1.3...v4.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-03 14:08:23 +00:00
Mark Dumay
56929c918a Merge pull request #163 from gethinode/dependabot/npm_and_yarn/rimraf-4.1.3
Bump rimraf from 4.1.2 to 4.1.3
2023-03-02 17:26:17 +01:00
dependabot[bot]
696ccbf64b Bump rimraf from 4.1.2 to 4.1.3
Bumps [rimraf](https://github.com/isaacs/rimraf) from 4.1.2 to 4.1.3.
- [Release notes](https://github.com/isaacs/rimraf/releases)
- [Changelog](https://github.com/isaacs/rimraf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/rimraf/compare/v4.1.2...v4.1.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-02 14:24:39 +00:00
Mark Dumay
2e5028a612 Merge pull request #162 from gethinode/dependabot/npm_and_yarn/eslint-8.35.0
Bump eslint from 8.34.0 to 8.35.0
2023-02-27 15:39:00 +01:00
dependabot[bot]
89ecf07f23 Bump eslint from 8.34.0 to 8.35.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.34.0 to 8.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/v8.34.0...v8.35.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-27 14:22:05 +00:00
Mark Dumay
ea9295da62 Merge pull request #161 from gethinode/develop
Separator
2023-02-26 11:11:10 +01:00
mark
b6b5230cc3 Bump release version 2023-02-26 11:06:43 +01:00
mark
b65110fdcc Add configurable separator for lists 2023-02-26 11:05:55 +01:00
mark
6d3dc7b590 Remove article to fix height alignment 2023-02-26 10:52:50 +01:00
Mark Dumay
7bb479194b Merge pull request #160 from gethinode/develop
Cards
2023-02-26 09:40:45 +01:00
mark
73c1cf8a59 Narrow stylelint hints 2023-02-26 09:35:54 +01:00
mark
20ce3580c7 Fix linting issues 2023-02-26 08:55:57 +01:00
mark
2f733a709d Bump dependencies 2023-02-26 08:54:42 +01:00
mark
96b1eaaa04 Bump package version 2023-02-26 08:54:17 +01:00
mark
f0200f77dc Apply card-zoom animation to blog posts 2023-02-26 08:42:03 +01:00
mark
4ab462750c Ensure tag links take precedence over the card link 2023-02-26 08:41:41 +01:00
mark
597ea2fa2b Refine card-body-link style 2023-02-26 08:41:18 +01:00
mark
82b8228277 Add card-zoom animation 2023-02-26 08:40:48 +01:00
mark
6a025f80c4 Wrap the card in an article 2023-02-26 08:35:28 +01:00
mark
99d4d79537 Wrap the card in an article 2023-02-26 08:34:49 +01:00
mark
e1d1526b10 Ensure tag links take precedence over the card link 2023-02-26 08:33:43 +01:00
mark
8808c10402 Make entire card clickable 2023-02-26 08:32:58 +01:00
mark
87f1733a49 Fix spacing between tags 2023-02-24 06:08:31 +01:00
mark
0da862db93 Fix spacing between date and reading time 2023-02-24 06:05:34 +01:00
Mark Dumay
2bdcce58a7 Merge pull request #159 from gethinode/develop
Fonts
2023-02-23 10:29:17 +01:00
mark
e81456021e Exclude generated font faces from scss lint 2023-02-23 07:44:52 +01:00
mark
2815cda0ed Bump package version 2023-02-23 07:42:54 +01:00
mark
bad3a6fd4b Add autoprefixer and cssnano to postCSS 2023-02-23 06:46:37 +01:00
mark
53a779ca78 Add local fonts support 2023-02-22 04:31:16 +01:00
mark
f559ae17fd Adjust prod script name 2023-02-22 04:16:18 +01:00
Mark Dumay
3bf1cd9ef7 Merge pull request #157 from gethinode/dependabot/npm_and_yarn/stylelint-15.2.0
Bump stylelint from 15.1.0 to 15.2.0
2023-02-20 15:28:31 +01:00
dependabot[bot]
1596b40689 Bump stylelint from 15.1.0 to 15.2.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 15.1.0 to 15.2.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/15.1.0...15.2.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-20 14:23:57 +00:00
Mark Dumay
1506281000 Merge pull request #156 from gethinode/develop
SEO
2023-02-18 17:21:32 +01:00
mark
a0a550d070 Fix scss issue 2023-02-18 17:01:03 +01:00
mark
0fe6e477a4 Bump package version 2023-02-18 16:55:24 +01:00
mark
a8618e1da3 Fix SEO issue 2023-02-18 16:54:44 +01:00
mark
e724130159 Refine scss definitions 2023-02-18 07:44:38 +01:00
Mark Dumay
831fc66534 Merge pull request #153 from gethinode/develop
Fix rendering of scss docs
2023-02-18 07:29:48 +01:00
mark
ba8631b6a3 Bump package version 2023-02-18 07:23:26 +01:00
mark
0092588d87 Fix rendering of scss 2023-02-18 07:22:53 +01:00
Mark Dumay
210f02089f Merge pull request #152 from gethinode/develop
Display
2023-02-18 07:06:13 +01:00
mark
6508caec70 Remove redundant file 2023-02-18 06:59:40 +01:00
mark
5123cd1d6b Bump dependencies 2023-02-18 06:55:58 +01:00
Mark Dumay
ed0b3c9da3 Merge pull request #151 from gethinode/merge
Sync branch
2023-02-18 06:54:42 +01:00
Mark Dumay
55100c9b62 Merge branch 'develop' into merge 2023-02-18 06:54:22 +01:00
mark
1728c66dcc Bump dependencies 2023-02-18 06:49:45 +01:00
mark
4fa17934fd Add display property for color modes 2023-02-18 06:48:45 +01:00
Mark Dumay
263adc92e2 Merge pull request #150 from gethinode/color
Color mode
2023-02-17 15:02:28 +01:00
mark
0b4f63f300 Fix linting issues 2023-02-17 14:52:47 +01:00
mark
6cdd79ac3c Fix title of homepage 2023-02-17 14:49:59 +01:00
mark
6c590a83a8 Clean blog example posts 2023-02-17 14:44:59 +01:00
mark
3e98e3ff81 Add Dutch translation of Bootstrap elements 2023-02-17 14:44:24 +01:00
mark
18dd8ae837 Refine examples 2023-02-17 14:43:56 +01:00
mark
9e9bd2fb60 Update Dutch about content 2023-02-17 09:28:51 +01:00
mark
f50b2ff166 Add color mode feature 2023-02-17 09:28:27 +01:00
mark
f3bfa8f823 Add color mode feature 2023-02-17 09:28:17 +01:00
mark
4764c02fe3 Remove docs screenshots 2023-02-17 09:28:03 +01:00
mark
ef20fb7a22 Bump package version 2023-02-17 07:37:27 +01:00
mark
d74d9b5bee Add body color 2023-02-17 07:35:20 +01:00
mark
2bff77cdae Fix alignment of navbar logo on smaller screens 2023-02-17 06:04:14 +01:00
Mark Dumay
6c319a4ab8 Merge pull request #149 from gethinode/color
Refinement
2023-02-16 15:38:59 +01:00
mark
2f0e9f8a03 Bump package version 2023-02-16 15:33:00 +01:00
mark
99e9d4902b Add support for body color 2023-02-16 15:32:02 +01:00
Mark Dumay
0abf604d2a Merge pull request #148 from gethinode/color
Transparent navbar
2023-02-16 09:44:04 +01:00
mark
ca51130286 Fix linting issues 2023-02-16 09:36:19 +01:00
mark
28e96deb73 Bump package version 2023-02-16 09:28:38 +01:00
mark
9173b6eaaa Add optional style for homepage 2023-02-16 09:28:13 +01:00
mark
492420d13f Remove redundant style element 2023-02-16 09:27:55 +01:00
mark
d2ec492827 Remove redundant style element 2023-02-16 09:27:38 +01:00
mark
d12cdc7a76 Suppor transparent navbar 2023-02-16 07:23:36 +01:00
Mark Dumay
a4f49ffb18 Merge pull request #147 from gethinode/dependabot/npm_and_yarn/stylelint-config-standard-scss-7.0.1
Bump stylelint-config-standard-scss from 7.0.0 to 7.0.1
2023-02-14 18:22:10 +01:00
dependabot[bot]
6599912985 Bump stylelint-config-standard-scss from 7.0.0 to 7.0.1
Bumps [stylelint-config-standard-scss](https://github.com/stylelint-scss/stylelint-config-standard-scss) from 7.0.0 to 7.0.1.
- [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/v7.0.0...v7.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-14 14:10:02 +00:00
Mark Dumay
b7ef39a61c Merge pull request #146 from gethinode/color
Refinement
2023-02-14 06:26:53 +01:00
mark
d4bf047b09 Bump package version 2023-02-14 06:21:06 +01:00
mark
9df3426f41 Fix centering of logo on smaller screens 2023-02-14 06:20:06 +01:00
mark
d7f887c6f6 Revise cache settings in server header 2023-02-14 04:38:13 +01:00
mark
25dfbb3ed3 Revert back to hugo-installer (see #124) 2023-02-14 04:37:33 +01:00
mark
4e48065605 Add spacing below prev/next links 2023-02-13 06:54:26 +01:00
mark
929a86e6b7 Add docs example 2023-02-13 06:52:28 +01:00
mark
e0895d9751 Enable color mode for docs 2023-02-13 06:52:21 +01:00
mark
7a1925594b Replace text-muted with text-body-secondary 2023-02-13 06:47:35 +01:00
mark
913813c602 Switch to hugo-bin 2023-02-13 05:20:17 +01:00
Mark Dumay
4fb4b31635 Merge pull request #145 from gethinode/color
Sidebar
2023-02-12 18:32:27 +01:00
mark
6aedfc9c6a Clean up file 2023-02-12 18:17:09 +01:00
mark
2cc9204d9d Bump dependencies 2023-02-12 18:14:17 +01:00
mark
76fe879066 Bump package version 2023-02-12 18:11:32 +01:00
mark
34b161d10f Enable dark mode for sidebar 2023-02-12 18:08:35 +01:00
mark
5c0f47fdc8 Enable dark mode for sidebar 2023-02-12 18:07:08 +01:00
mark
919b62adac Enable dark mode for sidebar 2023-02-12 18:05:58 +01:00
mark
909ff6bc9e Enable dark mode for sidebar 2023-02-12 18:05:16 +01:00
mark
9b053b876c Fix indentation 2023-02-12 18:05:06 +01:00
mark
831568fde3 Enable dark mode for sidebar 2023-02-12 18:04:09 +01:00
Mark Dumay
54f06566ee Merge pull request #144 from gethinode/color
Color mode
2023-02-12 15:30:18 +01:00
mark
f52241f4fe Disable linting for Bootstrap hot fixes 2023-02-12 15:17:21 +01:00
mark
ea5ce16f3c Disable linting for color.js 2023-02-12 15:14:31 +01:00
Mark Dumay
e1c23e003b Merge branch 'main' into color 2023-02-12 15:08:50 +01:00
mark
a018b2af25 Add dark mode enabler 2023-02-12 15:06:50 +01:00
mark
16a7cecdbe Add hidden helper 2023-02-12 14:42:40 +01:00
mark
091cc49b1d Apply Bootstrap hot fixes 2023-02-12 14:42:21 +01:00
mark
5982b8132f Remove redundant variable 2023-02-12 14:41:56 +01:00
mark
90d158d8c4 Correct accordion and form icons 2023-02-12 14:41:34 +01:00
mark
a5b3a7b3a5 Refine carousel dark-mode colors 2023-02-12 14:41:25 +01:00
mark
feafd3c3a9 Correct accordion and form icons 2023-02-12 14:41:04 +01:00
mark
3fe31f9655 Remove redundant space 2023-02-12 14:40:32 +01:00
mark
317302fd94 Refine card color mode 2023-02-12 14:37:27 +01:00
mark
7d03be11e6 Refine navbar color mode 2023-02-12 14:37:09 +01:00
mark
a8b834c71c Refine syntax highlighting 2023-02-12 14:36:49 +01:00
mark
ca00426f0d Add Bootstrap color-mode hotfixes 2023-02-12 14:33:13 +01:00
mark
040441b7eb Add translations 2023-02-12 14:32:38 +01:00
mark
edde8164d7 Update metadata of shortcodes post 2023-02-12 14:31:46 +01:00
mark
7451687be5 Remove obsolete links 2023-02-11 17:17:39 +01:00
mark
0d55ad9f24 Refine tooltip color 2023-02-11 17:17:20 +01:00
mark
c225e86ef3 Refine scss lint 2023-02-11 17:17:08 +01:00
mark
cd5886be9e Add example shortcodes 2023-02-11 17:01:39 +01:00
mark
a2e909e0b0 Refine rendering of code blocks 2023-02-11 17:01:08 +01:00
mark
a2c45081a3 Use color-mode aware logo 2023-02-11 14:42:02 +01:00
mark
3d7c49db2e Use color-mode aware logo 2023-02-11 14:35:15 +01:00
mark
d2ba6f827b Add todo 2023-02-11 14:34:11 +01:00
mark
2137062559 Fix spacing 2023-02-11 14:33:55 +01:00
mark
d08c23f668 Support color mode for navbar toggler 2023-02-11 14:33:38 +01:00
mark
c04a0c1981 Switch to logo icon in navbar 2023-02-11 14:28:40 +01:00
mark
c2484433e8 Support color mode for code blocks 2023-02-11 14:27:46 +01:00
mark
c92af394eb Support color mode 2023-02-11 06:34:53 +01:00
mark
e82b4cce0c Support color mode 2023-02-11 06:34:45 +01:00
mark
ff5624951d Bump package version 2023-02-10 09:28:39 +01:00
mark
0d1aa334b3 Use Bootstrap 5.3.0-alpha1 to enable color mode 2023-02-10 09:28:31 +01:00
mark
24979034a3 Support color mode 2023-02-10 09:27:26 +01:00
mark
d43a992efd Enable color mode 2023-02-10 09:27:02 +01:00
mark
d913dbf00b Fix appearance behavior 2023-02-10 09:26:42 +01:00
mark
e3c3f8eb75 Support navbar color mode 2023-02-10 04:49:38 +01:00
mark
4e6c437274 Support navbar color mode 2023-02-10 04:48:55 +01:00
mark
3ae4c5ee97 Add theme color 2023-02-10 04:48:05 +01:00
mark
bce3d8ed83 Add dark variables 2023-02-10 04:47:45 +01:00
mark
02f3b9cedc Remove obsolete navbar-style 2023-02-10 04:47:07 +01:00
Mark Dumay
0721243d82 Merge pull request #141 from gethinode/dependabot/npm_and_yarn/fortawesome/fontawesome-free-6.3.0
Bump @fortawesome/fontawesome-free from 6.2.1 to 6.3.0
2023-02-08 16:53:04 +01:00
dependabot[bot]
63fda8378e Bump @fortawesome/fontawesome-free from 6.2.1 to 6.3.0
Bumps [@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome) from 6.2.1 to 6.3.0.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/6.x/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/6.2.1...6.3.0)

---
updated-dependencies:
- dependency-name: "@fortawesome/fontawesome-free"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-08 13:15:35 +00:00
Mark Dumay
0bd6257ef5 Merge pull request #140 from gethinode/develop
Refine readme
2023-02-08 05:55:19 +01:00
mark
cfec32ac11 Fix linting issues 2023-02-08 05:42:54 +01:00
mark
8f32d613d1 Refine readme 2023-02-08 05:32:30 +01:00
Mark Dumay
7a46a47cea Merge pull request #139 from gethinode/develop
Refinement
2023-02-08 04:18:55 +01:00
mark
a0e446dc2c Add version partial 2023-02-08 04:13:33 +01:00
mark
8938f4270d Remove docs menu entry 2023-02-07 07:13:35 +01:00
mark
25bd5ea47c Bump package version 2023-02-07 07:10:58 +01:00
mark
0bce0a9fb7 Adjust Netlify badge 2023-02-07 06:59:35 +01:00
Mark Dumay
f6aeed969c Merge pull request #138 from gethinode/develop
Remove docs from main repository
2023-02-07 06:48:26 +01:00
mark
088dd82bd3 Remove docs from main repository 2023-02-07 06:37:51 +01:00
Mark Dumay
503554046c Merge pull request #137 from gethinode/develop
Logo
2023-02-07 06:35:41 +01:00
mark
419ad7bb86 Remove base path from displayed filename 2023-02-07 06:27:56 +01:00
mark
74e6367b30 Add logo design 2023-02-07 06:11:59 +01:00
mark
4c8e73af33 Transform text to path 2023-02-07 06:11:48 +01:00
Mark Dumay
73446e5580 Merge pull request #135 from gethinode/develop
Refinement
2023-02-06 09:40:42 +01:00
mark
223ae24416 Add relref argument 2023-02-06 05:21:16 +01:00
mark
4167cf1695 Bump package version 2023-02-06 05:21:00 +01:00
mark
cf98b4d067 Add support for minimal layout 2023-02-06 05:01:35 +01:00
Mark Dumay
e0e694cda4 Merge pull request #134 from gethinode/develop
Refinement
2023-02-05 16:30:14 +01:00
mark
40b36ef34b Fix linting issues 2023-02-05 16:25:12 +01:00
mark
d47adb99a2 Suppress more button when max is reached 2023-02-05 16:21:53 +01:00
mark
32b86d1183 Suppress empty lines from Go template 2023-02-05 16:20:58 +01:00
mark
c17ac02c13 Add icon support 2023-02-05 16:20:47 +01:00
mark
ea6623349c Add background param 2023-02-05 16:18:49 +01:00
mark
0d1b08e770 Ass support for base paths for file references 2023-02-05 16:15:27 +01:00
mark
868430b726 Replace feature params with _index content 2023-02-05 16:09:27 +01:00
mark
d3330716ee Suppress empty lines from Go template 2023-02-05 15:59:45 +01:00
mark
9799b9d6eb Reuse icon partial 2023-02-05 15:54:13 +01:00
mark
092ee2f4a7 Add icon for external links 2023-02-05 15:53:43 +01:00
mark
9c0fca16bf Fix class recognition 2023-02-05 15:53:12 +01:00
mark
ac5521bffa Refactor icon code 2023-02-05 15:36:37 +01:00
mark
8634b1ecce Bump package version 2023-02-05 15:22:03 +01:00
mark
258040c345 Remove default title 2023-02-05 15:19:35 +01:00
mark
1cd93c131e Add theme style placeholder 2023-02-05 15:11:19 +01:00
258 changed files with 10489 additions and 7107 deletions

View File

@@ -1,3 +1,5 @@
assets/js/analytics.js
assets/js/color.js
assets/js/flexsearch.js
assets/js/vendor
node_modules

View File

@@ -27,8 +27,9 @@ If applicable, add a copy of Hugo's log messages.
If applicable, add screenshots to help explain your problem.
**Environment (please complete the following information):**
- Host OS: [e.g. macOS Ventura 13.0]
- Node version: [e.g. node v18.10.0]
- Hinode version: [e.g. v0.11.3]
- Host OS: [e.g. macOS Ventura 13.3]
- Node version: [e.g. node v18.15.0]
- Hugo version: [e.g. hugo v0.109.0-47b12b83e636224e5e601813ff3e6790c191e371+extended darwin/amd64 BuildDate=2022-12-23T10:38:11Z VendorInfo=gohugoio]
- Browser: [e.g. Google Chrome Version 108.0.5359.124 (Official Build) (arm64)]

27
.github/release.yml vendored Normal file
View File

@@ -0,0 +1,27 @@
changelog:
exclude:
labels:
- skip-changelog
categories:
- title: ❗ Breaking Changes
labels:
- Semver-Major
- breaking-change
- title: 🚀 Highlights
labels:
- release-highlight
- title: 🎉 New Features
labels:
- Semver-Minor
- enhancement
- title: 🐛 Bug fixes
labels:
- fix
- bugfix
- bug
- title: 📦 Dependencies
labels:
- dependencies
- title: 🧰 Other Changes
labels:
- "*"

43
.github/workflows/auto-merge.yml vendored Normal file
View File

@@ -0,0 +1,43 @@
# Source: https://nicolasiensen.github.io/2022-07-23-automating-dependency-updates-with-dependabot-github-auto-merge-and-github-actions/
name: Dependabot auto-merge
on: pull_request_target
permissions:
pull-requests: write
contents: write
jobs:
review-dependabot-pr:
runs-on: ubuntu-latest
if: ${{ github.event.pull_request.user.login == 'dependabot[bot]' }}
steps:
- name: Dependabot metadata
id: metadata
uses: dependabot/fetch-metadata@v1
with:
github-token: "${{ secrets.GITHUB_TOKEN }}"
- name: Enable auto-merge for Dependabot PRs
run: gh pr merge --auto --merge "$PR_URL"
env:
PR_URL: ${{github.event.pull_request.html_url}}
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
- name: Approve patch and minor updates
if: ${{steps.dependabot-metadata.outputs.update-type == 'version-update:semver-patch' || steps.dependabot-metadata.outputs.update-type == 'version-update:semver-minor'}}
run: gh pr review $PR_URL --approve -b "I'm **approving** this pull request because **it includes a patch or minor update**"
env:
PR_URL: ${{github.event.pull_request.html_url}}
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
- name: Approve major updates of development dependencies
if: ${{steps.dependabot-metadata.outputs.update-type == 'version-update:semver-major' && steps.dependabot-metadata.outputs.dependency-type == 'direct:development'}}
run: gh pr review $PR_URL --approve -b "I'm **approving** this pull request because **it includes a major update of a dependency used only in development**"
env:
PR_URL: ${{github.event.pull_request.html_url}}
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
- name: Comment on major updates of non-development dependencies
if: ${{steps.dependabot-metadata.outputs.update-type == 'version-update:semver-major' && steps.dependabot-metadata.outputs.dependency-type == 'direct:production'}}
run: |
gh pr comment $PR_URL --body "I'm **not approving** this PR because **it includes a major update of a dependency used in production**"
gh pr edit $PR_URL --add-label "requires-manual-qa"
env:
PR_URL: ${{github.event.pull_request.html_url}}
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}

3
.gitignore vendored
View File

@@ -3,4 +3,5 @@ resources/
node_modules/
.DS_store
.hugo_build.lock
.hugo_build.lock
hugo_stats.json

View File

@@ -1,5 +1,8 @@
assets/scss/common/_variables.scss
assets/scss/components/_syntax.scss
assets/scss/components/_syntax-dark.scss
assets/scss/components/_syntax-light.scss
assets/scss/hotfix
assets/scss/vendor
assets/scss/theme/fonts.scss
assets/scss/app.scss
node_modules

View File

@@ -2,10 +2,7 @@
"extends": "stylelint-config-standard-scss",
"rules": {
"no-empty-source": null,
"indentation": 4,
"string-quotes": "double",
"scss/comment-no-empty": null,
"max-line-length": null,
"scss/at-extend-no-missing-placeholder": null,
"scss/dollar-variable-colon-space-after": null,
"scss/dollar-variable-empty-line-before": null,

107
README.md
View File

@@ -9,25 +9,28 @@
<!-- Badges -->
<p align="center">
<a href="https://gohugo.io" alt="Hugo website">
<img src="https://img.shields.io/badge/generator-hugo-brightgreen" />
<img src="https://img.shields.io/badge/generator-hugo-brightgreen">
</a>
<a href="https://app.netlify.com/sites/hinode-demo/deploys" alt="Netlify Status">
<img src="https://img.shields.io/netlify/151e88a3-d161-4045-856d-778fea43fc2f" />
<a href="https://www.npmjs.com/package/%40gethinode/hinode" alt="npm package">
<img src="https://img.shields.io/npm/v/%40gethinode/hinode">
</a>
<a href="https://app.netlify.com/sites/gethinode-demo/deploys" alt="Netlify Status">
<img src="https://img.shields.io/netlify/0ad42e3e-fdfa-4d37-8e26-58badd429a67">
</a>
<a href="https://stats.uptimerobot.com/xyGVYhLJmV" alt="UptimeRobot Status">
<img src="https://img.shields.io/uptimerobot/status/m791334689-73d9dfc82030f4f955b2d6bb" />
<img src="https://img.shields.io/uptimerobot/status/m791334689-73d9dfc82030f4f955b2d6bb">
</a>
<a href="https://github.com/gethinode/hinode/commits/main" alt="Last commit">
<img src="https://img.shields.io/github/last-commit/gethinode/hinode.svg" />
<img src="https://img.shields.io/github/last-commit/gethinode/hinode.svg">
</a>
<a href="https://github.com/gethinode/hinode/issues" alt="Issues">
<img src="https://img.shields.io/github/issues/gethinode/hinode.svg" />
<img src="https://img.shields.io/github/issues/gethinode/hinode.svg">
</a>
<a href="https://github.com/gethinode/hinode/pulls" alt="Pulls">
<img src="https://img.shields.io/github/issues-pr-raw/gethinode/hinode.svg" />
<img src="https://img.shields.io/github/issues-pr-raw/gethinode/hinode.svg">
</a>
<a href="https://github.com/gethinode/hinode/blob/main/LICENSE" alt="License">
<img src="https://img.shields.io/github/license/gethinode/hinode" />
<img src="https://img.shields.io/github/license/gethinode/hinode">
</a>
</p>
@@ -54,17 +57,16 @@ Hinode is a clean documentation and blog theme for [Hugo][hugo], an open-source
Additional features include:
- Comments
- Social links
- Blog pagination
- Code highlighting
- Command prompt
- Color customization
- Language switcher
- Switching between light mode and dark mode
- Support for multiple languages
- Reusable Bootstrap components through configurable shortcodes and partials
- Embedded comments through light-weight integration with GitHub via [utteranc.es][utterances]
- Integrated sidebar navigation for content-heavy sections, such as documentation pages
- Reponsive image handling for multiple screen sizes and resolutions
- Optimized search results, scoring 100 points for SEO on [PageSpeed Insights][pagespeed]
- Secure by default, scoring A+ on [Mozilla Observatory test][observatory]
<!-- TODO: add tutorial deep-link
Detailed background information is available on the author's [personal blog][blog].
-->
Detailed information about Hinode is available on the [official website][website].
## Prerequisites
@@ -74,56 +76,39 @@ Hinode requires Git, Node.js and npm for local development and testing. Download
Start a new Hinode project in three steps:
### 1. Create a new site
1. Create a new site
Hinode is available as a [child theme][repository_child], and a [main theme][repository]. The child theme uses [npm][npm] to link to the latest available version of Hinode. As such, it is less applicable if you plan to customize a lot. Vice versa, the main theme allows for heavy customization, but is not synchronized with the latest available Hinode theme automatically.
Hinode is available as a [template][repository_template], and a [main repository][repository]. The template [npm][npm] to link to the latest available version of Hinode. Unless you plan to customize a lot, it is recommended to use the template:
Not quite sure? Use the Hinode child theme.
```bash
git clone https://github.com/gethinode/template.git my-hinode-site && cd my-hinode-site
```
#### Hinode child theme
Use the main theme if you intend to customize the base code:
```bash
git clone https://github.com/gethinode/child.git my-hinode-site && cd my-hinode-site
```
```bash
git clone https://github.com/gethinode/hinode.git my-hinode-site && cd my-hinode-site
```
#### Hinode main theme
1. Install dependencies
```bash
git clone https://github.com/gethinode/hinode.git my-hinode-site && cd my-hinode-site
```
```bash
npm install
```
### 2. Install dependencies
1. Start development server
```bash
npm install
```
### 3. Start development server
```bash
npm run start
```
```bash
npm run start
```
## Configuration
The main site configuration is available in `./config/_default`. Some remarks:
- **Menu items** - `menus/menus.en.toml` contains language-specific items for the navigation bar and social media links for the home page's footer.
- **Content** - Ensure the `mainSections` in `config.toml` is synchronized with the `content` folder, default values are `["blog", "projects"]`.
- **Theme style** - Update `primary` and `themeOpacity` within the `[style]` section of `params.toml` to update the site's primary color and opacity. Bootstrap's other key colors can be changed too. You can use the [WCAG Color Contrast Checker][contrast_checker] to validate the contrast ratio of your color to improve accessibility. Additionally, set `themeFont` and `themeFontPath` to override the default font.
- **Comments** - Comments are powered by [utterances][utterances], a lightweight comments widget built on GitHub issues. Update the `repo` of the `[comments]` section of `params.toml`.
- **Security policy** - The theme uses rather strict security policies by default. Be sure to include references to external sources in the header configuration to avoid broken links. The settings of the local development server are defined in `server.toml`. Similar settings are defined in the `netlify.toml` file provided in the repository's root when deploying to [Netlify][netlify].
See the [official documentation][getstarted] on how to configure your site.
## Contributing
1. Clone the repository and create a new branch
```console
git checkout https://github.com/gethinode/hinode.git -b name_for_new_branch
```
2. Make and test the changes
3. Submit a Pull Request with a comprehensive description of the changes
See the [official documentation][contribute] on how to contribute to the open-source development of Hinode.
## Credits
@@ -134,17 +119,16 @@ Hinode is inspired by the following themes:
## Donate
<a href="https://www.buymeacoffee.com/markdumay" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/lato-orange.png" alt="Buy Me A Coffee" style="height: 51px !important;width: 217px !important;"></a>
<a href="https://www.buymeacoffee.com/markdumay" target="_blank" rel="noopener noreferrer"><img src="https://cdn.buymeacoffee.com/buttons/lato-orange.png" alt="Buy Me A Coffee" style="height: 51px !important;width: 217px !important;"></a>
## License
The `hinode` and `child` codebase is released under the [MIT license][license]. The documentation (including the "README" and `docs` codebase) is licensed under the Creative Commons ([CC BY-NC 4.0)][cc-by-nc-4.0] license.
The `hinode` and `template` codebase is released under the [MIT license][license]. The documentation (including the "README" and `docs` codebase) is licensed under the Creative Commons [(CC BY-NC 4.0)][cc-by-nc-4.0] license.
<!-- MARKDOWN PUBLIC LINKS -->
[blist]: https://github.com/apvarun/blist-hugo-theme
[bootstrap]: https://getbootstrap.com
[cc-by-nc-4.0]: https://creativecommons.org/licenses/by-nc/4.0/
[contrast_checker]: https://accessibleweb.com/color-contrast-checker/
[doks]: https://github.com/h-enk/doks
[flexsearch]: https://github.com/nextapps-de/flexsearch
[git_download]: https://git-scm.com
@@ -157,11 +141,10 @@ The `hinode` and `child` codebase is released under the [MIT license][license].
[utterances]: https://utteranc.es
<!-- MARKDOWN MAINTAINED LINKS -->
<!-- TODO: add blog link
[blog]: https://markdumay.com
[blog]: https://github.com/markdumay
-->
[contribute]: https://gethinode.com/contribute
[getstarted]: https://gethinode.com/docs
[demo]: https://demo.gethinode.com/
[license]: https://github.com/gethinode/hinode/blob/main/LICENSE
[repository]: https://github.com/gethinode/hinode.git
[repository_child]: https://github.com/gethinode/child.git
[repository_template]: https://github.com/gethinode/template.git
[website]: https://gethinode.com/

View File

@@ -0,0 +1,3 @@
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='{{ .accordion_icon_active_color_dark }}'>
<path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/>
</svg>

After

Width:  |  Height:  |  Size: 269 B

View File

@@ -0,0 +1,3 @@
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='{{ .accordion_icon_color_dark }}'>
<path fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/>
</svg>

After

Width:  |  Height:  |  Size: 262 B

View File

@@ -0,0 +1,3 @@
<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 320 512' fill='{{ .btn_toggle_color_dark }}'>
<path d="M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z"/>
</svg>

After

Width:  |  Height:  |  Size: 314 B

View File

@@ -1,3 +1,3 @@
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='{{ .carousel_control_color }} '>
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='{{ .carousel_control_color }}'>
<path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/>
</svg>

Before

Width:  |  Height:  |  Size: 240 B

After

Width:  |  Height:  |  Size: 239 B

View File

@@ -0,0 +1,3 @@
<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'>
<path fill='none' stroke='{{ .form_select_indicator_color_dark }}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/>
</svg>

After

Width:  |  Height:  |  Size: 221 B

View File

@@ -0,0 +1,3 @@
<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'>
<circle r='3' fill='{{ .form_switch_color_dark }}' />
</svg>

After

Width:  |  Height:  |  Size: 125 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 480 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 396 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 442 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 476 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 420 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 183 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 208 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 229 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 648 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 325 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 362 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 290 KiB

BIN
assets/img/paper.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 930 KiB

14
assets/js/alert.js Normal file
View File

@@ -0,0 +1,14 @@
const alert = document.getElementById('page-alert')
const closeBtn = document.getElementById('page-alert-btn-close')
if (alert !== null && closeBtn !== null) {
const version = alert.getAttribute('data-page-alert-version') || 'unknown'
const hideAlert = sessionStorage.getItem(`page-alert-${version}`) !== null
if (hideAlert) {
alert.classList.add('d-none')
}
closeBtn.addEventListener('click', () => {
sessionStorage.setItem(`page-alert-${version}`, 'seen')
alert.classList.add('d-none')
})
}

69
assets/js/analytics.js Normal file
View File

@@ -0,0 +1,69 @@
// Adapted from https://github.com/gohugoio/hugo/blob/master/tpl/tplimpl/embedded/templates/google_analytics.html
{{- define "__ga_js_set_doNotTrack" -}}{{/* This is also used in the async version. */}}
{{- $pc := .Site.Config.Privacy.GoogleAnalytics -}}
{{- if not $pc.RespectDoNotTrack -}}
var doNotTrack = false;
{{- else -}}
var dnt = (navigator.doNotTrack || window.doNotTrack || navigator.msDoNotTrack);
var doNotTrack = (dnt == "1" || dnt == "yes");
{{- end -}}
{{- end -}}
{{- $pc := .Site.Config.Privacy.GoogleAnalytics -}}
{{- if (and (not .Site.IsServer) (not $pc.Disable)) -}}
{{ with .Site.GoogleAnalytics -}}
{{ if hasPrefix . "G-"}}
{{ template "__ga_js_set_doNotTrack" $ }}
if (!doNotTrack) {
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', '{{ . }}', { 'anonymize_ip': {{- $pc.AnonymizeIP -}} });
}
{{ else if hasPrefix . "UA-" }}
{{ template "__ga_js_set_doNotTrack" $ }}
if (!doNotTrack) {
(function(i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r;
i[r] = i[r] || function() {
(i[r].q = i[r].q || []).push(arguments)
}, i[r].l = 1 * new Date();
a = s.createElement(o),
m = s.getElementsByTagName(o)[0];
a.async = 1;
a.src = g;
m.parentNode.insertBefore(a, m)
})(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');
{{- if $pc.UseSessionStorage }}
if (window.sessionStorage) {
var GA_SESSION_STORAGE_KEY = 'ga:clientId';
ga('create', '{{ . }}', {
'storage': 'none',
'clientId': sessionStorage.getItem(GA_SESSION_STORAGE_KEY)
});
ga(function(tracker) {
sessionStorage.setItem(GA_SESSION_STORAGE_KEY, tracker.get('clientId'));
});
}
{{ else }}
ga('create', '{{ . }}', 'auto');
{{ end -}}
{{ if $pc.AnonymizeIP }}
ga('set', 'anonymizeIp', true);
{{ end }}
ga('send', 'pageview');
}
{{- end }}
{{ end -}}
{{- end }}

18
assets/js/animation.js Normal file
View File

@@ -0,0 +1,18 @@
function reveal () {
const reveals = document.querySelectorAll('.reveal')
for (let i = 0; i < reveals.length; i++) {
const windowHeight = window.innerHeight
const elementTop = reveals[i].getBoundingClientRect().top
const elementVisible = 150
if (elementTop < windowHeight - elementVisible) {
reveals[i].classList.add('active')
reveals[i].classList.remove('reveal')
} else {
reveals[i].classList.remove('active')
}
}
}
window.addEventListener('scroll', reveal)

View File

@@ -14,10 +14,12 @@ const addCopyButtons = (clipboard) => {
// 2. Create a button that will trigger a copy operation
const button = document.createElement('button')
button.className = 'clipboard-button'
button.setAttribute('data-toast-target', 'toast-copied-code-message')
button.type = 'button'
button.innerHTML = svgCopy
button.addEventListener('click', () => {
clipboard.writeText(codeBlock.innerText).then(
const text = codeBlock.innerText.split('\n').filter(Boolean).join('\n')
clipboard.writeText(text).then(
() => {
button.blur()
button.innerHTML = svgCheck
@@ -36,3 +38,10 @@ const addCopyButtons = (clipboard) => {
if (navigator && navigator.clipboard) {
addCopyButtons(navigator.clipboard)
}
document.querySelectorAll('[data-clipboard]').forEach(trigger => {
const text = trigger.getAttribute('data-clipboard')
trigger.addEventListener('click', () => {
navigator.clipboard.writeText(text)
})
})

View File

@@ -0,0 +1,70 @@
/*!
* Color mode toggler for Bootstrap's docs (https://getbootstrap.com/)
* Copyright 2011-2022 The Bootstrap Authors
* Licensed under the Creative Commons Attribution 3.0 Unported License.
*/
(() => {
'use strict'
const storedTheme = localStorage.getItem('theme')
const getPreferredTheme = () => {
if (storedTheme) {
return storedTheme
}
return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'
}
const setTheme = function (theme) {
if (theme === 'auto' && window.matchMedia('(prefers-color-scheme: dark)').matches) {
document.documentElement.setAttribute('data-bs-theme', 'dark')
} else {
document.documentElement.setAttribute('data-bs-theme', theme)
}
}
setTheme(getPreferredTheme())
const showActiveTheme = theme => {
const activeSelectors = document.querySelectorAll('.theme-icon-active')
const activeButtons = document.querySelectorAll(`[data-bs-theme-value="${theme}"]`)
if (activeButtons.length > 0) {
const activeIcon = activeButtons[0].querySelector('i')
document.querySelectorAll('[data-bs-theme-value]').forEach(element => {
element.classList.remove('active')
})
for (let i = 0; i < activeSelectors.length; ++i) {
activeSelectors[i].className = activeIcon.className
activeSelectors[i].className = activeSelectors[i].className.replace('theme-icon', 'theme-icon-active')
}
for (let i = 0; i < activeButtons.length; ++i) {
activeButtons[i].classList.add('active')
}
}
}
window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => {
if (storedTheme !== 'light' || storedTheme !== 'dark') {
setTheme(getPreferredTheme())
}
})
window.addEventListener('DOMContentLoaded', () => {
showActiveTheme(getPreferredTheme())
document.querySelectorAll('[data-bs-theme-value]')
.forEach(toggle => {
toggle.addEventListener('click', () => {
const theme = toggle.getAttribute('data-bs-theme-value')
localStorage.setItem('theme', theme)
setTheme(theme)
showActiveTheme(theme)
})
})
})
})()

View File

@@ -1,89 +1,30 @@
/*
Source:
- https://raw.githubusercontent.com/h-enk/doks/master/assets/js/index.js
*/
{{- $search := default true site.Params.navigation.search -}}
{{- if $search -}}
var search = document.getElementById('search');
var suggestions = document.getElementById('suggestions');
var index = new FlexSearch.Document({
tokenize: "forward",
cache: 100,
document: {
id: "id",
tag: "tag",
store: ["href", "title", "description"],
index: ["title", "description", "content"]
}
});
var suggestions = document.getElementById('suggestions');
var search = document.getElementById('search');
if (search !== null) {
document.addEventListener('keydown', inputFocus);
}
function inputFocus(e) {
if (e.ctrlKey && e.key === '/' ) {
e.preventDefault();
search.focus();
}
if (e.key === 'Escape' ) {
search.blur();
suggestions.classList.add('d-none');
}
}
document.addEventListener('click', function(event) {
var isClickInsideElement = suggestions.contains(event.target);
if (!isClickInsideElement) {
suggestions.classList.add('d-none');
}
});
/*
Source:
- https://dev.to/shubhamprakash/trap-focus-using-javascript-6a3
*/
document.addEventListener('keydown',suggestionFocus);
function suggestionFocus(e) {
const suggestionsHidden = suggestions.classList.contains('d-none');
if (suggestionsHidden) return;
const focusableSuggestions= [...suggestions.querySelectorAll('a')];
if (focusableSuggestions.length === 0) return;
const index = focusableSuggestions.indexOf(document.activeElement);
if (e.key === "ArrowUp") {
e.preventDefault();
const nextIndex = index > 0 ? index - 1 : 0;
focusableSuggestions[nextIndex].focus();
}
else if (e.key === "ArrowDown") {
e.preventDefault();
const nextIndex= index + 1 < focusableSuggestions.length ? index + 1 : index;
focusableSuggestions[nextIndex].focus();
}
}
/*
Source:
- https://github.com/nextapps-de/flexsearch#index-documents-field-search
- https://raw.githack.com/nextapps-de/flexsearch/master/demo/autocomplete.html
*/
(function(){
var index = new FlexSearch.Document({
tokenize: "forward",
cache: 100,
document: {
id: "id",
tag: "tag",
store: ["href", "title", "description"],
index: ["title", "description", "content"]
}
});
/*
Source:
- https://github.com/nextapps-de/flexsearch#index-documents-field-search
- https://raw.githack.com/nextapps-de/flexsearch/master/demo/autocomplete.html
*/
function initIndex() {
// https://discourse.gohugo.io/t/range-length-or-last-element/3803/2
// Note: uses .Site.AllPages as .Site.RegularPages only returns content for the current language
// Note: uses .Site.AllPages as .Site.RegularPages only returns content for the current language;
// pages without a title (such as browserconfig.xml) are excluded
{{ $list := where (where .Site.AllPages "Kind" "in" "page") "Title" "!=" "" }}
{{ $list := where (where site.AllPages "Kind" "in" "page") "Title" "!=" "" }}
{{ $len := (len $list) -}}
index.add(
{{ range $index, $element := $list -}}
{
@@ -103,59 +44,121 @@ Source:
{{ end -}}
{{ end -}}
;
search.addEventListener('input', show_results, true);
function show_results(){
const maxResult = 5;
var searchQuery = this.value;
// filter the results for the currently tagged language
const lang = document.documentElement.lang;
var results = index.search(searchQuery, { index: ['title', 'description', 'content'], limit: maxResult, tag: lang, enrich: true });
// flatten results since index.search() returns results for each indexed field
const flatResults = new Map(); // keyed by href to dedupe results
for (const result of results.flatMap(r => r.result)) {
if (flatResults.has(result.doc.href)) continue;
flatResults.set(result.doc.href, result.doc);
}
suggestions.innerHTML = "";
suggestions.classList.remove('d-none');
// inform user that no results were found
if (flatResults.size === 0 && searchQuery) {
const noResultsMessage = document.createElement('div')
noResultsMessage.innerHTML = `{{ T "ui_no_results" }} "<strong>${searchQuery}</strong>"`
noResultsMessage.classList.add("suggestion__no-results");
suggestions.appendChild(noResultsMessage);
return;
}
// construct a list of suggestions
for(const [href, doc] of flatResults) {
const entry = document.createElement('div');
suggestions.appendChild(entry);
const a = document.createElement('a');
a.href = href;
entry.appendChild(a);
const title = document.createElement('span');
title.classList.add('text-start');
title.textContent = doc.title;
title.classList.add("suggestion__title");
a.appendChild(title);
const description = document.createElement('span');
description.textContent = doc.description;
description.classList.add("suggestion__description");
a.appendChild(description);
suggestions.appendChild(entry);
if(suggestions.childElementCount == maxResult) break;
}
search.addEventListener('input', showResults, true);
}
function hideSuggestions(e) {
var isClickInsideElement = suggestions.contains(e.target);
if (!isClickInsideElement) {
suggestions.classList.add('d-none');
}
}());
}
/*
Source:
- https://raw.githubusercontent.com/h-enk/doks/master/assets/js/index.js
*/
function inputFocus(e) {
if (e.ctrlKey && e.key === '/' ) {
e.preventDefault();
search.focus();
}
if (e.key === 'Escape' ) {
search.blur();
suggestions.classList.add('d-none');
}
}
/*
Source:
- https://dev.to/shubhamprakash/trap-focus-using-javascript-6a3
*/
function suggestionFocus(e) {
const suggestionsHidden = suggestions.classList.contains('d-none');
if (suggestionsHidden) return;
const focusableSuggestions= [...suggestions.querySelectorAll('a')];
if (focusableSuggestions.length === 0) return;
const index = focusableSuggestions.indexOf(document.activeElement);
if (e.key === "ArrowUp") {
e.preventDefault();
const nextIndex = index > 0 ? index - 1 : 0;
focusableSuggestions[nextIndex].focus();
}
else if (e.key === "ArrowDown") {
e.preventDefault();
const nextIndex= index + 1 < focusableSuggestions.length ? index + 1 : index;
focusableSuggestions[nextIndex].focus();
}
}
/*
Source:
- https://github.com/nextapps-de/flexsearch#index-documents-field-search
- https://raw.githack.com/nextapps-de/flexsearch/master/demo/autocomplete.html
*/
function showResults() {
const maxResult = 5;
var searchQuery = this.value;
// filter the results for the currently tagged language
const lang = document.documentElement.lang;
var results = index.search(searchQuery, { index: ['title', 'description', 'content'], limit: maxResult, tag: lang, enrich: true });
// flatten results since index.search() returns results for each indexed field
const flatResults = new Map(); // keyed by href to dedupe results
for (const result of results.flatMap(r => r.result)) {
if (flatResults.has(result.doc.href)) continue;
flatResults.set(result.doc.href, result.doc);
}
suggestions.innerHTML = "";
suggestions.classList.remove('d-none');
// inform user that no results were found
if (flatResults.size === 0 && searchQuery) {
const msg = suggestions.dataset.noResults;
const noResultsMessage = document.createElement('div')
noResultsMessage.innerHTML = `${msg} "<strong>${searchQuery}</strong>"`
noResultsMessage.classList.add("suggestion__no-results");
suggestions.appendChild(noResultsMessage);
return;
}
// construct a list of suggestions
for (const [href, doc] of flatResults) {
const entry = document.createElement('div');
suggestions.appendChild(entry);
const a = document.createElement('a');
a.href = href;
entry.appendChild(a);
const title = document.createElement('span');
title.classList.add('text-start');
title.textContent = doc.title;
title.classList.add("suggestion__title");
a.appendChild(title);
const description = document.createElement('span');
description.textContent = doc.description;
description.classList.add("suggestion__description");
a.appendChild(description);
suggestions.appendChild(entry);
if (suggestions.childElementCount == maxResult) break;
}
}
if (search !== null && suggestions !== null) {
document.addEventListener('keydown', inputFocus);
document.addEventListener('keydown', suggestionFocus);
document.addEventListener('click', hideSuggestions);
initIndex();
}
{{- end -}}

20
assets/js/menu.js Normal file
View File

@@ -0,0 +1,20 @@
const url = new URL(window.location.href)
const menu = url.searchParams.get('menu')
const child = url.searchParams.get('child')
const menuItems = document.querySelectorAll('[data-nav="main"]')
if (menu !== null) {
menuItems.forEach(element => {
element.classList.remove('active')
})
const targetMainItems = document.querySelectorAll(`[data-nav-main="${menu}"]:not([data-nav-child])`)
targetMainItems.forEach(element => {
element.classList.add('active')
})
const targetChildItems = document.querySelectorAll(`[data-nav-main="${menu}"][data-nav-child="${child}"]`)
targetChildItems.forEach(element => {
element.classList.add('active')
})
}

26
assets/js/navbar.js Normal file
View File

@@ -0,0 +1,26 @@
const navbar = document.querySelector('.navbar')
const toggler = document.getElementById('main-nav-toggler')
const modeSelectors = document.querySelectorAll('.switch-mode-collapsed')
if (navbar !== null && toggler !== null) {
// set the navbar background color to opaque when scrolling past a breakpoint
window.onscroll = () => {
if (window.scrollY > 75) {
navbar.classList.add('nav-active')
} else {
navbar.classList.remove('nav-active')
}
}
// set the navbar background color to opaque when expanded
toggler.onclick = () => {
navbar.classList.toggle('navbar-expanded')
}
// invoke the navbar toggler for each mode switcher to collapse the main menu afterwards
for (let i = 0; i < modeSelectors.length; ++i) {
modeSelectors[i].onclick = () => {
toggler.click()
}
}
}

View File

@@ -1,10 +1,24 @@
// Bootstrap toast example: https://getbootstrap.com/docs/5.2/components/toasts/
const toastTrigger = document.getElementById('toastButton')
const toastLiveExample = document.getElementById('toastMessage')
if (toastTrigger) {
toastTrigger.addEventListener('click', () => {
// eslint-disable-next-line no-undef
const toast = new bootstrap.Toast(toastLiveExample)
toast.show()
// Script to move all embedded toast messages into a container with id 'toast-container'. The container ensures multiple
// toast messages are stacked properly. The script targets all elements specified by a 'data-toast-target' and ensures
// the click event of the origin is linked as well.
const container = document.getElementById('toast-container')
if (container !== null) {
// process all data-toast-target elements
document.querySelectorAll('[data-toast-target]').forEach(trigger => {
const target = document.getElementById(trigger.getAttribute('data-toast-target'))
if (target !== null) {
// move the element to the toast containr
container.appendChild(target)
// eslint-disable-next-line no-undef
const toast = bootstrap.Toast.getOrCreateInstance(target)
if (toast !== null) {
// associate the click event of the origin with the toast element
trigger.addEventListener('click', () => {
toast.show()
})
}
}
})
}

View File

@@ -1,17 +1,5 @@
// Define template variables
// TODO: optimize, see https://discourse.gohugo.io/t/initialize-sass-variables-from-hugo-templates/42053
// requires installation of dart-sass, no cross-platform installation available yet
$themeColor: {{ site.Params.style.themeColor | default "#007bff" }};
$themeFont: {{ site.Params.style.themeFont | default "Inter" }};
$primary: {{ site.Params.style.primary | default "#007bff" }};
$secondary: {{ site.Params.style.secondary | default "#6c757d" }};
$success: {{ site.Params.style.success | default "#198754" }};
$info: {{ site.Params.style.info | default "#0dcaf0" }};
$warning: {{ site.Params.style.warning | default "#ffc107" }};
$danger: {{ site.Params.style.danger | default "#dc3545" }};
$light: {{ site.Params.style.light | default "#f8f9fa" }};
$dark: {{ site.Params.style.dark | default "#212529" }};
$navbar-offset: {{ if site.Params.navigation.fixed }}{{ site.Params.navigation.offset | default "4em" }}{{ else }}0em{{ end }};
@import "hugo:vars";
// Include default variable overrides
@import "common/variables.scss";
@@ -24,6 +12,7 @@ $navbar-offset: {{ if site.Params.navigation.fixed }}{{ site.Par
// Import Bootstrap configuration
@import "bootstrap/scss/variables";
@import "bootstrap/scss/variables-dark.scss";
@import "bootstrap/scss/maps";
@import "bootstrap/scss/mixins";
@import "bootstrap/scss/utilities";
@@ -64,9 +53,6 @@ $navbar-offset: {{ if site.Params.navigation.fixed }}{{ site.Par
// Import Bootstrap helpers
@import "bootstrap/scss/helpers";
// Import Bootstrap utilities
@import "bootstrap/scss/utilities/api";
// Import Font Awesome
// scss-docs-start awesome
@import "@fortawesome/fontawesome-free/scss/fontawesome";
@@ -76,7 +62,9 @@ $navbar-offset: {{ if site.Params.navigation.fixed }}{{ site.Par
// scss-docs-end awesome
// Import Hinode theme styles
@import "components/alert.scss";
@import "components/blockquote.scss";
@import "components/breadcrumb.scss";
@import "components/buttons.scss";
@import "components/card.scss";
@import "components/carousel.scss";
@@ -85,14 +73,34 @@ $navbar-offset: {{ if site.Params.navigation.fixed }}{{ site.Par
@import "components/comments.scss";
@import "components/navbar.scss";
@import "components/img.scss";
@import "components/pagination.scss";
@import "components/persona.scss";
@import "components/popover.scss";
@import "components/search.scss";
@import "components/sidebar.scss";
@import "components/syntax.scss";
@import "components/timeline.scss";
@import "components/toc.scss";
@import "components/vimeo.scss";
@import "common/animation.scss";
@import "common/styles.scss";
@import "layouts/reboot.scss";
@import "layouts/type.scss";
@import "common/export.scss";
@import "helpers/colored-links.scss";
@import "helpers/display.scss";
// TODO: include fonts with following statement in Dart Sass
// @if $import-fonts {
// @include meta.load-css(theme/fonts);
// }
{{ if (not (hasPrefix (lower site.Params.style.themeFontPath) "http")) }}
@import "theme/fonts.scss";
{{ end }}
// Import theme placeholder
@import "theme/theme.scss";
// Import Bootstrap utilities API
@import "bootstrap/scss/utilities/api";

View File

@@ -0,0 +1,99 @@
.rotate-5 {
transform: rotate(5deg);
}
.rotate-n5 {
transform: rotate(-5deg);
}
@media (prefers-reduced-motion: no-preference) {
.reveal {
position: relative;
opacity: 0;
animation-iteration-count: 1;
}
.reveal.active {
opacity: 1;
}
.active.fade-bottom {
animation: fade-bottom 1s ease-in;
}
.active.fade-bottom-5 {
animation: fade-bottom-5 1s ease-in;
}
.active.fade-bottom-n5 {
animation: fade-bottom-n5 1s ease-in;
}
.active.fade-left {
animation: fade-left 1s ease-in;
}
.active.fade-right {
animation: fade-right 1s ease-in;
}
@keyframes fade-bottom {
0% {
transform: translateY(50px);
opacity: 0;
}
100% {
transform: translateY(0);
opacity: 1;
}
}
@keyframes fade-bottom-5 {
0% {
transform: translateY(50px) rotate(5deg);
opacity: 0;
}
100% {
transform: translateY(0) rotate(5deg);
opacity: 1;
}
}
@keyframes fade-bottom-n5 {
0% {
transform: translateY(50px) rotate(-5deg);
opacity: 0;
}
100% {
transform: translateY(0) rotate(-5deg);
opacity: 1;
}
}
@keyframes fade-left {
0% {
transform: translateX(-100px);
opacity: 0;
}
100% {
transform: translateX(0);
opacity: 1;
}
}
@keyframes fade-right {
0% {
transform: translateX(100px);
opacity: 0;
}
100% {
transform: translateX(0);
opacity: 1;
}
}
}

View File

@@ -3,20 +3,26 @@
// scss-docs-start export
:hinode-theme {
--accordion-icon-active-color: #{$accordion-icon-active-color};
--accordion-icon-active-color-dark: #{$gray-300};
--accordion-icon-color: #{$accordion-icon-color};
--accordion-icon-color-dark: #{$gray-600};
--btn-close-color: #{$btn-close-color};
--btn-toggle-color: #{$btn-toggle-color};
--btn-toggle-color-dark: #{$gray-600};
--carousel-control-color: #{$carousel-control-color};
--form-check-input-checked-color: #{$form-check-input-checked-color};
--form-check-input-indeterminate-color: #{$form-check-input-indeterminate-color};
--form-feedback-icon-invalid-color: #{$form-feedback-icon-invalid-color};
--form-feedback-icon-valid-color: #{$form-feedback-icon-valid-color};
--form-select-indicator-color: #{$form-select-indicator-color};
--form-select-indicator-color-dark: #{$form-select-indicator-color-dark};
--form-switch-checked-color: #{$form-switch-checked-color};
--form-switch-color: #{$form-switch-color};
--form-switch-color-dark: #{$form-switch-color-dark};
--form-switch-focus-color: #{$form-switch-focus-color};
--navbar-dark-color: #{$navbar-dark-color};
--navbar-light-icon-color: rgba($body-color, 0.75); // TODO: See https://github.com/twbs/bootstrap/pull/37720
}
// scss-docs-end export
// stylelint-enable selector-pseudo-class-no-unknown

View File

@@ -1,20 +1,41 @@
// scss-docs-start icons
$form-check-input-checked-bg-image: url("icons/form-check-input-checked-bg-image.svg") !default;
$form-check-radio-checked-bg-image: url("icons/form-check-radio-checked-bg-image.svg") !default;
$form-check-input-indeterminate-bg-image: url("icons/form-check-input-indeterminate-bg-image.svg") !default;
$form-switch-bg-image: url("icons/form-switch-bg-image.svg") !default;
$form-switch-focus-bg-image: url("icons/form-switch-focus-bg-image.svg") !default;
$form-switch-checked-bg-image: url("icons/form-switch-checked-bg-image.svg") !default;
$form-select-indicator: url("icons/form-select-indicator.svg") !default;
$form-feedback-icon-valid: url("icons/form-feedback-icon-valid.svg") !default;
$form-feedback-icon-invalid: url("icons/form-feedback-icon-invalid.svg") !default;
$navbar-light-toggler-icon-bg: url("icons/navbar-light-toggler-icon-bg.svg") !default;
$navbar-dark-toggler-icon-bg: url("icons/navbar-dark-toggler-icon-bg.svg") !default;
$accordion-button-icon: url("icons/accordion-button-icon.svg") !default;
$accordion-button-active-icon: url("icons/accordion-button-active-icon.svg") !default;
$carousel-control-prev-icon-bg: url("icons/carousel-control-prev-icon-bg.svg") !default;
$carousel-control-next-icon-bg: url("icons/carousel-control-next-icon-bg.svg") !default;
$btn-close-bg: url("icons/btn-close-bg.svg") !default;
$btn-toggle: url("icons/btn-toggle.svg") !default;
$form-check-input-checked-bg-image: url("/icons/form-check-input-checked-bg-image.svg") !default;
$form-check-radio-checked-bg-image: url("/icons/form-check-radio-checked-bg-image.svg") !default;
$form-check-input-indeterminate-bg-image: url("/icons/form-check-input-indeterminate-bg-image.svg") !default;
$form-switch-bg-image: url("/icons/form-switch-bg-image.svg") !default;
$form-switch-bg-image-dark: url("/icons/form-switch-bg-image-dark.svg") !default;
$form-switch-focus-bg-image: url("/icons/form-switch-focus-bg-image.svg") !default;
$form-switch-checked-bg-image: url("/icons/form-switch-checked-bg-image.svg") !default;
$form-select-indicator: url("/icons/form-select-indicator.svg") !default;
$form-select-indicator-dark: url("/icons/form-select-indicator-dark.svg") !default;
$form-feedback-icon-valid: url("/icons/form-feedback-icon-valid.svg") !default;
$form-feedback-icon-invalid: url("/icons/form-feedback-icon-invalid.svg") !default;
$navbar-light-toggler-icon-bg: url("/icons/navbar-light-toggler-icon-bg.svg") !default;
$navbar-dark-toggler-icon-bg: url("/icons/navbar-dark-toggler-icon-bg.svg") !default;
$accordion-button-icon: url("/icons/accordion-button-icon.svg") !default;
$accordion-button-icon-dark: url("/icons/accordion-button-icon-dark.svg") !default;
$accordion-button-active-icon: url("/icons/accordion-button-active-icon.svg") !default;
$accordion-button-active-icon-dark: url("/icons/accordion-button-active-icon-dark.svg") !default;
$carousel-control-prev-icon-bg: url("/icons/carousel-control-prev-icon-bg.svg") !default;
$carousel-control-next-icon-bg: url("/icons/carousel-control-next-icon-bg.svg") !default;
$btn-close-bg: url("/icons/btn-close-bg.svg") !default;
$btn-toggle: url("/icons/btn-toggle.svg") !default;
$btn-toggle-dark: url("/icons/btn-toggle-dark.svg") !default;
// scss-docs-end icons
.fa-wrapper {
container: wrapper / inline-size;
}
// define fallback size for browsers not supporting containers
.fa-fluid {
font-size: 5rem;
}
// set size based on container width
@container (min-width: 0) {
.fa-wrapper .fa-fluid {
font-size: 60cqi;
}
}

View File

@@ -18,3 +18,132 @@ a:active {
.tickmark li::marker {
content: "";
}
.anchor
{
color: transparent;
}
.heading:hover .anchor
{
transition: 0.25s ease-in-out;
color: $primary;
}
$utilities: map-merge(
$utilities,
(
"padding-start-wide": (
property: padding-left,
responsive: true,
class: psw,
values: (
0: 0,
1: 1.5 * $spacer,
2: 3 * $spacer,
3: 6 * $spacer,
4: 9 * $spacer,
5: 12 * $spacer,
)
),
"padding-top-wide": (
property: padding-top,
responsive: true,
class: ptw,
values: (
0: 0,
1: 1.5 * $spacer,
2: 3 * $spacer,
3: 6 * $spacer,
4: 9 * $spacer,
5: 12 * $spacer,
)
),
"font-size": map-merge(
map-get($utilities, "font-size"),
( responsive: true ),
),
)
);
@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 {
--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));
}
}
$utilities: map-merge(
$utilities,
(
"padding-start-wide": (
property: padding-left,
responsive: true,
class: psw,
values: (
0: 0,
1: 1.5 * $spacer,
2: 3 * $spacer,
3: 6 * $spacer,
4: 9 * $spacer,
5: 12 * $spacer,
)
),
"padding-top-wide": (
property: padding-top,
responsive: true,
class: ptw,
values: (
0: 0,
1: 1.5 * $spacer,
2: 3 * $spacer,
3: 6 * $spacer,
4: 9 * $spacer,
5: 12 * $spacer,
)
),
"font-size": map-merge(
map-get($utilities, "font-size"),
( responsive: true ),
)
)
);

View File

@@ -1,5 +1,6 @@
// Bootstrap variables overrides for theme
$enable-negative-margins: true;
$enable-important-utilities: true !default;
// Font awesome variables overrides for theme
$fa-font-path: "../fonts";
@@ -8,7 +9,7 @@ $fa-font-path: "../fonts";
$navbar-toggler-focus-width: 0 !default;
// scss-docs-start font
$font-family-sans-serif: $themeFont, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;
$font-family-sans-serif: $theme-font, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;
$headings-font-weight: 600 !default;
$font-weight-lighter: lighter !default;
$font-weight-light: 200 !default;
@@ -17,9 +18,13 @@ $font-weight-bold: 600 !default;
$font-weight-bolder: bolder !default;
strong {
font-weight: 600 !important;
font-weight: 600 if($enable-important-utilities, !important, null);
}
// scss-docs-end font
$black: #000 !default;
$btn-toggle-color: $black !default;
$btn-toggle-color: $black !default;
$carousel-dark-indicator-active-bg: #ffffff !default;
$carousel-dark-caption-color: #ffffff !default;
$carousel-dark-control-icon-filter: invert(0) grayscale(100) !default;

View File

@@ -0,0 +1,3 @@
.alert-no-decoration {
--bs-alert-border-radius: none;
}

View File

@@ -0,0 +1,6 @@
// scss-docs-start breadcrumb
.breadcrumb {
padding-top: 0.3 * $navbar-offset;
}
// scss-docs-end breadcrumb

View File

@@ -4,5 +4,24 @@
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
color: #fff !important;
color: #fff if($enable-important-utilities, !important, null);
}
.btn-social {
--bs-btn-bg: transparent;
--bs-btn-border-width: none;
--bs-btn-color: var(--bs-secondary);
--bs-btn-border-color: none;
--bs-btn-hover-bg: none;
--bs-btn-hover-border-color: none;
--bs-btn-active-bg: none;
--bs-btn-active-border-color: none;
}
.btn-social:hover,
.btn-social:focus,
.btn-social:active,
.btn-social.active,
.open > .dropdown-toggle.btn-primary {
color: var(--bs-primary) if($enable-important-utilities, !important, null);
}

View File

@@ -6,16 +6,8 @@
position: relative;
}
.card-img-wrap::after {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(255, 255, 255, 0.3);
opacity: 0;
transition: opacity 0.25s;
.card-zoom {
cursor: pointer;
}
.card-img-wrap img {
@@ -23,11 +15,21 @@
width: 100%;
}
.card-img-wrap:hover img {
transform: scale(1.1);
.card-zoom::after .card-img-wrap img {
content: "";
position: absolute;
inset: 0;
background: rgba(255, 255, 255, 0.3);
opacity: 0;
transition: opacity 0.25s;
}
.card-img-wrap:hover::after {
.card-zoom:hover .card-img-wrap img {
transform: scale(1.1);
opacity: 0.5;
}
.card-zoom:hover::after .card-img-wrap img {
opacity: 1;
}
@@ -40,3 +42,32 @@
transform: scale(1.01);
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.12), 0 4px 8px rgba(0, 0, 0, 0.06);
}
// stylelint-disable annotation-no-unknown
.card-body-link {
color: $body-color if($enable-important-utilities, !important, null);
}
@if $enable-dark-mode {
@include color-mode(dark) {
.card-body-link {
color: $gray-500 if($enable-important-utilities, !important, null);
}
}
}
.card-zoom card-body-link,
.card-body-link {
&:hover,
&:focus {
color: shade-color($primary, $link-shade-percentage) if($enable-important-utilities, !important, null);
}
}
// stylelint-enable annotation-no-unknown
// make tag-link clickable on top of the stretched-link.
.card .tag-link {
z-index: 2;
position: relative;
}

View File

@@ -1,16 +1,35 @@
// stylelint-disable annotation-no-unknown
// Source: https://jsfiddle.net/njhgr40m/
.navbar {
transition: 0.5s ease-in-out;
background-color: transparent;
}
.nav-active, .navbar-expanded {
background-color: var(--bs-body-bg);
}
.navbar-expanded {
box-shadow: $box-shadow-sm;
}
/* Remove border from toggler */
.navbar-toggler {
border: 0 !important;
border: 0 if($enable-important-utilities, !important, null);
}
.navbar-toggler:focus,
.navbar-toggler:active,
.navbar-toggler-icon:focus {
outline: none !important;
box-shadow: none !important;
border: 0 !important;
outline: none if($enable-important-utilities, !important, null);
box-shadow: none if($enable-important-utilities, !important, null);
border: 0 if($enable-important-utilities, !important, null);
}
.fw-30 {
width: 30px !important;
}
/* Lines of the Toggler */
@@ -65,3 +84,17 @@
.navbar-toggler.collapsed .toggler-icon {
background-color: #777;
}
.emphasis {
background-color: $black if($enable-important-utilities, !important, null);
}
@if $enable-dark-mode {
@include color-mode(dark) {
.emphasis {
background-color: $white if($enable-important-utilities, !important, null);
}
}
}
// stylelint-enable annotation-no-unknown

View File

@@ -0,0 +1,11 @@
.pagination {
--bs-pagination-bg: var(--bs-primary-bg-subtle);
--bs-pagination-border-color: none;
--bs-pagination-hover-color: var(--bs-pagination-active-color);
--bs-pagination-hover-bg: var(--bs-pagination-active-bg);
--bs-pagination-hover-border-color: none;
}
.pagination .page-item {
margin: 0.4rem;
}

View File

@@ -0,0 +1,3 @@
.persona {
min-height: 320px !important
}

View File

@@ -11,7 +11,7 @@
.form-control.is-search {
padding-right: 4rem;
border: 1px solid transparent;
background: $gray-100;
background: var(--bs-tertiary-bg);
}
.form-control.is-search:focus {
@@ -29,9 +29,9 @@
padding-right: 0.3125rem;
padding-left: 0.3125rem;
font-size: $font-size-base * 0.75;
color: $gray-700;
color: var(--bs-secondary-color);
content: "Ctrl + /";
border: 1px solid $gray-300;
border: 1px solid var(--bs-border-color);
border-radius: 0.25rem;
}
@@ -59,12 +59,12 @@
}
#suggestions a:focus {
background: $gray-100;
background-color: var(--bs-tertiary-bg);
outline: 0;
}
#suggestions div:not(:first-child) {
border-top: 1px dashed $gray-200;
border-top: 1px dashed var(--bs-border-color);
}
#suggestions div:first-child {
@@ -76,7 +76,7 @@
}
#suggestions a:hover {
background: $gray-100;
background-color: var(--bs-tertiary-bg);
}
#suggestions span {
@@ -86,12 +86,11 @@
.suggestion__title {
font-weight: $headings-font-weight;
color: $black;
}
.suggestion__description,
.suggestion__no-results {
color: $gray-700;
color: var(--bs-secondary-color);
}
@include media-breakpoint-up(sm) {
@@ -106,7 +105,7 @@
.suggestion__title {
width: 9rem;
padding-right: 1rem;
border-right: 1px solid $gray-200;
border-right: 1px solid var(--bs-border-color);
display: inline-block;
text-align: right;
}

View File

@@ -3,6 +3,25 @@
top: $navbar-offset;
}
.sidebar-overflow {
top: $navbar-offset;
max-height: 90vh;
overflow-y: auto;
}
.sidebar-item {
color: rgba(0, 0, 0, 0.65);
margin-left: 0 !important;
padding-left: 0.85rem !important;
display: inline-block;
&.active,
&:hover,
&:focus {
color: black;
}
}
.btn-toggle {
padding: 0.25rem 0.5rem;
font-weight: 600;
@@ -11,7 +30,7 @@
&:hover,
&:focus {
color: rgba(0, 0, 0, 0.85);
color: black;
background-color: tint-color($primary, 90%);
}
@@ -24,10 +43,8 @@
}
}
// scss-docs-end sidebar
.btn-toggle[aria-expanded="true"] {
color: rgba(0, 0, 0, 0.85);
color: black;
&::before {
transform: rotate(90deg);
@@ -49,6 +66,58 @@
}
}
@if $enable-dark-mode {
@include color-mode(dark) {
.sidebar-item {
color: var(--bs-tertiary-color);
margin-left: 0 !important;
padding-left: 0.85rem !important;
&.active,
&:hover,
&:focus {
color: var(--bs-secondary-color);
}
}
.btn-toggle {
color: var(--bs-tertiary-color);
&:hover,
&:focus {
color: $secondary;
background-color: tint-color($primary, 90%);
}
&::before {
content: $btn-toggle-dark;
}
}
.btn-toggle[aria-expanded="true"] {
color: var(--bs-secondary-color);
}
.btn-toggle-nav a {
padding: 0.1875rem 0.5rem;
margin-top: 0.125rem;
margin-left: 1.25rem;
&:hover,
&:focus {
color: $secondary;
background-color: tint-color($primary, 90%);
}
&.active {
font-weight: bold;
}
}
}
}
// scss-docs-end sidebar
.dropdown-toggle {
outline: 0;
}

View File

@@ -0,0 +1,86 @@
/* Background */ .bg { color: #c9d1d9; background-color: #0d1117; }
/* PreWrapper */ .chroma { color: #c9d1d9; background-color: #0d1117; }
/* Other */ .chroma .x { }
/* Error */ .chroma .err { color: #f85149 }
/* CodeLine */ .chroma .cl { }
/* LineLink */ .chroma .lnlinks { outline: none; text-decoration: none; color: inherit }
/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }
/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; }
/* LineHighlight */ .chroma .hl { background-color: #ffffcc }
/* LineNumbersTable */ .chroma .lnt { white-space: pre; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #64686c }
/* LineNumbers */ .chroma .ln { white-space: pre; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #6e7681 }
/* Line */ .chroma .line { display: flex; }
/* Keyword */ .chroma .k { color: #ff7b72 }
/* KeywordConstant */ .chroma .kc { color: #79c0ff }
/* KeywordDeclaration */ .chroma .kd { color: #ff7b72 }
/* KeywordNamespace */ .chroma .kn { color: #ff7b72 }
/* KeywordPseudo */ .chroma .kp { color: #79c0ff }
/* KeywordReserved */ .chroma .kr { color: #ff7b72 }
/* KeywordType */ .chroma .kt { color: #ff7b72 }
/* Name */ .chroma .n { }
/* NameAttribute */ .chroma .na { }
/* NameBuiltin */ .chroma .nb { }
/* NameBuiltinPseudo */ .chroma .bp { }
/* NameClass */ .chroma .nc { color: #f0883e; font-weight: bold }
/* NameConstant */ .chroma .no { color: #79c0ff; font-weight: bold }
/* NameDecorator */ .chroma .nd { color: #d2a8ff; font-weight: bold }
/* NameEntity */ .chroma .ni { color: #ffa657 }
/* NameException */ .chroma .ne { color: #f0883e; font-weight: bold }
/* NameFunction */ .chroma .nf { color: #d2a8ff; font-weight: bold }
/* NameFunctionMagic */ .chroma .fm { }
/* NameLabel */ .chroma .nl { color: #79c0ff; font-weight: bold }
/* NameNamespace */ .chroma .nn { color: #ff7b72 }
/* NameOther */ .chroma .nx { }
/* NameProperty */ .chroma .py { color: #79c0ff }
/* NameTag */ .chroma .nt { color: #7ee787 }
/* NameVariable */ .chroma .nv { color: #79c0ff }
/* NameVariableClass */ .chroma .vc { }
/* NameVariableGlobal */ .chroma .vg { }
/* NameVariableInstance */ .chroma .vi { }
/* NameVariableMagic */ .chroma .vm { }
/* Literal */ .chroma .l { color: #a5d6ff }
/* LiteralDate */ .chroma .ld { color: #79c0ff }
/* LiteralString */ .chroma .s { color: #a5d6ff }
/* LiteralStringAffix */ .chroma .sa { color: #79c0ff }
/* LiteralStringBacktick */ .chroma .sb { color: #a5d6ff }
/* LiteralStringChar */ .chroma .sc { color: #a5d6ff }
/* LiteralStringDelimiter */ .chroma .dl { color: #79c0ff }
/* LiteralStringDoc */ .chroma .sd { color: #a5d6ff }
/* LiteralStringDouble */ .chroma .s2 { color: #a5d6ff }
/* LiteralStringEscape */ .chroma .se { color: #79c0ff }
/* LiteralStringHeredoc */ .chroma .sh { color: #79c0ff }
/* LiteralStringInterpol */ .chroma .si { color: #a5d6ff }
/* LiteralStringOther */ .chroma .sx { color: #a5d6ff }
/* LiteralStringRegex */ .chroma .sr { color: #79c0ff }
/* LiteralStringSingle */ .chroma .s1 { color: #a5d6ff }
/* LiteralStringSymbol */ .chroma .ss { color: #a5d6ff }
/* LiteralNumber */ .chroma .m { color: #a5d6ff }
/* LiteralNumberBin */ .chroma .mb { color: #a5d6ff }
/* LiteralNumberFloat */ .chroma .mf { color: #a5d6ff }
/* LiteralNumberHex */ .chroma .mh { color: #a5d6ff }
/* LiteralNumberInteger */ .chroma .mi { color: #a5d6ff }
/* LiteralNumberIntegerLong */ .chroma .il { color: #a5d6ff }
/* LiteralNumberOct */ .chroma .mo { color: #a5d6ff }
/* Operator */ .chroma .o { color: #ff7b72; font-weight: bold }
/* OperatorWord */ .chroma .ow { color: #ff7b72; font-weight: bold }
/* Punctuation */ .chroma .p { }
/* Comment */ .chroma .c { color: #8b949e; font-style: italic }
/* CommentHashbang */ .chroma .ch { color: #8b949e; font-style: italic }
/* CommentMultiline */ .chroma .cm { color: #8b949e; font-style: italic }
/* CommentSingle */ .chroma .c1 { color: #8b949e; font-style: italic }
/* CommentSpecial */ .chroma .cs { color: #8b949e; font-weight: bold; font-style: italic }
/* CommentPreproc */ .chroma .cp { color: #8b949e; font-weight: bold; font-style: italic }
/* CommentPreprocFile */ .chroma .cpf { color: #8b949e; font-weight: bold; font-style: italic }
/* Generic */ .chroma .g { }
/* GenericDeleted */ .chroma .gd { color: #ffa198; background-color: #490202 }
/* GenericEmph */ .chroma .ge { font-style: italic }
/* GenericError */ .chroma .gr { color: #ffa198 }
/* GenericHeading */ .chroma .gh { color: #79c0ff; font-weight: bold }
/* GenericInserted */ .chroma .gi { color: #56d364; background-color: #0f5323 }
/* GenericOutput */ .chroma .go { color: #8b949e }
/* GenericPrompt */ .chroma .gp { color: #8b949e }
/* GenericStrong */ .chroma .gs { font-weight: bold }
/* GenericSubheading */ .chroma .gu { color: #79c0ff }
/* GenericTraceback */ .chroma .gt { color: #ff7b72 }
/* GenericUnderline */ .chroma .gl { text-decoration: underline }
/* TextWhitespace */ .chroma .w { color: #6e7681 }

View File

@@ -0,0 +1,86 @@
/* Background */ .bg { background-color: #ffffff; }
/* PreWrapper */ .chroma { background-color: #ffffff; }
/* Other */ .chroma .x { }
/* Error */ .chroma .err { color: #a61717; background-color: #e3d2d2 }
/* CodeLine */ .chroma .cl { }
/* LineLink */ .chroma .lnlinks { outline: none; text-decoration: none; color: inherit }
/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }
/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; }
/* LineHighlight */ .chroma .hl { background-color: #ffffcc }
/* LineNumbersTable */ .chroma .lnt { white-space: pre; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f }
/* LineNumbers */ .chroma .ln { white-space: pre; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f }
/* Line */ .chroma .line { display: flex; }
/* Keyword */ .chroma .k { color: #000000; font-weight: bold }
/* KeywordConstant */ .chroma .kc { color: #000000; font-weight: bold }
/* KeywordDeclaration */ .chroma .kd { color: #000000; font-weight: bold }
/* KeywordNamespace */ .chroma .kn { color: #000000; font-weight: bold }
/* KeywordPseudo */ .chroma .kp { color: #000000; font-weight: bold }
/* KeywordReserved */ .chroma .kr { color: #000000; font-weight: bold }
/* KeywordType */ .chroma .kt { color: #445588; font-weight: bold }
/* Name */ .chroma .n { }
/* NameAttribute */ .chroma .na { color: #008080 }
/* NameBuiltin */ .chroma .nb { color: #0086b3 }
/* NameBuiltinPseudo */ .chroma .bp { color: #999999 }
/* NameClass */ .chroma .nc { color: #445588; font-weight: bold }
/* NameConstant */ .chroma .no { color: #008080 }
/* NameDecorator */ .chroma .nd { color: #3c5d5d; font-weight: bold }
/* NameEntity */ .chroma .ni { color: #800080 }
/* NameException */ .chroma .ne { color: #990000; font-weight: bold }
/* NameFunction */ .chroma .nf { color: #990000; font-weight: bold }
/* NameFunctionMagic */ .chroma .fm { }
/* NameLabel */ .chroma .nl { color: #990000; font-weight: bold }
/* NameNamespace */ .chroma .nn { color: #555555 }
/* NameOther */ .chroma .nx { }
/* NameProperty */ .chroma .py { }
/* NameTag */ .chroma .nt { color: #000080 }
/* NameVariable */ .chroma .nv { color: #008080 }
/* NameVariableClass */ .chroma .vc { color: #008080 }
/* NameVariableGlobal */ .chroma .vg { color: #008080 }
/* NameVariableInstance */ .chroma .vi { color: #008080 }
/* NameVariableMagic */ .chroma .vm { }
/* Literal */ .chroma .l { }
/* LiteralDate */ .chroma .ld { }
/* LiteralString */ .chroma .s { color: #dd1144 }
/* LiteralStringAffix */ .chroma .sa { color: #dd1144 }
/* LiteralStringBacktick */ .chroma .sb { color: #dd1144 }
/* LiteralStringChar */ .chroma .sc { color: #dd1144 }
/* LiteralStringDelimiter */ .chroma .dl { color: #dd1144 }
/* LiteralStringDoc */ .chroma .sd { color: #dd1144 }
/* LiteralStringDouble */ .chroma .s2 { color: #dd1144 }
/* LiteralStringEscape */ .chroma .se { color: #dd1144 }
/* LiteralStringHeredoc */ .chroma .sh { color: #dd1144 }
/* LiteralStringInterpol */ .chroma .si { color: #dd1144 }
/* LiteralStringOther */ .chroma .sx { color: #dd1144 }
/* LiteralStringRegex */ .chroma .sr { color: #009926 }
/* LiteralStringSingle */ .chroma .s1 { color: #dd1144 }
/* LiteralStringSymbol */ .chroma .ss { color: #990073 }
/* LiteralNumber */ .chroma .m { color: #009999 }
/* LiteralNumberBin */ .chroma .mb { color: #009999 }
/* LiteralNumberFloat */ .chroma .mf { color: #009999 }
/* LiteralNumberHex */ .chroma .mh { color: #009999 }
/* LiteralNumberInteger */ .chroma .mi { color: #009999 }
/* LiteralNumberIntegerLong */ .chroma .il { color: #009999 }
/* LiteralNumberOct */ .chroma .mo { color: #009999 }
/* Operator */ .chroma .o { color: #000000; font-weight: bold }
/* OperatorWord */ .chroma .ow { color: #000000; font-weight: bold }
/* Punctuation */ .chroma .p { }
/* Comment */ .chroma .c { color: #999988; font-style: italic }
/* CommentHashbang */ .chroma .ch { color: #999988; font-style: italic }
/* CommentMultiline */ .chroma .cm { color: #999988; font-style: italic }
/* CommentSingle */ .chroma .c1 { color: #999988; font-style: italic }
/* CommentSpecial */ .chroma .cs { color: #999999; font-weight: bold; font-style: italic }
/* CommentPreproc */ .chroma .cp { color: #999999; font-weight: bold; font-style: italic }
/* CommentPreprocFile */ .chroma .cpf { color: #999999; font-weight: bold; font-style: italic }
/* Generic */ .chroma .g { }
/* GenericDeleted */ .chroma .gd { color: #000000; background-color: #ffdddd }
/* GenericEmph */ .chroma .ge { color: #000000; font-style: italic }
/* GenericError */ .chroma .gr { color: #aa0000 }
/* GenericHeading */ .chroma .gh { color: #999999 }
/* GenericInserted */ .chroma .gi { color: #000000; background-color: #ddffdd }
/* GenericOutput */ .chroma .go { color: #888888 }
/* GenericPrompt */ .chroma .gp { color: #555555 }
/* GenericStrong */ .chroma .gs { font-weight: bold }
/* GenericSubheading */ .chroma .gu { color: #aaaaaa }
/* GenericTraceback */ .chroma .gt { color: #aa0000 }
/* GenericUnderline */ .chroma .gl { text-decoration: underline }
/* TextWhitespace */ .chroma .w { color: #bbbbbb }

View File

@@ -1,86 +1,40 @@
/* Background */ .bg { color: #272822; }
/* PreWrapper */ .chroma { color: #272822 }
/* Other */ .chroma .x { }
/* Error */ .chroma .err { color: #960050 }
/* CodeLine */ .chroma .cl { }
/* LineLink */ .chroma .lnlinks { outline: none; text-decoration: none; color: inherit }
/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }
/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; }
/* LineHighlight */ .chroma .hl { background-color: #ffffcc }
/* LineNumbersTable */ .chroma .lnt { white-space: pre; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f }
/* LineNumbers */ .chroma .ln { white-space: pre; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #7f7f7f }
/* Line */ .chroma .line { display: flex; }
/* Keyword */ .chroma .k { color: #00a8c8 }
/* KeywordConstant */ .chroma .kc { color: #00a8c8 }
/* KeywordDeclaration */ .chroma .kd { color: #00a8c8 }
/* KeywordNamespace */ .chroma .kn { color: #f92672 }
/* KeywordPseudo */ .chroma .kp { color: #00a8c8 }
/* KeywordReserved */ .chroma .kr { color: #00a8c8 }
/* KeywordType */ .chroma .kt { color: #00a8c8 }
/* Name */ .chroma .n { color: #111111 }
/* NameAttribute */ .chroma .na { color: #75af00 }
/* NameBuiltin */ .chroma .nb { color: #111111 }
/* NameBuiltinPseudo */ .chroma .bp { color: #111111 }
/* NameClass */ .chroma .nc { color: #75af00 }
/* NameConstant */ .chroma .no { color: #00a8c8 }
/* NameDecorator */ .chroma .nd { color: #75af00 }
/* NameEntity */ .chroma .ni { color: #111111 }
/* NameException */ .chroma .ne { color: #75af00 }
/* NameFunction */ .chroma .nf { color: #75af00 }
/* NameFunctionMagic */ .chroma .fm { color: #111111 }
/* NameLabel */ .chroma .nl { color: #111111 }
/* NameNamespace */ .chroma .nn { color: #111111 }
/* NameOther */ .chroma .nx { color: #75af00 }
/* NameProperty */ .chroma .py { color: #111111 }
/* NameTag */ .chroma .nt { color: #f92672 }
/* NameVariable */ .chroma .nv { color: #111111 }
/* NameVariableClass */ .chroma .vc { color: #111111 }
/* NameVariableGlobal */ .chroma .vg { color: #111111 }
/* NameVariableInstance */ .chroma .vi { color: #111111 }
/* NameVariableMagic */ .chroma .vm { color: #111111 }
/* Literal */ .chroma .l { color: #ae81ff }
/* LiteralDate */ .chroma .ld { color: #d88200 }
/* LiteralString */ .chroma .s { color: #d88200 }
/* LiteralStringAffix */ .chroma .sa { color: #d88200 }
/* LiteralStringBacktick */ .chroma .sb { color: #d88200 }
/* LiteralStringChar */ .chroma .sc { color: #d88200 }
/* LiteralStringDelimiter */ .chroma .dl { color: #d88200 }
/* LiteralStringDoc */ .chroma .sd { color: #d88200 }
/* LiteralStringDouble */ .chroma .s2 { color: #d88200 }
/* LiteralStringEscape */ .chroma .se { color: #8045ff }
/* LiteralStringHeredoc */ .chroma .sh { color: #d88200 }
/* LiteralStringInterpol */ .chroma .si { color: #d88200 }
/* LiteralStringOther */ .chroma .sx { color: #d88200 }
/* LiteralStringRegex */ .chroma .sr { color: #d88200 }
/* LiteralStringSingle */ .chroma .s1 { color: #d88200 }
/* LiteralStringSymbol */ .chroma .ss { color: #d88200 }
/* LiteralNumber */ .chroma .m { color: #ae81ff }
/* LiteralNumberBin */ .chroma .mb { color: #ae81ff }
/* LiteralNumberFloat */ .chroma .mf { color: #ae81ff }
/* LiteralNumberHex */ .chroma .mh { color: #ae81ff }
/* LiteralNumberInteger */ .chroma .mi { color: #ae81ff }
/* LiteralNumberIntegerLong */ .chroma .il { color: #ae81ff }
/* LiteralNumberOct */ .chroma .mo { color: #ae81ff }
/* Operator */ .chroma .o { color: #f92672 }
/* OperatorWord */ .chroma .ow { color: #f92672 }
/* Punctuation */ .chroma .p { color: #111111 }
/* Comment */ .chroma .c { color: #75715e }
/* CommentHashbang */ .chroma .ch { color: #75715e }
/* CommentMultiline */ .chroma .cm { color: #75715e }
/* CommentSingle */ .chroma .c1 { color: #75715e }
/* CommentSpecial */ .chroma .cs { color: #75715e }
/* CommentPreproc */ .chroma .cp { color: #75715e }
/* CommentPreprocFile */ .chroma .cpf { color: #75715e }
/* Generic */ .chroma .g { }
/* GenericDeleted */ .chroma .gd { }
/* GenericEmph */ .chroma .ge { font-style: italic }
/* GenericError */ .chroma .gr { }
/* GenericHeading */ .chroma .gh { }
/* GenericInserted */ .chroma .gi { }
/* GenericOutput */ .chroma .go { }
/* GenericPrompt */ .chroma .gp { }
/* GenericStrong */ .chroma .gs { font-weight: bold }
/* GenericSubheading */ .chroma .gu { }
/* GenericTraceback */ .chroma .gt { }
/* GenericUnderline */ .chroma .gl { }
/* TextWhitespace */ .chroma .w { }
// stylelint-disable annotation-no-unknown
@import "syntax-light";
.bg,
.chroma,
.chroma .err {
// set to transparent background to avoid rendering issues with example shortcode
background-color: transparent if($enable-important-utilities, !important, null);
}
.syntax-highlight {
background-color: var(--bs-light) if($enable-important-utilities, !important, null);
}
.preview-background {
background-color: var(--bs-secondary-bg) if($enable-important-utilities, !important, null);
}
@if $enable-dark-mode {
[data-bs-theme="dark"] {
@import "syntax-dark"; // stylelint-disable-line no-invalid-position-at-import-rule
.bg,
.chroma,
.chroma .err {
// set to transparent background to avoid rendering issues with example shortcode
background-color: transparent if($enable-important-utilities, !important, null);
}
.syntax-highlight {
background-color: var(--bs-tertiary-bg) if($enable-important-utilities, !important, null);
}
.bg,
.chroma {
color: #c9d1d9 if($enable-important-utilities, !important, null);
}
}
}
// stylelint-enable annotation-no-unknown

View File

@@ -0,0 +1,160 @@
// scss-docs-start timeline
$connector-radius: 0.8rem;
$semi-circle-radius: 8rem;
$semi-circle-border: 0.2rem;
:root {
--timeline-highlight: var(--bs-primary);
--timeline-icon-radius: #{$semi-circle-radius};
--timeline-offset: 50%
}
@each $state in map-keys($theme-colors) {
.timeline-#{$state} {
--timeline-highlight: var(--#{$prefix}#{$state});
}
}
// scss-docs-end timeline
.timeline, .timeline-sm {
position: relative;
}
.timeline-sm {
--timeline-icon-radius: calc(#{$semi-circle-radius} / 2);
--timeline-offset: 25%
}
.timeline::before, .timeline-sm::before {
content: "";
width: 2 * $semi-circle-border;
margin: 0 auto;
background: var(--bs-body-color);
position: absolute;
inset: 0;
}
.timeline-sm::before {
margin: 0 calc(var(--timeline-offset) - #{$semi-circle-border});
}
.timeline-semi-circle-start, .timeline-semi-circle-end {
width: var(--timeline-icon-radius);
height: var(--timeline-icon-radius);
border-radius: 100%;
position: relative;
}
.timeline-semi-circle-start {
left: -$semi-circle-border;
}
.timeline-semi-circle-end {
left: $semi-circle-border;
}
.timeline-semi-circle-start::before {
content: "";
width: var(--timeline-icon-radius);
height: var(--timeline-icon-radius);
border-radius: 100%;
border: $semi-circle-border solid;
position: absolute;
border-color: transparent var(--timeline-highlight) var(--timeline-highlight) var(--timeline-highlight);
transform: rotate(-90deg);
}
.timeline-semi-circle-start::after {
content: "";
left: 0;
top: 0;
width: var(--timeline-icon-radius);
height: var(--timeline-icon-radius);
border-radius: 100%;
border: $semi-circle-border solid;
position: absolute;
border-color: var(--timeline-highlight) var(--timeline-highlight) var(--timeline-highlight) transparent;
transform: rotate(-45deg);
}
.timeline-semi-circle-end::before {
content: "";
width: var(--timeline-icon-radius);
height: var(--timeline-icon-radius);
border-radius: 100%;
border: $semi-circle-border solid;
position: absolute;
border-color: transparent var(--timeline-highlight) var(--timeline-highlight) var(--timeline-highlight);
transform: rotate(-225deg);
}
.timeline-semi-circle-end::after {
content: "";
left: 0;
top: 0;
width: var(--timeline-icon-radius);
height: var(--timeline-icon-radius);
border-radius: 100%;
border: $semi-circle-border solid;
position: absolute;
border-color: var(--timeline-highlight) var(--timeline-highlight) var(--timeline-highlight) transparent;
transform: rotate(-180deg);
}
.timeline-description-text-start {
border-bottom: $semi-circle-border solid var(--timeline-highlight);
margin-right: 2 * $connector-radius;
}
.timeline-description-text-end {
border-bottom: $semi-circle-border solid var(--timeline-highlight);
margin-left: 2 * $connector-radius;
}
.timeline-panel-start, .timeline-panel-end, .timeline-connector-start, .timeline-connector-end {
top: calc(var(--timeline-icon-radius) / 2);
position: relative;
width: calc(var(--timeline-icon-radius) / 2);
height: calc($semi-circle-border + var(--timeline-icon-radius) / 2);
border: $semi-circle-border solid var(--timeline-highlight);
border-bottom: none;
border-right: none;
border-left: none;
}
.timeline-panel-start {
top: 50%;
right: 50%;
position: absolute;
width: calc(var(--timeline-icon-radius) * 2);
width: 2 * $connector-radius;
height: 50%;
border-top: $semi-circle-border solid var(--timeline-highlight);
border-left: $semi-circle-border solid var(--timeline-highlight);
}
.timeline-panel-end {
top: 50%;
position: absolute;
width: calc(var(--timeline-icon-radius) * 2);
width: 2 * $connector-radius;
height: 50%;
border-top: $semi-circle-border solid var(--timeline-highlight);
border-right: $semi-circle-border solid var(--timeline-highlight);
}
.timeline-dot::after {
display: inline-block;
content: "";
position: absolute;
top: 50%;
left: var(--timeline-offset);
margin: (-$connector-radius) 0 0 (-$connector-radius);
width: 2 * $connector-radius;
height: 2 * $connector-radius;
border-radius: 100%;
border: ($semi-circle-border * 1.5) solid var(--bs-body-bg);
color: var(--timeline-highlight);
background: var(--timeline-highlight);
}

View File

@@ -1,20 +1,21 @@
//
// Table of contents sidebar
// Table of contents sidebar & drop-down panel
//
// scss-docs-start toc
.toc {
.toc-sidebar {
grid-area: toc;
right: 0;
z-index: 2;
height: calc(100vh - 7rem);
height: calc(100vh - 5rem);
overflow-y: auto;
top: $navbar-offset;
top: 5rem;
}
// scss-docs-end toc
.toc nav {
font-size: 0.875rem;
margin-bottom: -0.875rem;
}
.toc nav ul {
@@ -33,6 +34,10 @@
.toc nav a {
color: inherit;
&:hover {
color: var(--bs-primary);
}
}
.toc nav a:not(:hover) {
@@ -42,3 +47,21 @@
.toc nav a code {
font: inherit;
}
.toc-button {
--bs-btn-hover-color: var(--bs-primary);
--bs-btn-hover-bg: var(--bs-body-bg);
--bs-btn-hover-border-color: var(--bs-primary);
--bs-btn-active-color: var(--bs-primary);
--bs-btn-active-bg: var(--bs-body-bg);
--bs-btn-active-border-color: var(--bs-primary);
&.active,
&:hover,
&:focus {
color: var(--bs-primary);
border-color: var(--bs-primary);
box-shadow: 0 0 0 4px var(--bs-primary-border-subtle);
outline: none;
}
}

View File

@@ -1,19 +1,37 @@
// stylelint-disable function-name-case
// scss-docs-start colored-links
@each $color, $value in $theme-colors {
$contrast-color: color-contrast($value);
$color-rgb: to-rgb($value);
$custom-colors: (
"primary": "light",
"secondary": "light",
"success": "light",
"danger": "light",
"dark": "light",
"black": "light",
"info": "dark",
"warning": "dark",
"light": "dark",
"white": "dark",
"body": "adaptive",
"body-tertiary": "adaptive"
);
@each $color, $value in $custom-colors {
$main-color: var(--bs-body-color);
$emphasize-color: var(--bs-secondary-color);
@if $value == "light" {
$main-color: $white;
$emphasize-color: shade-color($main-color, $link-shade-percentage);
} @else if $value == "dark" {
$main-color: $black;
$emphasize-color: tint-color($main-color, $link-shade-percentage);
}
.link-bg-#{$color} {
color: $contrast-color !important; // stylelint-disable-line declaration-no-important
background-color: RGBA($color-rgb, var(--#{$prefix}bg-opacity, 1)) if($enable-important-utilities, !important, null); // stylelint-disable-line annotation-no-unknown
color: $main-color if($enable-important-utilities, !important, null);
@if $link-shade-percentage != 0 {
&:hover,
&:focus {
color: if($contrast-color == $color-contrast-light, shade-color($contrast-color, $link-shade-percentage), tint-color($contrast-color, $link-shade-percentage)) !important; // stylelint-disable-line declaration-no-important
}
&:hover,
&:focus {
color: $emphasize-color if($enable-important-utilities, !important, null);
}
}
}

View File

@@ -0,0 +1,30 @@
.hidden {
display: none;
}
// stylelint-disable annotation-no-unknown
// scss-docs-start display-color
.d-none-light {
display: none if($enable-important-utilities, !important, null);
}
.d-none-dark {
display: block if($enable-important-utilities, !important, null);
}
@if $enable-dark-mode {
@include color-mode(dark) {
.d-none-light {
display: block if($enable-important-utilities, !important, null);
}
.d-none-dark {
display: none if($enable-important-utilities, !important, null);
}
}
}
// scss-docs-end display-color
// stylelint-enable annotation-no-unknown

View File

@@ -0,0 +1,62 @@
/*!
* Copyright (c) 2016-2020 The Inter Project Authors.
* "Inter" is trademark of Rasmus Andersson.
* https://github.com/rsms/inter
* This Font Software is licensed under the SIL Open Font License, Version 1.1.
* This license is copied below, and is also available with a FAQ at:
* http://scripts.sil.org/OFL
*/
/* inter-200 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Inter';
font-style: normal;
font-weight: 200;
src: url('../fonts/inter-v12-latin-200.eot'); /* IE9 Compat Modes */
src: url('../fonts/inter-v12-latin-200.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../fonts/inter-v12-latin-200.woff2') format('woff2'), /* Super Modern Browsers */
url('../fonts/inter-v12-latin-200.woff') format('woff'), /* Modern Browsers */
url('../fonts/inter-v12-latin-200.ttf') format('truetype'), /* Safari, Android, iOS */
url('../fonts/inter-v12-latin-200.svg#Inter') format('svg'); /* Legacy iOS */
}
/* inter-300 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Inter';
font-style: normal;
font-weight: 300;
src: url('../fonts/inter-v12-latin-300.eot'); /* IE9 Compat Modes */
src: url('../fonts/inter-v12-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../fonts/inter-v12-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
url('../fonts/inter-v12-latin-300.woff') format('woff'), /* Modern Browsers */
url('../fonts/inter-v12-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
url('../fonts/inter-v12-latin-300.svg#Inter') format('svg'); /* Legacy iOS */
}
/* inter-regular - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Inter';
font-style: normal;
font-weight: 400;
src: url('../fonts/inter-v12-latin-regular.eot'); /* IE9 Compat Modes */
src: url('../fonts/inter-v12-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../fonts/inter-v12-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
url('../fonts/inter-v12-latin-regular.woff') format('woff'), /* Modern Browsers */
url('../fonts/inter-v12-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
url('../fonts/inter-v12-latin-regular.svg#Inter') format('svg'); /* Legacy iOS */
}
/* inter-600 - latin */
@font-face {
font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
font-family: 'Inter';
font-style: normal;
font-weight: 600;
src: url('../fonts/inter-v12-latin-600.eot'); /* IE9 Compat Modes */
src: url('../fonts/inter-v12-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../fonts/inter-v12-latin-600.woff2') format('woff2'), /* Super Modern Browsers */
url('../fonts/inter-v12-latin-600.woff') format('woff'), /* Modern Browsers */
url('../fonts/inter-v12-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
url('../fonts/inter-v12-latin-600.svg#Inter') format('svg'); /* Legacy iOS */
}

View File

@@ -0,0 +1,2 @@
// Placeholder to quickly add your own styles
// The file is included last in the build pipeline

View File

@@ -1,25 +0,0 @@
---
label: Blog post
hide_body: false
fields:
- type: text
name: author
label: author
- type: text
name: title
label: title
- type: text
name: description
label: description
- type: list
name: tags
label: tags
- type: datetime
name: date
label: date
- type: file
name: thumbnail
label: thumbnail
- type: textarea
name: credits
label: credits

View File

@@ -1,25 +0,0 @@
---
label: Project
hide_body: false
fields:
- type: text
name: author
label: author
- type: text
name: title
label: title
- type: datetime
name: date
label: date
- type: text
name: description
label: description
- type: list
name: tags
label: tags
- type: file
name: thumbnail
label: thumbnail
- type: textarea
name: credits
label: credits

View File

@@ -1,40 +0,0 @@
---
new_page_extension: md
auto_deploy: false
admin_path:
webhook_url:
sections:
- type: directory
path: content/en/blog
label: Blog
create: all
match: "**/*"
templates:
- blog-post
- type: directory
path: content/en/projects
label: Projects
create: all
match: "**/*"
templates:
- project
- type: document
path: content/en/about.md
label: About
upload_dir: assets/img
public_path: "/img"
front_matter_path: ''
use_front_matter_path: false
file_template: ":filename:"
build:
preview_env:
- HUGO_ENV=staging
- HUGO_VERSION=0.92.2
- HUGO_ENABLEGITINFO=true
preview_output_directory: public
install_dependencies_command: npm install
preview_docker_image: forestryio/hugo:node16
mount_path: "/srv"
working_dir: "/srv"
instant_preview_command: npm run start
version: 0.81.0

View File

@@ -6,6 +6,7 @@ enableGitInfo = true
# toml-docs-end main
# additional settings
googleAnalytics = "G-T85PPZ36GN"
baseURL = "https://demo.gethinode.com/"
canonifyURLs = false
enableEmoji = true
@@ -16,9 +17,9 @@ enableInlineShortcodes = true
# See https://github.com/gohugoio/hugo/issues/7228#issuecomment-714490456
ignoreErrors = ["error-remote-getjson"]
# toml-docs-start build
timeout = "60s"
# toml-docs-end build
# toml-docs-start timeout
timeout = "180s"
# toml-docs-end timeout
# toml-docs-start language
languageCode = "en-us"
@@ -26,6 +27,25 @@ defaultContentLanguage = "en"
defaultContentLanguageInSubdir = true
# toml-docs-end language
# toml-docs-start redirect
[outputFormats.REDIR]
mediaType = "text/netlify"
baseName = "_redirects"
isPlainText = true
notAlternative = true
[mediaTypes."text/netlify"]
delimiter = ""
[outputs]
home = ["HTML", "RSS", "REDIR"]
# toml-docs-end redirect
# toml-docs-start build
[build]
writeStats = true
# toml-docs-end build
[taxonomies]
tag = 'tags'
@@ -65,7 +85,7 @@ defaultContentLanguageInSubdir = true
[module]
[module.hugoVersion]
extended = true
min = "0.81.0"
min = "0.110.0"
max = ""
[[module.mounts]]
source = "assets"
@@ -73,6 +93,9 @@ defaultContentLanguageInSubdir = true
[[module.mounts]]
source = "static"
target = "static"
[[module.mounts]]
source = "static/fonts"
target = "static/fonts"
# toml-docs-start javascript
[[module.mounts]]
source = "node_modules/bootstrap/dist/js"
@@ -83,3 +106,6 @@ defaultContentLanguageInSubdir = true
target = "assets/js/vendor/flexsearch"
includeFiles = "*.bundle.js"
# toml-docs-end javascript
[[module.mounts]]
source = "node_modules/@fortawesome/fontawesome-free/webfonts"
target = "static/fonts"

View File

@@ -8,12 +8,10 @@
[en.params.head]
tagline = "A Hugo Theme"
[en.params.feature]
message = "Welcome to Hinode!"
tagline = "A clean documentation and blog theme for your Hugo site based on Bootstrap 5."
link = "/en/about"
link = "about"
caption = "About"
[en.params.footer]
license = "Licensed under Creative Commons (<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/' class='link-secondary' target='_blank'>CC BY-NC-SA 4.0</a>)."
license = "Licensed under Creative Commons (<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/' class='link-secondary' target='_blank' rel='noopener noreferrer'>CC BY-NC-SA 4.0</a>)."
socialTitle = "Follow me"
socialCaption = "I work on everything coding and tweet developer memes"
# toml-docs-end lang-param
@@ -25,11 +23,9 @@
[nl.params.head]
tagline = "Een Hugo Thema"
[nl.params.feature]
message = "Welkom bij Hinode!"
tagline = "Een documentatie en blog thema voor Hugo gebaseerd op Bootstrap 5."
link = "/nl/over-mij"
link = "over-mij"
caption = "Over mij"
[nl.params.footer]
license = "Gelicenseerd onder Creative Commons (<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/' class='link-secondary' target='_blank'>CC BY-NC-SA 4.0</a>)."
license = "Gelicenseerd onder Creative Commons (<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/' class='link-secondary' target='_blank' rel='noopener noreferrer'>CC BY-NC-SA 4.0</a>)."
socialTitle = "Volg mij"
socialCaption = "Ik doe aan programmeren en tweet memes"

View File

@@ -1,39 +1,34 @@
[[main]]
name = "About"
url = "/about/"
pageRef = "/about/"
weight = 10
[[main]]
name = "Docs"
url = "/docs/"
name = "Blog"
pageRef = "/blog/"
weight = 20
[[main]]
name = "Blog"
url = "/blog/"
name = "Projects"
pageRef = "/projects/"
weight = 30
[[main]]
name = "Projects"
url = "/projects/"
weight = 40
[[main]]
name = "Sample project"
url = "/en/projects/sample-project/"
pageRef = "/projects/sample-project/"
parent = "Projects"
weight = 1
[[main]]
name = "Another project"
url = "/en/projects/another-project/"
pageRef = "/projects/another-project/"
parent = "Projects"
weight = 2
[[main]]
name = "Tags"
url = "/tags/"
weight = 50
pageRef = "/tags/"
weight = 40
[[social]]
name = "LinkedIn"
@@ -56,23 +51,23 @@
# toml-docs-start sample-navigation
[[sample]]
name = "Blog"
url = "/blog/"
pageRef = "/blog/"
weight = 10
[[sample]]
name = "Projects"
url = "/projects/"
pageRef = "/projects/"
weight = 20
[[sample]]
name = "Sample project"
url = "/en/projects/sample-project/"
pageRef = "/projects/sample-project/"
parent = "Projects"
weight = 1
[[sample]]
name = "Another project"
url = "/en/projects/another-project/"
pageRef = "/projects/another-project/"
parent = "Projects"
weight = 2
# toml-docs-end sample-navigation

View File

@@ -1,33 +1,33 @@
[[main]]
name = "Over mij"
url = "/over-mij/"
pageRef = "/over-mij/"
weight = 10
[[main]]
name = "Blog"
url = "/blog/"
pageRef = "/blog/"
weight = 20
[[main]]
name = "Projecten"
url = "/projecten/"
pageRef = "/projecten/"
weight = 30
[[main]]
name = "Voorbeeldproject"
url = "/nl/projecten/voorbeeldproject/"
pageRef = "/projecten/voorbeeldproject/"
parent = "Projecten"
weight = 1
[[main]]
name = "Ander project"
url = "/nl/projecten/ander-project/"
pageRef = "/projecten/ander-project/"
parent = "Projecten"
weight = 2
[[main]]
name = "Tags"
url = "/tags/"
pageRef = "/tags/"
weight = 40
[[social]]
@@ -46,4 +46,28 @@
name = "Medium"
pre = "<i class=\"fab fa-medium fa-2x\"></i>"
url = "https://medium.com/"
weight = 30
weight = 30
# toml-docs-start sample-navigation
[[sample]]
name = "Blog"
pageRef = "/blog/"
weight = 10
[[sample]]
name = "Projecten"
pageRef = "/projecten/"
weight = 20
[[sample]]
name = "Voorbeeldproject"
pageRef = "/projecten/voorbeeldproject/"
parent = "Projecten"
weight = 1
[[sample]]
name = "Ander project"
pageRef = "/projecten/ander-project/"
parent = "Projecten"
weight = 2
# toml-docs-end sample-navigation

View File

@@ -2,11 +2,15 @@
[main]
separator = "-"
description = "Hinode is a clean documentation and blog theme for your Hugo site based on Bootstrap 5."
enableDarkMode = true
modes = ["light", "dark"]
# toml-docs-end main
# toml-docs-start docs
[docs]
version = "0.8"
github = "https://github.com/gethinode/hinode"
release = "https://github.com/gethinode/hinode/releases/tag/"
checkVersion = false
# toml-docs-end docs
# toml-docs-start home
@@ -14,48 +18,99 @@
sections = ["blog", "projects"]
featurePhoto = "/img/sunrise.jpg" # source: https://unsplash.com/photos/ZX6BPboJrYk
fullCover = false
centerHeadline = false
style = ""
# toml-docs-end home
# toml-docs-start navigation
[navigation]
logo = "/img/logo_embedded.svg"
color = "white"
style = "light"
anchor = true
logo = "/img/logo_icon.svg"
color = "body"
fixed = true
offset = "4em"
offset = "3.8em"
search = true
breadcrumb = false
breadcrumb = true
toc = true
sidebar = true
# toml-docs-end navigation
# toml-docs-start list
[list]
[blog]
# toml-docs-start messages
[messages]
placement = "bottom-right"
# toml-docs-end messages
# toml-docs-start sharing
[sharing]
enabled = true
sort = "weight"
reverse = false
[[sharing.providers]]
name = "LinkedIn"
url = "https://www.linkedin.com/sharing/share-offsite/?url={url}"
icon = "fab linkedin"
weight = 10
[[sharing.providers]]
name = "Twitter"
url = "https://twitter.com/home?status={url}"
icon = "fab twitter"
weight = 20
[[sharing.providers]]
name = "Facebook"
url = "https://www.facebook.com/sharer.php?u={url}"
icon = "fab facebook"
weight = 30
[[sharing.providers]]
name = "WhatsApp"
url = "whatsapp://send?text={title}%20{url}"
icon = "fab whatsapp"
weight = 40
[[sharing.providers]]
name = "email"
url = "{url}"
icon = "fas link"
weight = 50
clipboard = true
# toml-docs-end sharing
# toml-docs-start sections
[sections]
[sections.blog]
title = "Blog"
sort = "date"
reverse = false
reverse = true
nested = true
cols = 3
color = ""
padding = "0"
header = "full"
footer = "none"
orientation = "stacked"
style = "border-0"
style = "border-0 card-zoom"
homepage = 3
[projects]
separator = true
[sections.projects]
title = "Projects"
layout = "card"
sort = "title"
reverse = false
nested = true
cols = 1
color = ""
background = "body-tertiary"
color = "body"
padding = "3"
header = "none"
footer = "tags"
orientation = "none"
orientation = "horizontal"
style = "border-1 card-emphasize"
homepage = 3
# toml-docs-end list
separator = false
# toml-docs-end sections
[favicon]
logo = "img/favicon.png"
@@ -63,7 +118,7 @@
# toml-docs-start theme-colors
[style]
primary = "#D43900"
primary = "#d43900"
secondary = "#6c757d"
success = "#198754"
info = "#0dcaf0"
@@ -75,8 +130,12 @@
themeOpacity = "10"
# toml-docs-start font
themeFont = "Inter"
themeFontPath = "https://fonts.googleapis.com/css2?family=Inter:wght@200;300;600&display=swap"
# themeFontPath = "https://fonts.googleapis.com/css2?family=Inter:wght@200;300;600&display=swap" # external path
themeFontPath = "/fonts" # local path
# toml-docs-end font
# toml-docs-start build
purge = false
# toml-docs-end build
[schema]
type = "Organization"
@@ -114,78 +173,11 @@
#theme = ""
[links]
azure = "https://azure.microsoft.com"
az_blob_domain = "https://learn.microsoft.com/en-us/azure/storage/blobs/storage-custom-domain-name"
az_blob_pricing = "https://azure.microsoft.com/en-us/free"
az_cdn_rules = "https://learn.microsoft.com/en-us/azure/cdn/cdn-standard-rules-engine-reference"
blist = "https://github.com/apvarun/blist-hugo-theme"
bootstrap = "https://getbootstrap.com"
bs_badge_heading = "https://getbootstrap.com/docs/5.2/components/badge/#headings"
bs_breakpoints = "https://getbootstrap.com/docs/5.3/layout/breakpoints"
bs_grid = "https://getbootstrap.com/docs/5.3/layout/grid"
bs_offcanvas = "https://getbootstrap.com/docs/5.3/components/offcanvas"
bs_navbar_placement = "https://getbootstrap.com/docs/5.3/components/navbar/#placement"
bs_tables = "https://getbootstrap.com/docs/5.3/content/tables"
cc_by_nc_4_0 = "https://creativecommons.org/licenses/by-nc/4.0/"
commit_message = "https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html"
contrast_checker = "https://accessibleweb.com/color-contrast-checker/"
css_codeguide = "https://codeguide.co/#css"
doks = "https://github.com/h-enk/doks"
eslint = "https://eslint.org"
flexsearch = "https://github.com/nextapps-de/flexsearch"
fontawesome = "https://fontawesome.com"
fa_icons = "https://fontawesome.com/icons"
fa_styling = "https://fontawesome.com/docs/web/style/styling"
fa_animation = "https://fontawesome.com/docs/web/style/animate"
git_download = "https://git-scm.com"
github_pr = "https://help.github.com/articles/about-pull-requests/"
github_rebase = "https://help.github.com/articles/about-git-rebase/"
google_fonts = "https://fonts.google.com"
html_codeguide = "https://codeguide.co/#html"
hugo = "https://gohugo.io"
hugo_config = "https://gohugo.io/getting-started/configuration/#all-configuration-settings"
hugo_config_dir = "https://gohugo.io/getting-started/configuration/#configuration-directory"
hugo_content = "https://gohugo.io/content-management/formats"
hugo_chroma = "https://gohugo.io/content-management/syntax-highlighting/#list-of-chroma-highlighting-languages"
hugo_deploy = "https://gohugo.io/hosting-and-deployment/hugo-deploy"
hugo_deployment = "https://gohugo.io/hosting-and-deployment"
hugo_config_deploy = "https://gohugo.io/hosting-and-deployment/hugo-deploy/#configure-the-deployment"
hugo_fingerprint = "https://gohugo.io/hugo-pipes/fingerprint"
hugo_frontmatter = "https://gohugo.io/content-management/front-matter"
hugo_i18n = "https://gohugo.io/functions/i18n"
hugo_image = "https://gohugo.io/content-management/image-processing"
hugo_lang = "https://gohugo.io/content-management/multilingual"
hugo_lang_config = "https://gohugo.io/content-management/multilingual/#configure-languages"
hugo_links = "https://gohugo.io/content-management/cross-references"
hugo_menus = "https://gohugo.io/content-management/menus/"
hugo_mounts = "https://gohugo.io/hugo-modules/configuration/#module-config-mounts"
hinode_docs = "https://gethinode.com/docs"
hugo_imaging = "https://gohugo.io/content-management/image-processing/#imaging-configuration"
hugo_ordering = "https://gohugo.io/templates/lists/#order-content"
hugo_templates = "https://gohugo.io/templates/introduction/"
hugo_toc = "https://gohugo.io/content-management/toc"
issue_tracker = "https://github.com/gethinode/hinode/issues"
license = "https://github.com/gethinode/hinode/blob/main/LICENSE"
markdown_emoji = "https://gist.github.com/rxaviers/7360908"
markdown_md013 = "https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md#md013---line-length"
markdown_md024 = "https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md#md024---multiple-headings-with-the-same-content"
markdown_md026 = "https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md#md026---trailing-punctuation-in-heading"
markdown_md033 = "https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md#md033---inline-html"
markdown_md034 = "https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md#md034---bare-url-used"
markdown_md051 = "https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md#md051---link-fragments-should-be-valid"
markdown_md053 = "https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md#md053---link-and-image-reference-definitions-should-be-needed"
markdown_rules = "https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md"
markdownlint = "https://github.com/DavidAnson/markdownlint-cli2"
mozilla_image = "https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images"
netlify = "https://www.netlify.com"
nodejs = "https://nodejs.org"
npm = "https://www.npmjs.com"
observatory = "https://observatory.mozilla.org/analyze/demo.gethinode.com"
package_npm = "https://www.npmjs.com/package/@gethinode/hinode"
pagespeed = "https://pagespeed.web.dev/report?url=https%3A%2F%2Fdemo.gethinode.com%2F"
repository = "https://github.com/gethinode/hinode"
repository_child = "https://github.com/gethinode/child.git"
repository_owner = "https://github.com/gethinode/"
semver = "https://semver.org"
stylelint = "https://stylelint.io"
utterances = "https://utteranc.es"
wcag_contrast = "https://www.w3.org/TR/WCAG20/#visual-audio-contrast"

View File

@@ -8,14 +8,15 @@ for = '/**'
Content-Security-Policy = """\
default-src 'self'; \
script-src 'self' \
https://utteranc.es/client.js; \
https://utteranc.es/client.js https://*.google-analytics.com https://*.googletagmanager.com; \
style-src 'self' https://utteranc.es https://fonts.googleapis.com https://www.youtube.com; \
object-src 'none'; \
base-uri 'self'; \
connect-src 'self'; \
connect-src 'self'
https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; \
font-src 'self' https://fonts.gstatic.com; \
frame-src 'self' https://utteranc.es https://www.youtube-nocookie.com https://www.youtube.com; \
img-src 'self' https://i.vimeocdn.com https://i.ytimg.com; \
img-src 'self' https://i.vimeocdn.com https://i.ytimg.com https://*.google-analytics.com https://*.googletagmanager.com; \
manifest-src 'self'; \
media-src 'self' \
"""
@@ -32,6 +33,11 @@ for = '/**'
fullscreen=(), \
payment=() \
"""
Cache-Control = "public, max-age=31536000"
cache-control = """\
max-age=0, \
no-cache, \
no-store, \
must-revalidate \
"""
Access-Control-Allow-Origin = "*"
# toml-docs-end server-config

View File

@@ -1,47 +1,40 @@
const autoprefixer = require('autoprefixer');
const purgecss = require('@fullhuman/postcss-purgecss');
const whitelister = require('purgecss-whitelister');
const autoprefixer = require('autoprefixer')({})
const cssnano = require('cssnano')({
preset: 'advanced'
})
const whitelister = require('purgecss-whitelister')
const purgecss = require('@fullhuman/postcss-purgecss')({
content: ['./hugo_stats.json'],
defaultExtractor: (content) => {
const els = JSON.parse(content).htmlElements
return [...(els.tags || []), ...(els.classes || []), ...(els.ids || [])]
},
dynamicAttributes: ['data-bs-theme'],
safelist: [
...whitelister([
'./assets/scss/components/_clipboard.scss',
'./assets/scss/components/_command.scss',
'./assets/scss/components/_navbar.scss',
'./assets/scss/components/_search.scss',
'./assets/scss/components/_syntax.scss',
'./assets/scss/components/_syntax-dark.scss',
'./assets/scss/components/_syntax-light.scss',
'./assets/scss/theme/fonts.scss',
'./assets/scss/theme/theme.scss',
'./node_modules/bootstrap/scss/_carousel.scss',
'./node_modules/bootstrap/scss/_dropdown.scss',
'./node_modules/bootstrap/scss/_reboot.scss',
'./node_modules/bootstrap/scss/_tooltip.scss',
'./node_modules/bootstrap/scss/_transitions.scss',
'./node_modules/bootstrap/scss/_utilities.scss'
])
]
})
module.exports = {
plugins: [
autoprefixer(),
purgecss({
content: [
'./layouts/**/*.html',
'./content/**/*.md',
],
safelist: [
/lazyloaded/,
/table/,
/thead/,
/tbody/,
/tr/,
/th/,
/td/,
/h5/,
/alert-link/,
/container-xxl/,
/container-fluid/,
/^bg-opacity-\d+/,
/svg.*/,
/fa.*/,
/ratio.*/,
/suggestion.*/,
...whitelister([
'./assets/scss/components/_blockquote.scss',
'./assets/scss/components/_buttons.scss',
'./assets/scss/components/_card.scss',
'./assets/scss/components/_clipboard.scss',
'./assets/scss/components/_img.scss',
'./assets/scss/components/_navbar.scss',
'./assets/scss/components/_search.scss',
'./assets/scss/components/_syntax.scss',
'./assets/scss/layouts/_reboot.scss',
'./assets/scss/layouts/type.scss',
'./node_modules/bootstrap/scss/_dropdown.scss',
'./node_modules/bootstrap/scss/_utilities.scss',
]),
],
}),
],
autoprefixer,
cssnano,
purgecss
]
}

View File

@@ -1 +0,0 @@
canonifyURLs = false

View File

@@ -1,4 +1,6 @@
---
author: Mark Dumay
title: A Clean Theme for Hugo
title: Welcome to Hinode!
---
A clean documentation and blog theme for your Hugo site based on Bootstrap 5.

View File

@@ -2,11 +2,11 @@
title: About
description: Hinode is a clean documentation and blog theme for your Hugo site based on Bootstrap 5.
date: 2022-04-11
updated: 2023-01-14
updated: 2023-06-26
showComments: false
---
<p class="text-center"><img src="/img/logo_embedded.svg" class="img-fluid w-50" alt="Logo"></p>
<p class="text-center"><svg class="img-fluid w-50"><use href="/img/logo_var.svg#logo"></use></svg></p>
<section class="section section-sm mt-5 mb-5">
<div class="container-fluid">
@@ -32,10 +32,11 @@ showComments: false
Additional features include:
* Switching between light mode and dark mode
* Support for multiple languages
* Reusable Bootstrap components through configurable shortcodes and partials
* Versioned documentation, including sidebar navigation and version switcher
* Embedded comments through light-weight integration with GitHub via [utteranc.es]({{< param "links.utterances" >}})
* Integrated sidebar navigation for content-heavy sections, such as documentation pages
* Reponsive image handling for multiple screen sizes and resolutions
* Optimized search results, scoring 100 points for SEO on [PageSpeed Insights]({{< param "links.pagespeed" >}})
* Secure by default, scoring A+ on [Mozilla Observatory test]({{< param "links.observatory" >}})

View File

@@ -1,4 +1,5 @@
---
author: Mark Dumay
title: Blog
nested: true
---

View File

@@ -0,0 +1,290 @@
---
author: Mark Dumay
title: Bootstrap elements
date: 2023-05-20
description: Use shortcodes to add common Bootstrap elements with ease.
tags: ["bootstrap", "shortcode"]
thumbnail: img/boots.jpg
photoCredits: <a href="https://unsplash.com/@nate_dumlao">Nathan Dumlao</a>
photoSource: <a href="https://unsplash.com/photos/QLPWQvHvmII">Unsplash</a>
---
Hinode provides several shortcodes that wrap common Bootstrap components. Refer to the [official documentation]({{< param "links.hinode_docs" >}}) for more details.
## Accordion
As an example, the following shortcode displays an accordion with three elements, of which the first element is expanded.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* accordion */>}}
{{</* accordion-item header="Accordion Item #1" show="true" */>}}
This is the first item's accordion body. It supports HTML content. The item is shown by adding the value
<code>show</code> to the <code>class</code> argument.
{{</* /accordion-item */>}}
{{</* accordion-item header="Accordion Item #2" */>}}
This is the second item's accordion body. It supports HTML content too.
{{</* /accordion-item */>}}
{{</* accordion-item header="Accordion Item #3" */>}}
This is the third item's accordion body.
{{</* /accordion-item */>}}
{{</* /accordion */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Alert
As an example, the following shortcode displays a simple alert.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* alert color="danger" dismissible="true" */>}}
A simple danger alert—check it out!
{{</* /alert */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Badge
Use HTML code to display a badge for a heading. See the Bootstrap [documentation]({{< param "links.bs_badge_heading" >}}) for more options.
{{< example >}}
<h1>Example heading of size one <span class="badge bg-secondary">New</span></h1>
<h2>Example heading of size two <span class="badge bg-secondary">New</span></h2>
<h3>Example heading of size three <span class="badge bg-secondary">New</span></h3>
<h4>Example heading of size four <span class="badge bg-secondary">New</span></h4>
<h5>Example heading of size five <span class="badge bg-secondary">New</span></h5>
<h6>Example heading of size six <span class="badge bg-secondary">New</span></h6>
{{< /example >}}
## Breadcrumb
As an example, the following shortcode displays a breadcrumb for the blog page.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* breadcrumb path="blog" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Button
As an example, the following shortcode displays a tooltip for a dark button with a badge.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* button color="secondary" tooltip="Click on the inbox to view your unread messages" href="#!" badge="99+" */>}}
Inbox
{{</* /button */>}}
{{< /example>}}
<!-- markdownlint-enable MD037 -->
## Button group
As an example, the following shortcode displays a group of three buttons.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* button-group aria-label="Basic example" */>}}
{{</* button color="primary" href="#!" */>}}Left{{</* /button */>}}
{{</* button color="primary" href="#!" */>}}Middle{{</* /button */>}}
{{</* button color="primary" href="#!" */>}}Right{{</* /button */>}}
{{</* /button-group */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Card
As an example, the following shortcode displays a stacked card that links to the [about]({{< ref "about" >}}) page. It includes a custom header.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* card path="about" padding="3" class="w-50" color="body-tertiary" header="publication" footer="none" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Carousel
As an example, the following shortcode displays a centered carousel with three slides, 16x9 aspect ratio, and a relative width of 67% on large screens.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* carousel ratio="16x9" class="col-sm-12 col-lg-8 mx-auto" */>}}
{{</* img src="img/coffee.jpg" caption="slide 1" */>}}
{{</* img src="img/phone.jpg" caption="slide 2" */>}}
{{</* img src="img/dunes.jpg" caption="slide 3" */>}}
{{</* /carousel */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Collapse
As an example, the following shortcode displays a button that, when clicked, triggers a panel to appear or disappear.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* button collapse="collapse-1" */>}}
Trigger panel
{{</* /button */>}}
{{</* collapse id="collapse-1" class="p-3 border rounded" */>}}
Some placeholder content for the collapse component. This panel is <i>hidden by default</i> but
revealed when the user activates the relevant trigger.
{{</* /collapse */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Command prompt
Use the `command` shortcode to generate a block with a default bash command prompt.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* command */>}}
export MY_VAR=123
{{</* /command */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
Specify `user` and `host` to add the user context to the prompt. In addition, use `(out)` to specify an output line and use `\` to denote a line continuation.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* command user="user" host="localhost" */>}}
export MY_VAR=123
echo "hello"
(out)hello
echo one \
two \
three
(out)one two three
echo "goodbye"
(out)goodbye
{{</* /command */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Docs
Use the `docs` shortcode to display the content of a `js`, `scss` or `toml` file:
{{< docs name="theme-colors" file="config/_default/params.toml" >}}
## Icon
As an example, the following shortcodes show a square check, a brand logo, and a circle check.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* fa square-check */>}}
{{</* fab linkedin */>}}
{{</* fas circle-check */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Image
As an example, the following shortcode displays an image with rounded corners and a 21x9 aspect ratio.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* image src="img/flowers.jpg" ratio="21x9" caption="Figure caption" class="rounded" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Nav
As an example, the following shortcode displays a tab group with vertically aligned pills.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* nav type="pills" vertical="true" */>}}
{{</* nav-item header="Nav Item #1" show="true" */>}}
This is the first item's nav body. It supports HTML content. The item is shown by adding the value
<code>show</code> to the <code>class</code> argument.
{{</* /nav-item */>}}
{{</* nav-item header="Nav Item #2" */>}}
This is the second item's nav body. It too supports HTML content.
{{</* /nav-item */>}}
{{</* nav-item header="Nav Item #3" */>}}
This is the third item's nav body.
{{</* /nav-item */>}}
{{</* /nav */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Navbar
As an example, the following shortcode displays a light navigation header.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* navbar path="about" color="primary" size="md" search="false" menus="sample" title="Brand" mode="false" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Release
As an example, the following shortcode displays a default release button.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* release version="v0.14.1" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Spinner
As an example, the following shortcode displays a centered spinner.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* spinner color="info" class="text-center" */>}}
Loading...
{{</* /spinner */>}}
{{< /example>}}
<!-- markdownlint-enable MD037 -->
## Timeline
As an example, the following shortcode displays a timeline with the file `data/timeline-en.yml` as data.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* timeline data="timeline-en" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Toast
As an example, the following shortcode displays a button that, when clicked, triggers the toast message.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* button toast="toast-example-1" */>}}
Show toast 1
{{</* /button */>}}
{{</* button toast="toast-example-2" */>}}
Show toast 2
{{</* /button */>}}
{{</* toast id="toast-example-1" header="First title" */>}}
This is the first toast message.
{{</* /toast */>}}
{{</* toast id="toast-example-2" header="Second title" */>}}
This is the second toast message.
{{</* /toast */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->
## Tooltip
As an example, the following shortcode displays a tooltip for a colored hyperlink.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* tooltip color="primary" title="Tooltip" href="#!" */>}}Tooltip{{</* /tooltip */>}} demonstration
{{< /example >}}
<!-- markdownlint-enable MD037 -->

View File

@@ -1,58 +0,0 @@
---
author: "Mark Dumay"
title: "Code Highlighting"
date: 2022-04-16
description: "Examples on how to enable code highlighting."
tags: ["code"]
thumbnail: img/notepad.jpg
photoCredits: <a href="https://unsplash.com/@frederickjmedina">Frederick Medina</a>
photoSource: <a href="https://unsplash.com/photos/PdfRE-xB--s">Unsplash</a>
---
## Code Fencing
Use code fencing to highlight the syntax of a specific language.
```json
{
"version": "0.2.0",
"themes": [],
"projects": [],
"configuration": {}
}
```
```html
<div class="highlight">
<pre>
<code>some code...</code>
</pre>
</div>
```
## Highlight Shortcode
Use the `highlight` shortcode to customize the layout of a specific code block.
{{< highlight go "linenos=table,hl_lines=8 15-17,linenostart=199" >}}
// GetTitleFunc returns a func that can be used to transform a string to
// title case.
//
// The supported styles are
//
// - "Go" (strings.Title)
// - "AP" (see https://www.apstylebook.com/)
// - "Chicago" (see https://www.chicagomanualofstyle.org/home.html)
//
// If an unknown or empty style is provided, AP style is what you get.
func GetTitleFunc(style string) func(s string) string {
switch strings.ToLower(style) {
case "go":
return strings.Title
case "chicago":
return transform.NewTitleConverter(transform.ChicagoStyle)
default:
return transform.NewTitleConverter(transform.APStyle)
}
}
{{< / highlight >}}

View File

@@ -1,24 +0,0 @@
---
author: "Hugo Authors"
title: "Emoji Support"
date: 2021-07-15
description: "Guide to emoji usage in Hugo."
tags: ["emoji"]
# thumbnail: img/dunes.jpg
thumbnail: https://picsum.photos/id/184/4288/2848.jpg
photoCredits: <a href="https://unsplash.com/@timdegroot">Tim de Groot</a>
photoSource: <a href="https://unsplash.com/photos/yNGQ830uFB4">Unsplash</a>
---
Emoji can be enabled in a Hugo project in a number of ways.
<!--more-->
The [`emojify`](https://gohugo.io/functions/emojify/) function can be called directly in templates or [Inline Shortcodes](https://gohugo.io/templates/shortcode-templates/#inline-shortcodes).
To enable emoji globally, set `enableEmoji` to `true` in your site's [configuration](https://gohugo.io/getting-started/configuration/) and then you can type emoji shorthand codes directly in content files; e.g.
<p><span class="nowrap"><span class="emojify">🙈</span> <code>:see_no_evil:</code></span> <span class="nowrap"><span class="emojify">🙉</span> <code>:hear_no_evil:</code></span> <span class="nowrap"><span class="emojify">🙊</span> <code>:speak_no_evil:</code></span></p>
<br>
The [Emoji cheat sheet](http://www.emoji-cheat-sheet.com/) is a useful reference for emoji shorthand codes.

View File

@@ -0,0 +1,14 @@
---
author: Mark Dumay
title: First post
date: 2022-10-01
description: This is my first blog post.
tags: ["blog"]
thumbnail: img/notepad.jpg
photoCredits: <a href="https://unsplash.com/@frederickjmedina">Frederick Medina</a>
photoSource: <a href="https://unsplash.com/photos/PdfRE-xB--s">Unsplash</a>
---
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque vulputate, ante in luctus congue, leo risus semper justo, vel consequat sapien lectus quis ipsum. In imperdiet urna justo. Nulla vel pellentesque ipsum. Cras congue feugiat dolor ac aliquam. Pellentesque eget dui venenatis, ultrices urna ac, vehicula nibh. Curabitur est lectus, dapibus eu vehicula non, malesuada et dui. Nam enim nulla, egestas et nunc non, elementum aliquet justo. Mauris euismod mauris sapien, eget vestibulum odio dictum sit amet. Morbi nisl elit, placerat at auctor in, finibus ac neque. Curabitur placerat feugiat risus non vestibulum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque quis cursus est, nec posuere libero.
In ac lobortis diam. Curabitur id dui ac nunc mattis rhoncus a sed lorem. Sed lobortis sem turpis, at posuere enim dignissim et. Vivamus fermentum justo quis volutpat volutpat. Proin eget vehicula neque, ut tempus urna. Duis ac ex vel leo pharetra lobortis et vitae lacus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Aliquam erat volutpat. Suspendisse ullamcorper ultrices elementum. Suspendisse mi elit, commodo at varius a, cursus a ligula. Sed et mattis elit, eu luctus arcu. Cras a porttitor libero. Vestibulum tincidunt sed magna at dapibus. Sed quis orci eu lacus aliquam tristique. Integer porttitor ultrices ipsum quis porttitor. Etiam a sodales ligula.

View File

@@ -0,0 +1,16 @@
---
author: Mark Dumay
title: Fourth post
date: 2023-01-01
description: This is my fourth blog post.
tags: ["blog"]
thumbnail: img/flowers.jpg # https://picsum.photos/id/106/2592/1728
photoCredits: <a href="https://unsplash.com/@flutterhappy">Arvee Marie</a>
photoSource: <a href="https://unsplash.com/photos/YnfGtpt2gf4">Unsplash</a>
---
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam finibus libero in felis accumsan, vitae imperdiet metus vehicula. Quisque nec dignissim purus. In id dui porta sapien posuere viverra nec vel nisi. Sed varius tincidunt lectus, quis sagittis felis interdum id. Proin purus odio, ultrices auctor libero convallis, volutpat gravida turpis. Ut commodo metus orci, quis sagittis lectus rhoncus non. Nulla et lectus tortor. Suspendisse quam felis, molestie non odio quis, consequat venenatis orci. Etiam sed turpis sit amet elit scelerisque imperdiet. Sed suscipit felis non nibh suscipit egestas. Nulla sodales libero non rhoncus consequat. Nunc in elit at est cursus congue ut ac velit. Cras luctus libero augue, id semper sapien volutpat ultrices.
Pellentesque sit amet sollicitudin nibh. Cras in dolor eget quam feugiat ultricies in ac lectus. Ut venenatis vitae justo quis pretium. Pellentesque vulputate nulla ac est iaculis vulputate. Proin pellentesque sem nec molestie imperdiet. Duis eu molestie sapien, vel ultricies lacus. Donec in felis tempus, rutrum ipsum at, fermentum felis. Praesent mi odio, semper non vulputate vitae, vulputate quis ex.
Nunc rhoncus eleifend gravida. Aliquam feugiat tristique pellentesque. Pellentesque vel elit sed nulla commodo convallis. Curabitur placerat sapien augue, ac semper metus volutpat non. Sed semper ultricies enim, consequat convallis justo placerat eget. Ut fermentum leo facilisis metus congue commodo. Vestibulum consectetur magna vitae ullamcorper sodales. Nulla lobortis aliquam odio id tincidunt. Suspendisse efficitur auctor tortor non consequat. Quisque sit amet posuere lorem, convallis bibendum nisi. Proin ullamcorper justo tempus dignissim scelerisque. Quisque sit amet sapien libero. Phasellus eget enim velit. Proin ut fermentum dui. Proin gravida tortor in ligula lacinia, id dapibus dui tincidunt. Mauris suscipit nisi et urna consectetur, non venenatis nisi euismod.

View File

@@ -1,165 +0,0 @@
---
author: Hugo Authors
title: Markdown Syntax Guide
description: Use Markdown syntax and basic HTML elements to style your Hugo content files.
tags: ["markdown", "css", "html"]
date: 2022-01-14
thumbnail: img/phone.jpg # https://picsum.photos/id/160/3200/2119
photoCredits: <a href="https://unsplash.com/@thomweerd">Thom</a>
photoSource: <a href="https://unsplash.com/photos/Zdcq3iKly6g">Unsplash</a>
---
This article offers a sample of basic Markdown syntax that can be used in Hugo content files, also it shows whether basic HTML elements are decorated with CSS in a Hugo theme.
<!--more-->
## Headings
The following HTML `<h1>``<h6>` elements represent six levels of section headings. `<h1>` is the highest section level while `<h6>` is the lowest.
<!-- markdownlint-disable-next-line -->
# H1
## H2
### H3
#### H4
##### H5
###### H6
## Paragraph
Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat.
Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat.
## Blockquotes
The blockquote element represents content that is quoted from another source, optionally with a citation which must be within a `footer` or `cite` element, and optionally with in-line changes such as annotations and abbreviations.
### Blockquote without attribution
> Tiam, ad mint andaepu dandae nostion secatur sequo quae.
> **Note** that you can use _Markdown syntax_ within a blockquote.
{.blockquote}
### Blockquote with attribution
> Don't communicate by sharing memory, share memory by communicating.<br>
> — <cite>Rob Pike[^1]</cite>
{.blockquote}
[^1]: The above quote is excerpted from Rob Pike's [talk](https://www.youtube.com/watch?v=PAAkCSZUG1c) during Gopherfest, November 18, 2015.
<figure>
<blockquote class="blockquote">
<p>A well-known quote, contained in a blockquote element.</p>
</blockquote>
<figcaption class="blockquote-footer">
Someone famous in <cite title="Source Title">Source Title</cite>
</figcaption>
</figure>
## Tables
Tables aren't part of the core Markdown spec, but Hugo supports supports them out-of-the-box.
| Name | Age |
| ----- | --- |
| Bob | 27 |
| Alice | 23 |
{.table}
### Inline Markdown within tables
| Italics | Bold | Code |
| --------- | -------- | ------ |
| _italics_ | **bold** | `code` |
{.table}
## Code Blocks
### Code block with backticks
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Example HTML5 Document</title>
</head>
<body>
<p>Test</p>
</body>
</html>
```
<!-- markdownlint-disable MD046 -->
### Code block indented with four spaces
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Example HTML5 Document</title>
</head>
<body>
<p>Test</p>
</body>
</html>
<!-- markdownlint-enable MD046 -->
### Code block with Hugo's internal highlight shortcode
{{< highlight html >}}
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Example HTML5 Document</title>
</head>
<body>
<p>Test</p>
</body>
</html>
{{< /highlight >}}
## List Types
### Ordered List
1. First item
2. Second item
3. Third item
### Unordered List
- List item
- Another item
- And another item
### Nested list
- Fruit
- Apple
- Orange
- Banana
- Dairy
- Milk
- Cheese
## Other Elements — abbr, sub, sup, kbd, mark
<abbr title="Graphics Interchange Format">GIF</abbr> is a bitmap image format.
H<sub>2</sub>O
X<sup>n</sup> + Y<sup>n</sup> = Z<sup>n</sup>
Press <kbd><kbd>CTRL</kbd>+<kbd>ALT</kbd>+<kbd>Delete</kbd></kbd> to end the session.
Most <mark>salamanders</mark> are nocturnal, and hunt for insects, worms, and other small creatures.

View File

@@ -1,34 +0,0 @@
---
author: "Hugo Authors"
title: "Rich Content"
date: 2021-07-13
description: "A brief description of Hugo Shortcodes."
tags: ["shortcode", "privacy"]
thumbnail: img/flowers.jpg # https://picsum.photos/id/106/2592/1728
photoCredits: <a href="https://unsplash.com/@flutterhappy">Arvee Marie</a>
photoSource: <a href="https://unsplash.com/photos/YnfGtpt2gf4">Unsplash</a>
---
Hugo ships with several [Built-in Shortcodes](https://gohugo.io/content-management/shortcodes/#use-hugos-built-in-shortcodes) for rich content, along with a [Privacy Config](https://gohugo.io/about/hugo-and-gdpr/) and a set of Simple Shortcodes that enable static and no-JS versions of various social media embeds.
## <!--more-->
## YouTube Privacy Enhanced Shortcode
{{< youtube id="ZJthWmvUzzc" class="video">}}
<br>
---
## Twitter Simple Shortcode
{{< twitter_simple user="SanDiegoZoo" id="1453110110599868418" >}}
<br>
---
## Vimeo Simple Shortcode
{{< vimeo_simple id="48912912" class="__h_video" >}}

View File

@@ -0,0 +1,16 @@
---
author: Mark Dumay
title: Second post
date: 2022-11-01
description: This is my second blog post.
tags: ["blog"]
thumbnail: img/phone.jpg # https://picsum.photos/id/160/3200/2119
photoCredits: <a href="https://unsplash.com/@thomweerd">Thom</a>
photoSource: <a href="https://unsplash.com/photos/Zdcq3iKly6g">Unsplash</a>
---
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non sollicitudin sapien. Ut porttitor lectus eu tempor ultricies. Sed semper tincidunt nibh pellentesque condimentum. Vivamus dictum sem eu rhoncus semper. Vestibulum convallis congue tincidunt. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Mauris magna urna, egestas sit amet ligula quis, viverra semper arcu. Praesent laoreet nunc vitae nulla posuere facilisis.
Nunc eget dignissim ex, sed lobortis leo. Suspendisse mollis posuere tellus, in viverra nunc ullamcorper vitae. Nam vel tempor arcu, in imperdiet odio. Fusce malesuada vehicula odio, in iaculis nulla congue eget. Quisque id odio id nisl facilisis posuere porta sit amet mauris. Curabitur lorem leo, tempus id rhoncus eget, placerat vitae lectus. Morbi eu aliquet enim. Nulla malesuada laoreet sodales.
Nunc volutpat dui in elit euismod, sed egestas purus tristique. Nam in condimentum mauris. Praesent nec suscipit enim. Aliquam dolor ipsum, faucibus vitae purus ac, congue egestas nisi. Donec hendrerit erat eu arcu porttitor rhoncus. Nunc a odio bibendum metus semper pellentesque. Sed at sapien ut est semper eleifend. Aliquam lorem libero, porttitor nec tristique ut, auctor vitae ipsum. Suspendisse pretium pharetra rutrum. Nulla tincidunt tempus enim eu sagittis. Maecenas pulvinar metus a urna mattis dictum sed id tellus.

View File

@@ -0,0 +1,16 @@
---
author: Mark Dumay
title: Third post
date: 2022-12-01
description: This is my third blog post.
tags: ["blog"]
thumbnail: https://picsum.photos/id/184/4288/2848.jpg
photoCredits: <a href="https://unsplash.com/@timdegroot">Tim de Groot</a>
photoSource: <a href="https://unsplash.com/photos/yNGQ830uFB4">Unsplash</a>
---
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent id scelerisque ligula. Vestibulum eu lorem tortor. Suspendisse tristique ultrices mauris, non maximus lorem faucibus in. Suspendisse sagittis eleifend dapibus. Curabitur dignissim luctus sapien eu consequat. Proin congue dui vel ipsum bibendum varius. Pellentesque cursus nisi metus, egestas eleifend ipsum sollicitudin vitae. Sed vitae erat elementum, semper turpis sed, molestie nulla.
Nulla molestie ultrices vehicula. Etiam iaculis, erat a blandit blandit, nulla tellus dapibus ligula, vitae venenatis turpis diam non felis. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed vitae arcu in justo iaculis egestas. In imperdiet arcu vitae pharetra commodo. Quisque ut erat eget nisl semper laoreet vitae eget ligula. Mauris bibendum purus nec vulputate faucibus. In luctus sagittis ante, quis laoreet orci bibendum vitae. Nam at odio accumsan, tincidunt eros at, lacinia metus. In et ultricies sapien, a mollis est. Nunc convallis orci eu tristique euismod. Proin vel ullamcorper diam. Quisque et semper orci. Proin pharetra lorem justo, id malesuada erat feugiat sit amet. Praesent bibendum mi at lorem volutpat suscipit. Morbi sed libero elit.
Nunc sodales est eu ipsum volutpat, in mollis dui facilisis. Nulla faucibus interdum lectus, a condimentum elit vulputate eu. Nunc ipsum risus, suscipit sit amet nulla ac, pulvinar maximus nulla. In venenatis diam erat, non elementum ante dignissim posuere. Aliquam sem justo, luctus at vestibulum ut, egestas ut quam. Quisque a dolor viverra, aliquam nunc vel, lacinia nulla. In id magna magna. Morbi dapibus pretium sollicitudin. Morbi volutpat augue at felis tristique, quis euismod tellus vulputate. Morbi dui lacus, aliquam eget quam vel, vestibulum faucibus enim. Proin porta pretium metus id venenatis. Aliquam nec tempor lorem. Vivamus euismod est varius sagittis placerat. Maecenas tincidunt elementum libero, at imperdiet elit feugiat vel.

View File

@@ -1,26 +0,0 @@
---
title: Credits
description: Hinode is fully open source and uses several open-source frameworks and libraries.
date: "2023-01-14"
group: about
layout: docs
---
## Team
Hinode is maintained by [Mark Dumay]({{< param "links.repository_owner" >}}) and several contributors as an open-source repository on GitHub. You are more than welcome to contribute. Get involved in the development by [opening an issue]({{< param "links.issue_tracker" >}}) or submitting a pull request. Read our [contributing guidelines]({{< ref "contribute" >}}) for information on how we develop.
## Core components
Hinode is based on the following core components:
- [Hugo]({{< param "links.hugo" >}}) is a fast and modern static site generator written in Go. It is a so-called static site generator, meaning that the website is created when you update its content. This is a different approach to systems that dynamically build a page upon request.
- [Bootstrap]({{< param "links.bootstrap" >}}) is a popular, open-source web development framework. Using a mobile-first approach, it provides several functions and components to simplify the creation of responsive websites.
- [npm]({{< param "links.npm" >}}) is a software registry that enables the sharing and reuse of both open-source and private software packages. By taking advantage of its version management, software dependencies are easily tracked and updated.
## Themes
Hinode is inspired by the following themes:
- [Blist]({{< param "links.blist" >}}) is a clean and fast blog theme for your Hugo site using Tailwind CSS.
- [Doks]({{< param "links.doks" >}}) is a Hugo theme for building secure, fast, and SEO-ready documentation websites, which you can easily update and customize.

View File

@@ -1,15 +0,0 @@
---
title: License
description: Hinode's open-source license for the codebase and documentation.
date: "2023-01-14"
group: about
layout: docs
---
## Codebase
The codebase of Hinode is open source under the conditions of the [MIT license]({{< param "links.license" >}}) and is copyright &copy; 2023 by Mark Dumay. In short, the MIT license allows you to use the Hinode codebase for both personal and commercial use, as long as you include the original license and copyright notice. Licensed works, modifications, and larger works may be distributed under different terms and without source code. No liability or warranty is given.
## Documentation
The documentation of Hinode is licensed under the Creative Commons ([CC BY-NC 4.0)]({{< param "links.cc_by_nc_4_0" >}}) license. This includes all files within the repository's `/content` folder and its children, as well as the "README" in the repository root. The license allows you to share and adapt the materials, as long as you give appropriate credit and do not use the materials for commercial purposes. No warranties are given.

View File

@@ -1,67 +0,0 @@
---
title: Icons
description: Configure secure access to icons from Bootstrap and Font Awesome.
date: 2023-01-28
group: advanced-settings
layout: docs
---
Hinode processes the Bootstrap icons to ensure they adhere to the strict [content security policy]({{< ref "server" >}}). In addition, it provides access to the free icons of [Font Awesome]({{< param "links.fontawesome" >}}).
## Bootstrap icons
Bootstrap uses various embedded vector images (in <abbr title="Scalable Vector Graphics">SVG</abbr> format) throughout its Sass source files. Hinode replaces these embedded images with file-based vector images, as the [content security policy]({{< ref "server" >}}) prohibits loading of embedded images. To ensure the images are consistent with the [theme colors]({{< ref "colors" >}}), the images are postprocessed using [Hugo templating]({{< param "links.hugo_templates">}}).
### Build pipeline
Hinodes uses npm and mounted folders to create a flexibile virtual file system that is automatically kept up to date. Review the [overview]({{< ref "overview" >}}) for a detailed explanation. The build pipeline of the Bootstrap icons consists of four steps. It is intertwined with the [build process for the stylesheets]({{< ref "styles" >}}).
1. Override the inline Bootstrap icon definitions
Replace the default inline icon definitions within the Bootstrap Sass files with references to local vector images. Use the file `assets/scss/common/_icons.scss` to ensure the definitions take precedence over the default Bootstrap values. For example, the following statement updates the value of the `$form-switch-focus-bg-image`:
```scss
$form-switch-focus-bg-image: url("icons/form-switch-focus-bg-image.svg") !default;
```
2. Export the Sass variables
Export the required Sass variables by defining them in the `assets/scss/common/_export.scss` file. Hinode converts the variable names from kebab case to snake case to make them compatible with Hugo's variable naming convention. For example, the css variable `--form-switch-focus-color` is exposed as `.form_switch_focus_color` to the Hugo templates.
```scss
:hinode-theme {
--form-switch-focus-color: #{$form-switch-focus-color};
}
```
3. Reference the Sass variables within each icon file
Use [Hugo templating]({{< param "links.hugo_templates">}}) to reference the Sass variables for fill colors and stroke colors. For example, the file `assets/icons/form-switch-focus-bg-image.svg` defines the fill color as `{{ .form_switch_focus_color }}`. The entire vector definition is as such:
```html
<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'>
<circle r='3' fill='{{ .form_switch_focus_color }}'/>
</svg>
```
4. Process the icon files
Add the local icon files to the `assets/icons` folder with a filename as defined in step 1. The partial `partials/head/stylesheet.html` calls the partial `partials/head/icons.html` to process all icon files with the `.svg` extension recursively. The output is stored in the `icons` folder within the output directory (usually `public` when building the site). The icon files are referenced in the main stylesheet automatically.
### Icons definitions
The icons are defined in the file `assets/scss/common/_icons.scss`. The current configuration is the following:
{{< docs name="icons" file="assets/scss/common/_icons.scss" >}}
### Export definitions
The exported variables are defined in the file `assets/scss/common/_export.scss`. The current configuration is the following:
{{< docs name="export" file="assets/scss/common/_export.scss" >}}
## Font Awesome icons
[Font Awesome]({{< param "links.fontawesome" >}}) provides a collection of icons to be used freely on websites and other media. See the [icons documentation]({{< relref "../content/icons" >}}) in the content section on how to use them to style your website. Hinode uses the <abbr title="Cascading Style Sheets">CSS</abbr> files and web fonts of Font Awesome, as the [content security policy]({{< ref "server" >}}) prohibits the inline execution of stylesheets by the JavaScripts of Font Awesome. The CSS files are bundled with the main stylesheet. The web fonts are copied to the `/static/fonts` folder with the repository. Use the npm command `npm run copy:fonts` to copy the latest version of the files. The CSS files are referenced in the `assets/scss/app.scss` file. This is the current configuration:
{{< docs name="awesome" file="assets/scss/app.scss" >}}

View File

@@ -1,66 +0,0 @@
---
title: Overview
description: Configure and customize Hinode to your liking using Hugo Templating and npm dependencies.
date: 2023-01-28
group: advanced-settings
layout: docs
---
As a theme for Hugo, Hinode is highly configurable and customizable. Based on Go's template libraries, Hugo enriches plain Markdown content with powerful features to generate websites. More information is available in [Hugo's documentation]({{< param "links.hugo_templates" >}}). To take advantage of package versioning and dependency management, Hinode takes a slightly different approach compared to most themes. The below paragraphs clarify the build system.
## npm packages
Both the [main theme]({{< param "links.repository" >}}) and [child theme]({{< param "links.repository_child" >}}) packages of Hinode are defined in the file `package.json` in the repository root. The extract below defines the key elements of the package configuration. The `name` is a unique identifier to identify the [package on npm]({{< param "links.package_npm" >}}). The `version` tag uses [semantic versioning]({{< param "links.semver" >}}), consisting of a `MAJOR` version, `MINOR` version, and `PATCH` version. In short, anything below `MAJOR` version `1` is considered to be in development and may not be backwards compatible. Starting from `1`, each `MAJOR` version may introduce breaking changes, whilst `MINOR` version usually introduce new features that are compatible with the `MAJOR` version. Lastly, `PATCH` usually indicates a bug fix or small revision.
The other two sections of interest are `devDependencies` and `otherDependencies`. As an Hugo theme, Hinode does not require any packages in production. Instead the development dependencies are used to generate the static site and its assets. For example, Bootstrap's JavaScript distribution file `/node_modules/bootstrap/dist/js` is bundled into the `js/main.bundle<.min>.js` file during build. The path `/node_modules/bootstrap/` refers to the Bootstap package defined as dependency. Lastly, the Hugo binary is installed as version-controlled dependency too. This ensures the build process is transparent and traceable, which simplifies debugging. Please refer to the [commands]({{< ref "commands" >}}) section to review the various npm commands available.
```yml
{
"name": "@gethinode/hinode",
"version": "0.8.0",
"scripts": {
[...]
},
[...]
"devDependencies": {
"bootstrap": "^5.2.3",
[...]
},
"otherDependencies": {
"hugo": "0.110.0"
}
}
```
## Mounted folders
Hugo supports the [mounting of folders]({{< param "links.hugo_mounts" >}}) since version 0.56.0. Hinode takes advantage of this feature to create a virtual file system, combining assets from multiple sources. For example, the below section of the `/config/_default/config.toml` instructs Hugo to make Bootstrap's JavaScript distribution file `/node_modules/bootstrap/dist/js` available in the `/assets/js` folder. This file is then bundled with the JavaScript files defined in the `/assets/js` folder of Hinode.
{{< alert color="primary" >}}
When you add a mount, the default mount for the concerned target root is ignored: be sure to explicitly add it.
{{< /alert >}}
```toml
[module]
[...]
[[module.mounts]]
source = "assets"
target = "assets"
[[module.mounts]]
source = "node_modules/bootstrap/dist/js"
target = "assets/js/vendor/bootstrap"
includeFiles = "*.bundle.js"
```
As another example, the Hinode child theme merges the key folders of the main theme with its own folder. This simplifies the modification of any base files, as the files in the local repository take precedence over the files of the main theme.
```toml
[module]
[...]
[[module.mounts]]
source = "node_modules/@gethinode/hinode/i18n"
target = "i18n"
[[module.mounts]]
source = "i18n"
target = "i18n"
```

View File

@@ -1,35 +0,0 @@
---
title: Scripts
description: Automatically bundle local and external JavaScript files into a single file.
date: 2023-01-28
group: advanced-settings
layout: docs
---
Hinode bundles local and external JavaScript into a single file. By utilizing [npm]({{< ref "overview" >}}), external JavaScript files are automatically ingested and kept up to date.
## Build pipeline
Hinodes uses npm and mounted folders to create a flexibile virtual file system that is automatically kept up to date. Review the [overview]({{< ref "overview" >}}) for a detailed explanation. The build pipeline of the JavaScript files consists of four steps.
1. Add the local JavaScript files
Add the local JavaScript files to the `assets/js` folder with a recognizable filename.
2. Mount the JavaScript files maintained within a node package
Make JavaScripts defined in node packages available by mounting them into the `assets/js/vendor` folder. Define the mount points in `config/_default/config.toml`.
3. Bundle the JavaScript files
The partial `partials/footer/scripts.html` bundles all files that end with `.js` recursively into a single file called `js/main.bundle.js`. In production mode, the output is minified and linked to with a [fingerprint]({{< param "links.hugo_fingerprint" >}}).
4. Link to the JavaScript in the base layout
Hinode's base layout `layouts/_default/baseof.html` imports the bundled JavaScript file in the footer. The file is cached to improve performance.
## Example
Mount the external JavaScript files to Hugo's virtual file system within the file `config/_default/config.toml`. The current configuration imports the relevant files of [Bootstrap]({{< param "links.bootstrap" >}}) and [FlexSearch]({{< param "links.flexsearch" >}}).
{{< docs name="javascript" file="config/_default/config.toml" >}}

View File

@@ -1,15 +0,0 @@
---
title: Server
description: Configure the server headers to refine the content security policy.
date: 2023-01-28
group: advanced-settings
layout: docs
---
<!-- TODO: expand -->
## Server headers
Hinode uses rather strict security policies by default. This ensures the site is [secure by default]({{< param "links.observatory" >}}). However, if you want to include external resources, such as images and videos, you will need to explicity add these sources to the server headers. If omitted, the browser will refuse to load these resources, resulting in broken links or missing elements. The settings of the local development server are defined in `server.toml`. See the below configuration, which captures the external resources currently used by Hinode. Refine these settings as needed. Similar settings are defined in the `netlify.toml` file provided in the repository's root when deploying to [Netlify]({{< param "links.netlify" >}}).
{{< docs name="server-config" file="config/_default/server.toml" >}}

View File

@@ -1,59 +0,0 @@
---
title: Styles
description: Use extensible Sass files to generate the stylesheets for your website.
date: 2023-01-28
group: advanced-settings
layout: docs
---
<!-- TODO: include dartsass -->
Hinode uses Sass files to take advantage of variables, maps, and functions to generate the cascading style sheets of the website. By utilizing [npm]({{< ref "overview" >}}), Bootstrap's source Sass file are automatically ingested and kept up to date.
## Build pipeline
Hinodes uses npm and mounted folders to create a flexibile virtual file system that is automatically kept up to date. Review the [overview]({{< ref "overview" >}}) for a detailed explanation. The build pipeline of the stylesheet consists of five steps.
1. Define the Sass entrypoint
The main entrypoint for the Sass files is defined in `assets/scss/app.scss`. It supports Hugo templating. For example, it defines a variable `$themeFont` that links to the [font configuration]({{< ref "fonts" >}}). The variable is available within all source Sass files.
2. Import the source Sass files
The application entrypoint imports the various source Sass files defined in `assets/scss`, which are combined with the Sass files of [Bootstrap]({{< param "links.bootstrap" >}}) and [Font Awesome (Free)]({{< param "links.fontawesome" >}}). The vendor paths are relative to the `node_modules` folder, which are installed by [npm]({{< ref "commands" >}}).
3. Override and expand the Sass configuration
The import order of the source files defines which variables and functions to use. In Sass, the first definition of a variable or function takes precedence. For example, to override the setting for the variable `$primary`, is needs to be defined prior to Bootstrap's definition in `_variables.scss`.
4. Transpile the Sass files
The partial `partials/head/stylesheet.html` reads the application entrypoint, configures the `node_modules` folder as import path, and transpiles the stylesheet into a single file `main.css`. In production mode, the output is minified and linked to with a [fingerprint]({{< param "links.hugo_fingerprint" >}}).
5. Link to the stylesheet in the base layout
Hinode's base layout `layouts/_default/baseof.html` imports the generated stylesheet in the header section of the webpage via the partial `layouts/partials/head/head.html`.
## Example
The below Sass file defines a skeleton configuration for the main entrypoint. The full configuration is defined in `assets/scss/app.scss`.
```scss
// 1) Define template variables (linking to Hugo config)
$primary: {{ site.Params.style.primary | default "#007bff" }};
// 2) Include default variable overrides
@import "common/variables.scss";
// 3) Import Bootstrap configuration
@import "bootstrap/scss/variables";
// 4) Import Bootstrap layout & components
@import "bootstrap/scss/root";
// 5) Import Font Awesome
@import "@fortawesome/fontawesome-free/scss/fontawesome";
// 6) Import Hinode theme styles
@import "common/styles.scss";
```

View File

@@ -1,338 +0,0 @@
---
author: "Mark Dumay"
title: "Bootstrap Components"
date: 2022-12-26
draft: true
description: "Overview of available Bootstrap components."
tags: ["bootstrap"]
thumbnail: img/boots.jpg
photoCredits: <a href="https://unsplash.com/@nate_dumlao">Nathan Dumlao</a>
photoSource: <a href="https://unsplash.com/photos/QLPWQvHvmII">Unsplash</a>
layout: docs
---
## Close button
Use HTML code to display a generic close button. See the Bootstrap [documentation][bs_close_button] for more options. The following example displays a button with default styling.
```html
<button type="button" class="btn-close" aria-label="Close"></button>
```
The result looks like this.
<button type="button" class="btn-close" aria-label="Close"></button>
## Dropdowns
### Single button
<div class="dropdown">
<button class="btn btn-secondary dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">
Dropdown button
</button>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="#">Action</a></li>
<li><a class="dropdown-item" href="#">Another action</a></li>
<li><a class="dropdown-item" href="#">Something else here</a></li>
</ul>
</div>
### Split button
<!-- Example split danger button -->
<div class="btn-group">
<button type="button" class="btn btn-danger">Action</button>
<button type="button" class="btn btn-danger dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false">
<span class="visually-hidden">Toggle Dropdown</span>
</button>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="#">Action</a></li>
<li><a class="dropdown-item" href="#">Another action</a></li>
<li><a class="dropdown-item" href="#">Something else here</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="#">Separated link</a></li>
</ul>
</div>
## List group
<div class="list-group">
<a href="#" class="list-group-item list-group-item-action active" aria-current="true">
The current link item
</a>
<a href="#" class="list-group-item list-group-item-action">A second link item</a>
<a href="#" class="list-group-item list-group-item-action">A third link item</a>
<a href="#" class="list-group-item list-group-item-action">A fourth link item</a>
<a class="list-group-item list-group-item-action disabled">A disabled link item</a>
</div>
## Modal
<!-- Button trigger modal -->
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal">
Launch demo modal
</button>
<!-- Modal -->
<div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h1 class="modal-title fs-5" id="exampleModalLabel">Modal title</h1>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
...
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
## Navs & tabs
<ul class="nav nav-tabs">
<li class="nav-item">
<a class="nav-link active" aria-current="page" href="#">Active</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link disabled">Disabled</a>
</li>
</ul>
## Offcanvas
<a class="btn btn-primary" data-bs-toggle="offcanvas" href="#offcanvasExample" role="button" aria-controls="offcanvasExample">
Link with href
</a>
<button class="btn btn-primary" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasExample" aria-controls="offcanvasExample">
Button with data-bs-target
</button>
<div class="offcanvas offcanvas-start" tabindex="-1" id="offcanvasExample" aria-labelledby="offcanvasExampleLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvasExampleLabel">Offcanvas</h5>
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<div>
Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.
</div>
<div class="dropdown mt-3">
<button class="btn btn-secondary dropdown-toggle" type="button" data-bs-toggle="dropdown">
Dropdown button
</button>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="#">Action</a></li>
<li><a class="dropdown-item" href="#">Another action</a></li>
<li><a class="dropdown-item" href="#">Something else here</a></li>
</ul>
</div>
</div>
</div>
## Pagination
<nav aria-label="Page navigation example">
<ul class="pagination justify-content-center">
<li class="page-item disabled">
<a class="page-link">Previous</a>
</li>
<li class="page-item"><a class="page-link" href="#">1</a></li>
<li class="page-item"><a class="page-link" href="#">2</a></li>
<li class="page-item"><a class="page-link" href="#">3</a></li>
<li class="page-item">
<a class="page-link" href="#">Next</a>
</li>
</ul>
</nav>
## Placeholders
<div class="card w-50" aria-hidden="true">
<img src="/img/bd_placeholder_img.svg" class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title placeholder-glow">
<span class="placeholder col-6"></span>
</h5>
<p class="card-text placeholder-glow">
<span class="placeholder col-7"></span>
<span class="placeholder col-4"></span>
<span class="placeholder col-4"></span>
<span class="placeholder col-6"></span>
<span class="placeholder col-8"></span>
</p>
<a href="#" tabindex="-1" class="btn btn-primary disabled placeholder col-6"></a>
</div>
</div>
## Popovers
<button type="button" class="btn btn-lg btn-danger" data-bs-toggle="popover" data-bs-title="Popover title" data-bs-content="And here's some amazing content. It's very engaging. Right?">Click to toggle popover</button>
## Progress
<div class="progress">
<div class="progress-bar progress-bar-striped progress-bar-animated w-75" role="progressbar" aria-label="Animated striped example" aria-valuenow="75" aria-valuemin="0" aria-valuemax="100"></div>
</div>
## Scrollspy
### Navbar
<nav id="navbar-example2" class="navbar bg-light px-3 mb-3">
<a class="navbar-brand" href="#">Navbar</a>
<ul class="nav nav-pills">
<li class="nav-item">
<a class="nav-link" href="#scrollspyHeading1">First</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#scrollspyHeading2">Second</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" data-bs-toggle="dropdown" href="#" role="button" aria-expanded="false">Dropdown</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="#scrollspyHeading3">Third</a></li>
<li><a class="dropdown-item" href="#scrollspyHeading4">Fourth</a></li>
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="#scrollspyHeading5">Fifth</a></li>
</ul>
</li>
</ul>
</nav>
<div data-bs-spy="scroll" data-bs-target="#navbar-example2" data-bs-root-margin="0px 0px -40%" data-bs-smooth-scroll="true" class="scrollspy-example bg-light p-3 rounded-2" tabindex="0">
<h4 id="scrollspyHeading1">First heading</h4>
<p>...</p>
<h4 id="scrollspyHeading2">Second heading</h4>
<p>...</p>
<h4 id="scrollspyHeading3">Third heading</h4>
<p>...</p>
<h4 id="scrollspyHeading4">Fourth heading</h4>
<p>...</p>
<h4 id="scrollspyHeading5">Fifth heading</h4>
<p>...</p>
</div>
### Nested nav
<div class="row">
<div class="col-4">
<nav id="navbar-example3" class="h-100 flex-column align-items-stretch pe-4 border-end">
<nav class="nav nav-pills flex-column">
<a class="nav-link" href="#item-1">Item 1</a>
<nav class="nav nav-pills flex-column">
<a class="nav-link ms-3 my-1" href="#item-1-1">Item 1-1</a>
<a class="nav-link ms-3 my-1" href="#item-1-2">Item 1-2</a>
</nav>
<a class="nav-link" href="#item-2">Item 2</a>
<a class="nav-link" href="#item-3">Item 3</a>
<nav class="nav nav-pills flex-column">
<a class="nav-link ms-3 my-1" href="#item-3-1">Item 3-1</a>
<a class="nav-link ms-3 my-1" href="#item-3-2">Item 3-2</a>
</nav>
</nav>
</nav>
</div>
<div class="col-8">
<div data-bs-spy="scroll" data-bs-target="#navbar-example3" data-bs-smooth-scroll="true" class="scrollspy-example-2" tabindex="0">
<div id="item-1">
<h4>Item 1</h4>
<p>...</p>
</div>
<div id="item-1-1">
<h5>Item 1-1</h5>
<p>...</p>
</div>
<div id="item-1-2">
<h5>Item 1-2</h5>
<p>...</p>
</div>
<div id="item-2">
<h4>Item 2</h4>
<p>...</p>
</div>
<div id="item-3">
<h4>Item 3</h4>
<p>...</p>
</div>
<div id="item-3-1">
<h5>Item 3-1</h5>
<p>...</p>
</div>
<div id="item-3-2">
<h5>Item 3-2</h5>
<p>...</p>
</div>
</div>
</div>
</div>
### List group
<div class="row">
<div class="col-4">
<div id="list-example" class="list-group">
<a class="list-group-item list-group-item-action" href="#list-item-1">Item 1</a>
<a class="list-group-item list-group-item-action" href="#list-item-2">Item 2</a>
<a class="list-group-item list-group-item-action" href="#list-item-3">Item 3</a>
<a class="list-group-item list-group-item-action" href="#list-item-4">Item 4</a>
</div>
</div>
<div class="col-8">
<div data-bs-spy="scroll" data-bs-target="#list-example" data-bs-smooth-scroll="true" class="scrollspy-example" tabindex="0">
<h4 id="list-item-1">Item 1</h4>
<p>...</p>
<h4 id="list-item-2">Item 2</h4>
<p>...</p>
<h4 id="list-item-3">Item 3</h4>
<p>...</p>
<h4 id="list-item-4">Item 4</h4>
<p>...</p>
</div>
</div>
</div>
### Simple anchors
<!-- TODO: fix Simple anchors -->
<div class="row">
<div class="col-4">
<div id="simple-list-example" class="d-flex flex-column gap-2 simple-list-example-scrollspy text-center">
<a class="p-1 rounded" href="#simple-list-item-1">Item 1</a>
<a class="p-1 rounded" href="#simple-list-item-2">Item 2</a>
<a class="p-1 rounded" href="#simple-list-item-3">Item 3</a>
<a class="p-1 rounded" href="#simple-list-item-4">Item 4</a>
<a class="p-1 rounded" href="#simple-list-item-5">Item 5</a>
</div>
</div>
<div class="col-8">
<div data-bs-spy="scroll" data-bs-target="#simple-list-example" data-bs-offset="0" data-bs-smooth-scroll="true" class="scrollspy-example" tabindex="0">
<h4 id="simple-list-item-1">Item 1</h4>
<p>...</p>
<h4 id="simple-list-item-2">Item 2</h4>
<p>...</p>
<h4 id="simple-list-item-3">Item 3</h4>
<p>...</p>
<h4 id="simple-list-item-4">Item 4</h4>
<p>...</p>
<h4 id="simple-list-item-5">Item 5</h4>
<p>...</p>
</div>
</div>
</div>
<!-- MARKDOWN PUBLIC LINKS -->
[bs_close_button]: https://getbootstrap.com/docs/5.2/components/close-button/

View File

@@ -1,51 +0,0 @@
---
author: Mark Dumay
title: Accordion
date: 2023-01-28
description: Use the accordion shortcode to show a group of vertically collapsing and expanding items.
group: components
layout: docs
---
## Overview
Use the `accordion` shortcode to show a group of vertically collapsing and expanding items. Add `accordion-item` inner elements for each accordion item.
## Arguments
The shortcode supports the following arguments:
| Argument | Required | Description |
|-------------|----------|-------------|
| class | No | Optional class attribute of the accordion element, e.g. “w-50”. |
{.table}
Add an inner `accordion-item` element for each item of the accordion. The `accordion-item` element supports the following arguments:
| Argument | Required | Description |
|-----------|----------|-------------|
| header | Yes | Required header of the accordion element. |
| class | No | Optional class attribute of the inner accordion element. |
| show | No | Optional flag to indicate an item should be shown as collapsed. |
{.table}
## Example
As an example, the following shortcode displays an accordion with three elements, of which the first element is expanded.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* accordion */>}}
{{</* accordion-item header="Accordion Item #1" show="true" */>}}
This is the first item's accordion body. It supports HTML content. The item is shown by adding the value
<code>show</code> to the <code>class</code> argument.
{{</* /accordion-item */>}}
{{</* accordion-item header="Accordion Item #2" */>}}
This is the second item's accordion body. It too supports HTML content.
{{</* /accordion-item */>}}
{{</* accordion-item header="Accordion Item #3" */>}}
This is the third item's accordion body.
{{</* /accordion-item */>}}
{{</* /accordion */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->

View File

@@ -1,34 +0,0 @@
---
author: Mark Dumay
title: Alert
date: 2023-01-28
description: Use the alert shortcode to display a contextual feedback message.
group: components
layout: docs
---
## Overview
Use the `alert` shortcode to display a contextual feedback message. The inner content is used as alert text.
## Arguments
The shortcode supports the following arguments:
| Argument | Required | Description |
|-------------|----------|-------------|
| color | No | Optional theme color of the alert, either "primary" (default), "secondary", "success", "danger", "warning", "info", "light", "dark", "white" or "black". |
| dismissible | No | Optional flag to indicate the alert is dismissible, defaults to false. |
{.table}
## Example
As an example, the following shortcode displays a simple alert.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* alert color="danger" */>}}
A simple danger alert—check it out!
{{</* /alert */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->

View File

@@ -1,29 +0,0 @@
---
author: Mark Dumay
title: Badge
date: 2023-01-28
description: Use the badge to enrich headings and buttons.
group: components
layout: docs
---
## Overview
Badges can be added to headings and buttons. The badge for a button is part of a [custom shortcode]({{< ref "button" >}} "custom shortcode"). The example below illustrates the HTML code for a heading.
## Arguments
The shortcode requires no arguments.
## Example
Use HTML code to display a badge for a heading. See the Bootstrap [documentation]({{< param "links.bs_badge_heading" >}}) for more options. The following example displays a badge for a heading of size four.
{{< example >}}
<h1>Example heading of size one <span class="badge bg-secondary">New</span></h1>
<h2>Example heading of size two <span class="badge bg-secondary">New</span></h2>
<h3>Example heading of size three <span class="badge bg-secondary">New</span></h3>
<h4>Example heading of size four <span class="badge bg-secondary">New</span></h4>
<h5>Example heading of size five <span class="badge bg-secondary">New</span></h5>
<h6>Example heading of size six <span class="badge bg-secondary">New</span></h6>
{{< /example >}}

View File

@@ -1,31 +0,0 @@
---
author: Mark Dumay
title: Breadcrumb
date: 2023-01-28
description: Use the breadcrumb shortcode to display the current pages location within the site's navigational hierarchy.
group: components
layout: docs
---
## Overview
Use the `breadcrumb` shortcode to display the current pages location within the site's navigational hierarchy.
## Arguments
The shortcode supports the following arguments:
| Argument | Required | Description |
|-------------|----------|-------------|
| path | No | Optional path of the page, defaults to current page.
{.table}
## Example
As an example, the following shortcode displays a breadcrumb for the current page.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* breadcrumb path="breadcrumb" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->

View File

@@ -1,35 +0,0 @@
---
author: Mark Dumay
title: Button Group
date: 2023-01-28
description: Use the button-group shortcode to display a group of buttons.
group: components
layout: docs
---
## Overview
Use the `button-group` shortcode to display a group of buttons. Add inner `<button>` elements for each [button]({{< ref "button" >}} "button").
## Arguments
The shortcode supports the following arguments:
| Argument | Required | Description |
|-------------|----------|-------------|
| aria-label | No | Optional assistive label for the button group. |
{.table}
## Example
As an example, the following shortcode displays a group of three buttons.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* button-group aria-label="Basic example" */>}}
{{</* button color="primary" href="#" */>}}Left{{</* /button */>}}
{{</* button color="primary" href="#" */>}}Middle{{</* /button */>}}
{{</* button color="primary" href="#" */>}}Right{{</* /button */>}}
{{</* /button-group */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->

View File

@@ -1,42 +0,0 @@
---
author: Mark Dumay
title: Button
date: 2023-01-28
description: Use the button shortcode to display a button with a hyperlink.
group: components
layout: docs
---
## Overview
Use the `button` shortcode to display a button with a hyperlink. The inner content is used as button title. The button supports an optional badge and tooltip.
## Arguments
The shortcode supports the following arguments:
| Argument | Required | Description |
|-------------|----------|-------------|
| href | No | Optional address for the button or hyperlink. Automatically assigned when using collapse. |
| state | No | Optional state of the button, either "enabled" (default), "disabled", "active", or "inactive". |
| size | No | Optional size of the button, either "sm", "md" (default), or "lg". |
| color | No | Optional theme color of the element, either "primary" (default), "secondary", "success", "danger", "warning", "info", "light", "dark", "white" or "black". |
| badge | No | Optional positioned badge to display on top of the button. |
| outline | No | Optional flag indicating the button should be outlined, either "false" (default) or "true". |
| aria-label | No | Optional label for the badge. |
| tooltip | No | Optional text to display in a tooltip. Cannot be used together with collapse. Ignored for active/inactive buttons. |
| collapse | No | Optional panel to collapse. Cannot be used together with tooltip. Ignored for active/inactive buttons. |
| placement | No | How to position the tooltip: "top" (default), "bottom", "left", or "right". |
{.table}
## Example
As an example, the following shortcode displays a tooltip for a dark button with a badge.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* button color="dark" tooltip="Click on the inbox to view your unread messages" href="#" badge="99+" */>}}
Inbox
{{</* /button */>}}
{{< /example>}}
<!-- markdownlint-enable MD037 -->

View File

@@ -1,37 +0,0 @@
---
author: Mark Dumay
title: Card
date: 2023-01-28
description: Use the card shortcode to display a card that links to a content page.
group: components
layout: docs
---
## Overview
Use the `card` shortcode to display a card that links to a content page. When using a rich layout, the card includes a thumbnail and a header.
## Arguments
The shortcode supports the following arguments:
| Argument | Required | Description |
|-------------|----------|-------------|
| path | Yes | Required path of the page. |
| class | No | Optional class attribute of the card element, e.g. “w-50”. |
| color | No | Optional theme color of the card, either "primary", "secondary", "success", "danger", "warning", "info", "light", "dark", "white" or "black". By default, no color is specified. |
| padding | No | Optional padding of the content, either "0", "1", "2", "3", "4", "5", or "auto" (default). |
| header | No | Optional header components of the card, displayed in small caps. Supported values are "full" (default), "publication", "tags", and "none". |
| footer | No | Optional footer components of the card, displayed in small caps. Supported values are "full", "publication", "tags", and "none" (default). |
| orientation | No | Optional placecement of the thumbnail, either "stacked" (default), "horizontal", or "none". |
{.table}
## Example
As an example, the following shortcode displays a colored, borderless horizontal card that links to the [Rich Content]({{< ref "rich-content" >}} "Rich Content") page. It includes a custom header and footer.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* card path="rich-content" class="w-100 border-0" orientation="horizontal" color="info" header="publication" footer="tags" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->

View File

@@ -1,48 +0,0 @@
---
author: Mark Dumay
title: Carousel
date: 2023-01-29
description: Use the carousel shortcode to display a carousel of several images.
group: components
layout: docs
---
## Overview
Use the `carousel` shortcode to display a carousel of several images, with similar behavior as the [image]({{< ref "image" >}} "image")
## Arguments
The shortcode supports the following arguments:
| Argument | Required | Description |
|-----------|----------|-------------|
| ratio | No | Aspect ratio of the image, either "1x1", "4x3", "16x9", or "21x9". If unspecified, the original aspect ratio is preserved. |
| class | No | Optional class attribute of the `carousel` element, e.g. "w-75". |
{.table}
{{< alert >}}
The carousel uses the original aspect ratio of the provided images when no aspect ratio is provided. Ensure the included images have a similar height and width to avoid inconsistent behavior.
{{< /alert >}}
Add an inner `img` element for each slide of the carousel. The `img` element supports the following arguments:
| Argument | Required | Description |
|-----------|----------|-------------|
| src | Yes | Required url of the image, e.g. "img/boots.jpg". |
| caption | No | Optional image caption. If set, the image is darkened to improve the contrast. The caption is hidden on smaller screens. |
{.table}
## Example
As an example, the following shortcode displays a centered carousel with three slides, 16x9 aspect ratio, and a relative width of 67% on large screens.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* carousel ratio="16x9" class="col-sm-12 col-lg-8 mx-auto" */>}}
{{</* img src="img/coffee.jpg" caption="slide 1" */>}}
{{</* img src="img/phone.jpg" caption="slide 2" */>}}
{{</* img src="img/dunes.jpg" caption="slide 3" */>}}
{{</* /carousel */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->

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