mirror of
https://github.com/gethinode/hinode.git
synced 2025-10-07 10:04:22 +00:00
Compare commits
61 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
54e0f720bd | ||
![]() |
423670f95f | ||
![]() |
78560aa07a | ||
![]() |
1c6ff7ac55 | ||
![]() |
eb9b7ea8f0 | ||
![]() |
753b949af2 | ||
![]() |
2322cdcdc0 | ||
![]() |
edc8128395 | ||
![]() |
cc22f73f5c | ||
![]() |
8312de35c8 | ||
![]() |
a3a8d7e08c | ||
![]() |
0513692cf5 | ||
![]() |
bfa6e00c2f | ||
![]() |
c61fa6b4c7 | ||
![]() |
c754451002 | ||
![]() |
8d4cb82863 | ||
![]() |
ae18134218 | ||
![]() |
fb20543d88 | ||
![]() |
14d1489b60 | ||
![]() |
e99ac83fbc | ||
![]() |
d96b103180 | ||
![]() |
7f1dc95402 | ||
![]() |
e3420e357c | ||
![]() |
5ee51ebb18 | ||
![]() |
684ec0f823 | ||
![]() |
1a88fa93bb | ||
![]() |
b0d266aedc | ||
![]() |
eba81c236a | ||
![]() |
cdca92ea02 | ||
![]() |
a4743aabf5 | ||
![]() |
cf8465e627 | ||
![]() |
86941f05d0 | ||
![]() |
cbb777f524 | ||
![]() |
d20d00e42f | ||
![]() |
348981a1a0 | ||
![]() |
0942d79e2c | ||
![]() |
0251bd1838 | ||
![]() |
ae5e240cf1 | ||
![]() |
dd127b973a | ||
![]() |
63b186a2e5 | ||
![]() |
bc71ba1d19 | ||
![]() |
9c3bd970a5 | ||
![]() |
9f143786af | ||
![]() |
e8ccada6f3 | ||
![]() |
a40092b1eb | ||
![]() |
00965b5224 | ||
![]() |
92dc97d325 | ||
![]() |
2394f148e5 | ||
![]() |
8d259a3e3a | ||
![]() |
1c8912e92e | ||
![]() |
207c08431f | ||
![]() |
d2703d4885 | ||
![]() |
4728191370 | ||
![]() |
cd40d75962 | ||
![]() |
2d4732d03b | ||
![]() |
e3c256b41f | ||
![]() |
f0a53f252c | ||
![]() |
a1273d99d5 | ||
![]() |
4e62956c82 | ||
![]() |
cf096a7f6a | ||
![]() |
ee790dc6fd |
2
.github/workflows/lint-build.yml
vendored
2
.github/workflows/lint-build.yml
vendored
@@ -43,7 +43,7 @@ jobs:
|
||||
matrix:
|
||||
os: [macos-latest, windows-latest, ubuntu-latest]
|
||||
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
|
||||
node-version: [18.x, 20.x]
|
||||
node-version: [20.x, 22.x]
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
|
||||
|
@@ -1,6 +1,9 @@
|
||||
.blockquote {
|
||||
// background: var(--bs-light);
|
||||
border-left: 0.3rem solid;
|
||||
border-color: $secondary;
|
||||
padding: 1rem 1.5rem;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
@extend .blockquote;
|
||||
}
|
||||
|
@@ -125,7 +125,7 @@ home = ["HTML", "RSS", "REDIR"]
|
||||
[[module.imports]]
|
||||
path = "github.com/gethinode/mod-bootstrap"
|
||||
[[module.imports]]
|
||||
path = "github.com/gethinode/mod-flexsearch"
|
||||
path = "github.com/gethinode/mod-flexsearch/v2"
|
||||
[[module.imports]]
|
||||
path = "github.com/gethinode/mod-fontawesome"
|
||||
[[module.imports]]
|
||||
|
@@ -24,7 +24,7 @@ const purgecss = require('@fullhuman/postcss-purgecss')({
|
||||
'./assets/scss/components/_video.scss',
|
||||
'./assets/scss/theme/fonts.scss',
|
||||
'./assets/scss/theme/theme.scss',
|
||||
'./_vendor/github.com/gethinode/mod-flexsearch/assets/scss/modules/flexsearch/flexsearch.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',
|
||||
|
@@ -271,6 +271,25 @@ arguments:
|
||||
One or more strings separated by commas, indicating the source sizes of an
|
||||
image set.
|
||||
group: partial
|
||||
anchor:
|
||||
type: select
|
||||
optional: true
|
||||
comment:
|
||||
Anchor of the thumbnail's crop box, defaults to anchor value set in
|
||||
`imaging` section of the site configuration (usually `Smart`).
|
||||
options:
|
||||
values:
|
||||
- TopLeft
|
||||
- Top
|
||||
- TopRight
|
||||
- Left
|
||||
- Center
|
||||
- Right
|
||||
- BottomLeft
|
||||
- Bottom
|
||||
- BottomRight
|
||||
- Smart
|
||||
release: v0.24.23
|
||||
body:
|
||||
optional: true
|
||||
comment: >-
|
||||
|
@@ -60,3 +60,20 @@ arguments:
|
||||
type: int
|
||||
optional: false
|
||||
comment: Width of the image in pixels.
|
||||
anchor:
|
||||
type: select
|
||||
optional: true
|
||||
comment: Anchor of the crop box.
|
||||
options:
|
||||
values:
|
||||
- TopLeft
|
||||
- Top
|
||||
- TopRight
|
||||
- Left
|
||||
- Center
|
||||
- Right
|
||||
- BottomLeft
|
||||
- Bottom
|
||||
- BottomRight
|
||||
- Smart
|
||||
|
||||
|
@@ -138,3 +138,22 @@ arguments:
|
||||
Flag to indicate if the image should render a plain image instead of an
|
||||
image set. When set, no transformations are applied to the image.
|
||||
release: v0.24.0
|
||||
anchor:
|
||||
type: select
|
||||
optional: true
|
||||
comment:
|
||||
Anchor of the crop box, defaults to anchor value set in `imaging` section
|
||||
of the site configuration (usually `Smart`).
|
||||
options:
|
||||
values:
|
||||
- TopLeft
|
||||
- Top
|
||||
- TopRight
|
||||
- Left
|
||||
- Center
|
||||
- Right
|
||||
- BottomLeft
|
||||
- Bottom
|
||||
- BottomRight
|
||||
- Smart
|
||||
release: v0.24.22
|
||||
|
69
data/structures/scripts.yml
Normal file
69
data/structures/scripts.yml
Normal file
@@ -0,0 +1,69 @@
|
||||
comment: >-
|
||||
Bundles a JavaScript file for client-side processing. Scripts can be included
|
||||
as critical, core, or optional file.
|
||||
arguments:
|
||||
page:
|
||||
type:
|
||||
- '*hugolib.pageState'
|
||||
- '*hugolib.pageForShortcode'
|
||||
optional: false
|
||||
comment: Context of the current page.
|
||||
core:
|
||||
type: bool
|
||||
default: false
|
||||
optional: true
|
||||
comment: >-
|
||||
Trigger to include all core files in the script bundle. Core bundles are
|
||||
loaded asynchronously in each page of the site.
|
||||
filename:
|
||||
type: string
|
||||
default: js/main.bundle.js
|
||||
optional: true
|
||||
comment: >-
|
||||
Path of the target bundle file, relative to the site root.
|
||||
match:
|
||||
type: string
|
||||
default: {js/*.js,js/vendor/**.js}
|
||||
optional: true
|
||||
comment: >-
|
||||
Regular expression that defines the pattern of source files to be included
|
||||
in the bundle. The pattern is relative to the project's `asset` folder.
|
||||
header:
|
||||
type: bool
|
||||
default: false
|
||||
comment: >-
|
||||
Trigger to consider the script as loaded in the page header. When enabled,
|
||||
it includes a script to load Google Analytics adjacent to any bundle
|
||||
input.
|
||||
localize:
|
||||
type: bool
|
||||
default: false
|
||||
optional: true
|
||||
comment: >-
|
||||
Triggers the creation of a language-specific bundle file. The language
|
||||
code is appended as suffix to the base name. For example, the English
|
||||
version of `js/main.bundle.js` becomes `js/main.bundle.en.js`.
|
||||
skipTemplate:
|
||||
type: bool
|
||||
default: false
|
||||
optional: true
|
||||
comment: >-
|
||||
Script source input can contain Go Template magic. As such, Hinode
|
||||
processes all input files with `resources.ExecuteAsTemplate`. However,
|
||||
certain input files may be incompatible. Set `skipTemplate` to true to
|
||||
skip template processing.
|
||||
state:
|
||||
type: select
|
||||
optional: true
|
||||
default: async
|
||||
comment: >-
|
||||
Defines the loading behavior of the script bundle. By default, scripts are
|
||||
processed in the background and loaded when ready (`async`). Set the state
|
||||
to `immediate` to load the script immediately (such as critical scripts).
|
||||
Use 'defer' to load the script in relative order when the DOM is fully
|
||||
built.
|
||||
options:
|
||||
values:
|
||||
- async
|
||||
- defer
|
||||
- immediate
|
@@ -23,4 +23,13 @@ arguments:
|
||||
type: bool
|
||||
optional: true
|
||||
default: false
|
||||
comment: Flag indicating the video should start playing immediately when loaded.
|
||||
comment: >-
|
||||
Flag indicating the video should start playing immediately when loaded, if
|
||||
supported by the browser. The audio will be muted.
|
||||
autotitle:
|
||||
type: bool
|
||||
optional: true
|
||||
default: false
|
||||
release: v0.25.2
|
||||
comment: >-
|
||||
Trigger to retrieve the title from the video metadata.
|
||||
|
@@ -24,7 +24,7 @@ const purgecss = require('@fullhuman/postcss-purgecss')({
|
||||
'./_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',
|
||||
'./_vendor/github.com/gethinode/mod-flexsearch/assets/scss/modules/flexsearch/flexsearch.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/twbs/bootstrap/scss/_carousel.scss',
|
||||
|
@@ -466,3 +466,13 @@ As an example, the following shortcode displays a tooltip for a colored hyperlin
|
||||
{{</* tooltip color="primary" title="Tooltip caption" href="#!" */>}}Tooltip{{</* /tooltip */>}} demonstration
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
|
||||
## Youtube
|
||||
|
||||
As an example, the following shortcode displays a Hugo quickstart guide.
|
||||
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* youtube id="w7Ft2ymGmfc" autoplay=true autotitle=true */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
|
@@ -26,7 +26,7 @@ As an example, the following shortcode displays an image with rounded corners an
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* image src="https://ik.imagekit.io/demo/default-image.jpg"
|
||||
ratio="21x9" caption="ImageKit.io image" class="rounded" */>}}
|
||||
ratio="21x9" caption="ImageKit.io image" class="rounded" anchor="Center" */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
|
||||
@@ -37,6 +37,6 @@ As an example, the following shortcode displays an image with rounded corners an
|
||||
<!-- markdownlint-disable MD037 -->
|
||||
{{< example lang="hugo" >}}
|
||||
{{</* image src="https://assets.imgix.net/examples/bluehat.jpg"
|
||||
ratio="21x9" caption="imgix image" class="rounded" */>}}
|
||||
ratio="21x9" caption="imgix image" class="rounded" anchor="Top" */>}}
|
||||
{{< /example >}}
|
||||
<!-- markdownlint-enable MD037 -->
|
||||
|
@@ -20,6 +20,7 @@
|
||||
"hr",
|
||||
"html",
|
||||
"i",
|
||||
"iframe",
|
||||
"img",
|
||||
"input",
|
||||
"label",
|
||||
@@ -239,6 +240,7 @@
|
||||
"fs-3",
|
||||
"fs-5",
|
||||
"fs-6",
|
||||
"fs-lg-5",
|
||||
"fs-md-5",
|
||||
"fw-30",
|
||||
"fw-bold",
|
||||
@@ -467,7 +469,8 @@
|
||||
"visually-hidden",
|
||||
"vr",
|
||||
"w-100",
|
||||
"w-50"
|
||||
"w-50",
|
||||
"youtube-embedded"
|
||||
],
|
||||
"ids": [
|
||||
"TableOfContents",
|
||||
@@ -568,7 +571,8 @@
|
||||
"toast-example-2",
|
||||
"toast-message-email-4",
|
||||
"toc-collapse",
|
||||
"tooltip"
|
||||
"tooltip",
|
||||
"youtube"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
16
go.mod
16
go.mod
@@ -4,14 +4,14 @@ go 1.19
|
||||
|
||||
require (
|
||||
github.com/airbnb/lottie-web v5.12.2+incompatible // indirect
|
||||
github.com/gethinode/mod-bootstrap v1.3.0 // indirect
|
||||
github.com/gethinode/mod-flexsearch v1.12.0 // indirect
|
||||
github.com/gethinode/mod-fontawesome v1.9.0 // indirect
|
||||
github.com/gethinode/mod-katex v1.1.0 // indirect
|
||||
github.com/gethinode/mod-leaflet v1.1.0 // indirect
|
||||
github.com/gethinode/mod-lottie v1.5.5 // indirect
|
||||
github.com/gethinode/mod-simple-datatables v1.0.3 // indirect
|
||||
github.com/gethinode/mod-bootstrap v1.3.1 // indirect
|
||||
github.com/gethinode/mod-flexsearch/v2 v2.0.1 // indirect
|
||||
github.com/gethinode/mod-fontawesome v1.9.1 // indirect
|
||||
github.com/gethinode/mod-katex v1.1.1 // indirect
|
||||
github.com/gethinode/mod-leaflet v1.1.1 // indirect
|
||||
github.com/gethinode/mod-lottie v1.5.6 // indirect
|
||||
github.com/gethinode/mod-simple-datatables v1.0.6 // indirect
|
||||
github.com/gethinode/mod-utils/v2 v2.3.10 // indirect
|
||||
github.com/nextapps-de/flexsearch v0.0.0-20240110101704-4c3966709f85 // indirect
|
||||
github.com/nextapps-de/flexsearch v0.0.0-20240501124520-961c3ae84a87 // indirect
|
||||
github.com/twbs/bootstrap v5.3.3+incompatible // indirect
|
||||
)
|
||||
|
20
go.sum
20
go.sum
@@ -22,6 +22,8 @@ github.com/gethinode/mod-bootstrap v1.2.8 h1:kIKSO6qqE8xA0KQC5s6kkEv5UDc8oT17Hal
|
||||
github.com/gethinode/mod-bootstrap v1.2.8/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ=
|
||||
github.com/gethinode/mod-bootstrap v1.3.0 h1:UxNmXgXo7gA8C8z1ar47+tSccmKYpaYBBN+txB0pwBk=
|
||||
github.com/gethinode/mod-bootstrap v1.3.0/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ=
|
||||
github.com/gethinode/mod-bootstrap v1.3.1 h1:ZUX72St0WZ5tyXpEPBJlayX/dmCH3cGErzsozkUKCok=
|
||||
github.com/gethinode/mod-bootstrap v1.3.1/go.mod h1:CL9IDot6nbXIWJYE/KxfsTdYYEJIGL17BXbAYPn+wVQ=
|
||||
github.com/gethinode/mod-flexsearch v1.0.1 h1:FJkRsUzSnQTXl3MWCigT4E6vfff870UWTnkGqaDGIhA=
|
||||
github.com/gethinode/mod-flexsearch v1.0.1/go.mod h1:TXbGbWsvmhBdsTzRt887mcpFfr4ORpzG3+h/l4W3YM4=
|
||||
github.com/gethinode/mod-flexsearch v1.1.0 h1:7BCMyQDlYlskNXuazt8Jg/jg9WREexu2xVkYqThkAX4=
|
||||
@@ -68,6 +70,10 @@ github.com/gethinode/mod-flexsearch v1.11.3 h1:ykxpUg8M4vr1C4QzxJOPGt+1ZmPAD/gOC
|
||||
github.com/gethinode/mod-flexsearch v1.11.3/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ=
|
||||
github.com/gethinode/mod-flexsearch v1.12.0 h1:zg1IHvc8VO9WEtQuQnuG6HeWFNByvyqC9JYWDtpsP6s=
|
||||
github.com/gethinode/mod-flexsearch v1.12.0/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ=
|
||||
github.com/gethinode/mod-flexsearch v1.12.1 h1:clkGUWaNPe9Dt/66Apy7oH9NwVQfnD6OpGSLffeC9sY=
|
||||
github.com/gethinode/mod-flexsearch v1.12.1/go.mod h1:L8hrnpupx27cez2ObMX8gWnhbW6qss4HGH1Ea4UaBRQ=
|
||||
github.com/gethinode/mod-flexsearch/v2 v2.0.1 h1:5unGUSb1tX1LBtKygnLfdt7CnVJuFKSt6VXiKRxdojc=
|
||||
github.com/gethinode/mod-flexsearch/v2 v2.0.1/go.mod h1:d7MMkVlz0l6cEk76e0mkveEsDxGfu5Sv+HUIhoGguhE=
|
||||
github.com/gethinode/mod-fontawesome v1.0.2 h1:ZSK6D20/w4y5GnfYfTBB58uHD0ChIfkpKfRGwioS9rg=
|
||||
github.com/gethinode/mod-fontawesome v1.0.2/go.mod h1:Ki1qkWEOiF0hQpCgWeZRw+HkpL6nd1DxKFptU0O2feI=
|
||||
github.com/gethinode/mod-fontawesome v1.1.0 h1:rsDzUI+3ZlS/do2ff3ne8/z3KwHeysmuA+WsXlumXXk=
|
||||
@@ -108,6 +114,8 @@ github.com/gethinode/mod-fontawesome v1.8.2 h1:LAzLytyh9c9gLzBWMju6Gtp3uEojhBQEY
|
||||
github.com/gethinode/mod-fontawesome v1.8.2/go.mod h1:xBKsZH3WJtMOItZVlp9SbO51uaBy6IbvUZSKpNu3b6Y=
|
||||
github.com/gethinode/mod-fontawesome v1.9.0 h1:xqUB8AnezMHAt8lye4ksqvmHSVPCOkiHsHGUbqNoeP0=
|
||||
github.com/gethinode/mod-fontawesome v1.9.0/go.mod h1:xBKsZH3WJtMOItZVlp9SbO51uaBy6IbvUZSKpNu3b6Y=
|
||||
github.com/gethinode/mod-fontawesome v1.9.1 h1:cQk84vriqffM4fuUUoM9j3SSD+3ppeW2j4ta7AiToMU=
|
||||
github.com/gethinode/mod-fontawesome v1.9.1/go.mod h1:xBKsZH3WJtMOItZVlp9SbO51uaBy6IbvUZSKpNu3b6Y=
|
||||
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=
|
||||
@@ -128,6 +136,8 @@ github.com/gethinode/mod-katex v1.0.9 h1:cCJoR28tZwkDvXps17o9Jwfe3aQQAZ3Rxk0jCNR
|
||||
github.com/gethinode/mod-katex v1.0.9/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
|
||||
github.com/gethinode/mod-katex v1.1.0 h1:PxST3HPUt6F2X/xKakTVeTkwWqCtEr53K1vYEOyQu3I=
|
||||
github.com/gethinode/mod-katex v1.1.0/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
|
||||
github.com/gethinode/mod-katex v1.1.1 h1:z8+mfVI6UTWcfpQMVPIzxQzt6Lp9BcmXxSOILQ84qFg=
|
||||
github.com/gethinode/mod-katex v1.1.1/go.mod h1:byAfpI3wuqNJIooTGVEGc1cjBhhCy4+CcK1H6495MYg=
|
||||
github.com/gethinode/mod-leaflet v0.2.3 h1:QQI4h+IH0jZ7fx4q0um2YIEiYBoW3OAfW8qHzbRCDPk=
|
||||
github.com/gethinode/mod-leaflet v0.2.3/go.mod h1:uGggt87x4Fw7wBoJpSiUvNkYg+s/Ujne7klAX2rxMRk=
|
||||
github.com/gethinode/mod-leaflet v0.3.1 h1:H5MaOa+BB1KuVw7abTqfIn/SNzzRsAyx/WQoSe+2Ykc=
|
||||
@@ -146,6 +156,8 @@ github.com/gethinode/mod-leaflet v1.0.1 h1:L4Coe6HTD9O0Txs1S8AtVg+6/TEneSF9i6fJK
|
||||
github.com/gethinode/mod-leaflet v1.0.1/go.mod h1:Ei0x9WiL7Dbi4JeG6yI1CE63bT1QJ8sKi67Jea1wFSE=
|
||||
github.com/gethinode/mod-leaflet v1.1.0 h1:FXzPCic5XmUluxQ6e7LYUhhLnxuQOBwry8qjG9k30UY=
|
||||
github.com/gethinode/mod-leaflet v1.1.0/go.mod h1:Ei0x9WiL7Dbi4JeG6yI1CE63bT1QJ8sKi67Jea1wFSE=
|
||||
github.com/gethinode/mod-leaflet v1.1.1 h1:AIHR4k8SjmeoZxtjLgSS6/N3jKeZNZGdZTgu/7MwP4c=
|
||||
github.com/gethinode/mod-leaflet v1.1.1/go.mod h1:Ei0x9WiL7Dbi4JeG6yI1CE63bT1QJ8sKi67Jea1wFSE=
|
||||
github.com/gethinode/mod-lottie v1.0.0 h1:1CUZMcgN5FAyjjyuP3qkaOQ6M5sv6HUAbosW4sIT5VE=
|
||||
github.com/gethinode/mod-lottie v1.0.0/go.mod h1:erRCgSL2FCfKHI0jQbSpM+g0jXl7SjKVJrh7kWGteKs=
|
||||
github.com/gethinode/mod-lottie v1.0.1 h1:+IE7xtnSVQpJS56oBJq9RWKZeFEfxrOZAqE3BSrS/u0=
|
||||
@@ -184,12 +196,18 @@ github.com/gethinode/mod-lottie v1.5.4 h1:+xbamSsjcnP2tyzGl0CA1enma7gkAp67wenmuP
|
||||
github.com/gethinode/mod-lottie v1.5.4/go.mod h1:gALqz48aYpoDLxJOI3LzIpdy0Eq/lOBNtlcOxABa9tg=
|
||||
github.com/gethinode/mod-lottie v1.5.5 h1:uEJKsz+ovsZtbGkMhPONcIhtG6M3RjYiK+iVoScLOVo=
|
||||
github.com/gethinode/mod-lottie v1.5.5/go.mod h1:VTvBxD8VokICwnEqM0VUZFZHBYxLf4/grDFQyEh1DL0=
|
||||
github.com/gethinode/mod-lottie v1.5.6 h1:dxz5nmD0XXEt/DAOc1s5fIPynj5bhzDL32EEwLFCSmk=
|
||||
github.com/gethinode/mod-lottie v1.5.6/go.mod h1:VTvBxD8VokICwnEqM0VUZFZHBYxLf4/grDFQyEh1DL0=
|
||||
github.com/gethinode/mod-simple-datatables v1.0.0 h1:Dj4WGw12OkaimwkCpLn5Jhmd49dvNJW9O2P/W9F+HlQ=
|
||||
github.com/gethinode/mod-simple-datatables v1.0.0/go.mod h1:K8T7fIdb8pMOB+OSW4A5lz5IW99+HyzcTgx764fvOGw=
|
||||
github.com/gethinode/mod-simple-datatables v1.0.2 h1:zhqxHet3iLQWYCBbGROALpOY9zQlptMycFkz1Tto5bA=
|
||||
github.com/gethinode/mod-simple-datatables v1.0.2/go.mod h1:mmrcvAJU2i3SMU56VmQ5PW43uDXBcsJKcZwCHrvl3Kc=
|
||||
github.com/gethinode/mod-simple-datatables v1.0.3 h1:JL2nBlEHWMmkE7EZrpfpmzka47dklJUh23/xKJkOQoI=
|
||||
github.com/gethinode/mod-simple-datatables v1.0.3/go.mod h1:mmrcvAJU2i3SMU56VmQ5PW43uDXBcsJKcZwCHrvl3Kc=
|
||||
github.com/gethinode/mod-simple-datatables v1.0.5 h1:2Aa4k1Bd1WEYHbskFQj+1X35BB7abB8RXHE7Uk2N4pg=
|
||||
github.com/gethinode/mod-simple-datatables v1.0.5/go.mod h1:mmrcvAJU2i3SMU56VmQ5PW43uDXBcsJKcZwCHrvl3Kc=
|
||||
github.com/gethinode/mod-simple-datatables v1.0.6 h1:voKiwLAfC7kfD+atv7ah0sOf8OcPRyxEB/Q92gx1d00=
|
||||
github.com/gethinode/mod-simple-datatables v1.0.6/go.mod h1:Y7AzIYAWpzDKLvH96eqBA/Gs3jompWCgxadLuoKZ/rc=
|
||||
github.com/gethinode/mod-utils v1.0.0 h1:cqHm2xS5uDiJzRm1KfHaNbq6uMVDKLhQa8/BuTZ1nhY=
|
||||
github.com/gethinode/mod-utils v1.0.0/go.mod h1:ONJm3pHCq7nvaPNjusLZNCeCbhOhSBH4HVKHwK1FdYE=
|
||||
github.com/gethinode/mod-utils v1.0.1 h1:jhZGlGFHHL1f5HXbBMXfiZ2gCz4TVafAzjnRPTIBSEE=
|
||||
@@ -242,6 +260,8 @@ github.com/nextapps-de/flexsearch v0.0.0-20240108021025-afd75f742f22 h1:re7L8Fxb
|
||||
github.com/nextapps-de/flexsearch v0.0.0-20240108021025-afd75f742f22/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
|
||||
github.com/nextapps-de/flexsearch v0.0.0-20240110101704-4c3966709f85 h1:H6xa5YyCHr78M+qqCApM4Kvz/eMA7pfGskYmfkEBRCA=
|
||||
github.com/nextapps-de/flexsearch v0.0.0-20240110101704-4c3966709f85/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
|
||||
github.com/nextapps-de/flexsearch v0.0.0-20240501124520-961c3ae84a87 h1:6PNbL0/LxO8Xl8MZSe5uvCidYNpFTz9nlWTqj2qdlzA=
|
||||
github.com/nextapps-de/flexsearch v0.0.0-20240501124520-961c3ae84a87/go.mod h1:5GdMfPAXzbA2gXBqTjC6l27kioSYzHlqDMh0+wyx7sU=
|
||||
github.com/twbs/bootstrap v5.3.2+incompatible h1:tuiO5acc6xnZUR77Sbi5aKWXxjYxbmsSbJwYrhAKoQQ=
|
||||
github.com/twbs/bootstrap v5.3.2+incompatible/go.mod h1:fZTSrkpSf0/HkL0IIJzvVspTt1r9zuf7XlZau8kpcY0=
|
||||
github.com/twbs/bootstrap v5.3.3+incompatible h1:goFoqinzdHfkeegpFP7pvhbd0g+A3O2hbU3XCjuNrEQ=
|
||||
|
@@ -2,12 +2,18 @@
|
||||
"htmlElements": {
|
||||
"tags": [
|
||||
"a",
|
||||
"blockquote",
|
||||
"body",
|
||||
"button",
|
||||
"div",
|
||||
"em",
|
||||
"footer",
|
||||
"form",
|
||||
"h2",
|
||||
"h3",
|
||||
"h5",
|
||||
"head",
|
||||
"hr",
|
||||
"html",
|
||||
"img",
|
||||
"input",
|
||||
@@ -16,6 +22,7 @@
|
||||
"link",
|
||||
"meta",
|
||||
"nav",
|
||||
"noscript",
|
||||
"ol",
|
||||
"p",
|
||||
"path",
|
||||
@@ -23,6 +30,7 @@
|
||||
"small",
|
||||
"span",
|
||||
"strong",
|
||||
"sup",
|
||||
"svg",
|
||||
"title",
|
||||
"ul"
|
||||
@@ -32,21 +40,36 @@
|
||||
"align-items-center",
|
||||
"align-self-center",
|
||||
"align-self-end",
|
||||
"anchor",
|
||||
"ball",
|
||||
"bg-body",
|
||||
"bg-body-tertiary",
|
||||
"bg-opacity-10",
|
||||
"bg-primary",
|
||||
"blockquote",
|
||||
"border",
|
||||
"border-0",
|
||||
"bottom-0",
|
||||
"bottom-bar",
|
||||
"breadcrumb",
|
||||
"breadcrumb-item",
|
||||
"btn",
|
||||
"btn-close",
|
||||
"btn-outline-secondary",
|
||||
"btn-primary",
|
||||
"btn-social",
|
||||
"card",
|
||||
"card-body",
|
||||
"card-body-link",
|
||||
"card-text",
|
||||
"card-title",
|
||||
"card-zoom",
|
||||
"checkbox",
|
||||
"col",
|
||||
"col-12",
|
||||
"col-6",
|
||||
"col-lg-2",
|
||||
"col-lg-8",
|
||||
"col-md-2",
|
||||
"col-md-3",
|
||||
"col-md-4",
|
||||
@@ -57,9 +80,13 @@
|
||||
"collapsed",
|
||||
"container-fluid",
|
||||
"container-xxl",
|
||||
"d-block",
|
||||
"d-flex",
|
||||
"d-grid",
|
||||
"d-inline",
|
||||
"d-lg-block",
|
||||
"d-md-block",
|
||||
"d-md-none",
|
||||
"d-none",
|
||||
"display-1",
|
||||
"display-4",
|
||||
@@ -71,36 +98,58 @@
|
||||
"fa-book-open",
|
||||
"fa-ellipsis",
|
||||
"fa-face-frown",
|
||||
"fa-facebook",
|
||||
"fa-fw",
|
||||
"fa-github",
|
||||
"fa-link",
|
||||
"fa-linkedin",
|
||||
"fa-medium",
|
||||
"fa-moon",
|
||||
"fa-share-nodes",
|
||||
"fa-sort",
|
||||
"fa-sun",
|
||||
"fa-whatsapp",
|
||||
"fa-x-twitter",
|
||||
"fab",
|
||||
"fas",
|
||||
"fixed-top",
|
||||
"flex-column",
|
||||
"flex-fill",
|
||||
"footer",
|
||||
"footnote-backref",
|
||||
"footnote-ref",
|
||||
"footnotes",
|
||||
"form-control",
|
||||
"fs-3",
|
||||
"fs-5",
|
||||
"fs-6",
|
||||
"fs-lg-5",
|
||||
"fw-30",
|
||||
"fw-bold",
|
||||
"g-4",
|
||||
"gap-1",
|
||||
"gap-2",
|
||||
"h-100",
|
||||
"h6",
|
||||
"heading",
|
||||
"hstack",
|
||||
"img-fluid",
|
||||
"img-wrap",
|
||||
"invisible",
|
||||
"is-search",
|
||||
"justify-content-between",
|
||||
"justify-content-center",
|
||||
"justify-content-end",
|
||||
"justify-content-start",
|
||||
"label",
|
||||
"lead",
|
||||
"link-bg-footer",
|
||||
"link-secondary",
|
||||
"main-content",
|
||||
"main-nav-toggler",
|
||||
"mb-3",
|
||||
"mb-5",
|
||||
"mb-lg-5",
|
||||
"me-auto",
|
||||
"middle-bar",
|
||||
"min-vh-100",
|
||||
@@ -111,7 +160,9 @@
|
||||
"mt-5",
|
||||
"mx-auto",
|
||||
"mx-md-0",
|
||||
"my-2",
|
||||
"my-auto",
|
||||
"my-md-0",
|
||||
"my-md-auto",
|
||||
"nav-item",
|
||||
"nav-link",
|
||||
@@ -123,22 +174,30 @@
|
||||
"navbar-fixed-top",
|
||||
"navbar-mode-selector",
|
||||
"navbar-nav",
|
||||
"navbar-nav-scroll",
|
||||
"navbar-toggler",
|
||||
"no-js",
|
||||
"offcanvas",
|
||||
"offcanvas-body",
|
||||
"offcanvas-header",
|
||||
"offcanvas-start",
|
||||
"offcanvas-title",
|
||||
"order-0",
|
||||
"order-1",
|
||||
"order-md-0",
|
||||
"order-md-1",
|
||||
"p-0",
|
||||
"p-1",
|
||||
"p-2",
|
||||
"p-3",
|
||||
"p-4",
|
||||
"pb-2",
|
||||
"pb-4",
|
||||
"pb-5",
|
||||
"pb-md-0",
|
||||
"position-fixed",
|
||||
"position-relative",
|
||||
"ps-1",
|
||||
"pt-4",
|
||||
"pt-5",
|
||||
"pt-md-3",
|
||||
"px-4",
|
||||
@@ -148,32 +207,63 @@
|
||||
"row",
|
||||
"row-cols-1",
|
||||
"row-cols-2",
|
||||
"row-cols-lg-3",
|
||||
"row-cols-md-2",
|
||||
"row-cols-md-3",
|
||||
"row-cols-sm-2",
|
||||
"row-cols-sm-3",
|
||||
"search",
|
||||
"search-input",
|
||||
"search-suggestions",
|
||||
"shadow",
|
||||
"sidebar-overflow",
|
||||
"sticky-top",
|
||||
"stretched-link",
|
||||
"svg-inline--fa",
|
||||
"text-body",
|
||||
"text-body-secondary",
|
||||
"text-center",
|
||||
"text-decoration-none",
|
||||
"text-end",
|
||||
"text-muted",
|
||||
"text-secondary",
|
||||
"text-sm-start",
|
||||
"text-start",
|
||||
"text-uppercase",
|
||||
"toast",
|
||||
"toast-body",
|
||||
"toast-container",
|
||||
"toast-header",
|
||||
"toc",
|
||||
"toc-button",
|
||||
"toc-panel",
|
||||
"toc-sidebar",
|
||||
"toggler-icon",
|
||||
"top-bar"
|
||||
],
|
||||
"ids": [
|
||||
"TableOfContents",
|
||||
"blogs",
|
||||
"btn-webshare",
|
||||
"fn:1",
|
||||
"fn:2",
|
||||
"fnref:1",
|
||||
"fnref:2",
|
||||
"navbar-0-collapse",
|
||||
"navbar-mode",
|
||||
"navbar-mode-checkbox",
|
||||
"offcanvas-label",
|
||||
"offcanvass-sidebar",
|
||||
"reference",
|
||||
"reference-1",
|
||||
"simple",
|
||||
"simple-1",
|
||||
"toast-container",
|
||||
"toast-copied-code-message"
|
||||
"toast-copied-code-message",
|
||||
"toast-message-email-4",
|
||||
"toc-collapse",
|
||||
"with-attribute",
|
||||
"without-attribute"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@@ -14,14 +14,16 @@
|
||||
|
||||
{{ with .Title }}<p class="display-4 mt-5">{{ . }}</p>{{ end }}
|
||||
{{ if ne $metadata "none" }}
|
||||
{{ $lastmodstr := (partial "utilities/date.html" (dict "date" .Lastmod "format" "long")) -}}
|
||||
{{ $datestr := (partial "utilities/date.html" (dict "date" .Date "format" "long")) -}}
|
||||
<small class="text-body-secondary text-uppercase">
|
||||
{{ $datestr | i18n "postedOnDate" -}}
|
||||
{{ if eq $metadata "full" }}
|
||||
{{ if ne $datestr $lastmodstr -}} ({{ $lastmodstr | i18n "lastModified" }}){{ end }}
|
||||
{{ if .Date }}
|
||||
{{ $lastmodstr := (partial "utilities/date.html" (dict "date" .Lastmod "format" "long")) -}}
|
||||
{{ $datestr := (partial "utilities/date.html" (dict "date" .Date "format" "long")) -}}
|
||||
{{ $datestr | i18n "postedOnDate" -}}
|
||||
{{ if eq $metadata "full" }}
|
||||
{{ if ne $datestr $lastmodstr -}} ({{ $lastmodstr | i18n "lastModified" }}){{ end }}
|
||||
{{ end }}
|
||||
•
|
||||
{{ end }}
|
||||
•
|
||||
{{ .ReadingTime | lang.FormatNumber 0 }} {{ i18n "minutesShort" }} {{ i18n "read" }} •
|
||||
{{ .WordCount | lang.FormatNumber 0 }} {{ i18n "words" }}
|
||||
</small>
|
||||
|
@@ -6,6 +6,19 @@
|
||||
|
||||
{{ $error := false }}
|
||||
|
||||
{{ $anchorMap := dict
|
||||
"TopLeft" "north_west"
|
||||
"Top" "north"
|
||||
"TopRight" "north_east"
|
||||
"Left" "west"
|
||||
"Center" "center"
|
||||
"Right" "east"
|
||||
"BottomLeft" "south_west"
|
||||
"Bottom" "south"
|
||||
"BottomRight" "south_east"
|
||||
"Smart" "auto"
|
||||
}}
|
||||
|
||||
<!-- Validate arguments -->
|
||||
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "image-adapter" "args" . "group" "partial") }}
|
||||
{{ errorf "partial [assets/adapter/cloudinary.html] - Invalid arguments" -}}
|
||||
@@ -20,6 +33,8 @@
|
||||
{{ $transform := .transform }}
|
||||
{{ $height := .height }}
|
||||
{{ $width := .width }}
|
||||
{{ $anchor := "" }}
|
||||
{{ with .anchor }}{{ $anchor = index $anchorMap . }}{{ end }}
|
||||
{{ if eq $transform "fill" }}{{ $transform = "c_fill" }}{{ else }}{{ $transform = "c_fit" }}{{ end }}
|
||||
{{ $element := "" }}
|
||||
|
||||
@@ -37,6 +52,9 @@
|
||||
{{ else }}
|
||||
{{ $operation = printf "f_auto,%s,h_%d,w_%d" $transform $height $width }}
|
||||
{{ end }}
|
||||
{{ with $anchor }}
|
||||
{{ $operation = printf "%s,g_%s" $operation . }}
|
||||
{{ end }}
|
||||
{{- $element = urls.JoinPath (slice "https://" $host $dir $operation $file) -}}
|
||||
{{ end }}
|
||||
|
||||
|
@@ -20,6 +20,7 @@
|
||||
{{ $transform := .transform }}
|
||||
{{ $height := .height }}
|
||||
{{ $width := .width }}
|
||||
{{ $anchor := .anchor | default "" }}
|
||||
{{ $element := "" }}
|
||||
{{ $absoluteURL := .absoluteURL }}
|
||||
{{ $url := urls.JoinPath $dir $file }}
|
||||
@@ -46,13 +47,20 @@
|
||||
{{ if not $error }}
|
||||
{{ $scaled := "" }}
|
||||
{{ if eq $transform "fill" }}
|
||||
{{- $scaled = $img.Fill (printf "%dx%d %s" $width $height $format) -}}
|
||||
{{- $scaled = $img.Fill (printf "%dx%d %s %s" $width $height $anchor $format) -}}
|
||||
{{ else }}
|
||||
{{- $scaled = $img.Fit (printf "%dx%d %s" $width $height $format) -}}
|
||||
{{ end }}
|
||||
|
||||
{{- $clean := path.Ext $img.RelPermalink -}}
|
||||
{{- $scaled = $scaled | resources.Copy (replace $img.RelPermalink $clean (printf "-%dx%d.%s" $width $height $format)) -}}
|
||||
{{ $destination := "" }}
|
||||
{{ if $anchor }}
|
||||
{{ $destination = printf "-%dx%d-%s.%s" $width $height (lower $anchor) $format }}
|
||||
{{ else }}
|
||||
{{ $destination = printf "-%dx%d.%s" $width $height $format }}
|
||||
{{ end }}
|
||||
|
||||
{{- $scaled = $scaled | resources.Copy (replace $img.RelPermalink $clean $destination) -}}
|
||||
{{- if $absoluteURL -}}
|
||||
{{- $element = $scaled.Permalink -}}
|
||||
{{- else -}}
|
||||
|
@@ -6,6 +6,19 @@
|
||||
|
||||
{{ $error := false }}
|
||||
|
||||
{{ $anchorMap := dict
|
||||
"TopLeft" "top_left"
|
||||
"Top" "top"
|
||||
"TopRight" "top_right"
|
||||
"Left" "left"
|
||||
"Center" "center"
|
||||
"Right" "right"
|
||||
"BottomLeft" "bottom_left"
|
||||
"Bottom" "bottom"
|
||||
"BottomRight" "bottom_right"
|
||||
"Smart" "auto"
|
||||
}}
|
||||
|
||||
<!-- Validate arguments -->
|
||||
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "image-adapter" "args" . "group" "partial") }}
|
||||
{{ errorf "partial [assets/adapter/imagekit.html] - Invalid arguments" -}}
|
||||
@@ -20,6 +33,8 @@
|
||||
{{ $transform := .transform }}
|
||||
{{ $height := .height }}
|
||||
{{ $width := .width }}
|
||||
{{ $anchor := "" }}
|
||||
{{ with .anchor }}{{ $anchor = index $anchorMap . }}{{ end }}
|
||||
{{ if eq $transform "fill" }}{{ $transform = "c-maintain_ratio" }}{{ else }}{{ $transform = "c-at_max" }}{{ end }}
|
||||
{{ $element := "" }}
|
||||
|
||||
@@ -42,6 +57,9 @@
|
||||
{{ else }}
|
||||
{{ $operation = printf "tr:f-auto,%s,h-%d,w-%d" $transform $height $width }}
|
||||
{{ end }}
|
||||
{{ with $anchor }}
|
||||
{{ $operation = printf "%s,fo-%s" $operation . }}
|
||||
{{ end }}
|
||||
{{- $element = urls.JoinPath (slice "https://" $host $dir $operation $file) -}}
|
||||
{{ end }}
|
||||
|
||||
|
@@ -6,6 +6,19 @@
|
||||
|
||||
{{ $error := false }}
|
||||
|
||||
{{ $anchorMap := dict
|
||||
"TopLeft" "top,left"
|
||||
"Top" "top"
|
||||
"TopRight" "top,right"
|
||||
"Left" "left"
|
||||
"Center" "center"
|
||||
"Right" "right"
|
||||
"BottomLeft" "bottom,left"
|
||||
"Bottom" "bottom"
|
||||
"BottomRight" "bottom,right"
|
||||
"Smart" "faces,edges,center"
|
||||
}}
|
||||
|
||||
<!-- Validate arguments -->
|
||||
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "image-adapter" "args" . "group" "partial") }}
|
||||
{{ errorf "partial [assets/adapter/imgix.html] - Invalid arguments" -}}
|
||||
@@ -20,6 +33,8 @@
|
||||
{{ $transform := .transform }}
|
||||
{{ $height := .height }}
|
||||
{{ $width := .width }}
|
||||
{{ $anchor := "" }}
|
||||
{{ with .anchor }}{{ $anchor = index $anchorMap . }}{{ end }}
|
||||
{{ if eq $transform "fill" }}{{ $transform = "crop" }}{{ else }}{{ $transform = "max" }}{{ end }}
|
||||
{{ $element := "" }}
|
||||
|
||||
@@ -37,6 +52,9 @@
|
||||
{{ else }}
|
||||
{{ $operation = printf "f_auto&fit=%s&h=%d&w=%d" $transform $height $width }}
|
||||
{{ end }}
|
||||
{{ with $anchor }}
|
||||
{{ $operation = printf "%s&crop=%s" $operation . }}
|
||||
{{ end }}
|
||||
{{- $element = printf "%s?%s" (urls.JoinPath (slice "https://" $host $dir $file)) $operation -}}
|
||||
{{ end }}
|
||||
|
||||
|
@@ -71,11 +71,13 @@
|
||||
<!-- headless page -->
|
||||
{{- else -}}
|
||||
{{- $thumbnail := (or (and (reflect.IsMap $element.Params.Thumbnail) $element.Params.Thumbnail.url) $element.Params.Thumbnail) -}}
|
||||
{{- $anchor := (or (and (reflect.IsMap $element.Params.Thumbnail) $element.Params.Thumbnail.anchor) "") -}}
|
||||
{{- $params = merge $params (dict
|
||||
"title" $element.Title
|
||||
"href" $element.RelPermalink
|
||||
"description" (partial "utilities/GetDescription.html" (dict "page" $element "raw" true))
|
||||
"thumbnail" $thumbnail
|
||||
"anchor" $anchor
|
||||
"icon" $element.Params.icon
|
||||
) -}}
|
||||
{{- end -}}
|
||||
@@ -118,6 +120,10 @@
|
||||
{{ end -}}
|
||||
{{ $sizes = printf "(min-width: %s) 20vw, (min-width: %s) 33.3vw, 100vw" $breakpoint.currentSize $breakpoint.prevSize }}
|
||||
{{ end -}}
|
||||
{{ else }}
|
||||
{{ if in (slice "2" "3" "4" "5") $cols }}
|
||||
{{ $sizes = replace (printf "%.1fvw" (div 100.0 (int $cols))) ".0" "" }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{- if not $paginate -}}
|
||||
@@ -127,7 +133,7 @@
|
||||
{{- if and (eq $cols "1") (eq $orientation "horizontal") }}{{ $orientation = "horizontal-sm" }}{{ end -}}
|
||||
|
||||
<!-- Main code -->
|
||||
<div class="container {{ $wrapper }} {{ if $scroll }}card-container-wrapper{{ end }}">
|
||||
<div class="container-fluid {{ $wrapper }} {{ if $scroll }}card-container-wrapper{{ end }}">
|
||||
<div class="row g-{{ $gutter }} {{ if $scroll }}d-flex flex-row flex-nowrap card-container scrollbar-horizontal pb-4 w-100 {{ end }} {{ $colGrid }}">
|
||||
{{ range $index, $element := $list }}
|
||||
{{- $params := (dict
|
||||
|
@@ -32,6 +32,7 @@
|
||||
{{- $ratio := .ratio -}}
|
||||
{{- $portrait := .portrait | default false -}}
|
||||
{{- $thumbnail := .thumbnail -}}
|
||||
{{- $anchor := .anchor | default "" -}}
|
||||
{{- $title := .title -}}
|
||||
{{- $subtle := .subtle -}}
|
||||
{{- $button := .button -}}
|
||||
@@ -59,11 +60,12 @@
|
||||
{{- if not $title }}{{ $title = .Title }}{{ end -}}
|
||||
{{- if not $href }}{{ $href = .RelPermalink }}{{ end -}}
|
||||
{{- if not $description }}{{ $description = partial "utilities/GetDescription.html" (dict "page" .) }}{{ end -}}
|
||||
{{- if not $thumbnail }}{{ $thumbnail = (or (and (reflect.IsMap .Params.Thumbnail) .Params.Thumbnail.url) .Params.Thumbnail) }}{{ end -}}
|
||||
{{- if and (not $thumbnail) (not $icon) }}{{ $thumbnail = (or (and (reflect.IsMap .Params.Thumbnail) .Params.Thumbnail.url) .Params.Thumbnail) }}{{ end -}}
|
||||
{{ if not $ratio }}
|
||||
{{- if and (reflect.IsMap .Params.Thumbnail) .Params.Thumbnail.ratio }}{{ $ratio = .Params.Thumbnail.ratio }}{{ end -}}
|
||||
{{ end }}
|
||||
{{- if not $icon }}{{ $icon = .Params.icon }}{{ end -}}
|
||||
{{- if not $anchor }}{{ $anchor = (or (and (reflect.IsMap .Params.Thumbnail) .Params.Thumbnail.anchor) "") }}{{ end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{ if (hasPrefix $orientation "horizontal") }}
|
||||
@@ -86,7 +88,7 @@
|
||||
|
||||
{{- if $href -}}
|
||||
<a href="{{ $href }}" class="{{ if $color }}link-bg-{{ $color }}{{ else }}card-body-link{{ end }} stretched-link">
|
||||
<p class="card-title fs-5 fw-bold">{{ $title }}</p>
|
||||
<p class="card-title fs-lg-5 fs-6 fw-bold">{{ $title }}</p>
|
||||
{{ with $description }}
|
||||
<div class="card-text {{ if $color }}link-bg-{{ $color }}{{ else }}card-body-link{{ end }}">
|
||||
{{ . | safeHTML }}
|
||||
@@ -95,7 +97,7 @@
|
||||
</a>
|
||||
{{- else -}}
|
||||
<div>
|
||||
{{ with $title }}<p class="card-title fs-5 fw-bold">{{ . }}</p>{{ end -}}
|
||||
{{ with $title }}<p class="card-title fs-lg-5 fs-6 fw-bold">{{ . }}</p>{{ end -}}
|
||||
{{ with $description }}<div class="card-text">{{ . | safeHTML }}</div>{{ end -}}
|
||||
</div>
|
||||
{{- end -}}
|
||||
@@ -114,7 +116,7 @@
|
||||
|
||||
<p class="card-text"><small class="{{ if $color }}text-bg-{{ $color }}{{ else }}text-body-secondary{{ end }} text-uppercase">
|
||||
{{- if in (slice "full" "publication") $keywords -}}
|
||||
{{- partial "utilities/date.html" (dict "date" $page.Date "format" "long") -}} •
|
||||
{{ with $page.Date }}{{ partial "utilities/date.html" (dict "date" . "format" "long") }} •{{ end -}}
|
||||
{{ $page.ReadingTime | lang.FormatNumber 0 }} {{ i18n "minutesShort" }} {{ i18n "read" -}}
|
||||
{{- end -}}
|
||||
|
||||
@@ -167,7 +169,7 @@
|
||||
<div class="row g-0 row-cols-2 h-100{{ if $button }} pb-5{{ end }}">
|
||||
{{- if $thumbnail -}}
|
||||
<div class="{{ $col1 }}">
|
||||
{{- partial $hook (dict "url" $thumbnail "ratio" (or $ratio "1x1") "portrait" $portrait "sizes" $sizes "wrapper" "h-100 card-img-wrap" "class" "rounded-start card-img-h100 card-img-bg" "title" $title "loading" $loading) -}}
|
||||
{{- partial $hook (dict "url" $thumbnail "ratio" (or $ratio "1x1") "portrait" $portrait "sizes" $sizes "anchor" $anchor "wrapper" "h-100 card-img-wrap" "class" "rounded-start card-img-h100 card-img-bg" "title" $title "loading" $loading) -}}
|
||||
</div>
|
||||
{{- else if $icon -}}
|
||||
<div class="{{ $col1 }} p-{{ $padding }}">
|
||||
@@ -212,7 +214,7 @@
|
||||
<!-- Render stacked / default card -->
|
||||
<div class="card {{ $colorStyle }} {{ $class }} text-{{ $align }}">
|
||||
{{- if $thumbnail -}}
|
||||
{{- partial $hook (dict "url" $thumbnail "ratio" (or $ratio "16x9") "portrait" $portrait "sizes" $sizes "wrapper" "card-img-wrap" "class" "card-img-top card-img-bg" "title" (or $alt $title) "loading" $loading) -}}
|
||||
{{- partial $hook (dict "url" $thumbnail "ratio" (or $ratio "16x9") "portrait" $portrait "anchor" $anchor "sizes" $sizes "wrapper" "card-img-wrap" "class" "card-img-top card-img-bg" "title" (or $alt $title) "loading" $loading) -}}
|
||||
{{- else if $icon -}}
|
||||
<div class="card-icon p-{{ $padding }} {{ $iconStyle }} text-{{ $align }} {{ if $iconRounded }}fa-stack {{ $stack }}{{ end }} w-100">
|
||||
{{ if $iconRounded }}
|
||||
|
@@ -15,15 +15,16 @@
|
||||
{{- $mode := .mode -}}
|
||||
{{- $modes := .modes -}}
|
||||
{{- $plain := .plain | default false }}
|
||||
{{- $anchor := .anchor }}
|
||||
|
||||
<!-- Split url into base and anchor when applicable (only relevant for vector images) -->
|
||||
{{- $anchor := "" -}}
|
||||
{{- $fileAnchor := "" -}}
|
||||
{{- $segments := split $url "#" -}}
|
||||
{{- if gt (len $segments) 2 -}}
|
||||
{{- errorf "Invalid path or url: %q" $url -}}
|
||||
{{- else if eq (len $segments) 2 }}
|
||||
{{- $url = index $segments 0 -}}
|
||||
{{- $anchor = index $segments 1 -}}
|
||||
{{- $fileAnchor = index $segments 1 -}}
|
||||
{{- end -}}
|
||||
|
||||
<!-- Obtain fallback URL and imageset definition -->
|
||||
@@ -34,6 +35,7 @@
|
||||
"portrait" $portrait
|
||||
"plain" $plain
|
||||
"imageset" true
|
||||
"anchor" $anchor
|
||||
) }}
|
||||
{{ $fallbackURL := index $target "target" }}
|
||||
{{ $imgset := index $target "set" }}
|
||||
@@ -53,7 +55,7 @@
|
||||
{{ else }}
|
||||
{{ with $wrapper }}<div class="{{ . }}">{{ end }}
|
||||
{{ end }}
|
||||
{{- if not $anchor -}}
|
||||
{{- if not $fileAnchor -}}
|
||||
<img class="img-fluid {{ $class }}"
|
||||
src="{{ $fallbackURL }}"
|
||||
{{ if $lazy }}loading="lazy"{{ end }}
|
||||
@@ -64,7 +66,7 @@
|
||||
{{ with (or $title $caption) }}alt="{{ . }}"{{ end }}>
|
||||
{{- else }}
|
||||
<svg class="{{ $class }}">
|
||||
<use href="{{ $fallbackURL }}#{{ $anchor }}"></use>
|
||||
<use href="{{ $fallbackURL }}#{{ $fileAnchor }}"></use>
|
||||
</svg>
|
||||
{{ end }}
|
||||
{{- if $caption -}}
|
||||
|
@@ -9,6 +9,7 @@
|
||||
{{- $targetURL := "" -}}
|
||||
{{- $set := "" -}}
|
||||
{{- $imageset := .imageset | default false }}
|
||||
{{- $anchor := .anchor | default "" -}}
|
||||
|
||||
<!-- Split url into base and anchor when applicable (only relevant for vector images) -->
|
||||
{{- $segments := split $url "#" -}}
|
||||
@@ -118,13 +119,21 @@
|
||||
"url" $url
|
||||
"img" $img
|
||||
"dims" ($dims | last 1)
|
||||
"anchor" $anchor
|
||||
"transform" $transform
|
||||
"hook" $hook
|
||||
"format" "jpg"
|
||||
"format" "png"
|
||||
"includeWidth" false
|
||||
)}}
|
||||
{{ if $imageset }}
|
||||
{{- $set = partial "assets/helpers/image-set.html" (dict "url" $url "img" $img "dims" $dims "transform" $transform "hook" $hook) -}}
|
||||
{{- $set = partial "assets/helpers/image-set.html" (dict
|
||||
"url" $url
|
||||
"img" $img
|
||||
"dims" $dims
|
||||
"anchor" $anchor
|
||||
"transform" $transform
|
||||
"hook" $hook
|
||||
) -}}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
|
@@ -7,6 +7,7 @@
|
||||
{{ $transform := .transform }}
|
||||
{{ $format := .format }}
|
||||
{{ $includeWidth := .includeWidth | default true }}
|
||||
{{ $anchor := .anchor | default "" }}
|
||||
|
||||
{{ $host := (urls.Parse $url).Hostname }}
|
||||
{{ $dir := (urls.Parse $url).Path }}
|
||||
@@ -35,6 +36,7 @@
|
||||
"width" $width
|
||||
"height" $height
|
||||
"format" $format
|
||||
"anchor" $anchor
|
||||
)}}
|
||||
{{ if $includeWidth }}
|
||||
{{ $imgset = $imgset | append (printf "%s %dw" $element $width) }}
|
||||
|
@@ -27,6 +27,7 @@
|
||||
{{- if eq $priority "auto" }}{{ $priority = "" }}{{ end -}}
|
||||
{{- $sizes := .sizes | default "100vw" -}}
|
||||
{{- $plain := .plain | default false -}}
|
||||
{{- $anchor := .anchor | default "" -}}
|
||||
|
||||
{{- $absoluteURL := site.Params.main.canonifyAssetsURLs | default false -}}
|
||||
{{- $url := .url -}}
|
||||
@@ -49,6 +50,7 @@
|
||||
"sizes" $sizes
|
||||
"absoluteURL" $absoluteURL
|
||||
"plain" $plain
|
||||
"anchor" $anchor
|
||||
)
|
||||
-}}
|
||||
|
||||
|
@@ -64,11 +64,11 @@
|
||||
{{- with index . "layout" }}{{ $layout = . }}{{ end -}}
|
||||
{{- with index . "pane" }}{{ $pane = . }}{{ end -}}
|
||||
{{- with index . "type" }}{{ $type = . }}{{ end -}}
|
||||
{{- with index . "vertical" }}{{ $vertical = partial "utilities/CastBool.html" . }}{{ end -}}
|
||||
{{- if (isset . "vertical") }}{{ $vertical = partial "utilities/CastBool.html" (index . "vertical") }}{{ end -}}
|
||||
{{- with index . "width" }}{{ $width = . }}{{ end -}}
|
||||
{{- with index . "kind" }}{{ $kind = . }}{{ end -}}
|
||||
{{- with index . "ratio" }}{{ $ratio = . }}{{ end -}}
|
||||
{{- with index . "wrap" }}{{ $wrap = partial "utilities/CastBool.html" . }}{{ end -}}
|
||||
{{- if (isset . "wrap") }}{{ $wrap = partial "utilities/CastBool.html" (index . "wrap") }}{{ end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{ if isset $page.Params "nested" }}
|
||||
|
@@ -27,5 +27,20 @@
|
||||
{{- with index . "state" }}{{ $state = . }}{{ end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- partial "footer/scripts.html" (dict "filename" $filename "match" $match "header" false "skipTemplate" $skipTemplate "state" $state "page" .) }}
|
||||
{{ $localize := false }}
|
||||
{{- if reflect.IsSlice $config.localize -}}
|
||||
{{- if in $config.localize $mod}}
|
||||
{{- $localize = true -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- partial "footer/scripts.html" (dict
|
||||
"filename" $filename
|
||||
"match" $match
|
||||
"header" false
|
||||
"skipTemplate" $skipTemplate
|
||||
"state" $state
|
||||
"localize" $localize
|
||||
"page" page
|
||||
) }}
|
||||
{{- end -}}
|
||||
|
@@ -1,3 +1,18 @@
|
||||
<!--
|
||||
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" "scripts" "args" . "group" "partial") }}
|
||||
{{- errorf "partial [footer/scripts.html] - Invalid arguments" -}}
|
||||
{{ $error = true }}
|
||||
{{ end }}
|
||||
|
||||
<!-- Initialize arguments -->
|
||||
{{- $absoluteURL := site.Params.main.canonifyAssetsURLs | default false -}}
|
||||
{{- $filename := .filename | default "js/main.bundle.js" -}}
|
||||
{{- $match := .match | default "{js/*.js,js/vendor/**.js}" -}}
|
||||
@@ -5,16 +20,12 @@
|
||||
{{- $header := .header -}}
|
||||
{{- $core := .core | default false -}}
|
||||
{{- $skipTemplate := .skipTemplate | default false -}}
|
||||
{{- $localize := .localize | default false }}
|
||||
|
||||
{{- $state := "async" -}}
|
||||
{{- with .state }}{{ $state = . }}{{ end -}}
|
||||
{{- $state := .state | default "async" -}}
|
||||
{{- if or $header (eq $state "immediate") }}{{ $state = "" }}{{ end -}}
|
||||
{{- $supportedStates := slice "defer" "async" "immediate" -}}
|
||||
{{- if and $state (not (in $supportedStates $state)) -}}
|
||||
{{- errorf "partial [footer/script.html] - Invalid value for param 'processing': %s" $state -}}
|
||||
{{- end -}}
|
||||
|
||||
{{ $config := page.Scratch.Get "modules" }}
|
||||
{{ $config := $page.Scratch.Get "modules" }}
|
||||
{{ if not $config }}
|
||||
{{ errorf "partial [footer/scripts.html] - Cannot initialize module configuration" }}
|
||||
{{ end }}
|
||||
@@ -22,9 +33,28 @@
|
||||
{{- $modules := "" -}}
|
||||
{{ if $core }}
|
||||
{{- $modules = $config.core -}}
|
||||
{{- if reflect.IsSlice $config.localize -}}
|
||||
{{- range $index, $mod := $modules -}}
|
||||
{{- if in $config.localize $mod}}
|
||||
{{- $localize = true -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- $bundle := partial "utilities/bundle" (dict "match" $match "filename" $filename "modules" $modules "basepath" "js/modules" "all" true "debugging" site.Params.debugging.showJS) -}}
|
||||
{{ if $localize }}
|
||||
{{ $filename = path.Join (path.Dir $filename) (printf "%s.%s%s" (path.BaseName $filename) $page.Language.Lang (path.Ext $filename)) }}
|
||||
{{ end }}
|
||||
|
||||
<!-- Main code -->
|
||||
{{- $bundle := partial "utilities/bundle" (dict
|
||||
"match" $match
|
||||
"filename" $filename
|
||||
"modules" $modules
|
||||
"basepath" "js/modules"
|
||||
"all" true
|
||||
"debugging" site.Params.debugging.showJS
|
||||
) -}}
|
||||
{{- $js := $bundle -}}
|
||||
{{- if not $skipTemplate -}}
|
||||
{{- $js = $bundle | resources.ExecuteAsTemplate $filename $page -}}
|
||||
|
@@ -17,6 +17,8 @@
|
||||
{{ end -}}
|
||||
{{ end -}}
|
||||
|
||||
{{ $alt := slice .Site.Params.schema.twitter .Site.Params.schema.linkedin .Site.Params.schema.github }}
|
||||
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
@@ -31,17 +33,7 @@
|
||||
{{ end -}}
|
||||
"name": "{{ .Site.Params.schema.name }}",
|
||||
"url": {{ print $baseURL }},
|
||||
"sameAs": [
|
||||
{{ with .Site.Params.schema.twitter -}}
|
||||
{{ . }}
|
||||
{{ end -}}
|
||||
{{ with .Site.Params.schema.linkedin -}}
|
||||
, {{ . }}
|
||||
{{ end -}}
|
||||
{{ with .Site.Params.schema.github -}}
|
||||
, {{ . }}
|
||||
{{ end -}}
|
||||
],
|
||||
"sameAs": {{ $alt | uniq | complement (slice "") }},
|
||||
{{ if eq .Site.Params.schemaType "Organization" -}}
|
||||
"logo": {
|
||||
"@type": "ImageObject",
|
||||
@@ -103,8 +95,8 @@
|
||||
"@id": {{ print $baseURL "#/schema/person/1" }}
|
||||
},
|
||||
{{ end -}}
|
||||
"datePublished": "{{ .Date.Format "2006-01-02T15:04:05CET" }}",
|
||||
"dateModified": "{{ .Lastmod.Format "2006-01-02T15:04:05CET" }}",
|
||||
{{ with .Date }}"datePublished": "{{ .Format "2006-01-02T15:04:05CET" }}",{{ end -}}
|
||||
{{ with .Lastmod }}"dateModified": "{{ .Format "2006-01-02T15:04:05CET" }}",{{ end -}}
|
||||
"breadcrumb": {
|
||||
"@id": {{ print .Permalink "#/schema/breadcrumb/1" }}
|
||||
},
|
||||
@@ -151,8 +143,8 @@
|
||||
"mainEntityOfPage": {
|
||||
"@id": {{ .Permalink }}
|
||||
},
|
||||
"datePublished": "{{ .Date.Format "2006-01-02T15:04:05CET" }}",
|
||||
"dateModified": "{{ .Lastmod.Format "2006-01-02T15:04:05CET" }}",
|
||||
{{ with .Date }}"datePublished": "{{ .Format "2006-01-02T15:04:05CET" }}",{{ end -}}
|
||||
{{ with .Lastmod }}"dateModified": "{{ .Format "2006-01-02T15:04:05CET" }}",{{ end -}}
|
||||
"author": {
|
||||
"@id": {{ print $baseURL "#/schema/person/2" }}
|
||||
},
|
||||
|
@@ -4,6 +4,7 @@
|
||||
{{ $optional := slice }}
|
||||
{{ $excludeSCSS := slice }}
|
||||
{{ $disableTemplate := slice }}
|
||||
{{ $localize := slice }}
|
||||
{{ $modules := dict }}
|
||||
|
||||
{{ range $key, $mod := $page.Site.Params.modules }}
|
||||
@@ -37,13 +38,24 @@
|
||||
{{ $disableTemplate = $disableTemplate | append $key }}
|
||||
{{ end }}
|
||||
|
||||
{{ if eq (index $mod "localize") true }}
|
||||
{{ $localize = $localize | append $key }}
|
||||
{{ end }}
|
||||
|
||||
{{ $modules = merge $modules (dict $key $mod) }}
|
||||
{{ else }}
|
||||
{{ warnf "Unsupported module parameter: %s" $key }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ $modules := dict "modules" $modules "core" $core "optional" $optional "excludeSCSS" $excludeSCSS "disableTemplate" $disableTemplate }}
|
||||
{{ $modules := dict
|
||||
"modules" $modules
|
||||
"core" $core
|
||||
"optional" $optional
|
||||
"excludeSCSS" $excludeSCSS
|
||||
"disableTemplate" $disableTemplate
|
||||
"localize" $localize
|
||||
}}
|
||||
|
||||
{{- if and $page.IsPage (not (in $core "bootstrap")) -}}
|
||||
{{- errorf "Bootstrap is a required module, please add it to 'modules.core' in your site parameters" -}}
|
||||
|
@@ -1,5 +1,3 @@
|
||||
{{ $lastmodstr := (partial "utilities/date.html" (dict "date" .Lastmod "format" "long")) -}}
|
||||
{{ $lastmodstr | i18n "lastModified" -}}
|
||||
{{ with .GitInfo }}
|
||||
• <a href="{{ site.Params.docs.github | default site.Params.schema.github }}/commit/{{ .Hash }}">{{ .Subject }} ({{ .AbbreviatedHash }})</a>
|
||||
{{ end -}}
|
@@ -49,7 +49,7 @@
|
||||
<!-- Main code -->
|
||||
{{ $show := false -}}
|
||||
{{ if not $error }}
|
||||
{{ with .Get "show" }}{{ $show = partial "utilities/CastBool.html" . }}{{ end -}}
|
||||
{{ if isset .Params "show" }}{{ $show = partial "utilities/CastBool.html" (.Get "show") }}{{ end -}}
|
||||
|
||||
<div class="accordion-item">
|
||||
{{- with $header -}}
|
||||
|
@@ -12,19 +12,25 @@
|
||||
{{ $error = true }}
|
||||
{{ end }}
|
||||
|
||||
<!-- Initialize arguments and default values -->
|
||||
{{- $id := printf "accordion-%d" .Ordinal -}}
|
||||
{{- $class := "" -}}
|
||||
{{- $open := false -}}
|
||||
{{- $body := .Inner -}}
|
||||
|
||||
{{ if .IsNamedParams }}
|
||||
{{ with .Get "id" }}{{ $id = . }}{{ end }}
|
||||
{{ with .Get "class" }}{{ $class = . }}{{ end }}
|
||||
{{ if isset .Params "always-open" }}{{ $open = partial "utilities/CastBool.html" (.Get "always-open") }}{{ end -}}
|
||||
{{ end }}
|
||||
|
||||
{{- if $open -}}
|
||||
{{- $pattern := printf "data-bs-parent=\"#%s\"" $id -}}
|
||||
{{- $body = (replace .Inner $pattern "") }}
|
||||
{{- end -}}
|
||||
|
||||
<!-- Main code -->
|
||||
{{ if not $error }}
|
||||
{{- $id := printf "accordion-%d" .Ordinal -}}
|
||||
{{ with .Get "id" }}{{ $id = . }}{{ end }}
|
||||
{{- $class := .Get "class" | default "" -}}
|
||||
{{- $open := false -}}
|
||||
{{ with .Get "always-open" }}{{ $open = partial "utilities/CastBool.html" . }}{{ end -}}
|
||||
{{- $body := .Inner -}}
|
||||
{{- if $open -}}
|
||||
{{- $pattern := printf "data-bs-parent=\"#%s\"" $id -}}
|
||||
{{- $body = (replace .Inner $pattern "") }}
|
||||
{{- end -}}
|
||||
|
||||
<div id="{{ $id }}" class="accordion mb-3{{ with $class }} {{ . }}{{ end }}">
|
||||
{{- $body | safeHTML -}}
|
||||
</div>
|
||||
|
@@ -27,7 +27,9 @@
|
||||
{{ $icon = partial "assets/icon.html" (dict "icon" (printf "%s fa-2x fa-fw" .)) }}
|
||||
{{ end }}
|
||||
{{ $dismissible := false -}}
|
||||
{{ with .Get "dismissible" }}{{ $dismissible = partial "utilities/CastBool.html" . }}{{ end -}}
|
||||
{{- if and .IsNamedParams (isset .Params "dismissible") }}
|
||||
{{ $dismissible = partial "utilities/CastBool.html" (.Get "dismissible") }}
|
||||
{{ end }}
|
||||
{{- $class := .Get "class" | default "" -}}
|
||||
|
||||
{{ $body := trim .Inner " \r\n" -}}
|
||||
|
@@ -28,7 +28,9 @@
|
||||
{{ end }}
|
||||
|
||||
{{ $parent := false -}}
|
||||
{{ with .Get "parent" }}{{ $parent = partial "utilities/CastBool.html" . }}{{ end -}}
|
||||
{{- if .IsNamedParams }}
|
||||
{{ if isset .Params "parent" }}{{ $parent = partial "utilities/CastBool.html" (.Get "parent") }}{{ end -}}
|
||||
{{ end }}
|
||||
|
||||
<!-- Main code -->
|
||||
{{ if not $error }}
|
||||
|
@@ -26,7 +26,7 @@
|
||||
{{ $size := .Get "size" | default "md" -}}
|
||||
{{ $color := .Get "color" | default "primary" -}}
|
||||
{{ $outline := false -}}
|
||||
{{ with .Get "outline" }}{{ $outline = partial "utilities/CastBool.html" . }}{{ end -}}
|
||||
{{ if isset .Params "outline" }}{{ $outline = partial "utilities/CastBool.html" (.Get "outline") }}{{ end -}}
|
||||
{{ $badge := .Get "badge" | default "" -}}
|
||||
{{ $label := or (.Get "label") (.Get "aria-label") | default "" -}}
|
||||
{{ $tooltip := .Get "tooltip" | default "" -}}
|
||||
@@ -43,11 +43,11 @@
|
||||
{{- $order := .Get "order" | default "last" -}}
|
||||
{{- $justify := .Get "justify" | default "center" -}}
|
||||
{{- $cue := site.Params.main.externalLinks.cue -}}
|
||||
{{ with .Get "cue" }}{{ $show = partial "utilities/CastBool.html" . }}{{ end -}}
|
||||
{{ if isset .Params "cue" }}{{ $cue = partial "utilities/CastBool.html" (.Get "cue") }}{{ end -}}
|
||||
{{- $tab := default site.Params.main.externalLinks.tab -}}
|
||||
{{ with .Get "tab" }}{{ $show = partial "utilities/CastBool.html" . }}{{ end -}}
|
||||
{{ if isset .Params "tab" }}{{ $tab = partial "utilities/CastBool.html" (.Get "tab") }}{{ end -}}
|
||||
{{- $spacing := default (not .Parent) -}}
|
||||
{{ with .Get "spacing" }}{{ $show = partial "utilities/CastBool.html" . }}{{ end -}}
|
||||
{{ if isset .Params "spacing" }}{{ $spacing = partial "utilities/CastBool.html" (.Get "spacing") }}{{ end -}}
|
||||
|
||||
<!-- Main code -->
|
||||
{{ if not $error }}
|
||||
|
@@ -32,6 +32,7 @@
|
||||
{{- $page := .Page -}}
|
||||
{{- $path := .Get "path" -}}
|
||||
{{- $thumbnail := .Get "thumbnail" -}}
|
||||
{{- $anchor := .Get "anchor" -}}
|
||||
{{- $title := .Get "title" -}}
|
||||
{{- $button := partial "utilities/GetArgParent" (dict "page" . "arg" "button") | default false -}}
|
||||
{{- $buttonType := partial "utilities/GetArgParent" (dict "page" . "arg" "buttonType") | default "" -}}
|
||||
@@ -81,6 +82,7 @@
|
||||
"wrapper" $wrapper
|
||||
"thumbnail" $thumbnail
|
||||
"loading" $loading
|
||||
"anchor" $anchor
|
||||
"alt" $alt
|
||||
"button" $button
|
||||
"buttonType" $buttonType
|
||||
|
@@ -49,8 +49,10 @@
|
||||
{{- errorf "File format not supported (line %s): %s" .Position $file -}}
|
||||
{{- end -}}
|
||||
|
||||
{{ $show := .Get "show" | default true -}}
|
||||
{{ $full := .Get "full" | default true -}}
|
||||
{{- $show := true -}}
|
||||
{{ if isset .Params "show" }}{{ $show = partial "utilities/CastBool.html" (.Get "show") }}{{ end -}}
|
||||
{{- $full := true -}}
|
||||
{{ if isset .Params "full" }}{{ $full = partial "utilities/CastBool.html" (.Get "full") }}{{ end -}}
|
||||
{{- $class := .Get "class" | default "" -}}
|
||||
|
||||
<!-- Main code -->
|
||||
|
@@ -33,8 +33,10 @@
|
||||
{{- $extension := strings.TrimLeft "." (path.Ext $file) }}
|
||||
{{- $lang := .Get "lang" | default $extension -}}
|
||||
{{- $id := .Get "id" | default (printf "file-collapse-%d" .Ordinal) -}}
|
||||
{{ $show := .Get "show" | default true -}}
|
||||
{{ $full := .Get "full" | default true -}}
|
||||
{{- $show := true -}}
|
||||
{{ if isset .Params "show" }}{{ $show = partial "utilities/CastBool.html" (.Get "show") }}{{ end -}}
|
||||
{{- $full := true -}}
|
||||
{{ if isset .Params "full" }}{{ $full = partial "utilities/CastBool.html" (.Get "full") }}{{ end -}}
|
||||
{{- $class := .Get "class" | default "" -}}
|
||||
|
||||
<!-- Main code -->
|
||||
|
@@ -25,6 +25,7 @@
|
||||
{{- $loading := "" -}}
|
||||
{{- $error := false -}}
|
||||
{{- $plain := false -}}
|
||||
{{- $anchor := "" -}}
|
||||
|
||||
{{- if .IsNamedParams -}}
|
||||
{{ $url = .Get "src" | default "" -}}
|
||||
@@ -36,9 +37,10 @@
|
||||
{{ $title = .Get "title" | default "" -}}
|
||||
{{ $caption = .Get "caption" | default "" -}}
|
||||
{{ $figclass = .Get "figclass" | default "" -}}
|
||||
{{ with .Get "mode" }}{{ $mode = partial "utilities/CastBool.html" . }}{{ end -}}
|
||||
{{ with .Get "portrait" }}{{ $portrait = partial "utilities/CastBool.html" . }}{{ end -}}
|
||||
{{ with .Get "plain" }}{{ $plain = partial "utilities/CastBool.html" . }}{{ end -}}
|
||||
{{ if isset .Params "mode" }}{{ $mode = partial "utilities/CastBool.html" (.Get "mode") }}{{ end -}}
|
||||
{{ if isset .Params "portrait" }}{{ $portrait = partial "utilities/CastBool.html" (.Get "portrait") }}{{ end -}}
|
||||
{{ if isset .Params "plain" }}{{ $plain = partial "utilities/CastBool.html" (.Get "plain") }}{{ end -}}
|
||||
{{ $anchor = .Get "anchor" | default "" -}}
|
||||
{{ else -}}
|
||||
{{ $url = .Get 0 }}
|
||||
{{ end -}}
|
||||
@@ -61,6 +63,7 @@
|
||||
"mode" $mode
|
||||
"portrait" $portrait
|
||||
"plain" $plain
|
||||
"anchor" $anchor
|
||||
"loading" $loading
|
||||
"page" .Page)
|
||||
-}}
|
||||
|
@@ -24,9 +24,9 @@
|
||||
{{- end -}}
|
||||
|
||||
{{- $fade := false -}}
|
||||
{{ with .Get "fade" }}{{ $fade = partial "utilities/CastBool.html" . }}{{ end -}}
|
||||
{{ if isset .Params "fade" }}{{ $fade = partial "utilities/CastBool.html" (.Get "fade") }}{{ end -}}
|
||||
{{- $parentFade := false }}
|
||||
{{ with .Parent.Get "fade" }}{{ $parentFade = partial "utilities/CastBool.html" . }}{{ end -}}
|
||||
{{ if isset .Parent.Params "fade" }}{{ $parentFade = partial "utilities/CastBool.html" (.Parent.Get "fade") }}{{ end -}}
|
||||
{{ $fade = or $fade $parentFade }}
|
||||
{{- $header := .Get "header" | default "" -}}
|
||||
{{- $class := .Get "class" | default "" -}}
|
||||
|
@@ -19,9 +19,9 @@
|
||||
{{ $supportedNavTypes := slice "tabs" "pills" "underline" "callout" -}}
|
||||
|
||||
{{ $vertical := false -}}
|
||||
{{ with .Get "vertical" }}{{ $vertical = partial "utilities/CastBool.html" . }}{{ end -}}
|
||||
{{ if isset .Params "vertical" }}{{ $vertical = partial "utilities/CastBool.html" (.Get "vertical") }}{{ end -}}
|
||||
{{ $wrap := false -}}
|
||||
{{ with .Get "wrap" }}{{ $wrap = partial "utilities/CastBool.html" . }}{{ end -}}
|
||||
{{ if isset .Params "wrap" }}{{ $wrap = partial "utilities/CastBool.html" (.Get "wrap") }}{{ end -}}
|
||||
|
||||
{{- if and (eq $type "tabs") $vertical -}}
|
||||
{{- errorf "Tabs do not support vertical layout" -}}
|
||||
|
@@ -29,9 +29,9 @@
|
||||
{{ if eq $style "light" }}{{ $inverseStyle = "dark" }}{{ end -}}
|
||||
{{ $color := .Get "color" | default "" -}}
|
||||
{{ $searchParam := true -}}
|
||||
{{ with .Get "search" }}{{ $searchParam = partial "utilities/CastBool.html" . }}{{ end -}}
|
||||
{{ if isset .Params "search" }}{{ $searchParam = partial "utilities/CastBool.html" (.Get "search") }}{{ end -}}
|
||||
{{ $modeParam := true -}}
|
||||
{{ with .Get "mode" }}{{ $modeParam = partial "utilities/CastBool.html" . }}{{ end -}}
|
||||
{{ if isset .Params "mode" }}{{ $modeParam = partial "utilities/CastBool.html" (.Get "mode") }}{{ end -}}
|
||||
{{ $logo := .Get "logo" | default "" -}}
|
||||
{{ $title := .Get "title" | default "" -}}
|
||||
{{- $class := .Get "class" | default "" -}}
|
||||
|
@@ -16,9 +16,9 @@
|
||||
{{- $version := .Get "version" | default "" -}}
|
||||
{{- $state := .Get "state" | default "new" -}}
|
||||
{{- $short := false -}}
|
||||
{{ with .Get "short" }}{{ $short = partial "utilities/CastBool.html" . }}{{ end -}}
|
||||
{{ if isset .Params "short" }}{{ $short = partial "utilities/CastBool.html" (.Get "short") }}{{ end -}}
|
||||
{{- $inline := false -}}
|
||||
{{ with .Get "inline" }}{{ $inline = partial "utilities/CastBool.html" . }}{{ end -}}
|
||||
{{ if isset .Params "inline" }}{{ $inline = partial "utilities/CastBool.html" (.Get "inline") }}{{ end -}}
|
||||
{{- $title := $version -}}
|
||||
{{- $color := "primary" -}}
|
||||
{{- if eq $state "deprecated" -}}
|
||||
|
@@ -15,7 +15,7 @@
|
||||
<!-- Initialize arguments -->
|
||||
{{ $color := .Get "color" | default "primary" -}}
|
||||
{{ $grow := false -}}
|
||||
{{ with .Get "grow" }}{{ $grow = partial "utilities/CastBool.html" . }}{{ end -}}
|
||||
{{ if isset .Params "grow" }}{{ $grow = partial "utilities/CastBool.html" (.Get "grow") }}{{ end -}}
|
||||
{{ $class := .Get "class" | default "" -}}
|
||||
|
||||
<!-- Main code -->
|
||||
|
@@ -22,9 +22,9 @@
|
||||
{{- if .IsNamedParams -}}
|
||||
{{ $breakpoint = .Get "breakpoint" }}
|
||||
{{ $class = .Get "class" | default "" }}
|
||||
{{ with (.Get "sortable")}} {{ $sortable = partial "utilities/CastBool.html" . }}{{ end }}
|
||||
{{ with (.Get "paging")}} {{ $paging = partial "utilities/CastBool.html" . }}{{ end }}
|
||||
{{ with (.Get "searchable")}} {{ $searchable = partial "utilities/CastBool.html" . }}{{ end }}
|
||||
{{ 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 }}
|
||||
{{ else }}
|
||||
{{ $breakpoint = .Get 0 }}
|
||||
{{ end }}
|
||||
|
@@ -7,6 +7,8 @@
|
||||
following modifications:
|
||||
- Isolated the styles to comply with the Content Security Policy
|
||||
- Added validation of shortcode arguments
|
||||
- Added support to retrieve the title from the video metadata
|
||||
- Adjusted autoplay configuration
|
||||
- Modified the layout
|
||||
|
||||
The original source code is available on:
|
||||
@@ -16,26 +18,53 @@
|
||||
|
||||
{{- $pc := .Page.Site.Config.Privacy.YouTube -}}
|
||||
{{- if not $pc.Disable -}}
|
||||
{{ $error := false }}
|
||||
{{ $error := false }}
|
||||
|
||||
<!-- Validate arguments -->
|
||||
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "youtube" "args" .Params) }}
|
||||
{{ errorf "Invalid arguments: %s" .Position -}}
|
||||
{{ $error = true }}
|
||||
{{ end }}
|
||||
<!-- Validate arguments -->
|
||||
{{ if partial "utilities/IsInvalidArgs.html" (dict "structure" "youtube" "args" .Params) }}
|
||||
{{ errorf "Invalid arguments: %s" .Position -}}
|
||||
{{ $error = true }}
|
||||
{{ end }}
|
||||
|
||||
<!-- Initialize arguments -->
|
||||
{{- $id := "" -}}
|
||||
{{- $class := "" -}}
|
||||
{{- $title := "YouTube Video" }}
|
||||
{{- $autoplay := false }}
|
||||
{{- $autotitle := false }}
|
||||
{{- $host := cond $pc.PrivacyEnhanced "www.youtube-nocookie.com" "www.youtube.com" -}}
|
||||
|
||||
{{- if .IsNamedParams }}
|
||||
{{ with .Get "id" }}{{ $id = . }}{{ end }}
|
||||
{{ with .Get "class" }}{{ $class = . }}{{ end }}
|
||||
{{ with .Get "title" }}{{ $title = . }}{{ end }}
|
||||
{{ if isset .Params "autoplay" }}{{ $autoplay = partial "utilities/CastBool.html" (.Get "autoplay") }}{{ end -}}
|
||||
{{ if isset .Params "autotitle" }}{{ $autotitle = partial "utilities/CastBool.html" (.Get "autotitle") }}{{ end -}}
|
||||
{{ else }}
|
||||
{{- $id = .Get 0 -}}
|
||||
{{- $class = .Get 1 -}}
|
||||
{{ end }}
|
||||
|
||||
<!-- Initialize arguments -->
|
||||
{{- $id := .Get "id" | default (.Get 0) -}}
|
||||
{{- $class := .Get "class" | default (.Get 1) -}}
|
||||
{{- $title := .Get "title" | default "YouTube Video" }}
|
||||
{{- $autoplay := false }}
|
||||
{{ with .Get "autoplay" }}{{ $autoplay = partial "utilities/CastBool.html" . }}{{ end -}}
|
||||
{{- $host := cond $pc.PrivacyEnhanced "www.youtube-nocookie.com" "www.youtube.com" -}}
|
||||
|
||||
<!-- Main code -->
|
||||
<div class="youtube-embedded {{ $class }}">
|
||||
<iframe src="https://{{ $host }}/embed/{{ $id }}?origin={{ .Site.BaseURL }}{{ if $autoplay }}&autoplay=1{{ end }}"
|
||||
allowfullscreen title="{{ $title }}">
|
||||
{{ $url := printf "https://%s/embed/%s?origin=%s" $host $id .Site.BaseURL }}
|
||||
{{ $api := printf "https://www.youtube.com/oembed?format=json&url=%s" (printf "https://www.youtube.com/watch?v=%s" $id) }}
|
||||
|
||||
{{ if $autotitle }}
|
||||
{{ with resources.GetRemote $api }}
|
||||
{{ with .Err }}
|
||||
{{ errorf "Unable to parse video metadata '%q': %s\n %s" $api .Position . }}
|
||||
{{ else }}
|
||||
{{ $data := . | transform.Unmarshal }}
|
||||
{{ with $data.title }}{{ $title = . }}{{ end }}
|
||||
{{ end }}
|
||||
{{ else }}
|
||||
{{ errorf "Unable to get video metadata '%q': %s" $api .Position }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
<!-- Main code -->
|
||||
<div class="youtube-embedded {{ $class }}">
|
||||
<iframe src="{{ $url }}{{ if $autoplay }}&autoplay=1&mute=1{{ end }}"
|
||||
allowfullscreen title="{{ $title }}" {{ if $autoplay }}allow="autoplay"{{ end }}>
|
||||
</iframe>
|
||||
</div>
|
||||
</div>
|
||||
{{ end -}}
|
@@ -39,9 +39,13 @@
|
||||
{{ $lastYear := $.Scratch.Get "lastYear"}}
|
||||
<div class="row mt-2">
|
||||
<div class="d-none d-{{ $breakpoint.prev }}-block col-{{ $breakpoint.prev }}-3 mt-auto text-right">
|
||||
<time class="post-date" datetime="{{ .Date.Format "2006-01-02T15:04:05Z07:00" | safeHTML }}">
|
||||
{{ (partial "utilities/date.html" (dict "date" .Date "format" "medium")) }}
|
||||
</time>
|
||||
{{ with .Date }}
|
||||
<time class="post-date" datetime="{{ .Format "2006-01-02T15:04:05Z07:00" | safeHTML }}">
|
||||
{{ (partial "utilities/date.html" (dict "date" . "format" "medium")) }}
|
||||
</time>
|
||||
{{ else }}
|
||||
-
|
||||
{{ end }}
|
||||
</div>
|
||||
<div class="col">
|
||||
{{ if ne $year $lastYear }}
|
||||
|
@@ -4,12 +4,12 @@
|
||||
command = "npm run build:example"
|
||||
|
||||
[build.environment]
|
||||
DART_SASS_VERSION = "1.77.0"
|
||||
HUGO_VERSION = "0.125.7"
|
||||
DART_SASS_VERSION = "1.77.5"
|
||||
HUGO_VERSION = "0.131.0"
|
||||
HUGO_ENV = "production"
|
||||
HUGO_ENABLEGITINFO = "true"
|
||||
NODE_VERSION = "18.20.2"
|
||||
NPM_VERSION = "10.5.0"
|
||||
NODE_VERSION = "20.16.0"
|
||||
NPM_VERSION = "10.8.1"
|
||||
# toml-docs-end netlify
|
||||
|
||||
[[headers]]
|
||||
|
104
package-lock.json
generated
104
package-lock.json
generated
@@ -1,19 +1,19 @@
|
||||
{
|
||||
"name": "@gethinode/hinode",
|
||||
"version": "0.24.20",
|
||||
"version": "0.25.3",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "@gethinode/hinode",
|
||||
"version": "0.24.20",
|
||||
"version": "0.25.3",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@fullhuman/postcss-purgecss": "^6.0.0",
|
||||
"autoprefixer": "^10.4.19",
|
||||
"autoprefixer": "^10.4.20",
|
||||
"cssnano": "^7.0.4",
|
||||
"cssnano-preset-advanced": "^7.0.4",
|
||||
"hugo-bin": "0.126.0",
|
||||
"hugo-bin": "0.128.0",
|
||||
"purgecss-whitelister": "^2.4.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
@@ -30,7 +30,7 @@
|
||||
"replace-in-files-cli": "^3.0.0",
|
||||
"rimraf": "^6.0.1",
|
||||
"shx": "^0.3.4",
|
||||
"stylelint": "^16.7.0",
|
||||
"stylelint": "^16.8.1",
|
||||
"stylelint-config-standard-scss": "^13.1.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
@@ -990,9 +990,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/autoprefixer": {
|
||||
"version": "10.4.19",
|
||||
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz",
|
||||
"integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==",
|
||||
"version": "10.4.20",
|
||||
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz",
|
||||
"integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "opencollective",
|
||||
@@ -1008,11 +1008,11 @@
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"browserslist": "^4.23.0",
|
||||
"caniuse-lite": "^1.0.30001599",
|
||||
"browserslist": "^4.23.3",
|
||||
"caniuse-lite": "^1.0.30001646",
|
||||
"fraction.js": "^4.3.7",
|
||||
"normalize-range": "^0.1.2",
|
||||
"picocolors": "^1.0.0",
|
||||
"picocolors": "^1.0.1",
|
||||
"postcss-value-parser": "^4.2.0"
|
||||
},
|
||||
"bin": {
|
||||
@@ -1150,9 +1150,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/browserslist": {
|
||||
"version": "4.23.1",
|
||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.1.tgz",
|
||||
"integrity": "sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==",
|
||||
"version": "4.23.3",
|
||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz",
|
||||
"integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "opencollective",
|
||||
@@ -1168,10 +1168,10 @@
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"caniuse-lite": "^1.0.30001629",
|
||||
"electron-to-chromium": "^1.4.796",
|
||||
"node-releases": "^2.0.14",
|
||||
"update-browserslist-db": "^1.0.16"
|
||||
"caniuse-lite": "^1.0.30001646",
|
||||
"electron-to-chromium": "^1.5.4",
|
||||
"node-releases": "^2.0.18",
|
||||
"update-browserslist-db": "^1.1.0"
|
||||
},
|
||||
"bin": {
|
||||
"browserslist": "cli.js"
|
||||
@@ -1307,9 +1307,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001636",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001636.tgz",
|
||||
"integrity": "sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==",
|
||||
"version": "1.0.30001649",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001649.tgz",
|
||||
"integrity": "sha512-fJegqZZ0ZX8HOWr6rcafGr72+xcgJKI9oWfDW5DrD7ExUtgZC7a7R7ZYmZqplh7XDocFdGeIFn7roAxhOeYrPQ==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "opencollective",
|
||||
@@ -1682,9 +1682,9 @@
|
||||
"integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g=="
|
||||
},
|
||||
"node_modules/debug": {
|
||||
"version": "4.3.5",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
|
||||
"integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
|
||||
"version": "4.3.6",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz",
|
||||
"integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"ms": "2.1.2"
|
||||
@@ -1869,9 +1869,9 @@
|
||||
"integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="
|
||||
},
|
||||
"node_modules/electron-to-chromium": {
|
||||
"version": "1.4.806",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.806.tgz",
|
||||
"integrity": "sha512-nkoEX2QIB8kwCOtvtgwhXWy2IHVcOLQZu9Qo36uaGB835mdX/h8uLRlosL6QIhLVUnAiicXRW00PwaPZC74Nrg=="
|
||||
"version": "1.5.4",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.4.tgz",
|
||||
"integrity": "sha512-orzA81VqLyIGUEA77YkVA1D+N+nNfl2isJVjjmOyrlxuooZ19ynb+dOlaDTqd/idKRS9lDCSBmtzM+kyCsMnkA=="
|
||||
},
|
||||
"node_modules/emoji-regex": {
|
||||
"version": "8.0.0",
|
||||
@@ -3313,9 +3313,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/hugo-bin": {
|
||||
"version": "0.126.0",
|
||||
"resolved": "https://registry.npmjs.org/hugo-bin/-/hugo-bin-0.126.0.tgz",
|
||||
"integrity": "sha512-tncBaQ1Gku3eVKB7PUiubj1VGXdTVB7OCYgrRqwlxxYMaIte9weg+uvEkZLJZJItNMv2wV2GpfIXblS5mLlvvg==",
|
||||
"version": "0.128.0",
|
||||
"resolved": "https://registry.npmjs.org/hugo-bin/-/hugo-bin-0.128.0.tgz",
|
||||
"integrity": "sha512-WX8lcZS1jUTcsyylpXj+HqqtKwBjbMgXORhHmvIalfsUAm7EivN6Z54Wo8783zrjprPVPUlNXiJdXKMK42tUKg==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
@@ -4277,9 +4277,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/node-releases": {
|
||||
"version": "2.0.14",
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
|
||||
"integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw=="
|
||||
"version": "2.0.18",
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz",
|
||||
"integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g=="
|
||||
},
|
||||
"node_modules/normalize-package-data": {
|
||||
"version": "2.5.0",
|
||||
@@ -4851,9 +4851,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/postcss": {
|
||||
"version": "8.4.39",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.39.tgz",
|
||||
"integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==",
|
||||
"version": "8.4.40",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.40.tgz",
|
||||
"integrity": "sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "opencollective",
|
||||
@@ -5378,9 +5378,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/postcss-resolve-nested-selector": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.1.tgz",
|
||||
"integrity": "sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==",
|
||||
"version": "0.1.4",
|
||||
"resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.4.tgz",
|
||||
"integrity": "sha512-R6vHqZWgVnTAPq0C+xjyHfEZqfIYboCBVSy24MjxEDm+tIh1BU4O6o7DP7AA7kHzf136d+Qc5duI4tlpHjixDw==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/postcss-safe-parser": {
|
||||
@@ -5436,9 +5436,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/postcss-selector-parser": {
|
||||
"version": "6.1.0",
|
||||
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz",
|
||||
"integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==",
|
||||
"version": "6.1.1",
|
||||
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz",
|
||||
"integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==",
|
||||
"dependencies": {
|
||||
"cssesc": "^3.0.0",
|
||||
"util-deprecate": "^1.0.2"
|
||||
@@ -6555,9 +6555,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/stylelint": {
|
||||
"version": "16.7.0",
|
||||
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.7.0.tgz",
|
||||
"integrity": "sha512-Q1ATiXlz+wYr37a7TGsfvqYn2nSR3T/isw3IWlZQzFzCNoACHuGBb6xBplZXz56/uDRJHIygxjh7jbV/8isewA==",
|
||||
"version": "16.8.1",
|
||||
"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.8.1.tgz",
|
||||
"integrity": "sha512-O8aDyfdODSDNz/B3gW2HQ+8kv8pfhSu7ZR7xskQ93+vI6FhKKGUJMQ03Ydu+w3OvXXE0/u4hWU4hCPNOyld+OA==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -6580,7 +6580,7 @@
|
||||
"cosmiconfig": "^9.0.0",
|
||||
"css-functions-list": "^3.2.2",
|
||||
"css-tree": "^2.3.1",
|
||||
"debug": "^4.3.5",
|
||||
"debug": "^4.3.6",
|
||||
"fast-glob": "^3.3.2",
|
||||
"fastest-levenshtein": "^1.0.16",
|
||||
"file-entry-cache": "^9.0.0",
|
||||
@@ -6597,10 +6597,10 @@
|
||||
"micromatch": "^4.0.7",
|
||||
"normalize-path": "^3.0.0",
|
||||
"picocolors": "^1.0.1",
|
||||
"postcss": "^8.4.39",
|
||||
"postcss-resolve-nested-selector": "^0.1.1",
|
||||
"postcss": "^8.4.40",
|
||||
"postcss-resolve-nested-selector": "^0.1.4",
|
||||
"postcss-safe-parser": "^7.0.0",
|
||||
"postcss-selector-parser": "^6.1.0",
|
||||
"postcss-selector-parser": "^6.1.1",
|
||||
"postcss-value-parser": "^4.2.0",
|
||||
"resolve-from": "^5.0.0",
|
||||
"string-width": "^4.2.3",
|
||||
@@ -7153,9 +7153,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/update-browserslist-db": {
|
||||
"version": "1.0.16",
|
||||
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz",
|
||||
"integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==",
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz",
|
||||
"integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "opencollective",
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@gethinode/hinode",
|
||||
"version": "0.24.20",
|
||||
"version": "0.25.3",
|
||||
"description": "Hinode is a clean documentation and blog theme for Hugo, an open-source static site generator",
|
||||
"keywords": [
|
||||
"hugo",
|
||||
@@ -68,10 +68,10 @@
|
||||
"homepage": "https://gethinode.com",
|
||||
"dependencies": {
|
||||
"@fullhuman/postcss-purgecss": "^6.0.0",
|
||||
"autoprefixer": "^10.4.19",
|
||||
"autoprefixer": "^10.4.20",
|
||||
"cssnano": "^7.0.4",
|
||||
"cssnano-preset-advanced": "^7.0.4",
|
||||
"hugo-bin": "0.126.0",
|
||||
"hugo-bin": "0.128.0",
|
||||
"purgecss-whitelister": "^2.4.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
@@ -88,7 +88,7 @@
|
||||
"replace-in-files-cli": "^3.0.0",
|
||||
"rimraf": "^6.0.1",
|
||||
"shx": "^0.3.4",
|
||||
"stylelint": "^16.7.0",
|
||||
"stylelint": "^16.8.1",
|
||||
"stylelint-config-standard-scss": "^13.1.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
|
Reference in New Issue
Block a user