Compare commits

...

81 Commits

Author SHA1 Message Date
Mark Dumay
9060fe20fe Merge pull request #418 from gethinode/develop
Fix navbar
2023-08-14 13:50:14 +02:00
mark
b4d60df133 Adjust size of timeline on small devices 2023-08-14 13:38:05 +02:00
mark
09d7904654 Fix background color of connector 2023-08-14 13:18:59 +02:00
Mark Dumay
a7d35b7b06 Merge branch 'main' into develop 2023-08-14 12:59:33 +02:00
mark
f22cffcfc4 Bump package release 2023-08-14 12:58:45 +02:00
mark
b6ae910514 Improve accessibility of release button 2023-08-14 12:02:40 +02:00
mark
4486dcc814 Fix navbar collapse 2023-08-14 11:53:21 +02:00
Mark Dumay
1452109194 Merge pull request #416 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2023-08-14 10:33:29 +02:00
Mark Dumay
512f39ed8a Merge branch 'main' into hugo-mod-dependencies 2023-08-14 10:25:29 +02:00
Mark Dumay
39c6f922fe Merge pull request #417 from gethinode/develop
Fix navbar behavior
2023-08-14 10:23:20 +02:00
Mark Dumay
e8ccd62987 Merge branch 'main' into develop 2023-08-14 09:30:47 +02:00
mark
210237c42f Ensure all elements use the same base id 2023-08-14 09:29:33 +02:00
mark
daa2295cea Bump dependencies 2023-08-14 09:11:14 +02:00
mark
e6d5c16f12 Fix #415 2023-08-14 09:10:48 +02:00
markdumay
e0dea81ef5 fix: update Hugo module dependencies 2023-08-14 03:15:09 +00:00
Mark Dumay
2889f8e8b1 Merge pull request #414 from gethinode/develop
Fix accessibility issues
2023-08-13 13:09:42 +02:00
mark
ac6d3504be Fix stylelint error 2023-08-13 12:52:10 +02:00
mark
fdaf7de75e Improve alert accessibility 2023-08-13 09:08:18 +02:00
Mark Dumay
185b8b5f40 Merge branch 'main' into develop 2023-08-13 08:26:26 +02:00
mark
603590e95b Bump package version 2023-08-13 08:26:04 +02:00
mark
9cf7825384 Fix theme for transparent navbar 2023-08-13 08:23:13 +02:00
mark
d50814ab08 Improve toc accessibility 2023-08-13 08:19:27 +02:00
mark
97d77d0dfc Improve sidebar accessibility 2023-08-13 08:16:48 +02:00
mark
4ec4cf28de Fix background color of primary alert in dark mode 2023-08-13 07:04:32 +02:00
Mark Dumay
89f869a55e Merge pull request #412 from gethinode/develop
Bump dependencies
2023-08-13 06:36:55 +02:00
mark
aaecdb93f8 Fix multilingual date representation 2023-08-13 06:36:21 +02:00
mark
24ce0ed262 Adjust default date format to medium 2023-08-13 06:35:55 +02:00
Mark Dumay
70e2532434 Merge branch 'main' into develop 2023-08-13 06:17:47 +02:00
mark
828e0266fc Bump dependencies 2023-08-13 06:17:13 +02:00
Mark Dumay
21d7117ca1 Merge pull request #411 from aefly/french-translation
Translate 'shareSystem' and 'copyToClipboard'
2023-08-13 05:19:11 +02:00
aefly
13d4be8086 Translate 'shareSystem' and 'copyToClipboard' 2023-08-12 22:16:05 +02:00
Mark Dumay
862f0bb95b Merge pull request #410 from gethinode/develop
Add FR placeholders
2023-08-12 18:05:19 +02:00
mark
2d7e32369c Add placeholders 2023-08-12 17:54:09 +02:00
mark
ac37e4269c Add docs marker 2023-08-12 17:53:59 +02:00
Mark Dumay
5287ab023a Merge pull request #409 from gethinode/main
Sync with main
2023-08-12 17:49:25 +02:00
Mark Dumay
92d1b20678 Merge pull request #405 from aefly/french-translation
Add support for French language
2023-08-12 17:20:07 +02:00
Mark Dumay
7b08b0b0ac Merge branch 'main' into french-translation 2023-08-12 17:09:52 +02:00
Mark Dumay
7047b9c5f5 Merge pull request #408 from gethinode/develop
Improve accessibility
2023-08-12 17:09:37 +02:00
mark
6c9cb40f1e Remove redundant spacing 2023-08-12 16:59:54 +02:00
mark
74901ecbf5 Bump package version 2023-08-12 16:58:52 +02:00
mark
598018feb7 Fix linting issues 2023-08-12 16:57:58 +02:00
Mark Dumay
ca6a2bed82 Merge branch 'main' into develop 2023-08-12 16:52:19 +02:00
Mark Dumay
41cabcffd0 Merge pull request #407 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2023-08-12 16:51:02 +02:00
mark
3424565e95 Adjust selected path 2023-08-12 16:49:51 +02:00
mark
7b037bae46 Replace underline with bottom border 2023-08-12 16:49:05 +02:00
mark
6d257e1aca Properly wrap each menu item 2023-08-12 14:20:32 +02:00
mark
a3c288fb1d Fix spacing of attributes 2023-08-12 14:19:51 +02:00
mark
3d33aa41da Adjust navbar contrast style 2023-08-12 14:19:38 +02:00
mark
4ba0104dc8 Fix menu toggler color 2023-08-12 13:31:55 +02:00
mark
3ab1d6b123 Remove redundant theme 2023-08-12 13:31:08 +02:00
mark
5cca744f10 Improve accessibility of example shortcode 2023-08-12 11:29:02 +02:00
mark
c56d35b153 Improve toc accessibility 2023-08-12 11:28:48 +02:00
mark
b9df91cad8 Improve pagination accessibility 2023-08-12 11:28:31 +02:00
mark
d05204a61b Improve pagination accessibility 2023-08-12 11:28:21 +02:00
mark
c5376ea8c6 Add contrasting navbar support 2023-08-12 11:28:01 +02:00
mark
ccfb4a8f82 Simplify syntax scripts 2023-08-12 11:25:28 +02:00
mark
b99a9168bd Improve syntax accessibility 2023-08-12 11:17:34 +02:00
mark
26fe455cc3 Remove unnecessary path segment 2023-08-12 11:17:02 +02:00
mark
eb66a24177 Improve navbar accessibility 2023-08-12 11:15:40 +02:00
mark
5610ed67e5 Improve invalid path error 2023-08-12 11:14:56 +02:00
mark
73f14989d8 Change success to primary color 2023-08-12 11:14:38 +02:00
markdumay
dc4ca0e862 fix: update Hugo module dependencies 2023-08-12 03:14:33 +00:00
aefly
40b47bc782 Fixed typo error 'Bootstrap' 2023-08-11 20:29:42 +02:00
aefly
1a1c998f3f Fixed parent 'Projects' to 'Projets' 2023-08-11 20:29:15 +02:00
aefly
f5c44ab79f Updated 'French' to 'Français' 2023-08-11 20:28:28 +02:00
mark
3da6951801 Assign unique id to sample navbar 2023-08-11 16:26:02 +02:00
mark
f80241548a Drop navbar button id to avoid potential clash 2023-08-11 16:25:49 +02:00
Mark Dumay
65793ef70e Merge branch 'main' into french-translation 2023-08-11 15:33:03 +02:00
Mark Dumay
754da19c7c Merge pull request #406 from gethinode/hugo-mod-dependencies
Update Hugo module dependencies
2023-08-11 15:32:50 +02:00
mark
73dc16f469 Improve accessibility in dark mode 2023-08-11 14:32:56 +02:00
mark
91be9969e4 Improve accessibility of heading anchor 2023-08-11 14:32:10 +02:00
mark
792d7417b5 Improve accessibility of clipboard button 2023-08-11 14:31:11 +02:00
mark
ee0a50c4c2 Fix aria-label of button 2023-08-11 14:29:06 +02:00
mark
13554854d9 Improve accessibility of sharing buttons 2023-08-11 14:28:20 +02:00
mark
1bdfc42d9e Drop Font Awesome variable moved to module 2023-08-11 05:46:23 +02:00
markdumay
f0ddacabe9 fix: update Hugo module dependencies 2023-08-11 03:14:39 +00:00
aefly
de76908ad9 Updated about.md 2023-08-10 23:58:45 +02:00
aefly
8f2b4d7a36 Add [fr] for French language support 2023-08-10 23:38:44 +02:00
aefly
1e137fa213 Add menus.fr.toml for French language support 2023-08-10 23:38:23 +02:00
aefly
3035caddce Add French language support 2023-08-10 23:37:35 +02:00
aefly
a2fc2ddb4c Add 'fr' folder with French language translations 2023-08-10 23:37:19 +02:00
58 changed files with 1351 additions and 158 deletions

View File

@@ -15,6 +15,7 @@ const addCopyButtons = (clipboard) => {
const button = document.createElement('button')
button.className = 'clipboard-button'
button.setAttribute('data-toast-target', 'toast-copied-code-message')
button.setAttribute('aria-label', '{{ T "copyToClipboard" }}')
button.type = 'button'
button.innerHTML = svgCopy
button.addEventListener('click', () => {

View File

@@ -40,8 +40,7 @@
})
for (let i = 0; i < activeSelectors.length; ++i) {
activeSelectors[i].className = activeIcon.className
activeSelectors[i].className = activeSelectors[i].className.replace('theme-icon', 'theme-icon-active')
activeSelectors[i].innerHTML = activeIcon.innerHTML
}
for (let i = 0; i < activeButtons.length; ++i) {

View File

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

View File

@@ -8,6 +8,9 @@
// Import Bootstrap configuration (mounted by core Bootstrap module)
@import "bootstrap.scss";
// Include dark mode overrides
@import "common/variables-dark.scss";
// Import Hinode theme styles
@import "components/alert.scss";
@import "components/blockquote.scss";
@@ -19,6 +22,7 @@
@import "components/command.scss";
@import "components/comments.scss";
@import "components/feature.scss";
@import "components/footer.scss";
@import "components/navbar.scss";
@import "components/img.scss";
@import "components/pagination.scss";

View File

@@ -0,0 +1,101 @@
@if $enable-dark-mode {
@include color-mode(dark) {
--bs-primary: #{$primary-text-emphasis-dark};
--bs-secondary: #{$secondary-text-emphasis-dark};
--bs-primary-dark: #{$primary-bg-subtle-dark};
--bs-primary-bg-subtle: #{$primary-bg-subtle-dark};
--bg-primary-subtle: rgba(var(--bs-primary-rgb), var(--bs-link-opacity, 0.1));
.bg-primary-subtle {
background-color: var(--bg-primary-subtle) if($enable-important-utilities, !important, null);
}
.accordion-button {
background-color: var(--bg-primary-subtle);
}
.form-check-input:checked {
background-color: var(--bs-primary);
border-color: var(--bs-primary); }
.form-check-input[type="checkbox"]:indeterminate {
background-color: var(--bs-primary);
border-color: var(--bs-primary);
}
.form-range::-webkit-slider-thumb {
background-color: var(--bs-primary);
}
.form-range::-moz-range-thumb {
background-color: var(--bs-primary);
}
.alert-primary {
--bs-alert-bg: var(--bg-primary-subtle);
}
.btn-outline-primary {
--bs-btn-color: var(--bs-primary);
--bs-btn-border-color: var(--bs-primary);
--bs-btn-hover-bg: var(--bs-primary);
--bs-btn-hover-border-color: var(--bs-primary);
--bs-btn-active-bg: var(--bs-primary);
--bs-btn-active-border-color: var(--bs-primary);
--bs-btn-disabled-color: var(--bs-primary);
--bs-btn-disabled-border-color: var(--bs-primary);
}
.btn-outline-secondary {
--bs-btn-color: var(--bs-secondary);
--bs-btn-border-color: var(--bs-secondary);
--bs-btn-hover-bg: var(--bs-secondary);
--bs-btn-hover-border-color: var(--bs-secondary);
--bs-btn-active-bg: var(--bs-secondary);
--bs-btn-active-border-color: var(--bs-secondary);
--bs-btn-disabled-color: var(--bs-secondary);
--bs-btn-disabled-border-color: var(--bs-secondary);
}
.link-primary {
color: var(--bs-primary) if($enable-important-utilities, !important, null);
text-decoration-color: var(--bs-primary) if($enable-important-utilities, !important, null);
&:hover,
&:focus {
color: var(--bs-primary-dark) if($enable-important-utilities, !important, null);
text-decoration-color: var(--bs-primary-dark) if($enable-important-utilities, !important, null);
}
}
.pagination {
--bs-pagination-color: var(--bs-body-bg);
--bs-pagination-bg: var(--bs-primary);
}
.progress,
.progress-stacked {
--bs-progress-bar-bg: var(--bs-primary);
}
.list-group {
--bs-list-group-active-bg: var(--bs-primary);
--bs-list-group-active-border-color: var(--bs-primary);
}
.clipboard-button:hover {
color: var(--bs-primary); }
.clipboard-button:hover > svg {
fill: var(--bs-primary);
}
.toggler-icon {
background-color: var(--bs-primary);
}
.heading:hover .anchor {
color: var(--bs-primary);
}
}
}

View File

@@ -2,9 +2,6 @@
$enable-negative-margins: true;
$enable-important-utilities: true !default;
// Font awesome variables overrides for theme
$fa-font-path: "../fonts";
// Remove the border from the focused navigation toggler
$navbar-toggler-focus-width: 0 !default;
@@ -28,3 +25,11 @@ $btn-toggle-color: $black !default;
$carousel-dark-indicator-active-bg: #ffffff !default;
$carousel-dark-caption-color: #ffffff !default;
$carousel-dark-control-icon-filter: invert(0) grayscale(100) !default;
// scss-docs-start color-mode
$primary-text-emphasis-dark: mix(white, $primary, $dark-mode-tint) !default;
$secondary-text-emphasis-dark: mix(white, $secondary, $dark-mode-tint) !default;
$link-color-dark: mix(white, $primary, $dark-mode-tint) !default;
$primary-bg-subtle-dark: mix(black, $primary, $dark-mode-shade) !default;
$primary-border-subtle-dark: mix(black, $primary, $dark-mode-shade / 2) !default;
// scss-docs-end color-mode

View File

@@ -1,3 +1,18 @@
.alert-no-decoration {
--bs-alert-border-radius: none;
.alert code {
color: inherit;
}
/* stylelint-disable declaration-block-no-redundant-longhand-properties */
.alert a {
color: inherit;
&:link,
&:visited,
&:hover,
&:active {
text-decoration-line: underline;
text-decoration-style: dotted;
text-decoration-color: var(--bs-body);
}
}
/* stylelint-enable declaration-block-no-redundant-longhand-properties */

View File

@@ -8,6 +8,8 @@
}
.btn-social {
background-color: transparent;
--bs-btn-bg: transparent;
--bs-btn-border-width: none;
--bs-btn-color: var(--bs-secondary);
@@ -23,5 +25,6 @@
.btn-social:active,
.btn-social.active,
.open > .dropdown-toggle.btn-primary {
background-color: transparent;
color: var(--bs-primary) if($enable-important-utilities, !important, null);
}

View File

@@ -64,6 +64,18 @@
}
}
@if $enable-dark-mode {
@include color-mode(dark) {
.card-zoom card-body-link,
.card-body-link {
&:hover,
&:focus {
color: $primary-bg-subtle-dark if($enable-important-utilities, !important, null);
}
}
}
}
// stylelint-enable annotation-no-unknown
// make tag-link clickable on top of the stretched-link.

View File

@@ -0,0 +1,30 @@
.footer {
// background-color: $gray-800 if($enable-important-utilities, !important, null);
color: var(--bs-secondary) if($enable-important-utilities, !important, null);
}
.link-bg-footer {
color: var(--bs-secondary) if($enable-important-utilities, !important, null);
&:hover,
&:focus {
color: var(--bs-tertiary-color) if($enable-important-utilities, !important, null);
}
}
@if $enable-dark-mode {
@include color-mode(dark) {
.footer {
color: $gray-500 if($enable-important-utilities, !important, null);
}
.link-bg-footer {
color: $gray-500 if($enable-important-utilities, !important, null);
&:hover,
&:focus {
color: $gray-400 if($enable-important-utilities, !important, null);
}
}
}
}

View File

@@ -11,6 +11,22 @@
background-color: var(--bs-body-bg);
}
.nav-link {
margin: 0 .15rem;
}
.navbar-contrast .nav-link.active, .navbar-contrast .nav-link.show, .navbar-contrast .nav-link:hover {
border-bottom: solid 1px var(--bs-navbar-hover-color);
margin-bottom: -1px;
}
.navbar-contrast {
--bs-navbar-color: white !important;
--bs-navbar-hover-color: white !important;
--bs-navbar-disabled-color: white !important;
--bs-navbar-active-color: white !important;
}
.navbar-expanded {
box-shadow: $box-shadow-sm;
}
@@ -36,7 +52,6 @@
.toggler-icon {
width: 30px;
height: 3px;
background-color: $primary;
display: block;
transition: all 0.2s;
}
@@ -85,15 +100,21 @@
background-color: #777;
}
.emphasis {
.emphasis-light {
background-color: $black if($enable-important-utilities, !important, null);
}
@if $enable-dark-mode {
@include color-mode(dark) {
.emphasis {
background-color: $white if($enable-important-utilities, !important, null);
}
.emphasis-dark {
background-color: $white if($enable-important-utilities, !important, null);
}
.emphasis, {
background-color: $black if($enable-important-utilities, !important, null);
}
@include color-mode(dark) {
.emphasis {
background-color: $white if($enable-important-utilities, !important, null);
}
}

View File

@@ -1,5 +1,6 @@
.pagination {
--bs-pagination-bg: var(--bs-primary-bg-subtle);
--bs-pagination-color: var(--bs-body-color);
--bs-pagination-border-color: none;
--bs-pagination-hover-color: var(--bs-pagination-active-color);
--bs-pagination-hover-bg: var(--bs-pagination-active-bg);

View File

@@ -69,24 +69,25 @@
@if $enable-dark-mode {
@include color-mode(dark) {
.sidebar-item {
color: var(--bs-tertiary-color);
color: var(--bs-body-color);
margin-left: 0 !important;
padding-left: 0.85rem !important;
&.active,
&:hover,
&:focus {
color: var(--bs-secondary-color);
color: white !important;
background-color: transparent;
}
}
.btn-toggle {
color: var(--bs-tertiary-color);
color: var(--bs-body-color);
&:hover,
&:focus {
color: $secondary;
background-color: tint-color($primary, 90%);
color: white !important;
background-color: transparent;
}
&::before {
@@ -105,8 +106,8 @@
&:hover,
&:focus {
color: $secondary;
background-color: tint-color($primary, 90%);
color: white !important;
background-color: transparent;
}
&.active {

View File

@@ -18,8 +18,8 @@
/* KeywordReserved */ .chroma .kr { color: #ff7b72 }
/* KeywordType */ .chroma .kt { color: #ff7b72 }
/* Name */ .chroma .n { }
/* NameAttribute */ .chroma .na { }
/* NameBuiltin */ .chroma .nb { }
/* NameAttribute */ .chroma .na { color: #00cccc }
/* NameBuiltin */ .chroma .nb { color: #00a2d8 }
/* NameBuiltinPseudo */ .chroma .bp { }
/* NameClass */ .chroma .nc { color: #f0883e; font-weight: bold }
/* NameConstant */ .chroma .no { color: #79c0ff; font-weight: bold }
@@ -64,21 +64,21 @@
/* Operator */ .chroma .o { color: #ff7b72; font-weight: bold }
/* OperatorWord */ .chroma .ow { color: #ff7b72; font-weight: bold }
/* Punctuation */ .chroma .p { }
/* Comment */ .chroma .c { color: #8b949e; font-style: italic }
/* CommentHashbang */ .chroma .ch { color: #8b949e; font-style: italic }
/* CommentMultiline */ .chroma .cm { color: #8b949e; font-style: italic }
/* CommentSingle */ .chroma .c1 { color: #8b949e; font-style: italic }
/* CommentSpecial */ .chroma .cs { color: #8b949e; font-weight: bold; font-style: italic }
/* CommentPreproc */ .chroma .cp { color: #8b949e; font-weight: bold; font-style: italic }
/* CommentPreprocFile */ .chroma .cpf { color: #8b949e; font-weight: bold; font-style: italic }
/* Comment */ .chroma .c { color: #979fa8; font-style: italic }
/* CommentHashbang */ .chroma .ch { color: #979fa8; font-style: italic }
/* CommentMultiline */ .chroma .cm { color: #979fa8; font-style: italic }
/* CommentSingle */ .chroma .c1 { color: #979fa8; font-style: italic }
/* CommentSpecial */ .chroma .cs { color: #979fa8; font-weight: bold; font-style: italic }
/* CommentPreproc */ .chroma .cp { color: #979fa8; font-weight: bold; font-style: italic }
/* CommentPreprocFile */ .chroma .cpf { color: #979fa8; font-weight: bold; font-style: italic }
/* Generic */ .chroma .g { }
/* GenericDeleted */ .chroma .gd { color: #ffa198; background-color: #490202 }
/* GenericEmph */ .chroma .ge { font-style: italic }
/* GenericError */ .chroma .gr { color: #ffa198 }
/* GenericHeading */ .chroma .gh { color: #79c0ff; font-weight: bold }
/* GenericInserted */ .chroma .gi { color: #56d364; background-color: #0f5323 }
/* GenericOutput */ .chroma .go { color: #8b949e }
/* GenericPrompt */ .chroma .gp { color: #8b949e }
/* GenericOutput */ .chroma .go { color: #979fa8 }
/* GenericPrompt */ .chroma .gp { color: #979fa8 }
/* GenericStrong */ .chroma .gs { font-weight: bold }
/* GenericSubheading */ .chroma .gu { color: #79c0ff }
/* GenericTraceback */ .chroma .gt { color: #ff7b72 }

View File

@@ -19,7 +19,7 @@
/* KeywordType */ .chroma .kt { color: #445588; font-weight: bold }
/* Name */ .chroma .n { }
/* NameAttribute */ .chroma .na { color: #008080 }
/* NameBuiltin */ .chroma .nb { color: #0086b3 }
/* NameBuiltin */ .chroma .nb { color: #006b8f }
/* NameBuiltinPseudo */ .chroma .bp { color: #999999 }
/* NameClass */ .chroma .nc { color: #445588; font-weight: bold }
/* NameConstant */ .chroma .no { color: #008080 }
@@ -54,20 +54,20 @@
/* LiteralStringRegex */ .chroma .sr { color: #009926 }
/* LiteralStringSingle */ .chroma .s1 { color: #dd1144 }
/* LiteralStringSymbol */ .chroma .ss { color: #990073 }
/* LiteralNumber */ .chroma .m { color: #009999 }
/* LiteralNumberBin */ .chroma .mb { color: #009999 }
/* LiteralNumberFloat */ .chroma .mf { color: #009999 }
/* LiteralNumberHex */ .chroma .mh { color: #009999 }
/* LiteralNumberInteger */ .chroma .mi { color: #009999 }
/* LiteralNumberIntegerLong */ .chroma .il { color: #009999 }
/* LiteralNumberOct */ .chroma .mo { color: #009999 }
/* LiteralNumber */ .chroma .m { color: #007a7a }
/* LiteralNumberBin */ .chroma .mb { color: #007a7a }
/* LiteralNumberFloat */ .chroma .mf { color: #007a7a }
/* LiteralNumberHex */ .chroma .mh { color: #007a7a }
/* LiteralNumberInteger */ .chroma .mi { color: #007a7a }
/* LiteralNumberIntegerLong */ .chroma .il { color: #007a7a }
/* LiteralNumberOct */ .chroma .mo { color: #007a7a }
/* Operator */ .chroma .o { color: #000000; font-weight: bold }
/* OperatorWord */ .chroma .ow { color: #000000; font-weight: bold }
/* Punctuation */ .chroma .p { }
/* Comment */ .chroma .c { color: #999988; font-style: italic }
/* CommentHashbang */ .chroma .ch { color: #999988; font-style: italic }
/* CommentMultiline */ .chroma .cm { color: #999988; font-style: italic }
/* CommentSingle */ .chroma .c1 { color: #999988; font-style: italic }
/* Comment */ .chroma .c { color: #6d6d5d; font-style: italic }
/* CommentHashbang */ .chroma .ch { color: #6d6d5d; font-style: italic }
/* CommentMultiline */ .chroma .cm { color: #6d6d5d; font-style: italic }
/* CommentSingle */ .chroma .c1 { color: #6d6d5d; font-style: italic }
/* CommentSpecial */ .chroma .cs { color: #999999; font-weight: bold; font-style: italic }
/* CommentPreproc */ .chroma .cp { color: #999999; font-weight: bold; font-style: italic }
/* CommentPreprocFile */ .chroma .cpf { color: #999999; font-weight: bold; font-style: italic }

View File

@@ -1,5 +1,5 @@
// stylelint-disable annotation-no-unknown
@import "components/syntax-light";
@import "syntax-light";
.bg,
.chroma,
@@ -13,13 +13,9 @@
overflow-x: auto;
}
.preview-background {
background-color: var(--bs-dark-bg-subtle) if($enable-important-utilities, !important, null);
}
@if $enable-dark-mode {
[data-bs-theme="dark"] {
@import "components/syntax-dark"; // stylelint-disable-line no-invalid-position-at-import-rule
@import "syntax-dark"; // stylelint-disable-line no-invalid-position-at-import-rule
.bg,
.chroma,

View File

@@ -14,11 +14,7 @@ $semi-circle-border: 0.2rem;
.timeline-#{$state} {
--timeline-highlight: var(--#{$prefix}#{$state});
}
.timeline-bg-#{$state} {
--timeline-connector-bg: var(--#{$prefix}#{$state}-bg-subtle);
}
}
}
// scss-docs-end timeline
@@ -27,10 +23,16 @@ $semi-circle-border: 0.2rem;
}
.timeline-sm {
--timeline-icon-radius: calc(#{$semi-circle-radius} / 2);
--timeline-icon-radius: calc(#{$semi-circle-radius} / 2.4);
--timeline-offset: 25%
}
@include media-breakpoint-up(sm) {
.timeline-sm {
--timeline-icon-radius: calc(#{$semi-circle-radius} / 2);
}
}
.timeline::before, .timeline-sm::before {
content: "";
width: 2 * $semi-circle-border;

View File

@@ -48,6 +48,10 @@
font: inherit;
}
#toc-collapse {
border-color: var(--bs-secondary-color) !important;
}
.toc-button {
--bs-btn-hover-color: var(--bs-primary);
--bs-btn-hover-bg: var(--bs-body-bg);
@@ -65,3 +69,24 @@
outline: none;
}
}
@if $enable-dark-mode {
[data-bs-theme="dark"] {
.toc-button {
--bs-btn-color: var(--bs-body-color);
--bs-btn-border-color: var(--bs-body-color);
}
#toc-collapse {
border-color: var(--bs-body-color) !important;
}
.toc nav a {
color: var(--bs-body-color);
&:hover {
color: white;
}
}
}
}

View File

@@ -135,6 +135,8 @@
dark = "#212529"
# toml-docs-end theme-colors
themeOpacity = "10"
darkModeShade = "20%"
darkModeTint = "40%"
# toml-docs-start font
themeFont = "Inter"
# themeFontPath = "https://fonts.googleapis.com/css2?family=Inter:wght@200;300;600&display=swap" # external path

View File

@@ -1,36 +1,53 @@
# toml-docs-start lang-main
[en]
languageName = "English"
contentDir = "content/en"
weight = 1
languageName = "English"
contentDir = "content/en"
weight = 1
# toml-docs-end lang-main
# toml-docs-start lang-param
[en.params.head]
tagline = "A Hugo Theme"
[en.params.social]
title = "Follow me"
caption = "I work on everything coding and tweet developer memes"
[en.params.footer]
# license = "Licensed under Creative Commons (<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/' class='link-secondary' target='_blank' rel='noopener noreferrer'>CC BY-NC-SA 4.0</a>)."
[en.params.head]
tagline = "A Hugo Theme"
[en.params.social]
title = "Follow me"
caption = "I work on everything coding and tweet developer memes"
[en.params.footer]
# license = "Licensed under Creative Commons (<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/' class='link-secondary' target='_blank' rel='noopener noreferrer'>CC BY-NC-SA 4.0</a>)."
# toml-docs-end lang-param
[en.params.sections.blog]
reference = "More Posts"
[en.params.sections.projects]
reference = "More Projects"
[en.params.sections.blog]
reference = "More Posts"
[en.params.sections.projects]
reference = "More Projects"
[nl]
languageName = "Nederlands"
contentDir = "content/nl"
weight = 2
[nl.params.head]
tagline = "Een Hugo Thema"
[nl.params.social]
title = "Volg mij"
caption = "Ik doe aan programmeren en tweet memes"
[nl.params.footer]
# license = "Gelicenseerd onder Creative Commons (<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/' class='link-secondary' target='_blank' rel='noopener noreferrer'>CC BY-NC-SA 4.0</a>)."
[nl.params.sections.blog]
reference = "Meer artikelen"
[nl.params.sections.projects]
title = "Projecten"
reference = "Meer projecten"
languageName = "Nederlands"
contentDir = "content/nl"
weight = 2
[nl.params.head]
tagline = "Een Hugo Thema"
[nl.params.social]
title = "Volg mij"
caption = "Ik doe aan programmeren en tweet memes"
[nl.params.footer]
# license = "Gelicenseerd onder Creative Commons (<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/' class='link-secondary' target='_blank' rel='noopener noreferrer'>CC BY-NC-SA 4.0</a>)."
[nl.params.sections.blog]
reference = "Meer artikelen"
[nl.params.sections.projects]
title = "Projecten"
reference = "Meer projecten"
[fr]
languageName = "Français"
contentDir = "content/fr"
weight = 2
[fr.params.head]
tagline = "Un thème Hugo"
[fr.params.social]
title = "Suivez-moi"
caption = "Je code et je tweet des mèmes de développeurs."
[fr.params.footer]
# license = "Gelicenseerd onder Creative Commons (<a href='https://creativecommons.org/licenses/by-nc-sa/4.0/' class='link-secondary' target='_blank' rel='noopener noreferrer'>CC BY-NC-SA 4.0</a>)."
[fr.params.sections.blog]
reference = "Plus d'articles"
[fr.params.sections.projects]
title = "Projets"
reference = "Plus de projets"

View File

@@ -0,0 +1,73 @@
[[main]]
name = "À propos"
pageRef = "/a-propos/"
weight = 10
[[main]]
name = "Blog"
pageRef = "/blog/"
weight = 20
[[main]]
name = "Projets"
pageRef = "/projets/"
weight = 30
[[main]]
name = "Exemple de projet"
pageRef = "/projets/exemple-de-projet/"
parent = "Projets"
weight = 1
[[main]]
name = "Autre projet"
pageRef = "/projets/autre-projet/"
parent = "Projets"
weight = 2
[[main]]
name = "Tags"
pageRef = "/tags/"
weight = 40
[[social]]
name = "LinkedIn"
pre = "fab linkedin"
url = "https://linkedin.com/"
weight = 10
[[social]]
name = "GitHub"
pre = "fab fa-github"
url = "https://github.com/"
weight = 20
[[social]]
name = "Medium"
pre = "fab medium"
url = "https://medium.com/"
weight = 30
# toml-docs-start sample-navigation
[[sample]]
name = "Blog"
pageRef = "/blog/"
weight = 10
[[sample]]
name = "Projets"
pageRef = "/projets/"
weight = 20
[[sample]]
name = "Exemple de projet"
pageRef = "/projets/exemple-de-projet/"
parent = "Projets"
weight = 1
[[sample]]
name = "Autre projet"
pageRef = "/projets/autre-projet/"
parent = "Projets"
weight = 2
# toml-docs-end sample-navigation

View File

@@ -131,6 +131,8 @@
light = "#f8f9fa"
dark = "#212529"
themeOpacity = "10"
darkModeShade = "20%"
darkModeTint = "40%"
themeFont = "Inter"
# themeFontPath = "https://fonts.googleapis.com/css2?family=Inter:wght@200;300;600&display=swap" # external path
themeFontPath = "/fonts" # local path

View File

@@ -1,7 +1,7 @@
---
author: Mark Dumay
title: Bootstrap elements
date: 2023-08-05
date: 2023-08-12
description: Use shortcodes to add common Bootstrap elements with ease.
tags: ["bootstrap", "shortcode"]
thumbnail:
@@ -244,7 +244,7 @@ As an example, the following shortcode displays a light navigation header.
<!-- markdownlint-disable MD037 -->
{{< example lang="hugo" >}}
{{</* navbar path="about" color="primary" size="md" search="false" menus="sample" title="Brand" mode="false" */>}}
{{</* navbar id="navbar-sample" path="blog" color="primary" size="md" search="false" menus="sample" title="Brand" mode="false" */>}}
{{< /example >}}
<!-- markdownlint-enable MD037 -->

View File

@@ -0,0 +1,14 @@
---
author: Mark Dumay
title: Bienvenue sur Hinode!
thumbnail:
url: /img/sunrise.jpg
author: Harris Vo
authorURL: https://unsplash.com/@hoanvokim
origin: https://unsplash.com/photos/ZX6BPboJrYk
originName: Unsplash
---
Un thème de blog et de documentation pour Hugo basé sur Bootstrap 5.
{{< button href="a-propos" >}}À propos{{< /button>}}

View File

@@ -0,0 +1,50 @@
---
slug: a-propos
title: À propos
description: Un thème de blog et de documentation pour Hugo basé sur Bootstrap 5.
date: 2023-02-17
updated: 2023-08-02
showComments: false
---
<p class="text-center"><svg class="img-fluid w-50"><use href="/img/logo_var.svg#logo"></use></svg></p>
<section class="section section-sm mt-5">
<div class="container-fluid">
<div class="row justify-content-center text-center">
<div class="row justify-content-center text-center">
<div class="col-lg-4">
{{< icon fab bootstrap fa-2xl >}}
<h2 class="h4">Framework Bootstrap</h2>
<p>Créez des sites rapides et réactifs avec Bootstrap 5. Personnalisez facilement votre site avec les fichiers source Sass.</p>
</div>
<div class="col-lg-4">
{{< icon fas magnifying-glass fa-2xl >}}
<h2 class="h4">Recherche en texte intégral</h2>
<p>Recherchez votre site avec FlexSearch, une bibliothèque de recherche en texte intégral avec zéro dépendances.</p>
</div>
<div class="col-lg-4">
{{< icon fas code fa-2xl >}}
<h2 class="h4">Outils de développement</h2>
<p>Utilisez Node Package Manager pour automatiser le processus de construction et suivre les dépendances.</p>
</div>
</div>
</div>
</section>
Les fonctionnalités supplémentaires incluent:
- Passer du mode clair au mode sombre
- Prise en charge de plusieurs langues
- Composants bootstrap réutilisables à travers des codes et partiels configurables
- Documentation versionnée, incluant une navigation latérale et un sélecteur de version.
- Commentaires intégrés via une intégration légère avec GitHub via [utteranc.es]({{< param "links.utterances" >}})
- Gestion d'images adaptatives pour plusieurs tailles d'écran et résolutions.
- Résultats de recherche optimisés, obtenant un score de 100 points pour le référencement (SEO) sur [PageSpeed Insights]({{< param "links.pagespeed" >}}).
- Sécurisé par défaut, obtenant un score A+ au test [Mozilla Observatory]({{< param "links.observatory" >}})
{.tickmark}
Hinode est inspiré par les thèmes suivants:
- [Blist](https://github.com/apvarun/blist-hugo-theme) - Un thème de blog pour Hugo basé sur Tailwind CSS.
- [Doks](https://github.com/h-enk/doks) - Un thème Hugo pour la création de sites de documentation sécurisés, rapides et optimisés pour le référencement (SEO), que vous pouvez facilement mettre à jour et personnaliser.

View File

@@ -0,0 +1,4 @@
---
author: Mark Dumay
title: Blog
---

View File

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

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,6 @@
---
draft: false
outputs:
- xml
url: browserconfig.xml
---

View File

@@ -0,0 +1,5 @@
---
author: Katheryn Fox
title: Projets
url: "projets"
---

View File

@@ -0,0 +1,12 @@
---
author: "Hugo Authors"
slug: "autre-projet"
title: "Autre projet"
url: "projets/autre-projet"
date: 2021-07-15
description: "Un autre projet."
tags: ["javascript", "golang"]
icon: fas rocket
---
Vivamus iaculis metus sed magna porta tincidunt. Aliquam molestie eget orci eu elementum. Integer pellentesque dolor sit amet suscipit maximus. Duis consequat, massa vitae volutpat rhoncus, erat augue venenatis velit, a auctor leo nulla nec turpis. Nunc ut libero sapien. Vivamus aliquam ultrices vestibulum. Sed sit amet vestibulum dolor, ut vehicula diam. Sed felis purus, feugiat vitae vulputate quis, sodales vitae dui. Pellentesque volutpat fringilla sapien varius condimentum. Integer odio massa, pharetra at bibendum vitae, aliquam nec erat.

View File

@@ -0,0 +1,12 @@
---
author: "Hugo Authors"
slug: "exemple-de-projet"
title: "Exemple de projet"
url: "projets/exemple-de-projet"
date: 2021-07-15
description: "Un exemple de projet."
tags: ["html", "css"]
icon: fab docker
---
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

View File

@@ -4,8 +4,8 @@ go 1.19
require (
github.com/gethinode/mod-bootstrap v1.1.1 // indirect
github.com/gethinode/mod-flexsearch v1.2.0 // indirect
github.com/gethinode/mod-fontawesome v1.2.4 // indirect
github.com/gethinode/mod-flexsearch v1.4.0 // indirect
github.com/gethinode/mod-fontawesome v1.2.5 // indirect
github.com/gethinode/mod-katex v1.0.2 // indirect
github.com/gethinode/mod-leaflet v0.3.4 // indirect
)

View File

@@ -2,8 +2,14 @@ github.com/gethinode/mod-bootstrap v1.1.1 h1:Tx4M5hGVOFrEaxnUONDAm6N9xuRi5UphKlT
github.com/gethinode/mod-bootstrap v1.1.1/go.mod h1:DcpPc2cNaXUPGEvhD7npuEEPA7573NvakTlrwFbyjr8=
github.com/gethinode/mod-flexsearch v1.2.0 h1:SSMpWzK9SMbi9QRYfil9PJZLLWWLHWzlTc69UxtSWAA=
github.com/gethinode/mod-flexsearch v1.2.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.3.0 h1:RbfEDw219Y1rOVp9lHmy5ePdF9lyPalDu2J5oVeejrU=
github.com/gethinode/mod-flexsearch v1.3.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.4.0 h1:5e/NVRLyWzUZ9fO/fNsM5o+O7nw+xyln2rfEOtbgfWc=
github.com/gethinode/mod-flexsearch v1.4.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-fontawesome v1.2.4 h1:SqE3CQ+boaBIhrVh3MPu4nz0uoHPfEH5t60nNY1CfsI=
github.com/gethinode/mod-fontawesome v1.2.4/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-fontawesome v1.2.5 h1:RqkLRj6+s+gM4nKd0IwNMMDA8cRmxfp0fxkVH4FdAGU=
github.com/gethinode/mod-fontawesome v1.2.5/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
github.com/gethinode/mod-katex v1.0.2 h1:pIG4n3qLl/IVe7BEiwn+GL8r5lOCtF6FDxlcrPKdAXk=
github.com/gethinode/mod-katex v1.0.2/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
github.com/gethinode/mod-leaflet v0.3.4 h1:oY+YQ0JiJuhFQNrk9XgFdg0NMsTUQPXNfnILp4ia4r4=

2
go.mod
View File

@@ -4,7 +4,7 @@ go 1.19
require (
github.com/gethinode/mod-bootstrap v1.1.1 // indirect
github.com/gethinode/mod-flexsearch v1.2.0 // indirect
github.com/gethinode/mod-flexsearch v1.4.0 // indirect
github.com/gethinode/mod-fontawesome v1.2.5 // indirect
github.com/gethinode/mod-katex v1.0.2 // indirect
github.com/gethinode/mod-leaflet v0.3.4 // indirect

4
go.sum
View File

@@ -18,6 +18,10 @@ github.com/gethinode/mod-flexsearch v1.1.4 h1:dJvwBxYlLe/VGlctLn8k89STJ5toATIjNn
github.com/gethinode/mod-flexsearch v1.1.4/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.2.0 h1:SSMpWzK9SMbi9QRYfil9PJZLLWWLHWzlTc69UxtSWAA=
github.com/gethinode/mod-flexsearch v1.2.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.3.0 h1:RbfEDw219Y1rOVp9lHmy5ePdF9lyPalDu2J5oVeejrU=
github.com/gethinode/mod-flexsearch v1.3.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-flexsearch v1.4.0 h1:5e/NVRLyWzUZ9fO/fNsM5o+O7nw+xyln2rfEOtbgfWc=
github.com/gethinode/mod-flexsearch v1.4.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
github.com/gethinode/mod-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=

View File

@@ -26,7 +26,11 @@
# Sharing
- id: shareLink
translation: "Diese Seite teilen"
translation: "Diese Seite teilen per {{ . }}"
- id: shareSystem
translation: "Betriebssystem"
- id: copyToClipboard
translation: "In Zwischenablage kopieren"
- id: copiedToClipboard
translation: "Der Text befindet sich in die Zwischenablage"
- id: link

View File

@@ -28,7 +28,11 @@
# Sharing
- id: shareLink
translation: "Share via"
translation: "Share via {{ . }}"
- id: shareSystem
translation: "system"
- id: copyToClipboard
translation: "copy to clipboard"
- id: copiedToClipboard
translation: "copied to clipboard"
- id: link

115
i18n/fr.yaml Normal file
View File

@@ -0,0 +1,115 @@
# Single pages
- id: postedOnDate
translation: "Posté le {{ . }}"
- id: lastModified
translation: "Dernière modification le {{ . }}"
- id: read
translation: "de lecture"
- id: minutesShort
translation: "min"
- id: words
translation: "mots"
- id: photoFull
translation: "Photo par %s sur %s"
- id: photoShort
translation: "Photo par {{ . }}"
- id: photoOn
translation: "sur"
- id: draft
translation: "Brouillon"
# List pages
- id: article
translation: "Article"
- id: articles
translation: "Articles"
- id: more
translation: "Plus {{ . }}"
# Sharing
- id: shareLink
translation: "Partager via {{ . }}"
- id: shareSystem
translation: "système"
- id: copyToClipboard
translation: "copier dans le presse-papier"
- id: copiedToClipboard
translation: "copié dans le presse-papier"
- id: link
translation: "Lien"
- id: code
translation: "Code"
# Pagination
- id: paginationNav
translation: "Navigation de la page"
- id: paginationPrevious
translation: "Page précédente"
- id: paginationNext
translation: "Page suivante"
- id: paginationFirst
translation: "Première page"
- id: paginationLast
translation: "Dernière page"
# Navigation
- id: colorMode
translation: "Changer le thème"
- id: colorLight
translation: "Clair"
- id: colorDark
translation: "Sombre"
- id: colorAuto
translation: "Auto"
- id: toggleMainNav
translation: "Afficher/Masquer la navigation principale"
- id: home
translation: "Accueil"
- id: languageSwitcherLabel
translation: "Langage"
# Table of contents
- id: toc
translation: "Sur cette page"
- id: seeAlso
translation: "Voir également"
# Sidebar
- id: toggleSidebar
translation: "Afficher/Masquer la barre latérale"
# Feature
- id: addedFeature
translation: "Ajouté dans {{ . }}"
- id: deprecatedFeature
translation: "Obsolète dans {{ . }}"
# Versioning
- id: latest
translation: "dernière"
- id: allVersions
translation: "Toutes les versions"
- id: newerVersionAlert
translation: "Il existe une nouvelle version de {{ . }}!"
# 404 page
- id: pageNotFound
translation: "La page que vous recherchez n'existe pas ou une autre erreur s'est produite.Essayez de revenir à notre {{ . }}."
- id: pageNotFoundTitle
translation: "Page non trouvée"
- id: pageNotFoundHome
translation: "page d'accueil"
# Footer
- id: copyright
translation: "Copyright"
- id: rights
translation: "Tous droits réservés"
- id: poweredBy
translation: "Propulsé par {{ . }}."
# Comments
- id: show
translation: "Afficher"
- id: comments
translation: "Commentaires"

View File

@@ -26,7 +26,11 @@
# Sharing
- id: shareLink
translation: "Delen via"
translation: "Delen via {{ . }}"
- id: shareSystem
translation: "systeem"
- id: copyToClipboard
translation: "kopieren naar clipboard"
- id: copiedToClipboard
translation: "gekopieerd naar clipboard"
- id: link

View File

@@ -1,5 +1,5 @@
{{ if site.Params.navigation.anchor }}
<h{{ .Level }} id="{{ .Anchor | safeURL }}" class="heading">{{ .Text | safeHTML }} <a href="#{{ .Anchor | safeURL }}">{{- partial "assets/icon.html" (dict "icon" "fas link anchor") }}</a></h{{ .Level }}>
<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 }}

View File

@@ -30,7 +30,7 @@
<div class="hstack gap-3">
{{ range (.GetTerms "tags") -}}
{{- $url := (path.Join .Page.RelPermalink) | relLangURL -}}
{{ partial "assets/button.html" (dict "href" $url "title" .LinkTitle "color" "secondary" "size" "sm" "outline" "true") }}
{{ partial "assets/button.html" (dict "href" $url "title" .LinkTitle "color" "primary" "size" "sm" "outline" "true") }}
{{ end -}}
</div>
</div>

View File

@@ -9,7 +9,8 @@
"danger", "warning", "info", "light", "dark", "white", or "black".
"outline" Optional flag indicating the button should be outlined, either "false" (default) or "true".
"badge" Optional positioned badge to display on top of the button.
"aria-label" Optional assistive label for the badge.
"label" Optional assistive label for the button or badge. The label is applied to the badge instead of the
button when a badge has been defined. Default value of the button aria-label is its title.
"tooltip" Optional text to display in a tooltip. Cannot be used together with collapse. Ignored for active/
inactive buttons.
"collapse" Optional panel to collapse. Cannot be used together with tooltip. Ignored for active/inactive buttons.
@@ -139,20 +140,20 @@
{{- $attributes := .attributes -}}
<a aria-label="{{ $title }}" {{ if ne $state "disabled" }}{{ with $href }}href="{{ . }}"{{ end }}{{ end -}}
{{- with $id }}id="{{ . }}"{{ end -}}
{{- with $target }}target="{{ . }}"{{ end }}{{ with $rel }} rel="{{ . }}"{{ end -}}
{{- with $toast }}data-toast-target="{{ $toast }}"{{ end -}}
{{- with $clipboard }}data-clipboard="{{ $clipboard }}"{{ end -}}
{{- if eq $type "button" }}class="btn btn-{{ if $outline }}outline-{{ end }}{{ $color }} {{ if ne $size "md"}}btn-{{ $size }}{{ end }} position-relative {{ if in (slice "disabled" "active") $state }}{{ $state }}{{ end }} {{ $class -}}"
<a aria-label="{{ or $label $title }}" {{ if ne $state "disabled" }}{{ with $href }}href="{{ . }}"{{ end }}{{ end -}}
{{- with $id }} id="{{ . }}"{{ end -}}
{{- with $target }} target="{{ . }}"{{ end }}{{ with $rel }} rel="{{ . }}"{{ end -}}
{{- with $toast }} data-toast-target="{{ $toast }}"{{ end -}}
{{- with $clipboard }} data-clipboard="{{ $clipboard }}"{{ end -}}
{{- if eq $type "button" }} class="btn btn-{{ if $outline }}outline-{{ end }}{{ $color }} {{ if ne $size "md"}}btn-{{ $size }}{{ end }} position-relative {{ if in (slice "disabled" "active") $state }}{{ $state }}{{ end }} {{ $class -}}"
role="button" {{ if eq $state "disabled" }}aria-disabled="true"{{ end -}}
{{- else }} class="link-{{ $color }} position-relative {{ $class }}"{{ end -}}
{{- with $tooltip }}data-bs-toggle="tooltip" data-bs-title="{{ . }}" data-bs-placement="{{ $placement }}"{{ end -}}
{{- with $collapse }}data-bs-toggle="collapse" aria-expanded="false" aria-controls="{{ . }}"{{ end -}}
{{- if eq $state "active" }}data-bs-toggle="button" aria-pressed="true"{{ end -}}
{{- if eq $state "inactive" }}data-bs-toggle="button" aria-pressed="false"{{ end -}}
{{- with $tooltip }} data-bs-toggle="tooltip" data-bs-title="{{ . }}" data-bs-placement="{{ $placement }}"{{ end -}}
{{- with $collapse }} data-bs-toggle="collapse" aria-expanded="false" aria-controls="{{ . }}"{{ end -}}
{{- if eq $state "active" }} data-bs-toggle="button" aria-pressed="true"{{ end -}}
{{- if eq $state "inactive" }} data-bs-toggle="button" aria-pressed="false"{{ end -}}
{{- range $key, $val := $attributes -}}
{{- print $key | safeHTMLAttr }}="{{ $val }}"
{{ printf " %s=\"%s\"" $key $val | safeHTMLAttr }}
{{- end -}}
>
<div class="d-flex justify-content-{{ $justify }}">

View File

@@ -1,6 +1,7 @@
<!--
Displays a navigation header with a toggler. The partial supports the following arguments:
"id" Optional id of the navbar toggler, defaults to "navbar-collapse-0".
"id" Optional id of the navbar, defaults to "navbar-0". The id is used by several child elements,
including a color mode switcher, version switcher, and collapse panel.
"page" Required object reference to the current page.
"menus" Optional name of the menu configuration, defaults to "main".
"size" Optional size of the button, either "sm", "md" (default), or "lg".
@@ -20,13 +21,14 @@
{{- define "partials/navbar-mode.html" -}}
{{- $size := .size -}}
{{- $collapsed := .collapsed -}}
{{- $id := .id -}}
<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="navbar-color-theme{{ if $collapsed }}-collapsed{{ end }}">
<span class="theme-icon-active">{{- partial "assets/icon.html" (dict "icon" "fas sun fa-fw") }} {{ if $collapsed }} {{ T "colorMode" }} {{ end }}</span>
<a class="nav-link dropdown-toggle" href="#!" role="button" data-bs-toggle="dropdown" aria-label="{{ T "colorMode" }}" aria-expanded="false" id="{{ $id }}-theme{{ if $collapsed }}-collapsed{{ end }}">
<span class="theme-icon-active">{{- partial "assets/icon.html" (dict "icon" "fas sun fa-fw") }}</span>{{ if $collapsed }} {{ T "colorMode" }} {{ end }}
<span class="d-md-none"></span>
</a>
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="navbar-color-theme{{ if $collapsed }}-collapsed{{ end }}">
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="{{ $id }}-theme{{ if $collapsed }}-collapsed{{ end }}">
<li>
<a class="dropdown-item{{ if $collapsed }} switch-mode-collapsed{{ end }}" data-bs-theme-value="light" href="#!">
<span class="theme-icon">{{- partial "assets/icon.html" (dict "icon" "fas sun fa-fw") }}</span>&nbsp;
@@ -55,13 +57,14 @@
{{- $collapsed := .collapsed -}}
{{- $page := .page -}}
{{- $list := site.Params.docs.releases -}}
{{- $id := .id -}}
{{- $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="navbar-version-switch">
<a class="nav-link dropdown-toggle" href="#!" 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="navbar-version-switch">
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="{{ $id }}-version-switch">
{{- range $index, $item := $list -}}
{{- $active := eq $item.label $version -}}
{{- $disabled := false -}}
@@ -97,7 +100,7 @@
{{- $absoluteURL := site.Params.main.canonifyAssetsURLs | default false -}}
{{- $supportedFlags := slice "true" "false" -}}
{{- $id := printf "navbar-collapse-%d" 0 -}}
{{- $id := printf "navbar-%d" 0 -}}
{{ with .id }}
{{ $id = . }}
{{ end }}
@@ -182,15 +185,18 @@
{{- $pre := .Pre -}}
{{- $post := .Post -}}
{{- $theme := "" -}}
{{- if eq $color "black" }}{{ $theme = "dark" }}{{ end -}}
{{- if eq $color "white" }}{{ $theme = "light" }}{{ end -}}
{{- $theme := "light" -}}
{{- if in (slice "primary" "secondary" "success" "danger" "black") $color }}{{ $theme = "dark" }}{{ end -}}
{{- if in (slice "body" "body-tertiary") $color }}{{ $theme = "" }}{{ end -}}
{{- if not $color }}{{ $theme = "" }}{{ end -}}
{{- $class := .class -}}
<div class="container-fluid {{ if $fixed }}fixed-top{{ end }} p-0{{ with $class }} {{ . }}{{ end }}"{{ with $theme }} data-bs-theme="{{ . }}"{{ end }}>
{{- $contrast := false -}}
{{- if in (slice "primary" "secondary" "success" "danger") $color }}{{ $contrast = true }}{{ end -}}
<div class="container-fluid {{ if $fixed }}fixed-top{{ end }} p-0{{ with $class }} {{ . }}{{ end }}">
{{- partial "assets/page-alert.html" (dict "page" $page) -}}
<nav class="navbar navbar-expand-{{ $size }} {{ with $color }}bg-{{ . }}{{ end }} p-4"{{ with $theme }} data-bs-theme="{{ . }}"{{ end }}>
<nav class="navbar navbar-expand-{{ $size }}{{ if $contrast }} navbar-contrast{{ end }}{{ with $color }} bg-{{ . }}{{ end }} p-4"{{ with $theme }} data-bs-theme="{{ . }}"{{ end }}>
<div class="container-xxl p-0">
<!-- Insert sidebar toggler when applicable -->
<div class="d-flex">
@@ -217,15 +223,15 @@
<!-- Insert main navigation toggler -->
<div class="d-flex fw-30">
<button id="main-nav-toggler" class="navbar-toggler collapsed p-0" type="button" data-bs-toggle="collapse" data-bs-target="#{{ $id }}"
<button class="navbar-toggler main-nav-toggler collapsed p-0" type="button" data-bs-toggle="collapse" data-bs-target="#{{ $id }}-collapse"
aria-controls="{{ $id }}" aria-expanded="false" aria-label="{{ T "toggleMainNav" }}">
<span class="toggler-icon top-bar emphasis"></span>
<span class="toggler-icon middle-bar emphasis"></span>
<span class="toggler-icon bottom-bar emphasis"></span>
<span class="toggler-icon top-bar emphasis{{ with $theme }}-{{ . }}{{ end }}"></span>
<span class="toggler-icon middle-bar emphasis{{ with $theme }}-{{ . }}{{ end }}"></span>
<span class="toggler-icon bottom-bar emphasis{{ with $theme }}-{{ . }}{{ end }}"></span>
</button>
</div>
<div class="navbar-collapse collapse" id="{{ $id }}">
<div class="navbar-collapse collapse" id="{{ $id }}-collapse">
<!-- Insert search input -->
{{- if $search }}{{ partial "assets/search-input.html" -}}{{ end -}}
@@ -237,7 +243,7 @@
{{- if .HasChildren -}}
<ul class="dropdown-menu dropdown-menu-end">
{{- range .Children -}}
{{- partial "assets/navbar-item.html" (dict "menu" . "parent" $menu "page" $page) -}}
<li>{{- partial "assets/navbar-item.html" (dict "menu" . "parent" $menu "page" $page) -}}</li>
{{- end -}}
</ul>
{{- end -}}
@@ -256,10 +262,10 @@
{{- if $enableLanguage -}}
{{- $currentLang := $page.Language.Lang -}}
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle d-{{ $size }}-none" href="#!" role="button" data-bs-toggle="dropdown" aria-expanded="false">
<a class="nav-link dropdown-toggle d-{{ $size }}-none" href="#!" role="button" data-bs-toggle="dropdown" aria-label="{{ T "languageSwitcherLabel" }}" aria-expanded="false">
{{- partial "assets/icon.html" (dict "icon" "fas globe fa-fw") }} {{ T "languageSwitcherLabel" }}
</a>
<a class="nav-link dropdown-toggle d-none d-{{ $size }}-block" href="#!" role="button" data-bs-toggle="dropdown" aria-expanded="false">
<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">
{{- partial "assets/icon.html" (dict "icon" "fas globe fa-fw") }}
</a>
<ul class="dropdown-menu dropdown-menu-end ">
@@ -278,8 +284,8 @@
<!-- Insert version switcher -->
{{- if $enableVersions -}}
{{- partial "partials/navbar-versions.html" (dict "page" $page "size" $size "collapsed" true ) -}}
{{- partial "partials/navbar-versions.html" (dict "page" $page "size" $size "collapsed" false) -}}
{{- partial "partials/navbar-versions.html" (dict "page" $page "size" $size "collapsed" true "id" .id) -}}
{{- partial "partials/navbar-versions.html" (dict "page" $page "size" $size "collapsed" false "id" .id) -}}
{{- end -}}
<!-- Insert color mode switcher -->
@@ -290,8 +296,8 @@
</li>
<li><hr class="dropdown-divider-bg"></li>
{{- partial "partials/navbar-mode.html" (dict "size" $size "collapsed" true) -}}
{{- partial "partials/navbar-mode.html" (dict "size" $size "collapsed" false) -}}
{{- partial "partials/navbar-mode.html" (dict "size" $size "collapsed" true "id" .id) -}}
{{- partial "partials/navbar-mode.html" (dict "size" $size "collapsed" false "id" .id) -}}
{{- end -}}
</ul>
</div>

View File

@@ -7,7 +7,7 @@
{{- $sort := .Site.Params.sharing.sort | default "weight" -}}
{{- $list = sort $list $sort $order -}}
<div class="py-3 text-body-secondary hstack gap-2">
{{ T "shareLink" }}
{{ T "shareLink" "" }}
{{- range $index, $item := $list -}}
{{- $url := $item.url -}}
{{- $url = replace $url "{url}" $page.Permalink -}}
@@ -21,11 +21,11 @@
{{- $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" )}}
{{ 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)) }}
{{- end -}}
{{ if .Site.Params.sharing.webshare }}
{{ $attr := dict "data-sharing-title" .Title "data-sharing-description" .Description "data-sharing-url" .Permalink }}
{{ partial "assets/button.html" (dict "href" "#!" "icon" "fas share-nodes fa-fw" "id" "btn-webshare" "class" "btn-social p-0" "attributes" $attr )}}
{{ partial "assets/button.html" (dict "href" "#!" "icon" "fas share-nodes fa-fw" "id" "btn-webshare" "class" "btn-social p-0" "attributes" $attr "label" (T "shareLink" (T "shareSystem"))) }}
{{- end -}}
</div>
{{- end -}}

View File

@@ -15,7 +15,7 @@
<p>
<div class="collapse border bg-body-tertiary rounded p-1 navbar-nav-scroll" id="toc-collapse">
<div class="toc toc-panel text-body-secondary p-2">
<div class="toc toc-panel text-body p-2">
<small>{{ .TableOfContents }}</small>
</div>
</div>

View File

@@ -1,11 +1,11 @@
<footer class="container-fluid text-center p-3">
<footer class="container-fluid footer text-center p-3">
<div class="container-xxl text-center">
<small class="text-secondary">
<small>
{{- $copyright := printf "%s © %s %s %s." (T "copyright") (dateFormat "2006" now) .Site.Title (T "rights") }}
{{ cond (gt (len .Site.Copyright) 0) .Site.Copyright $copyright }}
{{ .Site.Params.footer.license | safeHTML }}
{{ if .Site.Params.main.endorse }}
{{ $link := partial "utilities/link" (dict "destination" (index site.Params.links "hinode") "text" "Hinode" "class" "link-secondary") }}
{{ $link := partial "utilities/link" (dict "destination" (index site.Params.links "hinode") "text" "Hinode" "class" "link-bg-footer") }}
{{ T "poweredBy" $link | safeHTML }}
{{ end }}
</small>

View File

@@ -13,6 +13,10 @@
{{ end }}
{{- end -}}
{{ if and site.Params.style.darkModeTint (not (findRE `\d+%` site.Params.style.darkModeTint)) }}
{{- errorf "partial [head/stylesheet.html] - Invalid value for site param 'style.darkModeTint': %s" site.Params.style.darkModeTint -}}
{{ end}}
{{- $navbarOffset := "0em" -}}
{{- if site.Params.navigation.fixed }}{{ $navbarOffset = site.Params.navigation.offset | default "4em" }}{{ end }}
{{- $vars := dict
@@ -28,6 +32,8 @@
"navbar-offset" $navbarOffset
"enable-dark-mode" (printf "%t" ((default true site.Params.main.enableDarkMode)))
"import-fonts" (printf "%t" (not (hasPrefix (lower site.Params.style.themeFontPath) "http")))
"dark-mode-shade" (default "0%" site.Params.style.darkModeShade)
"dark-mode-tint" (default "0%" site.Params.style.darkModeTint)
-}}
{{- $options := (dict "transpiler" "libsass" "targetPath" $target "enableSourceMap" (not hugo.IsProduction) "vars" $vars) -}}

View File

@@ -1 +1 @@
{{ if eq .format "long" }}{{ .date | time.Format ":date_long" }}{{ else }}{{ .date | time.Format ":date_short" }}{{ end }}
{{ if eq .format "long" }}{{ .date | time.Format ":date_long" }}{{ else }}{{ .date | time.Format ":date_medium" }}{{ end }}

View File

@@ -25,7 +25,7 @@
{{ $lang = "markdown" }}
{{- end -}}
<div class="rounded border preview-background mb-3">
<div class="rounded border mb-3">
{{- if eq $show_preview true -}}
<div {{ with $id }}id="{{ . }}"{{ end }} class="rounded-top p-3 {{ with $class }} {{ . }}{{ end }}">
{{- $content -}}
@@ -33,7 +33,7 @@
{{- end -}}
{{- if eq $show_markup true -}}
<div class="d-flex align-items-center ps-3 pe-3 py-1{{ if $show_preview }} border-top{{ else }} rounded-top{{ end }} border-bottom syntax-highlight">
<small class="font-monospace text-body-secondary text-uppercase">{{- $lang -}}</small>
<small class="font-monospace text-body text-uppercase">{{- $lang -}}</small>
</div>
<div class="rounded-bottom syntax-highlight border-none">
{{- highlight (trim $input "\r\n") $lang "" -}}

View File

@@ -30,7 +30,8 @@
{{ $path := .Get "path" }}
{{ $page := .Site.GetPage $path }}
{{ if not $page }}
{{ errorf "Invalid or missing value for param 'page': %s" .Position -}}
{{ errorf "Invalid or missing value for param 'path': %s" $path -}}
{{ errorf " - Location: %s" .Position -}}
{{ $error = true -}}
{{ end }}

View File

@@ -44,7 +44,7 @@
{{- end -}}
{{- $title := $version -}}
{{- $color := "success" -}}
{{- $color := "primary" -}}
{{- if eq $state "deprecated" -}}
{{- $color = "secondary" -}}
{{- end -}}

View File

@@ -102,7 +102,7 @@
</div>
<!-- Render timeline for smaller devices -->
<div class="container p-0 d-block d-md-none {{ with $background }} timeline-bg-{{ . }}{{ end }}{{ with $class }} {{ . }}{{ end }}">
<div class="container p-0 d-block d-md-none small{{ with $background }} timeline-bg-{{ . }}{{ end }}{{ with $class }} {{ . }}{{ end }}">
{{ range $index, $item := $entries }}
<div class="row timeline-sm timeline-{{ $item.color }} timeline-dot g-0">
{{ partial "partials/timeline-icon.html" (dict "icon" $item.icon "direction" "end" "col" 3) }}

View File

@@ -25,7 +25,9 @@
{{ $lastYear := $.Scratch.Get "lastYear"}}
<div class="row mt-2">
<div class="d-none d-sm-block col-sm-3 mt-auto text-right">
<time class="post-date" datetime="{{ .Date.Format "2006-01-02T15:04:05Z07:00" | safeHTML }}">{{ .Date.Format "Jan 2, 2006" }}</time>
<time class="post-date" datetime="{{ .Date.Format "2006-01-02T15:04:05Z07:00" | safeHTML }}">
{{ (partial "utilities/date.html" (dict "date" .Date "format" "medium")) }}
</time>
</div>
<div class="col">
{{ if ne $year $lastYear }}

539
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "@gethinode/hinode",
"version": "0.18.0-beta",
"version": "0.18.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@gethinode/hinode",
"version": "0.18.0-beta",
"version": "0.18.0",
"license": "MIT",
"devDependencies": {
"@fullhuman/postcss-purgecss": "^5.0.0",
@@ -20,6 +20,7 @@
"eslint-plugin-promise": "^6.1.1",
"hugo-bin": "^0.113.0",
"markdownlint-cli2": "^0.8.1",
"npm-run-all": "^4.1.5",
"postcss-cli": "^10.1.0",
"purgecss-whitelister": "^2.4.0",
"replace-in-files-cli": "^2.2.0",
@@ -3788,6 +3789,12 @@
"integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
"dev": true
},
"node_modules/json-parse-better-errors": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
"integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
"dev": true
},
"node_modules/json-parse-even-better-errors": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
@@ -4114,6 +4121,15 @@
"integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==",
"dev": true
},
"node_modules/memorystream": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz",
"integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==",
"dev": true,
"engines": {
"node": ">= 0.10.0"
}
},
"node_modules/meow": {
"version": "10.1.5",
"resolved": "https://registry.npmjs.org/meow/-/meow-10.1.5.tgz",
@@ -4326,6 +4342,12 @@
"integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
"dev": true
},
"node_modules/nice-try": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
"integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
"dev": true
},
"node_modules/node-releases": {
"version": "2.0.10",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz",
@@ -4377,6 +4399,250 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/npm-run-all": {
"version": "4.1.5",
"resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz",
"integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==",
"dev": true,
"dependencies": {
"ansi-styles": "^3.2.1",
"chalk": "^2.4.1",
"cross-spawn": "^6.0.5",
"memorystream": "^0.3.1",
"minimatch": "^3.0.4",
"pidtree": "^0.3.0",
"read-pkg": "^3.0.0",
"shell-quote": "^1.6.1",
"string.prototype.padend": "^3.0.0"
},
"bin": {
"npm-run-all": "bin/npm-run-all/index.js",
"run-p": "bin/run-p/index.js",
"run-s": "bin/run-s/index.js"
},
"engines": {
"node": ">= 4"
}
},
"node_modules/npm-run-all/node_modules/ansi-styles": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dev": true,
"dependencies": {
"color-convert": "^1.9.0"
},
"engines": {
"node": ">=4"
}
},
"node_modules/npm-run-all/node_modules/chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true,
"dependencies": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0"
},
"engines": {
"node": ">=4"
}
},
"node_modules/npm-run-all/node_modules/color-convert": {
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
"dev": true,
"dependencies": {
"color-name": "1.1.3"
}
},
"node_modules/npm-run-all/node_modules/color-name": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
"dev": true
},
"node_modules/npm-run-all/node_modules/cross-spawn": {
"version": "6.0.5",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
"integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
"dev": true,
"dependencies": {
"nice-try": "^1.0.4",
"path-key": "^2.0.1",
"semver": "^5.5.0",
"shebang-command": "^1.2.0",
"which": "^1.2.9"
},
"engines": {
"node": ">=4.8"
}
},
"node_modules/npm-run-all/node_modules/escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
"dev": true,
"engines": {
"node": ">=0.8.0"
}
},
"node_modules/npm-run-all/node_modules/has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
"dev": true,
"engines": {
"node": ">=4"
}
},
"node_modules/npm-run-all/node_modules/hosted-git-info": {
"version": "2.8.9",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
"integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
"dev": true
},
"node_modules/npm-run-all/node_modules/load-json-file": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
"integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==",
"dev": true,
"dependencies": {
"graceful-fs": "^4.1.2",
"parse-json": "^4.0.0",
"pify": "^3.0.0",
"strip-bom": "^3.0.0"
},
"engines": {
"node": ">=4"
}
},
"node_modules/npm-run-all/node_modules/normalize-package-data": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
"integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
"dev": true,
"dependencies": {
"hosted-git-info": "^2.1.4",
"resolve": "^1.10.0",
"semver": "2 || 3 || 4 || 5",
"validate-npm-package-license": "^3.0.1"
}
},
"node_modules/npm-run-all/node_modules/parse-json": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
"integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==",
"dev": true,
"dependencies": {
"error-ex": "^1.3.1",
"json-parse-better-errors": "^1.0.1"
},
"engines": {
"node": ">=4"
}
},
"node_modules/npm-run-all/node_modules/path-key": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
"integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==",
"dev": true,
"engines": {
"node": ">=4"
}
},
"node_modules/npm-run-all/node_modules/path-type": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
"integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
"dev": true,
"dependencies": {
"pify": "^3.0.0"
},
"engines": {
"node": ">=4"
}
},
"node_modules/npm-run-all/node_modules/pify": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
"integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
"dev": true,
"engines": {
"node": ">=4"
}
},
"node_modules/npm-run-all/node_modules/read-pkg": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
"integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==",
"dev": true,
"dependencies": {
"load-json-file": "^4.0.0",
"normalize-package-data": "^2.3.2",
"path-type": "^3.0.0"
},
"engines": {
"node": ">=4"
}
},
"node_modules/npm-run-all/node_modules/semver": {
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
"dev": true,
"bin": {
"semver": "bin/semver"
}
},
"node_modules/npm-run-all/node_modules/shebang-command": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
"integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==",
"dev": true,
"dependencies": {
"shebang-regex": "^1.0.0"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/npm-run-all/node_modules/shebang-regex": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
"integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==",
"dev": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/npm-run-all/node_modules/supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
"dependencies": {
"has-flag": "^3.0.0"
},
"engines": {
"node": ">=4"
}
},
"node_modules/npm-run-all/node_modules/which": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
"dev": true,
"dependencies": {
"isexe": "^2.0.0"
},
"bin": {
"which": "bin/which"
}
},
"node_modules/npm-run-path": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
@@ -4745,6 +5011,18 @@
"url": "https://github.com/sponsors/jonschlinkert"
}
},
"node_modules/pidtree": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz",
"integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==",
"dev": true,
"bin": {
"pidtree": "bin/pidtree.js"
},
"engines": {
"node": ">=0.10"
}
},
"node_modules/pify": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
@@ -6149,6 +6427,15 @@
"node": ">=8"
}
},
"node_modules/shell-quote": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz",
"integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==",
"dev": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/shelljs": {
"version": "0.8.5",
"resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz",
@@ -6364,6 +6651,23 @@
"node": ">=8"
}
},
"node_modules/string.prototype.padend": {
"version": "3.1.4",
"resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.4.tgz",
"integrity": "sha512-67otBXoksdjsnXXRUq+KMVTdlVRZ2af422Y0aTyTjVaoQkGr3mxl2Bc5emi7dOQ3OGVVQQskmLEWwFXwommpNw==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
"es-abstract": "^1.20.4"
},
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/string.prototype.trim": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz",
@@ -9970,6 +10274,12 @@
"integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
"dev": true
},
"json-parse-better-errors": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
"integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
"dev": true
},
"json-parse-even-better-errors": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
@@ -10219,6 +10529,12 @@
"integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==",
"dev": true
},
"memorystream": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz",
"integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==",
"dev": true
},
"meow": {
"version": "10.1.5",
"resolved": "https://registry.npmjs.org/meow/-/meow-10.1.5.tgz",
@@ -10366,6 +10682,12 @@
"integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
"dev": true
},
"nice-try": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
"integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
"dev": true
},
"node-releases": {
"version": "2.0.10",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz",
@@ -10402,6 +10724,196 @@
"integrity": "sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==",
"dev": true
},
"npm-run-all": {
"version": "4.1.5",
"resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz",
"integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==",
"dev": true,
"requires": {
"ansi-styles": "^3.2.1",
"chalk": "^2.4.1",
"cross-spawn": "^6.0.5",
"memorystream": "^0.3.1",
"minimatch": "^3.0.4",
"pidtree": "^0.3.0",
"read-pkg": "^3.0.0",
"shell-quote": "^1.6.1",
"string.prototype.padend": "^3.0.0"
},
"dependencies": {
"ansi-styles": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dev": true,
"requires": {
"color-convert": "^1.9.0"
}
},
"chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true,
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0"
}
},
"color-convert": {
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
"dev": true,
"requires": {
"color-name": "1.1.3"
}
},
"color-name": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
"dev": true
},
"cross-spawn": {
"version": "6.0.5",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
"integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
"dev": true,
"requires": {
"nice-try": "^1.0.4",
"path-key": "^2.0.1",
"semver": "^5.5.0",
"shebang-command": "^1.2.0",
"which": "^1.2.9"
}
},
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
"dev": true
},
"has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
"dev": true
},
"hosted-git-info": {
"version": "2.8.9",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
"integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
"dev": true
},
"load-json-file": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
"integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==",
"dev": true,
"requires": {
"graceful-fs": "^4.1.2",
"parse-json": "^4.0.0",
"pify": "^3.0.0",
"strip-bom": "^3.0.0"
}
},
"normalize-package-data": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
"integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
"dev": true,
"requires": {
"hosted-git-info": "^2.1.4",
"resolve": "^1.10.0",
"semver": "2 || 3 || 4 || 5",
"validate-npm-package-license": "^3.0.1"
}
},
"parse-json": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
"integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==",
"dev": true,
"requires": {
"error-ex": "^1.3.1",
"json-parse-better-errors": "^1.0.1"
}
},
"path-key": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
"integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==",
"dev": true
},
"path-type": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
"integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
"dev": true,
"requires": {
"pify": "^3.0.0"
}
},
"pify": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
"integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
"dev": true
},
"read-pkg": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
"integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==",
"dev": true,
"requires": {
"load-json-file": "^4.0.0",
"normalize-package-data": "^2.3.2",
"path-type": "^3.0.0"
}
},
"semver": {
"version": "5.7.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
"dev": true
},
"shebang-command": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
"integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==",
"dev": true,
"requires": {
"shebang-regex": "^1.0.0"
}
},
"shebang-regex": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
"integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==",
"dev": true
},
"supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
"requires": {
"has-flag": "^3.0.0"
}
},
"which": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
"integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
"dev": true,
"requires": {
"isexe": "^2.0.0"
}
}
}
},
"npm-run-path": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
@@ -10657,6 +11169,12 @@
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true
},
"pidtree": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz",
"integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==",
"dev": true
},
"pify": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
@@ -11537,6 +12055,12 @@
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
"dev": true
},
"shell-quote": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz",
"integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==",
"dev": true
},
"shelljs": {
"version": "0.8.5",
"resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz",
@@ -11705,6 +12229,17 @@
"strip-ansi": "^6.0.1"
}
},
"string.prototype.padend": {
"version": "3.1.4",
"resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.4.tgz",
"integrity": "sha512-67otBXoksdjsnXXRUq+KMVTdlVRZ2af422Y0aTyTjVaoQkGr3mxl2Bc5emi7dOQ3OGVVQQskmLEWwFXwommpNw==",
"dev": true,
"requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.1.4",
"es-abstract": "^1.20.4"
}
},
"string.prototype.trim": {
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz",

View File

@@ -1,6 +1,6 @@
{
"name": "@gethinode/hinode",
"version": "0.18.0-beta",
"version": "0.18.0",
"description": "Hinode is a clean documentation and blog theme for Hugo, an open-source static site generator",
"keywords": [
"hugo",
@@ -41,10 +41,16 @@
"env": "hugo env",
"precheck": "npm version",
"check": "hugo version",
"create:syntax": "npm run -s create:syntax-light & npm run -s create:syntax-dark && npm run -s update:syntax-dark",
"create:syntax-light": "hugo gen chromastyles --style=github > ./assets/scss/components/_syntax-light.scss",
"create:syntax-dark": "hugo gen chromastyles --style=github-dark > ./assets/scss/components/_syntax-dark.scss",
"update:syntax-dark": "replace-in-files --string=\"#ffffcc\" --replacement=\"#b8b800\" ./assets/scss/components/_syntax-dark.scss",
"create:syntax": "npm-run-all update:syntax:**",
"update:syntax:light1": "hugo gen chromastyles --style=github > ./assets/scss/components/_syntax-light.scss",
"update:syntax:light2": "replace-in-files --string=\"#0086b3\" --replacement=\"#006b8f\" ./assets/scss/components/_syntax-light.scss",
"update:syntax:light3": "replace-in-files --string=\"#009999\" --replacement=\"#007a7a\" ./assets/scss/components/_syntax-light.scss",
"update:syntax:light4": "replace-in-files --string=\"#999988\" --replacement=\"#6d6d5d\" ./assets/scss/components/_syntax-light.scss",
"update:syntax:dark1": "hugo gen chromastyles --style=github-dark > ./assets/scss/components/_syntax-dark.scss",
"update:syntax:dark2": "replace-in-files --string=\"#ffffcc\" --replacement=\"#b8b800\" ./assets/scss/components/_syntax-dark.scss",
"update:syntax:dark3": "replace-in-files --string=\"#8b949e\" --replacement=\"#979fa8\" ./assets/scss/components/_syntax-dark.scss",
"update:syntax:dark4": "replace-in-files --string=\".na { }\" --replacement=\".na { color: #00cccc }\" ./assets/scss/components/_syntax-dark.scss",
"update:syntax:dark5": "replace-in-files --string=\".nb { }\" --replacement=\".nb { color: #00a2d8 }\" ./assets/scss/components/_syntax-dark.scss",
"upgrade": "npx npm-check-updates -u && npm run -s mod:update"
},
"repository": {
@@ -69,6 +75,7 @@
"eslint-plugin-promise": "^6.1.1",
"hugo-bin": "^0.113.0",
"markdownlint-cli2": "^0.8.1",
"npm-run-all": "^4.1.5",
"postcss-cli": "^10.1.0",
"purgecss-whitelister": "^2.4.0",
"replace-in-files-cli": "^2.2.0",