mirror of
https://github.com/gethinode/hinode.git
synced 2025-10-07 10:04:22 +00:00
Compare commits
254 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
c057b11094 | ||
![]() |
df6fb8f0ff | ||
![]() |
a6c3de6a7d | ||
![]() |
efb9c56b55 | ||
![]() |
7e3301d277 | ||
![]() |
068df86fd8 | ||
![]() |
4f57919a96 | ||
![]() |
21f90455d4 | ||
![]() |
50499a415a | ||
![]() |
e75c8cf40f | ||
![]() |
42529594b0 | ||
![]() |
73afeb13bd | ||
![]() |
23ece830e2 | ||
![]() |
41f5dbaea1 | ||
![]() |
5e368f2726 | ||
![]() |
2db3365115 | ||
![]() |
bf2235a96b | ||
![]() |
2ab8ee674f | ||
![]() |
e52d14e21a | ||
![]() |
46101e174e | ||
![]() |
d28b51aa63 | ||
![]() |
dd80ee2bfe | ||
![]() |
2e8b087c48 | ||
![]() |
03592cba67 | ||
![]() |
65a44637d5 | ||
![]() |
6bbdb813de | ||
![]() |
3ad358bb96 | ||
![]() |
2e1c05fa63 | ||
![]() |
d67fc81c87 | ||
![]() |
8e532ce61b | ||
![]() |
dd7803110d | ||
![]() |
8c05e15693 | ||
![]() |
b78d0a9912 | ||
![]() |
25aeaeb195 | ||
![]() |
d8336200ef | ||
![]() |
2831b510d6 | ||
![]() |
ddc319e380 | ||
![]() |
0e4c493dd2 | ||
![]() |
48ceeb0b64 | ||
![]() |
45bd45c5fa | ||
![]() |
9f85b5bc93 | ||
![]() |
41215fcc25 | ||
![]() |
912a34baa3 | ||
![]() |
db4fa60bff | ||
![]() |
8ebc170e0e | ||
![]() |
0b5a8756ad | ||
![]() |
7cec88af78 | ||
![]() |
1681d9691e | ||
![]() |
5b661f8f7f | ||
![]() |
3ca09592f7 | ||
![]() |
2d701111aa | ||
![]() |
dbb3b2026c | ||
![]() |
7d724dbb1f | ||
![]() |
7c436dcacd | ||
![]() |
1da69c08ae | ||
![]() |
1bca15042b | ||
![]() |
40fd76988d | ||
![]() |
8190e77152 | ||
![]() |
d0d681a6a9 | ||
![]() |
0d6964c7ed | ||
![]() |
3090aaa810 | ||
![]() |
c7cf48a6c1 | ||
![]() |
300a473a37 | ||
![]() |
dac09afbba | ||
![]() |
a35e59df3d | ||
![]() |
51b80d8820 | ||
![]() |
28c12e61e9 | ||
![]() |
c2d4782375 | ||
![]() |
4aa5723235 | ||
![]() |
6d602df62d | ||
![]() |
336f32b4a4 | ||
![]() |
1792ee527d | ||
![]() |
d750dcfb5a | ||
![]() |
448ebdbaad | ||
![]() |
7b8152d84e | ||
![]() |
df00db0447 | ||
![]() |
658a02798e | ||
![]() |
7329fdf3f9 | ||
![]() |
34550a3e00 | ||
![]() |
b88b17642d | ||
![]() |
ecb06164e0 | ||
![]() |
a4d9638cc1 | ||
![]() |
c8af80ab86 | ||
![]() |
1e06f4ef2c | ||
![]() |
3cfe1c296b | ||
![]() |
2b32c3c8fc | ||
![]() |
efa1ae2076 | ||
![]() |
35c869b729 | ||
![]() |
ccbc9b24d5 | ||
![]() |
680614d446 | ||
![]() |
93f6acd70d | ||
![]() |
8d761aa5d7 | ||
![]() |
9df7f951c6 | ||
![]() |
0bf7671675 | ||
![]() |
43a285db86 | ||
![]() |
f982b0f9d4 | ||
![]() |
669dfec6af | ||
![]() |
05ea55d73d | ||
![]() |
e64fdee0ea | ||
![]() |
90ef36d39a | ||
![]() |
d4321cea30 | ||
![]() |
9fd3781c25 | ||
![]() |
ed833307f8 | ||
![]() |
a73268fea6 | ||
![]() |
413082a23d | ||
![]() |
2b15ff26dc | ||
![]() |
42db5b3f9b | ||
![]() |
d3e58591be | ||
![]() |
5c9187a5ed | ||
![]() |
1db2652304 | ||
![]() |
003f9a329c | ||
![]() |
c7bed9de24 | ||
![]() |
1de5aa70da | ||
![]() |
eb51223fa8 | ||
![]() |
4b732c02f8 | ||
![]() |
3193ff6e0d | ||
![]() |
d66f8eef93 | ||
![]() |
9bb9bb580a | ||
![]() |
c29b43866a | ||
![]() |
e3d88bdf37 | ||
![]() |
a35db80260 | ||
![]() |
3d19b57d5e | ||
![]() |
3bd8f99678 | ||
![]() |
a01c726de4 | ||
![]() |
fe74653749 | ||
![]() |
c143634c4a | ||
![]() |
58e0946636 | ||
![]() |
d2dd3a32d0 | ||
![]() |
045dfd5a13 | ||
![]() |
ecab03d15c | ||
![]() |
6972f71077 | ||
![]() |
92c87629a0 | ||
![]() |
a0dd30d2c7 | ||
![]() |
50c6c80d8a | ||
![]() |
548ba82abe | ||
![]() |
31e47ad940 | ||
![]() |
f04f5719ec | ||
![]() |
8ab0d2fb1e | ||
![]() |
9f83f33afd | ||
![]() |
e9789a420c | ||
![]() |
8459665fcf | ||
![]() |
75083fe543 | ||
![]() |
d5d29bab37 | ||
![]() |
46d2e57e4b | ||
![]() |
8a0658e931 | ||
![]() |
9be5b22911 | ||
![]() |
71181905c3 | ||
![]() |
61a00fd205 | ||
![]() |
71c2e4f5c6 | ||
![]() |
14c05f62ad | ||
![]() |
712634ec57 | ||
![]() |
d8070914f9 | ||
![]() |
8006143d3f | ||
![]() |
b56516b77b | ||
![]() |
ac6a47e528 | ||
![]() |
d6f86a0a4c | ||
![]() |
d950555d75 | ||
![]() |
231425dbdf | ||
![]() |
2cccbc499a | ||
![]() |
92572a21bc | ||
![]() |
261c174739 | ||
![]() |
fbdfd10969 | ||
![]() |
2c2cd595c1 | ||
![]() |
2b6fc61628 | ||
![]() |
40096611cf | ||
![]() |
937b16ca60 | ||
![]() |
64d7ff5d93 | ||
![]() |
b7fb5bee75 | ||
![]() |
63d7d4de85 | ||
![]() |
035387d8c1 | ||
![]() |
f7c5769817 | ||
![]() |
6853a455cb | ||
![]() |
190f849b5a | ||
![]() |
1165ffffe0 | ||
![]() |
214812b750 | ||
![]() |
20f1a87d8b | ||
![]() |
66f904c7fb | ||
![]() |
cdf9d39242 | ||
![]() |
98c53ccd6d | ||
![]() |
5409aa7a63 | ||
![]() |
10a69d6bfd | ||
![]() |
705967641a | ||
![]() |
a5b49bdf70 | ||
![]() |
44d46f92c9 | ||
![]() |
78a2caf728 | ||
![]() |
7f5bebacab | ||
![]() |
b95ce558a6 | ||
![]() |
e75533a0ae | ||
![]() |
19a45b4399 | ||
![]() |
e08178cfce | ||
![]() |
b24c6bc21f | ||
![]() |
d1e06588a5 | ||
![]() |
13fb13ec10 | ||
![]() |
ccca047155 | ||
![]() |
7443319ad9 | ||
![]() |
db4ba8babe | ||
![]() |
c7c03ebc8c | ||
![]() |
4bd1578724 | ||
![]() |
ecd16fa3cc | ||
![]() |
3ef8a16e18 | ||
![]() |
3fc30b9941 | ||
![]() |
8fb9610c84 | ||
![]() |
dc88861a43 | ||
![]() |
871edd7aa4 | ||
![]() |
b172a5021a | ||
![]() |
9ddd1983d0 | ||
![]() |
2f00f07a2f | ||
![]() |
c043f26268 | ||
![]() |
99d689a323 | ||
![]() |
ec7275913b | ||
![]() |
255456447b | ||
![]() |
004940d9bc | ||
![]() |
6b39b028fb | ||
![]() |
9a83550378 | ||
![]() |
792443c4cf | ||
![]() |
3d52162925 | ||
![]() |
80b28f7557 | ||
![]() |
43eebdf53f | ||
![]() |
b5062fe687 | ||
![]() |
51aa15266b | ||
![]() |
19f638a129 | ||
![]() |
aa2e5ca6f4 | ||
![]() |
04eea0db71 | ||
![]() |
4645f4ee7c | ||
![]() |
bb6421c70b | ||
![]() |
622c6ee1c0 | ||
![]() |
f1befb05cc | ||
![]() |
e146e3a559 | ||
![]() |
068e773ab0 | ||
![]() |
3ae91a78a1 | ||
![]() |
6627446961 | ||
![]() |
d4fd6ece60 | ||
![]() |
a746fd147c | ||
![]() |
d0410af879 | ||
![]() |
314f1a0ca4 | ||
![]() |
066c5ce8eb | ||
![]() |
bba9629f54 | ||
![]() |
d2d59ec3ef | ||
![]() |
c080be2872 | ||
![]() |
3c17234b33 | ||
![]() |
16884abcba | ||
![]() |
2abbe4f6de | ||
![]() |
c6f9de0a64 | ||
![]() |
39f104fa5f | ||
![]() |
437ad0dbf7 | ||
![]() |
2eb354d941 | ||
![]() |
5a7f46bca4 | ||
![]() |
0bc37ff426 | ||
![]() |
0d24f85e13 | ||
![]() |
d067171ba2 | ||
![]() |
09e649d432 | ||
![]() |
87c7bd4238 | ||
![]() |
19734f6a1f | ||
![]() |
12a5ebad9f |
2
LICENSE
2
LICENSE
@@ -1,6 +1,6 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2024 Mark Dumay
|
||||
Copyright (c) 2022-2025 Mark Dumay
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
@@ -25,17 +25,37 @@
|
||||
window.location.href = href
|
||||
}
|
||||
} else {
|
||||
window.location.href = folder + language + '/'
|
||||
let target = folder + language + '/'
|
||||
if (window.location.href !== target) {
|
||||
window.location.href = target
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Event listener for language selection
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
const storedLanguage = getLanguage()
|
||||
const languageItems = document.querySelectorAll('#language-selector .dropdown-item')
|
||||
// override stored language when query string contains force is true
|
||||
let params = new URLSearchParams(document.location.search)
|
||||
let force = params.get('force')
|
||||
if (force !== null && force.toLowerCase() == 'true') {
|
||||
setLanguage(document.documentElement.lang)
|
||||
return
|
||||
}
|
||||
|
||||
if (languageItems.length > 0) {
|
||||
// continue with regular code
|
||||
const storedLanguage = getLanguage()
|
||||
const languageItems = document.querySelectorAll('#language-selector[data-translated=true] .dropdown-item')
|
||||
|
||||
const link = document.querySelector("link[rel='canonical']")
|
||||
let alias = ''
|
||||
if (link !== null) {
|
||||
alias = link.getAttribute('href')
|
||||
}
|
||||
|
||||
if ((alias !== '') && (window.location.href !== alias)) {
|
||||
window.location.href = alias
|
||||
} else if (languageItems.length > 0) {
|
||||
// Redirect if the stored language differs from the active language
|
||||
if ((storedLanguage) && (document.documentElement.lang !== storedLanguage)) {
|
||||
languageItems.forEach(item => {
|
||||
@@ -57,10 +77,8 @@
|
||||
})
|
||||
}
|
||||
else {
|
||||
// Redirect to the localized homepage
|
||||
const defaultLang = '{{ site.LanguageCode | default site.Language.Lang }}'
|
||||
let language = storedLanguage ? storedLanguage : defaultLang
|
||||
window.location.href = folder + language + '/'
|
||||
// overrule the current stored language when no translation is available
|
||||
setLanguage(document.documentElement.lang)
|
||||
}
|
||||
})
|
||||
})()
|
||||
|
@@ -25,6 +25,8 @@ strong {
|
||||
$black: #000 !default;
|
||||
$btn-toggle-color: $black !default;
|
||||
|
||||
$card-color: var(--bs-body-color);
|
||||
|
||||
$carousel-dark-indicator-active-bg: #fff !default;
|
||||
$carousel-dark-caption-color: #fff !default;
|
||||
$carousel-dark-control-icon-filter: invert(0) grayscale(100) !default;
|
||||
|
@@ -1,4 +1,8 @@
|
||||
.nav-tabs > .nav-link.active {
|
||||
.nav-tabs .nav-tabs {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.nav-tabs .nav-link.active {
|
||||
border-bottom-color: var(--bs-body-bg) !important;
|
||||
border-bottom-style: solid !important;
|
||||
z-index: 1;
|
||||
@@ -12,13 +16,13 @@
|
||||
column-gap: var(--#{$prefix}nav-callout-gap) !important;
|
||||
}
|
||||
|
||||
.nav-callout > .tab-content {
|
||||
.nav-callout + .tab-content {
|
||||
background-color: var(--#{$prefix}nav-callout-bg);
|
||||
padding: 2 * $spacer;
|
||||
margin-top: 0 !important;
|
||||
}
|
||||
|
||||
.nav-callout > .nav-link {
|
||||
.nav-callout .nav-link {
|
||||
display: flex;
|
||||
text-align: start;
|
||||
vertical-align: text-top;
|
||||
@@ -27,7 +31,7 @@
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.nav-callout > .nav-link.active {
|
||||
.nav-callout .nav-link.active {
|
||||
background-image: linear-gradient(to top right, var(--#{$prefix}nav-callout-bg) 50%, transparent 0);
|
||||
background-size: 50% (3 * $spacer);
|
||||
background-repeat: no-repeat;
|
||||
@@ -53,7 +57,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
.nav-callout > .accordion-item {
|
||||
.nav-callout .accordion-item {
|
||||
margin-top: 2 * $spacer;
|
||||
margin-bottom: 2 * $spacer;
|
||||
border: none;
|
||||
|
@@ -7,22 +7,45 @@
|
||||
top: var(--navbar-offset);
|
||||
max-height: 90vh;
|
||||
overflow-y: auto;
|
||||
scrollbar-gutter: stable;
|
||||
}
|
||||
|
||||
.sidebar-item {
|
||||
color: rgba(0, 0, 0, 0.65);
|
||||
margin-left: 0 !important;
|
||||
padding-left: 0.85rem !important;
|
||||
display: inline-block;
|
||||
padding: 0.1875rem 0.5rem !important;
|
||||
|
||||
&.active {
|
||||
color: $primary;
|
||||
}
|
||||
|
||||
&.active,
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: black;
|
||||
color: $primary;
|
||||
background-color: tint-color($primary, 90%);
|
||||
}
|
||||
}
|
||||
|
||||
.btn-toggle {
|
||||
.sidebar-item-group {
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: $primary;
|
||||
background-color: tint-color($primary, 90%);
|
||||
}
|
||||
|
||||
> div > a {
|
||||
color: var(--bs-body-color) !important;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
.sidebar-item-group > div {
|
||||
padding: 0.1875rem 0.5rem !important;
|
||||
}
|
||||
|
||||
.btn-toggle-group {
|
||||
padding: 0.25rem 0.5rem;
|
||||
font-weight: 600;
|
||||
color: rgba(0, 0, 0, 0.65);
|
||||
@@ -30,8 +53,7 @@
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: black;
|
||||
background-color: tint-color($primary, 90%);
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
&::before {
|
||||
@@ -43,50 +65,49 @@
|
||||
}
|
||||
}
|
||||
|
||||
.btn-toggle[aria-expanded="true"] {
|
||||
color: black;
|
||||
|
||||
.btn-toggle-group[aria-expanded="true"] {
|
||||
&::before {
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
}
|
||||
|
||||
.btn-toggle-nav a {
|
||||
padding: 0.1875rem 0.5rem;
|
||||
margin-top: 0.125rem;
|
||||
margin-left: 1.25rem;
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
background-color: tint-color($primary, 90%);
|
||||
}
|
||||
|
||||
&.active {
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
@if $enable-dark-mode {
|
||||
@include color-mode(dark) {
|
||||
.sidebar-item {
|
||||
color: var(--bs-body-color);
|
||||
margin-left: 0 !important;
|
||||
padding-left: 0.85rem !important;
|
||||
|
||||
&.active,
|
||||
|
||||
&.active {
|
||||
color: $primary-text-emphasis-dark !important;
|
||||
}
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: $primary-text-emphasis-dark !important;
|
||||
background-color: transparent;
|
||||
box-shadow: inset 0 0 0 1px $primary-bg-subtle-dark;
|
||||
}
|
||||
}
|
||||
|
||||
.sidebar-item-group {
|
||||
color: var(--bs-body-color) !important;
|
||||
|
||||
&.active {
|
||||
color: $primary-text-emphasis-dark !important;
|
||||
}
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: white !important;
|
||||
background-color: transparent;
|
||||
box-shadow: inset 0 0 0 1px $primary-bg-subtle-dark;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-toggle {
|
||||
.btn-toggle-group {
|
||||
color: var(--bs-body-color);
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: white !important;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
@@ -95,26 +116,10 @@
|
||||
}
|
||||
}
|
||||
|
||||
.btn-toggle[aria-expanded="true"] {
|
||||
.btn-toggle-group[aria-expanded="true"] {
|
||||
color: var(--bs-secondary-color);
|
||||
}
|
||||
|
||||
.btn-toggle-nav a {
|
||||
padding: 0.1875rem 0.5rem;
|
||||
margin-top: 0.125rem;
|
||||
margin-left: 1.25rem;
|
||||
|
||||
&:hover,
|
||||
&:focus {
|
||||
color: white !important;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
&.active {
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// scss-docs-end sidebar
|
||||
|
@@ -11,6 +11,10 @@
|
||||
padding-right: 1rem;
|
||||
}
|
||||
|
||||
.table-border-bottom-wrap {
|
||||
border-bottom-style: none !important
|
||||
}
|
||||
|
||||
@if $enable-dark-mode {
|
||||
@include color-mode(dark) {
|
||||
.table-striped, .table-striped-columns {
|
||||
|
@@ -75,6 +75,35 @@
|
||||
}
|
||||
}
|
||||
|
||||
a.toc-item {
|
||||
display: block;
|
||||
}
|
||||
|
||||
a.toc-level-1 {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
a.toc-level-2 {
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
a.toc-level-3 {
|
||||
margin-left: 2em;
|
||||
}
|
||||
|
||||
a.toc-level-4 {
|
||||
margin-left: 3em;
|
||||
}
|
||||
|
||||
a.toc-level-5 {
|
||||
margin-left: 4em;
|
||||
}
|
||||
|
||||
a.toc-level-6 {
|
||||
margin-left: 5em;
|
||||
}
|
||||
|
||||
|
||||
@if $enable-dark-mode {
|
||||
[data-bs-theme="dark"] {
|
||||
.toc-button {
|
||||
|
@@ -1,6 +1,6 @@
|
||||
# toml-docs-start main
|
||||
title = "Hinode"
|
||||
copyright = "Copyright © 2024 Mark Dumay."
|
||||
copyright = "Copyright © 2022 - 2025 Mark Dumay."
|
||||
enableGitInfo = true
|
||||
# toml-docs-end main
|
||||
|
||||
@@ -116,8 +116,7 @@ home = ["HTML", "RSS", "REDIR", "netlify", "server"]
|
||||
[module]
|
||||
[module.hugoVersion]
|
||||
extended = true
|
||||
min = "0.134.0"
|
||||
max = ""
|
||||
min = "0.141.0"
|
||||
[[module.mounts]]
|
||||
source = "archetypes"
|
||||
target = "archetypes"
|
||||
@@ -139,6 +138,11 @@ home = ["HTML", "RSS", "REDIR", "netlify", "server"]
|
||||
[[module.mounts]]
|
||||
source = "static"
|
||||
target = "static"
|
||||
# ensures main package.json is always available, even when using workspaces
|
||||
# in workspaces, the package.json is pointing to the first imported module
|
||||
[[module.mounts]]
|
||||
source = "package.json"
|
||||
target = "assets/data/package-hinode.json"
|
||||
[[module.mounts]]
|
||||
source = "netlify.toml"
|
||||
target = "assets/config/netlify.toml"
|
||||
|
@@ -10,8 +10,10 @@
|
||||
footerBelowFold = false
|
||||
loading = "lazy"
|
||||
breakpoint = "md"
|
||||
titleCase = false
|
||||
[main.internalLinks]
|
||||
validate = true
|
||||
pretty = false
|
||||
[main.externalLinks]
|
||||
cue = false
|
||||
tab = false
|
||||
@@ -219,7 +221,6 @@
|
||||
font-src = ["fonts.gstatic.com"]
|
||||
frame-src = [
|
||||
"player.cloudinary.com",
|
||||
"player.vimeo.com",
|
||||
"www.youtube-nocookie.com",
|
||||
"www.youtube.com"
|
||||
]
|
||||
@@ -228,7 +229,17 @@
|
||||
"*.imgix.net",
|
||||
"*.imagekit.io",
|
||||
"*.cloudinary.com",
|
||||
"i.vimeocdn.com",
|
||||
"i.ytimg.com"
|
||||
]
|
||||
# toml-docs-end csp
|
||||
# toml-docs-end csp
|
||||
|
||||
[modules.vimeo]
|
||||
local = true
|
||||
integration = "optional"
|
||||
state = "async"
|
||||
url = "https://player.vimeo.com/api/player.js"
|
||||
|
||||
[modules.vimeo.csp]
|
||||
frame-src = ["player.vimeo.com"]
|
||||
img-src = ["i.vimeocdn.com"]
|
||||
script-src = ["player.vimeo.com"]
|
||||
|
@@ -11,12 +11,12 @@
|
||||
default-src 'none'; \
|
||||
font-src 'self' fonts.gstatic.com; \
|
||||
form-action 'self'; \
|
||||
frame-src player.cloudinary.com player.vimeo.com www.youtube-nocookie.com www.youtube.com; \
|
||||
img-src 'self' *.google-analytics.com *.googletagmanager.com data: *.imgix.net *.imagekit.io *.cloudinary.com i.vimeocdn.com i.ytimg.com tile.openstreetmap.org; \
|
||||
frame-src player.cloudinary.com www.youtube-nocookie.com www.youtube.com player.vimeo.com; \
|
||||
img-src 'self' *.google-analytics.com *.googletagmanager.com data: *.imgix.net *.imagekit.io *.cloudinary.com i.ytimg.com tile.openstreetmap.org i.vimeocdn.com; \
|
||||
manifest-src 'self'; \
|
||||
media-src 'self'; \
|
||||
object-src 'none'; \
|
||||
script-src 'self' *.google-analytics.com *.googletagmanager.com; \
|
||||
script-src 'self' *.google-analytics.com *.googletagmanager.com player.vimeo.com; \
|
||||
style-src 'self' www.youtube.com; \
|
||||
"""
|
||||
Permissions-Policy = 'geolocation=(), midi=(), sync-xhr=(), microphone=(), camera=(), magnetometer=(), gyroscope=(), fullscreen=(), payment=() '
|
||||
|
@@ -3,13 +3,15 @@ const cssnano = require('cssnano')({
|
||||
preset: 'advanced'
|
||||
})
|
||||
const whitelister = require('purgecss-whitelister')
|
||||
const purgecss = require('@fullhuman/postcss-purgecss')({
|
||||
const purgeImport = require('@fullhuman/postcss-purgecss')
|
||||
const purgeCSSPlugin = purgeImport.purgeCSSPlugin || purgeImport.default || purgeImport
|
||||
const purgecss = purgeCSSPlugin({
|
||||
content: ['./hugo_stats.json'],
|
||||
defaultExtractor: (content) => {
|
||||
const els = JSON.parse(content).htmlElements
|
||||
return [...(els.tags || []), ...(els.classes || []), ...(els.ids || [])]
|
||||
},
|
||||
dynamicAttributes: ['data-bs-theme'],
|
||||
dynamicAttributes: ['data-bs-theme', 'data-bs-theme-animate'],
|
||||
safelist: ['was-validated',
|
||||
...whitelister([
|
||||
'./assets/scss/components/_clipboard.scss',
|
||||
|
@@ -4,12 +4,12 @@
|
||||
command = "npm run build:example"
|
||||
|
||||
[build.environment]
|
||||
DART_SASS_VERSION = "1.78.0"
|
||||
HUGO_VERSION = "0.134.1"
|
||||
DART_SASS_VERSION = "1.83.1"
|
||||
HUGO_VERSION = "0.140.2"
|
||||
HUGO_ENV = "production"
|
||||
HUGO_ENABLEGITINFO = "true"
|
||||
NODE_VERSION = "20.17.0"
|
||||
NPM_VERSION = "10.8.2"
|
||||
NODE_VERSION = "22.12.0"
|
||||
NPM_VERSION = "10.9.0"
|
||||
# toml-docs-end netlify
|
||||
|
||||
[context.deploy-preview]
|
||||
|
@@ -38,3 +38,8 @@ arguments:
|
||||
type: string
|
||||
optional: true
|
||||
comment: Class attribute of the tab control that wraps the file element.
|
||||
options:
|
||||
type: string
|
||||
optional: true
|
||||
comment: Hugo highlighting options.
|
||||
release: v0.27.6
|
||||
|
4
data/structures/ins.yml
Normal file
4
data/structures/ins.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
comment: Underlines text.
|
||||
body:
|
||||
optional: false
|
||||
comment: Text to be underlined.
|
@@ -63,6 +63,15 @@ arguments:
|
||||
default: false
|
||||
comment: >-
|
||||
Flag to indicate if a link that contains baseURL host should be forced as external.
|
||||
force:
|
||||
type: bool
|
||||
optional: true
|
||||
default: false
|
||||
comment: >-
|
||||
Flag to indicate a link should bypass any language redirection. Only applicable when
|
||||
the site param `enableLanguageSelectionStorage` is set to true. When `force` is true,
|
||||
the link to a local page is kept as is.
|
||||
release: v0.27.20
|
||||
class:
|
||||
type: string
|
||||
optional: true
|
||||
|
@@ -3,6 +3,20 @@ comment: >-
|
||||
improve their layout on smaller screens. To features `sortable`, `paging`,
|
||||
and `searchable` require the module `simple-datatables`.
|
||||
arguments:
|
||||
page:
|
||||
type:
|
||||
- '*hugolib.pageState'
|
||||
- '*hugolib.pageForShortcode'
|
||||
optional: false
|
||||
comment: Page to display the breadcrumb for.
|
||||
group: partial
|
||||
input:
|
||||
type:
|
||||
- string
|
||||
- template.HTML
|
||||
optional: false
|
||||
comment: Table input in markdown format.
|
||||
group: partial
|
||||
breakpoint:
|
||||
type: select
|
||||
optional: true
|
||||
@@ -35,11 +49,33 @@ arguments:
|
||||
optional: true
|
||||
comment: Whether paging is enabled for the table.
|
||||
release: v0.24.13
|
||||
pagingOptionPerPage:
|
||||
type: int
|
||||
optional: true
|
||||
comment: >-
|
||||
Sets the maximum number of rows to display on each page. Requires
|
||||
`paging = true`.
|
||||
release: v0.27.8
|
||||
pagingOptionPageSelect:
|
||||
type: string
|
||||
optional: true
|
||||
comment: >-
|
||||
Sets the per page options in the dropdown. Must be an array of integers or
|
||||
arrays in the format [label (string), value (int)]. Requires
|
||||
`paging = true`.
|
||||
release: v0.27.8
|
||||
searchable:
|
||||
type: bool
|
||||
optional: true
|
||||
comment: Toggle the ability to search the dataset.
|
||||
release: v0.24.13
|
||||
wrap:
|
||||
type: bool
|
||||
optional: true
|
||||
comment: >-
|
||||
Toggle the last column to wrap to a new row on smaller devices. This
|
||||
setting is not compatible with data tables.
|
||||
release: v0.28.0
|
||||
body:
|
||||
type: string
|
||||
optional: false
|
||||
|
@@ -79,12 +79,10 @@ arguments:
|
||||
- 16x9
|
||||
- 21x9
|
||||
release: v0.26.5
|
||||
portrait:
|
||||
type: bool
|
||||
options:
|
||||
type: string
|
||||
optional: true
|
||||
default: false
|
||||
release: v0.28.2
|
||||
comment: >-
|
||||
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
|
||||
graphics.
|
||||
release: v0.26.5
|
||||
Optional query parameters to append to video asset's url. The query string
|
||||
is prepended with a `?` symbol. Only applicable to Cloudinary.
|
@@ -1,6 +1,6 @@
|
||||
resourcedir = '../resources/'
|
||||
title = "Hinode"
|
||||
copyright = "Copyright © 2024 Mark Dumay."
|
||||
copyright = "Copyright © 2022 - 2025 Mark Dumay."
|
||||
enableGitInfo = true
|
||||
|
||||
# additional settings
|
||||
|
2
exampleSite/config/_default/params.fr.toml
Normal file
2
exampleSite/config/_default/params.fr.toml
Normal file
@@ -0,0 +1,2 @@
|
||||
[main]
|
||||
titleCase = false
|
2
exampleSite/config/_default/params.nl.toml
Normal file
2
exampleSite/config/_default/params.nl.toml
Normal file
@@ -0,0 +1,2 @@
|
||||
[main]
|
||||
titleCase = false
|
@@ -8,13 +8,16 @@
|
||||
footerBelowFold = false
|
||||
loading = "lazy"
|
||||
breakpoint = "md"
|
||||
titleCase = true
|
||||
[main.internalLinks]
|
||||
validate = true
|
||||
pretty = true
|
||||
[main.externalLinks]
|
||||
cue = true
|
||||
tab = true
|
||||
[main.build]
|
||||
transpiler = "dartsass"
|
||||
silenceDeprecations = true
|
||||
|
||||
[debugging]
|
||||
showJS = false
|
||||
@@ -156,7 +159,7 @@
|
||||
# themeFontPath = "https://fonts.googleapis.com/css2?family=Inter:wght@200;300;600&display=swap" # external path
|
||||
themeFontPath = "/fonts" # local path
|
||||
themeFontPreload = "/fonts/inter-v12-latin-regular.woff2"
|
||||
purge = false # TODO: fix purge setting of example site
|
||||
purge = true
|
||||
# toml-docs-end theme-colors
|
||||
|
||||
[schema]
|
||||
@@ -195,5 +198,4 @@
|
||||
hinode = "https://gethinode.com"
|
||||
|
||||
[modules.cookieyes]
|
||||
# local = true
|
||||
url = "https://cdn-cookieyes.com/client_data/a54b5553f349dd13bd225f8e/script.js"
|
||||
url = "https://cdn-cookieyes.com/client_data/a54b5553f349dd13bd225f8e/script.js"
|
||||
|
@@ -11,12 +11,12 @@
|
||||
default-src 'none'; \
|
||||
font-src 'self' fonts.gstatic.com; \
|
||||
form-action 'self'; \
|
||||
frame-src player.cloudinary.com player.vimeo.com www.youtube-nocookie.com www.youtube.com; \
|
||||
img-src 'self' cdn-cookieyes.com *.google-analytics.com *.googletagmanager.com data: *.imgix.net *.imagekit.io *.cloudinary.com i.vimeocdn.com i.ytimg.com tile.openstreetmap.org; \
|
||||
frame-src player.cloudinary.com www.youtube-nocookie.com www.youtube.com player.vimeo.com; \
|
||||
img-src 'self' cdn-cookieyes.com *.google-analytics.com *.googletagmanager.com data: *.imgix.net *.imagekit.io *.cloudinary.com i.ytimg.com tile.openstreetmap.org i.vimeocdn.com; \
|
||||
manifest-src 'self'; \
|
||||
media-src 'self'; \
|
||||
object-src 'none'; \
|
||||
script-src 'self' cdn-cookieyes.com *.google-analytics.com *.googletagmanager.com; \
|
||||
script-src 'self' cdn-cookieyes.com *.google-analytics.com *.googletagmanager.com player.vimeo.com; \
|
||||
style-src 'self' 'unsafe-inline' www.youtube.com; \
|
||||
"""
|
||||
Permissions-Policy = 'geolocation=(), midi=(), sync-xhr=(), microphone=(), camera=(), magnetometer=(), gyroscope=(), fullscreen=(), payment=() '
|
||||
|
@@ -3,31 +3,34 @@ const cssnano = require('cssnano')({
|
||||
preset: 'advanced'
|
||||
})
|
||||
const whitelister = require('purgecss-whitelister')
|
||||
const purgecss = require('@fullhuman/postcss-purgecss')({
|
||||
content: ['./hugo_stats.json'],
|
||||
const purgeImport = require('@fullhuman/postcss-purgecss')
|
||||
const purgeCSSPlugin = purgeImport.purgeCSSPlugin || purgeImport.default || purgeImport
|
||||
const purgecss = purgeCSSPlugin({
|
||||
content: ['./exampleSite/hugo_stats.json'],
|
||||
defaultExtractor: (content) => {
|
||||
const els = JSON.parse(content).htmlElements
|
||||
return [...(els.tags || []), ...(els.classes || []), ...(els.ids || [])]
|
||||
},
|
||||
dynamicAttributes: ['data-bs-theme'],
|
||||
dynamicAttributes: ['data-bs-theme', 'data-bs-theme-animate'],
|
||||
safelist: ['was-validated',
|
||||
...whitelister([
|
||||
'./_vendor/github.com/gethinode/hinode/assets/scss/components/_clipboard.scss',
|
||||
'./_vendor/github.com/gethinode/hinode/assets/scss/components/_command.scss',
|
||||
'./_vendor/github.com/gethinode/hinode/assets/scss/components/_nav.scss',
|
||||
'./_vendor/github.com/gethinode/hinode/assets/scss/components/_navbar.scss',
|
||||
'./_vendor/github.com/gethinode/hinode/assets/scss/components/_search.scss',
|
||||
'./_vendor/github.com/gethinode/hinode/assets/scss/components/_syntax.scss',
|
||||
'./_vendor/github.com/gethinode/hinode/assets/scss/components/_syntax-dark.scss',
|
||||
'./_vendor/github.com/gethinode/hinode/assets/scss/components/_syntax-light.scss',
|
||||
'./_vendor/github.com/gethinode/hinode/assets/scss/components/_table.scss',
|
||||
'./_vendor/github.com/gethinode/hinode/assets/scss/components/_video.scss',
|
||||
'./_vendor/github.com/gethinode/hinode/assets/scss/theme/fonts.scss',
|
||||
'./_vendor/github.com/gethinode/hinode/assets/scss/theme/theme.scss',
|
||||
'./exampleSite/_vendor/github.com/gethinode/mod-cookieyes/v2/assets/scss/cookieyes.scss',
|
||||
'./assets/scss/components/_clipboard.scss',
|
||||
'./assets/scss/components/_command.scss',
|
||||
'./assets/scss/components/_nav.scss',
|
||||
'./assets/scss/components/_navbar.scss',
|
||||
'./assets/scss/components/_search.scss',
|
||||
'./assets/scss/components/_syntax.scss',
|
||||
'./assets/scss/components/_syntax-dark.scss',
|
||||
'./assets/scss/components/_syntax-light.scss',
|
||||
'./assets/scss/components/_table.scss',
|
||||
'./assets/scss/components/_video.scss',
|
||||
'./assets/scss/theme/fonts.scss',
|
||||
'./assets/scss/theme/theme.scss',
|
||||
'./_vendor/github.com/gethinode/mod-cookieyes/v2/assets/scss/cookieyes.scss',
|
||||
'./_vendor/github.com/gethinode/mod-flexsearch/v2/assets/scss/modules/flexsearch/flexsearch.scss',
|
||||
'./_vendor/github.com/gethinode/mod-katex/dist/katex.scss',
|
||||
'./_vendor/github.com/gethinode/mod-leaflet/dist/leaflet.scss',
|
||||
'./_vendor/github.com/gethinode/mod-simple-datatables/dist/simple-datatables.scss',
|
||||
'./_vendor/github.com/twbs/bootstrap/scss/_carousel.scss',
|
||||
'./_vendor/github.com/twbs/bootstrap/scss/_dropdown.scss',
|
||||
'./_vendor/github.com/twbs/bootstrap/scss/_modal.scss',
|
||||
|
@@ -18,17 +18,17 @@ Hinode provides several shortcodes that wrap common Bootstrap components. Refer
|
||||
|
||||
As an example, the following shortcode displays the full text of an abbreviation on hover.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* abbr "CI/CD" */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Accordion
|
||||
|
||||
As an example, the following shortcode displays an accordion with three elements, of which the first element is expanded.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* accordion */>}}
|
||||
{{</* accordion-item header="Accordion Item #1" show="true" */>}}
|
||||
@@ -43,25 +43,25 @@ As an example, the following shortcode displays an accordion with three elements
|
||||
{{</* /accordion-item */>}}
|
||||
{{</* /accordion */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Alert
|
||||
|
||||
As an example, the following shortcode displays a simple alert.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* alert color="danger" dismissible="true" */>}}
|
||||
A simple danger alert—check it out!
|
||||
{{</* /alert */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Badge
|
||||
|
||||
Use the badge shortcode to display a badge for a heading.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example >}}
|
||||
Heading 1 {{</* badge title="New" */>}}
|
||||
{.h1}
|
||||
@@ -81,35 +81,35 @@ Heading 5 {{</* badge title="New" */>}}
|
||||
Heading 6 {{</* badge title="New" */>}}
|
||||
{.h6}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Breadcrumb
|
||||
|
||||
As an example, the following shortcode displays a breadcrumb for the blog page.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* breadcrumb path="blog" */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Button
|
||||
|
||||
As an example, the following shortcode displays a tooltip for a dark button with a badge.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* button color="secondary" tooltip="Click on the inbox to view your unread messages" href="#!" badge="99+" */>}}
|
||||
Inbox
|
||||
{{</* /button */>}}
|
||||
{{< /example>}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Button group
|
||||
|
||||
As an example, the following shortcode displays a group of three buttons.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* button-group aria-label="Basic example" */>}}
|
||||
{{</* button color="primary" href="#!" */>}}Left{{</* /button */>}}
|
||||
@@ -117,24 +117,24 @@ As an example, the following shortcode displays a group of three buttons.
|
||||
{{</* button color="primary" href="#!" */>}}Right{{</* /button */>}}
|
||||
{{</* /button-group */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Card
|
||||
|
||||
As an example, the following shortcode displays a stacked card that links to the [about]({{% ref "about" %}}) page. It includes a custom header.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* card path="about" padding="3" class="col-6 mx-auto" color="body-tertiary"
|
||||
header="publication" footer="none" button=true /*/>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Card group
|
||||
|
||||
As an example, the following shortcode displays a card group of three elements.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* card-group padding="3" gutter="3" button=true buttonType="link" cols=2 scroll=true */>}}
|
||||
{{</* card title="Bootstrap framework" icon="fab bootstrap" */>}}
|
||||
@@ -149,13 +149,13 @@ As an example, the following shortcode displays a card group of three elements.
|
||||
{{</* /card */>}}
|
||||
{{</* /card-group */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Carousel
|
||||
|
||||
As an example, the following shortcode displays a centered carousel with three slides, 16x9 aspect ratio, and a relative width of 67% on large screens.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* carousel ratio="16x9" class="col-sm-12 col-lg-8 mx-auto" */>}}
|
||||
{{</* img src="img/coffee.jpg" caption="slide 1" */>}}
|
||||
@@ -163,13 +163,13 @@ As an example, the following shortcode displays a centered carousel with three s
|
||||
{{</* img src="img/dunes.jpg" caption="slide 3" */>}}
|
||||
{{</* /carousel */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Collapse
|
||||
|
||||
As an example, the following shortcode displays a button that, when clicked, triggers a panel to appear or disappear.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* button collapse="collapse-1" */>}}
|
||||
Trigger panel
|
||||
@@ -180,23 +180,23 @@ As an example, the following shortcode displays a button that, when clicked, tri
|
||||
revealed when the user activates the relevant trigger.
|
||||
{{</* /collapse */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Command prompt
|
||||
|
||||
Use the `command` shortcode to generate a block with a default bash command prompt.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* command */>}}
|
||||
export MY_VAR=123
|
||||
{{</* /command */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
Specify `user` and `host` to add the user context to the prompt. In addition, use `(out)` to specify an output line and use `\` to denote a line continuation.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* command user="user" host="localhost" */>}}
|
||||
export MY_VAR=123
|
||||
@@ -210,7 +210,7 @@ echo "goodbye"
|
||||
(out)goodbye
|
||||
{{</* /command */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Docs
|
||||
|
||||
@@ -222,47 +222,47 @@ Use the `docs` shortcode to display the content of a `js`, `scss` or `toml` file
|
||||
|
||||
Use the `example` shortcode to display a code example and to render a preview of the same input.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* command */>}}
|
||||
export MY_VAR=123
|
||||
{{</* /command */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## File
|
||||
|
||||
Use the `file` shortcode to print and highlight the full content of a given input file.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* file path="./config/_default/languages.toml" id="file-collapse-1" */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Icon
|
||||
|
||||
As an example, the following shortcodes show a square check, a brand logo, a circle check, and a custom icon.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* fa square-check */>}}
|
||||
{{</* fab linkedin */>}}
|
||||
{{</* fas circle-check */>}}
|
||||
{{</* icon custom activity */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Image
|
||||
|
||||
As an example, the following shortcode displays an image with rounded corners and a 4x3 aspect ratio in portrait mode.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* image src="img/flowers.jpg" ratio="4x3" caption="Figure caption" class="rounded col-md-6"
|
||||
portrait=true wrapper="text-center" */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
The same image, but then using Markdown syntax:
|
||||
|
||||
@@ -273,25 +273,35 @@ The same image, but then using Markdown syntax:
|
||||
|
||||
As an example, the following shortcode displays a regular vector image.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* image src="/img/logo_icon.svg" class="col-sm-6 col-lg-4" wrapper="text-center" */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
As an example, the following shortcode displays a vector image with a symbol reference.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* image src="/img/logo_var.svg#logo" class="col-sm-6 col-lg-4" wrapper="text-center" */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Ins
|
||||
|
||||
As an example, the following shortcode displays underlined text.
|
||||
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example >}}
|
||||
This is an {{</* ins */>}}underlined text{{</* /ins */>}}.
|
||||
{{< /example >}}
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Link
|
||||
|
||||
As an example, the following shortcodes render links in different formats.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
|
||||
- {{</* link hinode >}}Named link with default settings{{< /link */>}}
|
||||
@@ -306,28 +316,28 @@ As an example, the following shortcodes render links in different formats.
|
||||
- {{</* link url="../projects/another-project" case=false /*/>}}
|
||||
- {{</* link "about" /*/>}}
|
||||
- {{</* link "/fr/a-propos/" /*/>}}
|
||||
- {{</* link "/fr/a-propos" >}}About (French){{< /link */>}}
|
||||
- {{</* link href="/fr/a-propos" force=true >}}About (French){{< /link */>}}
|
||||
- {{</* link "#image" /*/>}}
|
||||
- {{</* link "components/#map" /*/>}}
|
||||
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Mark
|
||||
|
||||
Use the `mark` shortcode to highlight text. The inner content is used as input.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
Use the mark shortcode to {{</* mark >}}highlight{{< /mark */>}} specific text.
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Nav
|
||||
|
||||
As an example, the following shortcode displays a tab group with vertically aligned pills.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* nav type="pills" vertical="true" */>}}
|
||||
{{</* nav-item header="Nav Item #1" show="true" */>}}
|
||||
@@ -342,23 +352,23 @@ As an example, the following shortcode displays a tab group with vertically alig
|
||||
{{</* /nav-item */>}}
|
||||
{{</* /nav */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Navbar
|
||||
|
||||
As an example, the following shortcode displays a light navigation header.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* navbar id="navbar-sample" path="blog" color="primary" size="md" search="false" menus="sample" title="Brand" mode="false" */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Persona
|
||||
|
||||
As an example, the following shortcode displays a persona card with a primary color.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* persona thumbnail="/img/creator-1x1.jpg" title="Creators" color="primary" */>}}
|
||||
As a content creator you value your independence. You like to take control of your
|
||||
@@ -370,55 +380,55 @@ As an example, the following shortcode displays a persona card with a primary co
|
||||
Hinode.
|
||||
{{</* /persona */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Release
|
||||
|
||||
As an example, the following shortcode displays a default release button.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* release version="v0.14.1" */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Spinner
|
||||
|
||||
As an example, the following shortcode displays a centered spinner.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* spinner color="info" class="text-center" */>}}
|
||||
Loading...
|
||||
{{</* /spinner */>}}
|
||||
{{< /example>}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Sub
|
||||
|
||||
As an example, the following shortcode displays subscript text.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example >}}
|
||||
H{{</* sub 2 */>}}O is a liquid.
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Sup
|
||||
|
||||
As an example, the following shortcode displays superscript text.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example >}}
|
||||
2{{</* sup 10 */>}} is 1024.
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Table
|
||||
|
||||
As an example, the following shortcode displays a responsive table.
|
||||
|
||||
<!-- markdownlint-disable MD037 MD058 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 MD058 -->{{% /comment %}}
|
||||
{{< example lang="markdown" >}}
|
||||
{{</* table */>}}
|
||||
| # | Heading | Heading | Heading | Heading | Heading | Heading | Heading | Heading | Heading |
|
||||
@@ -428,23 +438,23 @@ As an example, the following shortcode displays a responsive table.
|
||||
| 3. | cell | cel | cel | cel | cel | cel | cel | cel | cel |
|
||||
{{</* /table */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 MD058 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 MD058 -->{{% /comment %}}
|
||||
|
||||
## Timeline
|
||||
|
||||
As an example, the following shortcode displays a timeline with the file `data/timeline.en.yml` as data.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* timeline data="timeline" background="dark" */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Toast
|
||||
|
||||
As an example, the following shortcode displays a button that, when clicked, triggers the toast message.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* button toast="toast-example-1" */>}}
|
||||
Show toast 1
|
||||
@@ -462,44 +472,24 @@ As an example, the following shortcode displays a button that, when clicked, tri
|
||||
This is the second toast message. It supports `markdown.`
|
||||
{{</* /toast */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Tooltip
|
||||
|
||||
As an example, the following shortcode displays a tooltip for a colored hyperlink.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* tooltip color="primary" title="Tooltip caption" href="#!" */>}}Tooltip{{</* /tooltip */>}} demonstration
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Video
|
||||
|
||||
As an example, the following shortcode displays an Elephants video hosted by Cloudinary.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* video host="cloudinary" account="demo" id="elephants" autoplay=true */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
|
||||
## Vimeo
|
||||
|
||||
As an example, the following shortcode displays a Vimeo video.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* vimeo id="55073825" autoplay=true autotitle=true */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
|
||||
## Youtube
|
||||
|
||||
As an example, the following shortcode displays a Hugo quickstart guide.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* youtube id="w7Ft2ymGmfc" autoplay=true autotitle=true */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
@@ -19,19 +19,19 @@ Hinode provides several shortcodes on top of the common [Bootstrap elements]({{%
|
||||
|
||||
As an example, the following shortcode shows an animation that plays on hover.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* animation data="gatin.json" auto=false hover=true class="col-6 mx-auto" */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Data tables
|
||||
|
||||
As an example, the following shortcode displays a responsive table that uses advanced controls.
|
||||
|
||||
<!-- markdownlint-disable MD037 MD058 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 MD058 -->{{% /comment %}}
|
||||
{{< example lang="markdown" >}}
|
||||
{{</* table sortable="true" paging="true" searchable="true" */>}}
|
||||
{{</* table sortable="true" paging="true" searchable="true" pagingOptionPerPage=5 */>}}
|
||||
| # | Heading |
|
||||
|-----|---------|
|
||||
| 1. | Item 1 |
|
||||
@@ -66,7 +66,7 @@ As an example, the following shortcode displays a responsive table that uses adv
|
||||
| 30. | Item 30 |
|
||||
{{</* /table */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Formula (KaTeX)
|
||||
|
||||
@@ -85,8 +85,8 @@ $$\forall x \in X, \quad \exists y \leq \epsilon$$
|
||||
|
||||
As an example, the following shortcode displays an interactive map of the city of Amsterdam.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* map lat=52.377 long=4.90 zoom=13 popup="Amsterdam Central Station" popup-lat=52.378062 popup-long=4.900562 */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
@@ -12,31 +12,31 @@ thumbnail:
|
||||
|
||||
As an example, the following shortcode displays an image with rounded corners and a 21x9 aspect ratio.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* image src="https://res.cloudinary.com/demo/dog.webp"
|
||||
ratio="21x9" caption="Cloudinary image" class="rounded" plain=true */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## ImageKit.io
|
||||
|
||||
As an example, the following shortcode displays an image with rounded corners and a 21x9 aspect ratio.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* image src="https://ik.imagekit.io/demo/default-image.jpg"
|
||||
ratio="21x9" caption="ImageKit.io image" class="rounded" anchor="Center" */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Imgix
|
||||
|
||||
As an example, the following shortcode displays an image with rounded corners and a 21x9 aspect ratio.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* image src="https://assets.imgix.net/examples/bluehat.jpg"
|
||||
ratio="21x9" caption="imgix image" class="rounded" anchor="Top" */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
@@ -4,7 +4,7 @@ description: Cookie policy of gethinode.com
|
||||
date: 2024-09-19
|
||||
layout: docs
|
||||
---
|
||||
<!-- markdownlint-disable MD036 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD036 -->{{% /comment %}}
|
||||
*Effective Date 19-Sep-2024*
|
||||
|
||||
## What are cookies?
|
||||
|
@@ -4,7 +4,7 @@ description: Privacy policy of gethinode.com
|
||||
date: 2024-09-19
|
||||
layout: docs
|
||||
---
|
||||
<!-- markdownlint-disable MD036 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD036 -->{{% /comment %}}
|
||||
*Effective Date 19-Sep-2024*
|
||||
|
||||
This Privacy Policy describes the policies of gethinode.com on the collection, use and disclosure of your information that we collect when you use our website (https://gethinode.com, referred to as the “Service”). By accessing or using the Service, you are consenting to the collection, use and disclosure of your information in accordance with this Privacy Policy. If you do not consent to the same, please do not access or use the Service.
|
||||
@@ -24,7 +24,7 @@ We may also disclose your personal information for the following: (1) to comply
|
||||
|
||||
## Your rights
|
||||
|
||||
Depending on the law that applies, you may have a right to access and rectify or erase your personal data or receive a copy of your personal data, restrict or object to the active processing of your data, ask us to share (port) your personal information to another entity,withdraw any consent you provided to us to process your data, a right to lodge a complaint with a statutory authority and such other rights as may be relevant under applicable laws. <!-- To exercise these rights, you can write to us at privacy@gethinode.com. We will respond to your request in accordance with applicable law. -->
|
||||
Depending on the law that applies, you may have a right to access and rectify or erase your personal data or receive a copy of your personal data, restrict or object to the active processing of your data, ask us to share (port) your personal information to another entity,withdraw any consent you provided to us to process your data, a right to lodge a complaint with a statutory authority and such other rights as may be relevant under applicable laws. {{% comment %}}<!-- To exercise these rights, you can write to us at privacy@gethinode.com. We will respond to your request in accordance with applicable law. -->{{% /comment %}}
|
||||
|
||||
Do note that if you do not allow us to collect or process the required personal information or withdraw the consent to process the same for the required purposes, you may not be able to access or use the services for which your information was sought.
|
||||
|
||||
@@ -40,8 +40,8 @@ The security of your information is important to us and we will use reasonable s
|
||||
|
||||
Our Service may contain links to other websites that are not operated by us. This Privacy Policy does not address the privacy policy and other practices of any third parties, including any third party operating any website or service that may be accessible via a link on the Service. We strongly advise you to review the privacy policy of every site you visit. We have no control over and assume no responsibility for the content, privacy policies or practices of any third party sites or services.
|
||||
|
||||
<!-- ## Grievance / Data Protection Officer
|
||||
{{% comment %}}<!-- ## Grievance / Data Protection Officer
|
||||
|
||||
If you have any queries or concerns about the processing of your information that is available with us, you may email us at privacy@gethinode.com. We will address your concerns in accordance with applicable law. -->
|
||||
If you have any queries or concerns about the processing of your information that is available with us, you may email us at privacy@gethinode.com. We will address your concerns in accordance with applicable law. -->{{% /comment %}}
|
||||
|
||||
*Privacy Policy generated with {{< link "https://www.cookieyes.com" >}}CookieYes{{< /link >}}.*
|
||||
|
@@ -19,17 +19,17 @@ Hinode propose plusieurs shortcodes qui enveloppent des composants Bootstrap cou
|
||||
|
||||
À titre d'exemple, le shortcode suivant affiche le texte complet d'une abréviation lorsque survolé.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* abbr "CI/CD" */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Accordéon
|
||||
|
||||
À titre d'exemple, le shortcode suivant affiche un accordéon avec trois éléments, dont le premier élément est déplié.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* accordion */>}}
|
||||
{{</* accordion-item header="Élément d'accordéon #1" show="true" */>}}
|
||||
@@ -43,25 +43,25 @@ Hinode propose plusieurs shortcodes qui enveloppent des composants Bootstrap cou
|
||||
{{</* /accordion-item */>}}
|
||||
{{</* /accordion */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Alerte
|
||||
|
||||
À titre d'exemple, le shortcode suivant affiche une alerte simple.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* alert color="danger" dismissible="true" */>}}
|
||||
Une simple alerte de danger — vérifiez-la !
|
||||
{{</* /alert */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Badge
|
||||
|
||||
Utilisez le shortcode "badge" pour afficher un badge avec un en-tête.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example >}}
|
||||
En-tête 1 {{</* badge title="Nouveau" */>}}
|
||||
{.h1}
|
||||
@@ -81,35 +81,35 @@ En-tête 5 {{</* badge title="Nouveau" */>}}
|
||||
En-tête 6 {{</* badge title="Nouveau" */>}}
|
||||
{.h6}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Fil d'Ariane
|
||||
|
||||
À titre d'exemple, le shortcode suivant affiche un fil d'Ariane pour la page du blog.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* breadcrumb path="blog" */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Bouton
|
||||
|
||||
À titre d'exemple, le shortcode suivant affiche une infobulle pour un bouton sombre avec un badge.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* button color="secondary" tooltip="Cliquez sur la boîte de réception pour voir vos messages non lus." href="#!" badge="99+" */>}}
|
||||
Boîte de réception
|
||||
{{</* /button */>}}
|
||||
{{< /example>}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Groupe de boutons
|
||||
|
||||
À titre d'exemple, le shortcode suivant affiche un groupe de trois boutons.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* button-group aria-label="Basic example" */>}}
|
||||
{{</* button color="primary" href="#!" */>}}Gauche{{</* /button */>}}
|
||||
@@ -117,26 +117,26 @@ En-tête 6 {{</* badge title="Nouveau" */>}}
|
||||
{{</* button color="primary" href="#!" */>}}Droite{{</* /button */>}}
|
||||
{{</* /button-group */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Carte
|
||||
|
||||
À titre d'exemple, le shortcode suivant affiche une carte empilée qui renvoie à la page [à propos]({{% ref "about" %}}). Elle inclut un en-tête personnalisé.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* card path="about" padding="3" class="col-6 mx-auto" color="body-tertiary"
|
||||
header="publication" footer="none" button=true /*/>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Groupe de cartes
|
||||
|
||||
À titre d'exemple, le shortcode suivant affiche un groupe de cartes avec trois éléments.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* card-group padding="3" gutter="3" */>}}
|
||||
{{</* card-group padding="3" gutter="3" button=true buttonType="link" cols=2 scroll=true */>}}
|
||||
{{</* 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.
|
||||
@@ -151,13 +151,13 @@ En-tête 6 {{</* badge title="Nouveau" */>}}
|
||||
{{</* /card */>}}
|
||||
{{</* /card-group */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Carrousel
|
||||
|
||||
À titre d'exemple, le shortcode suivant affiche un carrousel centré avec trois slides, un rapport hauteur/largeur de 16:9 et une largeur relative de 67 % sur les grands écrans.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* carousel ratio="16x9" class="col-sm-12 col-lg-8 mx-auto" */>}}
|
||||
{{</* img src="img/coffee.jpg" caption="slide 1" */>}}
|
||||
@@ -165,13 +165,13 @@ En-tête 6 {{</* badge title="Nouveau" */>}}
|
||||
{{</* img src="img/dunes.jpg" caption="slide 3" */>}}
|
||||
{{</* /carousel */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Réduire
|
||||
|
||||
À titre d'exemple, le shortcode suivant affiche un bouton qui, lorsqu'il est cliqué, déclenche l'apparition ou la disparition d'un panneau.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* button collapse="collapse-1" */>}}
|
||||
Déclencher le panneau
|
||||
@@ -182,23 +182,23 @@ En-tête 6 {{</* badge title="Nouveau" */>}}
|
||||
sera révélé lorsque l'utilisateur active le déclencheur correspondant.
|
||||
{{</* /collapse */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Invite de commandes
|
||||
|
||||
Utilisez le shortcode `command` pour générer un bloc avec un invite de commandes bash par défaut.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* command */>}}
|
||||
export MY_VAR=123
|
||||
{{</* /command */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
Spécifiez `user` et `host` pour ajouter le contexte de l'utilisateur à l'invite. De plus, utilisez `(out)` pour spécifier une ligne de sortie et utilisez `\` pour indiquer une continuation de ligne.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* command user="user" host="localhost" */>}}
|
||||
export MY_VAR=123
|
||||
@@ -212,7 +212,7 @@ echo "goodbye"
|
||||
(out)goodbye
|
||||
{{</* /command */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Documentation
|
||||
|
||||
@@ -224,67 +224,67 @@ Utilisez le shortcode `docs` pour afficher le contenu d'un fichier `js`, `scss`
|
||||
|
||||
Utilisez le shortcode `example` pour afficher un exemple de code et pour afficher un aperçu de la même entrée.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* command */>}}
|
||||
export MY_VAR=123
|
||||
{{</* /command */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Fichier
|
||||
|
||||
Utilisez le shortcode `file` pour afficher et mettre en évidence le contenu complet d'un fichier d'entrée donné.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* file path="./config/_default/languages.toml" id="file-collapse-1" */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Icon
|
||||
|
||||
À titre d'exemple, les shortcodes suivants affichent une coche carrée, un logo de marque et une coche circulaire.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* fa square-check */>}}
|
||||
{{</* fab linkedin */>}}
|
||||
{{</* fas circle-check */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Image
|
||||
|
||||
À titre d'exemple, le shortcode suivant affiche une image avec des coins arrondis et un ratio d'aspect de 21:9.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* image src="img/flowers.jpg" ratio="21x9" caption="Légende de l'image" class="rounded" */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
À titre d'exemple, le shortcode suivant affiche une image vectorielle classique.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* image src="/img/logo_icon.svg" class="col-sm-6 col-lg-4" wrapper="text-center" */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
À titre d'exemple, le shortcode suivant affiche une image vectorielle avec une référence de symbole.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* image src="/img/logo_var.svg#logo" class="col-sm-6 col-lg-4" wrapper="text-center" */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Lien
|
||||
|
||||
À titre d'exemple, les shortcodes suivants rendent des liens dans différents formats.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
|
||||
- {{</* link hinode >}}Lien nommé avec les paramètres par défaut{{< /link */>}}
|
||||
@@ -298,28 +298,28 @@ Utilisez le shortcode `file` pour afficher et mettre en évidence le contenu com
|
||||
- {{</* link url="../projects/another-project" case=false /*/>}}
|
||||
- {{</* link "about" /*/>}}
|
||||
- {{</* link "/en/about/" /*/>}}
|
||||
- {{</* link "/en/about" >}}About (Anglais){{< /link */>}}
|
||||
- {{</* link url="/en/about/" force=true >}}About (Anglais){{< /link */>}}
|
||||
- {{</* link "#image" /*/>}}
|
||||
- {{</* link "components/#map" /*/>}}
|
||||
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Mark
|
||||
|
||||
Utilisez le shortcode `mark` pour mettre en évidence le texte. Le contenu interne est utilisé en tant qu'entrée.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
Utilisez le shortcode `mark` pour {{</* mark >}}mettre en évidence{{< /mark */>}} un texte spécifique.
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Navigation
|
||||
|
||||
À titre d'exemple, le shortcode suivant affiche un groupe d'onglets avec des onglets alignés verticalement.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* nav type="pills" vertical="true" */>}}
|
||||
{{</* nav-item header="Élément de navigation #1" show="true" */>}}
|
||||
@@ -334,75 +334,75 @@ Utilisez le shortcode `mark` pour {{</* mark >}}mettre en évidence{{< /mark */>
|
||||
{{</* /nav-item */>}}
|
||||
{{</* /nav */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Barre de navigation
|
||||
|
||||
À titre d'exemple, le shortcode suivant affiche un en-tête de navigation clair.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* navbar id="navbar-sample" path="blog" color="primary" size="md" search="false" menus="sample" title="Marque" mode="false" */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Publication
|
||||
|
||||
À titre d'exemple, le shortcode suivant affiche un bouton de publication par défaut.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* release version="v0.14.1" */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Indicateur de chargement
|
||||
|
||||
À titre d'exemple, le raccourci suivant affiche un indicateur de chargement centré.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* spinner color="info" class="text-center" */>}}
|
||||
Chargement...
|
||||
{{</* /spinner */>}}
|
||||
{{< /example>}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Sub
|
||||
|
||||
À titre d'exemple, le shortcode suivant affiche du texte en indice.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example >}}
|
||||
H{{</* sub 2 */>}}O est un liquide.
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Sup
|
||||
|
||||
À titre d'exemple, le shortcode suivant affiche du texte en exposant.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example >}}
|
||||
2{{</* sup 10 */>}} équivaut à 1024.
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Chronologie
|
||||
|
||||
À titre d'exemple, le shortcode suivant affiche une chronologie avec le fichier `data/timeline-fr.yml` en tant que données.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* timeline data="timeline-fr" background="dark" */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Notification
|
||||
|
||||
À titre d'exemple, le shortcode suivant affiche un bouton qui, lorsqu'il est cliqué, déclenche le message de notification.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* button toast="toast-example-1" */>}}
|
||||
Affiche la notification #1
|
||||
@@ -420,14 +420,24 @@ H{{</* sub 2 */>}}O est un liquide.
|
||||
Ceci est le deuxième message de notification. Il prend en charge le `markdown`.
|
||||
{{</* /toast */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Infobulle
|
||||
|
||||
À titre d'exemple, le shortcode suivant affiche une infobulle pour un lien hypertexte coloré.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* tooltip color="primary" title="Légende de l'infobulle" href="#!" */>}}Démonstration{{</* /tooltip */>}} d'une infobulle
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Vidéo
|
||||
|
||||
À titre d'exemple, le shortcode suivant affiche une vidéo d'éléphant hébergée par Cloudinary.
|
||||
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* video host="cloudinary" account="demo" id="elephants" autoplay=true */>}}
|
||||
{{< /example >}}
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
@@ -11,7 +11,7 @@ thumbnail:
|
||||
authorURL: https://unsplash.com/@ryoji__iwata
|
||||
origin: Unsplash
|
||||
originURL: https://unsplash.com/photos/5siQcvSxCP8
|
||||
modules: ["katex", "leaflet", "lottie"]
|
||||
modules: ["leaflet", "lottie", "simple-datatables"]
|
||||
---
|
||||
|
||||
Hinode propose plusieurs shortcodes en plus des [éléments Bootstrap]({{% relref "bootstrap-elements" %}}) courants. Consultez la [documentation officielle]({{% param "links.hinode_docs" %}}) pour plus de détails.
|
||||
@@ -20,18 +20,61 @@ Hinode propose plusieurs shortcodes en plus des [éléments Bootstrap]({{% relre
|
||||
|
||||
À titre d'exemple, le shortcode suivant affiche une animation qui se déclenche au survol.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* animation data="gatin.json" auto=false hover=true class="col-6 mx-auto" */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Data tables
|
||||
|
||||
À titre d'exemple, le shortcode suivant affiche un tableau réactif utilisant des contrôles avancés.
|
||||
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 MD058 -->{{% /comment %}}
|
||||
{{< example lang="markdown" >}}
|
||||
{{</* table sortable="true" paging="true" searchable="true" pagingOptionPerPage=5 */>}}
|
||||
| # | Heading |
|
||||
|-----|---------|
|
||||
| 1. | Item 1 |
|
||||
| 2. | Item 2 |
|
||||
| 3. | Item 3 |
|
||||
| 4. | Item 4 |
|
||||
| 5. | Item 5 |
|
||||
| 6. | Item 6 |
|
||||
| 7. | Item 7 |
|
||||
| 8. | Item 8 |
|
||||
| 9. | Item 9 |
|
||||
| 10. | Item 10 |
|
||||
| 11. | Item 11 |
|
||||
| 12. | Item 12 |
|
||||
| 13. | Item 13 |
|
||||
| 14. | Item 14 |
|
||||
| 15. | Item 15 |
|
||||
| 16. | Item 16 |
|
||||
| 17. | Item 17 |
|
||||
| 18. | Item 18 |
|
||||
| 19. | Item 19 |
|
||||
| 20. | Item 20 |
|
||||
| 21. | Item 21 |
|
||||
| 22. | Item 22 |
|
||||
| 23. | Item 23 |
|
||||
| 24. | Item 24 |
|
||||
| 25. | Item 25 |
|
||||
| 26. | Item 26 |
|
||||
| 27. | Item 27 |
|
||||
| 28. | Item 28 |
|
||||
| 29. | Item 29 |
|
||||
| 30. | Item 30 |
|
||||
{{</* /table */>}}
|
||||
{{< /example >}}
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Formule (KaTeX)
|
||||
|
||||
À titre d'exemple, le markdown suivant affiche deux formules en utilisant la bibliothèque de composition typographique KaTeX.
|
||||
À titre d’exemple, le markdown suivant affiche deux formules en utilisant la bibliothèque de composition typographique KaTeX.
|
||||
|
||||
{{< example lang="markdown" >}}
|
||||
Voici une formule en ligne $-b \pm \sqrt{b^2 - 4ac} \over 2a$.
|
||||
{{{< example lang="markdown" >}}
|
||||
Voici une formule $-b \pm \sqrt{b^2 - 4ac} \over 2a$ en ligne
|
||||
|
||||
Il s'agit d'une formule non en ligne:
|
||||
|
||||
@@ -43,8 +86,8 @@ $$\forall x \in X, \quad \exists y \leq \epsilon$$
|
||||
|
||||
À titre d'exemple, le shortcode suivant affiche une carte interactive de la ville d'Amsterdam.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* map lat=52.377 long=4.90 zoom=13 popup="Gare centrale d'Amsterdam" popup-lat=52.378062 popup-long=4.900562 */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
42
exampleSite/content/fr/blog/image.md
Normal file
42
exampleSite/content/fr/blog/image.md
Normal file
@@ -0,0 +1,42 @@
|
||||
---
|
||||
author: Mark Dumay
|
||||
title: Images locales et distantes
|
||||
date: 2024-05-19
|
||||
description: Inclure des images responsives provenant de sources locales et de certains fournisseurs de CDN d'images.
|
||||
tags: ["blog"]
|
||||
thumbnail:
|
||||
url: https://assets.imgix.net/examples/bluehat.jpg
|
||||
---
|
||||
|
||||
## Cloudinary
|
||||
|
||||
À titre d'exemple, le shortcode suivant affiche une image avec des coins arrondis et un ratio d'aspect de 21x9.
|
||||
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* image src="https://res.cloudinary.com/demo/dog.webp"
|
||||
ratio="21x9" caption="Image Cloudinary" class="rounded" plain=true */>}}
|
||||
{{< /example >}}
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## ImageKit.io
|
||||
|
||||
À titre d'exemple, le shortcode suivant affiche une image avec des coins arrondis et un ratio d'aspect de 21x9.
|
||||
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* image src="https://ik.imagekit.io/demo/default-image.jpg"
|
||||
ratio="21x9" caption="Image ImageKit.io" class="rounded" anchor="Center" */>}}
|
||||
{{< /example >}}
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Imgix
|
||||
|
||||
À titre d'exemple, le shortcode suivant affiche une image avec des coins arrondis et un ratio d'aspect de 21x9.
|
||||
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* image src="https://assets.imgix.net/examples/bluehat.jpg"
|
||||
ratio="21x9" caption="Image imgix" class="rounded" anchor="Top" */>}}
|
||||
{{< /example >}}
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
44
exampleSite/content/fr/cookies.md
Normal file
44
exampleSite/content/fr/cookies.md
Normal file
@@ -0,0 +1,44 @@
|
||||
---
|
||||
title: Politique de Cookies
|
||||
description: Politique de cookies de gethinode.com
|
||||
date: 2024-09-19
|
||||
layout: docs
|
||||
---
|
||||
{{% comment %}}<!-- markdownlint-disable MD036 -->{{% /comment %}}
|
||||
*Date d'entrée en vigueur : 19-Sep-2024*
|
||||
|
||||
## Que sont les cookies ?
|
||||
|
||||
Cette Politique de Cookies explique ce que sont les cookies et comment nous les utilisons, les types de cookies que nous utilisons, c'est-à-dire les informations que nous collectons à l'aide des cookies, la manière dont ces informations sont utilisées, et comment gérer les paramètres des cookies.
|
||||
|
||||
Les cookies sont de petits fichiers texte utilisés pour stocker de petites quantités d'informations. Ils sont stockés sur votre appareil lorsque le site web se charge dans votre navigateur. Ces cookies nous aident à faire fonctionner le site correctement, à le rendre plus sécurisé, à offrir une meilleure expérience utilisateur, à comprendre comment le site fonctionne et à analyser ce qui fonctionne et ce qui doit être amélioré.
|
||||
|
||||
## Comment utilisons-nous les cookies ?
|
||||
|
||||
Comme la plupart des services en ligne, notre site web utilise des cookies de première partie et de tierce partie pour plusieurs raisons. Les cookies de première partie sont principalement nécessaires pour que le site web fonctionne correctement et ne collectent aucune de vos données personnelles identifiables.
|
||||
|
||||
Les cookies de tierce partie utilisés sur notre site web servent principalement à comprendre les performances du site, à savoir comment vous interagissez avec notre site, à maintenir la sécurité de nos services, à diffuser des publicités pertinentes pour vous, et dans l’ensemble à vous offrir une meilleure expérience utilisateur et à accélérer vos interactions futures avec notre site.
|
||||
|
||||
## Types de cookies que nous utilisons
|
||||
|
||||
{{< cky-audit >}}
|
||||
|
||||
## Gérer les préférences des cookies
|
||||
|
||||
{{< cky-banner >}}
|
||||
|
||||
Vous pouvez modifier vos préférences en matière de cookies à tout moment en cliquant sur le bouton ci-dessus. Cela vous permettra de revoir la bannière de consentement aux cookies et de modifier vos préférences ou de retirer votre consentement immédiatement.
|
||||
|
||||
En plus de cela, les différents navigateurs offrent différentes méthodes pour bloquer et supprimer les cookies utilisés par les sites web. Vous pouvez modifier les paramètres de votre navigateur pour bloquer/supprimer les cookies. Vous trouverez ci-dessous les liens vers les documents de support sur la gestion et la suppression des cookies des principaux navigateurs web.
|
||||
|
||||
Chrome : https://support.google.com/accounts/answer/32050
|
||||
|
||||
Safari : https://support.apple.com/fr-fr/guide/safari/sfri11471/mac
|
||||
|
||||
Firefox : https://support.mozilla.org/fr/kb/effacer-cookies-donnees-sites-firefox
|
||||
|
||||
Internet Explorer : https://support.microsoft.com/fr-fr/topic/supprimer-les-fichiers-cookies-dans-internet-explorer-bca9446f-d873-78de-77ba-d42645fa52fc
|
||||
|
||||
Si vous utilisez un autre navigateur, veuillez consulter les documents d'assistance officiels de votre navigateur.
|
||||
|
||||
*Politique de Cookies générée par {{< link "https://www.cookieyes.com" >}}CookieYes - Générateur de Politique de Cookies{{< /link >}}.*
|
46
exampleSite/content/fr/privacy.md
Normal file
46
exampleSite/content/fr/privacy.md
Normal file
@@ -0,0 +1,46 @@
|
||||
---
|
||||
title: Politique de Confidentialité
|
||||
description: Politique de confidentialité de gethinode.com
|
||||
date: 2024-09-19
|
||||
layout: docs
|
||||
---
|
||||
{{% comment %}}<!-- markdownlint-disable MD036 -->{{% /comment %}}
|
||||
*Date d'entrée en vigueur : 19-Sep-2024*
|
||||
|
||||
Cette Politique de Confidentialité décrit les politiques de gethinode.com concernant la collecte, l'utilisation et la divulgation de vos informations que nous collectons lorsque vous utilisez notre site web (https://gethinode.com, désigné comme le « Service »). En accédant ou en utilisant le Service, vous consentez à la collecte, à l'utilisation et à la divulgation de vos informations conformément à cette Politique de Confidentialité. Si vous ne consentez pas à cela, veuillez ne pas accéder ou utiliser le Service.
|
||||
|
||||
Nous pouvons modifier cette Politique de Confidentialité à tout moment sans préavis préalable et publierons la Politique de Confidentialité révisée sur le Service. La Politique révisée sera effective 180 jours après sa publication sur le Service et votre accès ou utilisation continu(e) du Service après ce délai constituera votre acceptation de la Politique de Confidentialité révisée. Nous vous recommandons donc de consulter régulièrement cette page.
|
||||
|
||||
## Comment nous partageons vos informations
|
||||
|
||||
Nous ne transférerons pas vos informations personnelles à des tiers sans obtenir votre consentement, sauf dans les circonstances limitées décrites ci-dessous :
|
||||
|
||||
- Analyses
|
||||
|
||||
Nous demandons à ces tiers d'utiliser les informations personnelles que nous leur transférons uniquement aux fins pour lesquelles elles ont été transférées et de ne pas les conserver plus longtemps que nécessaire pour accomplir cet objectif.
|
||||
|
||||
Nous pouvons également divulguer vos informations personnelles pour les raisons suivantes : (1) pour se conformer aux lois, règlements, ordonnances judiciaires ou autres procédures légales applicables ; (2) pour faire respecter vos accords avec nous, y compris cette Politique de Confidentialité ; ou (3) pour répondre à des réclamations selon lesquelles votre utilisation du Service viole les droits de tiers. Si le Service ou notre société est fusionné ou acquis par une autre entreprise, vos informations seront l'un des actifs transférés au nouveau propriétaire.
|
||||
|
||||
## Vos droits
|
||||
|
||||
Selon les lois applicables, vous pouvez avoir le droit d'accéder à vos données personnelles, de les rectifier ou de les effacer, de recevoir une copie de vos données personnelles, de restreindre ou de vous opposer au traitement actif de vos données, de nous demander de partager (transférer) vos informations personnelles à une autre entité, de retirer tout consentement que vous nous avez donné pour traiter vos données, un droit de porter plainte auprès d'une autorité statutaire et d'autres droits pertinents en vertu des lois applicables. {{% comment %}}<!-- Pour exercer ces droits, vous pouvez nous écrire à privacy@gethinode.com. Nous répondrons à votre demande conformément aux lois applicables. -->{{% /comment %}}
|
||||
|
||||
Notez que si vous ne nous autorisez pas à collecter ou traiter les informations personnelles requises, ou si vous retirez votre consentement pour traiter celles-ci pour les fins requises, vous pourriez ne pas être en mesure d'accéder ou d'utiliser les services pour lesquels vos informations ont été demandées.
|
||||
|
||||
## Cookies, etc.
|
||||
|
||||
Pour en savoir plus sur la manière dont nous utilisons ces technologies de suivi et vos choix à leur égard, veuillez consulter notre {{< link "cookies" >}}Politique/Paramètres des Cookies{{< /link >}}.
|
||||
|
||||
## Sécurité
|
||||
|
||||
La sécurité de vos informations est importante pour nous et nous utiliserons des mesures de sécurité raisonnables pour prévenir la perte, l'utilisation abusive ou l'altération non autorisée de vos informations sous notre contrôle. Cependant, compte tenu des risques inhérents, nous ne pouvons garantir une sécurité absolue et par conséquent, nous ne pouvons garantir la sécurité des informations que vous nous transmettez ; vous le faites à vos propres risques.
|
||||
|
||||
## Liens vers des tiers et utilisation de vos informations
|
||||
|
||||
Notre Service peut contenir des liens vers d'autres sites web qui ne sont pas exploités par nous. Cette Politique de Confidentialité ne couvre pas la politique de confidentialité et les autres pratiques de tout tiers, y compris tout tiers exploitant tout site ou service qui pourrait être accessible via un lien sur le Service. Nous vous conseillons fortement de consulter la politique de confidentialité de chaque site que vous visitez. Nous n'avons aucun contrôle sur le contenu, les politiques de confidentialité ou les pratiques des sites ou services de tiers et déclinons toute responsabilité à cet égard.
|
||||
|
||||
{{% comment %}}<!-- ## Responsable des plaintes / Protection des données
|
||||
|
||||
Si vous avez des questions ou des préoccupations concernant le traitement de vos informations dont nous disposons, vous pouvez nous envoyer un e-mail à privacy@gethinode.com. Nous répondrons à vos préoccupations conformément aux lois applicables. -->{{% /comment %}}
|
||||
|
||||
*Politique de Confidentialité générée avec {{< link "https://www.cookieyes.com" >}}CookieYes{{< /link >}}.*
|
92
exampleSite/content/nl/blog/components.md
Normal file
92
exampleSite/content/nl/blog/components.md
Normal file
@@ -0,0 +1,92 @@
|
||||
---
|
||||
author: Mark Dumay
|
||||
title: Componenten
|
||||
date: 2023-09-23
|
||||
description: Gebruik shortcodes om diverse componenten vanuit een externe softwarebibliotheek toe te voegen.
|
||||
tags: ["bootstrap", "shortcode"]
|
||||
thumbnail:
|
||||
url: img/puzzle.jpg
|
||||
author: Ryoji Iwata
|
||||
authorURL: https://unsplash.com/@ryoji__iwata
|
||||
origin: Unsplash
|
||||
originURL: https://unsplash.com/photos/5siQcvSxCP8
|
||||
modules: ["leaflet", "lottie", "simple-datatables"]
|
||||
---
|
||||
|
||||
Hinode bevat meerdere shortcodes naast de generieke Bootstrap elementen. Zie de [officiële documentatie]({{% param "links.hinode_docs" %}}) voor meer informatie.
|
||||
|
||||
## Animatie
|
||||
|
||||
Het volgende voorbeeld gebruikt een shortcode om een animatie te tonen, die afspeelt zodra je er met de muis overheen beweegt.
|
||||
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* animation data="gatin.json" auto=false hover=true class="col-6 mx-auto" */>}}
|
||||
{{< /example >}}
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
||||
|
||||
## Gegevenstabellen
|
||||
|
||||
Het volgende voorbeeld gebruikt een shortcode om een responsieve tabel met geavanceerde mogelijkheden te tonen.
|
||||
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 MD058 -->{{% /comment %}}
|
||||
{{< example lang="markdown" >}}
|
||||
{{</* table sortable="true" paging="true" searchable="true" pagingOptionPerPage=5 */>}}
|
||||
| # | Kop |
|
||||
|-----|---------|
|
||||
| 1. | Item 1 |
|
||||
| 2. | Item 2 |
|
||||
| 3. | Item 3 |
|
||||
| 4. | Item 4 |
|
||||
| 5. | Item 5 |
|
||||
| 6. | Item 6 |
|
||||
| 7. | Item 7 |
|
||||
| 8. | Item 8 |
|
||||
| 9. | Item 9 |
|
||||
| 10. | Item 10 |
|
||||
| 11. | Item 11 |
|
||||
| 12. | Item 12 |
|
||||
| 13. | Item 13 |
|
||||
| 14. | Item 14 |
|
||||
| 15. | Item 15 |
|
||||
| 16. | Item 16 |
|
||||
| 17. | Item 17 |
|
||||
| 18. | Item 18 |
|
||||
| 19. | Item 19 |
|
||||
| 20. | Item 20 |
|
||||
| 21. | Item 21 |
|
||||
| 22. | Item 22 |
|
||||
| 23. | Item 23 |
|
||||
| 24. | Item 24 |
|
||||
| 25. | Item 25 |
|
||||
| 26. | Item 26 |
|
||||
| 27. | Item 27 |
|
||||
| 28. | Item 28 |
|
||||
| 29. | Item 29 |
|
||||
| 30. | Item 30 |
|
||||
{{</* /table */>}}
|
||||
{{< /example >}}
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 MD058 -->{{% /comment %}}
|
||||
|
||||
## Formule (KaTeX)
|
||||
|
||||
Het volgende voorbeeld gebruikt Markdown om twee formules met behulp van KaTeX op de server te genereren.
|
||||
|
||||
{{< example lang="markdown" >}}
|
||||
Dit is een inline $-b \pm \sqrt{b^2 - 4ac} \over 2a$ formule
|
||||
|
||||
Dit is geen inline formule:
|
||||
|
||||
$$x = a_0 + \frac{1}{a_1 + \frac{1}{a_2 + \frac{1}{a_3 + a_4}}}$$
|
||||
$$\forall x \in X, \quad \exists y \leq \epsilon$$
|
||||
{{< /example >}}
|
||||
|
||||
## Kaart
|
||||
|
||||
Het volgende voorbeeld gebruikt een shortcode om een interactieve kaart van Amsterdam te tonen.
|
||||
|
||||
{{% comment %}}<!-- markdownlint-disable MD037 -->{{% /comment %}}
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* map lat=52.377 long=4.90 zoom=13 popup="Amsterdam Central Station" popup-lat=52.378062 popup-long=4.900562 */>}}
|
||||
{{< /example >}}
|
||||
{{% comment %}}<!-- markdownlint-enable MD037 -->{{% /comment %}}
|
@@ -3,5 +3,5 @@ module github.com/gethinode/hinode/exampleSite
|
||||
go 1.19
|
||||
|
||||
require (
|
||||
github.com/gethinode/mod-cookieyes/v2 v2.2.2 // indirect
|
||||
github.com/gethinode/mod-cookieyes/v2 v2.2.4 // indirect
|
||||
)
|
||||
|
@@ -1,2 +1,2 @@
|
||||
github.com/gethinode/mod-cookieyes/v2 v2.2.2 h1:VNIdbZnzXw/0Jito/IcDNqQ9yRYLCGrDwyrMqtSJgE4=
|
||||
github.com/gethinode/mod-cookieyes/v2 v2.2.2/go.mod h1:tULb7D7CoTycGUyL7ryqHJKaX11XuL2SN+XwP7/DI0Y=
|
||||
github.com/gethinode/mod-cookieyes/v2 v2.2.4 h1:MxKKNSpX2cb9+4l3mH/xfZUqiJ1buaGLj0AFRnPci5M=
|
||||
github.com/gethinode/mod-cookieyes/v2 v2.2.4/go.mod h1:tULb7D7CoTycGUyL7ryqHJKaX11XuL2SN+XwP7/DI0Y=
|
||||
|
@@ -14,7 +14,6 @@
|
||||
"footer",
|
||||
"form",
|
||||
"h2",
|
||||
"h3",
|
||||
"head",
|
||||
"hr",
|
||||
"html",
|
||||
@@ -22,6 +21,7 @@
|
||||
"iframe",
|
||||
"img",
|
||||
"input",
|
||||
"ins",
|
||||
"label",
|
||||
"li",
|
||||
"link",
|
||||
@@ -64,6 +64,7 @@
|
||||
"use"
|
||||
],
|
||||
"classes": [
|
||||
"%!s(<nil>)",
|
||||
"accordion",
|
||||
"accordion-body",
|
||||
"accordion-button",
|
||||
@@ -206,6 +207,7 @@
|
||||
"fa-2xs",
|
||||
"fa-4x",
|
||||
"fa-activity",
|
||||
"fa-angle-left",
|
||||
"fa-arrow-left",
|
||||
"fa-arrow-right",
|
||||
"fa-bootstrap",
|
||||
@@ -249,6 +251,7 @@
|
||||
"font-monospace",
|
||||
"footer",
|
||||
"form-control",
|
||||
"fs-2",
|
||||
"fs-3",
|
||||
"fs-5",
|
||||
"fs-6",
|
||||
@@ -315,7 +318,7 @@
|
||||
"mt-5",
|
||||
"mt-auto",
|
||||
"mt-md-0",
|
||||
"multi-docs-collapse-15",
|
||||
"multi-docs-collapse-41",
|
||||
"multi-file-collapse-1",
|
||||
"mx-auto",
|
||||
"mx-md-0",
|
||||
@@ -354,7 +357,6 @@
|
||||
"p-2",
|
||||
"p-3",
|
||||
"p-4",
|
||||
"pb-2",
|
||||
"pb-3",
|
||||
"pb-4",
|
||||
"pb-5",
|
||||
@@ -370,6 +372,7 @@
|
||||
"ps-1",
|
||||
"ps-3",
|
||||
"pt-1",
|
||||
"pt-4",
|
||||
"pt-5",
|
||||
"pt-md-3",
|
||||
"ptw-3",
|
||||
@@ -466,6 +469,8 @@
|
||||
"toast-header",
|
||||
"toc",
|
||||
"toc-button",
|
||||
"toc-item",
|
||||
"toc-level-1",
|
||||
"toc-panel",
|
||||
"toc-sidebar",
|
||||
"toggler-icon",
|
||||
@@ -482,7 +487,6 @@
|
||||
"w-50"
|
||||
],
|
||||
"ids": [
|
||||
"TableOfContents",
|
||||
"abbr",
|
||||
"accordion",
|
||||
"accordion-0",
|
||||
@@ -495,11 +499,12 @@
|
||||
"accordéon",
|
||||
"alert",
|
||||
"alerte",
|
||||
"animatie",
|
||||
"animation",
|
||||
"badge",
|
||||
"barre-de-navigation",
|
||||
"blog",
|
||||
"body-docs-collapse-15",
|
||||
"body-docs-collapse-41",
|
||||
"body-file-collapse-1",
|
||||
"bouton",
|
||||
"breadcrumb",
|
||||
@@ -516,6 +521,8 @@
|
||||
"collapse",
|
||||
"collapse-1",
|
||||
"command-prompt",
|
||||
"comment-nous-partageons-vos-informations",
|
||||
"comment-utilisons-nous-les-cookies-",
|
||||
"cookies-etc",
|
||||
"custom-activity",
|
||||
"data-tables",
|
||||
@@ -556,12 +563,14 @@
|
||||
"fichier",
|
||||
"fil-dariane",
|
||||
"file",
|
||||
"footer-docs-collapse-15",
|
||||
"footer-docs-collapse-41",
|
||||
"footer-file-collapse-1",
|
||||
"formula-katex",
|
||||
"formule-katex",
|
||||
"gegevenstabellen",
|
||||
"groupe-de-boutons",
|
||||
"groupe-de-cartes",
|
||||
"gérer-les-préférences-des-cookies",
|
||||
"how-do-we-use-cookies",
|
||||
"how-we-share-your-information",
|
||||
"icon",
|
||||
@@ -570,23 +579,26 @@
|
||||
"imgix",
|
||||
"indicateur-de-chargement",
|
||||
"infobulle",
|
||||
"ins",
|
||||
"invite-de-commandes",
|
||||
"kaart",
|
||||
"language-selector",
|
||||
"leaflet-map-0",
|
||||
"lien",
|
||||
"liens-vers-des-tiers-et-utilisation-de-vos-informations",
|
||||
"link",
|
||||
"lottie-animation-0",
|
||||
"manage-cookie-preferences",
|
||||
"map",
|
||||
"mark",
|
||||
"nav",
|
||||
"nav-0",
|
||||
"nav-0-0",
|
||||
"nav-0-1",
|
||||
"nav-0-2",
|
||||
"nav-0-btn-0",
|
||||
"nav-0-btn-1",
|
||||
"nav-0-btn-2",
|
||||
"nav-nav-0",
|
||||
"navbar",
|
||||
"navbar-0-collapse",
|
||||
"navbar-mode",
|
||||
@@ -599,12 +611,14 @@
|
||||
"projects",
|
||||
"projets",
|
||||
"publication",
|
||||
"que-sont-les-cookies-",
|
||||
"release",
|
||||
"réduire",
|
||||
"security",
|
||||
"spinner",
|
||||
"sub",
|
||||
"sup",
|
||||
"sécurité",
|
||||
"table",
|
||||
"third-party-links--use-of-your-information",
|
||||
"timeline",
|
||||
@@ -616,12 +630,13 @@
|
||||
"toast-message-email-4",
|
||||
"toc-collapse",
|
||||
"tooltip",
|
||||
"types-de-cookies-que-nous-utilisons",
|
||||
"types-of-cookies-we-use",
|
||||
"video",
|
||||
"vimeo",
|
||||
"vidéo",
|
||||
"vos-droits",
|
||||
"what-are-cookies",
|
||||
"your-rights",
|
||||
"youtube"
|
||||
"your-rights"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
20
go.mod
20
go.mod
@@ -4,16 +4,16 @@ go 1.19
|
||||
|
||||
require (
|
||||
github.com/airbnb/lottie-web v5.12.2+incompatible // indirect
|
||||
github.com/gethinode/mod-bootstrap v1.3.1 // indirect
|
||||
github.com/gethinode/mod-csp v1.0.3 // indirect
|
||||
github.com/gethinode/mod-flexsearch/v2 v2.0.1 // indirect
|
||||
github.com/gethinode/mod-fontawesome v1.10.0 // indirect
|
||||
github.com/gethinode/mod-google-analytics v1.1.3 // indirect
|
||||
github.com/gethinode/mod-katex v1.1.2 // indirect
|
||||
github.com/gethinode/mod-leaflet v1.2.0 // indirect
|
||||
github.com/gethinode/mod-lottie v1.5.11 // indirect
|
||||
github.com/gethinode/mod-simple-datatables v1.0.14 // indirect
|
||||
github.com/gethinode/mod-utils/v2 v2.8.3 // indirect
|
||||
github.com/gethinode/mod-bootstrap v1.3.2 // indirect
|
||||
github.com/gethinode/mod-csp v1.0.7 // indirect
|
||||
github.com/gethinode/mod-flexsearch/v2 v2.1.0 // indirect
|
||||
github.com/gethinode/mod-fontawesome v1.10.1 // indirect
|
||||
github.com/gethinode/mod-google-analytics v1.3.1 // indirect
|
||||
github.com/gethinode/mod-katex v1.1.3 // indirect
|
||||
github.com/gethinode/mod-leaflet v1.2.1 // indirect
|
||||
github.com/gethinode/mod-lottie v1.5.13 // indirect
|
||||
github.com/gethinode/mod-simple-datatables v1.1.7 // indirect
|
||||
github.com/gethinode/mod-utils/v2 v2.9.0 // indirect
|
||||
github.com/nextapps-de/flexsearch v0.0.0-20240501124520-961c3ae84a87 // indirect
|
||||
github.com/twbs/bootstrap v5.3.3+incompatible // indirect
|
||||
)
|
||||
|
60
go.sum
60
go.sum
@@ -24,6 +24,8 @@ github.com/gethinode/mod-bootstrap v1.3.0 h1:UxNmXgXo7gA8C8z1ar47+tSccmKYpaYBBN+
|
||||
github.com/gethinode/mod-bootstrap v1.3.0/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ=
|
||||
github.com/gethinode/mod-bootstrap v1.3.1 h1:ZUX72St0WZ5tyXpEPBJlayX/dmCH3cGErzsozkUKCok=
|
||||
github.com/gethinode/mod-bootstrap v1.3.1/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ=
|
||||
github.com/gethinode/mod-bootstrap v1.3.2 h1:mf9Qgr+xHZeHjZGYFdurETfdEKKldB158fpjH0GoaNU=
|
||||
github.com/gethinode/mod-bootstrap v1.3.2/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ=
|
||||
github.com/gethinode/mod-csp v1.0.0 h1:Obp0MVMBjIPZbKDh6Ejl5pImDG7yERMLf2or9UVnwPA=
|
||||
github.com/gethinode/mod-csp v1.0.0/go.mod h1:Nb22QMicoUHgZQUKP5TCgVrSI8K3KU7jLuLBShmotjg=
|
||||
github.com/gethinode/mod-csp v1.0.1 h1:IUUwPc41UNw7DAFuJ75nNPzhkPExenxXU7susdLaxdQ=
|
||||
@@ -32,6 +34,14 @@ github.com/gethinode/mod-csp v1.0.2 h1:KX8EeoCGbHhGSo5r0YIa9BmPZ6S6v7L9CChTejREk
|
||||
github.com/gethinode/mod-csp v1.0.2/go.mod h1:Nb22QMicoUHgZQUKP5TCgVrSI8K3KU7jLuLBShmotjg=
|
||||
github.com/gethinode/mod-csp v1.0.3 h1:tRmnuVZ3UpCc9HR8qsAwbU0OJ/UsNVSbse0SZuwGcCg=
|
||||
github.com/gethinode/mod-csp v1.0.3/go.mod h1:Nb22QMicoUHgZQUKP5TCgVrSI8K3KU7jLuLBShmotjg=
|
||||
github.com/gethinode/mod-csp v1.0.4 h1:ChI+DMkkkCF5tKs+K9VSqdsXPS01/QANQiJ2LoJp10o=
|
||||
github.com/gethinode/mod-csp v1.0.4/go.mod h1:Nb22QMicoUHgZQUKP5TCgVrSI8K3KU7jLuLBShmotjg=
|
||||
github.com/gethinode/mod-csp v1.0.5 h1:Ypdzw26iQ9/4sAgHvwFY1mg/EMoLrcI2knvVmHq2Ffs=
|
||||
github.com/gethinode/mod-csp v1.0.5/go.mod h1:Nb22QMicoUHgZQUKP5TCgVrSI8K3KU7jLuLBShmotjg=
|
||||
github.com/gethinode/mod-csp v1.0.6 h1:ufEKQldQe9ZCXbENTpwqVlYnPRgVv3WDhPjur5OLUEA=
|
||||
github.com/gethinode/mod-csp v1.0.6/go.mod h1:Nb22QMicoUHgZQUKP5TCgVrSI8K3KU7jLuLBShmotjg=
|
||||
github.com/gethinode/mod-csp v1.0.7 h1:V4D8vYA/jJ2Nv9kPz5gt96fkVd3NtT7sBqVhnG5TvAU=
|
||||
github.com/gethinode/mod-csp v1.0.7/go.mod h1:Nb22QMicoUHgZQUKP5TCgVrSI8K3KU7jLuLBShmotjg=
|
||||
github.com/gethinode/mod-flexsearch v1.0.1 h1:FJkRsUzSnQTXl3MWCigT4E6vfff870UWTnkGqaDGIhA=
|
||||
github.com/gethinode/mod-flexsearch v1.0.1/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
|
||||
github.com/gethinode/mod-flexsearch v1.1.0 h1:7BCMyQDlYlskNXuazt8Jg/jg9WREexu2xVkYqThkAX4=
|
||||
@@ -82,6 +92,12 @@ github.com/gethinode/mod-flexsearch v1.12.1 h1:clkGUWaNPe9Dt/66Apy7oH9NwVQfnD6Op
|
||||
github.com/gethinode/mod-flexsearch v1.12.1/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ=
|
||||
github.com/gethinode/mod-flexsearch/v2 v2.0.1 h1:5unGUSb1tX1LBtKygnLfdt7CnVJuFKSt6VXiKRxdojc=
|
||||
github.com/gethinode/mod-flexsearch/v2 v2.0.1/go.mod h1:d7MMkVlz0l6cEk76e0mkveEsDxGfu5Sv+HUIhoGguhE=
|
||||
github.com/gethinode/mod-flexsearch/v2 v2.0.2 h1:5FkLbjORwKvK544H/yaAltyIB7eptRPxxh5VcfDDeqM=
|
||||
github.com/gethinode/mod-flexsearch/v2 v2.0.2/go.mod h1:d7MMkVlz0l6cEk76e0mkveEsDxGfu5Sv+HUIhoGguhE=
|
||||
github.com/gethinode/mod-flexsearch/v2 v2.0.3 h1:lC4UN9DPYyj3lsRm86Rt+kKx2DmAS10dOxbM/1H8fVw=
|
||||
github.com/gethinode/mod-flexsearch/v2 v2.0.3/go.mod h1:d7MMkVlz0l6cEk76e0mkveEsDxGfu5Sv+HUIhoGguhE=
|
||||
github.com/gethinode/mod-flexsearch/v2 v2.1.0 h1:NzCruYAKQBMM1DwFFoH7/tzqmItR6sKByMHZWRaRiRk=
|
||||
github.com/gethinode/mod-flexsearch/v2 v2.1.0/go.mod h1:d7MMkVlz0l6cEk76e0mkveEsDxGfu5Sv+HUIhoGguhE=
|
||||
github.com/gethinode/mod-fontawesome v1.0.2 h1:ZSK6D20/w4y5GnfYfTBB58uHD0ChIfkpKfRGwioS9rg=
|
||||
github.com/gethinode/mod-fontawesome v1.0.2/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
|
||||
github.com/gethinode/mod-fontawesome v1.1.0 h1:rsDzUI+3ZlS/do2ff3ne8/z3KwHeysmuA+WsXlumXXk=
|
||||
@@ -126,6 +142,8 @@ github.com/gethinode/mod-fontawesome v1.9.1 h1:cQk84vriqffM4fuUUoM9j3SSD+3ppeW2j
|
||||
github.com/gethinode/mod-fontawesome v1.9.1/go.mod h1:xBKsZH3WJtMOItZVlp9SbO51uaBy6IbvUZSKpNu3b6Y=
|
||||
github.com/gethinode/mod-fontawesome v1.10.0 h1:Izs2AKc+YVBa1TywcH54OKLTNCUMXRoFIqOs+n0FgOo=
|
||||
github.com/gethinode/mod-fontawesome v1.10.0/go.mod h1:xBKsZH3WJtMOItZVlp9SbO51uaBy6IbvUZSKpNu3b6Y=
|
||||
github.com/gethinode/mod-fontawesome v1.10.1 h1:gXQ75VXI+a0W2ALkAFHd/QFQ/VoZR6eujX0Hm7DkG94=
|
||||
github.com/gethinode/mod-fontawesome v1.10.1/go.mod h1:xBKsZH3WJtMOItZVlp9SbO51uaBy6IbvUZSKpNu3b6Y=
|
||||
github.com/gethinode/mod-google-analytics v1.0.0 h1:fly42RQ69bdyJe8WFefsBIo7WMIXkd3wZn32kyAr4h4=
|
||||
github.com/gethinode/mod-google-analytics v1.0.0/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
|
||||
github.com/gethinode/mod-google-analytics v1.0.1 h1:zbmOdnAhhFCA7qWw7fnR46biWhqW2r06sIaTWyhB5R0=
|
||||
@@ -140,6 +158,18 @@ github.com/gethinode/mod-google-analytics v1.1.2 h1:mcoqaRRorut+PxYxJnOEMfKIlVII
|
||||
github.com/gethinode/mod-google-analytics v1.1.2/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
|
||||
github.com/gethinode/mod-google-analytics v1.1.3 h1:24qxV5vKIex3zSdow+5r0o8rox1lrO31oGi0/XusBy4=
|
||||
github.com/gethinode/mod-google-analytics v1.1.3/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
|
||||
github.com/gethinode/mod-google-analytics v1.1.4 h1:GkLzbSdVIMLWSQ4VOSaJZIKyofmVCzueiuiGc29jQOM=
|
||||
github.com/gethinode/mod-google-analytics v1.1.4/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
|
||||
github.com/gethinode/mod-google-analytics v1.1.5 h1:wlOcgwNEJAnIQmPJIo3cT06xnr1dxN/ydUIztoC/7rM=
|
||||
github.com/gethinode/mod-google-analytics v1.1.5/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
|
||||
github.com/gethinode/mod-google-analytics v1.1.6 h1:0eNIM4NTzXnnRHMM04IVnYPPGwbMAmit6fjuUuCQv2I=
|
||||
github.com/gethinode/mod-google-analytics v1.1.6/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
|
||||
github.com/gethinode/mod-google-analytics v1.1.9 h1:ld3bRGiJiUCfe/deH+4vOP3oZNhG6mPssT254EcK0Ro=
|
||||
github.com/gethinode/mod-google-analytics v1.1.9/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
|
||||
github.com/gethinode/mod-google-analytics v1.3.0 h1:R9oRB6nbFDwLsNmIhxlcmUVH4JE1kvcmbOloKSHhiIQ=
|
||||
github.com/gethinode/mod-google-analytics v1.3.0/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
|
||||
github.com/gethinode/mod-google-analytics v1.3.1 h1:WPXrsO6Kpp0k8PYY9a1JyiZgYGMlkBfHY8eEg6CfcL0=
|
||||
github.com/gethinode/mod-google-analytics v1.3.1/go.mod h1:dl628cFozpCvoIMCiV7ujzQipjxcm3eatXrSfLPWNII=
|
||||
github.com/gethinode/mod-katex v1.0.0 h1:me/3dIIZBkfk1mRIFt8QiAGYwYDoSG5bc2hHRtIutFc=
|
||||
github.com/gethinode/mod-katex v1.0.0/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
|
||||
github.com/gethinode/mod-katex v1.0.1 h1:809QUztxmKgMNchU+v03iMO7Ma+ISc3ZzhXYauc21rs=
|
||||
@@ -164,6 +194,8 @@ github.com/gethinode/mod-katex v1.1.1 h1:z8+mfVI6UTWcfpQMVPIzxQzt6Lp9BcmXxSOILQ8
|
||||
github.com/gethinode/mod-katex v1.1.1/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
|
||||
github.com/gethinode/mod-katex v1.1.2 h1:TbeVIWeG5TqldlVxpM1upOWj11RljXy4fhpOQIwOnS4=
|
||||
github.com/gethinode/mod-katex v1.1.2/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
|
||||
github.com/gethinode/mod-katex v1.1.3 h1:fRgoBZVCJeLUFqGrGweg4FhCcbGsyqNRmd9WezG/CUQ=
|
||||
github.com/gethinode/mod-katex v1.1.3/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
|
||||
github.com/gethinode/mod-leaflet v0.2.3 h1:QQI4h+IH0jZ7fx4q0um2YIEiYBoW3OAfW8qHzbRCDPk=
|
||||
github.com/gethinode/mod-leaflet v0.2.3/go.mod h1:uGggt87x4Fw7wBoJpSiUvNkYg+s/Ujne7klAX2rxMRk=
|
||||
github.com/gethinode/mod-leaflet v0.3.1 h1:H5MaOa+BB1KuVw7abTqfIn/SNzzRsAyx/WQoSe+2Ykc=
|
||||
@@ -186,6 +218,8 @@ github.com/gethinode/mod-leaflet v1.1.1 h1:AIHR4k8SjmeoZxtjLgSS6/N3jKeZNZGdZTgu/
|
||||
github.com/gethinode/mod-leaflet v1.1.1/go.mod h1:Ei0x9WiL7Dbi4JeG6yI1CE63bT1QJ8sKi67Jea1wFSE=
|
||||
github.com/gethinode/mod-leaflet v1.2.0 h1:5q5LHmGNi9N4cdRDCsl/6oI8vY3oQ2ogNUjP3NCnk4Y=
|
||||
github.com/gethinode/mod-leaflet v1.2.0/go.mod h1:Ei0x9WiL7Dbi4JeG6yI1CE63bT1QJ8sKi67Jea1wFSE=
|
||||
github.com/gethinode/mod-leaflet v1.2.1 h1:p0bKi+F5vbXwYknBvFEN9KymK8PRqKaYhVz5O1QPs/c=
|
||||
github.com/gethinode/mod-leaflet v1.2.1/go.mod h1:Ei0x9WiL7Dbi4JeG6yI1CE63bT1QJ8sKi67Jea1wFSE=
|
||||
github.com/gethinode/mod-lottie v1.0.0 h1:1CUZMcgN5FAyjjyuP3qkaOQ6M5sv6HUAbosW4sIT5VE=
|
||||
github.com/gethinode/mod-lottie v1.0.0/go.mod h1:erRCgSL2FCfKHI0jQbSpM+g0jXl7SjKVJrh7kWGteKs=
|
||||
github.com/gethinode/mod-lottie v1.0.1 h1:+IE7xtnSVQpJS56oBJq9RWKZeFEfxrOZAqE3BSrS/u0=
|
||||
@@ -236,6 +270,10 @@ github.com/gethinode/mod-lottie v1.5.10 h1:tYFgk74T9zWy2FRkfkRI+8QVQy6lnuABnTeWQ
|
||||
github.com/gethinode/mod-lottie v1.5.10/go.mod h1:L7NpvCAm04R59GSAAm/UFoDCs/6UtrIC5zQEjgQSr4k=
|
||||
github.com/gethinode/mod-lottie v1.5.11 h1:xhxBPDS0iyUY+C1ANaD5EeQV7fO1FG0wMoCjgrCMi/0=
|
||||
github.com/gethinode/mod-lottie v1.5.11/go.mod h1:6FKqk8c+Jkbk2udCxUKVLF1K1wrGwthPsOvRzeoPXRQ=
|
||||
github.com/gethinode/mod-lottie v1.5.12 h1:ny+5DfxWpgRPszhrSUqg+BcNt05ai1OvPAEgCuioFnA=
|
||||
github.com/gethinode/mod-lottie v1.5.12/go.mod h1:0WZP8x7duK/AIZ8fWdZNRnteG03kYfLtsaph7z1mdOg=
|
||||
github.com/gethinode/mod-lottie v1.5.13 h1:Vth/OZDjfBZ9Kz5ew3tXGj9tU6w4StIta6qgfa1daZo=
|
||||
github.com/gethinode/mod-lottie v1.5.13/go.mod h1:tMFSUW9z3kC8IvDfs1ph9MGjuZFRBrpCnpodrwY+L4w=
|
||||
github.com/gethinode/mod-simple-datatables v1.0.0 h1:Dj4WGw12OkaimwkCpLn5Jhmd49dvNJW9O2P/W9F+HlQ=
|
||||
github.com/gethinode/mod-simple-datatables v1.0.0/go.mod h1:K8T7fIdb8pMOB+OSW4A5lz5IW99+HyzcTgx764fvOGw=
|
||||
github.com/gethinode/mod-simple-datatables v1.0.2 h1:zhqxHet3iLQWYCBbGROALpOY9zQlptMycFkz1Tto5bA=
|
||||
@@ -260,6 +298,20 @@ github.com/gethinode/mod-simple-datatables v1.0.13 h1:3GTn46Zh56SFzCUP7CUSrmp/Zo
|
||||
github.com/gethinode/mod-simple-datatables v1.0.13/go.mod h1:a2qIdYegX5gBubGbspuHv/2UA/8O89oUG/U5hd7jLK8=
|
||||
github.com/gethinode/mod-simple-datatables v1.0.14 h1:332WtbaQtTm7VP0b7zYfpogTBcOEetkJrNd01K4d/JE=
|
||||
github.com/gethinode/mod-simple-datatables v1.0.14/go.mod h1:mP3yjAdVE1G6JHfv8VVsRmvaPlPwddXknI675AuVs2I=
|
||||
github.com/gethinode/mod-simple-datatables v1.1.0 h1:Qc8eJOcVjxIHNfgrZf/bKe8+spCLrJTVwsC8d9ct7i0=
|
||||
github.com/gethinode/mod-simple-datatables v1.1.0/go.mod h1:8q/6f3uAPNTTP5NjEJOuXr6tEWelRFLJfzVJ3AODMlQ=
|
||||
github.com/gethinode/mod-simple-datatables v1.1.1 h1:rzX3+rsOfcW9Z8wiQ1Fp6Ry5TkcJ0nG849xKzjDBbGE=
|
||||
github.com/gethinode/mod-simple-datatables v1.1.1/go.mod h1:8q/6f3uAPNTTP5NjEJOuXr6tEWelRFLJfzVJ3AODMlQ=
|
||||
github.com/gethinode/mod-simple-datatables v1.1.3 h1:a+uIfgc6c+9Zc38Q+Kzd3cWeFhC8BW/rP9/rnd2/ZKM=
|
||||
github.com/gethinode/mod-simple-datatables v1.1.3/go.mod h1:8q/6f3uAPNTTP5NjEJOuXr6tEWelRFLJfzVJ3AODMlQ=
|
||||
github.com/gethinode/mod-simple-datatables v1.1.4 h1:8+uwaEBoh8N2T2sHlcIcxqAGaHPqT0YhPBmr2SFWBCY=
|
||||
github.com/gethinode/mod-simple-datatables v1.1.4/go.mod h1:8q/6f3uAPNTTP5NjEJOuXr6tEWelRFLJfzVJ3AODMlQ=
|
||||
github.com/gethinode/mod-simple-datatables v1.1.5 h1:DKJ+aR94mekzcDwOnm6MJ/+MjAzal+GSYQXSdn0HRdc=
|
||||
github.com/gethinode/mod-simple-datatables v1.1.5/go.mod h1:bvMdmQFk4Hvyltf/QhMqUaApvPbIGTnbI3JLjOEh8go=
|
||||
github.com/gethinode/mod-simple-datatables v1.1.6 h1:7nPeRwHlYbmlNEg7fBV6FyXqpxWW6ZAemaZyYxpIF8U=
|
||||
github.com/gethinode/mod-simple-datatables v1.1.6/go.mod h1:bvMdmQFk4Hvyltf/QhMqUaApvPbIGTnbI3JLjOEh8go=
|
||||
github.com/gethinode/mod-simple-datatables v1.1.7 h1:wCY2bWFUxRHWbWzb/zefCACooCSbDPYKrZthfn+qAgM=
|
||||
github.com/gethinode/mod-simple-datatables v1.1.7/go.mod h1:FjkIEuxqeLLEqqDcz/nHAGHsRfV7EJP5Uhk4kYD8okY=
|
||||
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=
|
||||
@@ -324,6 +376,14 @@ github.com/gethinode/mod-utils/v2 v2.8.2 h1:rKndAMmRBSO5Cgoa/2CvF5XchDSvLvd4TYAb
|
||||
github.com/gethinode/mod-utils/v2 v2.8.2/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
|
||||
github.com/gethinode/mod-utils/v2 v2.8.3 h1:t1MJcIdFhYi0gCkm8f0DYZwyfq7pRdRc0eNpqZa11ic=
|
||||
github.com/gethinode/mod-utils/v2 v2.8.3/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
|
||||
github.com/gethinode/mod-utils/v2 v2.8.4 h1:ZBkIxFezFz2IrbTt0Y3Nq5ac7klU5N8TY19Qnj5px4M=
|
||||
github.com/gethinode/mod-utils/v2 v2.8.4/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
|
||||
github.com/gethinode/mod-utils/v2 v2.8.5 h1:e71ncO2NYpum7JTdNTwb0lw8aDe8Zc64Ehjavy8x9xM=
|
||||
github.com/gethinode/mod-utils/v2 v2.8.5/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
|
||||
github.com/gethinode/mod-utils/v2 v2.8.6 h1:gtTtL37YPq1n/POIzbj40aYOg1VaZq8IjqwSf2V5yo0=
|
||||
github.com/gethinode/mod-utils/v2 v2.8.6/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
|
||||
github.com/gethinode/mod-utils/v2 v2.9.0 h1:IGaYO+DNo7CcplyAUJASP1sf10/EqiG8sVVM1Q4SJKc=
|
||||
github.com/gethinode/mod-utils/v2 v2.9.0/go.mod h1:GTYeknoLujNjfDxI+V9Dcug26CYJSTJ0B/U2dagw9oY=
|
||||
github.com/nextapps-de/flexsearch v0.0.0-20230711092928-1243fd883ec3 h1:H/qVR5O4BXjRjD+5PZB+r4ug2BSJ2Of4RtwOntd+OKo=
|
||||
github.com/nextapps-de/flexsearch v0.0.0-20230711092928-1243fd883ec3/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
|
||||
github.com/nextapps-de/flexsearch v0.0.0-20240108021025-afd75f742f22 h1:re7L8FxbXQpnX8BgzkdUnDpsUmloGNyLmiy2ZCln8pg=
|
||||
|
@@ -63,6 +63,8 @@
|
||||
"d-inline",
|
||||
"d-md-block",
|
||||
"d-none",
|
||||
"d-sm-block",
|
||||
"d-sm-none",
|
||||
"display-1",
|
||||
"display-4",
|
||||
"emphasis",
|
||||
@@ -70,6 +72,7 @@
|
||||
"fa",
|
||||
"fa-10x",
|
||||
"fa-2x",
|
||||
"fa-angle-left",
|
||||
"fa-book-open",
|
||||
"fa-ellipsis",
|
||||
"fa-face-frown",
|
||||
@@ -177,6 +180,7 @@
|
||||
"fab-github",
|
||||
"fab-linkedin",
|
||||
"fab-medium",
|
||||
"fas-angle-left",
|
||||
"fas-book-open",
|
||||
"fas-ellipsis",
|
||||
"fas-moon",
|
||||
|
@@ -155,3 +155,7 @@
|
||||
translation: Tipp
|
||||
- id: warning
|
||||
translation: Warnung
|
||||
|
||||
# Image
|
||||
- id: image
|
||||
translation: Bild
|
@@ -160,4 +160,8 @@
|
||||
- id: tip
|
||||
translation: Tip
|
||||
- id: warning
|
||||
translation: Warning
|
||||
translation: Warning
|
||||
|
||||
# Image
|
||||
- id: image
|
||||
translation: image
|
16
i18n/fr.yaml
16
i18n/fr.yaml
@@ -149,3 +149,19 @@
|
||||
translation: "Commentaire"
|
||||
- id: supportedValues
|
||||
translation: "Valeurs supportées"
|
||||
|
||||
# Alerts
|
||||
- id: caution
|
||||
translation: Prudence
|
||||
- id: important
|
||||
translation: Important
|
||||
- id: note
|
||||
translation: Remarque
|
||||
- id: tip
|
||||
translation: Astuce
|
||||
- id: warning
|
||||
translation: Attention
|
||||
|
||||
# Image
|
||||
- id: image
|
||||
translation: image
|
||||
|
@@ -160,3 +160,7 @@
|
||||
translation: Tip
|
||||
- id: warning
|
||||
translation: Waarschuwing
|
||||
|
||||
# Image
|
||||
- id: image
|
||||
translation: Bild
|
||||
|
@@ -1,11 +1,11 @@
|
||||
{{ with transform.ToMath .Inner (dict "displayMode" true) }}
|
||||
{{ with try (transform.ToMath .Inner (dict "displayMode" true)) }}
|
||||
{{ with .Err }}
|
||||
{{ errorf "Failed to render KaTeX: %q. See %s" . $.Position }}
|
||||
{{ else }}
|
||||
{{ if $.Attributes.class }}
|
||||
<div class="{{ $.Attributes.class }}">{{ . }}</div>
|
||||
{{ else }}
|
||||
{{ . }}
|
||||
{{ .Value }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
17
layouts/_default/_markup/render-heading-new.html
Normal file
17
layouts/_default/_markup/render-heading-new.html
Normal file
@@ -0,0 +1,17 @@
|
||||
{{ $text := chomp .Text }}
|
||||
{{ if site.Params.main.titleCase }}{{ $text = title $text }}{{ end }}
|
||||
|
||||
{{ if eq page.RelPermalink "/en/privacy/" }}
|
||||
{{ warnf "title: %s" (.Text | safeHTML) }}
|
||||
{{ end }}
|
||||
|
||||
{{ if and site.Params.navigation.anchor $text }}
|
||||
<h{{ .Level }} id="{{ .Anchor | safeURL }}" class="heading">
|
||||
{{- $text | safeHTML -}}
|
||||
<a href="#{{ .Anchor | safeURL }}" aria-labelledby="{{ .Anchor | safeURL }}">
|
||||
{{- partial "assets/icon.html" (dict "icon" "fas link anchor") }}
|
||||
</a>
|
||||
</h{{ .Level }}>
|
||||
{{ else }}
|
||||
<h{{ .Level }} id="{{ .Anchor | safeURL }}">{{ $text | safeHTML }}</h{{ .Level }}>
|
||||
{{ end }}
|
@@ -1,12 +1,13 @@
|
||||
{{ $text := trim .Text " \n\r" }}
|
||||
{{ $text := chomp .Text }}
|
||||
{{ if site.Params.main.titleCase }}{{ $text = (title ($text | htmlUnescape)) | htmlEscape }}{{ end }}
|
||||
|
||||
{{ if and site.Params.navigation.anchor $text }}
|
||||
<h{{ .Level }} id="{{ .Anchor | safeURL }}" class="heading">
|
||||
{{- .Text | safeHTML -}}
|
||||
{{- $text | safeHTML -}}
|
||||
<a href="#{{ .Anchor | safeURL }}" aria-labelledby="{{ .Anchor | safeURL }}">
|
||||
{{- partial "assets/icon.html" (dict "icon" "fas link anchor") }}
|
||||
</a>
|
||||
</h{{ .Level }}>
|
||||
{{ else }}
|
||||
<h{{ .Level }} id="{{ .Anchor | safeURL }}">{{ .Text | safeHTML }}</h{{ .Level }}>
|
||||
<h{{ .Level }} id="{{ .Anchor | safeURL }}">{{ $text | safeHTML }}</h{{ .Level }}>
|
||||
{{ end }}
|
@@ -4,10 +4,10 @@
|
||||
{{ $opts = dict "displayMode" true }}
|
||||
{{ end }}
|
||||
|
||||
{{ with transform.ToMath .Inner $opts }}
|
||||
{{ with try (transform.ToMath .Inner $opts) }}
|
||||
{{ with .Err }}
|
||||
{{ errorf "Failed to render KaTeX: %q. See %s" . $.Position }}
|
||||
{{ else }}
|
||||
{{ . }}
|
||||
{{ .Value }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
@@ -7,8 +7,10 @@
|
||||
{{ $attr = merge $attr (dict "class" (trim (delimit ($class | append "table") " ") " ")) }}
|
||||
{{ end }}
|
||||
|
||||
{{ $wrap := in $class "table-wrap" }}
|
||||
{{ $align := dict "left" "start" "center" "center" "right" "end" }}
|
||||
|
||||
{{ $header := "" }}
|
||||
<table
|
||||
{{- range $k, $v := $attr }}
|
||||
{{- if $v }}
|
||||
@@ -17,6 +19,19 @@
|
||||
{{- end }}>
|
||||
<thead>
|
||||
{{- range .THead }}
|
||||
{{ $length := len . }}
|
||||
{{ if $wrap }}
|
||||
<tr>
|
||||
{{- range . | first (sub $length 1) }}
|
||||
<th {{ with .Alignment }}class="text-{{ index $align . }}"{{ end }}>
|
||||
{{- .Text -}}
|
||||
</th>
|
||||
{{- end }}
|
||||
{{- range . | last 1 }}
|
||||
{{ $header = .Text }}
|
||||
{{ end }}
|
||||
</tr>
|
||||
{{ else }}
|
||||
<tr>
|
||||
{{- range . }}
|
||||
<th {{ with .Alignment }}class="text-{{ index $align . }}"{{ end }}>
|
||||
@@ -24,17 +39,36 @@
|
||||
</th>
|
||||
{{- end }}
|
||||
</tr>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
</thead>
|
||||
<tbody>
|
||||
{{- range .TBody }}
|
||||
{{ $length := len . }}
|
||||
{{ if $wrap }}
|
||||
<tr>
|
||||
{{- range . }}
|
||||
<td {{ with .Alignment }}class="text-{{ index $align . }}"{{ end }}>
|
||||
{{- range . | first (sub $length 1) }}
|
||||
<td class="{{ with .Alignment }}text-{{ index $align . }}{{ end }} table-border-bottom-wrap">
|
||||
{{- .Text -}}
|
||||
</td>
|
||||
{{- end }}
|
||||
</tr>
|
||||
<tr>
|
||||
{{- range . | last 1 }}
|
||||
<td class="{{ with .Alignment }}text-{{ index $align . }}{{ end }}" colspan="{{ (sub $length 1) }}">
|
||||
{{- .Text -}}
|
||||
</td>
|
||||
{{ end }}
|
||||
</tr>
|
||||
{{ else }}
|
||||
<tr>
|
||||
{{- range . }}
|
||||
<td {{ with .Alignment }}class="text-{{ index $align . }}"{{ end }}>
|
||||
{{- .Text -}}
|
||||
</td>
|
||||
{{- end }}
|
||||
</tr>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
</tbody>
|
||||
</table>
|
@@ -2,11 +2,13 @@
|
||||
{{- $fullCover := $.Scratch.Get "fullCover" -}}
|
||||
{{- $breakpoint := $.Scratch.Get "breakpoint" -}}
|
||||
{{- $layout := .Params.layout -}}
|
||||
{{- $title := .Title }}
|
||||
{{ if site.Params.main.titleCase }}{{ $title = title $title }}{{ end }}
|
||||
|
||||
<div class="row row-cols-1 row-cols-{{ $breakpoint.current }}-2">
|
||||
<div class="col-12 col-{{ $breakpoint.current }}-9">
|
||||
{{ if not .IsHome }}
|
||||
{{ 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 }}
|
||||
{{ if (.Params.menu) }}
|
||||
{{- partial "assets/section-menu.html" (dict "page" .) -}}
|
||||
|
@@ -6,7 +6,7 @@
|
||||
{{ $toc := .Render "single/panel-toc" }}
|
||||
|
||||
{{ 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-labelledby="offcanvas-label">
|
||||
<div class="offcanvas-header">
|
||||
<h5 class="offcanvas-title" id="offcanvas-label">{{ strings.FirstUpper $.Section }}</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="{{ T "close" }}"></button>
|
||||
@@ -41,4 +41,4 @@
|
||||
</div>
|
||||
{{ end -}}
|
||||
</div>
|
||||
{{ end -}}
|
||||
{{ end -}}
|
||||
|
@@ -12,7 +12,10 @@
|
||||
{{- errorf "layout [_default/single/header.html] - Invalid value for param 'metadata': %s" $metadata -}}
|
||||
{{- end -}}
|
||||
|
||||
{{ with .Title }}<p class="display-4 mt-5">{{ . }}</p>{{ end }}
|
||||
{{ $title := .Title }}
|
||||
{{ if site.Params.main.titleCase }}{{ $title = title $title }}{{ end }}
|
||||
|
||||
{{ with $title }}<p class="display-4 mt-5">{{ . }}</p>{{ end }}
|
||||
{{ if ne $metadata "none" }}
|
||||
<small class="text-body-secondary text-uppercase">
|
||||
{{ if .Date }}
|
||||
|
@@ -1,3 +1,6 @@
|
||||
{{ with .Title }}<p class="display-4 mt-5">{{ . }}</p>{{ end }}
|
||||
{{ $title := .Title }}
|
||||
{{ if site.Params.main.titleCase }}{{ $title = title $title }}{{ end }}
|
||||
|
||||
{{ with $title }}<p class="display-4 mt-5">{{ . }}</p>{{ end }}
|
||||
{{ partial "assets/sharing.html" (dict "page" .) }}
|
||||
<p class="lead mb-5">{{ .Description }}</p>
|
||||
|
@@ -1,3 +1,6 @@
|
||||
{{ with .Title }}<p class="display-4 mt-5">{{ . }}</p>{{ end }}
|
||||
{{ $title := .Title }}
|
||||
{{ if site.Params.main.titleCase }}{{ $title = title $title }}{{ end }}
|
||||
|
||||
{{ with $title }}<p class="display-4 mt-5">{{ . }}</p>{{ end }}
|
||||
{{ partial "assets/sharing.html" (dict "page" .) }}
|
||||
<p class="lead mb-5">{{ .Description }}</p>
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
-->
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
-->
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
-->
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
-->
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
-->
|
||||
|
@@ -1,11 +1,21 @@
|
||||
<!--
|
||||
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
-->
|
||||
|
||||
{{ $error := false }}
|
||||
|
||||
<!-- Limits a title to a maximum of 33 runes, adds a "..." suffix otherwise -->
|
||||
{{ define "partials/short-title.html" }}
|
||||
{{- $title := . -}}
|
||||
{{ if gt (strings.RuneCount $title) 33 }}
|
||||
{{ $title = print (substr $title 0 30) "..." }}
|
||||
{{ end }}
|
||||
|
||||
{{ return $title }}
|
||||
{{ end }}
|
||||
|
||||
<!-- Validate arguments -->
|
||||
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "breadcrumb" "args" . "group" "partial") }}
|
||||
{{- errorf "partial [assets/breadcrumb.html] - Invalid arguments" -}}
|
||||
@@ -13,23 +23,50 @@
|
||||
{{ end }}
|
||||
|
||||
<!-- Initialize arguments -->
|
||||
{{ $page := .page }}
|
||||
{{- $page := .page -}}
|
||||
{{- $breakpoint := $page.Scratch.Get "breakpoint" -}}
|
||||
|
||||
<!-- Include breadcrumb items that have both a title and address -->
|
||||
{{ $items := slice }}
|
||||
{{- range $index, $item := $page.Ancestors.Reverse -}}
|
||||
{{- $title := .LinkTitle -}}
|
||||
{{- if .IsHome }}{{ $title = T "home" }}{{ end -}}
|
||||
{{ if site.Params.main.titleCase }}{{ $title = title $title }}{{ end }}
|
||||
{{- $address := or .RelPermalink .Params.Redirect -}}
|
||||
{{ if and $title $address}}
|
||||
{{ $items = $items | append (dict "title" $title "address" $address) }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
<!-- Main code -->
|
||||
{{ if not $error }}
|
||||
<nav aria-label="breadcrumb">
|
||||
<nav aria-label="breadcrumb" class="d-{{ $breakpoint.prev }}-none">
|
||||
<ol class="breadcrumb">
|
||||
{{- range $index, $item := $page.Ancestors.Reverse -}}
|
||||
{{- $title := .LinkTitle -}}
|
||||
{{- if .IsHome }}{{ $title = T "home" }}{{ end -}}
|
||||
{{- $address := or .RelPermalink .Params.Redirect -}}
|
||||
{{ if $address }}
|
||||
<li class="breadcrumb-item"><a href="{{ $address }}">{{ $title }}</a></li>
|
||||
{{ else }}
|
||||
<li class="breadcrumb-item">{{ $title }}</li>
|
||||
{{ end }}
|
||||
{{- $length := len $items -}}
|
||||
{{- if gt $length 0 -}}
|
||||
{{ $item := index $items (sub $length 1) }}
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{{ $item.address }}">
|
||||
{{ partial "assets/icon.html" (dict "icon" "fas angle-left") }} {{ partial "short-title" $item.title }}
|
||||
</a>
|
||||
</li>
|
||||
{{- end -}}
|
||||
<li class="breadcrumb-item active" aria-current="page">{{ $page.LinkTitle }}</li>
|
||||
</ol>
|
||||
</nav>
|
||||
|
||||
<nav aria-label="breadcrumb" class="d-none d-{{ $breakpoint.prev }}-block">
|
||||
<ol class="breadcrumb">
|
||||
{{- $length := len $items }}
|
||||
{{- range $index, $item := $items -}}
|
||||
{{ $title := $item.title }}
|
||||
{{ if site.Params.main.titleCase }}{{ $title = title $title }}{{ end }}
|
||||
<li class="breadcrumb-item"><a href="{{ $item.address }}">{{ $title }}</a></li>
|
||||
{{- end -}}
|
||||
<li class="breadcrumb-item active" aria-current="page">
|
||||
{{ $title := $page.LinkTitle }}
|
||||
{{ if site.Params.main.titleCase }}{{ $title = title $title }}{{ end }}
|
||||
{{ $title }}
|
||||
</li>
|
||||
</ol>
|
||||
</nav>
|
||||
{{ end }}
|
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
-->
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
-->
|
||||
@@ -25,6 +25,9 @@
|
||||
)}}
|
||||
{{ end }}
|
||||
|
||||
<!-- Initialize global variables -->
|
||||
{{- $pretty := site.Params.main.internalLinks.pretty | default false }}
|
||||
|
||||
<!-- Initialize local variables -->
|
||||
{{ $list := $args.list }}
|
||||
{{- $class := $args.class -}}
|
||||
@@ -64,6 +67,8 @@
|
||||
{{ $paginator = $args.page.Paginate $list }}
|
||||
{{ end }}
|
||||
{{ $list = first $paginator.PagerSize (after (mul (sub $paginator.PageNumber 1) $paginator.PagerSize) $list) }}
|
||||
|
||||
{{ page.Store.Set "paginator" $paginator }}
|
||||
{{ end }}
|
||||
|
||||
<!-- Initialize list elements -->
|
||||
@@ -143,7 +148,7 @@
|
||||
"style" $args.style
|
||||
"align" $args.align
|
||||
"button" $args.button
|
||||
"buttonLabel" $args.buttonLabel
|
||||
"buttonLabel" $element.buttonLabel
|
||||
"buttonType" $args.buttonType
|
||||
"iconRounded" $args.iconRounded
|
||||
) -}}
|
||||
@@ -177,7 +182,11 @@
|
||||
{{- end -}}
|
||||
{{ else }}
|
||||
{{ if and (gt $count $max) $args.hrefTitle }}
|
||||
<a class="btn btn-outline-primary mt-4" href="{{ $args.href| safeURL }}" role="button">{{ $args.hrefTitle }}</a>
|
||||
{{ $href := $args.href }}
|
||||
{{ if and $pretty (not (hasSuffix $href "/" )) (not (strings.Contains $href "#")) }}
|
||||
{{ $href = printf "%s/" $href }}
|
||||
{{ end }}
|
||||
<a class="btn btn-outline-primary mt-4" href="{{ $href | safeURL }}" role="button">{{ $args.hrefTitle }}</a>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</div>
|
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
-->
|
||||
@@ -86,6 +86,8 @@
|
||||
{{- if eq $body "title" }}{{ $description = "" }}{{ end -}}
|
||||
{{- if eq $body "none" }}{{ $title = "" }}{{ $description = "" }}{{ end -}}
|
||||
|
||||
{{ if site.Params.main.titleCase }}{{ $title = title $title }}{{ end }}
|
||||
|
||||
<!-- Inline partial to render the card's body -->
|
||||
{{- define "partials/card-body.html" -}}
|
||||
{{- $title := .title -}}
|
||||
@@ -177,7 +179,20 @@
|
||||
<div class="row g-0 row-cols-2 h-100{{ if $button }} pb-5{{ end }}">
|
||||
{{- if $thumbnail -}}
|
||||
<div class="{{ $col1 }}">
|
||||
{{- partial $hook (dict "url" $thumbnail "ratio" (or $ratio "1x1") "portrait" $portrait "sizes" $sizes "anchor" $anchor "wrapper" "h-100 card-img-wrap" "class" "rounded-start card-img-h100 card-img-bg" "title" $title "loading" $loading) -}}
|
||||
{{ $fullHeight := "card-img-h100" }}
|
||||
{{ $rounding := "rounded-start" }}
|
||||
{{ if eq (lower (path.Ext $thumbnail)) ".svg" }}{{ $fullHeight = "" }}{{ $rounding = "" }}{{ end }}
|
||||
{{- partial $hook (dict
|
||||
"url" $thumbnail
|
||||
"ratio" (or $ratio "1x1")
|
||||
"portrait" $portrait
|
||||
"sizes" $sizes
|
||||
"anchor" $anchor
|
||||
"wrapper" "h-100 card-img-wrap d-flex align-items-center"
|
||||
"class" (printf "card-img-bg %s %s" $rounding $fullHeight)
|
||||
"title" $title
|
||||
"loading" $loading
|
||||
) -}}
|
||||
</div>
|
||||
{{- else if $icon -}}
|
||||
<div class="{{ $col1 }} p-{{ $padding }}">
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
-->
|
||||
@@ -20,10 +20,11 @@
|
||||
{{- $ratio := .ratio -}}
|
||||
{{- $portrait := .portrait -}}
|
||||
{{- $loading := .loading | default "eager" -}}
|
||||
{{- $title := .caption | default (T "image") -}}
|
||||
|
||||
<!-- Main code -->
|
||||
<div class="carousel-item{{ if $active }} active{{ end }}" {{ if not $active }} fetchpriority="low"{{ end }}>
|
||||
{{ partial "assets/image.html" (dict "url" $src "ratio" $ratio "page" $page "class" "d-block w-100" "portrait" $portrait "loading" $loading) }}
|
||||
{{ partial "assets/image.html" (dict "url" $src "ratio" $ratio "page" $page "class" "d-block w-100" "portrait" $portrait "loading" $loading "title" $title) }}
|
||||
<div class="carousel-caption gradient"></div>
|
||||
{{ with $caption }}
|
||||
<div class="carousel-caption d-none d-md-block">
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
-->
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
-->
|
||||
|
||||
{{ $ratio := .ratio }}
|
||||
|
@@ -16,6 +16,7 @@
|
||||
{{- $modes := .modes -}}
|
||||
{{- $plain := .plain | default false }}
|
||||
{{- $anchor := .anchor }}
|
||||
{{- $alt := or $title $caption (T "image") }}
|
||||
|
||||
<!-- Split url into base and anchor when applicable (only relevant for vector images) -->
|
||||
{{- $fileAnchor := "" -}}
|
||||
@@ -71,7 +72,7 @@
|
||||
{{ with $imgset -}}srcset="{{ . }}" sizes="{{ $sizes }}"{{- end }}
|
||||
{{ with $height }}height="{{ . }}"{{ end }}
|
||||
{{ with $width }}width="{{ . }}"{{ end }}
|
||||
{{ with (or $title $caption) }}alt="{{ . }}"{{ end }}>
|
||||
{{ with $alt }}alt="{{ . }}"{{ end }}>
|
||||
{{- else }}
|
||||
<svg class="{{ $class }}">
|
||||
<use href="{{ $fallbackURL }}#{{ $fileAnchor }}"></use>
|
||||
|
@@ -52,10 +52,11 @@
|
||||
{{- if hasSuffix $url "svg" -}}
|
||||
{{- $res = partial "utilities/GetResource.html" (dict "url" $url "page" $page) -}}
|
||||
{{ if not $res }}
|
||||
{{- if not (fileExists (path.Join "/static" $url)) -}}
|
||||
{{- $targetURL := partial "utilities/GetStaticURL" (dict "url" (strings.TrimPrefix "/static" $url)) -}}
|
||||
{{- if not (fileExists (path.Join "/static" $targetURL)) -}}
|
||||
{{ warnf "Cannot find vector image resource: %q" $url -}}
|
||||
{{ else }}
|
||||
{{ $width := string (partial "utilities/GetWidth.html" (dict "path" $url "height" 500)) }}
|
||||
{{ $width := string (partial "utilities/GetWidth.html" (dict "path" $targetURL "height" 500)) }}
|
||||
{{ if $width }}
|
||||
{{ $dims = $dims | append (printf "%sx500" $width) }}
|
||||
{{ else }}
|
||||
@@ -118,7 +119,7 @@
|
||||
|
||||
<!-- Generate image url -->
|
||||
{{ if or (hasSuffix $url "svg") $plain }}
|
||||
{{- $targetURL = partial "utilities/GetStaticURL" (dict "url" $url) -}}
|
||||
{{- $targetURL = partial "utilities/GetStaticURL" (dict "url" (strings.TrimPrefix "/static" $url)) -}}
|
||||
{{ else }}
|
||||
{{- $targetURL = partial "assets/helpers/image-set.html" (dict
|
||||
"url" $url
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
-->
|
||||
@@ -33,6 +33,9 @@
|
||||
{{- $url := .url -}}
|
||||
{{- $mode := .mode -}}
|
||||
{{- $modes := site.Params.main.modes | default (slice "light" "dark") -}}
|
||||
{{ if and site.Params.main.titleCase (eq $caption (plainify $caption)) }}
|
||||
{{ $caption = title $caption }}
|
||||
{{ end }}
|
||||
|
||||
<!-- Main code -->
|
||||
{{ $params := dict }}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
-->
|
||||
@@ -18,19 +18,22 @@
|
||||
{{ if not $u.Scheme }}
|
||||
{{ $b := urls.Parse site.BaseURL }}
|
||||
{{ $destination = strings.TrimPrefix $b.Path $destination }}
|
||||
{{ $destination = path.Clean $destination }}
|
||||
{{ else }}
|
||||
{{ $destination = (strings.TrimPrefix (strings.TrimSuffix "/" site.BaseURL) $destination) }}
|
||||
{{ end }}
|
||||
{{ $destination = path.Clean $destination }}
|
||||
{{ if not $destination }}{{ $destination = "/" }}{{ end }}
|
||||
|
||||
{{- $target := "" -}}
|
||||
{{- $rel := "" -}}
|
||||
{{- $case := .case | default true }}
|
||||
{{- $external := .external | default false }}
|
||||
{{- $force := .force | default false }}
|
||||
{{- $cue := .cue | default site.Params.main.externalLinks.cue -}}
|
||||
{{- $tab := .tab | default site.Params.main.externalLinks.tab -}}
|
||||
{{- $pretty := site.Params.main.internalLinks.pretty | default false }}
|
||||
{{- $isExternal := or (ne (urls.Parse (absURL $destination)).Host (urls.Parse site.BaseURL).Host) $external -}}
|
||||
{{- $isSpecial := and $u.Scheme (not (in (slice "http" "https") $u.Scheme)) }}
|
||||
{{- $isLocal := hasPrefix $destination "#" -}}
|
||||
{{- $page := .page -}}
|
||||
{{- $anchor := "" -}}
|
||||
@@ -39,7 +42,11 @@
|
||||
{{- $class := .class -}}
|
||||
|
||||
<!-- Main code -->
|
||||
{{- if $isExternal -}}
|
||||
{{- if $isSpecial -}}
|
||||
{{- if not $text -}}
|
||||
{{- $text = (urls.Parse (absURL $destination)).Host -}}
|
||||
{{- end -}}
|
||||
{{- else if $isExternal -}}
|
||||
{{- if not $text -}}
|
||||
{{- $text = (urls.Parse (absURL $destination)).Host -}}
|
||||
{{- end -}}
|
||||
@@ -99,7 +106,23 @@
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{- if not $case }}{{ $text = lower $text }}{{ end -}}
|
||||
{{- if not $case }}
|
||||
{{ $text = lower $text }}
|
||||
{{ else if site.Params.main.titleCase }}
|
||||
{{ $text = title $text }}
|
||||
{{ end -}}
|
||||
|
||||
{{ if and $pretty (not (hasSuffix $destination "/" )) (not (strings.Contains $destination "#")) }}
|
||||
{{ $destination = printf "%s/" $destination }}
|
||||
{{ end }}
|
||||
|
||||
{{ if $force }}
|
||||
{{ if strings.Contains $destination "?" }}
|
||||
{{ $destination = printf "%s&force=true" $destination }}
|
||||
{{ else }}
|
||||
{{ $destination = printf "%s?force=true" $destination }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{- end -}}
|
||||
|
||||
{{ if not $error -}}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
-->
|
||||
|
@@ -1,6 +1,6 @@
|
||||
|
||||
<!--
|
||||
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
-->
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
-->
|
||||
@@ -52,46 +52,48 @@
|
||||
<div class="d-none d-lg-block">
|
||||
{{ end }}
|
||||
|
||||
<div class="nav{{ with $type }} nav-{{ . }}{{ end }}{{ with $class }} {{ . }}{{ end }}{{ if $vertical }} flex-column{{ end }}" id="nav-{{ $id }}" role="tablist"{{ if $vertical }} aria-orientation="vertical"{{ end }}>
|
||||
<ul class="nav{{ with $type }} nav-{{ . }}{{ end }}{{ with $class }} {{ . }}{{ end }}{{ if $vertical }} flex-column{{ end }}" id="nav-{{ $id }}" role="tablist"{{ if $vertical }} aria-orientation="vertical"{{ end }}>
|
||||
{{- range $index, $item := $list -}}
|
||||
{{ $show := eq $index 0}}
|
||||
<button class="nav-link {{ if not $wrap }} text-nowrap{{ end }}{{ if $show }} active{{ end }}" id="nav-{{ $id }}-btn-{{ $index }}" data-bs-toggle="pill" data-bs-target="#nav-{{ $id }}-{{ $index }}"
|
||||
type="button" role="tab" aria-controls="nav-{{ $id }}-{{ $index }}" aria-selected="{{ if eq $index 0 }}true{{ else }}false{{ end }}">
|
||||
{{ $item.Title }}
|
||||
</button>
|
||||
<li class="nav-item" role="presentation">
|
||||
<button class="nav-link {{ if not $wrap }} text-nowrap{{ end }}{{ if $show }} active{{ end }}" id="nav-{{ $id }}-btn-{{ $index }}" data-bs-toggle="pill" data-bs-target="#nav-{{ $id }}-{{ $index }}"
|
||||
type="button" role="tab" aria-controls="nav-{{ $id }}-{{ $index }}" aria-selected="{{ if eq $index 0 }}true{{ else }}false{{ end }}">
|
||||
{{ $item.Title }}
|
||||
</button>
|
||||
</li>
|
||||
{{ end -}}
|
||||
</ul>
|
||||
|
||||
<div class="tab-content {{ if eq $type "tabs" }}border border-bottom-0 p-3{{ else if $vertical }}ms-3{{ else }}mt-3{{ end }}">
|
||||
{{ range $index, $item := $list }}
|
||||
{{ $header := $item.Title }}
|
||||
{{ $body := $item.Content }}
|
||||
{{ $show := eq $index 0}}
|
||||
{{- $thumbnail := "" -}}
|
||||
{{ if reflect.IsMap $item.Params.Thumbnail }}{{ $thumbnail = $item.Params.Thumbnail.url }}{{ else }}{{ $thumbnail = $item.Params.Thumbnail }}{{ end }}
|
||||
<div class="tab-pane{{ if $show }} active{{ end }}" id="nav-{{ $id }}-{{ $index }}" role="tabpanel" aria-labelledby="{{ $id }}-btn-{{ $index }}" tabindex="0">
|
||||
{{- if eq $pane "persona" -}}
|
||||
{{- partial "assets/persona.html" (dict
|
||||
"title" $item.Title
|
||||
"class" $class
|
||||
"color" $color
|
||||
"href" $item.Params.href
|
||||
"content" (partial "utilities/GetDescription.html" (dict "page" $item))
|
||||
"thumbnail" $thumbnail
|
||||
) -}}
|
||||
{{- else -}}
|
||||
{{ $illustration := (partial "utilities/GetIllustration.html" (dict "item" $item)) }}
|
||||
{{ if $illustration }}
|
||||
<div class="row">
|
||||
<div class="col-12 col-lg-10 order-1 order-lg-0">{{- (or $item.Description $item.Content) -}}</div>
|
||||
<div class="col-12 col-lg-2 order-0 order-lg-1">{{ $illustration | safeHTML }}</div>
|
||||
</div>
|
||||
{{ else }}
|
||||
{{- (or $item.Description $item.Content) -}}
|
||||
{{ end }}
|
||||
{{- end -}}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
<div class="tab-content {{ if eq $type "tabs" }}border border-bottom-0 p-3{{ else if $vertical }}ms-3{{ else }}mt-3{{ end }}">
|
||||
{{ range $index, $item := $list }}
|
||||
{{ $header := $item.Title }}
|
||||
{{ $body := $item.Content }}
|
||||
{{ $show := eq $index 0}}
|
||||
{{- $thumbnail := "" -}}
|
||||
{{ if reflect.IsMap $item.Params.Thumbnail }}{{ $thumbnail = $item.Params.Thumbnail.url }}{{ else }}{{ $thumbnail = $item.Params.Thumbnail }}{{ end }}
|
||||
<div class="tab-pane{{ if $show }} active{{ end }}" id="nav-{{ $id }}-{{ $index }}" role="tabpanel" aria-labelledby="{{ $id }}-btn-{{ $index }}" tabindex="0">
|
||||
{{- if eq $pane "persona" -}}
|
||||
{{- partial "assets/persona.html" (dict
|
||||
"title" $item.Title
|
||||
"class" $class
|
||||
"color" $color
|
||||
"href" $item.Params.href
|
||||
"content" (partial "utilities/GetDescription.html" (dict "page" $item))
|
||||
"thumbnail" $thumbnail
|
||||
) -}}
|
||||
{{- else -}}
|
||||
{{ $illustration := (partial "utilities/GetIllustration.html" (dict "item" $item)) }}
|
||||
{{ if $illustration }}
|
||||
<div class="row">
|
||||
<div class="col-12 col-lg-10 order-1 order-lg-0">{{- (or $item.Description $item.Content) -}}</div>
|
||||
<div class="col-12 col-lg-2 order-0 order-lg-1">{{ $illustration | safeHTML }}</div>
|
||||
</div>
|
||||
{{ else }}
|
||||
{{- (or $item.Description $item.Content) -}}
|
||||
{{ end }}
|
||||
{{- end -}}
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
{{ if eq $type "callout" }}</div>{{ end }}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
-->
|
||||
@@ -28,7 +28,7 @@
|
||||
{{- $menuURL = partial "utilities/URLJoin.html" (dict "base" $baseURL "path" ((or $menu.PageRef $menu.URL) | relLangURL)) -}}
|
||||
{{ end }}
|
||||
{{- $pageURL := $page.RelPermalink -}}
|
||||
{{- $isActive := or (and (hasPrefix $pageURL $menuURL) (ne $menuURL ("/" | relLangURL))) (eq $pageURL $menuURL) -}}
|
||||
{{- $isActive := or (and (eq $pageURL $menuURL) (ne $menuURL ("/" | relLangURL))) (eq $pageURL $menuURL) -}}
|
||||
{{ if not $menu.PageRef }}{{ $isActive = false }}{{ end }}
|
||||
{{- $isAlias := $menu.Params.alias -}}
|
||||
{{- $isIcon := $menu.Params.icon -}}
|
||||
@@ -77,18 +77,21 @@
|
||||
|
||||
<!-- Main code -->
|
||||
{{ if not $error }}
|
||||
{{ $title := $menu.Name }}
|
||||
{{ if site.Params.main.titleCase }}{{ $title = title $title }}{{ end }}
|
||||
|
||||
{{ if $menu.Params.button }}
|
||||
{{ partial "assets/button.html" (dict
|
||||
"title" $menu.Name
|
||||
"title" $title
|
||||
"icon" $menu.Pre
|
||||
"href" $menuURL
|
||||
"size" "sm"
|
||||
)}}
|
||||
{{ else }}
|
||||
<a class="{{ $anchorClass }}{{ if $isActive }} active{{ end }}{{ with $class }} {{ . }}{{ end }}"
|
||||
{{ if $isIcon }}aria-label="{{ $menu.Name }}"{{ end }}
|
||||
{{ cond (ne $menuURL "") "<a" "<div" | safeHTML }} class="{{ $anchorClass }}{{ if $isActive }} active{{ end }}{{ with $class }} {{ . }}{{ end }}"
|
||||
{{ if $isIcon }}aria-label="{{ $title }}"{{ end }}
|
||||
data-nav="main" data-nav-main="{{ $mainNav }}"{{ with $childNav }} data-nav-child="{{ . }}"{{ end }}
|
||||
{{ if $menuURL }} href="{{ $menuURL }}{{ $params | safeHTMLAttr }}"{{ with $externalHref }} {{ . | safeHTMLAttr }}{{ end }}{{ end }} {{ $button | safeHTMLAttr }}>
|
||||
{{ if $menuURL }} href="{{ $menuURL }}{{ $params | safeHTML }}"{{ with $externalHref }} {{ . | safeHTML }}{{ end }}{{ end }} {{ $button | safeHTML }}>
|
||||
|
||||
{{- with $menu.Pre }}
|
||||
{{ if hasPrefix . "<i" }}
|
||||
@@ -97,9 +100,9 @@
|
||||
{{ partial "assets/icon.html" (dict "icon" (string .) )}}
|
||||
{{ end }}
|
||||
{{ end -}}
|
||||
<span {{ if $isActive }} class="active"{{ end }}>{{ if or (not $isIcon) $plain }}{{ $menu.Name }}{{ end }}</span>
|
||||
<span {{ if $isActive }} class="active"{{ end }}>{{ if or (not $isIcon) $plain }}{{ $title }}{{ end }}</span>
|
||||
{{- with $menu.Post }}{{ . }}{{ end -}}
|
||||
{{- if not $isIcon }} {{ $suffix }}{{ end -}}
|
||||
</a>
|
||||
{{ cond (ne $menuURL "") "</a>" "</div>" | safeHTML }}
|
||||
{{ end }}
|
||||
{{ end }}
|
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
-->
|
||||
@@ -18,14 +18,14 @@
|
||||
{{- define "partials/navbar-mode.html" -}}
|
||||
{{- $id := .id | default "navbar-mode" -}}
|
||||
|
||||
<div class="d-flex mode-switch align-items-center" id="{{ $id }}">
|
||||
<input type="checkbox" class="checkbox navbar-mode-selector" id="{{ $id }}-checkbox" />
|
||||
<li class="d-flex mode-switch align-items-center" id="{{ $id }}">
|
||||
<input type="checkbox" class="checkbox navbar-mode-selector" id="{{ $id }}-checkbox" aria-label="{{ T "colorMode" }}" />
|
||||
<label class="label" for="{{ $id }}-checkbox">
|
||||
{{- partial "assets/icon.html" (dict "icon" "fas sun fa-fw" "spacing" false) }}
|
||||
{{- partial "assets/icon.html" (dict "icon" "fas moon fa-fw" "spacing" false) }}
|
||||
<div class="ball"></div>
|
||||
</label>
|
||||
</div>
|
||||
</li>
|
||||
{{- end -}}
|
||||
|
||||
<!-- Inline partial to render the version switcher -->
|
||||
@@ -39,7 +39,7 @@
|
||||
{{- $version := partial "utilities/GetVersion.html" (dict "page" $page) -}}
|
||||
|
||||
<li class="nav-item dropdown {{ if $collapsed }}d-{{ $size }}-none{{ else }}d-none d-{{ $size }}-block{{ end }}">
|
||||
<a class="nav-link dropdown-toggle" href="#!" role="button" data-bs-toggle="dropdown" aria-expanded="false" id="{{ $id }}-version-switch">
|
||||
<a class="nav-link dropdown-toggle" role="button" data-bs-toggle="dropdown" aria-expanded="false" id="{{ $id }}-version-switch">
|
||||
{{ if $collapsed }}{{ site.Title }} {{ end }}{{ $version }}
|
||||
</a>
|
||||
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="{{ $id }}-version-switch">
|
||||
@@ -77,6 +77,7 @@
|
||||
|
||||
<!-- Initialize arguments -->
|
||||
{{- $absoluteURL := site.Params.main.canonifyAssetsURLs | default false -}}
|
||||
{{- $pretty := site.Params.main.internalLinks.pretty | default false }}
|
||||
{{- $id := .id | default (printf "navbar-%d" 0) -}}
|
||||
{{- $page := .page -}}
|
||||
{{- $baseURL := $page.Scratch.Get "baseURL" -}}
|
||||
@@ -263,20 +264,24 @@
|
||||
{{- if $enableLanguage -}}
|
||||
{{- $currentLang := $page.Language.Lang -}}
|
||||
<li class="nav-item dropdown me-auto">
|
||||
<a class="nav-link dropdown-toggle d-{{ $size }}-none" href="#!" role="button" data-bs-toggle="dropdown" aria-label="{{ T "languageSwitcherLabel" }}" aria-expanded="false">
|
||||
<a class="nav-link dropdown-toggle d-{{ $size }}-none" role="button" data-bs-toggle="dropdown" aria-label="{{ T "languageSwitcherLabel" }}" aria-expanded="false">
|
||||
{{- partial "assets/icon.html" (dict "icon" "fas globe fa-fw" "spacing" false) }} {{ T "languageSwitcherLabel" }}
|
||||
</a>
|
||||
<a class="nav-link dropdown-toggle d-none d-{{ $size }}-block" href="#!" role="button" data-bs-toggle="dropdown" aria-label="{{ T "languageSwitcherLabel" }}" aria-expanded="false">
|
||||
<a class="nav-link dropdown-toggle d-none d-{{ $size }}-block" role="button" data-bs-toggle="dropdown" aria-label="{{ T "languageSwitcherLabel" }}" aria-expanded="false">
|
||||
{{- partial "assets/icon.html" (dict "icon" "fas globe fa-fw" "spacing" false) }}
|
||||
</a>
|
||||
<ul class="dropdown-menu dropdown-menu-end " id="language-selector">
|
||||
<ul class="dropdown-menu dropdown-menu-end " id="language-selector" data-translated="{{ $page.IsTranslated }}">
|
||||
{{- if $page.IsTranslated -}}
|
||||
{{- range $page.AllTranslations -}}
|
||||
<li><a class="dropdown-item {{ if eq .Language.Lang $currentLang }}active{{ end }}" hreflang="{{.Language.Lang}}" href="{{ .RelPermalink }}">{{ .Language.LanguageName }}</a></li>
|
||||
<li><a class="dropdown-item {{ if eq .Language.Lang $currentLang }}active{{ end }}" hreflang="{{ .Language.Lang }}" href="{{ .RelPermalink }}">{{ .Language.LanguageName }}</a></li>
|
||||
{{- end -}}
|
||||
{{- else -}}
|
||||
{{- range site.Languages -}}
|
||||
<li><a class="dropdown-item" href="{{ partial "utilities/URLJoin.html" (dict "base" $baseURL "path" .Lang) }}" hreflang="{{.Lang}}">{{ default .Lang .LanguageName }}</a></li>
|
||||
{{ $dest := partial "utilities/URLJoin.html" (dict "base" $baseURL "path" .Lang) }}
|
||||
{{ if and $pretty (not (hasSuffix $dest "/")) }}
|
||||
{{ $dest = printf "%s/" $dest }}
|
||||
{{ end }}
|
||||
<li><a class="dropdown-item" href="{{ $dest }}" hreflang="{{ .Lang }}">{{ default .Lang .LanguageName }}</a></li>
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
</ul>
|
||||
@@ -295,12 +300,16 @@
|
||||
</li>
|
||||
<li><hr class="dropdown-divider-bg"></li>
|
||||
|
||||
<a class="nav-link d-{{ $size }}-none" href="#!" role="button" data-bs-toggle="modal" data-bs-target="#search-modal" aria-label="{{ T "ui_search" }}" aria-expanded="false">
|
||||
<li class="d-{{ $size }}-none">
|
||||
<a class="nav-link" role="button" data-bs-toggle="modal" data-bs-target="#search-modal" aria-label="{{ T "ui_search" }}" aria-expanded="false">
|
||||
{{ partial "assets/icon.html" (dict "icon" "fas magnifying-glass fa-fw") }} {{ T "ui_search" }}
|
||||
</a>
|
||||
<a class="nav-link d-none d-{{ $size }}-block" href="#!" role="button" data-bs-toggle="modal" data-bs-target="#search-modal" aria-label="{{ T "ui_search" }}" aria-expanded="false">
|
||||
</a>
|
||||
</li>
|
||||
<li class="d-none d-{{ $size }}-block">
|
||||
<a class="nav-link" role="button" data-bs-toggle="modal" data-bs-target="#search-modal" aria-label="{{ T "ui_search" }}" aria-expanded="false">
|
||||
{{ partial "assets/icon.html" (dict "icon" "fas magnifying-glass fa-fw") }}
|
||||
</a>
|
||||
</a>
|
||||
</li>
|
||||
{{ end -}}
|
||||
</ul>
|
||||
</div>
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
-->
|
||||
@@ -21,7 +21,7 @@
|
||||
<!-- 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 }}">
|
||||
<a href="{{ with $pageAlertURL }}{{ . }}{{ else }}#!{{ end }}" class="text-decoration-none flex-grow-1 text-center">{{ $pageAlertMsg }}</a>
|
||||
<a {{ with $pageAlertURL }}href="{{ . }}"{{ 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>
|
||||
</div>
|
||||
{{- end -}}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
-->
|
||||
@@ -53,7 +53,7 @@
|
||||
{{- $title := .title -}}
|
||||
{{- $content := .content -}}
|
||||
|
||||
<h3>{{ $title }}</h3>
|
||||
<div class="fs-3 mt-4">{{ $title }}</div>
|
||||
{{ with $content }}<p>{{ . }}</p>{{ end -}}
|
||||
{{- end -}}
|
||||
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
-->
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
-->
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
-->
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
-->
|
||||
@@ -52,14 +52,14 @@
|
||||
{{- if .clipboard -}}
|
||||
{{- $target = (printf "toast-message-%s-%d" (anchorize $item.name) $index ) -}}
|
||||
{{- $clipboard = $url -}}
|
||||
{{- $url = "#!" -}}
|
||||
{{- $url = "" -}}
|
||||
{{- partial "assets/toast.html" (dict "id" $target "message" (printf "%s %s" (T "link") (T "copiedToClipboard"))) -}}
|
||||
{{- 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) }}
|
||||
{{- end -}}
|
||||
{{ if $page.Site.Params.sharing.webshare }}
|
||||
{{ $attr := dict "data-sharing-title" $page.Title "data-sharing-description" $page.Description "data-sharing-url" $page.Permalink }}
|
||||
{{ partial "assets/button.html" (dict "href" "#!" "icon" "fas share-nodes fa-fw" "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" "class" "btn-social p-0" "attributes" $attr "label" (T "shareLink" (T "shareSystem")) "spacing" false) }}
|
||||
{{- end -}}
|
||||
{{ with $download }}
|
||||
{{ $label := (T "download" ) }}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
-->
|
||||
@@ -28,12 +28,34 @@
|
||||
|
||||
{{- $doc_slug := partial "utilities/URLJoin.html" (dict "base" $baseURL "path" ($group.title | urlize)) -}}
|
||||
{{- $href := or $group.link $doc_slug -}}
|
||||
{{ $ref := partial "utilities/GetPage.html" (dict "url" $href "page" $page) }}
|
||||
{{ if eq $group.link "#" }}{{ $href = $doc_slug }}{{ end }}
|
||||
{{- $collapsed := strings.HasPrefix $page.RelPermalink $href -}}
|
||||
{{ if not (hasSuffix $href "/") }}{{ $href = printf "%s/" $href }}{{ end }}
|
||||
{{- $current := eq $href $page.RelPermalink }}
|
||||
|
||||
<li class="mb-1">
|
||||
<button class="btn btn-toggle d-inline-flex align-items-center rounded border-0 collapsed" data-bs-toggle="collapse" data-bs-target="#sidebar-collapse-{{ $index }}-{{ $level }}" aria-expanded="{{ if $collapsed }}true{{ else }}false{{ end }}">
|
||||
<div class="text-start flex-fill">{{ $group.title }}</div>
|
||||
</button>
|
||||
<div class="d-flex w-100 p-0 sidebar-item-group">
|
||||
<div class="text-start flex-grow-1 {{ if $current }}fw-bold{{ end }}">
|
||||
{{ $dest := $href }}
|
||||
{{ $target := "" }}
|
||||
{{ if or $current (not $ref) }}
|
||||
{{ $dest = "" }}
|
||||
{{ end }}
|
||||
<a {{ with $dest }} href="{{ . }}"{{ else }}
|
||||
data-bs-toggle="collapse"
|
||||
data-bs-target="#sidebar-collapse-{{ $index }}-{{ $level }}"
|
||||
{{ end }}>{{ $group.title }}</a>
|
||||
</div>
|
||||
|
||||
<button
|
||||
class="btn btn-toggle-group d-inline-flex align-items-center rounded border-0 collapsed"
|
||||
data-bs-toggle="collapse"
|
||||
data-bs-target="#sidebar-collapse-{{ $index }}-{{ $level }}"
|
||||
aria-expanded="{{ if $collapsed }}true{{ else }}false{{ end }}"
|
||||
>
|
||||
</button>
|
||||
</div>
|
||||
<div class="collapse {{ if $collapsed }}show{{ end }}" id="sidebar-collapse-{{ $index }}-{{ $level }}">
|
||||
<ul class="btn-toggle-nav list-unstyled fw-normal {{ if eq $level 0}} pb-1 {{ end }}ps-3">
|
||||
{{- range $item := $group.pages -}}
|
||||
@@ -79,9 +101,11 @@
|
||||
{{ $href = . }}
|
||||
{{ else }}
|
||||
{{- $href = partial "utilities/URLJoin.html" (dict "base" $baseURL "path" .) -}}
|
||||
{{ if not (hasSuffix $href "/") }}{{ $href = printf "%s/" $href }}{{ end }}
|
||||
{{ end }}
|
||||
{{ else }}
|
||||
{{- $href = partial "utilities/URLJoin.html" (dict "base" $baseURL "path" ($title | urlize)) -}}
|
||||
{{ if not (hasSuffix $href "/") }}{{ $href = printf "%s/" $href }}{{ end }}
|
||||
{{ end }}
|
||||
{{- $active := eq (strings.TrimSuffix "/" $page.RelPermalink) (strings.TrimSuffix "/" $href) -}}
|
||||
|
||||
@@ -91,7 +115,7 @@
|
||||
<li>
|
||||
<ul class="btn-toggle-nav list-unstyled fw-bold pb-1">
|
||||
<li>
|
||||
{{ $class := "sidebar-item text-decoration-none rounded" }}
|
||||
{{ $class := "sidebar-item text-decoration-none rounded w-100" }}
|
||||
{{ if $active }}{{ $class = printf "%s active" $class }}{{ end }}
|
||||
{{ $link := partial "assets/link.html" (dict "destination" $href "text" $title "class" $class "page" $page) }}
|
||||
{{ if $link }}
|
||||
@@ -104,7 +128,7 @@
|
||||
</li>
|
||||
{{ else }}
|
||||
<li>
|
||||
{{ $class := "sidebar-item text-decoration-none rounded small" }}
|
||||
{{ $class := "sidebar-item text-decoration-none rounded small w-100" }}
|
||||
{{ if $active }}{{ $class = printf "%s active" $class }}{{ end }}
|
||||
{{ $link := partial "assets/link.html" (dict "destination" $href "text" $title "class" $class "page" $page) }}
|
||||
{{ if $link }}
|
||||
|
@@ -1,40 +1,89 @@
|
||||
<!--
|
||||
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
-->
|
||||
|
||||
{{ $page := .page }}
|
||||
{{ $input := .input }}
|
||||
{{ $args := .args }}
|
||||
{{ $sortable := .sortable | default false }}
|
||||
{{ $paging := .paging | default false }}
|
||||
{{ $searchable := .searchable | default false }}
|
||||
{{ define "partials/inline-table.html" }}
|
||||
{{ $page := .page }}
|
||||
{{ $input := .input }}
|
||||
{{ $attributes := .attributes }}
|
||||
{{ $class := .class }}
|
||||
{{ $wrap := .wrap }}
|
||||
|
||||
{{- $responsiveVals := slice "table-responsive" "table-responsive-none" "table-responsive-sm" "table-responsive-md" "table-responsive-lg" "table-responsive-xl" "table-responsive-xxl" -}}
|
||||
{{- $responsive := intersect $args $responsiveVals -}}
|
||||
{{- $main := complement $responsive $args -}}
|
||||
{{ if $wrap }}{{ $input = printf "%s\n{.table-wrap}" (chomp $input) }}{{ end }}
|
||||
{{- $input = $input | $page.RenderString }}
|
||||
{{ $regex := `<table\s*class="(.+?)"` }}
|
||||
{{ $current := (index (index (findRESubmatch $regex $input) 0) 1) }}
|
||||
{{ $target := delimit (((split $current " ") | append "table" | append $class) | uniq) " " }}
|
||||
|
||||
{{- if in $responsive "table-responsive-none" -}}
|
||||
{{- $responsive = "" -}}
|
||||
{{- else if not $responsive -}}
|
||||
{{ $responsive = (slice "table-responsive") -}}
|
||||
{{- end -}}
|
||||
{{- $new := printf `<table class="%s" %s` $target (trim $attributes " ") -}}
|
||||
{{ $input := replaceRE $regex $new $input 1 -}}
|
||||
|
||||
{{- $class := delimit $main " " -}}
|
||||
{{ if or $sortable $paging $searchable }}{{ $class = trim (printf "%s data-table" $class) " " }}{{ end }}
|
||||
{{- $input := $input | $page.RenderString }}
|
||||
{{ $regex := `<table\s*class="(.+?)"` }}
|
||||
{{ $current := (index (index (findRESubmatch $regex $input) 0) 1) }}
|
||||
{{ $target := delimit (((split $current " ") | append "table" | append $class) | uniq) " " }}
|
||||
{{ return $input }}
|
||||
{{ end }}
|
||||
|
||||
<!-- Initialize arguments -->
|
||||
{{ $error := false }}
|
||||
{{ $args := partial "utilities/InitArgs.html" (dict "structure" "table" "args" .) }}
|
||||
{{ if $args.err }}
|
||||
{{ partial "utilities/LogErr.html" (dict
|
||||
"partial" "assets/table.html"
|
||||
"msg" "Invalid arguments"
|
||||
"details" $args.errmsg
|
||||
"file" page.File
|
||||
)}}
|
||||
{{ end }}
|
||||
|
||||
<!-- Initialize local variables -->
|
||||
{{ $class := $args.class }}
|
||||
{{ if or $args.sortable $args.paging $args.searchable }}{{ $class = trim (printf "%s data-table" $class) " " }}{{ end }}
|
||||
|
||||
{{ $attributes := "" }}
|
||||
{{ if $sortable }}{{ $attributes = printf "%s data-table-sortable=true" $attributes }}{{ end }}
|
||||
{{ if $paging }}{{ $attributes = printf "%s data-table-paging=true" $attributes }}{{ end }}
|
||||
{{ if $searchable }}{{ $attributes = printf "%s data-table-searchable=true" $attributes }}{{ end }}
|
||||
{{ if $args.sortable }}{{ $attributes = printf "%s data-table-sortable=true" $attributes }}{{ end }}
|
||||
{{ if $args.paging }}
|
||||
{{ $attributes = printf "%s data-table-paging=true" $attributes }}
|
||||
{{ $attributes = printf "%s data-table-paging-option-perPage=%d" $attributes $args.pagingOptionPerPage }}
|
||||
{{ if (ne $args.pagingOptionPerPageSelect "") }}
|
||||
{{ $attributes = printf "%s data-table-paging-option-perPageSelect=%s" $attributes $args.pagingOptionPerPageSelect }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ if $args.searchable }}{{ $attributes = printf "%s data-table-searchable=true" $attributes }}{{ end }}
|
||||
|
||||
{{- $new := printf `<table class="%s" %s` $target (trim $attributes " ") -}}
|
||||
{{ $input := replaceRE $regex $new $input 1 -}}
|
||||
{{- with $responsive }}<div class="{{ delimit . " " }}">{{ end -}}
|
||||
{{ $input | safeHTML }}
|
||||
{{- with $responsive }}</div>{{ end -}}
|
||||
<!-- Main code -->
|
||||
{{- $breakpoint := $args.page.Scratch.Get "breakpoint" -}}
|
||||
{{ $regular := partial "partials/inline-table.html" (dict
|
||||
"page" $args.page
|
||||
"input" $args.input
|
||||
"attributes" $attributes
|
||||
"class" $class
|
||||
"wrap" false
|
||||
) }}
|
||||
|
||||
{{ $wrapped := "" }}
|
||||
{{ if $args.wrap }}
|
||||
{{ $wrapped = partial "partials/inline-table.html" (dict
|
||||
"page" $args.page
|
||||
"input" $args.input
|
||||
"attributes" $attributes
|
||||
"class" $class
|
||||
"wrap" true
|
||||
) }}
|
||||
{{ end }}
|
||||
|
||||
{{ if not $error }}
|
||||
{{ if eq $args.breakpoint "none" }}
|
||||
{{ $regular | safeHTML }}
|
||||
{{ with $wrapped }}{{ . | safeHTML }}{{ end }}
|
||||
{{ else }}
|
||||
<div class="table-responsive{{- with $args.breakpoint }}-{{ . }}{{ end }} {{ if $wrapped }}d-none d-{{ $breakpoint.current }}-block{{ end }}">
|
||||
{{ $regular | safeHTML }}
|
||||
</div>
|
||||
|
||||
{{ with $wrapped }}
|
||||
<div class="table-responsive{{- with $args.breakpoint }}-{{ . }}{{ end }} d-{{ $breakpoint.current }}-none">
|
||||
{{ . | safeHTML }}
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
41
layouts/partials/assets/theme-version.html
Normal file
41
layouts/partials/assets/theme-version.html
Normal file
@@ -0,0 +1,41 @@
|
||||
<!--
|
||||
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
-->
|
||||
|
||||
<!-- TODO: merge with version.html -->
|
||||
|
||||
{{- define "partials/assets/version/mod.html" -}}
|
||||
{{- $file := "go.mod" -}}
|
||||
{{- $regex := printf `github.com/gethinode/hinode v.*(\r\n|\r|\n)` -}}
|
||||
{{- $match := findRE $regex (readFile $file) -}}
|
||||
|
||||
{{- $result := "" -}}
|
||||
{{- if gt (len $match) 0 -}}
|
||||
{{- $result = (index (split (index $match 0) " ") 1) -}}
|
||||
{{- $result = strings.TrimPrefix "v" $result -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- return $result -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "partials/assets/version/package.html" -}}
|
||||
{{- $file := "data/package-hinode.json" -}}
|
||||
{{ $data := dict }}
|
||||
{{ $version := "" }}
|
||||
{{ with resources.Get $file }}
|
||||
{{ with . | transform.Unmarshal }}
|
||||
{{ $data = . }}
|
||||
{{ $version = index $data "version" }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ return $version }}
|
||||
{{- end -}}
|
||||
|
||||
{{- $version := partial "assets/version/mod.html" . -}}
|
||||
{{ if not $version }}
|
||||
{{- $version = partial "assets/version/package.html" . -}}
|
||||
{{ end }}
|
||||
{{- print $version -}}
|
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
-->
|
||||
|
@@ -1,39 +1,63 @@
|
||||
<!--
|
||||
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
-->
|
||||
|
||||
<!-- Initialize arguments -->
|
||||
{{ $error := false }}
|
||||
|
||||
<!-- Validate arguments -->
|
||||
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "toc" "args" . "group" "partial") }}
|
||||
{{- errorf "partial [assets/toc-dropdown.html] - Invalid arguments" -}}
|
||||
{{ $args := partial "utilities/InitArgs.html" (dict "structure" "toc" "args" . "group" "partial") }}
|
||||
{{ if $args.err }}
|
||||
{{ partial "utilities/LogErr.html" (dict
|
||||
"partial" "assets/schema.html"
|
||||
"msg" "Invalid arguments"
|
||||
"details" $args.errmsg
|
||||
"file" page.File
|
||||
)}}
|
||||
{{ $error = true }}
|
||||
{{ end }}
|
||||
|
||||
<!-- Initialize arguments -->
|
||||
{{- $page := .page -}}
|
||||
{{ $items := len (findRE "<li.*?>(.|\n)*?</li>" $page.TableOfContents) -}}
|
||||
<!-- Initialize local arguments -->
|
||||
{{- $startLevel := or (.Site.Params.navigation.startLevel | int) 2 }}
|
||||
{{- $endLevel := or (.Site.Params.navigation.endLevel | int) 3 }}
|
||||
{{- $minNumHeadings := or (.Site.Params.navigation.minNumHeadings | int) 2 }}
|
||||
|
||||
{{ if and (not $error) (gt $items 1) -}}
|
||||
<div class="d-grid gap-2 mx-auto">
|
||||
{{ partial "assets/button.html" (dict
|
||||
"title" (T "toc")
|
||||
"color" "secondary"
|
||||
"outline" "true"
|
||||
"class" "toc-button"
|
||||
"icon" "fas sort"
|
||||
"justify" "between"
|
||||
"collapse" "toc-collapse"
|
||||
"order" "last"
|
||||
"spacing" false
|
||||
) -}}
|
||||
</div>
|
||||
|
||||
<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">
|
||||
<small>{{ $page.TableOfContents }}</small>
|
||||
<!-- Main code -->
|
||||
{{ if not $error }}
|
||||
{{ $headings := partial "assets/toc-headings.html" $args.page }}
|
||||
{{- with $headings }}
|
||||
{{- if and (not $error) (ge (len .) $minNumHeadings) }}
|
||||
<div class="d-grid gap-2 mx-auto">
|
||||
{{ partial "assets/button.html" (dict
|
||||
"title" (T "toc")
|
||||
"color" "secondary"
|
||||
"outline" "true"
|
||||
"class" "toc-button"
|
||||
"icon" "fas sort"
|
||||
"justify" "between"
|
||||
"collapse" "toc-collapse"
|
||||
"order" "last"
|
||||
"spacing" false
|
||||
) -}}
|
||||
</div>
|
||||
</div>
|
||||
{{ end -}}
|
||||
|
||||
<div class="collapse border bg-body-tertiary rounded p-1 navbar-nav-scroll" id="toc-collapse">
|
||||
<small>
|
||||
<div class="toc toc-panel text-body p-2">
|
||||
{{- range . }}
|
||||
{{- $attrs := dict "class" (printf "toc-item toc-level-%d" (add 1 (sub .level $startLevel))) }}
|
||||
{{- with .id }}
|
||||
{{- $attrs = merge $attrs (dict "href" (printf "%s#%s" $args.page.RelPermalink .)) }}
|
||||
{{- end }}
|
||||
<a
|
||||
{{- range $k, $v := $attrs }}
|
||||
{{- printf " %s=%q" $k $v | safeHTMLAttr }}
|
||||
{{- end -}}
|
||||
>{{ .text }}</a>
|
||||
{{- end }}
|
||||
</div>
|
||||
</small>
|
||||
</div>
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
75
layouts/partials/assets/toc-headings.html
Normal file
75
layouts/partials/assets/toc-headings.html
Normal file
@@ -0,0 +1,75 @@
|
||||
{{- /*
|
||||
Copyright 2023 Veriphor, LLC
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
||||
use this file except in compliance with the License. You may obtain a copy of
|
||||
the License at
|
||||
|
||||
https://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
License for the specific language governing permissions and limitations under
|
||||
the License.
|
||||
*/}}
|
||||
|
||||
{{- /* Initialize. */}}
|
||||
{{- $partialName := "toc-headings" }}
|
||||
|
||||
{{- /* Verify minimum required version. */}}
|
||||
{{- $minHugoVersion := "0.125.6" }}
|
||||
{{- if lt hugo.Version $minHugoVersion }}
|
||||
{{- errorf "The %q partial requires Hugo v%s or later." $partialName $minHugoVersion }}
|
||||
{{- end }}
|
||||
|
||||
{{- /* Determine content path for warning and error messages. */}}
|
||||
{{- $contentPath := "" }}
|
||||
{{- with .File }}
|
||||
{{- $contentPath = .Path }}
|
||||
{{- else }}
|
||||
{{- $contentPath = .Path }}
|
||||
{{- end }}
|
||||
|
||||
{{- /* Get configuration. */}}
|
||||
{{- $startLevel := or (.Site.Params.navigation.startLevel | int) 2 }}
|
||||
{{- $endLevel := or (.Site.Params.navigation.endLevel | int) 3 }}
|
||||
|
||||
{{- /* Get headings. */}}
|
||||
{{- $headings := slice }}
|
||||
{{- $ids := slice }}
|
||||
{{- range findRE `(?is)<h\d.*?</h\d>` .Content }}
|
||||
{{- $level := substr . 2 1 | int }}
|
||||
{{- if and (ge $level $startLevel) (le $level $endLevel) }}
|
||||
{{- $text := replaceRE `(?is)<h\d.*?>(.+?)</h\d>` "$1" . }}
|
||||
{{- $text = trim $text " " | plainify | safeHTML }}
|
||||
{{- $id := "" }}
|
||||
{{- if findRE `\s+id=` . }}
|
||||
{{- $id = replaceRE `(?is).+?\s+id=(?:\x22|\x27)?(.*?)(?:\x22|\x27)?[\s>].+` "$1" . }}
|
||||
{{- $ids = $ids | append $id }}
|
||||
{{- if not $id }}
|
||||
{{- errorf "The %q partial detected that the %q heading has an empty ID attribute. See %s" $partialName $text $contentPath }}
|
||||
{{- end }}
|
||||
{{- else }}
|
||||
{{- errorf "The %q partial detected that the %q heading does not have an ID attribute. See %s" $partialName $text $contentPath }}
|
||||
{{- end }}
|
||||
{{- $headings = $headings | append (dict "id" $id "level" $level "text" $text) }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- /* Check for duplicate heading IDs. */}}
|
||||
{{- $unique := slice }}
|
||||
{{- $duplicates := slice }}
|
||||
{{- range $ids }}
|
||||
{{- if in $unique . }}
|
||||
{{- $duplicates = $duplicates | append . }}
|
||||
{{- else }}
|
||||
{{- $unique = $unique | append . }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- with $duplicates }}
|
||||
{{- errorf "The %q partial detected duplicate heading IDs (%s) in %s" $partialName (delimit . ", ") $contentPath }}
|
||||
{{- end }}
|
||||
|
||||
{{ return $headings }}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
-->
|
||||
|
107
layouts/partials/assets/toc-parse-content.html
Normal file
107
layouts/partials/assets/toc-parse-content.html
Normal file
@@ -0,0 +1,107 @@
|
||||
{{- /*
|
||||
Copyright 2023 Veriphor, LLC
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
||||
use this file except in compliance with the License. You may obtain a copy of
|
||||
the License at
|
||||
|
||||
https://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
License for the specific language governing permissions and limitations under
|
||||
the License.
|
||||
*/}}
|
||||
|
||||
{{- /*
|
||||
Renders a table of contents by parsing rendered content.
|
||||
|
||||
In site configuration, set the default start level, end level, and the minimum
|
||||
number of headings required to show the table of contents:
|
||||
|
||||
[params.toc]
|
||||
startLevel = 2 # default is 2
|
||||
endLevel = 3 # default is 3
|
||||
minNumHeadings = 2 # default is 2
|
||||
|
||||
To display the table of contents on a page:
|
||||
|
||||
+++
|
||||
title = 'Post 1'
|
||||
toc = true
|
||||
+++
|
||||
|
||||
To display the table of contents on a page, and override one or more of the
|
||||
default settings:
|
||||
|
||||
+++
|
||||
title = 'Post 1'
|
||||
[toc]
|
||||
startLevel = 2 # default is 2
|
||||
endLevel = 3 # default is 3
|
||||
minNumHeadings = 2 # default is 2
|
||||
+++
|
||||
|
||||
Change or localize the title with a "toc_title" key in your i18n file(s).
|
||||
|
||||
Start with these basic CSS rules to style the table of contents:
|
||||
|
||||
a.toc-item {
|
||||
display: block;
|
||||
}
|
||||
a.toc-level-1 {
|
||||
margin-left: 0em;
|
||||
}
|
||||
a.toc-level-2 {
|
||||
margin-left: 1em;
|
||||
}
|
||||
a.toc-level-3 {
|
||||
margin-left: 2em;
|
||||
}
|
||||
a.toc-level-4 {
|
||||
margin-left: 3em;
|
||||
}
|
||||
a.toc-level-5 {
|
||||
margin-left: 4em;
|
||||
}
|
||||
a.toc-level-6 {
|
||||
margin-left: 5em;
|
||||
}
|
||||
|
||||
@context {page} .
|
||||
|
||||
@returns {template.HTML}
|
||||
|
||||
@example {{ partial "toc-parse-content.html" . }}
|
||||
*/}}
|
||||
|
||||
{{- /* Get configuration. */}}
|
||||
{{- $startLevel := or (.Site.Params.navigation.startLevel | int) 2 }}
|
||||
{{- $endLevel := or (.Site.Params.navigation.endLevel | int) 3 }}
|
||||
{{- $minNumHeadings := or (.Site.Params.navigation.minNumHeadings | int) 2 }}
|
||||
|
||||
{{- /* Initialize. */}}
|
||||
{{ $headings := partial "assets/toc-headings.html" . }}
|
||||
|
||||
{{- /* Render */}}
|
||||
{{- if .Site.Params.navigation.toc }}
|
||||
{{- with $headings }}
|
||||
{{- if ge (len .) $minNumHeadings }}
|
||||
<strong class="d-block h6 my-2 pt-4">{{ T "toc" }}:</strong>
|
||||
<nav class="toc">
|
||||
{{- range . }}
|
||||
{{- $attrs := dict "class" (printf "toc-item toc-level-%d" (add 1 (sub .level $startLevel))) }}
|
||||
{{- with .id }}
|
||||
{{- $attrs = merge $attrs (dict "href" (printf "%s#%s" $.RelPermalink .)) }}
|
||||
{{- end }}
|
||||
<a
|
||||
{{- range $k, $v := $attrs }}
|
||||
{{- printf " %s=%q" $k $v | safeHTMLAttr }}
|
||||
{{- end -}}
|
||||
>{{ .text }}</a>
|
||||
{{- end }}
|
||||
</nav>
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
@@ -14,10 +14,8 @@
|
||||
|
||||
<!-- Initialize arguments -->
|
||||
{{- $page := .page -}}
|
||||
{{ $items := len (findRE "<li.*?>(.|\n)*?</li>" $page.TableOfContents) -}}
|
||||
|
||||
<!-- Main code -->
|
||||
{{ if and (not $error) (gt $items 1) -}}
|
||||
<strong class="d-block h6 my-2 pb-2">{{ T "toc" }}:</strong>
|
||||
{{ $page.TableOfContents }}
|
||||
{{ if not $error -}}
|
||||
{{ partial "assets/toc-parse-content.html" $page }}
|
||||
{{ end -}}
|
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
-->
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
|
||||
@@ -68,11 +68,11 @@
|
||||
{{ $api := printf "https://www.youtube.com/oembed?format=json&url=%s" (printf "https://www.youtube.com/watch?v=%s" $id) }}
|
||||
{{ $padding := "56.25%" }}
|
||||
|
||||
{{ with resources.GetRemote $api }}
|
||||
{{ with try (resources.GetRemote $api) }}
|
||||
{{ with .Err }}
|
||||
{{ errorf "Unable to parse video metadata '%q': %s\n %s" $api $origin . }}
|
||||
{{ else }}
|
||||
{{ $data := . | transform.Unmarshal }}
|
||||
{{ $data := .Value | transform.Unmarshal }}
|
||||
{{ if $autotitle }}{{ with $data.title }}{{ $title = . }}{{ end }}{{ end }}
|
||||
{{ $padding = printf "%.2f%%" (mul (div $data.height $data.width) 100) }}
|
||||
{{ end }}
|
||||
@@ -97,11 +97,11 @@
|
||||
{{- $dnt := cond $pc.EnableDNT 1 0 -}}
|
||||
{{- $query := querify "url" $url "dnt" $dnt -}}
|
||||
{{- $api := printf "https://vimeo.com/api/oembed.json?%s" $query -}}
|
||||
{{- with resources.GetRemote $api -}}
|
||||
{{- with try (resources.GetRemote $api) -}}
|
||||
{{ with .Err }}
|
||||
{{ errorf "Unable to parse video metadata '%q': %s\n %s" $api $origin . }}
|
||||
{{ else }}
|
||||
{{ $data := . | transform.Unmarshal }}
|
||||
{{ $data := .Value | transform.Unmarshal }}
|
||||
{{ if $autotitle }}{{ with $data.title }}{{ $title = . }}{{ end }}{{ end }}
|
||||
{{ $padding = printf "%.2f%%" (mul (div $data.height $data.width) 100) }}
|
||||
{{ end }}
|
||||
@@ -119,7 +119,9 @@
|
||||
{{ $url := printf "https://player.cloudinary.com/embed/?cloud_name=%s&public_id=%s" $account $id }}
|
||||
{{ $params := "&controls=true" }}
|
||||
{{ if $autoplay }}{{ $params = print $params "&autoplay=true&muted=true" }}{{ end }}
|
||||
{{ with $params }}{{ $url = print $url . }}{{ end }}
|
||||
{{ with .options }}{{ $params = print "&" . }}{{ end }}
|
||||
{{ $params = strings.TrimLeft "?&" $params }}
|
||||
{{ with $params }}{{ $url = print $url "&" . }}{{ end }}
|
||||
{{ $padding := "56.25%" }}
|
||||
|
||||
{{ $thumbnail := partial "utilities/URLJoin.html" (dict "base" (path.Dir $id) "path" (printf "%s.jpg" (path.BaseName $id))) }}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Copyright © 2022 - 2025 The Hinode Team / Mark Dumay. All rights reserved.
|
||||
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||
Visit gethinode.com/license for more details.
|
||||
-->
|
||||
@@ -121,7 +121,7 @@
|
||||
{{ if not $error }}
|
||||
<!-- include external scripts first -->
|
||||
{{ range $mod, $cfg := $config.modules }}
|
||||
{{ if eq (index $cfg "integration") $args.type }}
|
||||
{{ if in $modules $mod }}
|
||||
{{ if or (index $cfg "local") (not hugo.IsServer) }}
|
||||
{{ with index $cfg "url" }}
|
||||
{{ partial "templates/script.html" (dict "link" . "category" (index $cfg "category") "state" (index $cfg "state")) }}
|
||||
|
@@ -13,7 +13,9 @@
|
||||
<div class="col col-6">
|
||||
<div class="row justify-content-end p-0">
|
||||
<div class="col-12 col-md-8 p-0">
|
||||
<div class="fs-3 fw-bold">{{ or .Site.Params.footer.socialTitle .Site.Params.social.title }}</div>
|
||||
{{- $title := or .Site.Params.footer.socialTitle .Site.Params.social.title }}
|
||||
{{ if site.Params.main.titleCase }}{{ $title = title $title }}{{ end }}
|
||||
<div class="fs-3 fw-bold">{{ $title }}</div>
|
||||
<p>{{ or .Site.Params.footer.socialCaption .Site.Params.social.caption }}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -1,5 +1,5 @@
|
||||
{{ define "head" }}
|
||||
{{- $version := strings.TrimPrefix "v" (partialCached "assets/version.html" .) -}}
|
||||
{{- $version := strings.TrimSpace (partial "assets/theme-version.html" .) -}}
|
||||
{{ $desc := .Page.Description | default (.Page.Content | safeHTML | truncate 150) -}}
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
@@ -7,7 +7,6 @@
|
||||
<meta name="theme" content="{{ printf "Hinode %s" $version }}">
|
||||
{{ partialCached "head/stylesheet-core.html" . -}}
|
||||
|
||||
|
||||
{{ $config := page.Scratch.Get "modules" }}
|
||||
{{ if not $config }}
|
||||
{{ errorf "partial [head/head.html] - Cannot initialize module configuration" }}
|
||||
|
@@ -3,9 +3,9 @@
|
||||
<meta property="og:type" content="{{ if .IsPage }}article{{ else }}website{{ end }}">
|
||||
<meta property="og:title" content="{{ $.Scratch.Get "title" }}">
|
||||
<meta property="og:description" content="{{ $.Scratch.Get "description" }}">
|
||||
{{ if $.Scratch.Get "paginator" -}}
|
||||
{{ $paginator := .Paginate (where .Site.RegularPages.ByDate.Reverse "Section" "blog" ) -}}
|
||||
<meta property="og:url" content="{{ .Paginator.URL | absURL }}">
|
||||
{{ $paginator := $.Store.Get "paginator" }}
|
||||
{{ if $paginator }}
|
||||
<meta property="og:url" content="{{ $paginator.URL | absURL }}">
|
||||
{{ else -}}
|
||||
<meta property="og:url" content="{{ .Permalink }}">
|
||||
{{ end -}}
|
||||
|
@@ -2,13 +2,13 @@
|
||||
|
||||
<!-- Adapted from doks -->
|
||||
{{ with .Params.meta.title }}
|
||||
{{ $.Scratch.Set "title" . -}}
|
||||
{{ $title := . }}
|
||||
{{ if site.Params.main.titleCase }}{{ $title = title $title }}{{ end }}
|
||||
{{ $.Scratch.Set "title" $title -}}
|
||||
{{ else }}
|
||||
{{ with .Title -}}
|
||||
{{ $.Scratch.Set "title" . -}}
|
||||
{{ else -}}
|
||||
{{ $.Scratch.Set "title" .Site.Title -}}
|
||||
{{ end -}}
|
||||
{{ $title := .Title | default .Site.Title }}
|
||||
{{ if site.Params.main.titleCase }}{{ $title = title $title }}{{ end }}
|
||||
{{ $.Scratch.Set "title" $title -}}
|
||||
{{ end }}
|
||||
|
||||
{{ $description := or (partial "utilities/GetDescription.html" (dict "page" . "meta" true)) .Site.Params.main.description }}
|
||||
@@ -63,16 +63,16 @@
|
||||
|
||||
<meta name="description" content="{{ $.Scratch.Get "description" }}">
|
||||
|
||||
{{ if $.Scratch.Get "paginator" }}
|
||||
<link rel="canonical" href="{{ .Paginator.URL | absURL }}">
|
||||
{{ if .Paginator.HasPrev -}}
|
||||
<link rel="prev" href="{{ .Paginator.Prev.URL | absURL }}">
|
||||
|
||||
{{ $paginator := $.Store.Get "paginator" }}
|
||||
{{ if $paginator }}
|
||||
<link rel="canonical" href="{{ $paginator.URL | absURL }}">
|
||||
{{ if $paginator.HasPrev -}}
|
||||
<link rel="prev" href="{{ $paginator.Prev.URL | absURL }}">
|
||||
{{ end -}}
|
||||
{{ if .Paginator.HasNext -}}
|
||||
<link rel="next" href="{{ .Paginator.Next.URL | absURL }}">
|
||||
{{ if $paginator.HasNext -}}
|
||||
<link rel="next" href="{{ $paginator.Next.URL | absURL }}">
|
||||
{{ end -}}
|
||||
{{ else -}}
|
||||
<link rel="canonical" href="{{ .Permalink }}">
|
||||
{{ end -}}
|
||||
|
||||
{{ partial "head/opengraph.html" . }}
|
||||
|
@@ -34,7 +34,7 @@
|
||||
"name": "{{ .Site.Params.schema.name }}",
|
||||
"url": {{ print $baseURL }},
|
||||
"sameAs": {{ $alt | uniq | complement (slice "") }},
|
||||
{{ if eq .Site.Params.schemaType "Organization" -}}
|
||||
{{ if eq .Site.Params.schema.type "Organization" -}}
|
||||
"logo": {
|
||||
"@type": "ImageObject",
|
||||
"@id": {{ print $baseURL "#/schema/image/1"}},
|
||||
@@ -200,4 +200,4 @@
|
||||
|
||||
]
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
|
@@ -1,8 +1,12 @@
|
||||
{{- $transpiler := site.Params.main.build.transpiler | default "libsass" -}}
|
||||
{{- $silence := slice -}}
|
||||
{{- $supportedTranspilers := slice "libsass" "dartsass" -}}
|
||||
{{- if not (in $supportedTranspilers $transpiler) -}}
|
||||
{{- errorf "partial [head/stylesheet.html] - Invalid value for param 'transpiler': %s" $transpiler -}}
|
||||
{{- end -}}
|
||||
{{- if site.Params.main.build.silenceDeprecations -}}
|
||||
{{- $silence = (slice "import" "mixed-decls" "color-functions" "global-builtin") -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- $absoluteURL := site.Params.main.canonifyAssetsURLs | default false -}}
|
||||
{{- $source := .source }}
|
||||
@@ -62,7 +66,7 @@
|
||||
"dark-mode-tint" (default "0%" site.Params.style.darkModeTint)
|
||||
-}}
|
||||
|
||||
{{- $options := (dict "transpiler" $transpiler "targetPath" $target "enableSourceMap" (not hugo.IsProduction) "vars" $vars) -}}
|
||||
{{- $options := (dict "transpiler" $transpiler "silenceDeprecations" $silence "targetPath" $target "enableSourceMap" (not hugo.IsProduction) "vars" $vars) -}}
|
||||
{{- $bundle := partial "utilities/bundle.html" (dict "match" $source "filename" (printf "scss/bundle-%d.scss" now.UnixNano) "modules" $modules "basepath" "scss" "debugging" site.Params.debugging.showSCSS) -}}
|
||||
|
||||
{{- if gt ($bundle.Content | len) 0 }}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user