Compare commits

...

25 Commits

Author SHA1 Message Date
stereobooster fdb9bca97e
Merge 82f17fff6a into 54c39a1297 2023-10-31 15:46:24 +00:00
stereobooster 82f17fff6a Add quicklink 2023-10-31 16:45:24 +01:00
James Panther 54c39a1297
🔨 Preparing release v2.7.3 2023-10-31 09:51:32 +11:00
James Panther c87c9adece
🐛 Pass article meta to `safeHTML` to type hint for `delimit` function
Fixes #689
2023-10-31 09:19:58 +11:00
James Panther bba8df99ac
🔀 Merge pull request #688 from jpanther/dependabot/github_actions/actions/setup-node-4
👷 Bump actions/setup-node from 3 to 4
2023-10-29 09:24:58 +11:00
dependabot[bot] c96582cf47
👷 Bump actions/setup-node from 3 to 4
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3 to 4.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-28 22:08:48 +00:00
James Panther 0ba7e136fc
📝 Update author links to use X (Twitter) logo 2023-10-26 14:37:42 +11:00
James Panther 75f7179050
🔨 Preparing release v2.7.2 2023-10-26 13:57:28 +11:00
James Panther 70f668e644
🐛 Fix empty `li` output when no locales available
Fixes #678
2023-10-26 13:30:47 +11:00
James Panther e689e54112
📝 Update changelog 2023-10-26 12:36:03 +11:00
James Panther ef41fe92d1
🔀 Merge pull request #685 from jpanther/dependabot/npm_and_yarn/fuse.js-7.0.0
📌 Bump fuse.js from 6.6.2 to 7.0.0
2023-10-26 12:32:25 +11:00
James Panther 83b20869fa
🔀 Merge pull request #684 from jpanther/dependabot/npm_and_yarn/mermaid-10.6.0
📌 Bump mermaid from 10.5.1 to 10.6.0
2023-10-26 11:46:26 +11:00
James Panther 6225dc132d
🔀 Merge pull request #686 from jpanther/dependabot/npm_and_yarn/tailwindcss-3.3.5
📌 Bump tailwindcss from 3.3.4 to 3.3.5
2023-10-26 09:56:59 +11:00
dependabot[bot] af4afd737a 💄 Rebuild CSS 2023-10-25 22:41:16 +00:00
dependabot[bot] ff660c0f17 📦 Update packaged FuseJS 2023-10-25 22:41:01 +00:00
dependabot[bot] 4363dc8421 📦 Update packaged Mermaid 2023-10-25 22:40:50 +00:00
dependabot[bot] 6118814a46
📌 Bump tailwindcss from 3.3.4 to 3.3.5
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 3.3.4 to 3.3.5.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v3.3.4...v3.3.5)

---
updated-dependencies:
- dependency-name: tailwindcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-25 22:40:48 +00:00
dependabot[bot] 6a65123650
📌 Bump fuse.js from 6.6.2 to 7.0.0
Bumps [fuse.js](https://github.com/krisk/Fuse) from 6.6.2 to 7.0.0.
- [Release notes](https://github.com/krisk/Fuse/releases)
- [Changelog](https://github.com/krisk/Fuse/blob/main/CHANGELOG.md)
- [Commits](https://github.com/krisk/Fuse/compare/v6.6.2...v7.0.0)

---
updated-dependencies:
- dependency-name: fuse.js
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-25 22:40:35 +00:00
dependabot[bot] fb25ca40de
📌 Bump mermaid from 10.5.1 to 10.6.0
Bumps [mermaid](https://github.com/mermaid-js/mermaid) from 10.5.1 to 10.6.0.
- [Release notes](https://github.com/mermaid-js/mermaid/releases)
- [Changelog](https://github.com/mermaid-js/mermaid/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/mermaid-js/mermaid/compare/v10.5.1...v10.6.0)

---
updated-dependencies:
- dependency-name: mermaid
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-25 22:40:26 +00:00
James Panther e58f3544af
🔧 Update GitHub Bug Report template 2023-10-25 09:46:58 +11:00
James Panther 5a74d6a027
📝 Update changelog 2023-10-25 09:28:41 +11:00
James Panther 89c2b40935
🔀 Merge pull request #681 from jpanther/dependabot/npm_and_yarn/tailwindcss-3.3.4
📌 Bump tailwindcss from 3.3.3 to 3.3.4
2023-10-25 09:27:17 +11:00
dependabot[bot] f4f035dbd4 💄 Rebuild CSS 2023-10-24 22:14:19 +00:00
dependabot[bot] a40fe796f9
📌 Bump tailwindcss from 3.3.3 to 3.3.4
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 3.3.3 to 3.3.4.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v3.3.3...v3.3.4)

---
updated-dependencies:
- dependency-name: tailwindcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-24 22:13:56 +00:00
James Panther 7810026589
🐛 Fix extra whitespace added in render hooks
Fixed #679
2023-10-25 09:11:10 +11:00
27 changed files with 626 additions and 355 deletions

View File

@ -10,6 +10,7 @@ body:
Before proceeding, please ensure the issue you're reporting is: Before proceeding, please ensure the issue you're reporting is:
- not caused by local customisations in your project - not caused by local customisations in your project
- reproducible using the latest stable release of the theme - reproducible using the latest stable release of the theme
- not due to the local Hugo cache being out of date (run `hugo mod clean` to clear the cache)
- not already covered by an open issue ([check open issues](https://github.com/jpanther/congo/issues)) - not already covered by an open issue ([check open issues](https://github.com/jpanther/congo/issues))
- not a general question or feature request (use [GitHub Discussions](https://github.com/jpanther/congo/discussions) instead) - not a general question or feature request (use [GitHub Discussions](https://github.com/jpanther/congo/discussions) instead)
@ -24,8 +25,8 @@ body:
id: theme-version id: theme-version
attributes: attributes:
label: Theme version label: Theme version
description: What version of the theme are you using? If you have not tested this issue with the latest theme release, please do so before submitting a bug report. description: What version of Congo are you using? An easy way to check the version of the code running in your environment is by verifying the theme version comment at the top of the `main.css` file in the built output of your site.
placeholder: eg. v2.6.0 placeholder: eg. v2.7.1
validations: validations:
required: true required: true
- type: input - type: input
@ -33,7 +34,7 @@ body:
attributes: attributes:
label: Hugo version label: Hugo version
description: What version of Hugo are you using? Please provide the output of the `hugo version` command. description: What version of Hugo are you using? Please provide the output of the `hugo version` command.
placeholder: eg. hugo v0.114.0+extended darwin/arm64 placeholder: eg. hugo v0.119.0+extended darwin/arm64
validations: validations:
required: true required: true
- type: dropdown - type: dropdown

View File

@ -12,7 +12,7 @@ jobs:
with: with:
ref: "${{ github.head_ref }}" ref: "${{ github.head_ref }}"
- name: Install dependencies and Build Theme - name: Install dependencies and Build Theme
uses: actions/setup-node@v3 uses: actions/setup-node@v4
- run: npm install - run: npm install
- run: npm run assets - run: npm run assets
- name: Commit and push Chart.js changes - name: Commit and push Chart.js changes

View File

@ -1,9 +1,11 @@
{ {
"plugins": ["prettier-plugin-go-template"],
"goTemplateBracketSpacing": true, "goTemplateBracketSpacing": true,
"htmlWhitespaceSensitivity": "css", "htmlWhitespaceSensitivity": "css",
"printWidth": 100, "printWidth": 100,
"singleQuote": false, "singleQuote": false,
"tabWidth": 2, "tabWidth": 2,
"useTabs": false,
"trailingComma": "es5", "trailingComma": "es5",
"overrides": [ "overrides": [
{ {

View File

@ -6,6 +6,25 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
## [Unreleased] ## [Unreleased]
## [2.7.3] - 2023-10-31
### Fixed
- Article metadata HTML is output as text when using Hugo v0.120.0 ([#689](https://github.com/jpanther/congo/pull/689))
## [2.7.2] - 2023-10-26
### Changed
- Upgrade to Tailwind v3.3.5 ([#681](https://github.com/jpanther/congo/pull/681), [#686](https://github.com/jpanther/congo/pull/686))
- Upgrade to Mermaid v10.6.0 ([#684](https://github.com/jpanther/congo/pull/684))
- Upgrade to FuseJS v7.0.0 ([#685](https://github.com/jpanther/congo/pull/685))
### Fixed
- Empty block is output when locale switcher is hidden ([#678](https://github.com/jpanther/congo/issues/678))
- Extra whitespace added after links ([#679](https://github.com/jpanther/congo/issues/679))
## [2.7.1] - 2023-10-24 ## [2.7.1] - 2023-10-24
### Changed ### Changed
@ -755,7 +774,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
- Advanced customisation using simple Tailwind colour definitions and styles - Advanced customisation using simple Tailwind colour definitions and styles
- Fully documented - Fully documented
[Unreleased]: https://github.com/jpanther/congo/compare/v2.7.1...HEAD [Unreleased]: https://github.com/jpanther/congo/compare/v2.7.3...HEAD
[2.7.3]: https://github.com/jpanther/congo/compare/v2.7.2...v2.7.3
[2.7.2]: https://github.com/jpanther/congo/compare/v2.7.1...v2.7.2
[2.7.1]: https://github.com/jpanther/congo/compare/v2.7.0...v2.7.1 [2.7.1]: https://github.com/jpanther/congo/compare/v2.7.0...v2.7.1
[2.7.0]: https://github.com/jpanther/congo/compare/v2.6.1...v2.7.0 [2.7.0]: https://github.com/jpanther/congo/compare/v2.6.1...v2.7.0
[2.6.1]: https://github.com/jpanther/congo/compare/v2.6.0...v2.6.1 [2.6.1]: https://github.com/jpanther/congo/compare/v2.6.0...v2.6.1

View File

@ -1,6 +1,6 @@
/*! Congo v2.7.1 | MIT License | https://github.com/jpanther/congo */ /*! Congo v2.7.3 | MIT License | https://github.com/jpanther/congo */
/*! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com */ /*! tailwindcss v3.3.5 | MIT License | https://tailwindcss.com */
/* /*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) 1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
@ -1140,8 +1140,7 @@ body:has(#menu-controller:checked) {
} }
.toc ul ul { .toc ul ul {
-webkit-padding-start: 1rem; padding-inline-start: 1rem;
padding-inline-start: 1rem;
} }
.toc a { .toc a {
@ -1848,8 +1847,7 @@ body:has(#menu-controller:checked) {
} }
.-ms-5 { .-ms-5 {
-webkit-margin-start: -1.25rem; margin-inline-start: -1.25rem;
margin-inline-start: -1.25rem;
} }
.-mt-3 { .-mt-3 {
@ -1885,18 +1883,15 @@ body:has(#menu-controller:checked) {
} }
.me-14 { .me-14 {
-webkit-margin-end: 3.5rem; margin-inline-end: 3.5rem;
margin-inline-end: 3.5rem;
} }
.me-2 { .me-2 {
-webkit-margin-end: 0.5rem; margin-inline-end: 0.5rem;
margin-inline-end: 0.5rem;
} }
.me-4 { .me-4 {
-webkit-margin-end: 1rem; margin-inline-end: 1rem;
margin-inline-end: 1rem;
} }
.ml-2 { .ml-2 {
@ -1908,13 +1903,11 @@ body:has(#menu-controller:checked) {
} }
.ms-1 { .ms-1 {
-webkit-margin-start: 0.25rem; margin-inline-start: 0.25rem;
margin-inline-start: 0.25rem;
} }
.ms-2 { .ms-2 {
-webkit-margin-start: 0.5rem; margin-inline-start: 0.5rem;
margin-inline-start: 0.5rem;
} }
.mt-0 { .mt-0 {
@ -2363,38 +2356,31 @@ body:has(#menu-controller:checked) {
} }
.pe-10 { .pe-10 {
-webkit-padding-end: 2.5rem; padding-inline-end: 2.5rem;
padding-inline-end: 2.5rem;
} }
.pe-2 { .pe-2 {
-webkit-padding-end: 0.5rem; padding-inline-end: 0.5rem;
padding-inline-end: 0.5rem;
} }
.pe-3 { .pe-3 {
-webkit-padding-end: 0.75rem; padding-inline-end: 0.75rem;
padding-inline-end: 0.75rem;
} }
.pe-4 { .pe-4 {
-webkit-padding-end: 1rem; padding-inline-end: 1rem;
padding-inline-end: 1rem;
} }
.pe-5 { .pe-5 {
-webkit-padding-end: 1.25rem; padding-inline-end: 1.25rem;
padding-inline-end: 1.25rem;
} }
.ps-2 { .ps-2 {
-webkit-padding-start: 0.5rem; padding-inline-start: 0.5rem;
padding-inline-start: 0.5rem;
} }
.ps-5 { .ps-5 {
-webkit-padding-start: 1.25rem; padding-inline-start: 1.25rem;
padding-inline-start: 1.25rem;
} }
.pt-3 { .pt-3 {
@ -2979,8 +2965,7 @@ body:has(#menu-controller:checked) {
} }
.sm\:me-7 { .sm\:me-7 {
-webkit-margin-end: 1.75rem; margin-inline-end: 1.75rem;
margin-inline-end: 1.75rem;
} }
.sm\:flex { .sm\:flex {
@ -3030,8 +3015,7 @@ body:has(#menu-controller:checked) {
} }
.sm\:pe-6 { .sm\:pe-6 {
-webkit-padding-end: 1.5rem; padding-inline-end: 1.5rem;
padding-inline-end: 1.5rem;
} }
.sm\:pt-10 { .sm\:pt-10 {
@ -3044,13 +3028,11 @@ body:has(#menu-controller:checked) {
} }
.sm\:last\:me-0:last-child { .sm\:last\:me-0:last-child {
-webkit-margin-end: 0px; margin-inline-end: 0px;
margin-inline-end: 0px;
} }
.sm\:last\:me-0\.5:last-child { .sm\:last\:me-0\.5:last-child {
-webkit-margin-end: 0.125rem; margin-inline-end: 0.125rem;
margin-inline-end: 0.125rem;
} }
} }
@ -3108,8 +3090,7 @@ body:has(#menu-controller:checked) {
} }
.lg\:ps-8 { .lg\:ps-8 {
-webkit-padding-start: 2rem; padding-inline-start: 2rem;
padding-inline-start: 2rem;
} }
} }

View File

@ -1,4 +1,4 @@
/*! Congo v2.7.1 | MIT License | https://github.com/jpanther/congo */ /*! Congo v2.7.3 | MIT License | https://github.com/jpanther/congo */
@tailwind base; @tailwind base;
@tailwind components; @tailwind components;

View File

@ -0,0 +1,4 @@
window.addEventListener("load", () => {
quicklink.listen();
});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n(e.quicklink={})}(this,function(e){function n(e){return new Promise(function(n,r,t){(t=new XMLHttpRequest).open("GET",e,t.withCredentials=!0),t.onload=function(){200===t.status?n():r()},t.send()})}var r,t=(r=document.createElement("link")).relList&&r.relList.supports&&r.relList.supports("prefetch")?function(e){return new Promise(function(n,r,t){(t=document.createElement("link")).rel="prefetch",t.href=e,t.onload=n,t.onerror=r,document.head.appendChild(t)})}:n,o=window.requestIdleCallback||function(e){var n=Date.now();return setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-n))}})},1)},i=new Set,c=new Set,u=!1;function a(e){if(e){if(e.saveData)return new Error("Save-Data is enabled");if(/2g/.test(e.effectiveType))return new Error("network conditions are poor")}return!0}function s(e,r,o){var s=a(navigator.connection);return s instanceof Error?Promise.reject(new Error("Cannot prefetch, "+s.message)):(c.size>0&&!u&&console.warn("[Warning] You are using both prefetching and prerendering on the same document"),Promise.all([].concat(e).map(function(e){if(!i.has(e))return i.add(e),(r?function(e){return window.fetch?fetch(e,{credentials:"include"}):n(e)}:t)(new URL(e,location.href).toString())})))}function f(e,n){var r=a(navigator.connection);if(r instanceof Error)return Promise.reject(new Error("Cannot prerender, "+r.message));if(!HTMLScriptElement.supports("speculationrules"))return s(e),Promise.reject(new Error("This browser does not support the speculation rules API. Falling back to prefetch."));if(document.querySelector('script[type="speculationrules"]'))return Promise.reject(new Error("Speculation Rules is already defined and cannot be altered."));for(var t=0,o=[].concat(e);t<o.length;t+=1){var f=o[t];if(window.location.origin!==new URL(f,window.location.href).origin)return Promise.reject(new Error("Only same origin URLs are allowed: "+f));c.add(f)}i.size>0&&!u&&console.warn("[Warning] You are using both prefetching and prerendering on the same document");var l=function(e){var n=document.createElement("script");n.type="speculationrules",n.text='{"prerender":[{"source": "list","urls": ["'+Array.from(e).join('","')+'"]}]}';try{document.head.appendChild(n)}catch(e){return e}return!0}(c);return!0===l?Promise.resolve():Promise.reject(l)}e.listen=function(e){if(e||(e={}),window.IntersectionObserver){var n=function(e){e=e||1;var n=[],r=0;function t(){r<e&&n.length>0&&(n.shift()(),r++)}return[function(e){n.push(e)>1||t()},function(){r--,t()}]}(e.throttle||1/0),r=n[0],t=n[1],a=e.limit||1/0,l=e.origins||[location.hostname],d=e.ignores||[],h=e.delay||0,p=[],m=e.timeoutFn||o,w="function"==typeof e.hrefFn&&e.hrefFn,g=e.prerender||!1;u=e.prerenderAndPrefetch||!1;var v=new IntersectionObserver(function(n){n.forEach(function(n){if(n.isIntersecting)p.push((n=n.target).href),function(e,n){n?setTimeout(e,n):e()}(function(){-1!==p.indexOf(n.href)&&(v.unobserve(n),(u||g)&&c.size<1?f(w?w(n):n.href).catch(function(n){if(!e.onError)throw n;e.onError(n)}):i.size<a&&!g&&r(function(){s(w?w(n):n.href,e.priority).then(t).catch(function(n){t(),e.onError&&e.onError(n)})}))},h);else{var o=p.indexOf((n=n.target).href);o>-1&&p.splice(o)}})},{threshold:e.threshold||0});return m(function(){(e.el||document).querySelectorAll("a").forEach(function(e){l.length&&!l.includes(e.hostname)||function e(n,r){return Array.isArray(r)?r.some(function(r){return e(n,r)}):(r.test||r).call(r,n.href,n)}(e,d)||v.observe(e)})},{timeout:e.timeout||2e3}),function(){i.clear(),v.disconnect()}}},e.prefetch=s,e.prerender=f});

View File

@ -56,7 +56,7 @@ title = "Congo"
# { tiktok = "https://tiktok.com/@username" }, # { tiktok = "https://tiktok.com/@username" },
# { tumblr = "https://username.tumblr.com" }, # { tumblr = "https://username.tumblr.com" },
# { twitch = "https://twitch.tv/username" }, # { twitch = "https://twitch.tv/username" },
# { twitter = "https://twitter.com/username" },
# { whatsapp = "https://wa.me/phone-number" }, # { whatsapp = "https://wa.me/phone-number" },
# { x-twitter = "https://twitter.com/username" },
# { youtube = "https://youtube.com/username" }, # { youtube = "https://youtube.com/username" },
# ] # ]

View File

@ -18,7 +18,7 @@ copyright = "&copy; 2023 Congo contributors"
headline = "Nicht dein Durschnitts-Theme!" headline = "Nicht dein Durschnitts-Theme!"
bio = "Dies ist ein Beispiel für eine Autorenbiografie, und obwohl hier ein Stockfoto eines Hundes zu sehen ist, wurde dieser Artikel tatsächlich von einem Menschen verfasst. :dog:" bio = "Dies ist ein Beispiel für eine Autorenbiografie, und obwohl hier ein Stockfoto eines Hundes zu sehen ist, wurde dieser Artikel tatsächlich von einem Menschen verfasst. :dog:"
links = [ links = [
{ twitter = "https://twitter.com/" }, { x-twitter = "https://twitter.com/" },
{ facebook = "https://facebook.com/" }, { facebook = "https://facebook.com/" },
{ linkedin = "https://linkedin.com/" }, { linkedin = "https://linkedin.com/" },
{ youtube = "https://youtube.com/" }, { youtube = "https://youtube.com/" },

View File

@ -18,7 +18,7 @@ copyright = "&copy; 2023 Congo contributors"
headline = "Not your ordinary theme!" headline = "Not your ordinary theme!"
bio = "This is an example author bio, and although there's a stock photo of a dog here, this article was actually created by a human. :dog:" bio = "This is an example author bio, and although there's a stock photo of a dog here, this article was actually created by a human. :dog:"
links = [ links = [
{ twitter = "https://twitter.com/" }, { x-twitter = "https://twitter.com/" },
{ facebook = "https://facebook.com/" }, { facebook = "https://facebook.com/" },
{ linkedin = "https://linkedin.com/" }, { linkedin = "https://linkedin.com/" },
{ youtube = "https://youtube.com/" }, { youtube = "https://youtube.com/" },

View File

@ -18,7 +18,7 @@ copyright = "&copy; 2023 Congo contributors"
headline = "¡No es tu tema ordinario!" headline = "¡No es tu tema ordinario!"
bio = "Esta es una biografía de autor de ejemplo, y aunque aquí hay una foto de un perro, este artículo en realidad fue creado por un ser humano. :dog:" bio = "Esta es una biografía de autor de ejemplo, y aunque aquí hay una foto de un perro, este artículo en realidad fue creado por un ser humano. :dog:"
links = [ links = [
{ twitter = "https://twitter.com/" }, { x-twitter = "https://twitter.com/" },
{ facebook = "https://facebook.com/" }, { facebook = "https://facebook.com/" },
{ linkedin = "https://linkedin.com/" }, { linkedin = "https://linkedin.com/" },
{ youtube = "https://youtube.com/" }, { youtube = "https://youtube.com/" },

View File

@ -18,7 +18,7 @@ copyright = "&copy; 2023 Congo contributors"
headline = "ただならぬテーマ!" headline = "ただならぬテーマ!"
bio = "これは著者の経歴の例で、ここには犬の画像があるが、実際には人間が作成したものである。 :dog:" bio = "これは著者の経歴の例で、ここには犬の画像があるが、実際には人間が作成したものである。 :dog:"
links = [ links = [
{ twitter = "https://twitter.com/" }, { x-twitter = "https://twitter.com/" },
{ facebook = "https://facebook.com/" }, { facebook = "https://facebook.com/" },
{ linkedin = "https://linkedin.com/" }, { linkedin = "https://linkedin.com/" },
{ youtube = "https://youtube.com/" }, { youtube = "https://youtube.com/" },

View File

@ -12,6 +12,7 @@ autoSwitchAppearance = true
enableSearch = true enableSearch = true
enableCodeCopy = true enableCodeCopy = true
enableImageLazyLoading = true enableImageLazyLoading = true
enableQuicklink = true
# robots = "" # robots = ""
fingerprintAlgorithm = "sha256" fingerprintAlgorithm = "sha256"

View File

@ -1 +1 @@
<h{{ .Level }} id="{{ .Anchor | safeURL }}" class="relative group">{{ .Text | safeHTML }} {{ if .Page.Params.showHeadingAnchors | default (.Page.Site.Params.article.showHeadingAnchors | default true) }}<span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"><a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#{{ .Anchor | safeURL }}" aria-label="{{ i18n "article.anchor_label" }}">#</a></span>{{ end }}</h{{ .Level }}> <h{{ .Level }} id="{{ .Anchor | safeURL }}" class="relative group">{{ .Text | safeHTML }} {{ if .Page.Params.showHeadingAnchors | default (.Page.Site.Params.article.showHeadingAnchors | default true) }}<span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"><a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#{{ .Anchor | safeURL }}" aria-label="{{ i18n "article.anchor_label" }}">#</a></span>{{ end }}</h{{ .Level }}>

View File

@ -61,4 +61,4 @@
{{ with $caption }}<figcaption class="text-center">{{ . | markdownify }}</figcaption>{{ end }} {{ with $caption }}<figcaption class="text-center">{{ . | markdownify }}</figcaption>{{ end }}
</figure> </figure>
{{ end }} {{ end }}
{{ end }} {{ end }}

View File

@ -1,10 +1,11 @@
{{ $link := .Destination }} {{ $link := .Destination }}
{{ $isRemote := strings.HasPrefix $link "http" }} {{ $isRemote := strings.HasPrefix $link "http" }}
{{- if not $isRemote -}} {{- if not $isRemote }}
{{ $url := urls.Parse .Destination }} {{ $url := urls.Parse .Destination }}
{{- if $url.Path -}} {{ if $url.Path }}
{{ $fragment := "" }} {{ $fragment := "" }}
{{- with $url.Fragment }}{{ $fragment = printf "#%s" . }}{{ end -}} {{- with $url.Fragment }}{{ $fragment = printf "#%s" . }}{{ end -}}
{{- with .Page.GetPage $url.Path }}{{ $link = printf "%s%s" .RelPermalink $fragment }}{{ end }}{{ end -}} {{- with .Page.GetPage $url.Path }}{{ $link = printf "%s%s" .RelPermalink $fragment }}{{ end -}}
{{- end -}} {{ end }}
<a href="{{ $link | safeURL }}"{{ with .Title}} title="{{ . }}"{{ end }}{{ if $isRemote }} target="_blank" rel="noreferrer"{{ end }}>{{ .Text | safeHTML }}</a> {{ end -}}
<a href="{{ $link | safeURL }}"{{ with .Title }} title="{{ . }}"{{ end }}{{ if $isRemote }} target="_blank" rel="noreferrer"{{ end }}>{{- .Text | safeHTML -}}</a>

View File

@ -36,7 +36,7 @@
<div class="flex flex-row flex-wrap items-center"> <div class="flex flex-row flex-wrap items-center">
{{/* Output partials */}} {{/* Output partials */}}
{{ with ($meta.Get "partials") }} {{ with ($meta.Get "partials") }}
{{ delimit . "<span class=\"px-2 text-primary-500\">&middot;</span>" }} {{ delimit . "<span class=\"px-2 text-primary-500\">&middot;</span>" | safeHTML }}
{{ end }} {{ end }}
{{/* Output draft label */}} {{/* Output draft label */}}

View File

@ -2,9 +2,12 @@
{{/* Footer menu */}} {{/* Footer menu */}}
{{ if .Site.Menus.footer }} {{ if .Site.Menus.footer }}
<nav class="pb-4 text-base font-medium text-neutral-500 dark:text-neutral-400"> <nav class="pb-4 text-base font-medium text-neutral-500 dark:text-neutral-400">
<ul class="flex list-none flex-col sm:flex-row"> <ul class="flex flex-col list-none sm:flex-row">
{{ range .Site.Menus.footer }} {{ range .Site.Menus.footer }}
<li class="group mb-1 text-end sm:mb-0 sm:me-7 sm:last:me-0"> {{ if and (eq .Params.action "locale") (and (not page.IsTranslated) (not site.IsMultiLingual)) }}
{{ continue }}
{{ end }}
<li class="mb-1 group text-end sm:mb-0 sm:me-7 sm:last:me-0">
{{ if eq .Params.action "search" }} {{ if eq .Params.action "search" }}
{{ $.Scratch.Add "searchCount" 1 }} {{ $.Scratch.Add "searchCount" 1 }}
{{ if $.Site.Params.enableSearch | default false }} {{ if $.Site.Params.enableSearch | default false }}
@ -14,7 +17,7 @@
> >
{{ with .Params.icon }} {{ with .Params.icon }}
<span <span
class="group-dark:hover:text-primary-400 transition-colors group-hover:text-primary-600" class="transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600"
> >
{{- partial "icon.html" . -}} {{- partial "icon.html" . -}}
</span> </span>
@ -34,13 +37,13 @@
aria-label="appearance switcher" aria-label="appearance switcher"
> >
<span <span
class="group-dark:hover:text-primary-400 inline transition-colors group-hover:text-primary-600 dark:hidden" class="inline transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600 dark:hidden"
title="{{ i18n "footer.dark_appearance" }}" title="{{ i18n "footer.dark_appearance" }}"
> >
{{ partial "icon.html" "moon" }} {{ partial "icon.html" "moon" }}
</span> </span>
<span <span
class="group-dark:hover:text-primary-400 hidden transition-colors group-hover:text-primary-600 dark:inline" class="hidden transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600 dark:inline"
title="{{ i18n "footer.light_appearance" }}" title="{{ i18n "footer.light_appearance" }}"
> >
{{ partial "icon.html" "sun" }} {{ partial "icon.html" "sun" }}
@ -56,7 +59,7 @@
{{ with .Params.target }}target="{{ . }}"{{ end }} {{ with .Params.target }}target="{{ . }}"{{ end }}
>{{ with .Params.icon }} >{{ with .Params.icon }}
<span <span
class="group-dark:hover:text-primary-400 transition-colors group-hover:text-primary-600" class="transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600"
> >
{{- partial "icon.html" . -}} {{- partial "icon.html" . -}}
</span> </span>
@ -114,13 +117,13 @@
> >
<button id="appearance-switcher-0" type="button" aria-label="appearance switcher"> <button id="appearance-switcher-0" type="button" aria-label="appearance switcher">
<div <div
class="flex h-12 w-12 items-center justify-center dark:hidden" class="flex items-center justify-center w-12 h-12 dark:hidden"
title="{{ i18n "footer.dark_appearance" }}" title="{{ i18n "footer.dark_appearance" }}"
> >
{{ partial "icon.html" "moon" }} {{ partial "icon.html" "moon" }}
</div> </div>
<div <div
class="hidden h-12 w-12 items-center justify-center dark:flex" class="items-center justify-center hidden w-12 h-12 dark:flex"
title="{{ i18n "footer.light_appearance" }}" title="{{ i18n "footer.light_appearance" }}"
> >
{{ partial "icon.html" "sun" }} {{ partial "icon.html" "sun" }}

View File

@ -43,6 +43,11 @@
{{ $jsSearch := resources.Get "js/search.js" }} {{ $jsSearch := resources.Get "js/search.js" }}
{{ $assets.Add "js" (slice $jsFuse $jsSearch) }} {{ $assets.Add "js" (slice $jsFuse $jsSearch) }}
{{ end }} {{ end }}
{{ if .Site.Params.enableQuicklink | default false }}
{{ $jsQuicklink := resources.Get "lib/quicklink/quicklink.umd.js" }}
{{ $jsQuicklinkInit := resources.Get "js/quicklink.js" }}
{{ $assets.Add "js" (slice $jsQuicklink $jsQuicklinkInit) }}
{{ end }}
{{ if .Site.Params.enableCodeCopy | default false }} {{ if .Site.Params.enableCodeCopy | default false }}
{{ $jsCode := resources.Get "js/code.js" }} {{ $jsCode := resources.Get "js/code.js" }}
{{ $assets.Add "js" (slice $jsCode) }} {{ $assets.Add "js" (slice $jsCode) }}

View File

@ -6,9 +6,12 @@
</div> </div>
{{/* Main menu */}} {{/* Main menu */}}
{{ if or .Site.Menus.main (.Site.Params.enableSearch | default false) }} {{ if or .Site.Menus.main (.Site.Params.enableSearch | default false) }}
<ul class="flex list-none flex-col text-end sm:flex-row"> <ul class="flex flex-col list-none text-end sm:flex-row">
{{ if .Site.Menus.main }} {{ if .Site.Menus.main }}
{{ range .Site.Menus.main }} {{ range .Site.Menus.main }}
{{ if and (eq .Params.action "locale") (and (not page.IsTranslated) (not site.IsMultiLingual)) }}
{{ continue }}
{{ end }}
<li class="group mb-1 sm:mb-0 sm:me-7 sm:last:me-0.5"> <li class="group mb-1 sm:mb-0 sm:me-7 sm:last:me-0.5">
{{ if eq .Params.action "search" }} {{ if eq .Params.action "search" }}
{{ $.Scratch.Add "searchCount" 1 }} {{ $.Scratch.Add "searchCount" 1 }}
@ -19,7 +22,7 @@
> >
{{ with .Params.icon | default "search" }} {{ with .Params.icon | default "search" }}
<span <span
class="group-dark:hover:text-primary-400 transition-colors group-hover:text-primary-600" class="transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600"
> >
{{- partial "icon.html" . -}} {{- partial "icon.html" . -}}
</span> </span>
@ -39,7 +42,7 @@
aria-label="appearance switcher" aria-label="appearance switcher"
> >
<span <span
class="group-dark:hover:text-primary-400 inline transition-colors group-hover:text-primary-600 dark:hidden" class="inline transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600 dark:hidden"
title="{{ i18n "footer.dark_appearance" }}" title="{{ i18n "footer.dark_appearance" }}"
> >
{{ with .Params.icon | default "moon" }} {{ with .Params.icon | default "moon" }}
@ -53,7 +56,7 @@
{{ end }} {{ end }}
</span> </span>
<span <span
class="group-dark:hover:text-primary-400 hidden transition-colors group-hover:text-primary-600 dark:inline" class="hidden transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600 dark:inline"
title="{{ i18n "footer.light_appearance" }}" title="{{ i18n "footer.light_appearance" }}"
> >
{{ with .Params.icon | default "sun" }} {{ with .Params.icon | default "sun" }}
@ -77,7 +80,7 @@
{{ with .Params.target }}target="{{ . }}"{{ end }} {{ with .Params.target }}target="{{ . }}"{{ end }}
>{{ with .Params.icon }} >{{ with .Params.icon }}
<span <span
class="group-dark:hover:text-primary-400 transition-colors group-hover:text-primary-600" class="transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600"
> >
{{- partial "icon.html" . -}} {{- partial "icon.html" . -}}
</span> </span>
@ -92,10 +95,10 @@
</li> </li>
{{ end }} {{ end }}
{{ if and ($.Site.Params.enableSearch | default false) (eq ($.Scratch.Get "searchCount") 0) }} {{ if and ($.Site.Params.enableSearch | default false) (eq ($.Scratch.Get "searchCount") 0) }}
<li class="group mb-1 sm:mb-0 sm:me-7 sm:last:me-0"> <li class="mb-1 group sm:mb-0 sm:me-7 sm:last:me-0">
<button id="search-button-m0" title="{{ i18n "search.open_button_title" }}"> <button id="search-button-m0" title="{{ i18n "search.open_button_title" }}">
<span <span
class="group-dark:hover:text-primary-400 transition-colors group-hover:text-primary-600" class="transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600"
> >
{{ partial "icon.html" "search" }} {{ partial "icon.html" "search" }}
</span> </span>

View File

@ -13,10 +13,10 @@
</div> </div>
<div <div
id="menu-wrapper" id="menu-wrapper"
class="invisible fixed inset-0 z-30 m-auto h-full w-full cursor-default overflow-auto bg-neutral-100/50 opacity-0 backdrop-blur-sm transition-opacity dark:bg-neutral-900/50" class="fixed inset-0 z-30 invisible w-full h-full m-auto overflow-auto transition-opacity opacity-0 cursor-default bg-neutral-100/50 backdrop-blur-sm dark:bg-neutral-900/50"
> >
<ul <ul
class="mx-auto flex w-full max-w-7xl list-none flex-col overflow-visible px-6 py-6 text-end sm:px-14 sm:py-10 sm:pt-10 md:px-24 lg:px-32" class="flex flex-col w-full px-6 py-6 mx-auto overflow-visible list-none max-w-7xl text-end sm:px-14 sm:py-10 sm:pt-10 md:px-24 lg:px-32"
> >
<li class="mb-1"> <li class="mb-1">
<span class="cursor-pointer hover:text-primary-600 dark:hover:text-primary-400" <span class="cursor-pointer hover:text-primary-600 dark:hover:text-primary-400"
@ -25,7 +25,10 @@
</li> </li>
{{ if .Site.Menus.main }} {{ if .Site.Menus.main }}
{{ range .Site.Menus.main }} {{ range .Site.Menus.main }}
<li class="group mb-1"> {{ if and (eq .Params.action "locale") (and (not page.IsTranslated) (not site.IsMultiLingual)) }}
{{ continue }}
{{ end }}
<li class="mb-1 group">
{{ if eq .Params.action "search" }} {{ if eq .Params.action "search" }}
{{ $.Scratch.Add "searchCount" 1 }} {{ $.Scratch.Add "searchCount" 1 }}
{{ if $.Site.Params.enableSearch | default false }} {{ if $.Site.Params.enableSearch | default false }}
@ -35,7 +38,7 @@
> >
{{ with .Params.icon | default "search" }} {{ with .Params.icon | default "search" }}
<span <span
class="group-dark:hover:text-primary-400 transition-colors group-hover:text-primary-600" class="transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600"
> >
{{- partial "icon.html" . -}} {{- partial "icon.html" . -}}
</span> </span>
@ -55,7 +58,7 @@
aria-label="appearance switcher" aria-label="appearance switcher"
> >
<span <span
class="group-dark:hover:text-primary-400 inline transition-colors group-hover:text-primary-600 dark:hidden" class="inline transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600 dark:hidden"
title="{{ i18n "footer.dark_appearance" }}" title="{{ i18n "footer.dark_appearance" }}"
> >
{{ with .Params.icon | default "moon" }} {{ with .Params.icon | default "moon" }}
@ -69,7 +72,7 @@
{{ end }} {{ end }}
</span> </span>
<span <span
class="group-dark:hover:text-primary-400 hidden transition-colors group-hover:text-primary-600 dark:inline" class="hidden transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600 dark:inline"
title="{{ i18n "footer.light_appearance" }}" title="{{ i18n "footer.light_appearance" }}"
> >
{{ with .Params.icon | default "sun" }} {{ with .Params.icon | default "sun" }}
@ -93,7 +96,7 @@
{{ with .Params.target }}target="{{ . }}"{{ end }} {{ with .Params.target }}target="{{ . }}"{{ end }}
>{{ with .Params.icon }} >{{ with .Params.icon }}
<span <span
class="group-dark:hover:text-primary-400 transition-colors group-hover:text-primary-600" class="transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600"
> >
{{- partial "icon.html" . -}} {{- partial "icon.html" . -}}
</span> </span>
@ -108,10 +111,10 @@
</li> </li>
{{ end }} {{ end }}
{{ if and ($.Site.Params.enableSearch | default false) (eq ($.Scratch.Get "searchCount") 0) }} {{ if and ($.Site.Params.enableSearch | default false) (eq ($.Scratch.Get "searchCount") 0) }}
<li class="group mb-1"> <li class="mb-1 group">
<button id="search-button-m0" title="{{ i18n "search.open_button_title" }}"> <button id="search-button-m0" title="{{ i18n "search.open_button_title" }}">
<span <span
class="group-dark:hover:text-primary-400 transition-colors group-hover:text-primary-600" class="transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600"
> >
{{ partial "icon.html" "search" }} {{ partial "icon.html" "search" }}
</span> </span>

View File

@ -13,10 +13,10 @@
</div> </div>
<div <div
id="menu-wrapper" id="menu-wrapper"
class="invisible fixed inset-0 z-30 m-auto h-full w-full cursor-default overflow-auto bg-neutral-100/50 opacity-0 backdrop-blur-sm transition-opacity dark:bg-neutral-900/50" class="fixed inset-0 z-30 invisible w-full h-full m-auto overflow-auto transition-opacity opacity-0 cursor-default bg-neutral-100/50 backdrop-blur-sm dark:bg-neutral-900/50"
> >
<ul <ul
class="mx-auto flex w-full max-w-7xl list-none flex-col overflow-visible px-6 py-6 text-end sm:px-14 sm:py-10 sm:pt-10 md:px-24 lg:px-32" class="flex flex-col w-full px-6 py-6 mx-auto overflow-visible list-none max-w-7xl text-end sm:px-14 sm:py-10 sm:pt-10 md:px-24 lg:px-32"
> >
<li class="mb-1"> <li class="mb-1">
<span class="cursor-pointer hover:text-primary-600 dark:hover:text-primary-400" <span class="cursor-pointer hover:text-primary-600 dark:hover:text-primary-400"
@ -25,7 +25,10 @@
</li> </li>
{{ if .Site.Menus.main }} {{ if .Site.Menus.main }}
{{ range .Site.Menus.main }} {{ range .Site.Menus.main }}
<li class="group mb-1"> {{ if and (eq .Params.action "locale") (and (not page.IsTranslated) (not site.IsMultiLingual)) }}
{{ continue }}
{{ end }}
<li class="mb-1 group">
{{ if eq .Params.action "search" }} {{ if eq .Params.action "search" }}
{{ $.Scratch.Add "searchCount" 1 }} {{ $.Scratch.Add "searchCount" 1 }}
{{ if $.Site.Params.enableSearch | default false }} {{ if $.Site.Params.enableSearch | default false }}
@ -35,7 +38,7 @@
> >
{{ with .Params.icon | default "search" }} {{ with .Params.icon | default "search" }}
<span <span
class="group-dark:hover:text-primary-400 transition-colors group-hover:text-primary-600" class="transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600"
> >
{{- partial "icon.html" . -}} {{- partial "icon.html" . -}}
</span> </span>
@ -55,7 +58,7 @@
aria-label="appearance switcher" aria-label="appearance switcher"
> >
<span <span
class="group-dark:hover:text-primary-400 inline transition-colors group-hover:text-primary-600 dark:hidden" class="inline transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600 dark:hidden"
title="{{ i18n "footer.dark_appearance" }}" title="{{ i18n "footer.dark_appearance" }}"
> >
{{ with .Params.icon | default "moon" }} {{ with .Params.icon | default "moon" }}
@ -69,7 +72,7 @@
{{ end }} {{ end }}
</span> </span>
<span <span
class="group-dark:hover:text-primary-400 hidden transition-colors group-hover:text-primary-600 dark:inline" class="hidden transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600 dark:inline"
title="{{ i18n "footer.light_appearance" }}" title="{{ i18n "footer.light_appearance" }}"
> >
{{ with .Params.icon | default "sun" }} {{ with .Params.icon | default "sun" }}
@ -93,7 +96,7 @@
{{ with .Params.target }}target="{{ . }}"{{ end }} {{ with .Params.target }}target="{{ . }}"{{ end }}
>{{ with .Params.icon }} >{{ with .Params.icon }}
<span <span
class="group-dark:hover:text-primary-400 transition-colors group-hover:text-primary-600" class="transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600"
> >
{{- partial "icon.html" . -}} {{- partial "icon.html" . -}}
</span> </span>
@ -108,10 +111,10 @@
</li> </li>
{{ end }} {{ end }}
{{ if and ($.Site.Params.enableSearch | default false) (eq ($.Scratch.Get "searchCount") 0) }} {{ if and ($.Site.Params.enableSearch | default false) (eq ($.Scratch.Get "searchCount") 0) }}
<li class="group mb-1"> <li class="mb-1 group">
<button id="search-button-m0" title="{{ i18n "search.open_button_title" }}"> <button id="search-button-m0" title="{{ i18n "search.open_button_title" }}">
<span <span
class="group-dark:hover:text-primary-400 transition-colors group-hover:text-primary-600" class="transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600"
> >
{{ partial "icon.html" "search" }} {{ partial "icon.html" "search" }}
</span> </span>
@ -123,10 +126,13 @@
</div> </div>
</label> </label>
{{/* Basic menu */}} {{/* Basic menu */}}
<ul class="hidden list-none flex-row text-end sm:flex"> <ul class="flex-row hidden list-none text-end sm:flex">
{{ if .Site.Menus.main }} {{ if .Site.Menus.main }}
{{ range .Site.Menus.main }} {{ range .Site.Menus.main }}
<li class="group mb-1 sm:mb-0 sm:me-7 sm:last:me-0"> {{ if and (eq .Params.action "locale") (and (not page.IsTranslated) (not site.IsMultiLingual)) }}
{{ continue }}
{{ end }}
<li class="mb-1 group sm:mb-0 sm:me-7 sm:last:me-0">
{{ if eq .Params.action "search" }} {{ if eq .Params.action "search" }}
{{ $.Scratch.Add "searchCount" 1 }} {{ $.Scratch.Add "searchCount" 1 }}
{{ if $.Site.Params.enableSearch | default false }} {{ if $.Site.Params.enableSearch | default false }}
@ -136,7 +142,7 @@
> >
{{ with .Params.icon | default "search" }} {{ with .Params.icon | default "search" }}
<span <span
class="group-dark:hover:text-primary-400 transition-colors group-hover:text-primary-600" class="transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600"
> >
{{- partial "icon.html" . -}} {{- partial "icon.html" . -}}
</span> </span>
@ -156,7 +162,7 @@
aria-label="appearance switcher" aria-label="appearance switcher"
> >
<span <span
class="group-dark:hover:text-primary-400 inline transition-colors group-hover:text-primary-600 dark:hidden" class="inline transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600 dark:hidden"
title="{{ i18n "footer.dark_appearance" }}" title="{{ i18n "footer.dark_appearance" }}"
> >
{{ with .Params.icon | default "moon" }} {{ with .Params.icon | default "moon" }}
@ -170,7 +176,7 @@
{{ end }} {{ end }}
</span> </span>
<span <span
class="group-dark:hover:text-primary-400 hidden transition-colors group-hover:text-primary-600 dark:inline" class="hidden transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600 dark:inline"
title="{{ i18n "footer.light_appearance" }}" title="{{ i18n "footer.light_appearance" }}"
> >
{{ with .Params.icon | default "sun" }} {{ with .Params.icon | default "sun" }}
@ -194,7 +200,7 @@
{{ with .Params.target }}target="{{ . }}"{{ end }} {{ with .Params.target }}target="{{ . }}"{{ end }}
>{{ with .Params.icon }} >{{ with .Params.icon }}
<span <span
class="group-dark:hover:text-primary-400 transition-colors group-hover:text-primary-600" class="transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600"
> >
{{- partial "icon.html" . -}} {{- partial "icon.html" . -}}
</span> </span>
@ -209,10 +215,10 @@
</li> </li>
{{ end }} {{ end }}
{{ if and ($.Site.Params.enableSearch | default false) (eq ($.Scratch.Get "searchCount") 0) }} {{ if and ($.Site.Params.enableSearch | default false) (eq ($.Scratch.Get "searchCount") 0) }}
<li class="group mb-1 sm:mb-0 sm:me-7 sm:last:me-0"> <li class="mb-1 group sm:mb-0 sm:me-7 sm:last:me-0">
<button id="search-button-m1" title="{{ i18n "search.open_button_title" }}"> <button id="search-button-m1" title="{{ i18n "search.open_button_title" }}">
<span <span
class="group-dark:hover:text-primary-400 transition-colors group-hover:text-primary-600" class="transition-colors group-dark:hover:text-primary-400 group-hover:text-primary-600"
> >
{{ partial "icon.html" "search" }} {{ partial "icon.html" "search" }}
</span> </span>

319
package-lock.json generated
View File

@ -1,25 +1,26 @@
{ {
"name": "hugo-congo-theme", "name": "hugo-congo-theme",
"version": "2.6.1", "version": "2.7.3",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "hugo-congo-theme", "name": "hugo-congo-theme",
"version": "2.6.1", "version": "2.7.3",
"hasInstallScript": true, "hasInstallScript": true,
"license": "MIT", "license": "MIT",
"devDependencies": { "devDependencies": {
"@tailwindcss/typography": "^0.5.10", "@tailwindcss/typography": "^0.5.10",
"chart.js": "^4.4.0", "chart.js": "^4.4.0",
"fuse.js": "^6.6.2", "fuse.js": "^7.0.0",
"katex": "^0.16.9", "katex": "^0.16.9",
"mermaid": "^10.5.1", "mermaid": "^10.6.0",
"prettier": "^3.0.3", "prettier": "^3.0.3",
"prettier-plugin-go-template": "^0.0.15", "prettier-plugin-go-template": "^0.0.15",
"prettier-plugin-tailwindcss": "^0.5.6", "prettier-plugin-tailwindcss": "^0.5.6",
"quicklink": "^2.3.0",
"rimraf": "^5.0.5", "rimraf": "^5.0.5",
"tailwindcss": "^3.3.3", "tailwindcss": "^3.3.5",
"vendor-copy": "^3.0.1" "vendor-copy": "^3.0.1"
}, },
"funding": { "funding": {
@ -1067,9 +1068,9 @@
"dev": true "dev": true
}, },
"node_modules/fast-glob": { "node_modules/fast-glob": {
"version": "3.2.12", "version": "3.3.1",
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz",
"integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.stat": "^2.0.2",
@ -1095,9 +1096,9 @@
} }
}, },
"node_modules/fastq": { "node_modules/fastq": {
"version": "1.13.0", "version": "1.15.0",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
"integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"reusify": "^1.0.4" "reusify": "^1.0.4"
@ -1158,9 +1159,9 @@
"dev": true "dev": true
}, },
"node_modules/fuse.js": { "node_modules/fuse.js": {
"version": "6.6.2", "version": "7.0.0",
"resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-6.6.2.tgz", "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-7.0.0.tgz",
"integrity": "sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==", "integrity": "sha512-14F4hBIxqKvD4Zz/XjDc3y94mNZN6pRv3U13Udo0lNLCWRBUsrMv2xwcF/y/Z5sV6+FQW+/ow68cHpm4sunt8Q==",
"dev": true, "dev": true,
"engines": { "engines": {
"node": ">=10" "node": ">=10"
@ -1343,14 +1344,21 @@
} }
}, },
"node_modules/jiti": { "node_modules/jiti": {
"version": "1.18.2", "version": "1.20.0",
"resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz", "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.20.0.tgz",
"integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==", "integrity": "sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==",
"dev": true, "dev": true,
"bin": { "bin": {
"jiti": "bin/jiti.js" "jiti": "bin/jiti.js"
} }
}, },
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
"dev": true,
"peer": true
},
"node_modules/katex": { "node_modules/katex": {
"version": "0.16.9", "version": "0.16.9",
"resolved": "https://registry.npmjs.org/katex/-/katex-0.16.9.tgz", "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.9.tgz",
@ -1433,6 +1441,19 @@
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
"dev": true "dev": true
}, },
"node_modules/loose-envify": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
"integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
"dev": true,
"peer": true,
"dependencies": {
"js-tokens": "^3.0.0 || ^4.0.0"
},
"bin": {
"loose-envify": "cli.js"
}
},
"node_modules/lru-cache": { "node_modules/lru-cache": {
"version": "10.0.1", "version": "10.0.1",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz",
@ -1489,9 +1510,9 @@
} }
}, },
"node_modules/mermaid": { "node_modules/mermaid": {
"version": "10.5.1", "version": "10.6.0",
"resolved": "https://registry.npmjs.org/mermaid/-/mermaid-10.5.1.tgz", "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-10.6.0.tgz",
"integrity": "sha512-+4mkGW5PptHDSae4YZ/Jw1pEOf0irrB/aCL6BwZcJPhr5+84UJBrQnHTvyPqCUz67tXkrDvSzWv4B+J2hLO78g==", "integrity": "sha512-Hcti+Q2NiWnb2ZCijSX89Bn2i7TCUwosBdIn/d+u63Sz7y40XU6EKMctT4UX4qZuZGfKGZpfOeim2/KTrdR7aQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@braintree/sanitize-url": "^6.0.1", "@braintree/sanitize-url": "^6.0.1",
@ -2413,6 +2434,18 @@
} }
} }
}, },
"node_modules/prop-types": {
"version": "15.8.1",
"resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
"integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
"dev": true,
"peer": true,
"dependencies": {
"loose-envify": "^1.4.0",
"object-assign": "^4.1.1",
"react-is": "^16.13.1"
}
},
"node_modules/queue-microtask": { "node_modules/queue-microtask": {
"version": "1.2.3", "version": "1.2.3",
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
@ -2433,6 +2466,58 @@
} }
] ]
}, },
"node_modules/quicklink": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/quicklink/-/quicklink-2.3.0.tgz",
"integrity": "sha512-FyTanYArl5Gz2/C0ZjErvfFJtem/+d1RM4eK0jiXO6mL4Zjje+xsYtcK3ZtKX2Yb3HSfah5HekWrH2qhttYQjQ==",
"dev": true,
"dependencies": {
"route-manifest": "^1.0.0",
"throttles": "^1.0.0"
},
"peerDependencies": {
"react": "^16.8.0",
"react-dom": "^16.8.0"
}
},
"node_modules/react": {
"version": "16.14.0",
"resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz",
"integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==",
"dev": true,
"peer": true,
"dependencies": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1",
"prop-types": "^15.6.2"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/react-dom": {
"version": "16.14.0",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz",
"integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==",
"dev": true,
"peer": true,
"dependencies": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1",
"prop-types": "^15.6.2",
"scheduler": "^0.19.1"
},
"peerDependencies": {
"react": "^16.14.0"
}
},
"node_modules/react-is": {
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
"dev": true,
"peer": true
},
"node_modules/read-cache": { "node_modules/read-cache": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
@ -2454,6 +2539,15 @@
"node": ">=8.10.0" "node": ">=8.10.0"
} }
}, },
"node_modules/regexparam": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/regexparam/-/regexparam-1.3.0.tgz",
"integrity": "sha512-6IQpFBv6e5vz1QAqI+V4k8P2e/3gRrqfCJ9FI+O1FLQTO+Uz6RXZEZOPmTJ6hlGj7gkERzY5BRCv09whKP96/g==",
"dev": true,
"engines": {
"node": ">=6"
}
},
"node_modules/resolve": { "node_modules/resolve": {
"version": "1.22.2", "version": "1.22.2",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz",
@ -2505,6 +2599,18 @@
"integrity": "sha512-ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g==", "integrity": "sha512-ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g==",
"dev": true "dev": true
}, },
"node_modules/route-manifest": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/route-manifest/-/route-manifest-1.0.0.tgz",
"integrity": "sha512-qn0xJr4nnF4caj0erOLLAHYiNyzqhzpUbgDQcEHrmBoG4sWCDLnIXLH7VccNSxe9cWgbP2Kw/OjME+eH3CeRSA==",
"dev": true,
"dependencies": {
"regexparam": "^1.3.0"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/run-parallel": { "node_modules/run-parallel": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
@ -2552,6 +2658,17 @@
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
"dev": true "dev": true
}, },
"node_modules/scheduler": {
"version": "0.19.1",
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz",
"integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==",
"dev": true,
"peer": true,
"dependencies": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1"
}
},
"node_modules/shebang-command": { "node_modules/shebang-command": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
@ -2782,9 +2899,9 @@
} }
}, },
"node_modules/tailwindcss": { "node_modules/tailwindcss": {
"version": "3.3.3", "version": "3.3.5",
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.3.tgz", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.5.tgz",
"integrity": "sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==", "integrity": "sha512-5SEZU4J7pxZgSkv7FP1zY8i2TIAOooNZ1e/OGtxIEv6GltpoiXUqWvLy89+a10qYTB1N5Ifkuw9lqQkN9sscvA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@alloc/quick-lru": "^5.2.0", "@alloc/quick-lru": "^5.2.0",
@ -2792,10 +2909,10 @@
"chokidar": "^3.5.3", "chokidar": "^3.5.3",
"didyoumean": "^1.2.2", "didyoumean": "^1.2.2",
"dlv": "^1.1.3", "dlv": "^1.1.3",
"fast-glob": "^3.2.12", "fast-glob": "^3.3.0",
"glob-parent": "^6.0.2", "glob-parent": "^6.0.2",
"is-glob": "^4.0.3", "is-glob": "^4.0.3",
"jiti": "^1.18.2", "jiti": "^1.19.1",
"lilconfig": "^2.1.0", "lilconfig": "^2.1.0",
"micromatch": "^4.0.5", "micromatch": "^4.0.5",
"normalize-path": "^3.0.0", "normalize-path": "^3.0.0",
@ -2852,6 +2969,15 @@
"node": ">=0.8" "node": ">=0.8"
} }
}, },
"node_modules/throttles": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/throttles/-/throttles-1.0.1.tgz",
"integrity": "sha512-fab7Xg+zELr9KOv4fkaBoe/b3L0GMGLd0IBSCn16GoE/Qx6/OfCr1eGNyEcDU2pUA79qQfZ8kPQWlRuok4YwTw==",
"dev": true,
"engines": {
"node": ">=6"
}
},
"node_modules/to-regex-range": { "node_modules/to-regex-range": {
"version": "5.0.1", "version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
@ -3899,9 +4025,9 @@
"dev": true "dev": true
}, },
"fast-glob": { "fast-glob": {
"version": "3.2.12", "version": "3.3.1",
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz",
"integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.stat": "^2.0.2",
@ -3923,9 +4049,9 @@
} }
}, },
"fastq": { "fastq": {
"version": "1.13.0", "version": "1.15.0",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
"integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
"dev": true, "dev": true,
"requires": { "requires": {
"reusify": "^1.0.4" "reusify": "^1.0.4"
@ -3970,9 +4096,9 @@
"dev": true "dev": true
}, },
"fuse.js": { "fuse.js": {
"version": "6.6.2", "version": "7.0.0",
"resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-6.6.2.tgz", "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-7.0.0.tgz",
"integrity": "sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==", "integrity": "sha512-14F4hBIxqKvD4Zz/XjDc3y94mNZN6pRv3U13Udo0lNLCWRBUsrMv2xwcF/y/Z5sV6+FQW+/ow68cHpm4sunt8Q==",
"dev": true "dev": true
}, },
"glob": { "glob": {
@ -4105,11 +4231,18 @@
} }
}, },
"jiti": { "jiti": {
"version": "1.18.2", "version": "1.20.0",
"resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz", "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.20.0.tgz",
"integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==", "integrity": "sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==",
"dev": true "dev": true
}, },
"js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
"dev": true,
"peer": true
},
"katex": { "katex": {
"version": "0.16.9", "version": "0.16.9",
"resolved": "https://registry.npmjs.org/katex/-/katex-0.16.9.tgz", "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.9.tgz",
@ -4179,6 +4312,16 @@
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
"dev": true "dev": true
}, },
"loose-envify": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
"integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
"dev": true,
"peer": true,
"requires": {
"js-tokens": "^3.0.0 || ^4.0.0"
}
},
"lru-cache": { "lru-cache": {
"version": "10.0.1", "version": "10.0.1",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz",
@ -4221,9 +4364,9 @@
"dev": true "dev": true
}, },
"mermaid": { "mermaid": {
"version": "10.5.1", "version": "10.6.0",
"resolved": "https://registry.npmjs.org/mermaid/-/mermaid-10.5.1.tgz", "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-10.6.0.tgz",
"integrity": "sha512-+4mkGW5PptHDSae4YZ/Jw1pEOf0irrB/aCL6BwZcJPhr5+84UJBrQnHTvyPqCUz67tXkrDvSzWv4B+J2hLO78g==", "integrity": "sha512-Hcti+Q2NiWnb2ZCijSX89Bn2i7TCUwosBdIn/d+u63Sz7y40XU6EKMctT4UX4qZuZGfKGZpfOeim2/KTrdR7aQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@braintree/sanitize-url": "^6.0.1", "@braintree/sanitize-url": "^6.0.1",
@ -4726,12 +4869,66 @@
"dev": true, "dev": true,
"requires": {} "requires": {}
}, },
"prop-types": {
"version": "15.8.1",
"resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
"integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
"dev": true,
"peer": true,
"requires": {
"loose-envify": "^1.4.0",
"object-assign": "^4.1.1",
"react-is": "^16.13.1"
}
},
"queue-microtask": { "queue-microtask": {
"version": "1.2.3", "version": "1.2.3",
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
"integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
"dev": true "dev": true
}, },
"quicklink": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/quicklink/-/quicklink-2.3.0.tgz",
"integrity": "sha512-FyTanYArl5Gz2/C0ZjErvfFJtem/+d1RM4eK0jiXO6mL4Zjje+xsYtcK3ZtKX2Yb3HSfah5HekWrH2qhttYQjQ==",
"dev": true,
"requires": {
"route-manifest": "^1.0.0",
"throttles": "^1.0.0"
}
},
"react": {
"version": "16.14.0",
"resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz",
"integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==",
"dev": true,
"peer": true,
"requires": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1",
"prop-types": "^15.6.2"
}
},
"react-dom": {
"version": "16.14.0",
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz",
"integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==",
"dev": true,
"peer": true,
"requires": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1",
"prop-types": "^15.6.2",
"scheduler": "^0.19.1"
}
},
"react-is": {
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
"dev": true,
"peer": true
},
"read-cache": { "read-cache": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
@ -4750,6 +4947,12 @@
"picomatch": "^2.2.1" "picomatch": "^2.2.1"
} }
}, },
"regexparam": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/regexparam/-/regexparam-1.3.0.tgz",
"integrity": "sha512-6IQpFBv6e5vz1QAqI+V4k8P2e/3gRrqfCJ9FI+O1FLQTO+Uz6RXZEZOPmTJ6hlGj7gkERzY5BRCv09whKP96/g==",
"dev": true
},
"resolve": { "resolve": {
"version": "1.22.2", "version": "1.22.2",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz",
@ -4782,6 +4985,15 @@
"integrity": "sha512-ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g==", "integrity": "sha512-ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g==",
"dev": true "dev": true
}, },
"route-manifest": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/route-manifest/-/route-manifest-1.0.0.tgz",
"integrity": "sha512-qn0xJr4nnF4caj0erOLLAHYiNyzqhzpUbgDQcEHrmBoG4sWCDLnIXLH7VccNSxe9cWgbP2Kw/OjME+eH3CeRSA==",
"dev": true,
"requires": {
"regexparam": "^1.3.0"
}
},
"run-parallel": { "run-parallel": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
@ -4812,6 +5024,17 @@
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
"dev": true "dev": true
}, },
"scheduler": {
"version": "0.19.1",
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz",
"integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==",
"dev": true,
"peer": true,
"requires": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1"
}
},
"shebang-command": { "shebang-command": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
@ -4979,9 +5202,9 @@
"dev": true "dev": true
}, },
"tailwindcss": { "tailwindcss": {
"version": "3.3.3", "version": "3.3.5",
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.3.tgz", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.5.tgz",
"integrity": "sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==", "integrity": "sha512-5SEZU4J7pxZgSkv7FP1zY8i2TIAOooNZ1e/OGtxIEv6GltpoiXUqWvLy89+a10qYTB1N5Ifkuw9lqQkN9sscvA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@alloc/quick-lru": "^5.2.0", "@alloc/quick-lru": "^5.2.0",
@ -4989,10 +5212,10 @@
"chokidar": "^3.5.3", "chokidar": "^3.5.3",
"didyoumean": "^1.2.2", "didyoumean": "^1.2.2",
"dlv": "^1.1.3", "dlv": "^1.1.3",
"fast-glob": "^3.2.12", "fast-glob": "^3.3.0",
"glob-parent": "^6.0.2", "glob-parent": "^6.0.2",
"is-glob": "^4.0.3", "is-glob": "^4.0.3",
"jiti": "^1.18.2", "jiti": "^1.19.1",
"lilconfig": "^2.1.0", "lilconfig": "^2.1.0",
"micromatch": "^4.0.5", "micromatch": "^4.0.5",
"normalize-path": "^3.0.0", "normalize-path": "^3.0.0",
@ -5038,6 +5261,12 @@
"thenify": ">= 3.1.0 < 4" "thenify": ">= 3.1.0 < 4"
} }
}, },
"throttles": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/throttles/-/throttles-1.0.1.tgz",
"integrity": "sha512-fab7Xg+zELr9KOv4fkaBoe/b3L0GMGLd0IBSCn16GoE/Qx6/OfCr1eGNyEcDU2pUA79qQfZ8kPQWlRuok4YwTw==",
"dev": true
},
"to-regex-range": { "to-regex-range": {
"version": "5.0.1", "version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",

View File

@ -1,6 +1,6 @@
{ {
"name": "hugo-congo-theme", "name": "hugo-congo-theme",
"version": "2.7.1", "version": "2.7.3",
"description": "Congo theme for Hugo", "description": "Congo theme for Hugo",
"scripts": { "scripts": {
"preinstall": "rimraf assets/lib", "preinstall": "rimraf assets/lib",
@ -31,14 +31,15 @@
"devDependencies": { "devDependencies": {
"@tailwindcss/typography": "^0.5.10", "@tailwindcss/typography": "^0.5.10",
"chart.js": "^4.4.0", "chart.js": "^4.4.0",
"fuse.js": "^6.6.2", "fuse.js": "^7.0.0",
"katex": "^0.16.9", "katex": "^0.16.9",
"mermaid": "^10.5.1", "mermaid": "^10.6.0",
"prettier": "^3.0.3", "prettier": "^3.0.3",
"prettier-plugin-go-template": "^0.0.15", "prettier-plugin-go-template": "^0.0.15",
"prettier-plugin-tailwindcss": "^0.5.6", "prettier-plugin-tailwindcss": "^0.5.6",
"quicklink": "^2.3.0",
"rimraf": "^5.0.5", "rimraf": "^5.0.5",
"tailwindcss": "^3.3.3", "tailwindcss": "^3.3.5",
"vendor-copy": "^3.0.1" "vendor-copy": "^3.0.1"
}, },
"vendorCopy": [], "vendorCopy": [],
@ -70,6 +71,10 @@
{ {
"from": "node_modules/fuse.js/dist/fuse.min.js", "from": "node_modules/fuse.js/dist/fuse.min.js",
"to": "assets/lib/fuse/fuse.min.js" "to": "assets/lib/fuse/fuse.min.js"
},
{
"from": "node_modules/quicklink/dist/quicklink.umd.js",
"to": "assets/lib/quicklink/quicklink.umd.js"
} }
] ]
} }