Compare commits

...

34 Commits

Author SHA1 Message Date
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
James Panther d88f6c49be
🔨 Preparing release v2.7.1 2023-10-24 11:31:27 +11:00
James Panther 94bda6faca
👷 Bump Hugo Nelify version to 0.119.0 2023-10-24 11:26:35 +11:00
James Panther 12fcf5f692
📝 Update changelog 2023-10-24 11:16:59 +11:00
James Panther 92eb1f638e
🔀 Merge pull request #655 from stereobooster/portable-links
Portable markdown links
2023-10-24 11:14:57 +11:00
James Panther 479bc217d8
🔀 Merge pull request #650 from stereobooster/search-mall-improvement
Small improvement in js
2023-10-24 11:07:56 +11:00
James Panther 1c8e681dee
🐛 Fix theme colour error when site is in dark mode
Fixes #676
2023-10-24 10:53:16 +11:00
stereobooster 0e697b27ca fix 2023-10-23 02:04:13 +02:00
stereobooster fc4120662a Small improvement in js 2023-10-23 02:03:34 +02:00
stereobooster 95f04231af add rel=noreferrer 2023-10-23 01:55:35 +02:00
stereobooster 74e53cc7d2 Markdown portable links 2023-09-19 06:59:55 +02:00
30 changed files with 656 additions and 373 deletions

View File

@ -10,6 +10,7 @@ body:
Before proceeding, please ensure the issue you're reporting is:
- not caused by local customisations in your project
- 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 a general question or feature request (use [GitHub Discussions](https://github.com/jpanther/congo/discussions) instead)
@ -24,8 +25,8 @@ body:
id: theme-version
attributes:
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.
placeholder: eg. v2.6.0
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.7.1
validations:
required: true
- type: input
@ -33,7 +34,7 @@ body:
attributes:
label: Hugo version
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:
required: true
- type: dropdown

View File

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

View File

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

View File

@ -6,6 +6,36 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
## [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
### Changed
- Minor refactor to improve memory efficiency in search results ([#650](https://github.com/jpanther/congo/pull/650))
- Links in Markdown content are now portable ([#655](https://github.com/jpanther/congo/pull/655))
### Fixed
- JavaScript error setting theme colour when site is loaded in dark mode ([#676](https://github.com/jpanther/congo/issues/676))
## [2.7.0] - 2023-10-23
### Added
@ -744,7 +774,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
- Advanced customisation using simple Tailwind colour definitions and styles
- Fully documented
[Unreleased]: https://github.com/jpanther/congo/compare/v2.7.0...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.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.0]: https://github.com/jpanther/congo/compare/v2.5.4...v2.6.0

View File

@ -1,6 +1,6 @@
/*! Congo v2.7.0 | 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)
@ -1140,8 +1140,7 @@ body:has(#menu-controller:checked) {
}
.toc ul ul {
-webkit-padding-start: 1rem;
padding-inline-start: 1rem;
padding-inline-start: 1rem;
}
.toc a {
@ -1848,8 +1847,7 @@ body:has(#menu-controller:checked) {
}
.-ms-5 {
-webkit-margin-start: -1.25rem;
margin-inline-start: -1.25rem;
margin-inline-start: -1.25rem;
}
.-mt-3 {
@ -1885,18 +1883,15 @@ body:has(#menu-controller:checked) {
}
.me-14 {
-webkit-margin-end: 3.5rem;
margin-inline-end: 3.5rem;
margin-inline-end: 3.5rem;
}
.me-2 {
-webkit-margin-end: 0.5rem;
margin-inline-end: 0.5rem;
margin-inline-end: 0.5rem;
}
.me-4 {
-webkit-margin-end: 1rem;
margin-inline-end: 1rem;
margin-inline-end: 1rem;
}
.ml-2 {
@ -1908,13 +1903,11 @@ body:has(#menu-controller:checked) {
}
.ms-1 {
-webkit-margin-start: 0.25rem;
margin-inline-start: 0.25rem;
margin-inline-start: 0.25rem;
}
.ms-2 {
-webkit-margin-start: 0.5rem;
margin-inline-start: 0.5rem;
margin-inline-start: 0.5rem;
}
.mt-0 {
@ -2363,38 +2356,31 @@ body:has(#menu-controller:checked) {
}
.pe-10 {
-webkit-padding-end: 2.5rem;
padding-inline-end: 2.5rem;
padding-inline-end: 2.5rem;
}
.pe-2 {
-webkit-padding-end: 0.5rem;
padding-inline-end: 0.5rem;
padding-inline-end: 0.5rem;
}
.pe-3 {
-webkit-padding-end: 0.75rem;
padding-inline-end: 0.75rem;
padding-inline-end: 0.75rem;
}
.pe-4 {
-webkit-padding-end: 1rem;
padding-inline-end: 1rem;
padding-inline-end: 1rem;
}
.pe-5 {
-webkit-padding-end: 1.25rem;
padding-inline-end: 1.25rem;
padding-inline-end: 1.25rem;
}
.ps-2 {
-webkit-padding-start: 0.5rem;
padding-inline-start: 0.5rem;
padding-inline-start: 0.5rem;
}
.ps-5 {
-webkit-padding-start: 1.25rem;
padding-inline-start: 1.25rem;
padding-inline-start: 1.25rem;
}
.pt-3 {
@ -2979,8 +2965,7 @@ body:has(#menu-controller:checked) {
}
.sm\:me-7 {
-webkit-margin-end: 1.75rem;
margin-inline-end: 1.75rem;
margin-inline-end: 1.75rem;
}
.sm\:flex {
@ -3030,8 +3015,7 @@ body:has(#menu-controller:checked) {
}
.sm\:pe-6 {
-webkit-padding-end: 1.5rem;
padding-inline-end: 1.5rem;
padding-inline-end: 1.5rem;
}
.sm\:pt-10 {
@ -3044,13 +3028,11 @@ body:has(#menu-controller:checked) {
}
.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 {
-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 {
-webkit-padding-start: 2rem;
padding-inline-start: 2rem;
padding-inline-start: 2rem;
}
}

View File

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

View File

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

View File

@ -133,21 +133,19 @@ function executeQuery(term) {
let resultsHTML = "";
if (results.length > 0) {
results.forEach(function (value, key) {
resultsHTML =
resultsHTML +
`<li class="mb-2">
<a class="flex items-center px-3 py-2 rounded-md appearance-none bg-neutral-100 dark:bg-neutral-700 focus:bg-primary-100 hover:bg-primary-100 dark:hover:bg-primary-900 dark:focus:bg-primary-900 focus:outline-dotted focus:outline-transparent focus:outline-2" href="${value.item.permalink}" tabindex="0">
<div class="grow">
<div class="-mb-1 text-lg font-bold">${value.item.title}</div>
<div class="text-sm text-neutral-500 dark:text-neutral-400">${value.item.section}${value.item.date == null ? '' : `<span class="px-2 text-primary-500">&middot;</span>${value.item.date}</span>`}</div>
<div class="text-sm italic">${value.item.summary}</div>
</div>
<div class="ml-2 ltr:block rtl:hidden text-neutral-500">&rarr;</div>
<div class="mr-2 ltr:hidden rtl:block text-neutral-500">&larr;</div>
</a>
</li>`;
});
resultsHTML = results.map(function (value, key) {
return `<li class="mb-2">
<a class="flex items-center px-3 py-2 rounded-md appearance-none bg-neutral-100 dark:bg-neutral-700 focus:bg-primary-100 hover:bg-primary-100 dark:hover:bg-primary-900 dark:focus:bg-primary-900 focus:outline-dotted focus:outline-transparent focus:outline-2" href="${value.item.permalink}" tabindex="0">
<div class="grow">
<div class="-mb-1 text-lg font-bold">${value.item.title}</div>
<div class="text-sm text-neutral-500 dark:text-neutral-400">${value.item.section}${value.item.date == null ? '' : `<span class="px-2 text-primary-500">&middot;</span>${value.item.date}</span>`}</div>
<div class="text-sm italic">${value.item.summary}</div>
</div>
<div class="ml-2 ltr:block rtl:hidden text-neutral-500">&rarr;</div>
<div class="mr-2 ltr:hidden rtl:block text-neutral-500">&larr;</div>
</a>
</li>`;
}).join("");
hasResults = true;
} else {
resultsHTML = "";

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" },
# { tumblr = "https://username.tumblr.com" },
# { twitch = "https://twitch.tv/username" },
# { twitter = "https://twitter.com/username" },
# { whatsapp = "https://wa.me/phone-number" },
# { x-twitter = "https://twitter.com/username" },
# { youtube = "https://youtube.com/username" },
# ]

View File

@ -18,7 +18,7 @@ copyright = "&copy; 2023 Congo contributors"
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:"
links = [
{ twitter = "https://twitter.com/" },
{ x-twitter = "https://twitter.com/" },
{ facebook = "https://facebook.com/" },
{ linkedin = "https://linkedin.com/" },
{ youtube = "https://youtube.com/" },

View File

@ -18,7 +18,7 @@ copyright = "&copy; 2023 Congo contributors"
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:"
links = [
{ twitter = "https://twitter.com/" },
{ x-twitter = "https://twitter.com/" },
{ facebook = "https://facebook.com/" },
{ linkedin = "https://linkedin.com/" },
{ youtube = "https://youtube.com/" },

View File

@ -18,7 +18,7 @@ copyright = "&copy; 2023 Congo contributors"
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:"
links = [
{ twitter = "https://twitter.com/" },
{ x-twitter = "https://twitter.com/" },
{ facebook = "https://facebook.com/" },
{ linkedin = "https://linkedin.com/" },
{ youtube = "https://youtube.com/" },

View File

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

View File

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

View File

@ -99,9 +99,8 @@ Then in the root of your site repository, create a `netlify.toml` file:
publish = "public"
[build.environment]
HUGO_VERSION = "0.118.2"
HUGO_VERSION = "0.119.0"
NODE_ENV = "production"
GO_VERSION = "1.20"
TZ = "UTC" # Set to preferred timezone
[context.production.environment]

View File

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

View File

@ -36,7 +36,7 @@
<div class="flex flex-row flex-wrap items-center">
{{/* Output 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 }}
{{/* Output draft label */}}

View File

@ -2,9 +2,12 @@
{{/* Footer menu */}}
{{ if .Site.Menus.footer }}
<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 }}
<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" }}
{{ $.Scratch.Add "searchCount" 1 }}
{{ if $.Site.Params.enableSearch | default false }}
@ -14,7 +17,7 @@
>
{{ with .Params.icon }}
<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" . -}}
</span>
@ -34,13 +37,13 @@
aria-label="appearance switcher"
>
<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" }}"
>
{{ partial "icon.html" "moon" }}
</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" }}"
>
{{ partial "icon.html" "sun" }}
@ -56,7 +59,7 @@
{{ with .Params.target }}target="{{ . }}"{{ end }}
>{{ with .Params.icon }}
<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" . -}}
</span>
@ -114,13 +117,13 @@
>
<button id="appearance-switcher-0" type="button" aria-label="appearance switcher">
<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" }}"
>
{{ partial "icon.html" "moon" }}
</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" }}"
>
{{ partial "icon.html" "sun" }}

View File

@ -1,6 +1,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="theme-color" content="rgb(255,255,255)" />
{{/* Title */}}
{{ if .IsHome -}}
<title>{{ .Site.Title | emojify }}</title>
@ -42,6 +43,11 @@
{{ $jsSearch := resources.Get "js/search.js" }}
{{ $assets.Add "js" (slice $jsFuse $jsSearch) }}
{{ 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 }}
{{ $jsCode := resources.Get "js/code.js" }}
{{ $assets.Add "js" (slice $jsCode) }}
@ -97,7 +103,6 @@
<link rel="icon" type="image/png" sizes="16x16" href="{{ "favicon-16x16.png" | relURL }}" />
<link rel="manifest" href="{{ "site.webmanifest" | relURL }}" />
{{ end }}
<meta name="theme-color" content="rgb(255,255,255)" />
{{/* Site Verification */}}
{{ with .Site.Params.verification.google }}
<meta name="google-site-verification" content="{{ . }}" />

View File

@ -6,9 +6,12 @@
</div>
{{/* Main menu */}}
{{ 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 }}
{{ 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">
{{ if eq .Params.action "search" }}
{{ $.Scratch.Add "searchCount" 1 }}
@ -19,7 +22,7 @@
>
{{ with .Params.icon | default "search" }}
<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" . -}}
</span>
@ -39,7 +42,7 @@
aria-label="appearance switcher"
>
<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" }}"
>
{{ with .Params.icon | default "moon" }}
@ -53,7 +56,7 @@
{{ end }}
</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" }}"
>
{{ with .Params.icon | default "sun" }}
@ -77,7 +80,7 @@
{{ with .Params.target }}target="{{ . }}"{{ end }}
>{{ with .Params.icon }}
<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" . -}}
</span>
@ -92,10 +95,10 @@
</li>
{{ end }}
{{ 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" }}">
<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" }}
</span>

View File

@ -13,10 +13,10 @@
</div>
<div
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
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">
<span class="cursor-pointer hover:text-primary-600 dark:hover:text-primary-400"
@ -25,7 +25,10 @@
</li>
{{ if .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" }}
{{ $.Scratch.Add "searchCount" 1 }}
{{ if $.Site.Params.enableSearch | default false }}
@ -35,7 +38,7 @@
>
{{ with .Params.icon | default "search" }}
<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" . -}}
</span>
@ -55,7 +58,7 @@
aria-label="appearance switcher"
>
<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" }}"
>
{{ with .Params.icon | default "moon" }}
@ -69,7 +72,7 @@
{{ end }}
</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" }}"
>
{{ with .Params.icon | default "sun" }}
@ -93,7 +96,7 @@
{{ with .Params.target }}target="{{ . }}"{{ end }}
>{{ with .Params.icon }}
<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" . -}}
</span>
@ -108,10 +111,10 @@
</li>
{{ end }}
{{ 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" }}">
<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" }}
</span>

View File

@ -13,10 +13,10 @@
</div>
<div
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
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">
<span class="cursor-pointer hover:text-primary-600 dark:hover:text-primary-400"
@ -25,7 +25,10 @@
</li>
{{ if .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" }}
{{ $.Scratch.Add "searchCount" 1 }}
{{ if $.Site.Params.enableSearch | default false }}
@ -35,7 +38,7 @@
>
{{ with .Params.icon | default "search" }}
<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" . -}}
</span>
@ -55,7 +58,7 @@
aria-label="appearance switcher"
>
<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" }}"
>
{{ with .Params.icon | default "moon" }}
@ -69,7 +72,7 @@
{{ end }}
</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" }}"
>
{{ with .Params.icon | default "sun" }}
@ -93,7 +96,7 @@
{{ with .Params.target }}target="{{ . }}"{{ end }}
>{{ with .Params.icon }}
<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" . -}}
</span>
@ -108,10 +111,10 @@
</li>
{{ end }}
{{ 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" }}">
<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" }}
</span>
@ -123,10 +126,13 @@
</div>
</label>
{{/* 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 }}
{{ 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" }}
{{ $.Scratch.Add "searchCount" 1 }}
{{ if $.Site.Params.enableSearch | default false }}
@ -136,7 +142,7 @@
>
{{ with .Params.icon | default "search" }}
<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" . -}}
</span>
@ -156,7 +162,7 @@
aria-label="appearance switcher"
>
<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" }}"
>
{{ with .Params.icon | default "moon" }}
@ -170,7 +176,7 @@
{{ end }}
</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" }}"
>
{{ with .Params.icon | default "sun" }}
@ -194,7 +200,7 @@
{{ with .Params.target }}target="{{ . }}"{{ end }}
>{{ with .Params.icon }}
<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" . -}}
</span>
@ -209,10 +215,10 @@
</li>
{{ end }}
{{ 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" }}">
<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" }}
</span>

View File

@ -3,7 +3,7 @@
publish = "exampleSite/public"
[build.environment]
HUGO_VERSION = "0.118.2"
HUGO_VERSION = "0.119.0"
HUGO_THEMESDIR = "../.."
HUGO_THEME = "repo"
TZ = "Australia/Melbourne"

319
package-lock.json generated
View File

@ -1,25 +1,26 @@
{
"name": "hugo-congo-theme",
"version": "2.6.1",
"version": "2.7.3",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "hugo-congo-theme",
"version": "2.6.1",
"version": "2.7.3",
"hasInstallScript": true,
"license": "MIT",
"devDependencies": {
"@tailwindcss/typography": "^0.5.10",
"chart.js": "^4.4.0",
"fuse.js": "^6.6.2",
"fuse.js": "^7.0.0",
"katex": "^0.16.9",
"mermaid": "^10.5.1",
"mermaid": "^10.6.0",
"prettier": "^3.0.3",
"prettier-plugin-go-template": "^0.0.15",
"prettier-plugin-tailwindcss": "^0.5.6",
"quicklink": "^2.3.0",
"rimraf": "^5.0.5",
"tailwindcss": "^3.3.3",
"tailwindcss": "^3.3.5",
"vendor-copy": "^3.0.1"
},
"funding": {
@ -1067,9 +1068,9 @@
"dev": true
},
"node_modules/fast-glob": {
"version": "3.2.12",
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
"integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz",
"integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==",
"dev": true,
"dependencies": {
"@nodelib/fs.stat": "^2.0.2",
@ -1095,9 +1096,9 @@
}
},
"node_modules/fastq": {
"version": "1.13.0",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
"integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
"version": "1.15.0",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
"integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
"dev": true,
"dependencies": {
"reusify": "^1.0.4"
@ -1158,9 +1159,9 @@
"dev": true
},
"node_modules/fuse.js": {
"version": "6.6.2",
"resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-6.6.2.tgz",
"integrity": "sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==",
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-7.0.0.tgz",
"integrity": "sha512-14F4hBIxqKvD4Zz/XjDc3y94mNZN6pRv3U13Udo0lNLCWRBUsrMv2xwcF/y/Z5sV6+FQW+/ow68cHpm4sunt8Q==",
"dev": true,
"engines": {
"node": ">=10"
@ -1343,14 +1344,21 @@
}
},
"node_modules/jiti": {
"version": "1.18.2",
"resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz",
"integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==",
"version": "1.20.0",
"resolved": "https://registry.npmjs.org/jiti/-/jiti-1.20.0.tgz",
"integrity": "sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==",
"dev": true,
"bin": {
"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": {
"version": "0.16.9",
"resolved": "https://registry.npmjs.org/katex/-/katex-0.16.9.tgz",
@ -1433,6 +1441,19 @@
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
"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": {
"version": "10.0.1",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz",
@ -1489,9 +1510,9 @@
}
},
"node_modules/mermaid": {
"version": "10.5.1",
"resolved": "https://registry.npmjs.org/mermaid/-/mermaid-10.5.1.tgz",
"integrity": "sha512-+4mkGW5PptHDSae4YZ/Jw1pEOf0irrB/aCL6BwZcJPhr5+84UJBrQnHTvyPqCUz67tXkrDvSzWv4B+J2hLO78g==",
"version": "10.6.0",
"resolved": "https://registry.npmjs.org/mermaid/-/mermaid-10.6.0.tgz",
"integrity": "sha512-Hcti+Q2NiWnb2ZCijSX89Bn2i7TCUwosBdIn/d+u63Sz7y40XU6EKMctT4UX4qZuZGfKGZpfOeim2/KTrdR7aQ==",
"dev": true,
"dependencies": {
"@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": {
"version": "1.2.3",
"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": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
@ -2454,6 +2539,15 @@
"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": {
"version": "1.22.2",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz",
@ -2505,6 +2599,18 @@
"integrity": "sha512-ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g==",
"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": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
@ -2552,6 +2658,17 @@
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
"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": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
@ -2782,9 +2899,9 @@
}
},
"node_modules/tailwindcss": {
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.3.tgz",
"integrity": "sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==",
"version": "3.3.5",
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.5.tgz",
"integrity": "sha512-5SEZU4J7pxZgSkv7FP1zY8i2TIAOooNZ1e/OGtxIEv6GltpoiXUqWvLy89+a10qYTB1N5Ifkuw9lqQkN9sscvA==",
"dev": true,
"dependencies": {
"@alloc/quick-lru": "^5.2.0",
@ -2792,10 +2909,10 @@
"chokidar": "^3.5.3",
"didyoumean": "^1.2.2",
"dlv": "^1.1.3",
"fast-glob": "^3.2.12",
"fast-glob": "^3.3.0",
"glob-parent": "^6.0.2",
"is-glob": "^4.0.3",
"jiti": "^1.18.2",
"jiti": "^1.19.1",
"lilconfig": "^2.1.0",
"micromatch": "^4.0.5",
"normalize-path": "^3.0.0",
@ -2852,6 +2969,15 @@
"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": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
@ -3899,9 +4025,9 @@
"dev": true
},
"fast-glob": {
"version": "3.2.12",
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
"integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz",
"integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==",
"dev": true,
"requires": {
"@nodelib/fs.stat": "^2.0.2",
@ -3923,9 +4049,9 @@
}
},
"fastq": {
"version": "1.13.0",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
"integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
"version": "1.15.0",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
"integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
"dev": true,
"requires": {
"reusify": "^1.0.4"
@ -3970,9 +4096,9 @@
"dev": true
},
"fuse.js": {
"version": "6.6.2",
"resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-6.6.2.tgz",
"integrity": "sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==",
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-7.0.0.tgz",
"integrity": "sha512-14F4hBIxqKvD4Zz/XjDc3y94mNZN6pRv3U13Udo0lNLCWRBUsrMv2xwcF/y/Z5sV6+FQW+/ow68cHpm4sunt8Q==",
"dev": true
},
"glob": {
@ -4105,11 +4231,18 @@
}
},
"jiti": {
"version": "1.18.2",
"resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz",
"integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==",
"version": "1.20.0",
"resolved": "https://registry.npmjs.org/jiti/-/jiti-1.20.0.tgz",
"integrity": "sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==",
"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": {
"version": "0.16.9",
"resolved": "https://registry.npmjs.org/katex/-/katex-0.16.9.tgz",
@ -4179,6 +4312,16 @@
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
"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": {
"version": "10.0.1",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz",
@ -4221,9 +4364,9 @@
"dev": true
},
"mermaid": {
"version": "10.5.1",
"resolved": "https://registry.npmjs.org/mermaid/-/mermaid-10.5.1.tgz",
"integrity": "sha512-+4mkGW5PptHDSae4YZ/Jw1pEOf0irrB/aCL6BwZcJPhr5+84UJBrQnHTvyPqCUz67tXkrDvSzWv4B+J2hLO78g==",
"version": "10.6.0",
"resolved": "https://registry.npmjs.org/mermaid/-/mermaid-10.6.0.tgz",
"integrity": "sha512-Hcti+Q2NiWnb2ZCijSX89Bn2i7TCUwosBdIn/d+u63Sz7y40XU6EKMctT4UX4qZuZGfKGZpfOeim2/KTrdR7aQ==",
"dev": true,
"requires": {
"@braintree/sanitize-url": "^6.0.1",
@ -4726,12 +4869,66 @@
"dev": true,
"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": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
"integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
"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": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
@ -4750,6 +4947,12 @@
"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": {
"version": "1.22.2",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz",
@ -4782,6 +4985,15 @@
"integrity": "sha512-ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g==",
"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": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
@ -4812,6 +5024,17 @@
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
"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": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
@ -4979,9 +5202,9 @@
"dev": true
},
"tailwindcss": {
"version": "3.3.3",
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.3.tgz",
"integrity": "sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==",
"version": "3.3.5",
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.5.tgz",
"integrity": "sha512-5SEZU4J7pxZgSkv7FP1zY8i2TIAOooNZ1e/OGtxIEv6GltpoiXUqWvLy89+a10qYTB1N5Ifkuw9lqQkN9sscvA==",
"dev": true,
"requires": {
"@alloc/quick-lru": "^5.2.0",
@ -4989,10 +5212,10 @@
"chokidar": "^3.5.3",
"didyoumean": "^1.2.2",
"dlv": "^1.1.3",
"fast-glob": "^3.2.12",
"fast-glob": "^3.3.0",
"glob-parent": "^6.0.2",
"is-glob": "^4.0.3",
"jiti": "^1.18.2",
"jiti": "^1.19.1",
"lilconfig": "^2.1.0",
"micromatch": "^4.0.5",
"normalize-path": "^3.0.0",
@ -5038,6 +5261,12 @@
"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": {
"version": "5.0.1",
"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",
"version": "2.7.0",
"version": "2.7.3",
"description": "Congo theme for Hugo",
"scripts": {
"preinstall": "rimraf assets/lib",
@ -31,14 +31,15 @@
"devDependencies": {
"@tailwindcss/typography": "^0.5.10",
"chart.js": "^4.4.0",
"fuse.js": "^6.6.2",
"fuse.js": "^7.0.0",
"katex": "^0.16.9",
"mermaid": "^10.5.1",
"mermaid": "^10.6.0",
"prettier": "^3.0.3",
"prettier-plugin-go-template": "^0.0.15",
"prettier-plugin-tailwindcss": "^0.5.6",
"quicklink": "^2.3.0",
"rimraf": "^5.0.5",
"tailwindcss": "^3.3.3",
"tailwindcss": "^3.3.5",
"vendor-copy": "^3.0.1"
},
"vendorCopy": [],
@ -70,6 +71,10 @@
{
"from": "node_modules/fuse.js/dist/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"
}
]
}