mirror of
https://github.com/gethinode/hinode.git
synced 2025-10-07 10:04:22 +00:00
Compare commits
24 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
dd80ee2bfe | ||
![]() |
2e8b087c48 | ||
![]() |
03592cba67 | ||
![]() |
65a44637d5 | ||
![]() |
6bbdb813de | ||
![]() |
3ad358bb96 | ||
![]() |
2e1c05fa63 | ||
![]() |
d67fc81c87 | ||
![]() |
8e532ce61b | ||
![]() |
dd7803110d | ||
![]() |
8c05e15693 | ||
![]() |
b78d0a9912 | ||
![]() |
25aeaeb195 | ||
![]() |
d8336200ef | ||
![]() |
2831b510d6 | ||
![]() |
ddc319e380 | ||
![]() |
0e4c493dd2 | ||
![]() |
48ceeb0b64 | ||
![]() |
45bd45c5fa | ||
![]() |
9f85b5bc93 | ||
![]() |
41215fcc25 | ||
![]() |
912a34baa3 | ||
![]() |
db4fa60bff | ||
![]() |
8ebc170e0e |
@@ -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,25 +116,9 @@
|
||||
}
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -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 {
|
||||
|
@@ -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',
|
||||
|
@@ -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
|
||||
@@ -55,6 +69,13 @@ arguments:
|
||||
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
|
||||
|
@@ -158,7 +158,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]
|
||||
|
@@ -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',
|
||||
|
@@ -65,6 +65,7 @@
|
||||
"use"
|
||||
],
|
||||
"classes": [
|
||||
"%!s(<nil>)",
|
||||
"accordion",
|
||||
"accordion-body",
|
||||
"accordion-button",
|
||||
|
4
go.mod
4
go.mod
@@ -8,12 +8,12 @@ require (
|
||||
github.com/gethinode/mod-csp v1.0.7 // indirect
|
||||
github.com/gethinode/mod-flexsearch/v2 v2.0.3 // indirect
|
||||
github.com/gethinode/mod-fontawesome v1.10.1 // indirect
|
||||
github.com/gethinode/mod-google-analytics v1.3.0 // 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.6 // indirect
|
||||
github.com/gethinode/mod-utils/v2 v2.8.5 // indirect
|
||||
github.com/gethinode/mod-utils/v2 v2.8.6 // indirect
|
||||
github.com/nextapps-de/flexsearch v0.0.0-20240501124520-961c3ae84a87 // indirect
|
||||
github.com/twbs/bootstrap v5.3.3+incompatible // indirect
|
||||
)
|
||||
|
4
go.sum
4
go.sum
@@ -166,6 +166,8 @@ github.com/gethinode/mod-google-analytics v1.1.9 h1:ld3bRGiJiUCfe/deH+4vOP3oZNhG
|
||||
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=
|
||||
@@ -374,6 +376,8 @@ github.com/gethinode/mod-utils/v2 v2.8.4 h1:ZBkIxFezFz2IrbTt0Y3Nq5ac7klU5N8TY19Q
|
||||
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/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=
|
||||
|
@@ -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,10 +39,28 @@
|
||||
</th>
|
||||
{{- end }}
|
||||
</tr>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
</thead>
|
||||
<tbody>
|
||||
{{- range .TBody }}
|
||||
{{ $length := len . }}
|
||||
{{ if $wrap }}
|
||||
<tr>
|
||||
{{- 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 }}>
|
||||
@@ -35,6 +68,7 @@
|
||||
</td>
|
||||
{{- end }}
|
||||
</tr>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
</tbody>
|
||||
</table>
|
@@ -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 -}}
|
||||
|
@@ -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>
|
||||
<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 }}
|
||||
|
@@ -4,42 +4,86 @@
|
||||
Visit gethinode.com/license for more details.
|
||||
-->
|
||||
|
||||
{{ define "partials/inline-table.html" }}
|
||||
{{ $page := .page }}
|
||||
{{ $input := .input }}
|
||||
{{ $args := .args }}
|
||||
{{ $sortable := .sortable | default false }}
|
||||
{{ $paging := .paging | default false }}
|
||||
{{ $searchable := .searchable | default false }}
|
||||
{{ $pagingOptionPerPage := .pagingOptionPerPage }}
|
||||
{{ $pagingOptionPerPageSelect := .pagingOptionPerPageSelect }}
|
||||
{{- $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 -}}
|
||||
{{ $attributes := .attributes }}
|
||||
{{ $class := .class }}
|
||||
{{ $wrap := .wrap }}
|
||||
|
||||
{{- if in $responsive "table-responsive-none" -}}
|
||||
{{- $responsive = "" -}}
|
||||
{{- else if not $responsive -}}
|
||||
{{ $responsive = (slice "table-responsive") -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- $class := delimit $main " " -}}
|
||||
{{ if or $sortable $paging $searchable }}{{ $class = trim (printf "%s data-table" $class) " " }}{{ end }}
|
||||
{{- $input := $input | $page.RenderString }}
|
||||
{{ 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) " " }}
|
||||
|
||||
{{ $attributes := "" }}
|
||||
{{ if $sortable }}{{ $attributes = printf "%s data-table-sortable=true" $attributes }}{{ end }}
|
||||
{{ if $paging }}
|
||||
{{ $attributes = printf "%s data-table-paging=true" $attributes }}
|
||||
{{ $attributes := printf "%s data-table-paging-option-perPage=%s" $attributes $pagingOptionPerPage }}
|
||||
{{ if (ne $pagingOptionPerPageSelect "") }}{{ $attributes := printf "%s data-table-paging-option-perPageSelect=%d" $attributes $pagingOptionPerPageSelect }}{{ end }}
|
||||
{{ end }}
|
||||
{{ if $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 -}}
|
||||
|
||||
{{ 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 $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 }}
|
||||
|
||||
<!-- 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 }}
|
@@ -81,5 +81,5 @@
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ partial "assets/table.html" (dict "page" .Page "input" $table "args" slice) }}
|
||||
{{ partial "assets/table.html" (dict "page" .Page "input" $table "wrap" true) }}
|
||||
{{ end }}
|
@@ -5,63 +5,34 @@
|
||||
-->
|
||||
|
||||
{{ $error := false }}
|
||||
|
||||
<!-- Validate arguments -->
|
||||
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "table" "args" .Params) }}
|
||||
{{ errorf "Invalid arguments: %s" .Position -}}
|
||||
{{ $error = true }}
|
||||
{{ end }}
|
||||
{{ $args := dict }}
|
||||
{{ $breakpoint := "" }}
|
||||
|
||||
<!-- Initialize arguments -->
|
||||
{{ $breakpoint := "" }}
|
||||
{{ $class := "" }}
|
||||
{{ $sortable := false }}
|
||||
{{ $paging := false }}
|
||||
{{ $searchable := false }}
|
||||
{{ $pagingOptionPerPage := 10 }}
|
||||
{{ $pagingOptionPerPageSelect := "" }}
|
||||
|
||||
{{- if .IsNamedParams -}}
|
||||
{{ $breakpoint = .Get "breakpoint" }}
|
||||
{{ $class = .Get "class" | default "" }}
|
||||
{{ if isset .Params "sortable" }}{{ $sortable = partial "utilities/CastBool.html" (.Get "sortable") }}{{ end }}
|
||||
{{ if isset .Params "paging" }}{{ $paging = partial "utilities/CastBool.html" (.Get "paging") }}{{ end }}
|
||||
{{ if isset .Params "searchable" }}{{ $searchable = partial "utilities/CastBool.html" (.Get "searchable") }}{{ end }}
|
||||
{{ if isset .Params "pagingOptionPerPage" }}{{ $pagingOptionPerPage = (.Get "pagingOptionPerPage") }}{{ end }}
|
||||
{{ if isset .Params "pagingOptionPerPageSelect" }}{{ $pagingOptionPerPageSelect = (.Get "OptionPerPageSelect") }}{{ end }}
|
||||
{{ $args = partial "utilities/InitArgs.html" (dict "structure" "table" "args" .Params "group" "shortcode") }}
|
||||
{{ if $args.err }}
|
||||
{{ partial "utilities/LogErr.html" (dict
|
||||
"partial" "shortcodes/table.html"
|
||||
"msg" "Invalid arguments"
|
||||
"details" $args.errmsg
|
||||
"file" page.File
|
||||
)}}
|
||||
{{ end }}
|
||||
{{ else }}
|
||||
{{ $breakpoint = .Get 0 }}
|
||||
{{ end }}
|
||||
|
||||
<!-- Main code -->
|
||||
{{ if or $sortable $paging $searchable }}{{ $class = trim (printf "%s data-table" $class) " " }}{{ end }}
|
||||
|
||||
{{- $input := .Inner | .Page.RenderString }}
|
||||
{{ $regex := `<table\s*class="(.+?)"` }}
|
||||
{{ $current := (index (index (findRESubmatch $regex $input) 0) 1) }}
|
||||
{{ $target := delimit (((split $current " ") | append "table" | append $class) | uniq) " " }}
|
||||
|
||||
{{ $attributes := "" }}
|
||||
{{ if $sortable }}{{ $attributes = printf "%s data-table-sortable=true" $attributes }}{{ end }}
|
||||
{{ if $paging }}
|
||||
{{ $attributes = printf "%s data-table-paging=true" $attributes }}
|
||||
{{ $attributes = printf "%s data-table-paging-option-perPage=%d" $attributes $pagingOptionPerPage }}
|
||||
{{ if (ne $pagingOptionPerPageSelect "") }}
|
||||
{{ $attributes = printf "%s data-table-paging-option-perPageSelect=%s" $attributes $pagingOptionPerPageSelect }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ if $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 -}}
|
||||
|
||||
{{ if not $error }}
|
||||
{{ if eq $breakpoint "none" }}
|
||||
{{ $input | safeHTML }}
|
||||
{{ else }}
|
||||
<div class="table-responsive{{- with $breakpoint }}-{{ . }}{{ end -}}">
|
||||
{{ $input | safeHTML }}
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ partial "assets/table.html" (dict
|
||||
"page" .Page
|
||||
"input" .Inner
|
||||
"breakpoint" (or $breakpoint $args.breakpoint)
|
||||
"class" $args.class
|
||||
"sortable" $args.sortable
|
||||
"paging" $args.paging
|
||||
"pagingOptionPerPage" $args.pagingOptionPerPage
|
||||
"pagingOptionPageSelect" $args.pagingOptionPageSelect
|
||||
"searchable" $args.searchable
|
||||
"wrap" $args.wrap
|
||||
) }}
|
||||
|
189
package-lock.json
generated
189
package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "@gethinode/hinode",
|
||||
"version": "0.27.26",
|
||||
"version": "0.28.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@gethinode/hinode",
|
||||
"version": "0.27.26",
|
||||
"version": "0.28.0",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@fullhuman/postcss-purgecss": "^7.0.2",
|
||||
@@ -19,7 +19,7 @@
|
||||
"devDependencies": {
|
||||
"@gethinode/netlify-plugin-dartsass": "^0.3.0",
|
||||
"cpy-cli": "^5.0.0",
|
||||
"eslint": "^9.17.0",
|
||||
"eslint": "^9.18.0",
|
||||
"markdownlint-cli2": "^0.17.1",
|
||||
"neostandard": "^0.12.0",
|
||||
"netlify-plugin-hugo-cache-resources": "^0.2.1",
|
||||
@@ -28,7 +28,7 @@
|
||||
"replace-in-files-cli": "^3.0.0",
|
||||
"rimraf": "^6.0.1",
|
||||
"shx": "^0.3.4",
|
||||
"stylelint": "^16.12.0",
|
||||
"stylelint": "^16.13.2",
|
||||
"stylelint-config-standard-scss": "^14.0.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
@@ -343,10 +343,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/core": {
|
||||
"version": "0.9.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.9.0.tgz",
|
||||
"integrity": "sha512-7ATR9F0e4W85D/0w7cU0SNj7qkAexMG+bAHEZOjo9akvGuhHE2m7umzWzfnpa0XAg5Kxc1BWmtPMV67jJ+9VUg==",
|
||||
"version": "0.10.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.10.0.tgz",
|
||||
"integrity": "sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@types/json-schema": "^7.0.15"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
}
|
||||
@@ -375,9 +378,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/js": {
|
||||
"version": "9.17.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.17.0.tgz",
|
||||
"integrity": "sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==",
|
||||
"version": "9.18.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.18.0.tgz",
|
||||
"integrity": "sha512-fK6L7rxcq6/z+AaQMtiFTkvbHkBLNlwyRxHpKawP0x3u9+NC6MQTnFW+AdpwC6gfHTW0051cokQgtTN2FqlxQA==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
@@ -393,11 +396,12 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/plugin-kit": {
|
||||
"version": "0.2.3",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.3.tgz",
|
||||
"integrity": "sha512-2b/g5hRmpbb1o4GnTZax9N9m0FXzz9OV42ZzI4rDDMDuHUqigAiQCEWChBWCY4ztAGVRjoWT19v0yMmc5/L5kA==",
|
||||
"version": "0.2.5",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.5.tgz",
|
||||
"integrity": "sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@eslint/core": "^0.10.0",
|
||||
"levn": "^0.4.1"
|
||||
},
|
||||
"engines": {
|
||||
@@ -408,6 +412,7 @@
|
||||
"version": "7.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@fullhuman/postcss-purgecss/-/postcss-purgecss-7.0.2.tgz",
|
||||
"integrity": "sha512-U4zAXNaVztbDxO9EdcLp51F3UxxYsb/7DN89rFxFJhfk2Wua2pvw2Kf3HdspbPhW/wpHjSjsxWYoIlbTgRSjbQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"purgecss": "^7.0.2"
|
||||
},
|
||||
@@ -581,6 +586,39 @@
|
||||
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/@keyv/serialize": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@keyv/serialize/-/serialize-1.0.2.tgz",
|
||||
"integrity": "sha512-+E/LyaAeuABniD/RvUezWVXKpeuvwLEA9//nE9952zBaOdBd2mQ3pPoM8cUe2X6IcMByfuSLzmYqnYshG60+HQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"buffer": "^6.0.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@keyv/serialize/node_modules/buffer": {
|
||||
"version": "6.0.3",
|
||||
"resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
|
||||
"integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/feross"
|
||||
},
|
||||
{
|
||||
"type": "patreon",
|
||||
"url": "https://www.patreon.com/feross"
|
||||
},
|
||||
{
|
||||
"type": "consulting",
|
||||
"url": "https://feross.org/support"
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"base64-js": "^1.3.1",
|
||||
"ieee754": "^1.2.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@nodelib/fs.scandir": {
|
||||
"version": "2.1.5",
|
||||
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
|
||||
@@ -1600,6 +1638,16 @@
|
||||
"node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/cacheable": {
|
||||
"version": "1.8.7",
|
||||
"resolved": "https://registry.npmjs.org/cacheable/-/cacheable-1.8.7.tgz",
|
||||
"integrity": "sha512-AbfG7dAuYNjYxFUtL1lAqmlWdxczCJ47w7cFjhGcnGnUdwSo6VgmSojfoW3tUI12HUkgTJ5kqj78yyq6TsFtlg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"hookified": "^1.6.0",
|
||||
"keyv": "^5.2.3"
|
||||
}
|
||||
},
|
||||
"node_modules/cacheable-lookup": {
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz",
|
||||
@@ -1625,6 +1673,15 @@
|
||||
"node": ">=14.16"
|
||||
}
|
||||
},
|
||||
"node_modules/cacheable/node_modules/keyv": {
|
||||
"version": "5.2.3",
|
||||
"resolved": "https://registry.npmjs.org/keyv/-/keyv-5.2.3.tgz",
|
||||
"integrity": "sha512-AGKecUfzrowabUv0bH1RIR5Vf7w+l4S3xtQAypKaUpTdIR1EbrAcTxHCrpo9Q+IWeUlFE2palRtgIQcgm+PQJw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@keyv/serialize": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"node_modules/call-bind": {
|
||||
"version": "1.0.8",
|
||||
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz",
|
||||
@@ -2735,18 +2792,18 @@
|
||||
}
|
||||
},
|
||||
"node_modules/eslint": {
|
||||
"version": "9.17.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.17.0.tgz",
|
||||
"integrity": "sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA==",
|
||||
"version": "9.18.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.18.0.tgz",
|
||||
"integrity": "sha512-+waTfRWQlSbpt3KWE+CjrPPYnbq9kfZIYUqapc0uBXyjTp8aYXZDsUH16m39Ryq3NjAVP4tjuF7KaukeqoCoaA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@eslint-community/eslint-utils": "^4.2.0",
|
||||
"@eslint-community/regexpp": "^4.12.1",
|
||||
"@eslint/config-array": "^0.19.0",
|
||||
"@eslint/core": "^0.9.0",
|
||||
"@eslint/core": "^0.10.0",
|
||||
"@eslint/eslintrc": "^3.2.0",
|
||||
"@eslint/js": "9.17.0",
|
||||
"@eslint/plugin-kit": "^0.2.3",
|
||||
"@eslint/js": "9.18.0",
|
||||
"@eslint/plugin-kit": "^0.2.5",
|
||||
"@humanfs/node": "^0.16.6",
|
||||
"@humanwhocodes/module-importer": "^1.0.1",
|
||||
"@humanwhocodes/retry": "^0.4.1",
|
||||
@@ -3256,16 +3313,16 @@
|
||||
"integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ=="
|
||||
},
|
||||
"node_modules/fast-glob": {
|
||||
"version": "3.3.2",
|
||||
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
|
||||
"integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
|
||||
"version": "3.3.3",
|
||||
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
|
||||
"integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@nodelib/fs.stat": "^2.0.2",
|
||||
"@nodelib/fs.walk": "^1.2.3",
|
||||
"glob-parent": "^5.1.2",
|
||||
"merge2": "^1.3.0",
|
||||
"micromatch": "^4.0.4"
|
||||
"micromatch": "^4.0.8"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8.6.0"
|
||||
@@ -3439,9 +3496,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/flatted": {
|
||||
"version": "3.3.1",
|
||||
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz",
|
||||
"integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==",
|
||||
"version": "3.3.2",
|
||||
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz",
|
||||
"integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/for-each": {
|
||||
@@ -4073,6 +4130,12 @@
|
||||
"node": ">= 0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/hookified": {
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/hookified/-/hookified-1.6.0.tgz",
|
||||
"integrity": "sha512-se7cpwTA+iA/eY548Bu03JJqBiEZAqU2jnyKdj5B5qurtBg64CZGHTgqCv4Yh7NWu6FGI09W61MCq+NoPj9GXA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/hosted-git-info": {
|
||||
"version": "2.8.9",
|
||||
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
|
||||
@@ -7219,6 +7282,7 @@
|
||||
"version": "7.0.2",
|
||||
"resolved": "https://registry.npmjs.org/purgecss/-/purgecss-7.0.2.tgz",
|
||||
"integrity": "sha512-4Ku8KoxNhOWi9X1XJ73XY5fv+I+hhTRedKpGs/2gaBKU8ijUiIKF/uyyIyh7Wo713bELSICF5/NswjcuOqYouQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"commander": "^12.1.0",
|
||||
"glob": "^11.0.0",
|
||||
@@ -7243,6 +7307,7 @@
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
|
||||
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"balanced-match": "^1.0.0"
|
||||
}
|
||||
@@ -7251,14 +7316,16 @@
|
||||
"version": "12.1.0",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz",
|
||||
"integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
}
|
||||
},
|
||||
"node_modules/purgecss/node_modules/glob": {
|
||||
"version": "11.0.0",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-11.0.0.tgz",
|
||||
"integrity": "sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==",
|
||||
"version": "11.0.1",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-11.0.1.tgz",
|
||||
"integrity": "sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw==",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"foreground-child": "^3.1.0",
|
||||
"jackspeak": "^4.0.1",
|
||||
@@ -7281,6 +7348,7 @@
|
||||
"version": "10.0.1",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz",
|
||||
"integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"brace-expansion": "^2.0.1"
|
||||
},
|
||||
@@ -8290,9 +8358,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/stylelint": {
|
||||
"version": "16.12.0",
|
||||
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.12.0.tgz",
|
||||
"integrity": "sha512-F8zZ3L/rBpuoBZRvI4JVT20ZanPLXfQLzMOZg1tzPflRVh9mKpOZ8qcSIhh1my3FjAjZWG4T2POwGnmn6a6hbg==",
|
||||
"version": "16.13.2",
|
||||
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.13.2.tgz",
|
||||
"integrity": "sha512-wDlgh0mRO9RtSa3TdidqHd0nOG8MmUyVKl+dxA6C1j8aZRzpNeEgdhFmU5y4sZx4Fc6r46p0fI7p1vR5O2DZqA==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -8314,16 +8382,16 @@
|
||||
"colord": "^2.9.3",
|
||||
"cosmiconfig": "^9.0.0",
|
||||
"css-functions-list": "^3.2.3",
|
||||
"css-tree": "^3.0.1",
|
||||
"css-tree": "^3.1.0",
|
||||
"debug": "^4.3.7",
|
||||
"fast-glob": "^3.3.2",
|
||||
"fast-glob": "^3.3.3",
|
||||
"fastest-levenshtein": "^1.0.16",
|
||||
"file-entry-cache": "^9.1.0",
|
||||
"file-entry-cache": "^10.0.5",
|
||||
"global-modules": "^2.0.0",
|
||||
"globby": "^11.1.0",
|
||||
"globjoin": "^0.1.4",
|
||||
"html-tags": "^3.3.1",
|
||||
"ignore": "^6.0.2",
|
||||
"ignore": "^7.0.1",
|
||||
"imurmurhash": "^0.1.4",
|
||||
"is-plain-object": "^5.0.0",
|
||||
"known-css-properties": "^0.35.0",
|
||||
@@ -8551,13 +8619,12 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/stylelint/node_modules/css-tree": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.0.1.tgz",
|
||||
"integrity": "sha512-8Fxxv+tGhORlshCdCwnNJytvlvq46sOLSYEx2ZIGurahWvMucSRnyjPA3AmrMq4VPRYbHVpWj5VkiVasrM2H4Q==",
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz",
|
||||
"integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"mdn-data": "2.12.1",
|
||||
"mdn-data": "2.12.2",
|
||||
"source-map-js": "^1.0.1"
|
||||
},
|
||||
"engines": {
|
||||
@@ -8565,28 +8632,23 @@
|
||||
}
|
||||
},
|
||||
"node_modules/stylelint/node_modules/file-entry-cache": {
|
||||
"version": "9.1.0",
|
||||
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-9.1.0.tgz",
|
||||
"integrity": "sha512-/pqPFG+FdxWQj+/WSuzXSDaNzxgTLr/OrR1QuqfEZzDakpdYE70PwUxL7BPUa8hpjbvY1+qvCl8k+8Tq34xJgg==",
|
||||
"version": "10.0.5",
|
||||
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-10.0.5.tgz",
|
||||
"integrity": "sha512-umpQsJrBNsdMDgreSryMEXvJh66XeLtZUwA8Gj7rHGearGufUFv6rB/bcXRFsiGWw/VeSUgUofF4Rf2UKEOrTA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"flat-cache": "^5.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
"flat-cache": "^6.1.5"
|
||||
}
|
||||
},
|
||||
"node_modules/stylelint/node_modules/flat-cache": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-5.0.0.tgz",
|
||||
"integrity": "sha512-JrqFmyUl2PnPi1OvLyTVHnQvwQ0S+e6lGSwu8OkAZlSaNIZciTY2H/cOOROxsBA1m/LZNHDsqAgDZt6akWcjsQ==",
|
||||
"version": "6.1.5",
|
||||
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.5.tgz",
|
||||
"integrity": "sha512-QR+2kN38f8nMfiIQ1LHYjuDEmZNZVjxuxY+HufbS3BW0EX01Q5OnH7iduOYRutmgiXb797HAKcXUeXrvRjjgSQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"flatted": "^3.3.1",
|
||||
"keyv": "^4.5.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
"cacheable": "^1.8.7",
|
||||
"flatted": "^3.3.2",
|
||||
"hookified": "^1.6.0"
|
||||
}
|
||||
},
|
||||
"node_modules/stylelint/node_modules/globby": {
|
||||
@@ -8619,20 +8681,19 @@
|
||||
}
|
||||
},
|
||||
"node_modules/stylelint/node_modules/ignore": {
|
||||
"version": "6.0.2",
|
||||
"resolved": "https://registry.npmjs.org/ignore/-/ignore-6.0.2.tgz",
|
||||
"integrity": "sha512-InwqeHHN2XpumIkMvpl/DCJVrAHgCsG5+cn1XlnLWGwtZBm8QJfSusItfrwx81CTp5agNZqpKU2J/ccC5nGT4A==",
|
||||
"version": "7.0.3",
|
||||
"resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.3.tgz",
|
||||
"integrity": "sha512-bAH5jbK/F3T3Jls4I0SO1hmPR0dKU0a7+SY6n1yzRtG54FLO8d6w/nxLFX2Nb7dBu6cCWXPaAME6cYqFUMmuCA==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">= 4"
|
||||
}
|
||||
},
|
||||
"node_modules/stylelint/node_modules/mdn-data": {
|
||||
"version": "2.12.1",
|
||||
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.1.tgz",
|
||||
"integrity": "sha512-rsfnCbOHjqrhWxwt5/wtSLzpoKTzW7OXdT5lLOIH1OTYhWu9rRJveGq0sKvDZODABH7RX+uoR+DYcpFnq4Tf6Q==",
|
||||
"dev": true,
|
||||
"license": "CC0-1.0"
|
||||
"version": "2.12.2",
|
||||
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz",
|
||||
"integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/stylelint/node_modules/postcss-selector-parser": {
|
||||
"version": "7.0.0",
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@gethinode/hinode",
|
||||
"version": "0.27.26",
|
||||
"version": "0.28.0",
|
||||
"description": "Hinode is a clean documentation and blog theme for Hugo, an open-source static site generator",
|
||||
"keywords": [
|
||||
"hugo",
|
||||
@@ -79,7 +79,7 @@
|
||||
"devDependencies": {
|
||||
"@gethinode/netlify-plugin-dartsass": "^0.3.0",
|
||||
"cpy-cli": "^5.0.0",
|
||||
"eslint": "^9.17.0",
|
||||
"eslint": "^9.18.0",
|
||||
"markdownlint-cli2": "^0.17.1",
|
||||
"neostandard": "^0.12.0",
|
||||
"netlify-plugin-hugo-cache-resources": "^0.2.1",
|
||||
@@ -88,7 +88,7 @@
|
||||
"replace-in-files-cli": "^3.0.0",
|
||||
"rimraf": "^6.0.1",
|
||||
"shx": "^0.3.4",
|
||||
"stylelint": "^16.12.0",
|
||||
"stylelint": "^16.13.2",
|
||||
"stylelint-config-standard-scss": "^14.0.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
|
Reference in New Issue
Block a user