mirror of
https://github.com/gethinode/hinode.git
synced 2025-10-14 21:43:12 +00:00
Compare commits
41 Commits
v0.22.0-be
...
v0.22.0
Author | SHA1 | Date | |
---|---|---|---|
![]() |
713d1920a3 | ||
![]() |
adc1212cd7 | ||
![]() |
b8803d75fe | ||
![]() |
8006acb8c9 | ||
![]() |
7be7e3b7f0 | ||
![]() |
a6c18c91e5 | ||
![]() |
81c531e2b5 | ||
![]() |
d66910740f | ||
![]() |
3323bf500d | ||
![]() |
3cc34d18e0 | ||
![]() |
aeb050440f | ||
![]() |
a9a6bd0d31 | ||
![]() |
2b921def52 | ||
![]() |
f5a1a97383 | ||
![]() |
c87b96f8f0 | ||
![]() |
1def105bda | ||
![]() |
1d67a30ece | ||
![]() |
1a3d50ca17 | ||
![]() |
ce26722c96 | ||
![]() |
f2aab26b6e | ||
![]() |
10e086594b | ||
![]() |
30ea77182d | ||
![]() |
e899d7d39a | ||
![]() |
3b2e780a20 | ||
![]() |
d443d89616 | ||
![]() |
c981ac45d3 | ||
![]() |
ceabca3a43 | ||
![]() |
99b6fcbc42 | ||
![]() |
dde79bf5d0 | ||
![]() |
ff3e957558 | ||
![]() |
1466c7a927 | ||
![]() |
1a7c18d209 | ||
![]() |
2c8ed7c494 | ||
![]() |
0526b4c5e0 | ||
![]() |
c2f4e6bc48 | ||
![]() |
0cc5fcb33a | ||
![]() |
e461a9564f | ||
![]() |
183879d51c | ||
![]() |
cddae05b53 | ||
![]() |
67d831d898 | ||
![]() |
d726323220 |
@@ -136,7 +136,6 @@ The `hinode`, `docs`, and `template` codebase is released under the [MIT license
|
|||||||
[npm]: https://www.npmjs.com
|
[npm]: https://www.npmjs.com
|
||||||
[observatory]: https://observatory.mozilla.org/analyze/demo.gethinode.com
|
[observatory]: https://observatory.mozilla.org/analyze/demo.gethinode.com
|
||||||
[pagespeed]: https://pagespeed.web.dev/report?url=https%3A%2F%2Fdemo.gethinode.com%2F
|
[pagespeed]: https://pagespeed.web.dev/report?url=https%3A%2F%2Fdemo.gethinode.com%2F
|
||||||
[utterances]: https://utteranc.es
|
|
||||||
|
|
||||||
<!-- MARKDOWN MAINTAINED LINKS -->
|
<!-- MARKDOWN MAINTAINED LINKS -->
|
||||||
[contribute]: https://gethinode.com/contribute
|
[contribute]: https://gethinode.com/contribute
|
||||||
|
@@ -24,7 +24,6 @@
|
|||||||
@import "components/carousel.scss";
|
@import "components/carousel.scss";
|
||||||
@import "components/clipboard.scss";
|
@import "components/clipboard.scss";
|
||||||
@import "components/command.scss";
|
@import "components/command.scss";
|
||||||
@import "components/comments.scss";
|
|
||||||
@import "components/feature.scss";
|
@import "components/feature.scss";
|
||||||
@import "components/footer.scss";
|
@import "components/footer.scss";
|
||||||
@import "components/nav.scss";
|
@import "components/nav.scss";
|
||||||
|
@@ -22,7 +22,6 @@
|
|||||||
@import "components/carousel.scss";
|
@import "components/carousel.scss";
|
||||||
@import "components/clipboard.scss";
|
@import "components/clipboard.scss";
|
||||||
@import "components/command.scss";
|
@import "components/command.scss";
|
||||||
@import "components/comments.scss";
|
|
||||||
@import "components/feature.scss";
|
@import "components/feature.scss";
|
||||||
@import "components/footer.scss";
|
@import "components/footer.scss";
|
||||||
@import "components/nav.scss";
|
@import "components/nav.scss";
|
||||||
|
@@ -1,20 +0,0 @@
|
|||||||
.utterances {
|
|
||||||
position: relative;
|
|
||||||
box-sizing: border-box;
|
|
||||||
width: 100%;
|
|
||||||
max-width: 760px;
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.utterances-frame {
|
|
||||||
color-scheme: light;
|
|
||||||
position: absolute;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
width: 1px;
|
|
||||||
min-width: 100%;
|
|
||||||
max-width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
border: 0;
|
|
||||||
}
|
|
@@ -89,6 +89,8 @@ home = ["HTML", "RSS", "REDIR"]
|
|||||||
keepVarNames = true
|
keepVarNames = true
|
||||||
precision = 0
|
precision = 0
|
||||||
version = 2022
|
version = 2022
|
||||||
|
[minify.tdewolff.html]
|
||||||
|
keepWhitespace = true
|
||||||
|
|
||||||
[module]
|
[module]
|
||||||
[module.hugoVersion]
|
[module.hugoVersion]
|
||||||
|
@@ -189,14 +189,5 @@
|
|||||||
images = ["logo.png"]
|
images = ["logo.png"]
|
||||||
locale = "en_US"
|
locale = "en_US"
|
||||||
|
|
||||||
[comments]
|
|
||||||
enabled = false
|
|
||||||
repo = "" # Replace with your repository.
|
|
||||||
#issueTerm = "pathname" # pathname, url, title, og:title
|
|
||||||
#label = "comment"
|
|
||||||
# By default, light and dark mode correspond to github-light and github-dark, respectively.
|
|
||||||
# Optional values: github-light, github-dark, preferred-color-scheme, github-dark-orange, icy-dark, dark-blue, photon-dark.
|
|
||||||
#theme = ""
|
|
||||||
|
|
||||||
[links]
|
[links]
|
||||||
hinode = "https://gethinode.com"
|
hinode = "https://gethinode.com"
|
||||||
|
@@ -7,15 +7,14 @@ for = '/**'
|
|||||||
X-XSS-Protection = "1; mode=block"
|
X-XSS-Protection = "1; mode=block"
|
||||||
Content-Security-Policy = """\
|
Content-Security-Policy = """\
|
||||||
default-src 'self'; \
|
default-src 'self'; \
|
||||||
script-src 'self' \
|
script-src 'self' https://*.google-analytics.com https://*.googletagmanager.com; \
|
||||||
https://utteranc.es/client.js https://*.google-analytics.com https://*.googletagmanager.com; \
|
style-src 'self' https://fonts.googleapis.com https://www.youtube.com; \
|
||||||
style-src 'self' https://utteranc.es https://fonts.googleapis.com https://www.youtube.com; \
|
|
||||||
object-src 'none'; \
|
object-src 'none'; \
|
||||||
base-uri 'self'; \
|
base-uri 'self'; \
|
||||||
connect-src 'self'
|
connect-src 'self'
|
||||||
https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; \
|
https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; \
|
||||||
font-src 'self' https://fonts.gstatic.com; \
|
font-src 'self' https://fonts.gstatic.com; \
|
||||||
frame-src 'self' https://utteranc.es https://www.youtube-nocookie.com https://www.youtube.com; \
|
frame-src 'self' https://www.youtube-nocookie.com https://www.youtube.com; \
|
||||||
img-src 'self' data: https://i.vimeocdn.com https://i.ytimg.com https://*.google-analytics.com https://*.googletagmanager.com https://tile.openstreetmap.org; \
|
img-src 'self' data: https://i.vimeocdn.com https://i.ytimg.com https://*.google-analytics.com https://*.googletagmanager.com https://tile.openstreetmap.org; \
|
||||||
manifest-src 'self'; \
|
manifest-src 'self'; \
|
||||||
media-src 'self' \
|
media-src 'self' \
|
||||||
|
@@ -1,9 +1,11 @@
|
|||||||
comment: >-
|
comment: >-
|
||||||
Creates an HTML element that shows the long form of an abbrevitation. The abbreviation data is centrally stored in a
|
Creates an HTML element that shows the long form of an abbrevitation. The
|
||||||
data file. By default, the shortcode uses `abbr.yaml` with translation support.
|
abbreviation data is centrally stored in a data file. By default, the
|
||||||
|
shortcode uses `abbr.yaml` with translation support.
|
||||||
|
|
||||||
The data file is expected to store key-value pairs, where `id` is the lower-case abbrevation and `long` its long
|
The data file is expected to store key-value pairs, where `id` is the
|
||||||
form. The following example illustrates this using YML:
|
lower-case abbrevation and `long` its long form. The following example
|
||||||
|
illustrates this using YML:
|
||||||
|
|
||||||
- id: css
|
- id: css
|
||||||
long: `Cascading Style Sheets`
|
long: `Cascading Style Sheets`
|
||||||
|
@@ -1,22 +1,18 @@
|
|||||||
comment: >-
|
comment: Use the badge shortcode to enrich headings.
|
||||||
Use the badge shortcode to enrich headings.
|
|
||||||
arguments:
|
arguments:
|
||||||
title:
|
title:
|
||||||
type: string
|
type: string
|
||||||
optional: false
|
optional: false
|
||||||
comment: >-
|
comment: Title of the badge.
|
||||||
Title of the badge.
|
|
||||||
class:
|
class:
|
||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
comment: >-
|
comment: Class attribute of the badge element.
|
||||||
Class attribute of the badge element.
|
|
||||||
color:
|
color:
|
||||||
type: select
|
type: select
|
||||||
optional: true
|
optional: true
|
||||||
default: secondary
|
default: secondary
|
||||||
comment: >-
|
comment: Theme color of the element.
|
||||||
Theme color of the element.
|
|
||||||
options:
|
options:
|
||||||
values:
|
values:
|
||||||
- primary
|
- primary
|
||||||
|
@@ -6,19 +6,16 @@ arguments:
|
|||||||
- string
|
- string
|
||||||
- template.HTML
|
- template.HTML
|
||||||
optional: true
|
optional: true
|
||||||
comment: >-
|
comment: Title of the button, required unless icon is set.
|
||||||
Title of the button, required unless icon is set.
|
|
||||||
class:
|
class:
|
||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
comment: >-
|
comment: Class attribute of the button element, e.g. `p-5`.
|
||||||
Class attribute of the button element, e.g. `p-5`.
|
|
||||||
color:
|
color:
|
||||||
type: select
|
type: select
|
||||||
optional: true
|
optional: true
|
||||||
default: primary
|
default: primary
|
||||||
comment: >-
|
comment: Theme color of the element.
|
||||||
Theme color of the element.
|
|
||||||
options:
|
options:
|
||||||
values:
|
values:
|
||||||
- primary
|
- primary
|
||||||
|
55
data/structures/list.yml
Normal file
55
data/structures/list.yml
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
comment: >-
|
||||||
|
Displays a list of items with a thumbnail alternating between left and right
|
||||||
|
alignment.
|
||||||
|
arguments:
|
||||||
|
page:
|
||||||
|
type:
|
||||||
|
- '*hugolib.pageState'
|
||||||
|
- '*hugolib.pageForShortcode'
|
||||||
|
optional: false
|
||||||
|
comment: Required context of the current page.
|
||||||
|
group: partial
|
||||||
|
list:
|
||||||
|
type:
|
||||||
|
- 'page.Pages'
|
||||||
|
- 'resource.Resources'
|
||||||
|
optional: false
|
||||||
|
comment: Required array of pages.
|
||||||
|
group: partial
|
||||||
|
title:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Optional title of the card group.
|
||||||
|
loading:
|
||||||
|
type: select
|
||||||
|
default: eager
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Loading behavior of the image. The loading of lazily loaded images is
|
||||||
|
deferred until the image is within scrolling range of the viewport. This
|
||||||
|
should reduce the initial loading time of the website. It is recommended
|
||||||
|
to lazily load only those images that are below the pagefold.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- eager
|
||||||
|
- lazy
|
||||||
|
class:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Class attribute of the tab element, e.g. “w-50”.
|
||||||
|
color:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Theme color of the element.
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- primary
|
||||||
|
- secondary
|
||||||
|
- success
|
||||||
|
- danger
|
||||||
|
- warning
|
||||||
|
- info
|
||||||
|
- light
|
||||||
|
- dark
|
||||||
|
- body
|
34
data/structures/navbar-item.yml
Normal file
34
data/structures/navbar-item.yml
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
comment: >-
|
||||||
|
Defines an individual item of the navigation bar.
|
||||||
|
arguments:
|
||||||
|
page:
|
||||||
|
type:
|
||||||
|
- '*hugolib.pageState'
|
||||||
|
- '*hugolib.pageForShortcode'
|
||||||
|
optional: false
|
||||||
|
comment: Context of the current page.
|
||||||
|
group: partial
|
||||||
|
menu:
|
||||||
|
type: '*navigation.MenuEntry'
|
||||||
|
optional: false
|
||||||
|
comment: Menu data to use for the navbar item.
|
||||||
|
parent:
|
||||||
|
type: '*navigation.MenuEntry'
|
||||||
|
optional: true
|
||||||
|
comment: Parent of the current navbar item.
|
||||||
|
class:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Class attribute of the item.
|
||||||
|
cue:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Flag to indicate if an external link should show a visual cue, defaults
|
||||||
|
to the setting `main.externalLinks.cue` in the site's parameters.
|
||||||
|
tab:
|
||||||
|
type: bool
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Flag to indicate if an external link should open in a new tab, defaults
|
||||||
|
to setting `main.externalLinks.tab` in the site's parameters.
|
14
data/structures/page-alert.yml
Normal file
14
data/structures/page-alert.yml
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
comment: >-
|
||||||
|
Adds a dismissible alert message to the top of the page, above the main menu.
|
||||||
|
The alert uses the following scratch variables:
|
||||||
|
- pageAlertMsg
|
||||||
|
- pageAlertURL
|
||||||
|
- version
|
||||||
|
arguments:
|
||||||
|
page:
|
||||||
|
type:
|
||||||
|
- '*hugolib.pageState'
|
||||||
|
- '*hugolib.pageForShortcode'
|
||||||
|
optional: false
|
||||||
|
comment: Context of the current page.
|
||||||
|
group: partial
|
21
data/structures/pagination.yml
Normal file
21
data/structures/pagination.yml
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
comment: >-
|
||||||
|
Adds a pagination element to a page. This allows to split long lists across
|
||||||
|
multiple pages to ease navigation. Set 'paginate' in the site configuration to
|
||||||
|
define the maximum amount of items to display on a list page.
|
||||||
|
arguments:
|
||||||
|
page:
|
||||||
|
type:
|
||||||
|
- '*hugolib.pageState'
|
||||||
|
- '*hugolib.pageForShortcode'
|
||||||
|
optional: false
|
||||||
|
comment: Context of the current page.
|
||||||
|
group: partial
|
||||||
|
format:
|
||||||
|
type: select
|
||||||
|
optional: true
|
||||||
|
default: default
|
||||||
|
comment:
|
||||||
|
options:
|
||||||
|
values:
|
||||||
|
- default
|
||||||
|
- terse
|
16
data/structures/section-header.yml
Normal file
16
data/structures/section-header.yml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
comment: Renders the header of a page section.
|
||||||
|
arguments:
|
||||||
|
title:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Title of the section.
|
||||||
|
description:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: Section description.
|
||||||
|
content:
|
||||||
|
type:
|
||||||
|
- string
|
||||||
|
- template.HTML
|
||||||
|
optional: true
|
||||||
|
comment: Section content.
|
9
data/structures/section-menu.yml
Normal file
9
data/structures/section-menu.yml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
comment: Renders the section menu of a single page.
|
||||||
|
arguments:
|
||||||
|
page:
|
||||||
|
type:
|
||||||
|
- '*hugolib.pageState'
|
||||||
|
- '*hugolib.pageForShortcode'
|
||||||
|
optional: false
|
||||||
|
comment: Context of the current page.
|
||||||
|
group: partial
|
9
data/structures/sharing.yml
Normal file
9
data/structures/sharing.yml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
comment: Renders the social sharing buttons for a single page.
|
||||||
|
arguments:
|
||||||
|
page:
|
||||||
|
type:
|
||||||
|
- '*hugolib.pageState'
|
||||||
|
- '*hugolib.pageForShortcode'
|
||||||
|
optional: false
|
||||||
|
comment: Context of the current page.
|
||||||
|
group: partial
|
24
data/structures/sidebar.yml
Normal file
24
data/structures/sidebar.yml
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
comment: >-
|
||||||
|
Renders the sidebar navigation of a single page. It is intended to be used as
|
||||||
|
companion to the main navigation and is typically used in content-heavy
|
||||||
|
sections, such as documentation pages. On smaller screens, the sidebar is
|
||||||
|
replaced with an offcanvas element. In this case, the main navigation receives
|
||||||
|
an additional toggler on the left of the screen.
|
||||||
|
arguments:
|
||||||
|
page:
|
||||||
|
type:
|
||||||
|
- '*hugolib.pageState'
|
||||||
|
- '*hugolib.pageForShortcode'
|
||||||
|
optional: false
|
||||||
|
comment: Context of the current page.
|
||||||
|
group: partial
|
||||||
|
menu:
|
||||||
|
type: '[]interface {}'
|
||||||
|
optional: true
|
||||||
|
comment: Path of the sidebar navigation menu.
|
||||||
|
version:
|
||||||
|
type: string
|
||||||
|
optional: true
|
||||||
|
comment: >-
|
||||||
|
Version of the sidebar navigation, used to define the base URL of
|
||||||
|
generated links, together with the page's section.
|
@@ -5,7 +5,8 @@ arguments:
|
|||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
comment: >-
|
comment: >-
|
||||||
ID of the toast message, defaults to `toast-message-n` with sequence n.
|
Unique identifier of the toast message, defaults to `toast-message-n`
|
||||||
|
with sequence n.
|
||||||
header:
|
header:
|
||||||
type: string
|
type: string
|
||||||
optional: true
|
optional: true
|
||||||
|
9
data/structures/toc.yml
Normal file
9
data/structures/toc.yml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
comment: Renders the table of contents of a single page.
|
||||||
|
arguments:
|
||||||
|
page:
|
||||||
|
type:
|
||||||
|
- '*hugolib.pageState'
|
||||||
|
- '*hugolib.pageForShortcode'
|
||||||
|
optional: false
|
||||||
|
comment: Context of the current page.
|
||||||
|
group: partial
|
@@ -79,6 +79,8 @@ home = ["HTML", "RSS", "REDIR"]
|
|||||||
keepVarNames = true
|
keepVarNames = true
|
||||||
precision = 0
|
precision = 0
|
||||||
version = 2022
|
version = 2022
|
||||||
|
[minify.tdewolff.html]
|
||||||
|
keepWhitespace = true
|
||||||
|
|
||||||
[module]
|
[module]
|
||||||
replacements = 'github.com/gethinode/hinode -> ../..'
|
replacements = 'github.com/gethinode/hinode -> ../..'
|
||||||
|
@@ -181,15 +181,6 @@
|
|||||||
images = ["logo.png"]
|
images = ["logo.png"]
|
||||||
locale = "en_US"
|
locale = "en_US"
|
||||||
|
|
||||||
[comments]
|
|
||||||
enabled = false
|
|
||||||
repo = "" # Replace with your repository.
|
|
||||||
#issueTerm = "pathname" # pathname, url, title, og:title
|
|
||||||
#label = "comment"
|
|
||||||
# By default, light and dark mode correspond to github-light and github-dark, respectively.
|
|
||||||
# Optional values: github-light, github-dark, preferred-color-scheme, github-dark-orange, icy-dark, dark-blue, photon-dark.
|
|
||||||
#theme = ""
|
|
||||||
|
|
||||||
[links]
|
[links]
|
||||||
bs_badge_heading = "https://getbootstrap.com/docs/5.3/components/badge/#headings"
|
bs_badge_heading = "https://getbootstrap.com/docs/5.3/components/badge/#headings"
|
||||||
hinode_docs = "https://gethinode.com"
|
hinode_docs = "https://gethinode.com"
|
||||||
@@ -197,5 +188,4 @@
|
|||||||
mozilla_image = "https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images"
|
mozilla_image = "https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images"
|
||||||
observatory = "https://observatory.mozilla.org/analyze/demo.gethinode.com"
|
observatory = "https://observatory.mozilla.org/analyze/demo.gethinode.com"
|
||||||
pagespeed = "https://pagespeed.web.dev/report?url=https%3A%2F%2Fdemo.gethinode.com%2F"
|
pagespeed = "https://pagespeed.web.dev/report?url=https%3A%2F%2Fdemo.gethinode.com%2F"
|
||||||
utterances = "https://utteranc.es"
|
|
||||||
hinode = "https://gethinode.com"
|
hinode = "https://gethinode.com"
|
||||||
|
@@ -7,15 +7,14 @@ for = '/**'
|
|||||||
X-XSS-Protection = "1; mode=block"
|
X-XSS-Protection = "1; mode=block"
|
||||||
Content-Security-Policy = """\
|
Content-Security-Policy = """\
|
||||||
default-src 'self'; \
|
default-src 'self'; \
|
||||||
script-src 'self' \
|
script-src 'self' https://*.google-analytics.com https://*.googletagmanager.com; \
|
||||||
https://utteranc.es/client.js https://*.google-analytics.com https://*.googletagmanager.com; \
|
style-src 'self' https://fonts.googleapis.com https://www.youtube.com; \
|
||||||
style-src 'self' https://utteranc.es https://fonts.googleapis.com https://www.youtube.com; \
|
|
||||||
object-src 'none'; \
|
object-src 'none'; \
|
||||||
base-uri 'self'; \
|
base-uri 'self'; \
|
||||||
connect-src 'self'
|
connect-src 'self'
|
||||||
https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; \
|
https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; \
|
||||||
font-src 'self' https://fonts.gstatic.com; \
|
font-src 'self' https://fonts.gstatic.com; \
|
||||||
frame-src 'self' https://utteranc.es https://www.youtube-nocookie.com https://www.youtube.com; \
|
frame-src 'self' https://www.youtube-nocookie.com https://www.youtube.com; \
|
||||||
img-src 'self' data: https://i.vimeocdn.com https://i.ytimg.com https://*.google-analytics.com https://*.googletagmanager.com https://tile.openstreetmap.org; \
|
img-src 'self' data: https://i.vimeocdn.com https://i.ytimg.com https://*.google-analytics.com https://*.googletagmanager.com https://tile.openstreetmap.org; \
|
||||||
manifest-src 'self'; \
|
manifest-src 'self'; \
|
||||||
media-src 'self' \
|
media-src 'self' \
|
||||||
|
@@ -26,7 +26,6 @@ Additional features include:
|
|||||||
* Support for multiple languages
|
* Support for multiple languages
|
||||||
* Reusable Bootstrap components through configurable shortcodes and partials
|
* Reusable Bootstrap components through configurable shortcodes and partials
|
||||||
* Versioned documentation, including sidebar navigation and version switcher
|
* Versioned documentation, including sidebar navigation and version switcher
|
||||||
* Embedded comments through light-weight integration with GitHub via [utteranc.es]({{< param "links.utterances" >}})
|
|
||||||
* Reponsive image handling for multiple screen sizes and resolutions
|
* Reponsive image handling for multiple screen sizes and resolutions
|
||||||
* Optimized search results, scoring 100 points for SEO on [PageSpeed Insights]({{< param "links.pagespeed" >}})
|
* Optimized search results, scoring 100 points for SEO on [PageSpeed Insights]({{< param "links.pagespeed" >}})
|
||||||
* Secure by default, scoring A+ on [Mozilla Observatory test]({{< param "links.observatory" >}})
|
* Secure by default, scoring A+ on [Mozilla Observatory test]({{< param "links.observatory" >}})
|
||||||
|
@@ -27,7 +27,6 @@ Les fonctionnalités supplémentaires incluent:
|
|||||||
- Prise en charge de plusieurs langues
|
- Prise en charge de plusieurs langues
|
||||||
- Composants bootstrap réutilisables à travers des codes et partiels configurables
|
- Composants bootstrap réutilisables à travers des codes et partiels configurables
|
||||||
- Documentation versionnée, incluant une navigation latérale et un sélecteur de version.
|
- Documentation versionnée, incluant une navigation latérale et un sélecteur de version.
|
||||||
- Commentaires intégrés via une intégration légère avec GitHub via [utteranc.es]({{< param "links.utterances" >}})
|
|
||||||
- Gestion d'images adaptatives pour plusieurs tailles d'écran et résolutions.
|
- Gestion d'images adaptatives pour plusieurs tailles d'écran et résolutions.
|
||||||
- Résultats de recherche optimisés, obtenant un score de 100 points pour le référencement (SEO) sur [PageSpeed Insights]({{< param "links.pagespeed" >}}).
|
- Résultats de recherche optimisés, obtenant un score de 100 points pour le référencement (SEO) sur [PageSpeed Insights]({{< param "links.pagespeed" >}}).
|
||||||
- Sécurisé par défaut, obtenant un score A+ au test [Mozilla Observatory]({{< param "links.observatory" >}})
|
- Sécurisé par défaut, obtenant un score A+ au test [Mozilla Observatory]({{< param "links.observatory" >}})
|
||||||
|
@@ -28,7 +28,6 @@ Overige functies:
|
|||||||
* Ondersteuning voor meerdere talen
|
* Ondersteuning voor meerdere talen
|
||||||
* Herbruikbare Bootstrap componenten via shortcodes en partials
|
* Herbruikbare Bootstrap componenten via shortcodes en partials
|
||||||
* Versiebeheer van documentatiepagina's, inclusief secundaire navigatie en selectie van versies
|
* Versiebeheer van documentatiepagina's, inclusief secundaire navigatie en selectie van versies
|
||||||
* Integreren van commentaar via [utteranc.es]({{< param "links.utterances" >}})
|
|
||||||
* Optimalisering van foto's voor meerdere schermafmetingen en resoluties
|
* Optimalisering van foto's voor meerdere schermafmetingen en resoluties
|
||||||
* Optimale zoekresultaten, met 100 punten voor SEO volgens [PageSpeed Insights]({{< param "links.pagespeed" >}})
|
* Optimale zoekresultaten, met 100 punten voor SEO volgens [PageSpeed Insights]({{< param "links.pagespeed" >}})
|
||||||
* Veilige communicatie, met een score van A+ volgens [Mozilla Observatory]({{< param "links.observatory" >}})
|
* Veilige communicatie, met een score van A+ volgens [Mozilla Observatory]({{< param "links.observatory" >}})
|
||||||
|
2
go.mod
2
go.mod
@@ -5,7 +5,7 @@ go 1.19
|
|||||||
require (
|
require (
|
||||||
github.com/airbnb/lottie-web v5.12.2+incompatible // indirect
|
github.com/airbnb/lottie-web v5.12.2+incompatible // indirect
|
||||||
github.com/gethinode/mod-bootstrap v1.2.2 // indirect
|
github.com/gethinode/mod-bootstrap v1.2.2 // indirect
|
||||||
github.com/gethinode/mod-flexsearch v1.7.1 // indirect
|
github.com/gethinode/mod-flexsearch v1.8.0 // indirect
|
||||||
github.com/gethinode/mod-fontawesome v1.8.0 // indirect
|
github.com/gethinode/mod-fontawesome v1.8.0 // indirect
|
||||||
github.com/gethinode/mod-katex v1.0.5 // indirect
|
github.com/gethinode/mod-katex v1.0.5 // indirect
|
||||||
github.com/gethinode/mod-leaflet v0.4.0 // indirect
|
github.com/gethinode/mod-leaflet v0.4.0 // indirect
|
||||||
|
2
go.sum
2
go.sum
@@ -40,6 +40,8 @@ github.com/gethinode/mod-flexsearch v1.7.0 h1:VFTf6iUyT9b47jTDAxh8nVHU1eUBrdxlyk
|
|||||||
github.com/gethinode/mod-flexsearch v1.7.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
|
github.com/gethinode/mod-flexsearch v1.7.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
|
||||||
github.com/gethinode/mod-flexsearch v1.7.1 h1:f4rjKkhleDVzqwUmwP1xZdhjru5VQ9g0MRDz0G6oLyY=
|
github.com/gethinode/mod-flexsearch v1.7.1 h1:f4rjKkhleDVzqwUmwP1xZdhjru5VQ9g0MRDz0G6oLyY=
|
||||||
github.com/gethinode/mod-flexsearch v1.7.1/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
|
github.com/gethinode/mod-flexsearch v1.7.1/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
|
||||||
|
github.com/gethinode/mod-flexsearch v1.8.0 h1:rKu9ackmbGAD/CRJYUDUhy/3nDCEj0IgYDiL1bkwzDc=
|
||||||
|
github.com/gethinode/mod-flexsearch v1.8.0/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
|
||||||
github.com/gethinode/mod-fontawesome v1.0.2 h1:ZSK6D20/w4y5GnfYfTBB58uHD0ChIfkpKfRGwioS9rg=
|
github.com/gethinode/mod-fontawesome v1.0.2 h1:ZSK6D20/w4y5GnfYfTBB58uHD0ChIfkpKfRGwioS9rg=
|
||||||
github.com/gethinode/mod-fontawesome v1.0.2/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
|
github.com/gethinode/mod-fontawesome v1.0.2/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
|
||||||
github.com/gethinode/mod-fontawesome v1.1.0 h1:rsDzUI+3ZlS/do2ff3ne8/z3KwHeysmuA+WsXlumXXk=
|
github.com/gethinode/mod-fontawesome v1.1.0 h1:rsDzUI+3ZlS/do2ff3ne8/z3KwHeysmuA+WsXlumXXk=
|
||||||
|
@@ -9,7 +9,7 @@
|
|||||||
{{ with .Title }}<p id="{{ anchorize . }}" class="display-4 mt-5{{ if and $.IsHome site.Params.home.centerHeadline }} text-center{{ end }}">{{ . }}</p>{{ end }}
|
{{ with .Title }}<p id="{{ anchorize . }}" class="display-4 mt-5{{ if and $.IsHome site.Params.home.centerHeadline }} text-center{{ end }}">{{ . }}</p>{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ if (.Params.menu) }}
|
{{ if (.Params.menu) }}
|
||||||
{{- partial "assets/section-menu.html" . -}}
|
{{- partial "assets/section-menu.html" (dict "page" .) -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- $loading := "" -}}
|
{{- $loading := "" -}}
|
||||||
{{- if or (eq $layout "featured") .IsHome -}}
|
{{- if or (eq $layout "featured") .IsHome -}}
|
||||||
|
@@ -5,15 +5,11 @@
|
|||||||
{{ .Render "single/header" }}
|
{{ .Render "single/header" }}
|
||||||
|
|
||||||
{{- if and .Site.Params.navigation.toc .Params.includeToc | default true -}}
|
{{- if and .Site.Params.navigation.toc .Params.includeToc | default true -}}
|
||||||
<div class="d-{{ $breakpoint.current }}-none pb-5">{{ partial "assets/toc-dropdown.html" . }}</div>
|
<div class="d-{{ $breakpoint.current }}-none pb-5">{{ partial "assets/toc-dropdown.html" (dict "page" .) }}</div>
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{ .Render "single/body" }}
|
{{ .Render "single/body" }}
|
||||||
|
|
||||||
{{ .Render "single/footer" }}
|
{{ .Render "single/footer" }}
|
||||||
{{- if and .Site.Params.comments.enabled .Params.showComments | default true -}}
|
|
||||||
<hr>
|
|
||||||
{{ partial "assets/comments.html" . }}
|
|
||||||
{{ end -}}
|
|
||||||
{{ end -}}
|
{{ end -}}
|
||||||
|
|
||||||
{{ define "main" -}}
|
{{ define "main" -}}
|
||||||
|
@@ -48,5 +48,5 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{ partial "assets/sharing.html" . }}
|
{{ partial "assets/sharing.html" (dict "page" .) }}
|
||||||
<p class="lead mb-5 mt-3">{{ .Description }}</p>
|
<p class="lead mb-5 mt-3">{{ .Description }}</p>
|
||||||
|
@@ -37,6 +37,6 @@
|
|||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ if $toc }}
|
{{ if $toc }}
|
||||||
{{ partial "assets/toc.html" (dict "page" . "download" $download) }}
|
{{ partial "assets/toc.html" (dict "page" .) }}
|
||||||
{{ end -}}
|
{{ end -}}
|
||||||
</div>
|
</div>
|
||||||
|
@@ -1,3 +1,3 @@
|
|||||||
{{ with .Title }}<p class="display-4 mt-5">{{ . }}</p>{{ end }}
|
{{ with .Title }}<p class="display-4 mt-5">{{ . }}</p>{{ end }}
|
||||||
{{ partial "assets/sharing.html" . }}
|
{{ partial "assets/sharing.html" (dict "page" .) }}
|
||||||
<p class="lead mb-5">{{ .Description }}</p>
|
<p class="lead mb-5">{{ .Description }}</p>
|
||||||
|
@@ -1,3 +1,3 @@
|
|||||||
{{ with .Title }}<p class="display-4 mt-5">{{ . }}</p>{{ end }}
|
{{ with .Title }}<p class="display-4 mt-5">{{ . }}</p>{{ end }}
|
||||||
{{ partial "assets/sharing.html" . }}
|
{{ partial "assets/sharing.html" (dict "page" .) }}
|
||||||
<p class="lead mb-5">{{ .Description }}</p>
|
<p class="lead mb-5">{{ .Description }}</p>
|
||||||
|
@@ -85,7 +85,6 @@
|
|||||||
"class" (printf "h-100 %s" $class)
|
"class" (printf "h-100 %s" $class)
|
||||||
"color" $color
|
"color" $color
|
||||||
"footer" $footer
|
"footer" $footer
|
||||||
"gutter" $gutter
|
|
||||||
"header" $header
|
"header" $header
|
||||||
"loading" $loading
|
"loading" $loading
|
||||||
"orientation" $orientation
|
"orientation" $orientation
|
||||||
|
@@ -1,12 +0,0 @@
|
|||||||
{{- $params := .Site.Params.comments -}}
|
|
||||||
{{- with $params -}}
|
|
||||||
<h2>{{ T "comments" }}</h2>
|
|
||||||
<script src="https://utteranc.es/client.js"
|
|
||||||
repo="{{ $params.repo }}"
|
|
||||||
issue-term="{{ default "pathname" $params.issueTerm }}"
|
|
||||||
label="{{ default "comment" $params.label }}"
|
|
||||||
theme="{{ default "github-light" $params.theme }}"
|
|
||||||
crossorigin="anonymous"
|
|
||||||
async>
|
|
||||||
</script>
|
|
||||||
{{- end -}}
|
|
@@ -1,17 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
Displays a list items with a thumbnail alternating between left and right alignment. The partial supports the
|
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||||
following arguments:
|
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||||
"page" Required context of the current page.
|
Visit gethinode.com/license for more details.
|
||||||
"list" Required array of pages.
|
|
||||||
"title" Optional title of the card group.
|
|
||||||
"type" Optional type of the tab group, either "tabs", "pills", or "underline".
|
|
||||||
"vertical" Optional flag to show vertical tabs instead of horizontal tabs (default).
|
|
||||||
"class": Optional class attribute of the tab group, e.g. “nav-fill”.
|
|
||||||
|
|
||||||
In addition, the following arguments are passed to the individual tabs.
|
|
||||||
"class" Optional class attribute of the tab element, e.g. “w-50”.
|
|
||||||
"color": Optional theme color of the tab, either "primary", "secondary", "success", "danger",
|
|
||||||
"warning", "info", "light", "dark", or "body". By default, no color is specified.
|
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<!-- Inline partial to render the list item's content -->
|
<!-- Inline partial to render the list item's content -->
|
||||||
@@ -33,67 +23,63 @@
|
|||||||
{{- partial "assets/image.html" (dict "url" $thumbnail "title" $title "wrapper" $style "mode" $mode "loading" $loading) -}}
|
{{- partial "assets/image.html" (dict "url" $thumbnail "title" $title "wrapper" $style "mode" $mode "loading" $loading) -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
|
{{ $error := false }}
|
||||||
|
|
||||||
|
<!-- Validate arguments -->
|
||||||
|
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "list" "args" . "group" "partial") }}
|
||||||
|
{{- errorf "partial [assets/list.html] - Invalid arguments" -}}
|
||||||
|
{{ $error = true }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<!-- Initialize arguments -->
|
||||||
{{- $page := .page -}}
|
{{- $page := .page -}}
|
||||||
{{- if ne (printf "%T" $page) "*hugolib.pageState" -}}
|
{{- $list := .list -}}
|
||||||
{{- errorf "partial [assets/list.html] - Invalid value for param 'page'" -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- $supportedTypes := slice "page.Pages" "resource.Resources" -}}
|
|
||||||
{{ $list := .list }}
|
|
||||||
{{- if not (in $supportedTypes (printf "%T" $list)) -}}
|
|
||||||
{{- errorf "partial [assets/list.html] - Invalid value for param 'list'" -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- $title := .title -}}
|
{{- $title := .title -}}
|
||||||
{{- $class := .class -}}
|
{{- $class := .class -}}
|
||||||
{{- $color := .color -}}
|
{{- $color := .color -}}
|
||||||
|
{{- $loading := .loading -}}
|
||||||
|
|
||||||
{{ $vertical := false }}
|
{{ $vertical := false }}
|
||||||
{{ $type := "pills" }}
|
{{ $type := "pills" }}
|
||||||
|
|
||||||
{{- $loading := .loading -}}
|
<!-- Main code -->
|
||||||
{{- $validSettings := slice "lazy" "eager" -}}
|
{{ if not $error }}
|
||||||
{{- if $loading -}}
|
<div class="d-none d-md-block p-0">
|
||||||
{{ if not (in $validSettings $loading) -}}
|
{{- range $index, $item := $list -}}
|
||||||
{{- errorf "partial [assets/list.html] - Invalid value for param 'loading': %s" $loading -}}
|
{{- $odd := eq (mod $index 2) 1 -}}
|
||||||
{{ end -}}
|
{{- $thumbnail := (or (and (reflect.IsMap $item.Params.Thumbnail) $item.Params.Thumbnail.url) $item.Params.Thumbnail) -}}
|
||||||
{{- end -}}
|
<div class="container ratio-section d-flex flex-column">
|
||||||
|
<div class="row pt-5 pb-5 align-items-center flex-fill row-cols-2">
|
||||||
<div class="d-none d-md-block p-0">
|
<div class="col-6{{ if $odd }} order-last{{ end }}">
|
||||||
{{- range $index, $item := $list -}}
|
{{- $style := "reveal fade-bottom" -}}
|
||||||
{{- $odd := eq (mod $index 2) 1 -}}
|
{{ if $item.Params.tilted }}
|
||||||
{{- $thumbnail := (or (and (reflect.IsMap $item.Params.Thumbnail) $item.Params.Thumbnail.url) $item.Params.Thumbnail) -}}
|
{{- $style = "reveal fade-bottom-n5 rotate-n5 ps-3" -}}
|
||||||
<div class="container ratio-section d-flex flex-column">
|
{{- if $odd }}{{ $style = "reveal fade-bottom-5 rotate-5 pe-3" }}{{ end }}
|
||||||
<div class="row pt-5 pb-5 align-items-center flex-fill row-cols-2">
|
{{ end }}
|
||||||
<div class="col-6{{ if $odd }} order-last{{ end }}">
|
{{ partial "partials/list-img.html" (dict "thumbnail" $thumbnail "title" $item.Title "style" $style "mode" $item.Params.colormode "loading" $loading) }}
|
||||||
{{- $style := "reveal fade-bottom" -}}
|
</div>
|
||||||
{{ if $item.Params.tilted }}
|
<div class="col-6{{ if $odd }} order-first{{ end }} psw-lg-5 p-5">
|
||||||
{{- $style = "reveal fade-bottom-n5 rotate-n5 ps-3" -}}
|
{{ partial "partials/list-content.html" (dict "title" $item.Title "content" (or $item.Description $item.Content)) }}
|
||||||
{{- if $odd }}{{ $style = "reveal fade-bottom-5 rotate-5 pe-3" }}{{ end }}
|
</div>
|
||||||
{{ end }}
|
|
||||||
{{ partial "partials/list-img.html" (dict "thumbnail" $thumbnail "title" $item.Title "style" $style "mode" $item.Params.colormode "loading" $loading) }}
|
|
||||||
</div>
|
|
||||||
<div class="col-6{{ if $odd }} order-first{{ end }} psw-lg-5 p-5">
|
|
||||||
{{ partial "partials/list-content.html" (dict "title" $item.Title "content" (or $item.Description $item.Content)) }}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
{{ end -}}
|
||||||
{{ end -}}
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="d-md-none">
|
<div class="d-md-none">
|
||||||
{{- range $index, $item := $list -}}
|
{{- range $index, $item := $list -}}
|
||||||
{{- $odd := eq (mod $index 2) 1 -}}
|
{{- $odd := eq (mod $index 2) 1 -}}
|
||||||
{{- $thumbnail := (or (and (reflect.IsMap $item.Params.Thumbnail) $item.Params.Thumbnail.url) $item.Params.Thumbnail) -}}
|
{{- $thumbnail := (or (and (reflect.IsMap $item.Params.Thumbnail) $item.Params.Thumbnail.url) $item.Params.Thumbnail) -}}
|
||||||
<div class="container d-flex flex-column">
|
<div class="container d-flex flex-column">
|
||||||
<div class="row pt-5 pb-5 align-items-center flex-fill row-cols-2">
|
<div class="row pt-5 pb-5 align-items-center flex-fill row-cols-2">
|
||||||
<div class="col-12 text-center">
|
<div class="col-12 text-center">
|
||||||
{{ partial "partials/list-img.html" (dict "thumbnail" $thumbnail "title" $item.Title "mode" $item.Params.colormode "loading" $loading) }}
|
{{ partial "partials/list-img.html" (dict "thumbnail" $thumbnail "title" $item.Title "mode" $item.Params.colormode "loading" $loading) }}
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12 p-3">
|
<div class="col-12 p-3">
|
||||||
{{ partial "partials/list-content.html" (dict "title" $item.Title "content" (partial "utilities/GetDescription.html" $item)) }}
|
{{ partial "partials/list-content.html" (dict "title" $item.Title "content" (partial "utilities/GetDescription.html" $item)) }}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
{{ end -}}
|
||||||
{{ end -}}
|
</div>
|
||||||
</div>
|
{{ end }}
|
@@ -1,22 +1,37 @@
|
|||||||
|
<!--
|
||||||
|
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||||
|
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||||
|
Visit gethinode.com/license for more details.
|
||||||
|
-->
|
||||||
|
|
||||||
|
{{ $error := false }}
|
||||||
|
|
||||||
|
<!-- Validate arguments -->
|
||||||
|
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "navbar-item" "args" . "group" "partial") }}
|
||||||
|
{{- errorf "partial [assets/navbar-item.html] - Invalid arguments" -}}
|
||||||
|
{{ $error = true }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<!-- Initialize arguments -->
|
||||||
|
{{- $page := .page -}}
|
||||||
{{- $menu := .menu -}}
|
{{- $menu := .menu -}}
|
||||||
{{- $parent := .parent -}}
|
{{- $parent := .parent -}}
|
||||||
{{- $page := .page -}}
|
|
||||||
{{- $class := .class -}}
|
{{- $class := .class -}}
|
||||||
{{- $anchorClass := "" -}}
|
{{- $cue := .cue | default site.Params.main.externalLinks.cue -}}
|
||||||
|
{{- $tab := .tab | default site.Params.main.externalLinks.tab -}}
|
||||||
|
|
||||||
{{- $menuURL := (or $menu.PageRef $menu.URL) | relLangURL -}}
|
{{- $menuURL := (or $menu.PageRef $menu.URL) | relLangURL -}}
|
||||||
{{- $pageURL := $page.RelPermalink | relLangURL -}}
|
{{- $pageURL := $page.RelPermalink | relLangURL -}}
|
||||||
{{- $isActive := or (and (hasPrefix $pageURL $menuURL) (ne $menuURL ("/" | relLangURL))) (eq $pageURL $menuURL) -}}
|
{{- $isActive := or (and (hasPrefix $pageURL $menuURL) (ne $menuURL ("/" | relLangURL))) (eq $pageURL $menuURL) -}}
|
||||||
{{- $isAlias := $menu.Params.alias -}}
|
{{- $isAlias := $menu.Params.alias -}}
|
||||||
{{- $isIcon := $menu.Params.icon -}}
|
{{- $isIcon := $menu.Params.icon -}}
|
||||||
{{- $cue := .cue | default site.Params.main.externalLinks.cue -}}
|
|
||||||
{{- $tab := .tab | default site.Params.main.externalLinks.tab -}}
|
|
||||||
|
|
||||||
{{- $url := urls.Parse $menuURL -}}
|
{{- $url := urls.Parse $menuURL -}}
|
||||||
{{- $baseURL := urls.Parse $.Site.Params.Baseurl -}}
|
{{- $baseURL := urls.Parse $.Site.Params.Baseurl -}}
|
||||||
{{- $isExternal := ne $url.Host $baseURL.Host -}}
|
{{- $isExternal := ne $url.Host $baseURL.Host -}}
|
||||||
{{- $externalHref := "" }}
|
{{- $externalHref := "" }}
|
||||||
{{- $suffix := "" }}
|
{{- $suffix := "" }}
|
||||||
|
{{- $anchorClass := "" -}}
|
||||||
|
|
||||||
{{- if $isExternal }}
|
{{- if $isExternal }}
|
||||||
{{- if $tab -}}
|
{{- if $tab -}}
|
||||||
@@ -48,19 +63,22 @@
|
|||||||
{{- with $childNav }}{{ $params = printf "%s&child=%s" $params . }}{{ end -}}
|
{{- with $childNav }}{{ $params = printf "%s&child=%s" $params . }}{{ end -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
<a class="{{ $anchorClass }}{{ if $isActive }} active{{ end }}{{ with $class }} {{. }}{{ end }}"
|
<!-- Main code -->
|
||||||
{{ if $isIcon }}aria-label="{{ $menu.Name }}"{{ end }}
|
{{ if not $error }}
|
||||||
data-nav="main" data-nav-main="{{ $mainNav }}"{{ with $childNav }} data-nav-child="{{ . }}"{{ end }}
|
<a class="{{ $anchorClass }}{{ if $isActive }} active{{ end }}{{ with $class }} {{. }}{{ end }}"
|
||||||
href="{{ $menuURL }}{{ $params | safeHTMLAttr }}"{{ with $externalHref }} {{ . | safeHTMLAttr }}{{ end }} {{ $button | safeHTMLAttr }}>
|
{{ if $isIcon }}aria-label="{{ $menu.Name }}"{{ end }}
|
||||||
|
data-nav="main" data-nav-main="{{ $mainNav }}"{{ with $childNav }} data-nav-child="{{ . }}"{{ end }}
|
||||||
{{- with $menu.Pre }}
|
href="{{ $menuURL }}{{ $params | safeHTMLAttr }}"{{ with $externalHref }} {{ . | safeHTMLAttr }}{{ end }} {{ $button | safeHTMLAttr }}>
|
||||||
{{ if hasPrefix . "<i" }}
|
|
||||||
{{ . | safeHTML }}
|
{{- with $menu.Pre }}
|
||||||
{{ else }}
|
{{ if hasPrefix . "<i" }}
|
||||||
{{ partial "assets/icon.html" (dict "icon" (string .) )}}
|
{{ . | safeHTML }}
|
||||||
{{ end }}
|
{{ else }}
|
||||||
{{ end -}}
|
{{ partial "assets/icon.html" (dict "icon" (string .) )}}
|
||||||
<span {{ if $isActive }} class="active"{{ end }}>{{ if not $isIcon }}{{ $menu.Name }}{{ end }}</span>
|
{{ end }}
|
||||||
{{- with $menu.Post }}{{ . }}{{ end -}}
|
{{ end -}}
|
||||||
{{- if not $isIcon }} {{ $suffix }}{{ end -}}
|
<span {{ if $isActive }} class="active"{{ end }}>{{ if not $isIcon }}{{ $menu.Name }}{{ end }}</span>
|
||||||
</a>
|
{{- with $menu.Post }}{{ . }}{{ end -}}
|
||||||
|
{{- if not $isIcon }} {{ $suffix }}{{ end -}}
|
||||||
|
</a>
|
||||||
|
{{ end }}
|
@@ -1,13 +1,25 @@
|
|||||||
{{- $page := .page -}}
|
<!--
|
||||||
{{- if not $page -}}
|
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||||
{{- errorf "partial [assets/page-alert.html] - Missing value for param 'page'" -}}
|
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||||
{{- end -}}
|
Visit gethinode.com/license for more details.
|
||||||
|
-->
|
||||||
|
|
||||||
|
{{ $error := false }}
|
||||||
|
|
||||||
|
<!-- Validate arguments -->
|
||||||
|
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "page-alert" "args" . "group" "partial") }}
|
||||||
|
{{- errorf "partial [assets/page-alert.html] - Invalid arguments" -}}
|
||||||
|
{{ $error = true }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<!-- Initialize arguments -->
|
||||||
|
{{- $page := .page -}}
|
||||||
{{- $pageAlertMsg := $page.Scratch.Get "pageAlertMsg" -}}
|
{{- $pageAlertMsg := $page.Scratch.Get "pageAlertMsg" -}}
|
||||||
{{- $pageAlertURL := $page.Scratch.Get "pageAlertURL" -}}
|
{{- $pageAlertURL := $page.Scratch.Get "pageAlertURL" -}}
|
||||||
{{- $version := $page.Scratch.Get "version" -}}
|
{{- $version := $page.Scratch.Get "version" -}}
|
||||||
|
|
||||||
{{- if $pageAlertMsg -}}
|
<!-- Main code -->
|
||||||
|
{{- if and (not $error) $pageAlertMsg -}}
|
||||||
<div id="page-alert" class="alert alert-primary alert-no-decoration fade show d-flex align-items-center small m-0 py-1" data-page-alert-version="{{ $version }}">
|
<div id="page-alert" class="alert alert-primary alert-no-decoration fade show d-flex align-items-center small m-0 py-1" data-page-alert-version="{{ $version }}">
|
||||||
<a href="{{ with $pageAlertURL }}{{ . }}{{ else }}#!{{ end }}" class="text-decoration-none flex-grow-1 text-center">{{ $pageAlertMsg }}</a>
|
<a href="{{ with $pageAlertURL }}{{ . }}{{ else }}#!{{ end }}" class="text-decoration-none flex-grow-1 text-center">{{ $pageAlertMsg }}</a>
|
||||||
<button id="page-alert-btn-close" type="button" class="btn-close" data-bs-dismiss="alert" aria-label="{{ T "close" }}"></button>
|
<button id="page-alert-btn-close" type="button" class="btn-close" data-bs-dismiss="alert" aria-label="{{ T "close" }}"></button>
|
||||||
|
@@ -1,39 +1,19 @@
|
|||||||
<!-- Source: https://github.com/gohugoio/hugo/blob/master/tpl/tplimpl/embedded/templates/pagination.html -->
|
<!--
|
||||||
<!-- Modifications: centered pagination, replaced previous/next with text -->
|
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||||
|
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||||
|
Visit gethinode.com/license for more details.
|
||||||
|
|
||||||
{{- $validFormats := slice "default" "terse" }}
|
This source code adapts the original partial as maintained by the Hugo repository. It introduces the
|
||||||
|
following modifications:
|
||||||
|
- Centered the pagination element
|
||||||
|
- Standardized validation of partial arguments
|
||||||
|
- Replaced previous / next navigation with text
|
||||||
|
|
||||||
|
The original source code is available on:
|
||||||
|
https://github.com/gohugoio/hugo/blob/master/tpl/tplimpl/embedded/templates/pagination.html
|
||||||
|
Copyright 2022 The Hugo Authors. Licensed under the Apache License, Version 2.0.
|
||||||
|
-->
|
||||||
|
|
||||||
{{- $msg1 := "When passing a map to the internal pagination template, one of the elements must be named 'page', and it must be set to the context of the current page." }}
|
|
||||||
{{- $msg2 := "The 'format' specified in the map passed to the internal pagination template is invalid. Valid choices are: %s." }}
|
|
||||||
|
|
||||||
{{- $page := . }}
|
|
||||||
{{- $format := "default" }}
|
|
||||||
|
|
||||||
{{- if reflect.IsMap . }}
|
|
||||||
{{- with .page }}
|
|
||||||
{{- $page = . }}
|
|
||||||
{{- else }}
|
|
||||||
{{- errorf $msg1 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .format }}
|
|
||||||
{{- $format = lower . }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
{{- if in $validFormats $format }}
|
|
||||||
{{- if gt $page.Paginator.TotalPages 1 }}
|
|
||||||
<nav aria-label="{{ T "paginationNav" }}">
|
|
||||||
<ul class="pagination pagination-{{ $format }} justify-content-center">
|
|
||||||
{{- partial (printf "partials/inline/pagination/%s" $format) $page }}
|
|
||||||
</ul>
|
|
||||||
</nav>
|
|
||||||
{{- end }}
|
|
||||||
{{- else }}
|
|
||||||
{{- errorf $msg2 (delimit $validFormats ", ") }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/* Format: default
|
|
||||||
{{/* --------------------------------------------------------------------- */}}
|
|
||||||
{{- define "partials/inline/pagination/default" }}
|
{{- define "partials/inline/pagination/default" }}
|
||||||
{{- with .Paginator }}
|
{{- with .Paginator }}
|
||||||
{{- $currentPageNumber := .PageNumber }}
|
{{- $currentPageNumber := .PageNumber }}
|
||||||
@@ -103,8 +83,6 @@
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
{{/* Format: terse
|
|
||||||
{{/* --------------------------------------------------------------------- */}}
|
|
||||||
{{- define "partials/inline/pagination/terse" }}
|
{{- define "partials/inline/pagination/terse" }}
|
||||||
{{- with .Paginator }}
|
{{- with .Paginator }}
|
||||||
{{- $currentPageNumber := .PageNumber }}
|
{{- $currentPageNumber := .PageNumber }}
|
||||||
@@ -157,3 +135,24 @@
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
|
{{ $error := false }}
|
||||||
|
|
||||||
|
<!-- Validate arguments -->
|
||||||
|
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "pagination" "args" . "group" "partial") }}
|
||||||
|
{{- errorf "partial [assets/pagination.html] - Invalid arguments" -}}
|
||||||
|
{{ $error = true }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<!-- Initialize arguments -->
|
||||||
|
{{- $page := .page }}
|
||||||
|
{{- $format := .format | default "default" }}
|
||||||
|
|
||||||
|
<!-- Main code -->
|
||||||
|
{{- if and (not $error) (gt $page.Paginator.TotalPages 1) }}
|
||||||
|
<nav aria-label="{{ T "paginationNav" }}">
|
||||||
|
<ul class="pagination pagination-{{ $format }} justify-content-center">
|
||||||
|
{{- partial (printf "partials/inline/pagination/%s" $format) $page }}
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
{{- end }}
|
||||||
|
@@ -1,25 +1,23 @@
|
|||||||
|
<!--
|
||||||
|
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||||
|
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||||
|
Visit gethinode.com/license for more details.
|
||||||
|
-->
|
||||||
|
|
||||||
|
{{ $error := false }}
|
||||||
|
|
||||||
|
<!-- Validate arguments -->
|
||||||
|
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "section-header" "args" . "group" "partial") }}
|
||||||
|
{{- errorf "partial [assets/section-header.html] - Invalid arguments" -}}
|
||||||
|
{{ $error = true }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<!-- Initialize arguments -->
|
||||||
{{- $title := .title -}}
|
{{- $title := .title -}}
|
||||||
{{- $thumbnail := .thumbnail -}}
|
|
||||||
{{- $icon := .icon -}}
|
|
||||||
{{- $sectionHeader := .sectionHeader -}}
|
|
||||||
{{- $description := .description -}}
|
{{- $description := .description -}}
|
||||||
{{- $content := .content -}}
|
{{- $content := .content -}}
|
||||||
|
|
||||||
{{- define "partials/section-header-img.html" -}}
|
<!-- Main code -->
|
||||||
{{- $title := .title -}}
|
|
||||||
{{- $thumbnail := .thumbnail -}}
|
|
||||||
{{- $icon := .icon -}}
|
|
||||||
{{ $padding := 5 }}
|
|
||||||
|
|
||||||
{{- if $thumbnail -}}
|
|
||||||
{{- partial "assets/image.html" (dict "url" $thumbnail "ratio" "1x1" "wrapper" "h-100 card-img-wrap" "class" "rounded-start card-img-h100" "title" $title) -}}
|
|
||||||
{{- else if $icon -}}
|
|
||||||
<div class="text-secondary fw-bold">
|
|
||||||
{{- partial "assets/icon.html" (dict "icon" (printf "%s fa-10x" $icon)) -}}
|
|
||||||
</div>
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{ with $title }}<p id="{{ anchorize . }}" class="display-4 py-5{{ if and page.IsHome site.Params.home.centerHeadline }} text-center{{ end }}">{{ . }}</p>{{ end }}
|
{{ with $title }}<p id="{{ anchorize . }}" class="display-4 py-5{{ if and page.IsHome site.Params.home.centerHeadline }} text-center{{ end }}">{{ . }}</p>{{ end }}
|
||||||
{{ with $description }} <p class="lead mb-5">{{ . }}</p>{{ end }}
|
{{ with $description }} <p class="lead mb-5">{{ . }}</p>{{ end }}
|
||||||
{{ $content }}
|
{{ $content }}
|
||||||
|
@@ -130,31 +130,14 @@
|
|||||||
{{- $params := (dict
|
{{- $params := (dict
|
||||||
"page" $page
|
"page" $page
|
||||||
"list" $list
|
"list" $list
|
||||||
"title" $title
|
|
||||||
"icon" $icon
|
|
||||||
"thumbnail" $thumbnail
|
|
||||||
"ratio" $ratio
|
|
||||||
"sectionHeader" $sectionHeader
|
|
||||||
"description" $description
|
|
||||||
"content" $content
|
|
||||||
"class" $style
|
"class" $style
|
||||||
"color" $color
|
|
||||||
"loading" $loading
|
|
||||||
)
|
)
|
||||||
-}}
|
-}}
|
||||||
{{- $partial := "" -}}
|
{{- $partial := "" -}}
|
||||||
|
|
||||||
<div class="container-fluid {{ with $background }} bg-{{ . }}{{ end }} p-0">
|
<div class="container-fluid {{ with $background }} bg-{{ . }}{{ end }} p-0">
|
||||||
<div class="container-xxl {{ $wrapper }}">
|
<div class="container-xxl {{ $wrapper }}">
|
||||||
{{- partial "assets/section-header.html" $params -}}
|
{{- partial "assets/section-header.html" (dict "title" $title "description" $description "content" $content) -}}
|
||||||
|
|
||||||
{{- $params := (dict
|
|
||||||
"page" $page
|
|
||||||
"list" $list
|
|
||||||
"class" $style
|
|
||||||
)
|
|
||||||
-}}
|
|
||||||
|
|
||||||
{{ if eq $layout "card" }}
|
{{ if eq $layout "card" }}
|
||||||
{{- $partial = "assets/card-group.html" -}}
|
{{- $partial = "assets/card-group.html" -}}
|
||||||
{{- $params = merge $params (dict
|
{{- $params = merge $params (dict
|
||||||
@@ -189,13 +172,8 @@
|
|||||||
{{- $partial = "assets/list.html" -}}
|
{{- $partial = "assets/list.html" -}}
|
||||||
{{- $params = merge $params (dict
|
{{- $params = merge $params (dict
|
||||||
"title" $title
|
"title" $title
|
||||||
"icon" $icon
|
|
||||||
"thumbnail" $thumbnail
|
|
||||||
"ratio" $ratio
|
|
||||||
"description" $description
|
|
||||||
"color" $color
|
"color" $color
|
||||||
"loading" $loading
|
"loading" $loading
|
||||||
"layout" $layout
|
|
||||||
)
|
)
|
||||||
-}}
|
-}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
@@ -1,10 +1,26 @@
|
|||||||
{{- $page := . -}}
|
<!--
|
||||||
|
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||||
|
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||||
|
Visit gethinode.com/license for more details.
|
||||||
|
-->
|
||||||
|
|
||||||
|
{{ $error := false }}
|
||||||
|
|
||||||
|
<!-- Validate arguments -->
|
||||||
|
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "section-menu" "args" . "group" "partial") }}
|
||||||
|
{{- errorf "partial [assets/section-menu.html] - Invalid arguments" -}}
|
||||||
|
{{ $error = true }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<!-- Initialize arguments -->
|
||||||
|
{{- $page := .page -}}
|
||||||
{{ $items := $page.Parent.Sections }}
|
{{ $items := $page.Parent.Sections }}
|
||||||
{{ if not $page.Parent.Section }}
|
{{ if not $page.Parent.Section }}
|
||||||
{{ $items = $page.Sections }}
|
{{ $items = $page.Sections }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{- if gt (len $items) 0 }}
|
<!-- Main code -->
|
||||||
|
{{- if and (not $error) (gt (len $items) 0) }}
|
||||||
<div class="d-grid gap-2 mx-auto d-md-none">
|
<div class="d-grid gap-2 mx-auto d-md-none">
|
||||||
{{ partial "assets/button.html" (dict
|
{{ partial "assets/button.html" (dict
|
||||||
"title" (T "sectionMenu")
|
"title" (T "sectionMenu")
|
||||||
|
@@ -1,9 +1,27 @@
|
|||||||
{{- if .Site.Params.sharing.enabled -}}
|
<!--
|
||||||
|
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||||
|
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||||
|
Visit gethinode.com/license for more details.
|
||||||
|
-->
|
||||||
|
|
||||||
|
{{ $error := false }}
|
||||||
|
|
||||||
|
<!-- Validate arguments -->
|
||||||
|
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "sharing" "args" . "group" "partial") }}
|
||||||
|
{{- errorf "partial [assets/sharing.html] - Invalid arguments" -}}
|
||||||
|
{{ $error = true }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<!-- Initialize arguments -->
|
||||||
|
{{ $page := .page }}
|
||||||
|
|
||||||
|
<!-- Main code -->
|
||||||
|
{{- if and (not $error) $page.Site.Params.sharing.enabled -}}
|
||||||
{{- $sharing := true -}}
|
{{- $sharing := true -}}
|
||||||
{{ if isset .Params "sharing" }}
|
{{ if isset $page.Params "sharing" }}
|
||||||
{{ $sharing = .Params.sharing }}
|
{{ $sharing = $page.Params.sharing }}
|
||||||
{{ else }}
|
{{ else }}
|
||||||
{{- with (index site.Params.pages .Type ) -}}
|
{{- with (index $page.Site.Params.pages .Type ) -}}
|
||||||
{{ if isset . "sharing" }}
|
{{ if isset . "sharing" }}
|
||||||
{{ $sharing = (index . "sharing") }}
|
{{ $sharing = (index . "sharing") }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
@@ -11,16 +29,15 @@
|
|||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{- if $sharing -}}
|
{{- if $sharing -}}
|
||||||
{{- $page := . -}}
|
|
||||||
{{- $order := "asc" -}}
|
{{- $order := "asc" -}}
|
||||||
{{- $list := .Site.Params.sharing.providers -}}
|
{{- $list := $page.Site.Params.sharing.providers -}}
|
||||||
{{- if .Site.Params.sharing.reverse }}{{ $order = "desc" }}{{ else }}{{ $order = "asc" }}{{ end -}}
|
{{- if $page.Site.Params.sharing.reverse }}{{ $order = "desc" }}{{ else }}{{ $order = "asc" }}{{ end -}}
|
||||||
{{- $sort := .Site.Params.sharing.sort | default "weight" -}}
|
{{- $sort := $page.Site.Params.sharing.sort | default "weight" -}}
|
||||||
{{- $list = sort $list $sort $order -}}
|
{{- $list = sort $list $sort $order -}}
|
||||||
|
|
||||||
{{- $download := .Params.download -}}
|
{{- $download := $page.Params.download -}}
|
||||||
{{- if and $download (not (fileExists (path.Join "static" $download))) -}}
|
{{- if and $download (not (fileExists (path.Join "static" $download))) -}}
|
||||||
{{- errorf "Cannot find download file for page '%s': %s" .File.Path $download -}}
|
{{- errorf "Cannot find download file for page '%s': %s" $page.File.Path $download -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
<div class="py-3 text-body-secondary hstack gap-1">
|
<div class="py-3 text-body-secondary hstack gap-1">
|
||||||
@@ -40,7 +57,7 @@
|
|||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{ partial "assets/button.html" (dict "toast" $target "clipboard" $clipboard "href" $url "icon" (printf "%s fa-fw" $item.icon) "class" "btn-social p-0" "label" (T "shareLink" $item.name) "spacing" false) }}
|
{{ partial "assets/button.html" (dict "toast" $target "clipboard" $clipboard "href" $url "icon" (printf "%s fa-fw" $item.icon) "class" "btn-social p-0" "label" (T "shareLink" $item.name) "spacing" false) }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{ if .Site.Params.sharing.webshare }}
|
{{ if $page.Site.Params.sharing.webshare }}
|
||||||
{{ $attr := dict "data-sharing-title" .Title "data-sharing-description" .Description "data-sharing-url" .Permalink }}
|
{{ $attr := dict "data-sharing-title" .Title "data-sharing-description" .Description "data-sharing-url" .Permalink }}
|
||||||
{{ partial "assets/button.html" (dict "href" "#!" "icon" "fas share-nodes fa-fw" "id" "btn-webshare" "class" "btn-social p-0" "attributes" $attr "label" (T "shareLink" (T "shareSystem")) "spacing" false) }}
|
{{ partial "assets/button.html" (dict "href" "#!" "icon" "fas share-nodes fa-fw" "id" "btn-webshare" "class" "btn-social p-0" "attributes" $attr "label" (T "shareLink" (T "shareSystem")) "spacing" false) }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
@@ -1,7 +1,22 @@
|
|||||||
|
<!--
|
||||||
|
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||||
|
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||||
|
Visit gethinode.com/license for more details.
|
||||||
|
-->
|
||||||
|
|
||||||
|
{{ $error := false }}
|
||||||
|
|
||||||
|
<!-- Validate arguments -->
|
||||||
|
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "sidebar" "args" . "group" "partial") }}
|
||||||
|
{{- errorf "partial [assets/sidebar.html] - Invalid arguments" -}}
|
||||||
|
{{ $error = true }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<!-- Initialize arguments -->
|
||||||
{{- $page := .page }}
|
{{- $page := .page }}
|
||||||
{{- $section := $page.Section }}
|
|
||||||
{{- $data := .menu -}}
|
{{- $data := .menu -}}
|
||||||
{{- $version := .version -}}
|
{{- $version := .version -}}
|
||||||
|
{{- $section := $page.Section }}
|
||||||
|
|
||||||
{{- define "partials/sidebar/group.html" -}}
|
{{- define "partials/sidebar/group.html" -}}
|
||||||
{{- $page := .page -}}
|
{{- $page := .page -}}
|
||||||
@@ -94,7 +109,8 @@
|
|||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end -}}
|
{{ end -}}
|
||||||
|
|
||||||
{{ if $data }}
|
<!-- Main code -->
|
||||||
|
{{ if and (not $error) $data }}
|
||||||
<nav class="sidebar flex-shrink-0 ps-1 pt-3" aria-label="{{ (strings.FirstUpper $section) }} navigation">
|
<nav class="sidebar flex-shrink-0 ps-1 pt-3" aria-label="{{ (strings.FirstUpper $section) }} navigation">
|
||||||
{{- $sectionBreak := false -}}
|
{{- $sectionBreak := false -}}
|
||||||
{{- $level := 0 -}}
|
{{- $level := 0 -}}
|
||||||
|
@@ -1,5 +1,22 @@
|
|||||||
{{ $items := len (findRE "<li.*?>(.|\n)*?</li>" .TableOfContents) -}}
|
<!--
|
||||||
{{ if (gt $items 1) -}}
|
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||||
|
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||||
|
Visit gethinode.com/license for more details.
|
||||||
|
-->
|
||||||
|
|
||||||
|
{{ $error := false }}
|
||||||
|
|
||||||
|
<!-- Validate arguments -->
|
||||||
|
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "toc" "args" . "group" "partial") }}
|
||||||
|
{{- errorf "partial [assets/toc-dropdown.html] - Invalid arguments" -}}
|
||||||
|
{{ $error = true }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<!-- Initialize arguments -->
|
||||||
|
{{- $page := .page -}}
|
||||||
|
{{ $items := len (findRE "<li.*?>(.|\n)*?</li>" $page.TableOfContents) -}}
|
||||||
|
|
||||||
|
{{ if and (not $error) (gt $items 1) -}}
|
||||||
<div class="d-grid gap-2 mx-auto">
|
<div class="d-grid gap-2 mx-auto">
|
||||||
{{ partial "assets/button.html" (dict
|
{{ partial "assets/button.html" (dict
|
||||||
"title" (T "toc")
|
"title" (T "toc")
|
||||||
@@ -16,7 +33,7 @@
|
|||||||
<p>
|
<p>
|
||||||
<div class="collapse border bg-body-tertiary rounded p-1 navbar-nav-scroll" id="toc-collapse">
|
<div class="collapse border bg-body-tertiary rounded p-1 navbar-nav-scroll" id="toc-collapse">
|
||||||
<div class="toc toc-panel text-body p-2">
|
<div class="toc toc-panel text-body p-2">
|
||||||
<small>{{ .TableOfContents }}</small>
|
<small>{{ $page.TableOfContents }}</small>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</p>
|
</p>
|
||||||
|
@@ -1,7 +1,23 @@
|
|||||||
{{- $page := .page -}}
|
<!--
|
||||||
|
Copyright © 2024 The Hinode Team / Mark Dumay. All rights reserved.
|
||||||
|
Use of this source code is governed by The MIT License (MIT) that can be found in the LICENSE file.
|
||||||
|
Visit gethinode.com/license for more details.
|
||||||
|
-->
|
||||||
|
|
||||||
|
{{ $error := false }}
|
||||||
|
|
||||||
|
<!-- Validate arguments -->
|
||||||
|
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "toc" "args" . "group" "partial") }}
|
||||||
|
{{- errorf "partial [assets/toc.html] - Invalid arguments" -}}
|
||||||
|
{{ $error = true }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<!-- Initialize arguments -->
|
||||||
|
{{- $page := .page -}}
|
||||||
{{ $items := len (findRE "<li.*?>(.|\n)*?</li>" $page.TableOfContents) -}}
|
{{ $items := len (findRE "<li.*?>(.|\n)*?</li>" $page.TableOfContents) -}}
|
||||||
{{ if gt $items 1 -}}
|
|
||||||
|
<!-- Main code -->
|
||||||
|
{{ if and (not $error) (gt $items 1) -}}
|
||||||
<strong class="d-block h6 my-2 pb-2 border-bottom">{{ T "toc" }}</strong>
|
<strong class="d-block h6 my-2 pb-2 border-bottom">{{ T "toc" }}</strong>
|
||||||
{{ $page.TableOfContents }}
|
{{ $page.TableOfContents }}
|
||||||
{{ end -}}
|
{{ end -}}
|
@@ -25,5 +25,5 @@
|
|||||||
|
|
||||||
<!-- Main code -->
|
<!-- Main code -->
|
||||||
{{- if not $error -}}
|
{{- if not $error -}}
|
||||||
{{- partial "assets/breadcrumb.html" (dict "page" $page) -}}
|
{{- partial "assets/breadcrumb.html" (dict "page" $page) -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
@@ -23,15 +23,15 @@
|
|||||||
child-src 'self' app.netlify.com; \
|
child-src 'self' app.netlify.com; \
|
||||||
script-src 'self' \
|
script-src 'self' \
|
||||||
https://*.netlify.app app.netlify.com netlify-cdp-loader.netlify.app \
|
https://*.netlify.app app.netlify.com netlify-cdp-loader.netlify.app \
|
||||||
https://utteranc.es/client.js https://*.google-analytics.com https://*.googletagmanager.com; \
|
https://*.google-analytics.com https://*.googletagmanager.com; \
|
||||||
style-src 'self' \
|
style-src 'self' \
|
||||||
https://*.netlify.app https://utteranc.es https://fonts.googleapis.com https://www.youtube.com; \
|
https://*.netlify.app https://fonts.googleapis.com https://www.youtube.com; \
|
||||||
object-src 'none'; \
|
object-src 'none'; \
|
||||||
base-uri 'self'; \
|
base-uri 'self'; \
|
||||||
connect-src 'self'
|
connect-src 'self'
|
||||||
https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; \
|
https://*.google-analytics.com https://*.analytics.google.com https://*.googletagmanager.com; \
|
||||||
font-src 'self' https://*.netlify.app https://fonts.gstatic.com; \
|
font-src 'self' https://*.netlify.app https://fonts.gstatic.com; \
|
||||||
frame-src 'self' https://utteranc.es https://www.youtube-nocookie.com https://www.youtube.com \
|
frame-src 'self' https://www.youtube-nocookie.com https://www.youtube.com \
|
||||||
app.netlify.com; \
|
app.netlify.com; \
|
||||||
img-src 'self' data: https://*.netlify.app https://i.vimeocdn.com https://i.ytimg.com https://*.google-analytics.com https://*.googletagmanager.com https://tile.openstreetmap.org; \
|
img-src 'self' data: https://*.netlify.app https://i.vimeocdn.com https://i.ytimg.com https://*.google-analytics.com https://*.googletagmanager.com https://tile.openstreetmap.org; \
|
||||||
manifest-src 'self'; \
|
manifest-src 'self'; \
|
||||||
|
202
package-lock.json
generated
202
package-lock.json
generated
@@ -1,20 +1,20 @@
|
|||||||
{
|
{
|
||||||
"name": "@gethinode/hinode",
|
"name": "@gethinode/hinode",
|
||||||
"version": "0.22.0-beta7",
|
"version": "0.22.0",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "@gethinode/hinode",
|
"name": "@gethinode/hinode",
|
||||||
"version": "0.22.0-beta7",
|
"version": "0.22.0",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@fullhuman/postcss-purgecss": "^5.0.0",
|
"@fullhuman/postcss-purgecss": "^5.0.0",
|
||||||
"@gethinode/netlify-plugin-dartsass": "^0.2.0",
|
"@gethinode/netlify-plugin-dartsass": "^0.2.0",
|
||||||
"@netlify/plugin-lighthouse": "^5.0.0",
|
"@netlify/plugin-lighthouse": "^5.0.0",
|
||||||
"autoprefixer": "^10.4.16",
|
"autoprefixer": "^10.4.16",
|
||||||
"cssnano": "^6.0.2",
|
"cssnano": "^6.0.3",
|
||||||
"cssnano-preset-advanced": "^6.0.2",
|
"cssnano-preset-advanced": "^6.0.3",
|
||||||
"eslint": "^8.56.0",
|
"eslint": "^8.56.0",
|
||||||
"eslint-config-standard": "^17.1.0",
|
"eslint-config-standard": "^17.1.0",
|
||||||
"eslint-plugin-import": "^2.29.1",
|
"eslint-plugin-import": "^2.29.1",
|
||||||
@@ -1476,9 +1476,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/browserslist": {
|
"node_modules/browserslist": {
|
||||||
"version": "4.22.1",
|
"version": "4.22.2",
|
||||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz",
|
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz",
|
||||||
"integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==",
|
"integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -1495,9 +1495,9 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"caniuse-lite": "^1.0.30001541",
|
"caniuse-lite": "^1.0.30001565",
|
||||||
"electron-to-chromium": "^1.4.535",
|
"electron-to-chromium": "^1.4.601",
|
||||||
"node-releases": "^2.0.13",
|
"node-releases": "^2.0.14",
|
||||||
"update-browserslist-db": "^1.0.13"
|
"update-browserslist-db": "^1.0.13"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
@@ -1700,9 +1700,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/caniuse-lite": {
|
"node_modules/caniuse-lite": {
|
||||||
"version": "1.0.30001559",
|
"version": "1.0.30001574",
|
||||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001559.tgz",
|
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001574.tgz",
|
||||||
"integrity": "sha512-cPiMKZgqgkg5LY3/ntGeLFUpi6tzddBNS58A4tnTgQw1zON7u2sZMU7SzOeVH4tj20++9ggL+V6FDOFMTaFFYA==",
|
"integrity": "sha512-BtYEK4r/iHt/txm81KBudCUcTy7t+s9emrIaHqjYurQ10x71zJ5VQ9x1dYPcz/b+pKSp4y/v1xSI67A+LzpNyg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@@ -2117,12 +2117,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/cssnano": {
|
"node_modules/cssnano": {
|
||||||
"version": "6.0.2",
|
"version": "6.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/cssnano/-/cssnano-6.0.3.tgz",
|
||||||
"integrity": "sha512-Tu9wv8UdN6CoiQnIVkCNvi+0rw/BwFWOJBlg2bVfEyKaadSuE3Gq/DD8tniVvggTJGwK88UjqZp7zL5sv6t1aA==",
|
"integrity": "sha512-MRq4CIj8pnyZpcI2qs6wswoYoDD1t0aL28n+41c1Ukcpm56m1h6mCexIHBGjfZfnTqtGSSCP4/fB1ovxgjBOiw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"cssnano-preset-default": "^6.0.2",
|
"cssnano-preset-default": "^6.0.3",
|
||||||
"lilconfig": "^3.0.0"
|
"lilconfig": "^3.0.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -2137,14 +2137,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/cssnano-preset-advanced": {
|
"node_modules/cssnano-preset-advanced": {
|
||||||
"version": "6.0.2",
|
"version": "6.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-6.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-6.0.3.tgz",
|
||||||
"integrity": "sha512-1ziCYBklE4iQDuYy6RRumEhJDKv442d7ezzyDb1p3yYSmdz5GMan5y4xJc9YLgbiFJ9gufir9axrDUDjtT07pQ==",
|
"integrity": "sha512-+DIOR5FFId+nb6/JcBkAMiXYDadEx2waDmSDhAA3rL1Q1N1AaZP0N25jiZnqLp3MdWnRg9t9CNaDs/OdB/lpPg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"autoprefixer": "^10.4.12",
|
"autoprefixer": "^10.4.16",
|
||||||
"cssnano-preset-default": "^6.0.2",
|
"cssnano-preset-default": "^6.0.3",
|
||||||
"postcss-discard-unused": "^6.0.1",
|
"postcss-discard-unused": "^6.0.2",
|
||||||
"postcss-merge-idents": "^6.0.1",
|
"postcss-merge-idents": "^6.0.1",
|
||||||
"postcss-reduce-idents": "^6.0.2",
|
"postcss-reduce-idents": "^6.0.2",
|
||||||
"postcss-zindex": "^6.0.1"
|
"postcss-zindex": "^6.0.1"
|
||||||
@@ -2157,40 +2157,40 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/cssnano-preset-default": {
|
"node_modules/cssnano-preset-default": {
|
||||||
"version": "6.0.2",
|
"version": "6.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-6.0.3.tgz",
|
||||||
"integrity": "sha512-VnZybFeZ63AiVqIUNlxqMxpj9VU8B5j0oKgP7WyVt/7mkyf97KsYkNzsPTV/RVmy54Pg7cBhOK4WATbdCB44gw==",
|
"integrity": "sha512-4y3H370aZCkT9Ev8P4SO4bZbt+AExeKhh8wTbms/X7OLDo5E7AYUUy6YPxa/uF5Grf+AJwNcCnxKhZynJ6luBA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"css-declaration-sorter": "^7.0.0",
|
"css-declaration-sorter": "^7.1.1",
|
||||||
"cssnano-utils": "^4.0.1",
|
"cssnano-utils": "^4.0.1",
|
||||||
"postcss-calc": "^9.0.1",
|
"postcss-calc": "^9.0.1",
|
||||||
"postcss-colormin": "^6.0.1",
|
"postcss-colormin": "^6.0.2",
|
||||||
"postcss-convert-values": "^6.0.1",
|
"postcss-convert-values": "^6.0.2",
|
||||||
"postcss-discard-comments": "^6.0.1",
|
"postcss-discard-comments": "^6.0.1",
|
||||||
"postcss-discard-duplicates": "^6.0.1",
|
"postcss-discard-duplicates": "^6.0.1",
|
||||||
"postcss-discard-empty": "^6.0.1",
|
"postcss-discard-empty": "^6.0.1",
|
||||||
"postcss-discard-overridden": "^6.0.1",
|
"postcss-discard-overridden": "^6.0.1",
|
||||||
"postcss-merge-longhand": "^6.0.1",
|
"postcss-merge-longhand": "^6.0.2",
|
||||||
"postcss-merge-rules": "^6.0.2",
|
"postcss-merge-rules": "^6.0.3",
|
||||||
"postcss-minify-font-values": "^6.0.1",
|
"postcss-minify-font-values": "^6.0.1",
|
||||||
"postcss-minify-gradients": "^6.0.1",
|
"postcss-minify-gradients": "^6.0.1",
|
||||||
"postcss-minify-params": "^6.0.1",
|
"postcss-minify-params": "^6.0.2",
|
||||||
"postcss-minify-selectors": "^6.0.1",
|
"postcss-minify-selectors": "^6.0.2",
|
||||||
"postcss-normalize-charset": "^6.0.1",
|
"postcss-normalize-charset": "^6.0.1",
|
||||||
"postcss-normalize-display-values": "^6.0.1",
|
"postcss-normalize-display-values": "^6.0.1",
|
||||||
"postcss-normalize-positions": "^6.0.1",
|
"postcss-normalize-positions": "^6.0.1",
|
||||||
"postcss-normalize-repeat-style": "^6.0.1",
|
"postcss-normalize-repeat-style": "^6.0.1",
|
||||||
"postcss-normalize-string": "^6.0.1",
|
"postcss-normalize-string": "^6.0.1",
|
||||||
"postcss-normalize-timing-functions": "^6.0.1",
|
"postcss-normalize-timing-functions": "^6.0.1",
|
||||||
"postcss-normalize-unicode": "^6.0.1",
|
"postcss-normalize-unicode": "^6.0.2",
|
||||||
"postcss-normalize-url": "^6.0.1",
|
"postcss-normalize-url": "^6.0.1",
|
||||||
"postcss-normalize-whitespace": "^6.0.1",
|
"postcss-normalize-whitespace": "^6.0.1",
|
||||||
"postcss-ordered-values": "^6.0.1",
|
"postcss-ordered-values": "^6.0.1",
|
||||||
"postcss-reduce-initial": "^6.0.1",
|
"postcss-reduce-initial": "^6.0.2",
|
||||||
"postcss-reduce-transforms": "^6.0.1",
|
"postcss-reduce-transforms": "^6.0.1",
|
||||||
"postcss-svgo": "^6.0.1",
|
"postcss-svgo": "^6.0.2",
|
||||||
"postcss-unique-selectors": "^6.0.1"
|
"postcss-unique-selectors": "^6.0.2"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^14 || ^16 || >=18.0"
|
"node": "^14 || ^16 || >=18.0"
|
||||||
@@ -2570,9 +2570,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/electron-to-chromium": {
|
"node_modules/electron-to-chromium": {
|
||||||
"version": "1.4.571",
|
"version": "1.4.620",
|
||||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.571.tgz",
|
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.620.tgz",
|
||||||
"integrity": "sha512-Sc+VtKwKCDj3f/kLBjdyjMpNzoZsU6WuL/wFb6EH8USmHEcebxRXcRrVpOpayxd52tuey4RUDpUsw5OS5LhJqg==",
|
"integrity": "sha512-a2fcSHOHrqBJsPNXtf6ZCEZpXrFCcbK1FBxfX3txoqWzNgtEDG1f3M59M98iwxhRW4iMKESnSjbJ310/rkrp0g==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/emoji-regex": {
|
"node_modules/emoji-regex": {
|
||||||
@@ -5802,9 +5802,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/node-releases": {
|
"node_modules/node-releases": {
|
||||||
"version": "2.0.13",
|
"version": "2.0.14",
|
||||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz",
|
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
|
||||||
"integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==",
|
"integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/normalize-package-data": {
|
"node_modules/normalize-package-data": {
|
||||||
@@ -6699,12 +6699,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-colormin": {
|
"node_modules/postcss-colormin": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-6.0.2.tgz",
|
||||||
"integrity": "sha512-Tb9aR2wCJCzKuNjIeMzVNd0nXjQy25HDgFmmaRsHnP0eP/k8uQWE4S8voX5S2coO5CeKrp+USFs1Ayv9Tpxx6w==",
|
"integrity": "sha512-TXKOxs9LWcdYo5cgmcSHPkyrLAh86hX1ijmyy6J8SbOhyv6ua053M3ZAM/0j44UsnQNIWdl8gb5L7xX2htKeLw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"browserslist": "^4.21.4",
|
"browserslist": "^4.22.2",
|
||||||
"caniuse-api": "^3.0.0",
|
"caniuse-api": "^3.0.0",
|
||||||
"colord": "^2.9.1",
|
"colord": "^2.9.1",
|
||||||
"postcss-value-parser": "^4.2.0"
|
"postcss-value-parser": "^4.2.0"
|
||||||
@@ -6717,12 +6717,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-convert-values": {
|
"node_modules/postcss-convert-values": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-6.0.2.tgz",
|
||||||
"integrity": "sha512-zTd4Vh0HxGkhg5aHtfCogcRHzGkvblfdWlQ53lIh1cJhYcGyIxh2hgtKoVh40AMktRERet+JKdB04nNG19kjmA==",
|
"integrity": "sha512-aeBmaTnGQ+NUSVQT8aY0sKyAD/BaLJenEKZ03YK0JnDE1w1Rr8XShoxdal2V2H26xTJKr3v5haByOhJuyT4UYw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"browserslist": "^4.21.4",
|
"browserslist": "^4.22.2",
|
||||||
"postcss-value-parser": "^4.2.0"
|
"postcss-value-parser": "^4.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -6781,12 +6781,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-discard-unused": {
|
"node_modules/postcss-discard-unused": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-6.0.2.tgz",
|
||||||
"integrity": "sha512-Bihf0iR+C4xyCzydaoCwSWaXPGcALq9ddf/tMYk7yAxbm4TxZ0UUPc1KpHdZLf3/vRC18plXqT8yYAJEw2ncFA==",
|
"integrity": "sha512-wr3lRPahxARmjow5BWML+9bD9D1u6FpfxlWg4lZqCIwvQLBZQD/S0Rq6A/juQwVFVXvMeRGa9TX1vpXuQ6FhTQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"postcss-selector-parser": "^6.0.5"
|
"postcss-selector-parser": "^6.0.15"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^14 || ^16 || >=18.0"
|
"node": "^14 || ^16 || >=18.0"
|
||||||
@@ -6853,13 +6853,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-merge-longhand": {
|
"node_modules/postcss-merge-longhand": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-6.0.2.tgz",
|
||||||
"integrity": "sha512-vmr/HZQzaPXc45FRvSctqFTF05UaDnTn5ABX+UtQPJznDWT/QaFbVc/pJ5C2YPxx2J2XcfmWowlKwtCDwiQ5hA==",
|
"integrity": "sha512-+yfVB7gEM8SrCo9w2lCApKIEzrTKl5yS1F4yGhV3kSim6JzbfLGJyhR1B6X+6vOT0U33Mgx7iv4X9MVWuaSAfw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"postcss-value-parser": "^4.2.0",
|
"postcss-value-parser": "^4.2.0",
|
||||||
"stylehacks": "^6.0.1"
|
"stylehacks": "^6.0.2"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^14 || ^16 || >=18.0"
|
"node": "^14 || ^16 || >=18.0"
|
||||||
@@ -6869,15 +6869,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-merge-rules": {
|
"node_modules/postcss-merge-rules": {
|
||||||
"version": "6.0.2",
|
"version": "6.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-6.0.3.tgz",
|
||||||
"integrity": "sha512-6lm8bl0UfriSfxI+F/cezrebqqP8w702UC6SjZlUlBYwuRVNbmgcJuQU7yePIvD4MNT53r/acQCUAyulrpgmeQ==",
|
"integrity": "sha512-yfkDqSHGohy8sGYIJwBmIGDv4K4/WrJPX355XrxQb/CSsT4Kc/RxDi6akqn5s9bap85AWgv21ArcUWwWdGNSHA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"browserslist": "^4.21.4",
|
"browserslist": "^4.22.2",
|
||||||
"caniuse-api": "^3.0.0",
|
"caniuse-api": "^3.0.0",
|
||||||
"cssnano-utils": "^4.0.1",
|
"cssnano-utils": "^4.0.1",
|
||||||
"postcss-selector-parser": "^6.0.5"
|
"postcss-selector-parser": "^6.0.15"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^14 || ^16 || >=18.0"
|
"node": "^14 || ^16 || >=18.0"
|
||||||
@@ -6919,12 +6919,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-minify-params": {
|
"node_modules/postcss-minify-params": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-6.0.2.tgz",
|
||||||
"integrity": "sha512-eFvGWArqh4khPIgPDu6SZNcaLctx97nO7c59OXnRtGntAp5/VS4gjMhhW9qUFsK6mQ27pEZGt2kR+mPizI+Z9g==",
|
"integrity": "sha512-zwQtbrPEBDj+ApELZ6QylLf2/c5zmASoOuA4DzolyVGdV38iR2I5QRMsZcHkcdkZzxpN8RS4cN7LPskOkTwTZw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"browserslist": "^4.21.4",
|
"browserslist": "^4.22.2",
|
||||||
"cssnano-utils": "^4.0.1",
|
"cssnano-utils": "^4.0.1",
|
||||||
"postcss-value-parser": "^4.2.0"
|
"postcss-value-parser": "^4.2.0"
|
||||||
},
|
},
|
||||||
@@ -6936,12 +6936,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-minify-selectors": {
|
"node_modules/postcss-minify-selectors": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-6.0.2.tgz",
|
||||||
"integrity": "sha512-mfReq5wrS6vkunxvJp6GDuOk+Ak6JV7134gp8L+ANRnV9VwqzTvBtX6lpohooVU750AR0D3pVx2Zn6uCCwOAfQ==",
|
"integrity": "sha512-0b+m+w7OAvZejPQdN2GjsXLv5o0jqYHX3aoV0e7RBKPCsB7TYG5KKWBFhGnB/iP3213Ts8c5H4wLPLMm7z28Sg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"postcss-selector-parser": "^6.0.5"
|
"postcss-selector-parser": "^6.0.15"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^14 || ^16 || >=18.0"
|
"node": "^14 || ^16 || >=18.0"
|
||||||
@@ -7038,12 +7038,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-normalize-unicode": {
|
"node_modules/postcss-normalize-unicode": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-6.0.2.tgz",
|
||||||
"integrity": "sha512-ok9DsI94nEF79MkvmLfHfn8ddnKXA7w+8YuUoz5m7b6TOdoaRCpvu/QMHXQs9+DwUbvp+ytzz04J55CPy77PuQ==",
|
"integrity": "sha512-Ff2VdAYCTGyMUwpevTZPZ4w0+mPjbZzLLyoLh/RMpqUqeQKZ+xMm31hkxBavDcGKcxm6ACzGk0nBfZ8LZkStKA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"browserslist": "^4.21.4",
|
"browserslist": "^4.22.2",
|
||||||
"postcss-value-parser": "^4.2.0"
|
"postcss-value-parser": "^4.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -7115,12 +7115,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-reduce-initial": {
|
"node_modules/postcss-reduce-initial": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-6.0.2.tgz",
|
||||||
"integrity": "sha512-cgzsI2ThG1PMSdSyM9A+bVxiiVgPIVz9f5c6H+TqEv0CA89iCOO81mwLWRWLgOKFtQkKob9nNpnkxG/1RlgFcA==",
|
"integrity": "sha512-YGKalhNlCLcjcLvjU5nF8FyeCTkCO5UtvJEt0hrPZVCTtRLSOH4z00T1UntQPj4dUmIYZgMj8qK77JbSX95hSw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"browserslist": "^4.21.4",
|
"browserslist": "^4.22.2",
|
||||||
"caniuse-api": "^3.0.0"
|
"caniuse-api": "^3.0.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -7214,9 +7214,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-selector-parser": {
|
"node_modules/postcss-selector-parser": {
|
||||||
"version": "6.0.13",
|
"version": "6.0.15",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz",
|
||||||
"integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==",
|
"integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"cssesc": "^3.0.0",
|
"cssesc": "^3.0.0",
|
||||||
@@ -7227,13 +7227,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-svgo": {
|
"node_modules/postcss-svgo": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-6.0.2.tgz",
|
||||||
"integrity": "sha512-eWV4Rrqa06LzTgqirOv5Ln6WTGyU7Pbeqj9WEyKo9tpnWixNATVJMeaEcOHOW1ZYyjcG8wSJwX/28DvU3oy3HA==",
|
"integrity": "sha512-IH5R9SjkTkh0kfFOQDImyy1+mTCb+E830+9SV1O+AaDcoHTvfsvt6WwJeo7KwcHbFnevZVCsXhDmjFiGVuwqFQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"postcss-value-parser": "^4.2.0",
|
"postcss-value-parser": "^4.2.0",
|
||||||
"svgo": "^3.0.5"
|
"svgo": "^3.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^14 || ^16 || >= 18"
|
"node": "^14 || ^16 || >= 18"
|
||||||
@@ -7243,12 +7243,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-unique-selectors": {
|
"node_modules/postcss-unique-selectors": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-6.0.2.tgz",
|
||||||
"integrity": "sha512-/KCCEpNNR7oXVJ38/Id7GC9Nt0zxO1T3zVbhVaq6F6LSG+3gU3B7+QuTHfD0v8NPEHlzewAout29S0InmB78EQ==",
|
"integrity": "sha512-8IZGQ94nechdG7Y9Sh9FlIY2b4uS8/k8kdKRX040XHsS3B6d1HrJAkXrBSsSu4SuARruSsUjW3nlSw8BHkaAYQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"postcss-selector-parser": "^6.0.5"
|
"postcss-selector-parser": "^6.0.15"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^14 || ^16 || >=18.0"
|
"node": "^14 || ^16 || >=18.0"
|
||||||
@@ -8845,13 +8845,13 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/stylehacks": {
|
"node_modules/stylehacks": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-6.0.2.tgz",
|
||||||
"integrity": "sha512-jTqG2aIoX2fYg0YsGvqE4ooE/e75WmaEjnNiP6Ag7irLtHxML8NJRxRxS0HyDpde8DRGuEXTFVHVfR5Tmbxqzg==",
|
"integrity": "sha512-00zvJGnCu64EpMjX8b5iCZ3us2Ptyw8+toEkb92VdmkEaRaSGBNKAoK6aWZckhXxmQP8zWiTaFaiMGIU8Ve8sg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"browserslist": "^4.21.4",
|
"browserslist": "^4.22.2",
|
||||||
"postcss-selector-parser": "^6.0.4"
|
"postcss-selector-parser": "^6.0.15"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^14 || ^16 || >=18.0"
|
"node": "^14 || ^16 || >=18.0"
|
||||||
@@ -9163,17 +9163,17 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/svgo": {
|
"node_modules/svgo": {
|
||||||
"version": "3.1.0",
|
"version": "3.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/svgo/-/svgo-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/svgo/-/svgo-3.2.0.tgz",
|
||||||
"integrity": "sha512-R5SnNA89w1dYgNv570591F66v34b3eQShpIBcQtZtM5trJwm1VvxbIoMpRYY3ybTAutcKTLEmTsdnaknOHbiQA==",
|
"integrity": "sha512-4PP6CMW/V7l/GmKRKzsLR8xxjdHTV4IMvhTnpuHwwBazSIlw5W/5SmPjN8Dwyt7lKbSJrRDgp4t9ph0HgChFBQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@trysound/sax": "0.2.0",
|
"@trysound/sax": "0.2.0",
|
||||||
"commander": "^7.2.0",
|
"commander": "^7.2.0",
|
||||||
"css-select": "^5.1.0",
|
"css-select": "^5.1.0",
|
||||||
"css-tree": "^2.2.1",
|
"css-tree": "^2.3.1",
|
||||||
"css-what": "^6.1.0",
|
"css-what": "^6.1.0",
|
||||||
"csso": "5.0.5",
|
"csso": "^5.0.5",
|
||||||
"picocolors": "^1.0.0"
|
"picocolors": "^1.0.0"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@gethinode/hinode",
|
"name": "@gethinode/hinode",
|
||||||
"version": "0.22.0-beta7",
|
"version": "0.22.0",
|
||||||
"description": "Hinode is a clean documentation and blog theme for Hugo, an open-source static site generator",
|
"description": "Hinode is a clean documentation and blog theme for Hugo, an open-source static site generator",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"hugo",
|
"hugo",
|
||||||
@@ -71,8 +71,8 @@
|
|||||||
"@gethinode/netlify-plugin-dartsass": "^0.2.0",
|
"@gethinode/netlify-plugin-dartsass": "^0.2.0",
|
||||||
"@netlify/plugin-lighthouse": "^5.0.0",
|
"@netlify/plugin-lighthouse": "^5.0.0",
|
||||||
"autoprefixer": "^10.4.16",
|
"autoprefixer": "^10.4.16",
|
||||||
"cssnano": "^6.0.2",
|
"cssnano": "^6.0.3",
|
||||||
"cssnano-preset-advanced": "^6.0.2",
|
"cssnano-preset-advanced": "^6.0.3",
|
||||||
"eslint": "^8.56.0",
|
"eslint": "^8.56.0",
|
||||||
"eslint-config-standard": "^17.1.0",
|
"eslint-config-standard": "^17.1.0",
|
||||||
"eslint-plugin-import": "^2.29.1",
|
"eslint-plugin-import": "^2.29.1",
|
||||||
|
Reference in New Issue
Block a user