mirror of
https://github.com/gethinode/hinode.git
synced 2025-10-07 18:14:28 +00:00
Compare commits
239 Commits
v0.22.0-be
...
v0.23.0-be
Author | SHA1 | Date | |
---|---|---|---|
![]() |
86713488b4 | ||
![]() |
fbaa5bcfa7 | ||
![]() |
23deaf6df3 | ||
![]() |
4db9c6fde8 | ||
![]() |
67ad2fe076 | ||
![]() |
00e169512c | ||
![]() |
3171f065eb | ||
![]() |
5dcb44b2d0 | ||
![]() |
b54c415f39 | ||
![]() |
7ecc818ca1 | ||
![]() |
85fdf28bdc | ||
![]() |
1c1f4be1f9 | ||
![]() |
e4f949f67b | ||
![]() |
2fe3c69a2d | ||
![]() |
08b3725307 | ||
![]() |
664fb87e4e | ||
![]() |
9bf90dfa98 | ||
![]() |
867f684b6a | ||
![]() |
3bcb2138c1 | ||
![]() |
693c2be098 | ||
![]() |
da63bcb4eb | ||
![]() |
564a62e780 | ||
![]() |
01e4837669 | ||
![]() |
0a2a1a8b1a | ||
![]() |
154ddfe1cc | ||
![]() |
14786383ec | ||
![]() |
e5aae017a6 | ||
![]() |
68ceb8c71e | ||
![]() |
dcd94a7137 | ||
![]() |
1e75a3675e | ||
![]() |
6c301e2512 | ||
![]() |
59c06c7f02 | ||
![]() |
85aad4c431 | ||
![]() |
ade4df79ed | ||
![]() |
ec12b41293 | ||
![]() |
7216c88e0b | ||
![]() |
fac87c69e2 | ||
![]() |
62d4fdeb32 | ||
![]() |
91da0c7d0d | ||
![]() |
b116c2582f | ||
![]() |
276307fb5c | ||
![]() |
54ae613298 | ||
![]() |
a22040f4e3 | ||
![]() |
630cc55361 | ||
![]() |
2aacace6ad | ||
![]() |
91714727c3 | ||
![]() |
8e21f36619 | ||
![]() |
baa88ca957 | ||
![]() |
1874fc9b47 | ||
![]() |
6c9543d05a | ||
![]() |
a614c35f05 | ||
![]() |
0d7bc8e7d8 | ||
![]() |
39b3d500d0 | ||
![]() |
03200f3828 | ||
![]() |
044a5eadcd | ||
![]() |
e924bd96ec | ||
![]() |
e234240e74 | ||
![]() |
33473b0db1 | ||
![]() |
cfad29f9d4 | ||
![]() |
7ffdbea3ec | ||
![]() |
2c2fb4d305 | ||
![]() |
709172c506 | ||
![]() |
8727ee50ee | ||
![]() |
04d4d20ba6 | ||
![]() |
e77ea9358e | ||
![]() |
6263dc0649 | ||
![]() |
52eccfc384 | ||
![]() |
13085416e2 | ||
![]() |
f7efa99fc3 | ||
![]() |
32d6b8844a | ||
![]() |
1c4287a3ed | ||
![]() |
354fa85f38 | ||
![]() |
78fb0760f3 | ||
![]() |
dfdda4d27f | ||
![]() |
6d8f90bdce | ||
![]() |
3e531da29c | ||
![]() |
6065ebb6b4 | ||
![]() |
75373935f1 | ||
![]() |
1d5784a4d1 | ||
![]() |
5df94ffe33 | ||
![]() |
6aeaa8812a | ||
![]() |
b1f8044e02 | ||
![]() |
09fc0991bd | ||
![]() |
a7b70efef0 | ||
![]() |
4c3df8e769 | ||
![]() |
15418f7bdc | ||
![]() |
0a2bc468e5 | ||
![]() |
df8bcff315 | ||
![]() |
56e992ba7a | ||
![]() |
e7a6582229 | ||
![]() |
02946a9c9b | ||
![]() |
a5ca5fcff1 | ||
![]() |
b412c03b72 | ||
![]() |
22678d4ecc | ||
![]() |
d84099e41f | ||
![]() |
853aac57a6 | ||
![]() |
a5bddcb033 | ||
![]() |
3a7178166f | ||
![]() |
3f89bfb444 | ||
![]() |
e5ba3a94a4 | ||
![]() |
dc7af61a3a | ||
![]() |
da560a0275 | ||
![]() |
41cf694792 | ||
![]() |
59f42c0dbd | ||
![]() |
b2302e2e9f | ||
![]() |
8e6c0f8ade | ||
![]() |
ba92505daa | ||
![]() |
e6e93888f6 | ||
![]() |
e92598dc5b | ||
![]() |
697c6a1aae | ||
![]() |
2487001b0d | ||
![]() |
7cd722bcc2 | ||
![]() |
e0b7d7c3bb | ||
![]() |
23470b705d | ||
![]() |
70a624a9f3 | ||
![]() |
bce38385ab | ||
![]() |
8848b126ca | ||
![]() |
45a90fbe9d | ||
![]() |
d2929bf776 | ||
![]() |
3bab1c1250 | ||
![]() |
e59d4696da | ||
![]() |
f44f74f34c | ||
![]() |
22474722ad | ||
![]() |
99df503a90 | ||
![]() |
0df055db8c | ||
![]() |
f73936d056 | ||
![]() |
e1c976e09a | ||
![]() |
21579f7a40 | ||
![]() |
693882aff1 | ||
![]() |
6b42ed0845 | ||
![]() |
ed9373bc7e | ||
![]() |
0d2f5cc553 | ||
![]() |
12f6e9e552 | ||
![]() |
999c7a8fff | ||
![]() |
a5494f4681 | ||
![]() |
404a5500df | ||
![]() |
4442833c1b | ||
![]() |
4cb800d485 | ||
![]() |
f1598c3c4b | ||
![]() |
6b9915a425 | ||
![]() |
59befa908f | ||
![]() |
af68fb24b5 | ||
![]() |
73870663f6 | ||
![]() |
ac48cf6b57 | ||
![]() |
6a5d4a1363 | ||
![]() |
8be3996fb2 | ||
![]() |
bd7d2ffb09 | ||
![]() |
9375248a09 | ||
![]() |
713d1920a3 | ||
![]() |
adc1212cd7 | ||
![]() |
b8803d75fe | ||
![]() |
8006acb8c9 | ||
![]() |
7be7e3b7f0 | ||
![]() |
a6c18c91e5 | ||
![]() |
81c531e2b5 | ||
![]() |
d66910740f | ||
![]() |
3323bf500d | ||
![]() |
3cc34d18e0 | ||
![]() |
aeb050440f | ||
![]() |
a9a6bd0d31 | ||
![]() |
2b921def52 | ||
![]() |
f5a1a97383 | ||
![]() |
c87b96f8f0 | ||
![]() |
1def105bda | ||
![]() |
1d67a30ece | ||
![]() |
1a3d50ca17 | ||
![]() |
ce26722c96 | ||
![]() |
f2aab26b6e | ||
![]() |
10e086594b | ||
![]() |
30ea77182d | ||
![]() |
e899d7d39a | ||
![]() |
3b2e780a20 | ||
![]() |
d443d89616 | ||
![]() |
c981ac45d3 | ||
![]() |
ceabca3a43 | ||
![]() |
99b6fcbc42 | ||
![]() |
dde79bf5d0 | ||
![]() |
ff3e957558 | ||
![]() |
1466c7a927 | ||
![]() |
1a7c18d209 | ||
![]() |
2c8ed7c494 | ||
![]() |
0526b4c5e0 | ||
![]() |
c2f4e6bc48 | ||
![]() |
0cc5fcb33a | ||
![]() |
e461a9564f | ||
![]() |
183879d51c | ||
![]() |
cddae05b53 | ||
![]() |
67d831d898 | ||
![]() |
d726323220 | ||
![]() |
f76fea84cc | ||
![]() |
6ec24e12f7 | ||
![]() |
cf27cce44d | ||
![]() |
6ea22d121f | ||
![]() |
2d7bfaa9dc | ||
![]() |
0e62cc4fec | ||
![]() |
ae0307092f | ||
![]() |
2ebf6fe7fa | ||
![]() |
f9805de74c | ||
![]() |
20b7b6b95c | ||
![]() |
c2beca3504 | ||
![]() |
7414a1badf | ||
![]() |
cd5f7e08c4 | ||
![]() |
fd804fa29a | ||
![]() |
08c310c59e | ||
![]() |
46bde0918f | ||
![]() |
a77c3aa347 | ||
![]() |
d27c04dc64 | ||
![]() |
b0c8326255 | ||
![]() |
99a35a3ffd | ||
![]() |
c5673efea2 | ||
![]() |
c3b48e0033 | ||
![]() |
5aa57dd402 | ||
![]() |
d919d3f068 | ||
![]() |
38ad418005 | ||
![]() |
ba50786118 | ||
![]() |
aee3cb3e03 | ||
![]() |
61430b07e2 | ||
![]() |
5d393598c5 | ||
![]() |
4b0c075b53 | ||
![]() |
2b5b6434da | ||
![]() |
ae0877037a | ||
![]() |
64a12da2e6 | ||
![]() |
6865fa40f7 | ||
![]() |
79632aeed0 | ||
![]() |
6f03f3e5fd | ||
![]() |
df53150972 | ||
![]() |
9282cd630d | ||
![]() |
a3eb2fc7cc | ||
![]() |
4e39d03240 | ||
![]() |
8cadb30179 | ||
![]() |
d2c02ca016 | ||
![]() |
1bbfba32a5 | ||
![]() |
cf59cc3a49 | ||
![]() |
897db61ee2 | ||
![]() |
ac14ac23fb | ||
![]() |
0f1bc34d37 | ||
![]() |
26d318356f | ||
![]() |
9f4a0d35b6 | ||
![]() |
a201be6487 |
15
.github/workflows/lint-build.yml
vendored
15
.github/workflows/lint-build.yml
vendored
@@ -20,10 +20,10 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Set up Node.js
|
- name: Set up Node.js
|
||||||
uses: actions/setup-node@v3
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: lts/*
|
node-version: lts/*
|
||||||
cache: 'npm'
|
cache: 'npm'
|
||||||
@@ -41,7 +41,10 @@ jobs:
|
|||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [macos-latest, windows-latest, ubuntu-latest]
|
os: [windows-latest, ubuntu-latest]
|
||||||
|
# 2024-02-07: temp disabled macOS due to Dart Sass installation error
|
||||||
|
# see https://github.com/sass/homebrew-sass/issues/57
|
||||||
|
# os: [macos-latest, windows-latest, ubuntu-latest]
|
||||||
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
|
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
|
||||||
node-version: [18.x, 20.x]
|
node-version: [18.x, 20.x]
|
||||||
|
|
||||||
@@ -49,10 +52,10 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Set up Node.js ${{ matrix.node-version }}
|
- name: Set up Node.js ${{ matrix.node-version }}
|
||||||
uses: actions/setup-node@v3
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: ${{ matrix.node-version }}
|
node-version: ${{ matrix.node-version }}
|
||||||
cache: 'npm'
|
cache: 'npm'
|
||||||
@@ -82,7 +85,7 @@ jobs:
|
|||||||
# Cache Hugo cachedir and resourcedir (configured in config/ci/hugo.toml) for each OS
|
# Cache Hugo cachedir and resourcedir (configured in config/ci/hugo.toml) for each OS
|
||||||
# No additional cache invalidation is needed, Hugo uses checksums itself
|
# No additional cache invalidation is needed, Hugo uses checksums itself
|
||||||
- name: Use Hugo cache
|
- name: Use Hugo cache
|
||||||
uses: actions/cache@v3
|
uses: actions/cache@v4
|
||||||
with:
|
with:
|
||||||
path: ${{ runner.os == 'Windows' && env.CACHE_PATH_WIN || runner.os == 'macOS' && env.CACHE_PATH_MAC || env.CACHE_PATH_DEBIAN }}
|
path: ${{ runner.os == 'Windows' && env.CACHE_PATH_WIN || runner.os == 'macOS' && env.CACHE_PATH_MAC || env.CACHE_PATH_DEBIAN }}
|
||||||
key: ${{ runner.os }}-${{ env.CACHE_KEY }}
|
key: ${{ runner.os }}-${{ env.CACHE_KEY }}
|
||||||
|
4
.github/workflows/mod-update.yml
vendored
4
.github/workflows/mod-update.yml
vendored
@@ -14,10 +14,10 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Setup Node.js
|
- name: Setup Node.js
|
||||||
uses: actions/setup-node@v3
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: lts/*
|
node-version: lts/*
|
||||||
cache: 'npm'
|
cache: 'npm'
|
||||||
|
4
.github/workflows/npm-publish.yml
vendored
4
.github/workflows/npm-publish.yml
vendored
@@ -21,10 +21,10 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Setup .npmrc file to publish to npm
|
- name: Setup .npmrc file to publish to npm
|
||||||
uses: actions/setup-node@v3
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: ${{ matrix.node-version }}
|
node-version: ${{ matrix.node-version }}
|
||||||
registry-url: ${{ env.REGISTRY_URL }}
|
registry-url: ${{ env.REGISTRY_URL }}
|
||||||
|
@@ -6,7 +6,9 @@
|
|||||||
"MD026": false,
|
"MD026": false,
|
||||||
"MD034": false,
|
"MD034": false,
|
||||||
"MD051": false,
|
"MD051": false,
|
||||||
"MD053": false
|
"MD053": false,
|
||||||
|
"MD055": false,
|
||||||
|
"MD056": false
|
||||||
},
|
},
|
||||||
"ignores": ["node_modules", "CHANGELOG.md"]
|
"ignores": ["node_modules", "CHANGELOG.md"]
|
||||||
}
|
}
|
||||||
|
2
LICENSE
2
LICENSE
@@ -1,6 +1,6 @@
|
|||||||
MIT License
|
MIT License
|
||||||
|
|
||||||
Copyright (c) 2023 Mark Dumay
|
Copyright (c) 2024 Mark Dumay
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
16
README.md
16
README.md
@@ -75,6 +75,14 @@ The installation instructions in this readme install Hinode as a regular Hugo th
|
|||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
|
<!-- markdownlint-disable MD033 -->
|
||||||
|
<details>
|
||||||
|
<summary>Installation notes for Windows</summary>
|
||||||
|
|
||||||
|
The installation for Windows requires PowerShell v7. Download it from the Microsoft Store as needed. Check your current version with the command `$PSVersionTable`.
|
||||||
|
</details>
|
||||||
|
<!-- markdownlint-enable MD033 -->
|
||||||
|
|
||||||
Start a new Hinode project in three steps:
|
Start a new Hinode project in three steps:
|
||||||
|
|
||||||
1. **Create a new site**
|
1. **Create a new site**
|
||||||
@@ -83,14 +91,15 @@ Start a new Hinode project in three steps:
|
|||||||
hugo new site my-hinode-site && cd my-hinode-site
|
hugo new site my-hinode-site && cd my-hinode-site
|
||||||
```
|
```
|
||||||
|
|
||||||
1. **Initialize the module system**
|
2. **Initialize the module system**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
hugo mod init example.com/my-hinode-site
|
hugo mod init example.com/my-hinode-site
|
||||||
echo "[[module.imports]]\npath = 'github.com/gethinode/hinode'" >> hugo.toml
|
echo "[[module.imports]]" >> hugo.toml
|
||||||
|
echo "path = 'github.com/gethinode/hinode'" >> hugo.toml
|
||||||
```
|
```
|
||||||
|
|
||||||
1. **Start a development server**
|
3. **Start a development server**
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
hugo server
|
hugo server
|
||||||
@@ -136,7 +145,6 @@ The `hinode`, `docs`, and `template` codebase is released under the [MIT license
|
|||||||
[npm]: https://www.npmjs.com
|
[npm]: https://www.npmjs.com
|
||||||
[observatory]: https://observatory.mozilla.org/analyze/demo.gethinode.com
|
[observatory]: https://observatory.mozilla.org/analyze/demo.gethinode.com
|
||||||
[pagespeed]: https://pagespeed.web.dev/report?url=https%3A%2F%2Fdemo.gethinode.com%2F
|
[pagespeed]: https://pagespeed.web.dev/report?url=https%3A%2F%2Fdemo.gethinode.com%2F
|
||||||
[utterances]: https://utteranc.es
|
|
||||||
|
|
||||||
<!-- MARKDOWN MAINTAINED LINKS -->
|
<!-- MARKDOWN MAINTAINED LINKS -->
|
||||||
[contribute]: https://gethinode.com/contribute
|
[contribute]: https://gethinode.com/contribute
|
||||||
|
@@ -1,8 +1,14 @@
|
|||||||
const navbar = document.querySelector('.navbar')
|
const navbar = document.querySelector('.navbar')
|
||||||
const togglers = document.querySelectorAll('.main-nav-toggler')
|
const togglers = document.querySelectorAll('.main-nav-toggler')
|
||||||
const modeSelectors = document.querySelectorAll('.switch-mode-collapsed')
|
const modeSelectors = document.querySelectorAll('.switch-mode-collapsed')
|
||||||
|
const colorsBG = ['body', 'secondary', 'tertiary']
|
||||||
|
|
||||||
if (navbar !== null && togglers !== null) {
|
if (navbar !== null && togglers !== null) {
|
||||||
|
// initialize background color
|
||||||
|
const color = (navbar.getAttribute('data-navbar-color') || 'body')
|
||||||
|
const bg = colorsBG.includes(color) ? `var(--bs-${color}-bg)` : `var(--bs-navbar-color-${color})`
|
||||||
|
navbar.style.setProperty('--bs-navbar-expanded-color', bg)
|
||||||
|
|
||||||
// set the navbar background color to opaque when scrolling past a breakpoint
|
// set the navbar background color to opaque when scrolling past a breakpoint
|
||||||
window.onscroll = () => {
|
window.onscroll = () => {
|
||||||
if (window.scrollY > 75) {
|
if (window.scrollY > 75) {
|
||||||
|
@@ -24,7 +24,6 @@
|
|||||||
@import "components/carousel.scss";
|
@import "components/carousel.scss";
|
||||||
@import "components/clipboard.scss";
|
@import "components/clipboard.scss";
|
||||||
@import "components/command.scss";
|
@import "components/command.scss";
|
||||||
@import "components/comments.scss";
|
|
||||||
@import "components/feature.scss";
|
@import "components/feature.scss";
|
||||||
@import "components/footer.scss";
|
@import "components/footer.scss";
|
||||||
@import "components/nav.scss";
|
@import "components/nav.scss";
|
||||||
|
@@ -22,7 +22,6 @@
|
|||||||
@import "components/carousel.scss";
|
@import "components/carousel.scss";
|
||||||
@import "components/clipboard.scss";
|
@import "components/clipboard.scss";
|
||||||
@import "components/command.scss";
|
@import "components/command.scss";
|
||||||
@import "components/comments.scss";
|
|
||||||
@import "components/feature.scss";
|
@import "components/feature.scss";
|
||||||
@import "components/footer.scss";
|
@import "components/footer.scss";
|
||||||
@import "components/nav.scss";
|
@import "components/nav.scss";
|
||||||
|
@@ -22,13 +22,13 @@ a:active {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.fullscreen {
|
.fullscreen {
|
||||||
--navbar-offset: #{$navbar-offset};
|
--overlay-offset: #{$overlay-offset};
|
||||||
|
|
||||||
min-height: calc(100vh - var(--navbar-offset));
|
min-height: calc(100vh - var(--overlay-offset));
|
||||||
}
|
}
|
||||||
|
|
||||||
.main-content {
|
.main-content {
|
||||||
margin-top: $navbar-offset;
|
margin-top: $overlay-offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
$utilities: map-merge(
|
$utilities: map-merge(
|
||||||
|
@@ -20,6 +20,7 @@ strong {
|
|||||||
|
|
||||||
$navbar-height: h.$navbar-height;
|
$navbar-height: h.$navbar-height;
|
||||||
$navbar-offset: h.$navbar-offset;
|
$navbar-offset: h.$navbar-offset;
|
||||||
|
$overlay-offset: h.$overlay-offset;
|
||||||
$primary: h.$primary;
|
$primary: h.$primary;
|
||||||
$secondary: h.$secondary;
|
$secondary: h.$secondary;
|
||||||
$success: h.$success;
|
$success: h.$success;
|
||||||
|
@@ -86,8 +86,8 @@
|
|||||||
|
|
||||||
// stylelint-enable annotation-no-unknown
|
// stylelint-enable annotation-no-unknown
|
||||||
|
|
||||||
// make tag-link clickable on top of the stretched-link.
|
// make tag-link and card-button clickable on top of the stretched-link.
|
||||||
.card .tag-link {
|
.card .tag-link, .card .card-button {
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
@@ -1,20 +0,0 @@
|
|||||||
.utterances {
|
|
||||||
position: relative;
|
|
||||||
box-sizing: border-box;
|
|
||||||
width: 100%;
|
|
||||||
max-width: 760px;
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.utterances-frame {
|
|
||||||
color-scheme: light;
|
|
||||||
position: absolute;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
width: 1px;
|
|
||||||
min-width: 100%;
|
|
||||||
max-width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
border: 0;
|
|
||||||
}
|
|
@@ -19,3 +19,11 @@
|
|||||||
-webkit-transform: scaleX(-1);
|
-webkit-transform: scaleX(-1);
|
||||||
transform: scaleX(-1);
|
transform: scaleX(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.background-img {
|
||||||
|
--overlay-offset: #{$overlay-offset};
|
||||||
|
|
||||||
|
height: calc(100vh - var(--overlay-offset));
|
||||||
|
width: 100vw;
|
||||||
|
object-fit: cover;
|
||||||
|
}
|
||||||
|
@@ -2,13 +2,22 @@
|
|||||||
|
|
||||||
// Source: https://jsfiddle.net/njhgr40m/
|
// Source: https://jsfiddle.net/njhgr40m/
|
||||||
|
|
||||||
|
|
||||||
.navbar {
|
.navbar {
|
||||||
|
--bs-navbar-expanded-color: var(--bs-body-bg);
|
||||||
|
--bs-navbar-toggler-color: var(--bs-navbar-hover-color);
|
||||||
|
|
||||||
transition: 0.5s ease-in-out;
|
transition: 0.5s ease-in-out;
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
|
|
||||||
|
@each $state, $val in $theme-colors {
|
||||||
|
--bs-navbar-color-#{$state}: #{$val};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.nav-active, .navbar-expanded {
|
.nav-active, .navbar-expanded {
|
||||||
background-color: var(--bs-body-bg);
|
background-color: var(--bs-navbar-expanded-color);
|
||||||
|
border-bottom: 1px solid var(--bs-secondary-bg);
|
||||||
}
|
}
|
||||||
|
|
||||||
.nav-link {
|
.nav-link {
|
||||||
@@ -25,12 +34,39 @@
|
|||||||
--bs-navbar-hover-color: white !important;
|
--bs-navbar-hover-color: white !important;
|
||||||
--bs-navbar-disabled-color: white !important;
|
--bs-navbar-disabled-color: white !important;
|
||||||
--bs-navbar-active-color: white !important;
|
--bs-navbar-active-color: white !important;
|
||||||
|
--bs-navbar-toggler-color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
.navbar-expanded {
|
.navbar-expanded {
|
||||||
box-shadow: $box-shadow-sm;
|
box-shadow: $box-shadow-sm;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.navbar-overlay-dark {
|
||||||
|
--bs-navbar-color: #{$navbar-dark-color};
|
||||||
|
--bs-navbar-hover-color: #{$navbar-dark-hover-color};
|
||||||
|
--bs-navbar-disabled-color: #{$navbar-dark-disabled-color};
|
||||||
|
--bs-navbar-active-color: #{$navbar-dark-active-color};
|
||||||
|
--bs-navbar-brand-color: #{$navbar-dark-brand-color};
|
||||||
|
--bs-navbar-brand-hover-color: #{$navbar-dark-brand-hover-color};
|
||||||
|
--bs-navbar-toggler-border-color: #{$navbar-dark-toggler-border-color};
|
||||||
|
--bs-navbar-toggler-color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-overlay-light, .navbar-overlay-dark.nav-active, .navbar-overlay-dark.navbar-expanded {
|
||||||
|
--bs-navbar-color: #{$navbar-light-color};
|
||||||
|
--bs-navbar-hover-color: #{$navbar-light-hover-color};
|
||||||
|
--bs-navbar-disabled-color: #{$navbar-light-disabled-color};
|
||||||
|
--bs-navbar-active-color: #{$navbar-light-active-color};
|
||||||
|
--bs-navbar-brand-color: #{$navbar-light-brand-color};
|
||||||
|
--bs-navbar-brand-hover-color: #{$navbar-light-brand-hover-color};
|
||||||
|
--bs-navbar-toggler-border-color: #{$navbar-light-toggler-border-color};
|
||||||
|
--bs-navbar-toggler-color: black;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nav-item .vr {
|
||||||
|
color: var(--bs-navbar-color);
|
||||||
|
}
|
||||||
|
|
||||||
/* Remove border from toggler */
|
/* Remove border from toggler */
|
||||||
.navbar-toggler {
|
.navbar-toggler {
|
||||||
border: 0 if($enable-important-utilities, !important, null);
|
border: 0 if($enable-important-utilities, !important, null);
|
||||||
@@ -97,19 +133,11 @@
|
|||||||
|
|
||||||
/* Color of Toggler when collapsed */
|
/* Color of Toggler when collapsed */
|
||||||
.navbar-toggler.collapsed .toggler-icon {
|
.navbar-toggler.collapsed .toggler-icon {
|
||||||
background-color: #777;
|
background-color: var(--bs-navbar-toggler-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.emphasis-light {
|
.emphasis, .emphasis-dark, .emphasis-light {
|
||||||
background-color: $black if($enable-important-utilities, !important, null);
|
background-color: var(--bs-navbar-toggler-color);
|
||||||
}
|
|
||||||
|
|
||||||
.emphasis-dark {
|
|
||||||
background-color: $white if($enable-important-utilities, !important, null);
|
|
||||||
}
|
|
||||||
|
|
||||||
.emphasis {
|
|
||||||
background-color: $black if($enable-important-utilities, !important, null);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@include color-mode(dark) {
|
@include color-mode(dark) {
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
# toml-docs-start main
|
# toml-docs-start main
|
||||||
title = "Hinode"
|
title = "Hinode"
|
||||||
copyright = "Copyright © 2023 Mark Dumay."
|
copyright = "Copyright © 2024 Mark Dumay."
|
||||||
paginate = 9
|
paginate = 9
|
||||||
enableGitInfo = true
|
enableGitInfo = true
|
||||||
# toml-docs-end main
|
# toml-docs-end main
|
||||||
@@ -89,6 +89,8 @@ home = ["HTML", "RSS", "REDIR"]
|
|||||||
keepVarNames = true
|
keepVarNames = true
|
||||||
precision = 0
|
precision = 0
|
||||||
version = 2022
|
version = 2022
|
||||||
|
[minify.tdewolff.html]
|
||||||
|
keepWhitespace = true
|
||||||
|
|
||||||
[module]
|
[module]
|
||||||
[module.hugoVersion]
|
[module.hugoVersion]
|
||||||
@@ -132,4 +134,6 @@ home = ["HTML", "RSS", "REDIR"]
|
|||||||
path = "github.com/gethinode/mod-leaflet"
|
path = "github.com/gethinode/mod-leaflet"
|
||||||
[[module.imports]]
|
[[module.imports]]
|
||||||
path = "github.com/gethinode/mod-lottie"
|
path = "github.com/gethinode/mod-lottie"
|
||||||
|
[[module.imports]]
|
||||||
|
path = "github.com/gethinode/mod-utils/v2"
|
||||||
# toml-docs-end modules
|
# toml-docs-end modules
|
||||||
|
@@ -24,6 +24,9 @@
|
|||||||
disableTemplate = ["katex"]
|
disableTemplate = ["katex"]
|
||||||
[modules.katex]
|
[modules.katex]
|
||||||
state = "defer"
|
state = "defer"
|
||||||
|
[modules.flexsearch]
|
||||||
|
frontmatter = false
|
||||||
|
filter = ""
|
||||||
[modules.fontawesome]
|
[modules.fontawesome]
|
||||||
inline = true
|
inline = true
|
||||||
debug = true
|
debug = true
|
||||||
@@ -63,6 +66,8 @@
|
|||||||
logo = "/img/logo_icon.svg"
|
logo = "/img/logo_icon.svg"
|
||||||
color = "body"
|
color = "body"
|
||||||
fixed = true
|
fixed = true
|
||||||
|
overlay = false
|
||||||
|
overlayMode = "dark"
|
||||||
horizontal = false
|
horizontal = false
|
||||||
offset = "5.5rem"
|
offset = "5.5rem"
|
||||||
search = true
|
search = true
|
||||||
@@ -189,14 +194,5 @@
|
|||||||
images = ["logo.png"]
|
images = ["logo.png"]
|
||||||
locale = "en_US"
|
locale = "en_US"
|
||||||
|
|
||||||
[comments]
|
|
||||||
enabled = false
|
|
||||||
repo = "" # Replace with your repository.
|
|
||||||
#issueTerm = "pathname" # pathname, url, title, og:title
|
|
||||||
#label = "comment"
|
|
||||||
# By default, light and dark mode correspond to github-light and github-dark, respectively.
|
|
||||||
# Optional values: github-light, github-dark, preferred-color-scheme, github-dark-orange, icy-dark, dark-blue, photon-dark.
|
|
||||||
#theme = ""
|
|
||||||
|
|
||||||
[links]
|
[links]
|
||||||
hinode = "https://gethinode.com"
|
hinode = "https://gethinode.com"
|
||||||
|
@@ -7,15 +7,14 @@ for = '/**'
|
|||||||
X-XSS-Protection = "1; mode=block"
|
X-XSS-Protection = "1; mode=block"
|
||||||
Content-Security-Policy = """\
|
Content-Security-Policy = """\
|
||||||
default-src 'self'; \
|
default-src 'self'; \
|
||||||
script-src 'self' \
|
script-src 'self' https://*.google-analytics.com https://*.googletagmanager.com; \
|
||||||
https://utteranc.es/client.js https://*.google-analytics.com https://*.googletagmanager.com; \
|
style-src 'self' https://fonts.googleapis.com https://www.youtube.com; \
|
||||||
style-src 'self' https://utteranc.es https://fonts.googleapis.com https://www.youtube.com; \
|
|
||||||
object-src 'none'; \
|
object-src 'none'; \
|
||||||
base-uri 'self'; \
|
base-uri 'self'; \
|
||||||
connect-src 'self'
|
connect-src 'self'
|
||||||
https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; \
|
https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; \
|
||||||
font-src 'self' https://fonts.gstatic.com; \
|
font-src 'self' https://fonts.gstatic.com; \
|
||||||
frame-src 'self' https://utteranc.es https://www.youtube-nocookie.com https://www.youtube.com; \
|
frame-src 'self' https://www.youtube-nocookie.com https://www.youtube.com; \
|
||||||
img-src 'self' data: https://i.vimeocdn.com https://i.ytimg.com https://*.google-analytics.com https://*.googletagmanager.com https://tile.openstreetmap.org; \
|
img-src 'self' data: https://i.vimeocdn.com https://i.ytimg.com https://*.google-analytics.com https://*.googletagmanager.com https://tile.openstreetmap.org; \
|
||||||
manifest-src 'self'; \
|
manifest-src 'self'; \
|
||||||
media-src 'self' \
|
media-src 'self' \
|
||||||
|
@@ -1,9 +1,11 @@
|
|||||||
comment: >-
|
comment: >-
|
||||||
Creates an HTML element that shows the long form of an abbrevitation. The abbreviation data is centrally stored in a
|
Creates an HTML element that shows the long form of an abbrevitation. The
|
||||||
data file. By default, the shortcode uses `abbr.yaml` with translation support.
|
abbreviation data is centrally stored in a data file. By default, the
|
||||||
|
shortcode uses `abbr.yaml` with translation support.
|
||||||
|
|
||||||
The data file is expected to store key-value pairs, where `id` is the lower-case abbrevation and `long` its long
|
The data file is expected to store key-value pairs, where `id` is the
|
||||||
form. The following example illustrates this using YML:
|
lower-case abbrevation and `long` its long form. The following example
|
||||||
|
illustrates this using YML:
|
||||||
|
|
||||||
- id: css
|
- id: css
|
||||||
long: `Cascading Style Sheets`
|
long: `Cascading Style Sheets`
|
||||||
|
@@ -6,7 +6,7 @@ arguments:
|
|||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
comment: >-
|
comment: >-
|
||||||
ID of the accordion, defaults to “accordion-n” with a sequential number n.
|
ID of the accordion, defaults to `accordion-n` with a sequential number n.
|
||||||
always-open:
|
always-open:
|
||||||
type: bool
|
type: bool
|
||||||
optional: true
|
optional: true
|
||||||
@@ -15,4 +15,4 @@ arguments:
|
|||||||
class:
|
class:
|
||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
comment: Class attribute of the accordion, e.g. “w-50”.
|
comment: Class attribute of the accordion, e.g. `w-50`.
|
||||||
|
@@ -1,22 +1,18 @@
|
|||||||
comment: >-
|
comment: Use the badge shortcode to enrich headings.
|
||||||
Use the badge shortcode to enrich headings.
|
|
||||||
arguments:
|
arguments:
|
||||||
title:
|
title:
|
||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: false
|
||||||
comment: >-
|
comment: Title of the badge.
|
||||||
Title of the badge.
|
|
||||||
class:
|
class:
|
||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
comment: >-
|
comment: Class attribute of the badge element.
|
||||||
Class attribute of the badge element.
|
|
||||||
color:
|
color:
|
||||||
type: select
|
type: select
|
||||||
optional: true
|
optional: true
|
||||||
default: secondary
|
default: secondary
|
||||||
comment: >-
|
comment: Theme color of the element.
|
||||||
Theme color of the element.
|
|
||||||
options:
|
options:
|
||||||
values:
|
values:
|
||||||
- primary
|
- primary
|
||||||
|
@@ -6,19 +6,16 @@ arguments:
|
|||||||
- string
|
- string
|
||||||
- template.HTML
|
- template.HTML
|
||||||
optional: true
|
optional: true
|
||||||
comment: >-
|
comment: Title of the button, required unless icon is set.
|
||||||
Title of the button, required unless icon is set.
|
|
||||||
class:
|
class:
|
||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
comment: >-
|
comment: Class attribute of the button element, e.g. `p-5`.
|
||||||
Class attribute of the button element, e.g. “p-5”.
|
|
||||||
color:
|
color:
|
||||||
type: select
|
type: select
|
||||||
optional: true
|
optional: true
|
||||||
default: primary
|
default: primary
|
||||||
comment: >-
|
comment: Theme color of the element.
|
||||||
Theme color of the element.
|
|
||||||
options:
|
options:
|
||||||
values:
|
values:
|
||||||
- primary
|
- primary
|
||||||
@@ -48,7 +45,7 @@ arguments:
|
|||||||
id:
|
id:
|
||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
comment: ID of the button, to be used in the DOM.
|
comment: Identifier of the button, to be used in the DOM.
|
||||||
state:
|
state:
|
||||||
type: select
|
type: select
|
||||||
optional: true
|
optional: true
|
||||||
@@ -61,7 +58,7 @@ arguments:
|
|||||||
- active
|
- active
|
||||||
- inactive
|
- inactive
|
||||||
size:
|
size:
|
||||||
type: string
|
type: select
|
||||||
optional: true
|
optional: true
|
||||||
default: md
|
default: md
|
||||||
comment: Size of the button.
|
comment: Size of the button.
|
||||||
@@ -85,7 +82,12 @@ arguments:
|
|||||||
comment: >-
|
comment: >-
|
||||||
Assistive label for the button or badge. The label is applied
|
Assistive label for the button or badge. The label is applied
|
||||||
to the badge instead of the button when a badge has been defined.
|
to the badge instead of the button when a badge has been defined.
|
||||||
The default value of the button aria-label is its title.
|
The default value of the button's assistive label is its title.
|
||||||
|
aria-label:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Alias for label.
|
||||||
|
group: shortcode
|
||||||
tooltip:
|
tooltip:
|
||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
@@ -108,7 +110,7 @@ arguments:
|
|||||||
- link
|
- link
|
||||||
- button
|
- button
|
||||||
placement:
|
placement:
|
||||||
type: string
|
type: select
|
||||||
optional: true
|
optional: true
|
||||||
default: top
|
default: top
|
||||||
comment: Position of the tooltip.
|
comment: Position of the tooltip.
|
||||||
@@ -134,7 +136,7 @@ arguments:
|
|||||||
- first
|
- first
|
||||||
- last
|
- last
|
||||||
justify:
|
justify:
|
||||||
type: string
|
type: select
|
||||||
optional: true
|
optional: true
|
||||||
default: center
|
default: center
|
||||||
comment: Justification of the button title and icon.
|
comment: Justification of the button title and icon.
|
||||||
@@ -149,7 +151,7 @@ arguments:
|
|||||||
toast:
|
toast:
|
||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
comment: ID of the toast to display when the button is clicked.
|
comment: Identifier (ID) of the toast to display when the button is clicked.
|
||||||
clipboard:
|
clipboard:
|
||||||
type:
|
type:
|
||||||
- string
|
- string
|
||||||
@@ -174,6 +176,7 @@ arguments:
|
|||||||
comment: >-
|
comment: >-
|
||||||
Dictionary of key-value pairs added as custom attributes to the button
|
Dictionary of key-value pairs added as custom attributes to the button
|
||||||
element ('<a>').
|
element ('<a>').
|
||||||
|
group: partial
|
||||||
spacing:
|
spacing:
|
||||||
type: bool
|
type: bool
|
||||||
optional: true
|
optional: true
|
||||||
|
@@ -11,11 +11,11 @@ arguments:
|
|||||||
- '*hugolib.pageForShortcode'
|
- '*hugolib.pageForShortcode'
|
||||||
optional: true
|
optional: true
|
||||||
comment: Context of the current page.
|
comment: Context of the current page.
|
||||||
|
group: partial
|
||||||
title:
|
title:
|
||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
comment: >-
|
comment: Title of the card group.
|
||||||
Title of the card, replaces the title of the referenced page (if any).
|
|
||||||
gutter:
|
gutter:
|
||||||
type: int
|
type: int
|
||||||
optional: true
|
optional: true
|
||||||
@@ -24,20 +24,27 @@ arguments:
|
|||||||
options:
|
options:
|
||||||
min: 0
|
min: 0
|
||||||
max: 5
|
max: 5
|
||||||
|
release: v0.19.0
|
||||||
list:
|
list:
|
||||||
type:
|
type:
|
||||||
- page.Pages
|
- 'page.Pages'
|
||||||
- resource.Resources
|
- 'resource.Resources'
|
||||||
|
- '[]map[string]interface {}'
|
||||||
optional: true
|
optional: true
|
||||||
comment: Array of pages to be rendered as cards.
|
comment: Array of pages or structured content to be rendered as cards.
|
||||||
|
group: partial
|
||||||
cards:
|
cards:
|
||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
comment: String of rendered cards.
|
comment: String of rendered cards.
|
||||||
|
group: partial
|
||||||
max:
|
max:
|
||||||
type: int
|
type: int
|
||||||
optional: true
|
optional: true
|
||||||
comment: Maximum number of cards to display.
|
comment: Maximum number of cards to display.
|
||||||
|
group: partial
|
||||||
|
options:
|
||||||
|
min: 1
|
||||||
cols:
|
cols:
|
||||||
type: select
|
type: select
|
||||||
optional: true
|
optional: true
|
||||||
@@ -51,23 +58,27 @@ arguments:
|
|||||||
- "4"
|
- "4"
|
||||||
- "5"
|
- "5"
|
||||||
- "auto"
|
- "auto"
|
||||||
|
release: v0.19.0
|
||||||
paginate:
|
paginate:
|
||||||
type: bool
|
type: bool
|
||||||
optional: true
|
optional: true
|
||||||
comment: >-
|
comment: >-
|
||||||
Flag indicating if pagination should be added to the card group, if the
|
Flag indicating if pagination should be added to the card group, if the
|
||||||
list exceeds the maximum number of cards to display.
|
list exceeds the maximum number of cards to display.
|
||||||
|
group: partial
|
||||||
href:
|
href:
|
||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
comment: >-
|
comment: >-
|
||||||
address for the button or hyperlink. If set, a button is added if the
|
Address for the button or hyperlink. If set, a button is added if the
|
||||||
list exceeds the maximum number of cards to display.
|
list exceeds the maximum number of cards to display.
|
||||||
|
group: partial
|
||||||
hrefTitle:
|
hrefTitle:
|
||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
comment: >-
|
comment: >-
|
||||||
Title of the button or hyperlink as companion to href.
|
Title of the button or hyperlink as companion to href.
|
||||||
|
group: partial
|
||||||
separator:
|
separator:
|
||||||
type: bool
|
type: bool
|
||||||
optional: true
|
optional: true
|
||||||
|
@@ -108,15 +108,14 @@ arguments:
|
|||||||
- string
|
- string
|
||||||
- template.HTML
|
- template.HTML
|
||||||
optional: true
|
optional: true
|
||||||
parent: cascade
|
|
||||||
comment: >-
|
comment: >-
|
||||||
Description of the card.
|
Description of the card.
|
||||||
group: partial
|
group: partial
|
||||||
loading:
|
loading:
|
||||||
type: select
|
type: select
|
||||||
optional: true
|
optional: true
|
||||||
default: eager
|
|
||||||
parent: cascade
|
parent: cascade
|
||||||
|
default: eager
|
||||||
comment: >-
|
comment: >-
|
||||||
Loading behavior of the image. The loading of lazily loaded images is
|
Loading behavior of the image. The loading of lazily loaded images is
|
||||||
deferred until the image is within scrolling range of the viewport. This
|
deferred until the image is within scrolling range of the viewport. This
|
||||||
@@ -130,7 +129,6 @@ arguments:
|
|||||||
thumbnail:
|
thumbnail:
|
||||||
type: path
|
type: path
|
||||||
optional: true
|
optional: true
|
||||||
parent: cascade
|
|
||||||
comment: >-
|
comment: >-
|
||||||
Thumbnail image url, displayed on top or the left of the card.
|
Thumbnail image url, displayed on top or the left of the card.
|
||||||
ratio:
|
ratio:
|
||||||
@@ -157,22 +155,51 @@ arguments:
|
|||||||
icon:
|
icon:
|
||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
parent: cascade
|
|
||||||
comment: >-
|
comment: >-
|
||||||
Font Awesome icon, displayed on top or the left of the card.
|
Font Awesome icon, displayed on top or the left of the card.
|
||||||
|
align:
|
||||||
|
type: select
|
||||||
|
parent: cascade
|
||||||
|
optional: true
|
||||||
|
default: start
|
||||||
|
release: v0.23.0-alpha2
|
||||||
|
comment: Icon alignment.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- start
|
||||||
|
- end
|
||||||
|
- center
|
||||||
|
style:
|
||||||
|
type: string
|
||||||
|
parent: cascade
|
||||||
|
optional: true
|
||||||
|
release: v0.23.0-alpha2
|
||||||
|
comment: Icon style.
|
||||||
orientation:
|
orientation:
|
||||||
type: select
|
type: select
|
||||||
optional: true
|
optional: true
|
||||||
default: stacked
|
default: stacked
|
||||||
parent: cascade
|
parent: cascade
|
||||||
comment: >-
|
comment: Placement of the thumbnail or icon.
|
||||||
Placement of the thumbnail or icon.
|
|
||||||
options:
|
options:
|
||||||
values:
|
values:
|
||||||
- stacked
|
- stacked
|
||||||
- horizontal
|
- horizontal
|
||||||
- horizontal-sm
|
- horizontal-sm
|
||||||
- none
|
- none
|
||||||
|
subtle:
|
||||||
|
type: bool
|
||||||
|
parent: cascade
|
||||||
|
optional: true
|
||||||
|
release: v0.23.0-alpha2
|
||||||
|
comment: Apply subtle background colors.
|
||||||
|
button:
|
||||||
|
type: bool
|
||||||
|
parent: cascade
|
||||||
|
optional: true
|
||||||
|
release: v0.23.0-beta
|
||||||
|
comment: >-
|
||||||
|
Flag indicating the cards should include a button that links to the provided address.
|
||||||
body:
|
body:
|
||||||
optional: true
|
optional: true
|
||||||
comment: >-
|
comment: >-
|
||||||
|
@@ -24,6 +24,7 @@ arguments:
|
|||||||
- 4x3
|
- 4x3
|
||||||
- 16x9
|
- 16x9
|
||||||
- 21x9
|
- 21x9
|
||||||
|
group: partial
|
||||||
portrait:
|
portrait:
|
||||||
type: bool
|
type: bool
|
||||||
optional: true
|
optional: true
|
||||||
@@ -32,6 +33,7 @@ arguments:
|
|||||||
Flag to adjust the ratio from landscape to portrait. The image itself
|
Flag to adjust the ratio from landscape to portrait. The image itself
|
||||||
is not rotated, only the crop area is adjusted. Not applicable to vector
|
is not rotated, only the crop area is adjusted. Not applicable to vector
|
||||||
graphics.
|
graphics.
|
||||||
|
group: partial
|
||||||
loading:
|
loading:
|
||||||
type: select
|
type: select
|
||||||
default: eager
|
default: eager
|
||||||
|
@@ -1,14 +1,14 @@
|
|||||||
comment: >-
|
comment: >-
|
||||||
Displays a carousel of several responsive images (see the image shortcode for
|
Displays a carousel of several responsive images (see the image shortcode for
|
||||||
more details). Add inner <img> elements to define individual image slides.
|
more details). Add inner `img` elements to define individual image slides.
|
||||||
arguments:
|
arguments:
|
||||||
id:
|
id:
|
||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
comment: >-
|
comment: >-
|
||||||
ID of the carousel, defaults to `carousel-` with a sequential number.
|
ID of the carousel, defaults to `carousel-n` with a sequential number `n`.
|
||||||
ratio:
|
ratio:
|
||||||
type: string
|
type: select
|
||||||
optional: true
|
optional: true
|
||||||
comment: >-
|
comment: >-
|
||||||
Ratio of the images. If set, the images are resized and cropped to match the
|
Ratio of the images. If set, the images are resized and cropped to match the
|
||||||
@@ -28,11 +28,12 @@ arguments:
|
|||||||
Flag to adjust the ratio from landscape to portrait. The images themselves
|
Flag to adjust the ratio from landscape to portrait. The images themselves
|
||||||
are not rotated, only the crop area is adjusted. Not applicable to vector
|
are not rotated, only the crop area is adjusted. Not applicable to vector
|
||||||
graphics.
|
graphics.
|
||||||
|
release: v0.18.3
|
||||||
class:
|
class:
|
||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
comment: Class attribute of the carousel element, e.g. “w-75”.
|
comment: Class attribute of the carousel element, e.g. `w-75`.
|
||||||
body:
|
body:
|
||||||
type: string
|
type: string
|
||||||
optional: false
|
optional: false
|
||||||
comment: Inner <img> elements that define the individual image slides.
|
comment: Inner `img` elements that define the individual image slides.
|
@@ -18,7 +18,7 @@ arguments:
|
|||||||
type: select
|
type: select
|
||||||
optional: true
|
optional: true
|
||||||
default: bash
|
default: bash
|
||||||
comment: Type of shell
|
comment: Type of shell.
|
||||||
options:
|
options:
|
||||||
values:
|
values:
|
||||||
- bash
|
- bash
|
||||||
|
@@ -30,11 +30,15 @@ arguments:
|
|||||||
optional: true
|
optional: true
|
||||||
default: true
|
default: true
|
||||||
comment: >-
|
comment: >-
|
||||||
If unset, shows the filename only. By default, the full relative path is
|
If unset, shows the filename only. By default, the entire path (relative
|
||||||
shown.
|
to the base path) is shown.
|
||||||
id:
|
id:
|
||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
comment: >-
|
comment: >-
|
||||||
ID of the collapse panel holding the code snippet, defaults to
|
ID of the collapse panel holding the code snippet, defaults to
|
||||||
`docs-collapse-n` with a sequential number `n` starting at `1`.
|
`docs-collapse-n` with a sequential number `n` starting at `1`.
|
||||||
|
class:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Class attribute of the tab control that wraps the docs element.
|
||||||
|
@@ -2,11 +2,17 @@ comment: >-
|
|||||||
Display a code example and render a preview of the same input. The shortcode
|
Display a code example and render a preview of the same input. The shortcode
|
||||||
accepts the languages supported by Hugo's highlight function.
|
accepts the languages supported by Hugo's highlight function.
|
||||||
arguments:
|
arguments:
|
||||||
|
id:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Identifier of the element’s container.
|
||||||
lang:
|
lang:
|
||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
default: markdown
|
default: markdown
|
||||||
comment: Language used to display the code.
|
comment: >-
|
||||||
|
Language used to display the code. Use `hugo` to process Hugo (escaped)
|
||||||
|
shortcodes.
|
||||||
show_markup:
|
show_markup:
|
||||||
type: bool
|
type: bool
|
||||||
optional: true
|
optional: true
|
||||||
|
@@ -22,18 +22,19 @@ arguments:
|
|||||||
If unset, shows the panel with the code in collapsed state. By default,
|
If unset, shows the panel with the code in collapsed state. By default,
|
||||||
the panel is expanded.
|
the panel is expanded.
|
||||||
full:
|
full:
|
||||||
type: string
|
type: bool
|
||||||
optional: true
|
optional: true
|
||||||
|
default: true
|
||||||
comment: >-
|
comment: >-
|
||||||
If unset, shows the filename only. By default, the full relative path is
|
If unset, shows the filename only. By default, the entire path (relative
|
||||||
shown.
|
to the base path) is shown.
|
||||||
id:
|
id:
|
||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
comment: >-
|
comment: >-
|
||||||
ID of the collapse panel, defaults to `file-collapse-n` with a sequential
|
Identifier of the collapse panel, defaults to `file-collapse-n` with a
|
||||||
number `n` starting at 1.
|
sequential number `n` starting at 1.
|
||||||
class:
|
class:
|
||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
comment: Class argument of the tab control.
|
comment: Class attribute of the tab control that wraps the file element.
|
||||||
|
@@ -21,7 +21,10 @@ arguments:
|
|||||||
url:
|
url:
|
||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
comment: Path or url of the image, e.g. `img/example.jpg`.
|
comment: >-
|
||||||
|
Path or url of the image, e.g. `img/example.jpg`. Images with multiple
|
||||||
|
color modes are expected to have a basename that ends with either `-dark`
|
||||||
|
or `-light`.
|
||||||
src:
|
src:
|
||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
@@ -39,9 +42,12 @@ arguments:
|
|||||||
type: bool
|
type: bool
|
||||||
default: false
|
default: false
|
||||||
optional: true
|
optional: true
|
||||||
comment: Flag indicating if the image should support color modes.
|
comment: >-
|
||||||
|
Flag indicating if the image should support color modes. If set, the
|
||||||
|
shortcode searches for images that having a matching color-mode suffix
|
||||||
|
such as `-light` or `-dark`.
|
||||||
ratio:
|
ratio:
|
||||||
type: string
|
type: select
|
||||||
optional: true
|
optional: true
|
||||||
comment: >-
|
comment: >-
|
||||||
Ratio of the image. If set, the image is resized and cropped to match the
|
Ratio of the image. If set, the image is resized and cropped to match the
|
||||||
@@ -62,6 +68,7 @@ arguments:
|
|||||||
Flag to adjust the ratio from landscape to portrait. The image itself is
|
Flag to adjust the ratio from landscape to portrait. The image itself is
|
||||||
not rotated, only the crop area is adjusted. Not applicable to vector
|
not rotated, only the crop area is adjusted. Not applicable to vector
|
||||||
graphics.
|
graphics.
|
||||||
|
release: v0.18.3
|
||||||
loading:
|
loading:
|
||||||
type: select
|
type: select
|
||||||
default: eager
|
default: eager
|
||||||
@@ -75,6 +82,7 @@ arguments:
|
|||||||
values:
|
values:
|
||||||
- eager
|
- eager
|
||||||
- lazy
|
- lazy
|
||||||
|
release: v0.21.0
|
||||||
priority:
|
priority:
|
||||||
type: select
|
type: select
|
||||||
default: auto
|
default: auto
|
||||||
@@ -102,6 +110,7 @@ arguments:
|
|||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
comment: Class attributes of the wrapper element, e.g. `mx-auto`.
|
comment: Class attributes of the wrapper element, e.g. `mx-auto`.
|
||||||
|
release: v0.18.3
|
||||||
class:
|
class:
|
||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
|
@@ -25,8 +25,8 @@ arguments:
|
|||||||
position: 0
|
position: 0
|
||||||
optional: true
|
optional: true
|
||||||
comment: >-
|
comment: >-
|
||||||
Reference to either an external link (if it starts with http), a named
|
Reference to either an external link (if it starts with `http`), a named
|
||||||
link (if it can be found in params.links), or internal reference.
|
link (if it can be found in `params.links`), or internal reference.
|
||||||
Both external and internal references may include an anchor `#`.
|
Both external and internal references may include an anchor `#`.
|
||||||
name:
|
name:
|
||||||
type: string
|
type: string
|
||||||
|
55
data/structures/list.yml
Normal file
55
data/structures/list.yml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
comment: >-
|
||||||
|
Displays a list of items with a thumbnail alternating between left and right
|
||||||
|
alignment.
|
||||||
|
arguments:
|
||||||
|
page:
|
||||||
|
type:
|
||||||
|
- '*hugolib.pageState'
|
||||||
|
- '*hugolib.pageForShortcode'
|
||||||
|
optional: false
|
||||||
|
comment: Required context of the current page.
|
||||||
|
group: partial
|
||||||
|
list:
|
||||||
|
type:
|
||||||
|
- 'page.Pages'
|
||||||
|
- 'resource.Resources'
|
||||||
|
optional: false
|
||||||
|
comment: Required array of pages.
|
||||||
|
group: partial
|
||||||
|
title:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Optional title of the card group.
|
||||||
|
loading:
|
||||||
|
type: select
|
||||||
|
default: eager
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Loading behavior of the image. The loading of lazily loaded images is
|
||||||
|
deferred until the image is within scrolling range of the viewport. This
|
||||||
|
should reduce the initial loading time of the website. It is recommended
|
||||||
|
to lazily load only those images that are below the pagefold.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- eager
|
||||||
|
- lazy
|
||||||
|
class:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Class attribute of the tab element, e.g. “w-50”.
|
||||||
|
color:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Theme color of the element.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- primary
|
||||||
|
- secondary
|
||||||
|
- success
|
||||||
|
- danger
|
||||||
|
- warning
|
||||||
|
- info
|
||||||
|
- light
|
||||||
|
- dark
|
||||||
|
- body
|
@@ -9,7 +9,7 @@ arguments:
|
|||||||
optional: true
|
optional: true
|
||||||
comment: >-
|
comment: >-
|
||||||
Theme color of the highlight. By default, the highlight uses the color of
|
Theme color of the highlight. By default, the highlight uses the color of
|
||||||
the HTML mark function.
|
the HTML mark function (usually yellow).
|
||||||
options:
|
options:
|
||||||
values:
|
values:
|
||||||
- primary
|
- primary
|
||||||
|
@@ -1,25 +1,25 @@
|
|||||||
comment: >-
|
comment: >-
|
||||||
Defines an individual nav item.
|
Defines an individual item.
|
||||||
arguments:
|
arguments:
|
||||||
id:
|
id:
|
||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
comment: ID of the nav-item.
|
comment: Identification of the item.
|
||||||
parent: cascade
|
group: partial
|
||||||
parentID:
|
parentID:
|
||||||
type: string
|
type: string
|
||||||
optional: false
|
optional: false
|
||||||
comment: ID of the parent (e.g. nav control).
|
comment: Identification of the parent (e.g. nav control).
|
||||||
group: partial
|
group: partial
|
||||||
header:
|
header:
|
||||||
type: string
|
type: string
|
||||||
optional: false
|
optional: false
|
||||||
comment: Header of the nav item.
|
comment: Header of the item.
|
||||||
show:
|
show:
|
||||||
type: bool
|
type: bool
|
||||||
optional: true
|
optional: true
|
||||||
comment: >-
|
comment: >-
|
||||||
Flag to indicate the nav item should be shown. Only one can be shown at a
|
Flag to indicate if the item should be shown. Only one can be shown at a
|
||||||
time.
|
time.
|
||||||
disabled:
|
disabled:
|
||||||
type: bool
|
type: bool
|
||||||
@@ -33,13 +33,13 @@ arguments:
|
|||||||
class:
|
class:
|
||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
comment: Class attribute of the nav item.
|
comment: Class attribute of the item.
|
||||||
body:
|
body:
|
||||||
type:
|
type:
|
||||||
- string
|
- string
|
||||||
- template.HTML
|
- template.HTML
|
||||||
optional: true
|
optional: true
|
||||||
comment: The body content of the nav-item, supports Markdown and HTML (if enabled).
|
comment: The body content of the item, supports Markdown and HTML (if enabled).
|
||||||
group: partial
|
group: partial
|
||||||
item_type:
|
item_type:
|
||||||
type: select
|
type: select
|
||||||
@@ -50,7 +50,13 @@ arguments:
|
|||||||
- accordion
|
- accordion
|
||||||
- tab-pane
|
- tab-pane
|
||||||
group: partial
|
group: partial
|
||||||
|
illustration:
|
||||||
|
type:
|
||||||
|
- string
|
||||||
|
- template.HTML
|
||||||
|
optional: true
|
||||||
|
group: partial
|
||||||
body:
|
body:
|
||||||
optional: false
|
optional: false
|
||||||
comment: Content of the nav item.
|
comment: Content of the item.
|
||||||
group: shortcode
|
group: shortcode
|
||||||
|
@@ -44,7 +44,7 @@ arguments:
|
|||||||
class:
|
class:
|
||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
comment: Class attribute of the tab group, e.g. “nav-fill”.
|
comment: Class attribute of the tab group, e.g. `nav-fill`.
|
||||||
pane:
|
pane:
|
||||||
type: select
|
type: select
|
||||||
optional: true
|
optional: true
|
||||||
|
34
data/structures/navbar-item.yml
Normal file
34
data/structures/navbar-item.yml
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
comment: >-
|
||||||
|
Defines an individual item of the navigation bar.
|
||||||
|
arguments:
|
||||||
|
page:
|
||||||
|
type:
|
||||||
|
- '*hugolib.pageState'
|
||||||
|
- '*hugolib.pageForShortcode'
|
||||||
|
optional: false
|
||||||
|
comment: Context of the current page.
|
||||||
|
group: partial
|
||||||
|
menu:
|
||||||
|
type: '*navigation.MenuEntry'
|
||||||
|
optional: false
|
||||||
|
comment: Menu data to use for the navbar item.
|
||||||
|
parent:
|
||||||
|
type: '*navigation.MenuEntry'
|
||||||
|
optional: true
|
||||||
|
comment: Parent of the current navbar item.
|
||||||
|
class:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Class attribute of the item.
|
||||||
|
cue:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Flag to indicate if an external link should show a visual cue, defaults
|
||||||
|
to the setting `main.externalLinks.cue` in the site's parameters.
|
||||||
|
tab:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Flag to indicate if an external link should open in a new tab, defaults
|
||||||
|
to setting `main.externalLinks.tab` in the site's parameters.
|
@@ -28,7 +28,12 @@ arguments:
|
|||||||
color:
|
color:
|
||||||
type: select
|
type: select
|
||||||
optional: true
|
optional: true
|
||||||
comment: Background theme color of the navbar.
|
comment: >-
|
||||||
|
Background theme color of the navbar. Set the color to `body` or
|
||||||
|
`body-tertiary` for the navbar to respond to color mode changes (e.g.
|
||||||
|
switching between dark and light). The navigation bar is transparent when
|
||||||
|
no color is set, but is set to the body color when scrolling to enhance
|
||||||
|
the contrast.
|
||||||
options:
|
options:
|
||||||
values:
|
values:
|
||||||
- primary
|
- primary
|
||||||
@@ -47,9 +52,9 @@ arguments:
|
|||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
comment: >-
|
comment: >-
|
||||||
ID of the navbar, defaults to `navbar-0`. The id is used by several child
|
Identification of the navbar, defaults to `navbar-0`. The id is used by
|
||||||
elements, including a color mode switcher, version switcher, and collapse
|
several child elements, including a color mode switcher, version switcher,
|
||||||
panel.
|
and collapse panel.
|
||||||
menus:
|
menus:
|
||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
@@ -76,6 +81,7 @@ arguments:
|
|||||||
values:
|
values:
|
||||||
- light
|
- light
|
||||||
- dark
|
- dark
|
||||||
|
group: partial
|
||||||
mode:
|
mode:
|
||||||
type: bool
|
type: bool
|
||||||
optional: true
|
optional: true
|
||||||
@@ -94,6 +100,26 @@ arguments:
|
|||||||
default: false
|
default: false
|
||||||
comment: Flag to indicate the navbar should stick to the top.
|
comment: Flag to indicate the navbar should stick to the top.
|
||||||
group: partial
|
group: partial
|
||||||
|
overlay:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
default: false
|
||||||
|
comment: >-
|
||||||
|
Flag to indicate if the navbar should render as an overlay on the current
|
||||||
|
page.
|
||||||
|
group: partial
|
||||||
|
release: v0.22.6
|
||||||
|
overlayMode:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
default: dark
|
||||||
|
comment: Color mode of the overlay.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- light
|
||||||
|
- dark
|
||||||
|
group: partial
|
||||||
|
release: v0.23.0
|
||||||
logo:
|
logo:
|
||||||
type: path
|
type: path
|
||||||
optional: true
|
optional: true
|
||||||
|
14
data/structures/page-alert.yml
Normal file
14
data/structures/page-alert.yml
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
comment: >-
|
||||||
|
Adds a dismissible alert message to the top of the page, above the main menu.
|
||||||
|
The alert uses the following scratch variables:
|
||||||
|
- pageAlertMsg
|
||||||
|
- pageAlertURL
|
||||||
|
- version
|
||||||
|
arguments:
|
||||||
|
page:
|
||||||
|
type:
|
||||||
|
- '*hugolib.pageState'
|
||||||
|
- '*hugolib.pageForShortcode'
|
||||||
|
optional: false
|
||||||
|
comment: Context of the current page.
|
||||||
|
group: partial
|
21
data/structures/pagination.yml
Normal file
21
data/structures/pagination.yml
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
comment: >-
|
||||||
|
Adds a pagination element to a page. This allows to split long lists across
|
||||||
|
multiple pages to ease navigation. Set 'paginate' in the site configuration to
|
||||||
|
define the maximum amount of items to display on a list page.
|
||||||
|
arguments:
|
||||||
|
page:
|
||||||
|
type:
|
||||||
|
- '*hugolib.pageState'
|
||||||
|
- '*hugolib.pageForShortcode'
|
||||||
|
optional: false
|
||||||
|
comment: Context of the current page.
|
||||||
|
group: partial
|
||||||
|
format:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
default: default
|
||||||
|
comment:
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- default
|
||||||
|
- terse
|
@@ -16,7 +16,7 @@ arguments:
|
|||||||
class:
|
class:
|
||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
comment: Class attribute of the card element, e.g. “w-50”.
|
comment: Class attribute of the card element, e.g. `w-50`.
|
||||||
color:
|
color:
|
||||||
type: select
|
type: select
|
||||||
optional: true
|
optional: true
|
||||||
|
@@ -23,7 +23,7 @@ arguments:
|
|||||||
type: select
|
type: select
|
||||||
optional: true
|
optional: true
|
||||||
default: md
|
default: md
|
||||||
comment: Size of the button
|
comment: Size of the button.
|
||||||
options:
|
options:
|
||||||
values:
|
values:
|
||||||
- sm
|
- sm
|
||||||
@@ -36,4 +36,5 @@ arguments:
|
|||||||
inline:
|
inline:
|
||||||
type: bool
|
type: bool
|
||||||
optional: true
|
optional: true
|
||||||
comment: Flag to render the release button inline (defaults to false).
|
default: false
|
||||||
|
comment: Flag to render the release button inline.
|
||||||
|
16
data/structures/section-header.yml
Normal file
16
data/structures/section-header.yml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
comment: Renders the header of a page section.
|
||||||
|
arguments:
|
||||||
|
title:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Title of the section.
|
||||||
|
description:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Section description.
|
||||||
|
content:
|
||||||
|
type:
|
||||||
|
- string
|
||||||
|
- template.HTML
|
||||||
|
optional: true
|
||||||
|
comment: Section content.
|
9
data/structures/section-menu.yml
Normal file
9
data/structures/section-menu.yml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
comment: Renders the section menu of a single page.
|
||||||
|
arguments:
|
||||||
|
page:
|
||||||
|
type:
|
||||||
|
- '*hugolib.pageState'
|
||||||
|
- '*hugolib.pageForShortcode'
|
||||||
|
optional: false
|
||||||
|
comment: Context of the current page.
|
||||||
|
group: partial
|
9
data/structures/sharing.yml
Normal file
9
data/structures/sharing.yml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
comment: Renders the social sharing buttons for a single page.
|
||||||
|
arguments:
|
||||||
|
page:
|
||||||
|
type:
|
||||||
|
- '*hugolib.pageState'
|
||||||
|
- '*hugolib.pageForShortcode'
|
||||||
|
optional: false
|
||||||
|
comment: Context of the current page.
|
||||||
|
group: partial
|
24
data/structures/sidebar.yml
Normal file
24
data/structures/sidebar.yml
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
comment: >-
|
||||||
|
Renders the sidebar navigation of a single page. It is intended to be used as
|
||||||
|
companion to the main navigation and is typically used in content-heavy
|
||||||
|
sections, such as documentation pages. On smaller screens, the sidebar is
|
||||||
|
replaced with an offcanvas element. In this case, the main navigation receives
|
||||||
|
an additional toggler on the left of the screen.
|
||||||
|
arguments:
|
||||||
|
page:
|
||||||
|
type:
|
||||||
|
- '*hugolib.pageState'
|
||||||
|
- '*hugolib.pageForShortcode'
|
||||||
|
optional: false
|
||||||
|
comment: Context of the current page.
|
||||||
|
group: partial
|
||||||
|
menu:
|
||||||
|
type: '[]interface {}'
|
||||||
|
optional: true
|
||||||
|
comment: Path of the sidebar navigation menu.
|
||||||
|
version:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Version of the sidebar navigation, used to define the base URL of
|
||||||
|
generated links, together with the page's section.
|
@@ -6,7 +6,7 @@ arguments:
|
|||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
comment: >-
|
comment: >-
|
||||||
Class attribute of the wrapping element, e.g. “text-center”.
|
Class attribute of the wrapping element, e.g. `text-center`.
|
||||||
color:
|
color:
|
||||||
type: select
|
type: select
|
||||||
optional: true
|
optional: true
|
||||||
|
@@ -5,4 +5,4 @@ arguments:
|
|||||||
type: string
|
type: string
|
||||||
optional: false
|
optional: false
|
||||||
position: 0
|
position: 0
|
||||||
comment: Text to display in subscript.
|
comment: Text to display in subscript. You can omit the argument name.
|
||||||
|
@@ -5,4 +5,4 @@ arguments:
|
|||||||
type: string
|
type: string
|
||||||
optional: false
|
optional: false
|
||||||
position: 0
|
position: 0
|
||||||
comment: Text to display in superscript.
|
comment: Text to display in superscript. You can omit the argument name.
|
||||||
|
@@ -23,7 +23,7 @@ arguments:
|
|||||||
class:
|
class:
|
||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
comment: Class attribute of the table element, e.g. “table-striped-columns w-auto”.
|
comment: Class attribute of the table element, e.g. `table-striped-columns w-auto`.
|
||||||
body:
|
body:
|
||||||
type: string
|
type: string
|
||||||
optional: false
|
optional: false
|
||||||
|
@@ -5,7 +5,8 @@ arguments:
|
|||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
comment: >-
|
comment: >-
|
||||||
ID of the toast message, defaults to `toast-message-n` with sequence n.
|
Unique identifier of the toast message, defaults to `toast-message-n`
|
||||||
|
with sequence n.
|
||||||
header:
|
header:
|
||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
|
9
data/structures/toc.yml
Normal file
9
data/structures/toc.yml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
comment: Renders the table of contents of a single page.
|
||||||
|
arguments:
|
||||||
|
page:
|
||||||
|
type:
|
||||||
|
- '*hugolib.pageState'
|
||||||
|
- '*hugolib.pageForShortcode'
|
||||||
|
optional: false
|
||||||
|
comment: Context of the current page.
|
||||||
|
group: partial
|
@@ -18,7 +18,7 @@ arguments:
|
|||||||
type: string
|
type: string
|
||||||
optional: false
|
optional: false
|
||||||
position: 0
|
position: 0
|
||||||
comment: ID of the video to be embedded.
|
comment: Identifier of the video to be embedded.
|
||||||
autoplay:
|
autoplay:
|
||||||
type: bool
|
type: bool
|
||||||
optional: true
|
optional: true
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
resourcedir = '../resources/'
|
resourcedir = '../resources/'
|
||||||
title = "Hinode"
|
title = "Hinode"
|
||||||
copyright = "Copyright © 2023 Mark Dumay."
|
copyright = "Copyright © 2024 Mark Dumay."
|
||||||
paginate = 9
|
paginate = 9
|
||||||
enableGitInfo = true
|
enableGitInfo = true
|
||||||
|
|
||||||
@@ -79,6 +79,8 @@ home = ["HTML", "RSS", "REDIR"]
|
|||||||
keepVarNames = true
|
keepVarNames = true
|
||||||
precision = 0
|
precision = 0
|
||||||
version = 2022
|
version = 2022
|
||||||
|
[minify.tdewolff.html]
|
||||||
|
keepWhitespace = true
|
||||||
|
|
||||||
[module]
|
[module]
|
||||||
replacements = 'github.com/gethinode/hinode -> ../..'
|
replacements = 'github.com/gethinode/hinode -> ../..'
|
||||||
|
@@ -20,6 +20,9 @@
|
|||||||
disableTemplate = ["katex"]
|
disableTemplate = ["katex"]
|
||||||
[modules.katex]
|
[modules.katex]
|
||||||
state = "defer"
|
state = "defer"
|
||||||
|
[modules.flexsearch]
|
||||||
|
frontmatter = false
|
||||||
|
filter = ""
|
||||||
[modules.fontawesome]
|
[modules.fontawesome]
|
||||||
inline = true
|
inline = true
|
||||||
debug = true
|
debug = true
|
||||||
@@ -52,6 +55,8 @@
|
|||||||
logo = "/img/logo_icon.svg"
|
logo = "/img/logo_icon.svg"
|
||||||
color = "body"
|
color = "body"
|
||||||
fixed = true
|
fixed = true
|
||||||
|
overlay = false
|
||||||
|
overlayMode = "dark"
|
||||||
horizontal = false
|
horizontal = false
|
||||||
offset = "5.5rem"
|
offset = "5.5rem"
|
||||||
search = true
|
search = true
|
||||||
@@ -127,7 +132,7 @@
|
|||||||
padding = "3"
|
padding = "3"
|
||||||
header = "none"
|
header = "none"
|
||||||
footer = "tags"
|
footer = "tags"
|
||||||
orientation = "horizontal-sm"
|
orientation = "horizontal"
|
||||||
style = "border-1 card-emphasize"
|
style = "border-1 card-emphasize"
|
||||||
homepage = 3
|
homepage = 3
|
||||||
separator = false
|
separator = false
|
||||||
@@ -181,15 +186,6 @@
|
|||||||
images = ["logo.png"]
|
images = ["logo.png"]
|
||||||
locale = "en_US"
|
locale = "en_US"
|
||||||
|
|
||||||
[comments]
|
|
||||||
enabled = false
|
|
||||||
repo = "" # Replace with your repository.
|
|
||||||
#issueTerm = "pathname" # pathname, url, title, og:title
|
|
||||||
#label = "comment"
|
|
||||||
# By default, light and dark mode correspond to github-light and github-dark, respectively.
|
|
||||||
# Optional values: github-light, github-dark, preferred-color-scheme, github-dark-orange, icy-dark, dark-blue, photon-dark.
|
|
||||||
#theme = ""
|
|
||||||
|
|
||||||
[links]
|
[links]
|
||||||
bs_badge_heading = "https://getbootstrap.com/docs/5.3/components/badge/#headings"
|
bs_badge_heading = "https://getbootstrap.com/docs/5.3/components/badge/#headings"
|
||||||
hinode_docs = "https://gethinode.com"
|
hinode_docs = "https://gethinode.com"
|
||||||
@@ -197,5 +193,4 @@
|
|||||||
mozilla_image = "https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images"
|
mozilla_image = "https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images"
|
||||||
observatory = "https://observatory.mozilla.org/analyze/demo.gethinode.com"
|
observatory = "https://observatory.mozilla.org/analyze/demo.gethinode.com"
|
||||||
pagespeed = "https://pagespeed.web.dev/report?url=https%3A%2F%2Fdemo.gethinode.com%2F"
|
pagespeed = "https://pagespeed.web.dev/report?url=https%3A%2F%2Fdemo.gethinode.com%2F"
|
||||||
utterances = "https://utteranc.es"
|
|
||||||
hinode = "https://gethinode.com"
|
hinode = "https://gethinode.com"
|
||||||
|
@@ -7,15 +7,14 @@ for = '/**'
|
|||||||
X-XSS-Protection = "1; mode=block"
|
X-XSS-Protection = "1; mode=block"
|
||||||
Content-Security-Policy = """\
|
Content-Security-Policy = """\
|
||||||
default-src 'self'; \
|
default-src 'self'; \
|
||||||
script-src 'self' \
|
script-src 'self' https://*.google-analytics.com https://*.googletagmanager.com; \
|
||||||
https://utteranc.es/client.js https://*.google-analytics.com https://*.googletagmanager.com; \
|
style-src 'self' https://fonts.googleapis.com https://www.youtube.com; \
|
||||||
style-src 'self' https://utteranc.es https://fonts.googleapis.com https://www.youtube.com; \
|
|
||||||
object-src 'none'; \
|
object-src 'none'; \
|
||||||
base-uri 'self'; \
|
base-uri 'self'; \
|
||||||
connect-src 'self'
|
connect-src 'self'
|
||||||
https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; \
|
https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; \
|
||||||
font-src 'self' https://fonts.gstatic.com; \
|
font-src 'self' https://fonts.gstatic.com; \
|
||||||
frame-src 'self' https://utteranc.es https://www.youtube-nocookie.com https://www.youtube.com; \
|
frame-src 'self' https://www.youtube-nocookie.com https://www.youtube.com; \
|
||||||
img-src 'self' data: https://i.vimeocdn.com https://i.ytimg.com https://*.google-analytics.com https://*.googletagmanager.com https://tile.openstreetmap.org; \
|
img-src 'self' data: https://i.vimeocdn.com https://i.ytimg.com https://*.google-analytics.com https://*.googletagmanager.com https://tile.openstreetmap.org; \
|
||||||
manifest-src 'self'; \
|
manifest-src 'self'; \
|
||||||
media-src 'self' \
|
media-src 'self' \
|
||||||
|
@@ -8,7 +8,7 @@ showComments: false
|
|||||||
|
|
||||||
{{< image src="/img/logo_var.svg#logo" class="img-fluid w-50" wrapper="text-center" >}}
|
{{< image src="/img/logo_var.svg#logo" class="img-fluid w-50" wrapper="text-center" >}}
|
||||||
|
|
||||||
{{< card-group class="text-center border-0" padding="3" >}}
|
{{< card-group align="center" class="border-0" padding="3" >}}
|
||||||
{{< card title="Bootstrap framework" icon="fab bootstrap" >}}
|
{{< card title="Bootstrap framework" icon="fab bootstrap" >}}
|
||||||
Build fast, responsive sites with Bootstrap 5. Easily customize your site with the source Sass files.
|
Build fast, responsive sites with Bootstrap 5. Easily customize your site with the source Sass files.
|
||||||
{{< /card >}}
|
{{< /card >}}
|
||||||
@@ -26,7 +26,6 @@ Additional features include:
|
|||||||
* Support for multiple languages
|
* Support for multiple languages
|
||||||
* Reusable Bootstrap components through configurable shortcodes and partials
|
* Reusable Bootstrap components through configurable shortcodes and partials
|
||||||
* Versioned documentation, including sidebar navigation and version switcher
|
* Versioned documentation, including sidebar navigation and version switcher
|
||||||
* Embedded comments through light-weight integration with GitHub via [utteranc.es]({{< param "links.utterances" >}})
|
|
||||||
* Reponsive image handling for multiple screen sizes and resolutions
|
* Reponsive image handling for multiple screen sizes and resolutions
|
||||||
* Optimized search results, scoring 100 points for SEO on [PageSpeed Insights]({{< param "links.pagespeed" >}})
|
* 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" >}})
|
* Secure by default, scoring A+ on [Mozilla Observatory test]({{< param "links.observatory" >}})
|
||||||
|
@@ -125,7 +125,8 @@ As an example, the following shortcode displays a stacked card that links to the
|
|||||||
|
|
||||||
<!-- markdownlint-disable MD037 -->
|
<!-- markdownlint-disable MD037 -->
|
||||||
{{< example lang="hugo" >}}
|
{{< example lang="hugo" >}}
|
||||||
{{</* card path="about" padding="3" class="col-6 mx-auto" color="body-tertiary" header="publication" footer="none" /*/>}}
|
{{</* card path="about" padding="3" class="col-6 mx-auto" color="body-tertiary"
|
||||||
|
header="publication" footer="none" button=true /*/>}}
|
||||||
{{< /example >}}
|
{{< /example >}}
|
||||||
<!-- markdownlint-enable MD037 -->
|
<!-- markdownlint-enable MD037 -->
|
||||||
|
|
||||||
@@ -404,6 +405,22 @@ As an example, the following shortcode displays superscript text.
|
|||||||
{{< /example >}}
|
{{< /example >}}
|
||||||
<!-- markdownlint-enable MD037 -->
|
<!-- markdownlint-enable MD037 -->
|
||||||
|
|
||||||
|
## Table
|
||||||
|
|
||||||
|
As an example, the following shortcode displays a responsive table.
|
||||||
|
|
||||||
|
<!-- markdownlint-disable MD037 -->
|
||||||
|
{{< example lang="markdown" >}}
|
||||||
|
{{</* table */>}}
|
||||||
|
| # | Heading | Heading | Heading | Heading | Heading | Heading | Heading | Heading | Heading |
|
||||||
|
|----|---------|---------|---------|---------|---------|---------|---------|---------|---------|
|
||||||
|
| 1. | cell | cel | cel | cel | cel | cel | cel | cel | cel |
|
||||||
|
| 2. | cell | cel | cel | cel | cel | cel | cel | cel | cel |
|
||||||
|
| 3. | cell | cel | cel | cel | cel | cel | cel | cel | cel |
|
||||||
|
{{</* /table */>}}
|
||||||
|
{{< /example >}}
|
||||||
|
<!-- markdownlint-enable MD037 -->
|
||||||
|
|
||||||
## Timeline
|
## Timeline
|
||||||
|
|
||||||
As an example, the following shortcode displays a timeline with the file `data/timeline.en.yml` as data.
|
As an example, the following shortcode displays a timeline with the file `data/timeline.en.yml` as data.
|
||||||
|
@@ -9,7 +9,7 @@ showComments: false
|
|||||||
|
|
||||||
{{< image src="/img/logo_var.svg#logo" class="img-fluid w-50" wrapper="text-center" >}}
|
{{< image src="/img/logo_var.svg#logo" class="img-fluid w-50" wrapper="text-center" >}}
|
||||||
|
|
||||||
{{< card-group class="text-center border-0" padding="3" >}}
|
{{< card-group align="center" class="border-0" padding="3" >}}
|
||||||
{{< card title="Framework Bootstrap" icon="fab bootstrap" >}}
|
{{< card title="Framework Bootstrap" icon="fab bootstrap" >}}
|
||||||
Créez des sites rapides et réactifs avec Bootstrap 5. Personnalisez facilement votre site avec les fichiers source Sass.
|
Créez des sites rapides et réactifs avec Bootstrap 5. Personnalisez facilement votre site avec les fichiers source Sass.
|
||||||
{{< /card >}}
|
{{< /card >}}
|
||||||
@@ -27,7 +27,6 @@ Les fonctionnalités supplémentaires incluent:
|
|||||||
- Prise en charge de plusieurs langues
|
- Prise en charge de plusieurs langues
|
||||||
- Composants bootstrap réutilisables à travers des codes et partiels configurables
|
- Composants bootstrap réutilisables à travers des codes et partiels configurables
|
||||||
- Documentation versionnée, incluant une navigation latérale et un sélecteur de version.
|
- Documentation versionnée, incluant une navigation latérale et un sélecteur de version.
|
||||||
- Commentaires intégrés via une intégration légère avec GitHub via [utteranc.es]({{< param "links.utterances" >}})
|
|
||||||
- Gestion d'images adaptatives pour plusieurs tailles d'écran et résolutions.
|
- Gestion d'images adaptatives pour plusieurs tailles d'écran et résolutions.
|
||||||
- Résultats de recherche optimisés, obtenant un score de 100 points pour le référencement (SEO) sur [PageSpeed Insights]({{< param "links.pagespeed" >}}).
|
- Résultats de recherche optimisés, obtenant un score de 100 points pour le référencement (SEO) sur [PageSpeed Insights]({{< param "links.pagespeed" >}}).
|
||||||
- Sécurisé par défaut, obtenant un score A+ au test [Mozilla Observatory]({{< param "links.observatory" >}})
|
- Sécurisé par défaut, obtenant un score A+ au test [Mozilla Observatory]({{< param "links.observatory" >}})
|
||||||
|
@@ -10,7 +10,7 @@ showComments: false
|
|||||||
|
|
||||||
{{< image src="/img/logo_var.svg#logo" class="img-fluid w-50" wrapper="text-center" >}}
|
{{< image src="/img/logo_var.svg#logo" class="img-fluid w-50" wrapper="text-center" >}}
|
||||||
|
|
||||||
{{< card-group class="text-center border-0" padding="3" >}}
|
{{< card-group align="center" class="border-0" padding="3" >}}
|
||||||
{{< card title="Bootstrap raamwerk" icon="fab bootstrap" >}}
|
{{< card title="Bootstrap raamwerk" icon="fab bootstrap" >}}
|
||||||
Bouw snelle websites geschikt voor mobiele en desktop schermen met Bootstrap 5. Pas de site eenvoudig aan met bronbestanden in Sass.
|
Bouw snelle websites geschikt voor mobiele en desktop schermen met Bootstrap 5. Pas de site eenvoudig aan met bronbestanden in Sass.
|
||||||
{{< /card >}}
|
{{< /card >}}
|
||||||
@@ -28,7 +28,6 @@ Overige functies:
|
|||||||
* Ondersteuning voor meerdere talen
|
* Ondersteuning voor meerdere talen
|
||||||
* Herbruikbare Bootstrap componenten via shortcodes en partials
|
* Herbruikbare Bootstrap componenten via shortcodes en partials
|
||||||
* Versiebeheer van documentatiepagina's, inclusief secundaire navigatie en selectie van versies
|
* Versiebeheer van documentatiepagina's, inclusief secundaire navigatie en selectie van versies
|
||||||
* Integreren van commentaar via [utteranc.es]({{< param "links.utterances" >}})
|
|
||||||
* Optimalisering van foto's voor meerdere schermafmetingen en resoluties
|
* Optimalisering van foto's voor meerdere schermafmetingen en resoluties
|
||||||
* Optimale zoekresultaten, met 100 punten voor SEO volgens [PageSpeed Insights]({{< param "links.pagespeed" >}})
|
* Optimale zoekresultaten, met 100 punten voor SEO volgens [PageSpeed Insights]({{< param "links.pagespeed" >}})
|
||||||
* Veilige communicatie, met een score van A+ volgens [Mozilla Observatory]({{< param "links.observatory" >}})
|
* Veilige communicatie, met een score van A+ volgens [Mozilla Observatory]({{< param "links.observatory" >}})
|
||||||
|
@@ -19,7 +19,6 @@
|
|||||||
"hr",
|
"hr",
|
||||||
"html",
|
"html",
|
||||||
"i",
|
"i",
|
||||||
"iframe",
|
|
||||||
"img",
|
"img",
|
||||||
"input",
|
"input",
|
||||||
"li",
|
"li",
|
||||||
@@ -27,7 +26,6 @@
|
|||||||
"mark",
|
"mark",
|
||||||
"meta",
|
"meta",
|
||||||
"nav",
|
"nav",
|
||||||
"nil",
|
|
||||||
"noscript",
|
"noscript",
|
||||||
"ol",
|
"ol",
|
||||||
"p",
|
"p",
|
||||||
@@ -40,8 +38,14 @@
|
|||||||
"sub",
|
"sub",
|
||||||
"sup",
|
"sup",
|
||||||
"svg",
|
"svg",
|
||||||
|
"table",
|
||||||
|
"tbody",
|
||||||
|
"td",
|
||||||
|
"th",
|
||||||
|
"thead",
|
||||||
"time",
|
"time",
|
||||||
"title",
|
"title",
|
||||||
|
"tr",
|
||||||
"ul",
|
"ul",
|
||||||
"use"
|
"use"
|
||||||
],
|
],
|
||||||
@@ -58,6 +62,7 @@
|
|||||||
"alert-dismissible",
|
"alert-dismissible",
|
||||||
"align-items-center",
|
"align-items-center",
|
||||||
"align-items-end",
|
"align-items-end",
|
||||||
|
"align-items-start",
|
||||||
"align-middle",
|
"align-middle",
|
||||||
"align-self-center",
|
"align-self-center",
|
||||||
"align-self-end",
|
"align-self-end",
|
||||||
@@ -97,6 +102,7 @@
|
|||||||
"card-body",
|
"card-body",
|
||||||
"card-body-link",
|
"card-body-link",
|
||||||
"card-body-margin",
|
"card-body-margin",
|
||||||
|
"card-button",
|
||||||
"card-emphasize",
|
"card-emphasize",
|
||||||
"card-icon",
|
"card-icon",
|
||||||
"card-img-top",
|
"card-img-top",
|
||||||
@@ -272,6 +278,7 @@
|
|||||||
"ms-md-3",
|
"ms-md-3",
|
||||||
"mt-2",
|
"mt-2",
|
||||||
"mt-3",
|
"mt-3",
|
||||||
|
"mt-4",
|
||||||
"mt-5",
|
"mt-5",
|
||||||
"mt-auto",
|
"mt-auto",
|
||||||
"multi-docs-collapse-15",
|
"multi-docs-collapse-15",
|
||||||
@@ -326,12 +333,14 @@
|
|||||||
"ps-1",
|
"ps-1",
|
||||||
"ps-3",
|
"ps-3",
|
||||||
"ps-xl-3",
|
"ps-xl-3",
|
||||||
|
"pt-1",
|
||||||
"pt-5",
|
"pt-5",
|
||||||
"pt-md-3",
|
"pt-md-3",
|
||||||
"ptw-3",
|
"ptw-3",
|
||||||
"ptw-5",
|
"ptw-5",
|
||||||
"ptw-lg-5",
|
"ptw-lg-5",
|
||||||
"ptw-sm-4",
|
"ptw-sm-4",
|
||||||
|
"px-2",
|
||||||
"px-4",
|
"px-4",
|
||||||
"px-xxl-0",
|
"px-xxl-0",
|
||||||
"py-1",
|
"py-1",
|
||||||
@@ -374,6 +383,8 @@
|
|||||||
"syntax-highlight",
|
"syntax-highlight",
|
||||||
"tab-content",
|
"tab-content",
|
||||||
"tab-pane",
|
"tab-pane",
|
||||||
|
"table",
|
||||||
|
"table-responsive",
|
||||||
"tag-link",
|
"tag-link",
|
||||||
"text-bg-body",
|
"text-bg-body",
|
||||||
"text-bg-body-tertiary",
|
"text-bg-body-tertiary",
|
||||||
@@ -433,8 +444,7 @@
|
|||||||
"visually-hidden",
|
"visually-hidden",
|
||||||
"vr",
|
"vr",
|
||||||
"w-100",
|
"w-100",
|
||||||
"w-50",
|
"w-50"
|
||||||
"youtube-embedded"
|
|
||||||
],
|
],
|
||||||
"ids": [
|
"ids": [
|
||||||
"-theme",
|
"-theme",
|
||||||
@@ -520,6 +530,7 @@
|
|||||||
"spinner",
|
"spinner",
|
||||||
"sub",
|
"sub",
|
||||||
"sup",
|
"sup",
|
||||||
|
"table",
|
||||||
"timeline",
|
"timeline",
|
||||||
"toast",
|
"toast",
|
||||||
"toast-container",
|
"toast-container",
|
||||||
|
11
go.mod
11
go.mod
@@ -5,11 +5,12 @@ go 1.19
|
|||||||
require (
|
require (
|
||||||
github.com/airbnb/lottie-web v5.12.2+incompatible // indirect
|
github.com/airbnb/lottie-web v5.12.2+incompatible // indirect
|
||||||
github.com/gethinode/mod-bootstrap v1.2.2 // indirect
|
github.com/gethinode/mod-bootstrap v1.2.2 // indirect
|
||||||
github.com/gethinode/mod-flexsearch v1.7.1 // indirect
|
github.com/gethinode/mod-flexsearch v1.9.0 // indirect
|
||||||
github.com/gethinode/mod-fontawesome v1.7.3 // indirect
|
github.com/gethinode/mod-fontawesome v1.8.1 // indirect
|
||||||
github.com/gethinode/mod-katex v1.0.5 // indirect
|
github.com/gethinode/mod-katex v1.0.5 // indirect
|
||||||
github.com/gethinode/mod-leaflet v0.3.5 // indirect
|
github.com/gethinode/mod-leaflet v1.0.0 // indirect
|
||||||
github.com/gethinode/mod-lottie v1.3.0 // indirect
|
github.com/gethinode/mod-lottie v1.4.2 // indirect
|
||||||
github.com/nextapps-de/flexsearch v0.0.0-20230711092928-1243fd883ec3 // indirect
|
github.com/gethinode/mod-utils/v2 v2.0.3 // indirect
|
||||||
|
github.com/nextapps-de/flexsearch v0.0.0-20240110101704-4c3966709f85 // indirect
|
||||||
github.com/twbs/bootstrap v5.3.2+incompatible // indirect
|
github.com/twbs/bootstrap v5.3.2+incompatible // indirect
|
||||||
)
|
)
|
||||||
|
42
go.sum
42
go.sum
@@ -40,6 +40,12 @@ github.com/gethinode/mod-flexsearch v1.7.0 h1:VFTf6iUyT9b47jTDAxh8nVHU1eUBrdxlyk
|
|||||||
github.com/gethinode/mod-flexsearch v1.7.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
|
github.com/gethinode/mod-flexsearch v1.7.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
|
||||||
github.com/gethinode/mod-flexsearch v1.7.1 h1:f4rjKkhleDVzqwUmwP1xZdhjru5VQ9g0MRDz0G6oLyY=
|
github.com/gethinode/mod-flexsearch v1.7.1 h1:f4rjKkhleDVzqwUmwP1xZdhjru5VQ9g0MRDz0G6oLyY=
|
||||||
github.com/gethinode/mod-flexsearch v1.7.1/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
|
github.com/gethinode/mod-flexsearch v1.7.1/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
|
||||||
|
github.com/gethinode/mod-flexsearch v1.8.0 h1:rKu9ackmbGAD/CRJYUDUhy/3nDCEj0IgYDiL1bkwzDc=
|
||||||
|
github.com/gethinode/mod-flexsearch v1.8.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
|
||||||
|
github.com/gethinode/mod-flexsearch v1.8.1 h1:xwPvmmxd8Tdyxp8/rnd9KRGqIDtZs/YwAQJ1i9oQMiM=
|
||||||
|
github.com/gethinode/mod-flexsearch v1.8.1/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ=
|
||||||
|
github.com/gethinode/mod-flexsearch v1.9.0 h1:AE+w7QeZTxh36JNTG+CASDLxaqlCZKn+EUD6ulnPGak=
|
||||||
|
github.com/gethinode/mod-flexsearch v1.9.0/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ=
|
||||||
github.com/gethinode/mod-fontawesome v1.0.2 h1:ZSK6D20/w4y5GnfYfTBB58uHD0ChIfkpKfRGwioS9rg=
|
github.com/gethinode/mod-fontawesome v1.0.2 h1:ZSK6D20/w4y5GnfYfTBB58uHD0ChIfkpKfRGwioS9rg=
|
||||||
github.com/gethinode/mod-fontawesome v1.0.2/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
|
github.com/gethinode/mod-fontawesome v1.0.2/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
|
||||||
github.com/gethinode/mod-fontawesome v1.1.0 h1:rsDzUI+3ZlS/do2ff3ne8/z3KwHeysmuA+WsXlumXXk=
|
github.com/gethinode/mod-fontawesome v1.1.0 h1:rsDzUI+3ZlS/do2ff3ne8/z3KwHeysmuA+WsXlumXXk=
|
||||||
@@ -72,6 +78,10 @@ github.com/gethinode/mod-fontawesome v1.6.1 h1:iqOgDGdw7Bs4hnzjF/8JsUn10omyKQZTg
|
|||||||
github.com/gethinode/mod-fontawesome v1.6.1/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
|
github.com/gethinode/mod-fontawesome v1.6.1/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
|
||||||
github.com/gethinode/mod-fontawesome v1.7.3 h1:YzRCYSasVRIcImVmTJYjqNJ+KmyNWfm/bMgtM0slvzs=
|
github.com/gethinode/mod-fontawesome v1.7.3 h1:YzRCYSasVRIcImVmTJYjqNJ+KmyNWfm/bMgtM0slvzs=
|
||||||
github.com/gethinode/mod-fontawesome v1.7.3/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
|
github.com/gethinode/mod-fontawesome v1.7.3/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
|
||||||
|
github.com/gethinode/mod-fontawesome v1.8.0 h1:YEuCmvCdzcemF1eFK35Wnp1asKKO3/xbxGArnjq6PRY=
|
||||||
|
github.com/gethinode/mod-fontawesome v1.8.0/go.mod h1:uvuC2YL8mdXNp6NRzFOu4TWsHvtY9AZ8YxJkF23/M/8=
|
||||||
|
github.com/gethinode/mod-fontawesome v1.8.1 h1:iyvULrpaGizQoI5Vl9WjFYcMGWefdyG90NGK2UKax+k=
|
||||||
|
github.com/gethinode/mod-fontawesome v1.8.1/go.mod h1:xBKsZH3WJtMOItZVlp9SbO51uaBy6IbvUZSKpNu3b6Y=
|
||||||
github.com/gethinode/mod-katex v1.0.0 h1:me/3dIIZBkfk1mRIFt8QiAGYwYDoSG5bc2hHRtIutFc=
|
github.com/gethinode/mod-katex v1.0.0 h1:me/3dIIZBkfk1mRIFt8QiAGYwYDoSG5bc2hHRtIutFc=
|
||||||
github.com/gethinode/mod-katex v1.0.0/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
|
github.com/gethinode/mod-katex v1.0.0/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
|
||||||
github.com/gethinode/mod-katex v1.0.1 h1:809QUztxmKgMNchU+v03iMO7Ma+ISc3ZzhXYauc21rs=
|
github.com/gethinode/mod-katex v1.0.1 h1:809QUztxmKgMNchU+v03iMO7Ma+ISc3ZzhXYauc21rs=
|
||||||
@@ -94,6 +104,10 @@ github.com/gethinode/mod-leaflet v0.3.4 h1:oY+YQ0JiJuhFQNrk9XgFdg0NMsTUQPXNfnILp
|
|||||||
github.com/gethinode/mod-leaflet v0.3.4/go.mod h1:uGggt87x4Fw7wBoJpSiUvNkYg+s/Ujne7klAX2rxMRk=
|
github.com/gethinode/mod-leaflet v0.3.4/go.mod h1:uGggt87x4Fw7wBoJpSiUvNkYg+s/Ujne7klAX2rxMRk=
|
||||||
github.com/gethinode/mod-leaflet v0.3.5 h1:69Bv/6zRXhbcTzo7TMr58h3ry47srHRpM1k81LrLbYU=
|
github.com/gethinode/mod-leaflet v0.3.5 h1:69Bv/6zRXhbcTzo7TMr58h3ry47srHRpM1k81LrLbYU=
|
||||||
github.com/gethinode/mod-leaflet v0.3.5/go.mod h1:uGggt87x4Fw7wBoJpSiUvNkYg+s/Ujne7klAX2rxMRk=
|
github.com/gethinode/mod-leaflet v0.3.5/go.mod h1:uGggt87x4Fw7wBoJpSiUvNkYg+s/Ujne7klAX2rxMRk=
|
||||||
|
github.com/gethinode/mod-leaflet v0.4.0 h1:Xc6c1UTf4m1saQLFfFWT5sEpwj25xVGuS8csGC82UUI=
|
||||||
|
github.com/gethinode/mod-leaflet v0.4.0/go.mod h1:yr+bUKAstifdB16mbYh69OayAmgPOlNUubAmVn5eL2M=
|
||||||
|
github.com/gethinode/mod-leaflet v1.0.0 h1:HdnWafOGkkK1hYGfqLYF3pp9dAFS/caxlzML9sO1rCc=
|
||||||
|
github.com/gethinode/mod-leaflet v1.0.0/go.mod h1:Ei0x9WiL7Dbi4JeG6yI1CE63bT1QJ8sKi67Jea1wFSE=
|
||||||
github.com/gethinode/mod-lottie v1.0.0 h1:1CUZMcgN5FAyjjyuP3qkaOQ6M5sv6HUAbosW4sIT5VE=
|
github.com/gethinode/mod-lottie v1.0.0 h1:1CUZMcgN5FAyjjyuP3qkaOQ6M5sv6HUAbosW4sIT5VE=
|
||||||
github.com/gethinode/mod-lottie v1.0.0/go.mod h1:erRCgSL2FCfKHI0jQbSpM+g0jXl7SjKVJrh7kWGteKs=
|
github.com/gethinode/mod-lottie v1.0.0/go.mod h1:erRCgSL2FCfKHI0jQbSpM+g0jXl7SjKVJrh7kWGteKs=
|
||||||
github.com/gethinode/mod-lottie v1.0.1 h1:+IE7xtnSVQpJS56oBJq9RWKZeFEfxrOZAqE3BSrS/u0=
|
github.com/gethinode/mod-lottie v1.0.1 h1:+IE7xtnSVQpJS56oBJq9RWKZeFEfxrOZAqE3BSrS/u0=
|
||||||
@@ -106,7 +120,35 @@ github.com/gethinode/mod-lottie v1.2.0 h1:9S0Y4PlEO66dIvFxayatmDEf8WWxqbLNLi4z56
|
|||||||
github.com/gethinode/mod-lottie v1.2.0/go.mod h1:erRCgSL2FCfKHI0jQbSpM+g0jXl7SjKVJrh7kWGteKs=
|
github.com/gethinode/mod-lottie v1.2.0/go.mod h1:erRCgSL2FCfKHI0jQbSpM+g0jXl7SjKVJrh7kWGteKs=
|
||||||
github.com/gethinode/mod-lottie v1.3.0 h1:vQ8CXkjdp2IeFskTzu+ZnKOEio8GtN08urVK+oCH81E=
|
github.com/gethinode/mod-lottie v1.3.0 h1:vQ8CXkjdp2IeFskTzu+ZnKOEio8GtN08urVK+oCH81E=
|
||||||
github.com/gethinode/mod-lottie v1.3.0/go.mod h1:erRCgSL2FCfKHI0jQbSpM+g0jXl7SjKVJrh7kWGteKs=
|
github.com/gethinode/mod-lottie v1.3.0/go.mod h1:erRCgSL2FCfKHI0jQbSpM+g0jXl7SjKVJrh7kWGteKs=
|
||||||
|
github.com/gethinode/mod-lottie v1.4.0 h1:0Ls1Q/8p0gQpuX9+dtfNGKcjBNeymjE7gERdnN3lCCE=
|
||||||
|
github.com/gethinode/mod-lottie v1.4.0/go.mod h1:57eu6glS5oxkew2dB1P2zsbhw444aRX0XfuyDe7k/dk=
|
||||||
|
github.com/gethinode/mod-lottie v1.4.1 h1:RzCjYsxFPqyBsYAcdPeUP0rvF+hD9eEl7NrxuaRiKQQ=
|
||||||
|
github.com/gethinode/mod-lottie v1.4.1/go.mod h1:QjKlEmYbekrNGwa9EdFlPcXxwWWcraJUQ6xIL+syA60=
|
||||||
|
github.com/gethinode/mod-lottie v1.4.2 h1:rHBhbMVRlkVMxVY+3g1u2kolDv695uL8Zur4mDeoIO8=
|
||||||
|
github.com/gethinode/mod-lottie v1.4.2/go.mod h1:H6y1e3/2bBR1ujuM5N1iY39kpyN3RtcSRahX90+tlQI=
|
||||||
|
github.com/gethinode/mod-utils v1.0.0 h1:cqHm2xS5uDiJzRm1KfHaNbq6uMVDKLhQa8/BuTZ1nhY=
|
||||||
|
github.com/gethinode/mod-utils v1.0.0/go.mod h1:ONJm3pHCq7nvaPNjusLZNCeCbhOhSBH4HVKHwK1FdYE=
|
||||||
|
github.com/gethinode/mod-utils v1.0.1 h1:jhZGlGFHHL1f5HXbBMXfiZ2gCz4TVafAzjnRPTIBSEE=
|
||||||
|
github.com/gethinode/mod-utils v1.0.1/go.mod h1:ONJm3pHCq7nvaPNjusLZNCeCbhOhSBH4HVKHwK1FdYE=
|
||||||
|
github.com/gethinode/mod-utils v1.0.2 h1:0b3i+/bBHY1Td9N6khDbL1nf3d5HGc4QzI4BbEWHoU4=
|
||||||
|
github.com/gethinode/mod-utils v1.0.2/go.mod h1:ONJm3pHCq7nvaPNjusLZNCeCbhOhSBH4HVKHwK1FdYE=
|
||||||
|
github.com/gethinode/mod-utils v1.0.3 h1:FF6lnam0Bcdj7G1E5P+qi5ByPrl1npL+3uS5YoPx1C0=
|
||||||
|
github.com/gethinode/mod-utils v1.0.3/go.mod h1:ONJm3pHCq7nvaPNjusLZNCeCbhOhSBH4HVKHwK1FdYE=
|
||||||
|
github.com/gethinode/mod-utils v1.0.4 h1:Lr7hAVaWHv0O5TJXhRHGhvlOvWwIATJm9mpLQhCsopM=
|
||||||
|
github.com/gethinode/mod-utils v1.0.4/go.mod h1:ONJm3pHCq7nvaPNjusLZNCeCbhOhSBH4HVKHwK1FdYE=
|
||||||
|
github.com/gethinode/mod-utils v1.1.0 h1:a82h/DQTKc5hxf/ExDoZqJCJmVLT0dtyU8tf78yOPFw=
|
||||||
|
github.com/gethinode/mod-utils v1.1.0/go.mod h1:ONJm3pHCq7nvaPNjusLZNCeCbhOhSBH4HVKHwK1FdYE=
|
||||||
|
github.com/gethinode/mod-utils/v2 v2.0.1 h1:yy8Qaytrk55YNMzyldYKDWJr6mpQs7s7TWBkSYRMBng=
|
||||||
|
github.com/gethinode/mod-utils/v2 v2.0.1/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
|
||||||
|
github.com/gethinode/mod-utils/v2 v2.0.2 h1:pocFT/mWPcfmABltZwe76D1IB3TZIrD1k1kH9zCDO1M=
|
||||||
|
github.com/gethinode/mod-utils/v2 v2.0.2/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
|
||||||
|
github.com/gethinode/mod-utils/v2 v2.0.3 h1:4BsRNGi+0a3Mq021Gq/TwDNiyuIfZ8xnpYU0DkNbUYI=
|
||||||
|
github.com/gethinode/mod-utils/v2 v2.0.3/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
|
||||||
github.com/nextapps-de/flexsearch v0.0.0-20230711092928-1243fd883ec3 h1:H/qVR5O4BXjRjD+5PZB+r4ug2BSJ2Of4RtwOntd+OKo=
|
github.com/nextapps-de/flexsearch v0.0.0-20230711092928-1243fd883ec3 h1:H/qVR5O4BXjRjD+5PZB+r4ug2BSJ2Of4RtwOntd+OKo=
|
||||||
github.com/nextapps-de/flexsearch v0.0.0-20230711092928-1243fd883ec3/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
|
github.com/nextapps-de/flexsearch v0.0.0-20230711092928-1243fd883ec3/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
|
||||||
|
github.com/nextapps-de/flexsearch v0.0.0-20240108021025-afd75f742f22 h1:re7L8FxbXQpnX8BgzkdUnDpsUmloGNyLmiy2ZCln8pg=
|
||||||
|
github.com/nextapps-de/flexsearch v0.0.0-20240108021025-afd75f742f22/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
|
||||||
|
github.com/nextapps-de/flexsearch v0.0.0-20240110101704-4c3966709f85 h1:H6xa5YyCHr78M+qqCApM4Kvz/eMA7pfGskYmfkEBRCA=
|
||||||
|
github.com/nextapps-de/flexsearch v0.0.0-20240110101704-4c3966709f85/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
|
||||||
github.com/twbs/bootstrap v5.3.2+incompatible h1:tuiO5acc6xnZUR77Sbi5aKWXxjYxbmsSbJwYrhAKoQQ=
|
github.com/twbs/bootstrap v5.3.2+incompatible h1:tuiO5acc6xnZUR77Sbi5aKWXxjYxbmsSbJwYrhAKoQQ=
|
||||||
github.com/twbs/bootstrap v5.3.2+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0=
|
github.com/twbs/bootstrap v5.3.2+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0=
|
||||||
|
@@ -29,6 +29,8 @@
|
|||||||
translation: "No articles found"
|
translation: "No articles found"
|
||||||
- id: emptyTags
|
- id: emptyTags
|
||||||
translation: "No tags found"
|
translation: "No tags found"
|
||||||
|
- id: readMore
|
||||||
|
translation: "Read more"
|
||||||
|
|
||||||
# Languages
|
# Languages
|
||||||
- id: lang_de
|
- id: lang_de
|
||||||
|
10
i18n/fr.yaml
10
i18n/fr.yaml
@@ -136,14 +136,14 @@
|
|||||||
|
|
||||||
# Arguments
|
# Arguments
|
||||||
- id: name
|
- id: name
|
||||||
translation: "Name"
|
translation: "Nom"
|
||||||
- id: type
|
- id: type
|
||||||
translation: "Type"
|
translation: "Type"
|
||||||
- id: required
|
- id: required
|
||||||
translation: "Required"
|
translation: "Requis"
|
||||||
- id: default
|
- id: default
|
||||||
translation: "Default"
|
translation: "Défaut"
|
||||||
- id: comment
|
- id: comment
|
||||||
translation: "Comment"
|
translation: "Commentaire"
|
||||||
- id: supportedValues
|
- id: supportedValues
|
||||||
translation: "Supported values"
|
translation: "Valeurs supportées"
|
||||||
|
@@ -27,6 +27,8 @@
|
|||||||
translation: "Geen artikelen gevonden"
|
translation: "Geen artikelen gevonden"
|
||||||
- id: emptyTags
|
- id: emptyTags
|
||||||
translation: "Geen tags gevonden"
|
translation: "Geen tags gevonden"
|
||||||
|
- id: readMore
|
||||||
|
translation: "Lees meer"
|
||||||
|
|
||||||
# Languages
|
# Languages
|
||||||
- id: lang_de
|
- id: lang_de
|
||||||
|
@@ -1,31 +1,3 @@
|
|||||||
{{- define "partials/optional-scripts.html" -}}
|
|
||||||
{{ $page_modules := slice }}
|
|
||||||
{{ if reflect.IsMap .Params.modules }}
|
|
||||||
{{ $page_modules = .Params.modules }}
|
|
||||||
{{ else }}
|
|
||||||
{{ $page_modules = $page_modules | append .Params.modules }}
|
|
||||||
{{ end }}
|
|
||||||
|
|
||||||
{{- $modules := site.Params.modules.optional | intersect $page_modules -}}
|
|
||||||
{{- range $index, $mod := $modules -}}
|
|
||||||
{{- $filename := printf "js/%s.bundle.js" $mod -}}
|
|
||||||
{{- $match := printf "js/modules/%s/**.js" $mod -}}
|
|
||||||
{{- $skipTemplate := false -}}
|
|
||||||
{{- if reflect.IsSlice site.Params.modules.disableTemplate -}}
|
|
||||||
{{- if in site.Params.modules.disableTemplate $mod}}
|
|
||||||
{{- $skipTemplate = true -}}
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{ $state := "" }}
|
|
||||||
{{- with (index site.Params.modules $mod) -}}
|
|
||||||
{{- with index . "state" }}{{ $state = . }}{{ end -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- partial "footer/scripts.html" (dict "filename" $filename "match" $match "header" false "skipTemplate" $skipTemplate "state" $state "page" .) }}
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- /* Set version-aware sidebar menu */ -}}
|
{{- /* Set version-aware sidebar menu */ -}}
|
||||||
{{- $version := partial "utilities/GetVersion.html" (dict "page" . "base" true) -}}
|
{{- $version := partial "utilities/GetVersion.html" (dict "page" . "base" true) -}}
|
||||||
{{- $.Scratch.Set "version" $version -}}
|
{{- $.Scratch.Set "version" $version -}}
|
||||||
@@ -70,7 +42,9 @@
|
|||||||
<div class="d-flex flex-column {{ if $fullCover }} fullscreen{{ end }}{{ if .IsHome }} {{ .Site.Params.home.style }}{{ end }}">
|
<div class="d-flex flex-column {{ if $fullCover }} fullscreen{{ end }}{{ if .IsHome }} {{ .Site.Params.home.style }}{{ end }}">
|
||||||
{{- partial "assets/navbar.html" (dict
|
{{- partial "assets/navbar.html" (dict
|
||||||
"page" .
|
"page" .
|
||||||
"fixed" (string site.Params.navigation.fixed)
|
"fixed" site.Params.navigation.fixed
|
||||||
|
"overlay" site.Params.navigation.overlay
|
||||||
|
"overlayMode" site.Params.navigation.overlayMode
|
||||||
"color" site.Params.navigation.color
|
"color" site.Params.navigation.color
|
||||||
"style" (default "light" site.Params.navigation.style)
|
"style" (default "light" site.Params.navigation.style)
|
||||||
"size" (default "md" site.Params.navigation.size))
|
"size" (default "md" site.Params.navigation.size))
|
||||||
@@ -97,6 +71,6 @@
|
|||||||
|
|
||||||
{{- partial "footer/toast-container.html" . -}}
|
{{- partial "footer/toast-container.html" . -}}
|
||||||
{{- partialCached "footer/scripts.html" (dict "header" false "page" . "core" true) }}
|
{{- partialCached "footer/scripts.html" (dict "header" false "page" . "core" true) }}
|
||||||
{{- partial "partials/optional-scripts.html" . -}}
|
{{- partial "footer/optional-scripts.html" . -}}
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@@ -9,7 +9,7 @@
|
|||||||
{{ with .Title }}<p id="{{ anchorize . }}" class="display-4 mt-5{{ if and $.IsHome site.Params.home.centerHeadline }} text-center{{ end }}">{{ . }}</p>{{ end }}
|
{{ with .Title }}<p id="{{ anchorize . }}" class="display-4 mt-5{{ if and $.IsHome site.Params.home.centerHeadline }} text-center{{ end }}">{{ . }}</p>{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ if (.Params.menu) }}
|
{{ if (.Params.menu) }}
|
||||||
{{- partial "assets/section-menu.html" . -}}
|
{{- partial "assets/section-menu.html" (dict "page" .) -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- $loading := "" -}}
|
{{- $loading := "" -}}
|
||||||
{{- if or (eq $layout "featured") .IsHome -}}
|
{{- if or (eq $layout "featured") .IsHome -}}
|
||||||
|
@@ -1,33 +1,9 @@
|
|||||||
{{- define "partials/single-main.html" -}}
|
|
||||||
{{- $breakpoint := $.Scratch.Get "breakpoint" -}}
|
|
||||||
{{ if .Site.Params.navigation.breadcrumb }}{{ partial "assets/breadcrumb.html" (dict "page" .) }}{{ end -}}
|
|
||||||
|
|
||||||
{{ .Render "single/header" }}
|
|
||||||
|
|
||||||
{{- if and .Site.Params.navigation.toc .Params.includeToc | default true -}}
|
|
||||||
<div class="d-{{ $breakpoint.current }}-none pb-5">{{ partial "assets/toc-dropdown.html" . }}</div>
|
|
||||||
{{- end -}}
|
|
||||||
{{ .Render "single/body" }}
|
|
||||||
|
|
||||||
{{ .Render "single/footer" }}
|
|
||||||
{{- if and .Site.Params.comments.enabled .Params.showComments | default true -}}
|
|
||||||
<hr>
|
|
||||||
{{ partial "assets/comments.html" . }}
|
|
||||||
{{ end -}}
|
|
||||||
{{ end -}}
|
|
||||||
|
|
||||||
{{ define "main" -}}
|
{{ define "main" -}}
|
||||||
{{- $menu := .Scratch.Get "sidebar" -}}
|
|
||||||
{{- $version := .Scratch.Get "version" -}}
|
|
||||||
{{- $breakpoint := $.Scratch.Get "breakpoint" -}}
|
{{- $breakpoint := $.Scratch.Get "breakpoint" -}}
|
||||||
|
{{ $sidebar := .Render "single/sidebar" }}
|
||||||
{{ $sidebar := "" }}
|
|
||||||
{{- $hasSidebar := .Site.Params.navigation.sidebar | default true -}}
|
|
||||||
{{ if and $menu $hasSidebar }}{{ $sidebar = partial "assets/sidebar.html" (dict "page" . "menu" $menu "version" $version) }}{{ end }}
|
|
||||||
|
|
||||||
{{ $toc := .Render "single/panel-toc" }}
|
{{ $toc := .Render "single/panel-toc" }}
|
||||||
|
|
||||||
{{ with $sidebar -}}
|
{{ with $sidebar }}
|
||||||
<div class="offcanvas offcanvas-start" tabindex="-1" id="offcanvass-sidebar" aria-inledby="offcanvas-label">
|
<div class="offcanvas offcanvas-start" tabindex="-1" id="offcanvass-sidebar" aria-inledby="offcanvas-label">
|
||||||
<div class="offcanvas-header">
|
<div class="offcanvas-header">
|
||||||
<h5 class="offcanvas-title" id="offcanvas-label">{{ strings.FirstUpper $.Section }}</h5>
|
<h5 class="offcanvas-title" id="offcanvas-label">{{ strings.FirstUpper $.Section }}</h5>
|
||||||
@@ -40,13 +16,13 @@
|
|||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
<div class="container-xxl flex-fill p-4 px-xxl-0">
|
<div class="container-xxl flex-fill p-4 px-xxl-0">
|
||||||
{{ if $hasSidebar -}}
|
{{ if $sidebar -}}
|
||||||
<div class="row row-cols-1 row-cols-{{ $breakpoint.current }}-2 row-cols-{{ $breakpoint.next }}-3">
|
<div class="row row-cols-1 row-cols-{{ $breakpoint.current }}-2 row-cols-{{ $breakpoint.next }}-3">
|
||||||
<div class="col col-{{ $breakpoint.next }}-2 d-none d-{{ $breakpoint.next }}-block sidebar-overflow sticky-top pt-5">
|
<div class="col col-{{ $breakpoint.next }}-2 d-none d-{{ $breakpoint.next }}-block sidebar-overflow sticky-top pt-5">
|
||||||
{{ $sidebar | safeHTML }}
|
{{ $sidebar | safeHTML }}
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12 col-{{ $breakpoint.current }}-9 col-{{ $breakpoint.next }}-8 mb-5 p-4">
|
<div class="col-12 col-{{ $breakpoint.current }}-9 col-{{ $breakpoint.next }}-8 mb-5 p-4">
|
||||||
{{ partial "partials/single-main.html" . }}
|
{{ .Render "single/main" }}
|
||||||
</div>
|
</div>
|
||||||
<div class="col col-{{ $breakpoint.current }}-3 col-{{ $breakpoint.next }}-2 d-none d-{{ $breakpoint.current }}-block pt-5">
|
<div class="col col-{{ $breakpoint.current }}-3 col-{{ $breakpoint.next }}-2 d-none d-{{ $breakpoint.current }}-block pt-5">
|
||||||
{{ $toc | safeHTML }}
|
{{ $toc | safeHTML }}
|
||||||
@@ -55,7 +31,7 @@
|
|||||||
{{ else }}
|
{{ else }}
|
||||||
<div class="row row-cols-1 row-cols-{{ $breakpoint.current }}-2">
|
<div class="row row-cols-1 row-cols-{{ $breakpoint.current }}-2">
|
||||||
<div class="col col-{{ $breakpoint.prev }}-12 col-{{ $breakpoint.current }}-9">
|
<div class="col col-{{ $breakpoint.prev }}-12 col-{{ $breakpoint.current }}-9">
|
||||||
{{ partial "partials/single-main.html" . }}
|
{{ .Render "single/main" }}
|
||||||
</div>
|
</div>
|
||||||
<div class="col col-{{ $breakpoint.current }}-3 d-none d-{{ $breakpoint.current }}-block">
|
<div class="col col-{{ $breakpoint.current }}-3 d-none d-{{ $breakpoint.current }}-block">
|
||||||
{{ $toc | safeHTML }}
|
{{ $toc | safeHTML }}
|
||||||
|
@@ -48,5 +48,5 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{ partial "assets/sharing.html" . }}
|
{{ partial "assets/sharing.html" (dict "page" .) }}
|
||||||
<p class="lead mb-5 mt-3">{{ .Description }}</p>
|
<p class="lead mb-5 mt-3">{{ .Description }}</p>
|
||||||
|
11
layouts/_default/single/main.html
Normal file
11
layouts/_default/single/main.html
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{{- $breakpoint := $.Scratch.Get "breakpoint" -}}
|
||||||
|
{{ if .Site.Params.navigation.breadcrumb }}{{ partial "assets/breadcrumb.html" (dict "page" .) }}{{ end -}}
|
||||||
|
|
||||||
|
{{ .Render "single/header" }}
|
||||||
|
|
||||||
|
{{- if and .Site.Params.navigation.toc .Params.includeToc | default true -}}
|
||||||
|
<div class="d-{{ $breakpoint.current }}-none pb-5">{{ partial "assets/toc-dropdown.html" (dict "page" .) }}</div>
|
||||||
|
{{- end -}}
|
||||||
|
{{ .Render "single/body" }}
|
||||||
|
|
||||||
|
{{ .Render "single/footer" }}
|
@@ -37,6 +37,6 @@
|
|||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ if $toc }}
|
{{ if $toc }}
|
||||||
{{ partial "assets/toc.html" (dict "page" . "download" $download) }}
|
{{ partial "assets/toc.html" (dict "page" .) }}
|
||||||
{{ end -}}
|
{{ end -}}
|
||||||
</div>
|
</div>
|
||||||
|
7
layouts/_default/single/sidebar.html
Normal file
7
layouts/_default/single/sidebar.html
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{{- $menu := .Scratch.Get "sidebar" -}}
|
||||||
|
{{- $version := .Scratch.Get "version" -}}
|
||||||
|
{{ $sidebar := "" }}
|
||||||
|
{{- $hasSidebar := .Site.Params.navigation.sidebar | default true -}}
|
||||||
|
{{ if and $menu $hasSidebar }}
|
||||||
|
{{ partial "assets/sidebar.html" (dict "page" . "menu" $menu "version" $version) }}
|
||||||
|
{{ end }}
|
@@ -1,3 +1,3 @@
|
|||||||
{{ with .Title }}<p class="display-4 mt-5">{{ . }}</p>{{ end }}
|
{{ with .Title }}<p class="display-4 mt-5">{{ . }}</p>{{ end }}
|
||||||
{{ partial "assets/sharing.html" . }}
|
{{ partial "assets/sharing.html" (dict "page" .) }}
|
||||||
<p class="lead mb-5">{{ .Description }}</p>
|
<p class="lead mb-5">{{ .Description }}</p>
|
||||||
|
@@ -1,3 +1,3 @@
|
|||||||
{{ with .Title }}<p class="display-4 mt-5">{{ . }}</p>{{ end }}
|
{{ with .Title }}<p class="display-4 mt-5">{{ . }}</p>{{ end }}
|
||||||
{{ partial "assets/sharing.html" . }}
|
{{ partial "assets/sharing.html" (dict "page" .) }}
|
||||||
<p class="lead mb-5">{{ .Description }}</p>
|
<p class="lead mb-5">{{ .Description }}</p>
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
Copyright © 2023 The Hinode Team / Mark Dumay. All rights reserved.
|
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||||
Visit gethinode.com/license for more details.
|
Visit gethinode.com/license for more details.
|
||||||
-->
|
-->
|
||||||
@@ -16,6 +16,7 @@
|
|||||||
{{ $page := .page }}
|
{{ $page := .page }}
|
||||||
|
|
||||||
<!-- Main code -->
|
<!-- Main code -->
|
||||||
|
{{ if not $error }}
|
||||||
<nav aria-label="breadcrumb">
|
<nav aria-label="breadcrumb">
|
||||||
<ol class="breadcrumb">
|
<ol class="breadcrumb">
|
||||||
{{- range $index, $item := $page.Ancestors.Reverse -}}
|
{{- range $index, $item := $page.Ancestors.Reverse -}}
|
||||||
@@ -31,3 +32,4 @@
|
|||||||
<li class="breadcrumb-item active" aria-current="page">{{ $page.LinkTitle }}</li>
|
<li class="breadcrumb-item active" aria-current="page">{{ $page.LinkTitle }}</li>
|
||||||
</ol>
|
</ol>
|
||||||
</nav>
|
</nav>
|
||||||
|
{{ end }}
|
@@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
Copyright © 2023 The Hinode Team / Mark Dumay. All rights reserved.
|
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||||
Visit gethinode.com/license for more details.
|
Visit gethinode.com/license for more details.
|
||||||
-->
|
-->
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
Copyright © 2023 The Hinode Team / Mark Dumay. All rights reserved.
|
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||||
Visit gethinode.com/license for more details.
|
Visit gethinode.com/license for more details.
|
||||||
-->
|
-->
|
||||||
@@ -27,16 +27,22 @@
|
|||||||
{{- $orientation := .orientation -}}
|
{{- $orientation := .orientation -}}
|
||||||
{{- $ratio := .ratio -}}
|
{{- $ratio := .ratio -}}
|
||||||
{{- $wrapper := .wrapper | default "p-0" -}}
|
{{- $wrapper := .wrapper | default "p-0" -}}
|
||||||
|
{{- $style := .style -}}
|
||||||
|
{{- $align := .align -}}
|
||||||
|
{{- $subtle := .subtle }}
|
||||||
{{- $loading := .loading -}}
|
{{- $loading := .loading -}}
|
||||||
|
{{- $button := .button -}}
|
||||||
|
|
||||||
<!-- Override arguments -->
|
<!-- Override arguments -->
|
||||||
|
{{ $isPages := in (slice "page.Pages" "resource.Resources") (printf "%T" $pages) }}
|
||||||
{{ $paginator := "" }}
|
{{ $paginator := "" }}
|
||||||
{{ if $paginate }}
|
{{ if and $isPages $paginate }}
|
||||||
{{ $paginator = $page.Paginate $pages }}
|
{{ $paginator = $page.Paginate $pages }}
|
||||||
{{ $pages = first $paginator.PageSize (after (mul (sub $paginator.PageNumber 1) $paginator.PageSize) $pages) }}
|
{{ $pages = first $paginator.PageSize (after (mul (sub $paginator.PageNumber 1) $paginator.PageSize) $pages) }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ $list := slice }}
|
{{ $list := slice }}
|
||||||
|
{{ if $isPages }}
|
||||||
{{ range $index, $element := $pages }}
|
{{ range $index, $element := $pages }}
|
||||||
{{ $params := dict }}
|
{{ $params := dict }}
|
||||||
<!-- regular page -->
|
<!-- regular page -->
|
||||||
@@ -48,7 +54,7 @@
|
|||||||
{{- $params = merge $params (dict
|
{{- $params = merge $params (dict
|
||||||
"title" $element.Title
|
"title" $element.Title
|
||||||
"href" $element.RelPermalink
|
"href" $element.RelPermalink
|
||||||
"description" (partial "utilities/GetDescription.html" $element)
|
"description" (partial "utilities/GetDescription.html" (dict "page" $element "raw" true))
|
||||||
"thumbnail" $thumbnail
|
"thumbnail" $thumbnail
|
||||||
"icon" $element.Params.icon
|
"icon" $element.Params.icon
|
||||||
) -}}
|
) -}}
|
||||||
@@ -56,6 +62,9 @@
|
|||||||
|
|
||||||
{{- $list = $list | append $params }}
|
{{- $list = $list | append $params }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
{{ else if $pages }}
|
||||||
|
{{ $list = $list | append $pages }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
{{- $count := len $list -}}
|
{{- $count := len $list -}}
|
||||||
{{- $max := $count -}}
|
{{- $max := $count -}}
|
||||||
@@ -84,12 +93,16 @@
|
|||||||
{{- $params := (dict
|
{{- $params := (dict
|
||||||
"class" (printf "h-100 %s" $class)
|
"class" (printf "h-100 %s" $class)
|
||||||
"color" $color
|
"color" $color
|
||||||
"padding" $padding
|
|
||||||
"header" $header
|
|
||||||
"footer" $footer
|
"footer" $footer
|
||||||
"orientation" $orientation
|
"header" $header
|
||||||
"ratio" $ratio
|
|
||||||
"loading" $loading
|
"loading" $loading
|
||||||
|
"orientation" $orientation
|
||||||
|
"padding" $padding
|
||||||
|
"ratio" $ratio
|
||||||
|
"subtle" $subtle
|
||||||
|
"style" $style
|
||||||
|
"align" $align
|
||||||
|
"button" $button
|
||||||
) -}}
|
) -}}
|
||||||
{{- $params = merge $params $element }}
|
{{- $params = merge $params $element }}
|
||||||
|
|
||||||
@@ -102,7 +115,7 @@
|
|||||||
</div>
|
</div>
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- print $cards | safeHTML }}
|
{{if $cards }}{{- print $cards | safeHTML }}{{ end }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{ if $paginate }}
|
{{ if $paginate }}
|
||||||
@@ -111,7 +124,7 @@
|
|||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{ else }}
|
{{ else }}
|
||||||
{{ if and (gt $count $max) $moreTitle }}
|
{{ if and (gt $count $max) $moreTitle }}
|
||||||
<a class="btn btn-outline-primary" href="{{ $moreURL| safeURL }}" role="button">{{ $moreTitle }}</a>
|
<a class="btn btn-outline-primary mt-4" href="{{ $moreURL| safeURL }}" role="button">{{ $moreTitle }}</a>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</div>
|
</div>
|
@@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
Copyright © 2023 The Hinode Team / Mark Dumay. All rights reserved.
|
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||||
Visit gethinode.com/license for more details.
|
Visit gethinode.com/license for more details.
|
||||||
-->
|
-->
|
||||||
@@ -19,12 +19,25 @@
|
|||||||
{{- $header := .header | default "full" -}}
|
{{- $header := .header | default "full" -}}
|
||||||
{{- $href := .href -}}
|
{{- $href := .href -}}
|
||||||
{{- $icon := .icon -}}
|
{{- $icon := .icon -}}
|
||||||
|
{{- $iconStyle := "" -}}
|
||||||
|
{{- $align := .align | default "start" -}}
|
||||||
|
{{- $style := .style | default "" -}}
|
||||||
{{- $loading := .loading -}}
|
{{- $loading := .loading -}}
|
||||||
{{- $orientation := .orientation | default "stacked" -}}
|
{{- $orientation := .orientation | default "stacked" -}}
|
||||||
{{- $padding := .padding | default "auto" -}}
|
{{- $padding := (string .padding) | default "auto" -}}
|
||||||
{{- $ratio := .ratio -}}
|
{{- $ratio := .ratio -}}
|
||||||
{{- $thumbnail := .thumbnail -}}
|
{{- $thumbnail := .thumbnail -}}
|
||||||
{{- $title := .title -}}
|
{{- $title := .title -}}
|
||||||
|
{{- $subtle := .subtle -}}
|
||||||
|
{{- $button := .button -}}
|
||||||
|
{{- $colorStyle := "" -}}
|
||||||
|
{{ if $color }}
|
||||||
|
{{ if $subtle }}
|
||||||
|
{{- $colorStyle = printf "bg-%s-subtle text-%s-emphasis" $color $color -}}
|
||||||
|
{{ else }}
|
||||||
|
{{- $colorStyle = printf "bg-%s text-bg-%s" $color $color -}}
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
<!-- Override arguments -->
|
<!-- Override arguments -->
|
||||||
{{- $page := "" }}
|
{{- $page := "" }}
|
||||||
@@ -37,11 +50,18 @@
|
|||||||
{{- with $page -}}
|
{{- with $page -}}
|
||||||
{{- if not $title }}{{ $title = .Title }}{{ end -}}
|
{{- if not $title }}{{ $title = .Title }}{{ end -}}
|
||||||
{{- if not $href }}{{ $href = .RelPermalink }}{{ end -}}
|
{{- if not $href }}{{ $href = .RelPermalink }}{{ end -}}
|
||||||
{{- if not $description }}{{ $description = partial "utilities/GetDescription.html" . }}{{ end -}}
|
{{- if not $description }}{{ $description = partial "utilities/GetDescription.html" (dict "page" .) }}{{ end -}}
|
||||||
{{- if not $thumbnail }}{{ $thumbnail = (or (and (reflect.IsMap .Params.Thumbnail) .Params.Thumbnail.url) .Params.Thumbnail) }}{{ end -}}
|
{{- if not $thumbnail }}{{ $thumbnail = (or (and (reflect.IsMap .Params.Thumbnail) .Params.Thumbnail.url) .Params.Thumbnail) }}{{ end -}}
|
||||||
{{- if not $icon }}{{ $icon = .Params.icon }}{{ end -}}
|
{{- if not $icon }}{{ $icon = .Params.icon }}{{ end -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
|
{{ if (hasPrefix $orientation "horizontal") }}
|
||||||
|
{{ if not $style }}{{ $style = "fa-fluid fa-fw" }}{{ end }}
|
||||||
|
{{ else }}
|
||||||
|
{{ if not $style }}{{ $style = "fa-4x" }}{{ end }}
|
||||||
|
{{- $iconStyle = "pb-3" -}}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
{{- if eq $orientation "none" }}{{ $thumbnail = "" }}{{ $icon = "" }}{{ end -}}
|
{{- if eq $orientation "none" }}{{ $thumbnail = "" }}{{ $icon = "" }}{{ end -}}
|
||||||
|
|
||||||
<!-- Inline partial to render the card's body -->
|
<!-- Inline partial to render the card's body -->
|
||||||
@@ -50,6 +70,7 @@
|
|||||||
{{- $href := .href -}}
|
{{- $href := .href -}}
|
||||||
{{- $color := .color -}}
|
{{- $color := .color -}}
|
||||||
{{- $description := .description -}}
|
{{- $description := .description -}}
|
||||||
|
{{- $button := .button -}}
|
||||||
|
|
||||||
{{- if $href -}}
|
{{- if $href -}}
|
||||||
<a href="{{ $href }}" class="{{ if $color }}link-bg-{{ $color }}{{ else }}card-body-link{{ end }} stretched-link">
|
<a href="{{ $href }}" class="{{ if $color }}link-bg-{{ $color }}{{ else }}card-body-link{{ end }} stretched-link">
|
||||||
@@ -100,36 +121,39 @@
|
|||||||
|
|
||||||
{{- if hasPrefix $orientation "horizontal" -}}
|
{{- if hasPrefix $orientation "horizontal" -}}
|
||||||
<!-- Render horizontal card -->
|
<!-- Render horizontal card -->
|
||||||
<div class="card {{ with $color }}bg-{{ . }} text-bg-{{ . }}{{ end }} {{ $class }}">
|
<div class="card {{ $colorStyle }} {{ $class }}">
|
||||||
<div class="row g-0 row-cols-1 h-100">
|
<div class="row g-0 row-cols-1 h-100{{ if $button }} pb-5{{ end }}">
|
||||||
<div class="col-4{{ if eq $orientation "horizontal-sm" }} col-md-2{{ end }}">
|
<div class="{{ if eq $orientation "horizontal-sm" }}col-4 col-md-2{{ else }}col-4{{ end }}">
|
||||||
{{- if $thumbnail -}}
|
{{- if $thumbnail -}}
|
||||||
{{- partial "assets/image.html" (dict "url" $thumbnail "ratio" (or $ratio "1x1") "wrapper" "h-100 card-img-wrap" "class" "rounded-start card-img-h100" "title" $title "loading" $loading) -}}
|
{{- partial "assets/image.html" (dict "url" $thumbnail "ratio" (or $ratio "1x1") "wrapper" "h-100 card-img-wrap" "class" "rounded-start card-img-h100" "title" $title "loading" $loading) -}}
|
||||||
{{- else if $icon -}}
|
{{- else if $icon -}}
|
||||||
<div class="card-icon p-{{ $padding }} h-100 fa-wrapper d-flex align-items-center justify-content-center">
|
<div class="card-icon p-{{ $padding }} h-100 fa-wrapper d-flex align-items-{{ $align}} justify-content-center {{ $iconStyle }}">
|
||||||
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-fluid fa-fw" $icon)) -}}
|
{{- partial "assets/icon.html" (dict "icon" (printf "%s %s" $icon $style)) -}}
|
||||||
</div>
|
</div>
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
</div>
|
</div>
|
||||||
<div class="col-8{{ if eq $orientation "horizontal-sm" }} col-md-10{{ end }}">
|
<div class="{{ if eq $orientation "horizontal-sm" }}col-8 col-md-10{{ else }}col-8{{ end }}">
|
||||||
<div class="card-body d-flex p-{{ $padding }} flex-column h-100">
|
<div class="card-body d-flex p-{{ $padding }} flex-column h-100 flex-fill">
|
||||||
{{ if $page }}<div>{{ partial "card-caption.html" (dict "page" $page "keywords" $header "color" $color) }}</div>{{ end }}
|
{{ if $page }}<div>{{ partial "card-caption.html" (dict "page" $page "keywords" $header "color" $color) }}</div>{{ end }}
|
||||||
<div class="h-100">
|
<div class="flex-fill">
|
||||||
{{- partial "card-body.html" (dict "title" $title "href" $href "color" $color "description" $description) -}}
|
{{- partial "card-body.html" (dict "title" $title "href" $href "color" $color "description" $description "button" $button) -}}
|
||||||
</div>
|
</div>
|
||||||
{{ if $page }}<div>{{ partial "card-caption.html" (dict "page" $page "keywords" $footer "color" $color) }}</div>{{ end }}
|
{{ if $page }}<div>{{ partial "card-caption.html" (dict "page" $page "keywords" $footer "color" $color) }}</div>{{ end }}
|
||||||
|
{{ if $button }}
|
||||||
|
<div>{{ partial "assets/button.html" (dict "title" (T "readMore") "href" $href "outline" true "size" "sm" "class" "card-button mb-n4") }}</div>
|
||||||
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{- else -}}
|
{{- else -}}
|
||||||
<!-- Render stacked / default card -->
|
<!-- Render stacked / default card -->
|
||||||
<div class="card {{ with $color }}bg-{{ . }} text-bg-{{ . }}{{ end }} {{ $class }}">
|
<div class="card {{ $colorStyle }} {{ $class }} text-{{ $align }}">
|
||||||
{{- if $thumbnail -}}
|
{{- if $thumbnail -}}
|
||||||
{{- partial "assets/image.html" (dict "url" $thumbnail "ratio" (or $ratio "16x9") "wrapper" "card-img-wrap" "class" "card-img-top" "title" (or $alt $title) "loading" $loading) -}}
|
{{- partial "assets/image.html" (dict "url" $thumbnail "ratio" (or $ratio "16x9") "wrapper" "card-img-wrap" "class" "card-img-top" "title" (or $alt $title) "loading" $loading) -}}
|
||||||
{{- else if $icon -}}
|
{{- else if $icon -}}
|
||||||
<div class="card-icon p-{{ $padding }}">
|
<div class="card-icon p-{{ $padding }} {{ $iconStyle }} text-{{ $align }}">
|
||||||
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-4x" $icon)) -}}
|
{{- partial "assets/icon.html" (dict "icon" (printf "%s %s" $icon $style)) -}}
|
||||||
</div>
|
</div>
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
<div class="card-body d-flex flex-column p-{{ $padding }}">
|
<div class="card-body d-flex flex-column p-{{ $padding }}">
|
||||||
@@ -137,6 +161,14 @@
|
|||||||
{{- partial "card-body.html" (dict "title" $title "href" $href "color" $color "description" $description) -}}
|
{{- partial "card-body.html" (dict "title" $title "href" $href "color" $color "description" $description) -}}
|
||||||
{{ if $page }}{{- partial "card-caption.html" (dict "page" $page "keywords" $footer "color" $color) -}}{{ end }}
|
{{ if $page }}{{- partial "card-caption.html" (dict "page" $page "keywords" $footer "color" $color) -}}{{ end }}
|
||||||
</div>
|
</div>
|
||||||
|
{{ if $button }}
|
||||||
|
<div class="row p-{{ $padding }}" >
|
||||||
|
<div class="{{ if eq $orientation "horizontal-sm" }}col-4 col-md-2{{ else if eq $orientation "horizontal" }}col-4{{ end }}"></div>
|
||||||
|
<div class="col {{ if eq $orientation "horizontal-sm" }}px-2{{ else if eq $orientation "horizontal"}}px-1 {{ else }}px-2 pt-1{{ end }}">
|
||||||
|
{{ partial "assets/button.html" (dict "title" (T "readMore") "href" $href "outline" true "size" "sm" "class" "card-button") }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
Copyright © 2023 The Hinode Team / Mark Dumay. All rights reserved.
|
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||||
Visit gethinode.com/license for more details.
|
Visit gethinode.com/license for more details.
|
||||||
-->
|
-->
|
||||||
|
@@ -1,12 +0,0 @@
|
|||||||
{{- $params := .Site.Params.comments -}}
|
|
||||||
{{- with $params -}}
|
|
||||||
<h2>{{ T "comments" }}</h2>
|
|
||||||
<script src="https://utteranc.es/client.js"
|
|
||||||
repo="{{ $params.repo }}"
|
|
||||||
issue-term="{{ default "pathname" $params.issueTerm }}"
|
|
||||||
label="{{ default "comment" $params.label }}"
|
|
||||||
theme="{{ default "github-light" $params.theme }}"
|
|
||||||
crossorigin="anonymous"
|
|
||||||
async>
|
|
||||||
</script>
|
|
||||||
{{- end -}}
|
|
@@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
Copyright © 2023 The Hinode Team / Mark Dumay. All rights reserved.
|
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||||
Visit gethinode.com/license for more details.
|
Visit gethinode.com/license for more details.
|
||||||
-->
|
-->
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
Copyright © 2023 The Hinode Team / Mark Dumay. All rights reserved.
|
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||||
Visit gethinode.com/license for more details.
|
Visit gethinode.com/license for more details.
|
||||||
-->
|
-->
|
||||||
|
@@ -1,17 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
Displays a list items with a thumbnail alternating between left and right alignment. The partial supports the
|
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||||
following arguments:
|
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||||
"page" Required context of the current page.
|
Visit gethinode.com/license for more details.
|
||||||
"list" Required array of pages.
|
|
||||||
"title" Optional title of the card group.
|
|
||||||
"type" Optional type of the tab group, either "tabs", "pills", or "underline".
|
|
||||||
"vertical" Optional flag to show vertical tabs instead of horizontal tabs (default).
|
|
||||||
"class": Optional class attribute of the tab group, e.g. “nav-fill”.
|
|
||||||
|
|
||||||
In addition, the following arguments are passed to the individual tabs.
|
|
||||||
"class" Optional class attribute of the tab element, e.g. “w-50”.
|
|
||||||
"color": Optional theme color of the tab, either "primary", "secondary", "success", "danger",
|
|
||||||
"warning", "info", "light", "dark", or "body". By default, no color is specified.
|
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<!-- Inline partial to render the list item's content -->
|
<!-- Inline partial to render the list item's content -->
|
||||||
@@ -33,32 +23,27 @@
|
|||||||
{{- partial "assets/image.html" (dict "url" $thumbnail "title" $title "wrapper" $style "mode" $mode "loading" $loading) -}}
|
{{- partial "assets/image.html" (dict "url" $thumbnail "title" $title "wrapper" $style "mode" $mode "loading" $loading) -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
|
{{ $error := false }}
|
||||||
|
|
||||||
|
<!-- Validate arguments -->
|
||||||
|
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "list" "args" . "group" "partial") }}
|
||||||
|
{{- errorf "partial [assets/list.html] - Invalid arguments" -}}
|
||||||
|
{{ $error = true }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<!-- Initialize arguments -->
|
||||||
{{- $page := .page -}}
|
{{- $page := .page -}}
|
||||||
{{- if ne (printf "%T" $page) "*hugolib.pageState" -}}
|
{{- $list := .list -}}
|
||||||
{{- errorf "partial [assets/list.html] - Invalid value for param 'page'" -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- $supportedTypes := slice "page.Pages" "resource.Resources" -}}
|
|
||||||
{{ $list := .list }}
|
|
||||||
{{- if not (in $supportedTypes (printf "%T" $list)) -}}
|
|
||||||
{{- errorf "partial [assets/list.html] - Invalid value for param 'list'" -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- $title := .title -}}
|
{{- $title := .title -}}
|
||||||
{{- $class := .class -}}
|
{{- $class := .class -}}
|
||||||
{{- $color := .color -}}
|
{{- $color := .color -}}
|
||||||
|
{{- $loading := .loading -}}
|
||||||
|
|
||||||
{{ $vertical := false }}
|
{{ $vertical := false }}
|
||||||
{{ $type := "pills" }}
|
{{ $type := "pills" }}
|
||||||
|
|
||||||
{{- $loading := .loading -}}
|
<!-- Main code -->
|
||||||
{{- $validSettings := slice "lazy" "eager" -}}
|
{{ if not $error }}
|
||||||
{{- if $loading -}}
|
|
||||||
{{ if not (in $validSettings $loading) -}}
|
|
||||||
{{- errorf "partial [assets/list.html] - Invalid value for param 'loading': %s" $loading -}}
|
|
||||||
{{ end -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
<div class="d-none d-md-block p-0">
|
<div class="d-none d-md-block p-0">
|
||||||
{{- range $index, $item := $list -}}
|
{{- range $index, $item := $list -}}
|
||||||
{{- $odd := eq (mod $index 2) 1 -}}
|
{{- $odd := eq (mod $index 2) 1 -}}
|
||||||
@@ -91,9 +76,10 @@
|
|||||||
{{ partial "partials/list-img.html" (dict "thumbnail" $thumbnail "title" $item.Title "mode" $item.Params.colormode "loading" $loading) }}
|
{{ partial "partials/list-img.html" (dict "thumbnail" $thumbnail "title" $item.Title "mode" $item.Params.colormode "loading" $loading) }}
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12 p-3">
|
<div class="col-12 p-3">
|
||||||
{{ partial "partials/list-content.html" (dict "title" $item.Title "content" (partial "utilities/GetDescription.html" $item)) }}
|
{{ partial "partials/list-content.html" (dict "title" $item.Title "content" (or $item.Description $item.Content)) }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{ end -}}
|
{{ end -}}
|
||||||
</div>
|
</div>
|
||||||
|
{{ end }}
|
@@ -1,6 +1,6 @@
|
|||||||
|
|
||||||
<!--
|
<!--
|
||||||
Copyright © 2023 The Hinode Team / Mark Dumay. All rights reserved.
|
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||||
Visit gethinode.com/license for more details.
|
Visit gethinode.com/license for more details.
|
||||||
-->
|
-->
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
Copyright © 2023 The Hinode Team / Mark Dumay. All rights reserved.
|
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||||
Visit gethinode.com/license for more details.
|
Visit gethinode.com/license for more details.
|
||||||
-->
|
-->
|
||||||
@@ -73,7 +73,7 @@
|
|||||||
"title" $item.Title
|
"title" $item.Title
|
||||||
"class" $class
|
"class" $class
|
||||||
"color" $color
|
"color" $color
|
||||||
"content" (partial "utilities/GetDescription.html" $item)
|
"content" (partial "utilities/GetDescription.html" (dict "page" $item))
|
||||||
"thumbnail" $thumbnail
|
"thumbnail" $thumbnail
|
||||||
) -}}
|
) -}}
|
||||||
{{- else -}}
|
{{- else -}}
|
||||||
|
@@ -1,22 +1,37 @@
|
|||||||
|
<!--
|
||||||
|
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||||
|
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||||
|
Visit gethinode.com/license for more details.
|
||||||
|
-->
|
||||||
|
|
||||||
|
{{ $error := false }}
|
||||||
|
|
||||||
|
<!-- Validate arguments -->
|
||||||
|
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "navbar-item" "args" . "group" "partial") }}
|
||||||
|
{{- errorf "partial [assets/navbar-item.html] - Invalid arguments" -}}
|
||||||
|
{{ $error = true }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<!-- Initialize arguments -->
|
||||||
|
{{- $page := .page -}}
|
||||||
{{- $menu := .menu -}}
|
{{- $menu := .menu -}}
|
||||||
{{- $parent := .parent -}}
|
{{- $parent := .parent -}}
|
||||||
{{- $page := .page -}}
|
|
||||||
{{- $class := .class -}}
|
{{- $class := .class -}}
|
||||||
{{- $anchorClass := "" -}}
|
{{- $cue := .cue | default site.Params.main.externalLinks.cue -}}
|
||||||
|
{{- $tab := .tab | default site.Params.main.externalLinks.tab -}}
|
||||||
|
|
||||||
{{- $menuURL := (or $menu.PageRef $menu.URL) | relLangURL -}}
|
{{- $menuURL := (or $menu.PageRef $menu.URL) | relLangURL -}}
|
||||||
{{- $pageURL := $page.RelPermalink | relLangURL -}}
|
{{- $pageURL := $page.RelPermalink | relLangURL -}}
|
||||||
{{- $isActive := or (and (hasPrefix $pageURL $menuURL) (ne $menuURL ("/" | relLangURL))) (eq $pageURL $menuURL) -}}
|
{{- $isActive := or (and (hasPrefix $pageURL $menuURL) (ne $menuURL ("/" | relLangURL))) (eq $pageURL $menuURL) -}}
|
||||||
{{- $isAlias := $menu.Params.alias -}}
|
{{- $isAlias := $menu.Params.alias -}}
|
||||||
{{- $isIcon := $menu.Params.icon -}}
|
{{- $isIcon := $menu.Params.icon -}}
|
||||||
{{- $cue := .cue | default site.Params.main.externalLinks.cue -}}
|
|
||||||
{{- $tab := .tab | default site.Params.main.externalLinks.tab -}}
|
|
||||||
|
|
||||||
{{- $url := urls.Parse $menuURL -}}
|
{{- $url := urls.Parse $menuURL -}}
|
||||||
{{- $baseURL := urls.Parse $.Site.Params.Baseurl -}}
|
{{- $baseURL := urls.Parse $.Site.Params.Baseurl -}}
|
||||||
{{- $isExternal := ne $url.Host $baseURL.Host -}}
|
{{- $isExternal := ne $url.Host $baseURL.Host -}}
|
||||||
{{- $externalHref := "" }}
|
{{- $externalHref := "" }}
|
||||||
{{- $suffix := "" }}
|
{{- $suffix := "" }}
|
||||||
|
{{- $anchorClass := "" -}}
|
||||||
|
|
||||||
{{- if $isExternal }}
|
{{- if $isExternal }}
|
||||||
{{- if $tab -}}
|
{{- if $tab -}}
|
||||||
@@ -48,18 +63,22 @@
|
|||||||
{{- with $childNav }}{{ $params = printf "%s&child=%s" $params . }}{{ end -}}
|
{{- with $childNav }}{{ $params = printf "%s&child=%s" $params . }}{{ end -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
|
<!-- Main code -->
|
||||||
|
{{ if not $error }}
|
||||||
<a class="{{ $anchorClass }}{{ if $isActive }} active{{ end }}{{ with $class }} {{. }}{{ end }}"
|
<a class="{{ $anchorClass }}{{ if $isActive }} active{{ end }}{{ with $class }} {{. }}{{ end }}"
|
||||||
{{ if $isIcon }}aria-label="{{ $menu.Name }}"{{ end }}
|
{{ if $isIcon }}aria-label="{{ $menu.Name }}"{{ end }}
|
||||||
data-nav="main" data-nav-main="{{ $mainNav }}"{{ with $childNav }} data-nav-child="{{ . }}"{{ end }}
|
data-nav="main" data-nav-main="{{ $mainNav }}"{{ with $childNav }} data-nav-child="{{ . }}"{{ end }}
|
||||||
href="{{ $menuURL }}{{ $params | safeHTMLAttr }}"{{ with $externalHref }} {{ . | safeHTMLAttr }}{{ end }} {{ $button | safeHTMLAttr }}>
|
href="{{ $menuURL }}{{ $params | safeHTMLAttr }}"{{ with $externalHref }} {{ . | safeHTMLAttr }}{{ end }} {{ $button | safeHTMLAttr }}>
|
||||||
|
|
||||||
{{- with $menu.Pre }}
|
{{- with $menu.Pre }}
|
||||||
{{ if hasPrefix . "<i" }}
|
{{ if hasPrefix . "<i" }}
|
||||||
{{ . | safeHTML }}
|
{{ . | safeHTML }}
|
||||||
{{ else }}
|
{{ else }}
|
||||||
{{ partial "assets/icon.html" (dict "icon" . )}}
|
{{ partial "assets/icon.html" (dict "icon" (string .) )}}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end -}}
|
{{ end -}}
|
||||||
<span {{ if $isActive }} class="active"{{ end }}>{{ if not $isIcon }}{{ $menu.Name }}{{ end }}</span>
|
<span {{ if $isActive }} class="active"{{ end }}>{{ if not $isIcon }}{{ $menu.Name }}{{ end }}</span>
|
||||||
{{- with $menu.Post }}{{ . }}{{ end -}}
|
{{- with $menu.Post }}{{ . }}{{ end -}}
|
||||||
{{- if not $isIcon }} {{ $suffix }}{{ end -}}
|
{{- if not $isIcon }} {{ $suffix }}{{ end -}}
|
||||||
</a>
|
</a>
|
||||||
|
{{ end }}
|
@@ -1,9 +1,11 @@
|
|||||||
<!--
|
<!--
|
||||||
Copyright © 2023 The Hinode Team / Mark Dumay. All rights reserved.
|
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||||
Visit gethinode.com/license for more details.
|
Visit gethinode.com/license for more details.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
<!-- TODO: consider to drop style arg -->
|
||||||
|
|
||||||
{{ $error := false }}
|
{{ $error := false }}
|
||||||
|
|
||||||
<!-- Validate arguments -->
|
<!-- Validate arguments -->
|
||||||
@@ -108,6 +110,8 @@
|
|||||||
|
|
||||||
{{- $size := .size | default "md" -}}
|
{{- $size := .size | default "md" -}}
|
||||||
{{- $fixed := .fixed | default false -}}
|
{{- $fixed := .fixed | default false -}}
|
||||||
|
{{- $overlay := .overlay | default false -}}
|
||||||
|
{{- $overlayMode := .overlayMode | default "dark" -}}
|
||||||
{{- $color := .color | default "" -}}
|
{{- $color := .color | default "" -}}
|
||||||
{{- $search := .search | default site.Params.navigation.search -}}
|
{{- $search := .search | default site.Params.navigation.search -}}
|
||||||
{{- $searchModal := and $search site.Params.navigation.searchModal -}}
|
{{- $searchModal := and $search site.Params.navigation.searchModal -}}
|
||||||
@@ -168,7 +172,13 @@
|
|||||||
<!-- Main code -->
|
<!-- Main code -->
|
||||||
<div class="container-fluid {{ if $fixed }}fixed-top{{ end }} p-0{{ with $class }} {{ . }}{{ end }}">
|
<div class="container-fluid {{ if $fixed }}fixed-top{{ end }} p-0{{ with $class }} {{ . }}{{ end }}">
|
||||||
{{- partial "assets/page-alert.html" (dict "page" $page) -}}
|
{{- partial "assets/page-alert.html" (dict "page" $page) -}}
|
||||||
<nav class="navbar {{ if $fixed }}navbar-fixed-top{{ end }} navbar-expand-{{ $size }}{{ if $contrast }} navbar-contrast{{ end }}{{ with $color }} bg-{{ . }}{{ end }} p-4"{{ with $theme }} data-bs-theme="{{ . }}"{{ end }}>
|
<nav class="navbar p-4
|
||||||
|
{{ if $overlay }}navbar-overlay-{{ $overlayMode }}{{ else }}{{ with $color }}bg-{{ . }}{{ end }}{{ end }}
|
||||||
|
{{ if $fixed }}navbar-fixed-top{{ end }} navbar-expand-{{ $size }}
|
||||||
|
{{ if $contrast }}navbar-contrast{{ end }}"
|
||||||
|
{{ with $theme }}data-bs-theme="{{ . }}"{{ end }}
|
||||||
|
{{ if $overlay }}data-navbar-color="{{ $color }}"{{ end }}
|
||||||
|
>
|
||||||
<div class="container-xxl p-0">
|
<div class="container-xxl p-0">
|
||||||
<!-- Insert sidebar toggler when applicable -->
|
<!-- Insert sidebar toggler when applicable -->
|
||||||
<div class="d-flex align-items-center">
|
<div class="d-flex align-items-center">
|
||||||
|
@@ -1,13 +1,25 @@
|
|||||||
{{- $page := .page -}}
|
<!--
|
||||||
{{- if not $page -}}
|
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||||
{{- errorf "partial [assets/page-alert.html] - Missing value for param 'page'" -}}
|
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||||
{{- end -}}
|
Visit gethinode.com/license for more details.
|
||||||
|
-->
|
||||||
|
|
||||||
|
{{ $error := false }}
|
||||||
|
|
||||||
|
<!-- Validate arguments -->
|
||||||
|
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "page-alert" "args" . "group" "partial") }}
|
||||||
|
{{- errorf "partial [assets/page-alert.html] - Invalid arguments" -}}
|
||||||
|
{{ $error = true }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<!-- Initialize arguments -->
|
||||||
|
{{- $page := .page -}}
|
||||||
{{- $pageAlertMsg := $page.Scratch.Get "pageAlertMsg" -}}
|
{{- $pageAlertMsg := $page.Scratch.Get "pageAlertMsg" -}}
|
||||||
{{- $pageAlertURL := $page.Scratch.Get "pageAlertURL" -}}
|
{{- $pageAlertURL := $page.Scratch.Get "pageAlertURL" -}}
|
||||||
{{- $version := $page.Scratch.Get "version" -}}
|
{{- $version := $page.Scratch.Get "version" -}}
|
||||||
|
|
||||||
{{- if $pageAlertMsg -}}
|
<!-- Main code -->
|
||||||
|
{{- if and (not $error) $pageAlertMsg -}}
|
||||||
<div id="page-alert" class="alert alert-primary alert-no-decoration fade show d-flex align-items-center small m-0 py-1" data-page-alert-version="{{ $version }}">
|
<div id="page-alert" class="alert alert-primary alert-no-decoration fade show d-flex align-items-center small m-0 py-1" data-page-alert-version="{{ $version }}">
|
||||||
<a href="{{ with $pageAlertURL }}{{ . }}{{ else }}#!{{ end }}" class="text-decoration-none flex-grow-1 text-center">{{ $pageAlertMsg }}</a>
|
<a href="{{ with $pageAlertURL }}{{ . }}{{ else }}#!{{ end }}" class="text-decoration-none flex-grow-1 text-center">{{ $pageAlertMsg }}</a>
|
||||||
<button id="page-alert-btn-close" type="button" class="btn-close" data-bs-dismiss="alert" aria-label="{{ T "close" }}"></button>
|
<button id="page-alert-btn-close" type="button" class="btn-close" data-bs-dismiss="alert" aria-label="{{ T "close" }}"></button>
|
||||||
|
@@ -1,39 +1,19 @@
|
|||||||
<!-- Source: https://github.com/gohugoio/hugo/blob/master/tpl/tplimpl/embedded/templates/pagination.html -->
|
<!--
|
||||||
<!-- Modifications: centered pagination, replaced previous/next with text -->
|
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||||
|
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||||
|
Visit gethinode.com/license for more details.
|
||||||
|
|
||||||
{{- $validFormats := slice "default" "terse" }}
|
This source code adapts the original partial as maintained by the Hugo repository. It introduces the
|
||||||
|
following modifications:
|
||||||
|
- Centered the pagination element
|
||||||
|
- Standardized validation of partial arguments
|
||||||
|
- Replaced previous / next navigation with text
|
||||||
|
|
||||||
{{- $msg1 := "When passing a map to the internal pagination template, one of the elements must be named 'page', and it must be set to the context of the current page." }}
|
The original source code is available on:
|
||||||
{{- $msg2 := "The 'format' specified in the map passed to the internal pagination template is invalid. Valid choices are: %s." }}
|
https://github.com/gohugoio/hugo/blob/master/tpl/tplimpl/embedded/templates/pagination.html
|
||||||
|
Copyright 2022 The Hugo Authors. Licensed under the Apache License, Version 2.0.
|
||||||
|
-->
|
||||||
|
|
||||||
{{- $page := . }}
|
|
||||||
{{- $format := "default" }}
|
|
||||||
|
|
||||||
{{- if reflect.IsMap . }}
|
|
||||||
{{- with .page }}
|
|
||||||
{{- $page = . }}
|
|
||||||
{{- else }}
|
|
||||||
{{- errorf $msg1 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .format }}
|
|
||||||
{{- $format = lower . }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
{{- if in $validFormats $format }}
|
|
||||||
{{- if gt $page.Paginator.TotalPages 1 }}
|
|
||||||
<nav aria-label="{{ T "paginationNav" }}">
|
|
||||||
<ul class="pagination pagination-{{ $format }} justify-content-center">
|
|
||||||
{{- partial (printf "partials/inline/pagination/%s" $format) $page }}
|
|
||||||
</ul>
|
|
||||||
</nav>
|
|
||||||
{{- end }}
|
|
||||||
{{- else }}
|
|
||||||
{{- errorf $msg2 (delimit $validFormats ", ") }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/* Format: default
|
|
||||||
{{/* --------------------------------------------------------------------- */}}
|
|
||||||
{{- define "partials/inline/pagination/default" }}
|
{{- define "partials/inline/pagination/default" }}
|
||||||
{{- with .Paginator }}
|
{{- with .Paginator }}
|
||||||
{{- $currentPageNumber := .PageNumber }}
|
{{- $currentPageNumber := .PageNumber }}
|
||||||
@@ -103,8 +83,6 @@
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
{{/* Format: terse
|
|
||||||
{{/* --------------------------------------------------------------------- */}}
|
|
||||||
{{- define "partials/inline/pagination/terse" }}
|
{{- define "partials/inline/pagination/terse" }}
|
||||||
{{- with .Paginator }}
|
{{- with .Paginator }}
|
||||||
{{- $currentPageNumber := .PageNumber }}
|
{{- $currentPageNumber := .PageNumber }}
|
||||||
@@ -157,3 +135,24 @@
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
|
{{ $error := false }}
|
||||||
|
|
||||||
|
<!-- Validate arguments -->
|
||||||
|
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "pagination" "args" . "group" "partial") }}
|
||||||
|
{{- errorf "partial [assets/pagination.html] - Invalid arguments" -}}
|
||||||
|
{{ $error = true }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<!-- Initialize arguments -->
|
||||||
|
{{- $page := .page }}
|
||||||
|
{{- $format := .format | default "default" }}
|
||||||
|
|
||||||
|
<!-- Main code -->
|
||||||
|
{{- if and (not $error) (gt $page.Paginator.TotalPages 1) }}
|
||||||
|
<nav aria-label="{{ T "paginationNav" }}">
|
||||||
|
<ul class="pagination pagination-{{ $format }} justify-content-center">
|
||||||
|
{{- partial (printf "partials/inline/pagination/%s" $format) $page }}
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
{{- end }}
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
Copyright © 2023 The Hinode Team / Mark Dumay. All rights reserved.
|
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||||
Visit gethinode.com/license for more details.
|
Visit gethinode.com/license for more details.
|
||||||
-->
|
-->
|
||||||
|
@@ -1,25 +1,23 @@
|
|||||||
|
<!--
|
||||||
|
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||||
|
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||||
|
Visit gethinode.com/license for more details.
|
||||||
|
-->
|
||||||
|
|
||||||
|
{{ $error := false }}
|
||||||
|
|
||||||
|
<!-- Validate arguments -->
|
||||||
|
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "section-header" "args" . "group" "partial") }}
|
||||||
|
{{- errorf "partial [assets/section-header.html] - Invalid arguments" -}}
|
||||||
|
{{ $error = true }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<!-- Initialize arguments -->
|
||||||
{{- $title := .title -}}
|
{{- $title := .title -}}
|
||||||
{{- $thumbnail := .thumbnail -}}
|
|
||||||
{{- $icon := .icon -}}
|
|
||||||
{{- $sectionHeader := .sectionHeader -}}
|
|
||||||
{{- $description := .description -}}
|
{{- $description := .description -}}
|
||||||
{{- $content := .content -}}
|
{{- $content := .content -}}
|
||||||
|
|
||||||
{{- define "partials/section-header-img.html" -}}
|
<!-- Main code -->
|
||||||
{{- $title := .title -}}
|
|
||||||
{{- $thumbnail := .thumbnail -}}
|
|
||||||
{{- $icon := .icon -}}
|
|
||||||
{{ $padding := 5 }}
|
|
||||||
|
|
||||||
{{- if $thumbnail -}}
|
|
||||||
{{- partial "assets/image.html" (dict "url" $thumbnail "ratio" "1x1" "wrapper" "h-100 card-img-wrap" "class" "rounded-start card-img-h100" "title" $title) -}}
|
|
||||||
{{- else if $icon -}}
|
|
||||||
<div class="text-secondary fw-bold">
|
|
||||||
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-10x" $icon)) -}}
|
|
||||||
</div>
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{ with $title }}<p id="{{ anchorize . }}" class="display-4 py-5{{ if and page.IsHome site.Params.home.centerHeadline }} text-center{{ end }}">{{ . }}</p>{{ end }}
|
{{ with $title }}<p id="{{ anchorize . }}" class="display-4 py-5{{ if and page.IsHome site.Params.home.centerHeadline }} text-center{{ end }}">{{ . }}</p>{{ end }}
|
||||||
{{ with $description }} <p class="lead mb-5">{{ . }}</p>{{ end }}
|
{{ with $description }} <p class="lead mb-5">{{ . }}</p>{{ end }}
|
||||||
{{ $content }}
|
{{ $content }}
|
||||||
|
@@ -130,41 +130,19 @@
|
|||||||
{{- $params := (dict
|
{{- $params := (dict
|
||||||
"page" $page
|
"page" $page
|
||||||
"list" $list
|
"list" $list
|
||||||
"title" $title
|
|
||||||
"icon" $icon
|
|
||||||
"thumbnail" $thumbnail
|
|
||||||
"ratio" $ratio
|
|
||||||
"sectionHeader" $sectionHeader
|
|
||||||
"description" $description
|
|
||||||
"content" $content
|
|
||||||
"class" $style
|
"class" $style
|
||||||
"color" $color
|
|
||||||
"loading" $loading
|
|
||||||
)
|
)
|
||||||
-}}
|
-}}
|
||||||
{{- $partial := "" -}}
|
{{- $partial := "" -}}
|
||||||
|
|
||||||
<div class="container-fluid {{ with $background }} bg-{{ . }}{{ end }} p-0">
|
<div class="container-fluid {{ with $background }} bg-{{ . }}{{ end }} p-0">
|
||||||
<div class="container-xxl {{ $wrapper }}">
|
<div class="container-xxl {{ $wrapper }}">
|
||||||
{{- partial "assets/section-header.html" $params -}}
|
{{- partial "assets/section-header.html" (dict "title" $title "description" $description "content" $content) -}}
|
||||||
|
|
||||||
{{ warnf "[%s] vertical: %t" $page.Title $vertical}}
|
|
||||||
|
|
||||||
{{- $params := (dict
|
|
||||||
"page" $page
|
|
||||||
"list" $list
|
|
||||||
"class" $style
|
|
||||||
)
|
|
||||||
-}}
|
|
||||||
|
|
||||||
{{ if eq $layout "card" }}
|
{{ if eq $layout "card" }}
|
||||||
{{- $partial = "assets/card-group.html" -}}
|
{{- $partial = "assets/card-group.html" -}}
|
||||||
{{- $params = merge $params (dict
|
{{- $params = merge $params (dict
|
||||||
"title" $title
|
"title" $title
|
||||||
"icon" $icon
|
|
||||||
"thumbnail" $thumbnail
|
|
||||||
"ratio" $ratio
|
"ratio" $ratio
|
||||||
"description" $description
|
|
||||||
"color" $color
|
"color" $color
|
||||||
"loading" $loading
|
"loading" $loading
|
||||||
"max" $max
|
"max" $max
|
||||||
@@ -194,13 +172,8 @@
|
|||||||
{{- $partial = "assets/list.html" -}}
|
{{- $partial = "assets/list.html" -}}
|
||||||
{{- $params = merge $params (dict
|
{{- $params = merge $params (dict
|
||||||
"title" $title
|
"title" $title
|
||||||
"icon" $icon
|
|
||||||
"thumbnail" $thumbnail
|
|
||||||
"ratio" $ratio
|
|
||||||
"description" $description
|
|
||||||
"color" $color
|
"color" $color
|
||||||
"loading" $loading
|
"loading" $loading
|
||||||
"layout" $layout
|
|
||||||
)
|
)
|
||||||
-}}
|
-}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
@@ -1,10 +1,26 @@
|
|||||||
{{- $page := . -}}
|
<!--
|
||||||
|
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||||
|
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||||
|
Visit gethinode.com/license for more details.
|
||||||
|
-->
|
||||||
|
|
||||||
|
{{ $error := false }}
|
||||||
|
|
||||||
|
<!-- Validate arguments -->
|
||||||
|
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "section-menu" "args" . "group" "partial") }}
|
||||||
|
{{- errorf "partial [assets/section-menu.html] - Invalid arguments" -}}
|
||||||
|
{{ $error = true }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<!-- Initialize arguments -->
|
||||||
|
{{- $page := .page -}}
|
||||||
{{ $items := $page.Parent.Sections }}
|
{{ $items := $page.Parent.Sections }}
|
||||||
{{ if not $page.Parent.Section }}
|
{{ if not $page.Parent.Section }}
|
||||||
{{ $items = $page.Sections }}
|
{{ $items = $page.Sections }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{- if gt (len $items) 0 }}
|
<!-- Main code -->
|
||||||
|
{{- if and (not $error) (gt (len $items) 0) }}
|
||||||
<div class="d-grid gap-2 mx-auto d-md-none">
|
<div class="d-grid gap-2 mx-auto d-md-none">
|
||||||
{{ partial "assets/button.html" (dict
|
{{ partial "assets/button.html" (dict
|
||||||
"title" (T "sectionMenu")
|
"title" (T "sectionMenu")
|
||||||
|
@@ -1,9 +1,27 @@
|
|||||||
{{- if .Site.Params.sharing.enabled -}}
|
<!--
|
||||||
|
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||||
|
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||||
|
Visit gethinode.com/license for more details.
|
||||||
|
-->
|
||||||
|
|
||||||
|
{{ $error := false }}
|
||||||
|
|
||||||
|
<!-- Validate arguments -->
|
||||||
|
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "sharing" "args" . "group" "partial") }}
|
||||||
|
{{- errorf "partial [assets/sharing.html] - Invalid arguments" -}}
|
||||||
|
{{ $error = true }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<!-- Initialize arguments -->
|
||||||
|
{{ $page := .page }}
|
||||||
|
|
||||||
|
<!-- Main code -->
|
||||||
|
{{- if and (not $error) $page.Site.Params.sharing.enabled -}}
|
||||||
{{- $sharing := true -}}
|
{{- $sharing := true -}}
|
||||||
{{ if isset .Params "sharing" }}
|
{{ if isset $page.Params "sharing" }}
|
||||||
{{ $sharing = .Params.sharing }}
|
{{ $sharing = $page.Params.sharing }}
|
||||||
{{ else }}
|
{{ else }}
|
||||||
{{- with (index site.Params.pages .Type ) -}}
|
{{- with (index $page.Site.Params.pages .Type ) -}}
|
||||||
{{ if isset . "sharing" }}
|
{{ if isset . "sharing" }}
|
||||||
{{ $sharing = (index . "sharing") }}
|
{{ $sharing = (index . "sharing") }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
@@ -11,16 +29,15 @@
|
|||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{- if $sharing -}}
|
{{- if $sharing -}}
|
||||||
{{- $page := . -}}
|
|
||||||
{{- $order := "asc" -}}
|
{{- $order := "asc" -}}
|
||||||
{{- $list := .Site.Params.sharing.providers -}}
|
{{- $list := $page.Site.Params.sharing.providers -}}
|
||||||
{{- if .Site.Params.sharing.reverse }}{{ $order = "desc" }}{{ else }}{{ $order = "asc" }}{{ end -}}
|
{{- if $page.Site.Params.sharing.reverse }}{{ $order = "desc" }}{{ else }}{{ $order = "asc" }}{{ end -}}
|
||||||
{{- $sort := .Site.Params.sharing.sort | default "weight" -}}
|
{{- $sort := $page.Site.Params.sharing.sort | default "weight" -}}
|
||||||
{{- $list = sort $list $sort $order -}}
|
{{- $list = sort $list $sort $order -}}
|
||||||
|
|
||||||
{{- $download := .Params.download -}}
|
{{- $download := $page.Params.download -}}
|
||||||
{{- if and $download (not (fileExists (path.Join "static" $download))) -}}
|
{{- if and $download (not (fileExists (path.Join "static" $download))) -}}
|
||||||
{{- errorf "Cannot find download file for page '%s': %s" .File.Path $download -}}
|
{{- errorf "Cannot find download file for page '%s': %s" $page.File.Path $download -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
<div class="py-3 text-body-secondary hstack gap-1">
|
<div class="py-3 text-body-secondary hstack gap-1">
|
||||||
@@ -40,7 +57,7 @@
|
|||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{ partial "assets/button.html" (dict "toast" $target "clipboard" $clipboard "href" $url "icon" (printf "%s fa-fw" $item.icon) "class" "btn-social p-0" "label" (T "shareLink" $item.name) "spacing" false) }}
|
{{ partial "assets/button.html" (dict "toast" $target "clipboard" $clipboard "href" $url "icon" (printf "%s fa-fw" $item.icon) "class" "btn-social p-0" "label" (T "shareLink" $item.name) "spacing" false) }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{ if .Site.Params.sharing.webshare }}
|
{{ if $page.Site.Params.sharing.webshare }}
|
||||||
{{ $attr := dict "data-sharing-title" .Title "data-sharing-description" .Description "data-sharing-url" .Permalink }}
|
{{ $attr := dict "data-sharing-title" .Title "data-sharing-description" .Description "data-sharing-url" .Permalink }}
|
||||||
{{ partial "assets/button.html" (dict "href" "#!" "icon" "fas share-nodes fa-fw" "id" "btn-webshare" "class" "btn-social p-0" "attributes" $attr "label" (T "shareLink" (T "shareSystem")) "spacing" false) }}
|
{{ partial "assets/button.html" (dict "href" "#!" "icon" "fas share-nodes fa-fw" "id" "btn-webshare" "class" "btn-social p-0" "attributes" $attr "label" (T "shareLink" (T "shareSystem")) "spacing" false) }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
@@ -1,7 +1,22 @@
|
|||||||
|
<!--
|
||||||
|
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||||
|
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||||
|
Visit gethinode.com/license for more details.
|
||||||
|
-->
|
||||||
|
|
||||||
|
{{ $error := false }}
|
||||||
|
|
||||||
|
<!-- Validate arguments -->
|
||||||
|
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "sidebar" "args" . "group" "partial") }}
|
||||||
|
{{- errorf "partial [assets/sidebar.html] - Invalid arguments" -}}
|
||||||
|
{{ $error = true }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<!-- Initialize arguments -->
|
||||||
{{- $page := .page }}
|
{{- $page := .page }}
|
||||||
{{- $section := $page.Section }}
|
|
||||||
{{- $data := .menu -}}
|
{{- $data := .menu -}}
|
||||||
{{- $version := .version -}}
|
{{- $version := .version -}}
|
||||||
|
{{- $section := $page.Section }}
|
||||||
|
|
||||||
{{- define "partials/sidebar/group.html" -}}
|
{{- define "partials/sidebar/group.html" -}}
|
||||||
{{- $page := .page -}}
|
{{- $page := .page -}}
|
||||||
@@ -94,7 +109,8 @@
|
|||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end -}}
|
{{ end -}}
|
||||||
|
|
||||||
{{ if $data }}
|
<!-- Main code -->
|
||||||
|
{{ if and (not $error) $data }}
|
||||||
<nav class="sidebar flex-shrink-0 ps-1 pt-3" aria-label="{{ (strings.FirstUpper $section) }} navigation">
|
<nav class="sidebar flex-shrink-0 ps-1 pt-3" aria-label="{{ (strings.FirstUpper $section) }} navigation">
|
||||||
{{- $sectionBreak := false -}}
|
{{- $sectionBreak := false -}}
|
||||||
{{- $level := 0 -}}
|
{{- $level := 0 -}}
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
Copyright © 2023 The Hinode Team / Mark Dumay. All rights reserved.
|
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||||
Visit gethinode.com/license for more details.
|
Visit gethinode.com/license for more details.
|
||||||
-->
|
-->
|
||||||
|
@@ -1,5 +1,22 @@
|
|||||||
{{ $items := len (findRE "<li.*?>(.|\n)*?</li>" .TableOfContents) -}}
|
<!--
|
||||||
{{ if (gt $items 1) -}}
|
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||||
|
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||||
|
Visit gethinode.com/license for more details.
|
||||||
|
-->
|
||||||
|
|
||||||
|
{{ $error := false }}
|
||||||
|
|
||||||
|
<!-- Validate arguments -->
|
||||||
|
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "toc" "args" . "group" "partial") }}
|
||||||
|
{{- errorf "partial [assets/toc-dropdown.html] - Invalid arguments" -}}
|
||||||
|
{{ $error = true }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<!-- Initialize arguments -->
|
||||||
|
{{- $page := .page -}}
|
||||||
|
{{ $items := len (findRE "<li.*?>(.|\n)*?</li>" $page.TableOfContents) -}}
|
||||||
|
|
||||||
|
{{ if and (not $error) (gt $items 1) -}}
|
||||||
<div class="d-grid gap-2 mx-auto">
|
<div class="d-grid gap-2 mx-auto">
|
||||||
{{ partial "assets/button.html" (dict
|
{{ partial "assets/button.html" (dict
|
||||||
"title" (T "toc")
|
"title" (T "toc")
|
||||||
@@ -16,7 +33,7 @@
|
|||||||
<p>
|
<p>
|
||||||
<div class="collapse border bg-body-tertiary rounded p-1 navbar-nav-scroll" id="toc-collapse">
|
<div class="collapse border bg-body-tertiary rounded p-1 navbar-nav-scroll" id="toc-collapse">
|
||||||
<div class="toc toc-panel text-body p-2">
|
<div class="toc toc-panel text-body p-2">
|
||||||
<small>{{ .TableOfContents }}</small>
|
<small>{{ $page.TableOfContents }}</small>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</p>
|
</p>
|
||||||
|
@@ -1,7 +1,23 @@
|
|||||||
{{- $page := .page -}}
|
<!--
|
||||||
|
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||||
|
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||||
|
Visit gethinode.com/license for more details.
|
||||||
|
-->
|
||||||
|
|
||||||
|
{{ $error := false }}
|
||||||
|
|
||||||
|
<!-- Validate arguments -->
|
||||||
|
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "toc" "args" . "group" "partial") }}
|
||||||
|
{{- errorf "partial [assets/toc.html] - Invalid arguments" -}}
|
||||||
|
{{ $error = true }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<!-- Initialize arguments -->
|
||||||
|
{{- $page := .page -}}
|
||||||
{{ $items := len (findRE "<li.*?>(.|\n)*?</li>" $page.TableOfContents) -}}
|
{{ $items := len (findRE "<li.*?>(.|\n)*?</li>" $page.TableOfContents) -}}
|
||||||
{{ if gt $items 1 -}}
|
|
||||||
|
<!-- Main code -->
|
||||||
|
{{ if and (not $error) (gt $items 1) -}}
|
||||||
<strong class="d-block h6 my-2 pb-2 border-bottom">{{ T "toc" }}</strong>
|
<strong class="d-block h6 my-2 pb-2 border-bottom">{{ T "toc" }}</strong>
|
||||||
{{ $page.TableOfContents }}
|
{{ $page.TableOfContents }}
|
||||||
{{ end -}}
|
{{ end -}}
|
@@ -1,5 +1,5 @@
|
|||||||
<!--
|
<!--
|
||||||
Copyright © 2023 The Hinode Team / Mark Dumay. All rights reserved.
|
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||||
Visit gethinode.com/license for more details.
|
Visit gethinode.com/license for more details.
|
||||||
-->
|
-->
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user