Compare commits

...

14 Commits

Author SHA1 Message Date
Emile Bangma
51bfc8f9e3 feat(explorer): Add active class to current folder in explorer 2025-11-06 21:40:15 +01:00
Emile Bangma
86a30ad150 fix(callouts): set height to entire callout content (#2194)
* fix(callouts): set height to entire callout content

* Refactor callout-content to collapse all children simultaneously

* Testing better transition
2025-11-06 09:05:32 -05:00
dependabot[bot]
45d2ef8690 chore(deps): bump the production-dependencies group with 3 updates (#2190)
Bumps the production-dependencies group with 3 updates: [minimatch](https://github.com/isaacs/minimatch), [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) and [esbuild](https://github.com/evanw/esbuild).


Updates `minimatch` from 10.0.3 to 10.1.1
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v10.0.3...v10.1.1)

Updates `@types/node` from 24.9.1 to 24.10.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `esbuild` from 0.25.11 to 0.25.12
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.25.11...v0.25.12)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-version: 10.1.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies
- dependency-name: "@types/node"
  dependency-version: 24.10.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: production-dependencies
- dependency-name: esbuild
  dependency-version: 0.25.12
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-06 09:05:21 -05:00
Marco Ciotola
0ecb859d2d feat(i18n): update Italian translations for coherency (#2189)
Update Italian translation for better plurals and idioms consistency
2025-11-02 05:35:23 -05:00
Michael Thomason
2fdc8129b6 fix(components): prevent infinite recursion from circular transcludes (#2187)
* fix(components): prevent infinite recursion from circular transcludes

* chore(components): modify warning message

Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com>

---------

Co-authored-by: Jacky Zhao <j.zhao2k19@gmail.com>
2025-11-01 06:22:29 -04:00
松浦 知也 Matsuura Tomoya
8bc6cb9061 fix(css): not break word in the search button placeholder (#2182)
* fixed not to break in the button

* fixed style
2025-10-31 17:01:51 -07:00
Jiangnan Li
af5773f0e4 fix(api): adapt to updated API parameter format from (#2185)
is-absolute-url v5.0.0
2025-10-31 16:59:46 -07:00
yavidor
4260214a07 feat(i18n): add Hebrew translations for UI components and pages (#2186)
* Added hebrew

* Better translations

* Added NewLine at EOF
2025-10-31 16:58:37 -07:00
Alexei Chernyavsky
0c4386dce1 feat(i18n): add Kazakh translations for UI components and pages (#2056) 2025-10-30 01:27:51 -04:00
Jairus Joer
08c861707b fix(explorer): Disable keyboard navigation on collapsed folders (#2169) 2025-10-28 09:37:32 -07:00
dependabot[bot]
1377004fca chore(deps): bump the production-dependencies group across 1 directory with 6 updates (#2177)
Bumps the production-dependencies group with 6 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [pixi.js](https://github.com/pixijs/pixijs) | `8.13.2` | `8.14.0` |
| [preact-render-to-string](https://github.com/preactjs/preact-render-to-string) | `6.6.2` | `6.6.3` |
| [workerpool](https://github.com/josdejong/workerpool) | `9.3.4` | `10.0.0` |
| [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `24.7.0` | `24.9.1` |
| [@types/yargs](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/yargs) | `17.0.33` | `17.0.34` |
| [esbuild](https://github.com/evanw/esbuild) | `0.25.10` | `0.25.11` |



Updates `pixi.js` from 8.13.2 to 8.14.0
- [Release notes](https://github.com/pixijs/pixijs/releases)
- [Commits](https://github.com/pixijs/pixijs/compare/v8.13.2...v8.14.0)

Updates `preact-render-to-string` from 6.6.2 to 6.6.3
- [Release notes](https://github.com/preactjs/preact-render-to-string/releases)
- [Changelog](https://github.com/preactjs/preact-render-to-string/blob/main/CHANGELOG.md)
- [Commits](https://github.com/preactjs/preact-render-to-string/compare/v6.6.2...v6.6.3)

Updates `workerpool` from 9.3.4 to 10.0.0
- [Changelog](https://github.com/josdejong/workerpool/blob/master/HISTORY.md)
- [Commits](https://github.com/josdejong/workerpool/commits/v10.0.0)

Updates `@types/node` from 24.7.0 to 24.9.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `@types/yargs` from 17.0.33 to 17.0.34
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/yargs)

Updates `esbuild` from 0.25.10 to 0.25.11
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.25.10...v0.25.11)

---
updated-dependencies:
- dependency-name: pixi.js
  dependency-version: 8.14.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies
- dependency-name: preact-render-to-string
  dependency-version: 6.6.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
- dependency-name: workerpool
  dependency-version: 10.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: production-dependencies
- dependency-name: "@types/node"
  dependency-version: 24.9.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: production-dependencies
- dependency-name: "@types/yargs"
  dependency-version: 17.0.34
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
- dependency-name: esbuild
  dependency-version: 0.25.11
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-27 14:38:05 -07:00
dependabot[bot]
519d56c132 chore(deps): bump the ci-dependencies group across 1 directory with 5 updates (#2178)
Bumps the ci-dependencies group with 5 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [actions/setup-node](https://github.com/actions/setup-node) | `5` | `6` |
| [actions/upload-artifact](https://github.com/actions/upload-artifact) | `4` | `5` |
| [actions/download-artifact](https://github.com/actions/download-artifact) | `5` | `6` |
| [rlespinasse/github-slug-action](https://github.com/rlespinasse/github-slug-action) | `5.2.0` | `5.3.0` |
| [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) | `3.10.0` | `4.0.0` |



Updates `actions/setup-node` from 5 to 6
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v5...v6)

Updates `actions/upload-artifact` from 4 to 5
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v5)

Updates `actions/download-artifact` from 5 to 6
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v5...v6)

Updates `rlespinasse/github-slug-action` from 5.2.0 to 5.3.0
- [Release notes](https://github.com/rlespinasse/github-slug-action/releases)
- [Commits](https://github.com/rlespinasse/github-slug-action/compare/v5.2.0...v5.3.0)

Updates `sigstore/cosign-installer` from 3.10.0 to 4.0.0
- [Release notes](https://github.com/sigstore/cosign-installer/releases)
- [Commits](https://github.com/sigstore/cosign-installer/compare/v3.10.0...v4.0.0)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: ci-dependencies
- dependency-name: actions/upload-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: ci-dependencies
- dependency-name: actions/download-artifact
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: ci-dependencies
- dependency-name: rlespinasse/github-slug-action
  dependency-version: 5.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ci-dependencies
- dependency-name: sigstore/cosign-installer
  dependency-version: 4.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: ci-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-27 14:28:47 -07:00
FishCat233
52460f376f fix: modified time data of frontmatter didnt loaded. (#2165) 2025-10-16 09:10:25 -07:00
dependabot[bot]
b4805a1031 chore(deps): bump the production-dependencies group with 3 updates (#2159)
Bumps the production-dependencies group with 3 updates: [preact-render-to-string](https://github.com/preactjs/preact-render-to-string), [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) and [typescript](https://github.com/microsoft/TypeScript).


Updates `preact-render-to-string` from 6.6.1 to 6.6.2
- [Release notes](https://github.com/preactjs/preact-render-to-string/releases)
- [Changelog](https://github.com/preactjs/preact-render-to-string/blob/main/CHANGELOG.md)
- [Commits](https://github.com/preactjs/preact-render-to-string/compare/v6.6.1...v6.6.2)

Updates `@types/node` from 24.6.0 to 24.7.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

Updates `typescript` from 5.9.2 to 5.9.3
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release-publish.yml)
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.9.2...v5.9.3)

---
updated-dependencies:
- dependency-name: preact-render-to-string
  dependency-version: 6.6.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
- dependency-name: "@types/node"
  dependency-version: 24.7.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: production-dependencies
- dependency-name: typescript
  dependency-version: 5.9.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: production-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-06 13:16:57 -07:00
17 changed files with 408 additions and 178 deletions

View File

@@ -16,7 +16,7 @@ jobs:
fetch-depth: 0 fetch-depth: 0
- name: Setup Node - name: Setup Node
uses: actions/setup-node@v5 uses: actions/setup-node@v6
with: with:
node-version: 22 node-version: 22
@@ -37,7 +37,7 @@ jobs:
run: npx quartz build -d docs -v run: npx quartz build -d docs -v
- name: Upload build artifact - name: Upload build artifact
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v5
with: with:
name: preview-build name: preview-build
path: public path: public

View File

@@ -24,7 +24,7 @@ jobs:
fetch-depth: 0 fetch-depth: 0
- name: Setup Node - name: Setup Node
uses: actions/setup-node@v5 uses: actions/setup-node@v6
with: with:
node-version: 22 node-version: 22
@@ -57,7 +57,7 @@ jobs:
with: with:
fetch-depth: 0 fetch-depth: 0
- name: Setup Node - name: Setup Node
uses: actions/setup-node@v5 uses: actions/setup-node@v6
with: with:
node-version: 22 node-version: 22
- name: Get package version - name: Get package version

View File

@@ -18,7 +18,7 @@ jobs:
name: Deploy Preview to Cloudflare Pages name: Deploy Preview to Cloudflare Pages
steps: steps:
- name: Download build artifact - name: Download build artifact
uses: actions/download-artifact@v5 uses: actions/download-artifact@v6
id: preview-build-artifact id: preview-build-artifact
with: with:
name: preview-build name: preview-build

View File

@@ -25,7 +25,7 @@ jobs:
with: with:
fetch-depth: 1 fetch-depth: 1
- name: Inject slug/short variables - name: Inject slug/short variables
uses: rlespinasse/github-slug-action@v5.2.0 uses: rlespinasse/github-slug-action@v5.3.0
- name: Set up QEMU - name: Set up QEMU
uses: docker/setup-qemu-action@v3 uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx - name: Set up Docker Buildx
@@ -37,7 +37,7 @@ jobs:
network=host network=host
- name: Install cosign - name: Install cosign
if: github.event_name != 'pull_request' if: github.event_name != 'pull_request'
uses: sigstore/cosign-installer@v3.10.0 uses: sigstore/cosign-installer@v4.0.0
- name: Login to GitHub Container Registry - name: Login to GitHub Container Registry
uses: docker/login-action@v3 uses: docker/login-action@v3
if: github.event_name != 'pull_request' if: github.event_name != 'pull_request'

283
package-lock.json generated
View File

@@ -34,10 +34,10 @@
"mdast-util-to-hast": "^13.2.0", "mdast-util-to-hast": "^13.2.0",
"mdast-util-to-string": "^4.0.0", "mdast-util-to-string": "^4.0.0",
"micromorph": "^0.4.5", "micromorph": "^0.4.5",
"minimatch": "^10.0.3", "minimatch": "^10.1.1",
"pixi.js": "^8.13.2", "pixi.js": "^8.14.0",
"preact": "^10.27.2", "preact": "^10.27.2",
"preact-render-to-string": "^6.6.1", "preact-render-to-string": "^6.6.3",
"pretty-bytes": "^7.1.0", "pretty-bytes": "^7.1.0",
"pretty-time": "^1.1.0", "pretty-time": "^1.1.0",
"reading-time": "^1.5.0", "reading-time": "^1.5.0",
@@ -67,7 +67,7 @@
"unified": "^11.0.5", "unified": "^11.0.5",
"unist-util-visit": "^5.0.0", "unist-util-visit": "^5.0.0",
"vfile": "^6.0.3", "vfile": "^6.0.3",
"workerpool": "^9.3.4", "workerpool": "^10.0.0",
"ws": "^8.18.3", "ws": "^8.18.3",
"yargs": "^18.0.0" "yargs": "^18.0.0"
}, },
@@ -78,15 +78,15 @@
"@types/d3": "^7.4.3", "@types/d3": "^7.4.3",
"@types/hast": "^3.0.4", "@types/hast": "^3.0.4",
"@types/js-yaml": "^4.0.9", "@types/js-yaml": "^4.0.9",
"@types/node": "^24.6.0", "@types/node": "^24.10.0",
"@types/pretty-time": "^1.1.5", "@types/pretty-time": "^1.1.5",
"@types/source-map-support": "^0.5.10", "@types/source-map-support": "^0.5.10",
"@types/ws": "^8.18.1", "@types/ws": "^8.18.1",
"@types/yargs": "^17.0.33", "@types/yargs": "^17.0.34",
"esbuild": "^0.25.10", "esbuild": "^0.25.12",
"prettier": "^3.6.2", "prettier": "^3.6.2",
"tsx": "^4.20.6", "tsx": "^4.20.6",
"typescript": "^5.9.2" "typescript": "^5.9.3"
}, },
"engines": { "engines": {
"node": ">=22", "node": ">=22",
@@ -207,9 +207,9 @@
} }
}, },
"node_modules/@esbuild/aix-ppc64": { "node_modules/@esbuild/aix-ppc64": {
"version": "0.25.10", "version": "0.25.12",
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.10.tgz", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz",
"integrity": "sha512-0NFWnA+7l41irNuaSVlLfgNT12caWJVLzp5eAVhZ0z1qpxbockccEt3s+149rE64VUI3Ml2zt8Nv5JVc4QXTsw==", "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==",
"cpu": [ "cpu": [
"ppc64" "ppc64"
], ],
@@ -223,9 +223,9 @@
} }
}, },
"node_modules/@esbuild/android-arm": { "node_modules/@esbuild/android-arm": {
"version": "0.25.10", "version": "0.25.12",
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.10.tgz", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz",
"integrity": "sha512-dQAxF1dW1C3zpeCDc5KqIYuZ1tgAdRXNoZP7vkBIRtKZPYe2xVr/d3SkirklCHudW1B45tGiUlz2pUWDfbDD4w==", "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==",
"cpu": [ "cpu": [
"arm" "arm"
], ],
@@ -239,9 +239,9 @@
} }
}, },
"node_modules/@esbuild/android-arm64": { "node_modules/@esbuild/android-arm64": {
"version": "0.25.10", "version": "0.25.12",
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.10.tgz", "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz",
"integrity": "sha512-LSQa7eDahypv/VO6WKohZGPSJDq5OVOo3UoFR1E4t4Gj1W7zEQMUhI+lo81H+DtB+kP+tDgBp+M4oNCwp6kffg==", "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@@ -255,9 +255,9 @@
} }
}, },
"node_modules/@esbuild/android-x64": { "node_modules/@esbuild/android-x64": {
"version": "0.25.10", "version": "0.25.12",
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.10.tgz", "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz",
"integrity": "sha512-MiC9CWdPrfhibcXwr39p9ha1x0lZJ9KaVfvzA0Wxwz9ETX4v5CHfF09bx935nHlhi+MxhA63dKRRQLiVgSUtEg==", "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@@ -271,9 +271,9 @@
} }
}, },
"node_modules/@esbuild/darwin-arm64": { "node_modules/@esbuild/darwin-arm64": {
"version": "0.25.10", "version": "0.25.12",
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.10.tgz", "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz",
"integrity": "sha512-JC74bdXcQEpW9KkV326WpZZjLguSZ3DfS8wrrvPMHgQOIEIG/sPXEN/V8IssoJhbefLRcRqw6RQH2NnpdprtMA==", "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@@ -287,9 +287,9 @@
} }
}, },
"node_modules/@esbuild/darwin-x64": { "node_modules/@esbuild/darwin-x64": {
"version": "0.25.10", "version": "0.25.12",
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.10.tgz", "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz",
"integrity": "sha512-tguWg1olF6DGqzws97pKZ8G2L7Ig1vjDmGTwcTuYHbuU6TTjJe5FXbgs5C1BBzHbJ2bo1m3WkQDbWO2PvamRcg==", "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@@ -303,9 +303,9 @@
} }
}, },
"node_modules/@esbuild/freebsd-arm64": { "node_modules/@esbuild/freebsd-arm64": {
"version": "0.25.10", "version": "0.25.12",
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.10.tgz", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz",
"integrity": "sha512-3ZioSQSg1HT2N05YxeJWYR+Libe3bREVSdWhEEgExWaDtyFbbXWb49QgPvFH8u03vUPX10JhJPcz7s9t9+boWg==", "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@@ -319,9 +319,9 @@
} }
}, },
"node_modules/@esbuild/freebsd-x64": { "node_modules/@esbuild/freebsd-x64": {
"version": "0.25.10", "version": "0.25.12",
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.10.tgz", "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz",
"integrity": "sha512-LLgJfHJk014Aa4anGDbh8bmI5Lk+QidDmGzuC2D+vP7mv/GeSN+H39zOf7pN5N8p059FcOfs2bVlrRr4SK9WxA==", "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@@ -335,9 +335,9 @@
} }
}, },
"node_modules/@esbuild/linux-arm": { "node_modules/@esbuild/linux-arm": {
"version": "0.25.10", "version": "0.25.12",
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.10.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz",
"integrity": "sha512-oR31GtBTFYCqEBALI9r6WxoU/ZofZl962pouZRTEYECvNF/dtXKku8YXcJkhgK/beU+zedXfIzHijSRapJY3vg==", "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==",
"cpu": [ "cpu": [
"arm" "arm"
], ],
@@ -351,9 +351,9 @@
} }
}, },
"node_modules/@esbuild/linux-arm64": { "node_modules/@esbuild/linux-arm64": {
"version": "0.25.10", "version": "0.25.12",
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.10.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz",
"integrity": "sha512-5luJWN6YKBsawd5f9i4+c+geYiVEw20FVW5x0v1kEMWNq8UctFjDiMATBxLvmmHA4bf7F6hTRaJgtghFr9iziQ==", "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@@ -367,9 +367,9 @@
} }
}, },
"node_modules/@esbuild/linux-ia32": { "node_modules/@esbuild/linux-ia32": {
"version": "0.25.10", "version": "0.25.12",
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.10.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz",
"integrity": "sha512-NrSCx2Kim3EnnWgS4Txn0QGt0Xipoumb6z6sUtl5bOEZIVKhzfyp/Lyw4C1DIYvzeW/5mWYPBFJU3a/8Yr75DQ==", "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==",
"cpu": [ "cpu": [
"ia32" "ia32"
], ],
@@ -383,9 +383,9 @@
} }
}, },
"node_modules/@esbuild/linux-loong64": { "node_modules/@esbuild/linux-loong64": {
"version": "0.25.10", "version": "0.25.12",
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.10.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz",
"integrity": "sha512-xoSphrd4AZda8+rUDDfD9J6FUMjrkTz8itpTITM4/xgerAZZcFW7Dv+sun7333IfKxGG8gAq+3NbfEMJfiY+Eg==", "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==",
"cpu": [ "cpu": [
"loong64" "loong64"
], ],
@@ -399,9 +399,9 @@
} }
}, },
"node_modules/@esbuild/linux-mips64el": { "node_modules/@esbuild/linux-mips64el": {
"version": "0.25.10", "version": "0.25.12",
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.10.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz",
"integrity": "sha512-ab6eiuCwoMmYDyTnyptoKkVS3k8fy/1Uvq7Dj5czXI6DF2GqD2ToInBI0SHOp5/X1BdZ26RKc5+qjQNGRBelRA==", "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==",
"cpu": [ "cpu": [
"mips64el" "mips64el"
], ],
@@ -415,9 +415,9 @@
} }
}, },
"node_modules/@esbuild/linux-ppc64": { "node_modules/@esbuild/linux-ppc64": {
"version": "0.25.10", "version": "0.25.12",
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.10.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz",
"integrity": "sha512-NLinzzOgZQsGpsTkEbdJTCanwA5/wozN9dSgEl12haXJBzMTpssebuXR42bthOF3z7zXFWH1AmvWunUCkBE4EA==", "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==",
"cpu": [ "cpu": [
"ppc64" "ppc64"
], ],
@@ -431,9 +431,9 @@
} }
}, },
"node_modules/@esbuild/linux-riscv64": { "node_modules/@esbuild/linux-riscv64": {
"version": "0.25.10", "version": "0.25.12",
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.10.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz",
"integrity": "sha512-FE557XdZDrtX8NMIeA8LBJX3dC2M8VGXwfrQWU7LB5SLOajfJIxmSdyL/gU1m64Zs9CBKvm4UAuBp5aJ8OgnrA==", "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==",
"cpu": [ "cpu": [
"riscv64" "riscv64"
], ],
@@ -447,9 +447,9 @@
} }
}, },
"node_modules/@esbuild/linux-s390x": { "node_modules/@esbuild/linux-s390x": {
"version": "0.25.10", "version": "0.25.12",
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.10.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz",
"integrity": "sha512-3BBSbgzuB9ajLoVZk0mGu+EHlBwkusRmeNYdqmznmMc9zGASFjSsxgkNsqmXugpPk00gJ0JNKh/97nxmjctdew==", "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==",
"cpu": [ "cpu": [
"s390x" "s390x"
], ],
@@ -463,9 +463,9 @@
} }
}, },
"node_modules/@esbuild/linux-x64": { "node_modules/@esbuild/linux-x64": {
"version": "0.25.10", "version": "0.25.12",
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.10.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz",
"integrity": "sha512-QSX81KhFoZGwenVyPoberggdW1nrQZSvfVDAIUXr3WqLRZGZqWk/P4T8p2SP+de2Sr5HPcvjhcJzEiulKgnxtA==", "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@@ -479,9 +479,9 @@
} }
}, },
"node_modules/@esbuild/netbsd-arm64": { "node_modules/@esbuild/netbsd-arm64": {
"version": "0.25.10", "version": "0.25.12",
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.10.tgz", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz",
"integrity": "sha512-AKQM3gfYfSW8XRk8DdMCzaLUFB15dTrZfnX8WXQoOUpUBQ+NaAFCP1kPS/ykbbGYz7rxn0WS48/81l9hFl3u4A==", "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@@ -495,9 +495,9 @@
} }
}, },
"node_modules/@esbuild/netbsd-x64": { "node_modules/@esbuild/netbsd-x64": {
"version": "0.25.10", "version": "0.25.12",
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.10.tgz", "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz",
"integrity": "sha512-7RTytDPGU6fek/hWuN9qQpeGPBZFfB4zZgcz2VK2Z5VpdUxEI8JKYsg3JfO0n/Z1E/6l05n0unDCNc4HnhQGig==", "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@@ -511,9 +511,9 @@
} }
}, },
"node_modules/@esbuild/openbsd-arm64": { "node_modules/@esbuild/openbsd-arm64": {
"version": "0.25.10", "version": "0.25.12",
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.10.tgz", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz",
"integrity": "sha512-5Se0VM9Wtq797YFn+dLimf2Zx6McttsH2olUBsDml+lm0GOCRVebRWUvDtkY4BWYv/3NgzS8b/UM3jQNh5hYyw==", "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@@ -527,9 +527,9 @@
} }
}, },
"node_modules/@esbuild/openbsd-x64": { "node_modules/@esbuild/openbsd-x64": {
"version": "0.25.10", "version": "0.25.12",
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.10.tgz", "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz",
"integrity": "sha512-XkA4frq1TLj4bEMB+2HnI0+4RnjbuGZfet2gs/LNs5Hc7D89ZQBHQ0gL2ND6Lzu1+QVkjp3x1gIcPKzRNP8bXw==", "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@@ -543,9 +543,9 @@
} }
}, },
"node_modules/@esbuild/openharmony-arm64": { "node_modules/@esbuild/openharmony-arm64": {
"version": "0.25.10", "version": "0.25.12",
"resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.10.tgz", "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz",
"integrity": "sha512-AVTSBhTX8Y/Fz6OmIVBip9tJzZEUcY8WLh7I59+upa5/GPhh2/aM6bvOMQySspnCCHvFi79kMtdJS1w0DXAeag==", "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@@ -559,9 +559,9 @@
} }
}, },
"node_modules/@esbuild/sunos-x64": { "node_modules/@esbuild/sunos-x64": {
"version": "0.25.10", "version": "0.25.12",
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.10.tgz", "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz",
"integrity": "sha512-fswk3XT0Uf2pGJmOpDB7yknqhVkJQkAQOcW/ccVOtfx05LkbWOaRAtn5SaqXypeKQra1QaEa841PgrSL9ubSPQ==", "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@@ -575,9 +575,9 @@
} }
}, },
"node_modules/@esbuild/win32-arm64": { "node_modules/@esbuild/win32-arm64": {
"version": "0.25.10", "version": "0.25.12",
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.10.tgz", "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz",
"integrity": "sha512-ah+9b59KDTSfpaCg6VdJoOQvKjI33nTaQr4UluQwW7aEwZQsbMCfTmfEO4VyewOxx4RaDT/xCy9ra2GPWmO7Kw==", "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@@ -591,9 +591,9 @@
} }
}, },
"node_modules/@esbuild/win32-ia32": { "node_modules/@esbuild/win32-ia32": {
"version": "0.25.10", "version": "0.25.12",
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.10.tgz", "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz",
"integrity": "sha512-QHPDbKkrGO8/cz9LKVnJU22HOi4pxZnZhhA2HYHez5Pz4JeffhDjf85E57Oyco163GnzNCVkZK0b/n4Y0UHcSw==", "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==",
"cpu": [ "cpu": [
"ia32" "ia32"
], ],
@@ -607,9 +607,9 @@
} }
}, },
"node_modules/@esbuild/win32-x64": { "node_modules/@esbuild/win32-x64": {
"version": "0.25.10", "version": "0.25.12",
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.10.tgz", "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz",
"integrity": "sha512-9KpxSVFCu0iK1owoez6aC/s/EdUQLDN3adTxGCqxMVhrPDj6bt5dbrHDXUuq+Bs2vATFBBrQS5vdQ/Ed2P+nbw==", "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@@ -2050,13 +2050,13 @@
} }
}, },
"node_modules/@types/node": { "node_modules/@types/node": {
"version": "24.6.0", "version": "24.10.0",
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.6.0.tgz", "resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.0.tgz",
"integrity": "sha512-F1CBxgqwOMc4GKJ7eY22hWhBVQuMYTtqI8L0FcszYcpYX0fzfDGpez22Xau8Mgm7O9fI+zA/TYIdq3tGWfweBA==", "integrity": "sha512-qzQZRBqkFsYyaSWXuEHc2WR9c0a0CXwiE5FWUvn7ZM+vdy1uZLfCunD38UzhuB7YN/J11ndbDBcTmOdxJo9Q7A==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"undici-types": "~7.13.0" "undici-types": "~7.16.0"
} }
}, },
"node_modules/@types/pretty-time": { "node_modules/@types/pretty-time": {
@@ -2090,10 +2090,11 @@
} }
}, },
"node_modules/@types/yargs": { "node_modules/@types/yargs": {
"version": "17.0.33", "version": "17.0.34",
"resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.34.tgz",
"integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", "integrity": "sha512-KExbHVa92aJpw9WDQvzBaGVE2/Pz+pLZQloT2hjL8IqsZnV62rlPOYvNnLmf/L2dyllfVUOVBj64M0z/46eR2A==",
"dev": true, "dev": true,
"license": "MIT",
"dependencies": { "dependencies": {
"@types/yargs-parser": "*" "@types/yargs-parser": "*"
} }
@@ -2927,9 +2928,9 @@
} }
}, },
"node_modules/esbuild": { "node_modules/esbuild": {
"version": "0.25.10", "version": "0.25.12",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.10.tgz", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz",
"integrity": "sha512-9RiGKvCwaqxO2owP61uQ4BgNborAQskMR6QusfWzQqv7AZOg5oGehdY2pRJMTKuwxd1IDBP4rSbI5lHzU7SMsQ==", "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==",
"hasInstallScript": true, "hasInstallScript": true,
"license": "MIT", "license": "MIT",
"bin": { "bin": {
@@ -2939,32 +2940,32 @@
"node": ">=18" "node": ">=18"
}, },
"optionalDependencies": { "optionalDependencies": {
"@esbuild/aix-ppc64": "0.25.10", "@esbuild/aix-ppc64": "0.25.12",
"@esbuild/android-arm": "0.25.10", "@esbuild/android-arm": "0.25.12",
"@esbuild/android-arm64": "0.25.10", "@esbuild/android-arm64": "0.25.12",
"@esbuild/android-x64": "0.25.10", "@esbuild/android-x64": "0.25.12",
"@esbuild/darwin-arm64": "0.25.10", "@esbuild/darwin-arm64": "0.25.12",
"@esbuild/darwin-x64": "0.25.10", "@esbuild/darwin-x64": "0.25.12",
"@esbuild/freebsd-arm64": "0.25.10", "@esbuild/freebsd-arm64": "0.25.12",
"@esbuild/freebsd-x64": "0.25.10", "@esbuild/freebsd-x64": "0.25.12",
"@esbuild/linux-arm": "0.25.10", "@esbuild/linux-arm": "0.25.12",
"@esbuild/linux-arm64": "0.25.10", "@esbuild/linux-arm64": "0.25.12",
"@esbuild/linux-ia32": "0.25.10", "@esbuild/linux-ia32": "0.25.12",
"@esbuild/linux-loong64": "0.25.10", "@esbuild/linux-loong64": "0.25.12",
"@esbuild/linux-mips64el": "0.25.10", "@esbuild/linux-mips64el": "0.25.12",
"@esbuild/linux-ppc64": "0.25.10", "@esbuild/linux-ppc64": "0.25.12",
"@esbuild/linux-riscv64": "0.25.10", "@esbuild/linux-riscv64": "0.25.12",
"@esbuild/linux-s390x": "0.25.10", "@esbuild/linux-s390x": "0.25.12",
"@esbuild/linux-x64": "0.25.10", "@esbuild/linux-x64": "0.25.12",
"@esbuild/netbsd-arm64": "0.25.10", "@esbuild/netbsd-arm64": "0.25.12",
"@esbuild/netbsd-x64": "0.25.10", "@esbuild/netbsd-x64": "0.25.12",
"@esbuild/openbsd-arm64": "0.25.10", "@esbuild/openbsd-arm64": "0.25.12",
"@esbuild/openbsd-x64": "0.25.10", "@esbuild/openbsd-x64": "0.25.12",
"@esbuild/openharmony-arm64": "0.25.10", "@esbuild/openharmony-arm64": "0.25.12",
"@esbuild/sunos-x64": "0.25.10", "@esbuild/sunos-x64": "0.25.12",
"@esbuild/win32-arm64": "0.25.10", "@esbuild/win32-arm64": "0.25.12",
"@esbuild/win32-ia32": "0.25.10", "@esbuild/win32-ia32": "0.25.12",
"@esbuild/win32-x64": "0.25.10" "@esbuild/win32-x64": "0.25.12"
} }
}, },
"node_modules/esbuild-sass-plugin": { "node_modules/esbuild-sass-plugin": {
@@ -5236,10 +5237,10 @@
} }
}, },
"node_modules/minimatch": { "node_modules/minimatch": {
"version": "10.0.3", "version": "10.1.1",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.3.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz",
"integrity": "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==", "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==",
"license": "ISC", "license": "BlueOak-1.0.0",
"dependencies": { "dependencies": {
"@isaacs/brace-expansion": "^5.0.0" "@isaacs/brace-expansion": "^5.0.0"
}, },
@@ -5451,9 +5452,9 @@
} }
}, },
"node_modules/pixi.js": { "node_modules/pixi.js": {
"version": "8.13.2", "version": "8.14.0",
"resolved": "https://registry.npmjs.org/pixi.js/-/pixi.js-8.13.2.tgz", "resolved": "https://registry.npmjs.org/pixi.js/-/pixi.js-8.14.0.tgz",
"integrity": "sha512-9KVGZ4a99TA5SwUEWs9m5gliX6XUCS1aGc/DOPsXxpqLMDRa+FhzpT5ao9z1UwLYJkSvt3rcQs+aZXECBHSSHg==", "integrity": "sha512-ituDiEBb1Oqx56RYwTtC6MjPUhPfF/i15fpUv5oEqmzC/ce3SaSumulJcOjKG7+y0J0Ekl9Rl4XTxaUw+MVFZw==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@pixi/colord": "^2.9.6", "@pixi/colord": "^2.9.6",
@@ -5490,9 +5491,9 @@
} }
}, },
"node_modules/preact-render-to-string": { "node_modules/preact-render-to-string": {
"version": "6.6.1", "version": "6.6.3",
"resolved": "https://registry.npmjs.org/preact-render-to-string/-/preact-render-to-string-6.6.1.tgz", "resolved": "https://registry.npmjs.org/preact-render-to-string/-/preact-render-to-string-6.6.3.tgz",
"integrity": "sha512-IIMfXRjmbSP9QmG18WJLQa4Z4yx3J0VC9QN5q9z2XYlWSzFlJ+bSm/AyLyyV/YFwjof1OXFX2Mz6Ao60LXudJg==", "integrity": "sha512-7oHG7jzjriqsFPkSPiPnzrQ0GcxFm6wOkYWNdStK5Ks9YlWSQQXKGBRAX4nKDdqX7HAQuRvI4pZNZMycK4WwDw==",
"license": "MIT", "license": "MIT",
"peerDependencies": { "peerDependencies": {
"preact": ">=10 || >= 11.0.0-0" "preact": ">=10 || >= 11.0.0-0"
@@ -6859,9 +6860,9 @@
} }
}, },
"node_modules/typescript": { "node_modules/typescript": {
"version": "5.9.2", "version": "5.9.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
"integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==", "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
"dev": true, "dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"bin": { "bin": {
@@ -6873,9 +6874,9 @@
} }
}, },
"node_modules/undici-types": { "node_modules/undici-types": {
"version": "7.13.0", "version": "7.16.0",
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.13.0.tgz", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz",
"integrity": "sha512-Ov2Rr9Sx+fRgagJ5AX0qvItZG/JKKoBRAVITs1zk7IqZGTJUwgUr7qoYBpWwakpWilTZFM98rG/AFRocu10iIQ==", "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==",
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
}, },
@@ -7152,9 +7153,9 @@
"integrity": "sha512-Gd9+TUn5nXdwj/hFsPVx5cuHHiF5Bwuc30jZ4+ronF1qHK5O7HD0sgmXWSEgwKquT3ClLoKPVbO6qGwVwLzvAw==" "integrity": "sha512-Gd9+TUn5nXdwj/hFsPVx5cuHHiF5Bwuc30jZ4+ronF1qHK5O7HD0sgmXWSEgwKquT3ClLoKPVbO6qGwVwLzvAw=="
}, },
"node_modules/workerpool": { "node_modules/workerpool": {
"version": "9.3.4", "version": "10.0.0",
"resolved": "https://registry.npmjs.org/workerpool/-/workerpool-9.3.4.tgz", "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-10.0.0.tgz",
"integrity": "sha512-TmPRQYYSAnnDiEB0P/Ytip7bFGvqnSU6I2BcuSw7Hx+JSg/DsUi5ebYfc8GYaSdpuvOcEs6dXxPurOYpe9QFwg==", "integrity": "sha512-q++kYpKoYSfe7myTA5bH8nov9XKpEj7ji3f/W2h4E8yrX42Fhdt6x3E5pgsmnL1+swBZXryUwudNQJmcuodqmw==",
"license": "Apache-2.0" "license": "Apache-2.0"
}, },
"node_modules/wrap-ansi": { "node_modules/wrap-ansi": {

View File

@@ -60,10 +60,10 @@
"mdast-util-to-hast": "^13.2.0", "mdast-util-to-hast": "^13.2.0",
"mdast-util-to-string": "^4.0.0", "mdast-util-to-string": "^4.0.0",
"micromorph": "^0.4.5", "micromorph": "^0.4.5",
"minimatch": "^10.0.3", "minimatch": "^10.1.1",
"pixi.js": "^8.13.2", "pixi.js": "^8.14.0",
"preact": "^10.27.2", "preact": "^10.27.2",
"preact-render-to-string": "^6.6.1", "preact-render-to-string": "^6.6.3",
"pretty-bytes": "^7.1.0", "pretty-bytes": "^7.1.0",
"pretty-time": "^1.1.0", "pretty-time": "^1.1.0",
"reading-time": "^1.5.0", "reading-time": "^1.5.0",
@@ -93,7 +93,7 @@
"unified": "^11.0.5", "unified": "^11.0.5",
"unist-util-visit": "^5.0.0", "unist-util-visit": "^5.0.0",
"vfile": "^6.0.3", "vfile": "^6.0.3",
"workerpool": "^9.3.4", "workerpool": "^10.0.0",
"ws": "^8.18.3", "ws": "^8.18.3",
"yargs": "^18.0.0" "yargs": "^18.0.0"
}, },
@@ -101,14 +101,14 @@
"@types/d3": "^7.4.3", "@types/d3": "^7.4.3",
"@types/hast": "^3.0.4", "@types/hast": "^3.0.4",
"@types/js-yaml": "^4.0.9", "@types/js-yaml": "^4.0.9",
"@types/node": "^24.6.0", "@types/node": "^24.10.0",
"@types/pretty-time": "^1.1.5", "@types/pretty-time": "^1.1.5",
"@types/source-map-support": "^0.5.10", "@types/source-map-support": "^0.5.10",
"@types/ws": "^8.18.1", "@types/ws": "^8.18.1",
"@types/yargs": "^17.0.33", "@types/yargs": "^17.0.34",
"esbuild": "^0.25.10", "esbuild": "^0.25.12",
"prettier": "^3.6.2", "prettier": "^3.6.2",
"tsx": "^4.20.6", "tsx": "^4.20.6",
"typescript": "^5.9.2" "typescript": "^5.9.3"
} }
} }

View File

@@ -9,6 +9,7 @@ import { visit } from "unist-util-visit"
import { Root, Element, ElementContent } from "hast" import { Root, Element, ElementContent } from "hast"
import { GlobalConfiguration } from "../cfg" import { GlobalConfiguration } from "../cfg"
import { i18n } from "../i18n" import { i18n } from "../i18n"
import { styleText } from "util"
interface RenderComponents { interface RenderComponents {
head: QuartzComponent head: QuartzComponent
@@ -68,6 +69,7 @@ function renderTranscludes(
cfg: GlobalConfiguration, cfg: GlobalConfiguration,
slug: FullSlug, slug: FullSlug,
componentData: QuartzComponentProps, componentData: QuartzComponentProps,
visited: Set<FullSlug>,
) { ) {
// process transcludes in componentData // process transcludes in componentData
visit(root, "element", (node, _index, _parent) => { visit(root, "element", (node, _index, _parent) => {
@@ -76,6 +78,30 @@ function renderTranscludes(
if (classNames.includes("transclude")) { if (classNames.includes("transclude")) {
const inner = node.children[0] as Element const inner = node.children[0] as Element
const transcludeTarget = (inner.properties["data-slug"] ?? slug) as FullSlug const transcludeTarget = (inner.properties["data-slug"] ?? slug) as FullSlug
if (visited.has(transcludeTarget)) {
console.warn(
styleText(
"yellow",
`Warning: Skipping circular transclusion: ${slug} -> ${transcludeTarget}`,
),
)
node.children = [
{
type: "element",
tagName: "p",
properties: { style: "color: var(--secondary);" },
children: [
{
type: "text",
value: `Circular transclusion detected: ${transcludeTarget}`,
},
],
},
]
return
}
visited.add(transcludeTarget)
const page = componentData.allFiles.find((f) => f.slug === transcludeTarget) const page = componentData.allFiles.find((f) => f.slug === transcludeTarget)
if (!page) { if (!page) {
return return
@@ -196,7 +222,8 @@ export function renderPage(
// make a deep copy of the tree so we don't remove the transclusion references // make a deep copy of the tree so we don't remove the transclusion references
// for the file cached in contentMap in build.ts // for the file cached in contentMap in build.ts
const root = clone(componentData.tree) as Root const root = clone(componentData.tree) as Root
renderTranscludes(root, cfg, slug, componentData) const visited = new Set<FullSlug>([slug])
renderTranscludes(root, cfg, slug, componentData, visited)
// set componentData.tree to the edited html that has transclusions rendered // set componentData.tree to the edited html that has transclusions rendered
componentData.tree = root componentData.tree = root

View File

@@ -111,6 +111,10 @@ function createFolderNode(
const folderPath = node.slug const folderPath = node.slug
folderContainer.dataset.folderpath = folderPath folderContainer.dataset.folderpath = folderPath
if (currentSlug === folderPath) {
folderContainer.classList.add("active")
}
if (opts.folderClickBehavior === "link") { if (opts.folderClickBehavior === "link") {
// Replace button with link for link behavior // Replace button with link for link behavior
const button = titleContainer.querySelector(".folder-button") as HTMLElement const button = titleContainer.querySelector(".folder-button") as HTMLElement

View File

@@ -133,12 +133,16 @@ button.desktop-explorer {
} }
.folder-outer { .folder-outer {
visibility: collapse;
display: grid; display: grid;
grid-template-rows: 0fr; grid-template-rows: 0fr;
transition: grid-template-rows 0.3s ease-in-out; transition-property: grid-template-rows, visibility;
transition-duration: 0.3s;
transition-timing-function: ease-in-out;
} }
.folder-outer.open { .folder-outer.open {
visibility: visible;
grid-template-rows: 1fr; grid-template-rows: 1fr;
} }

View File

@@ -25,6 +25,7 @@
& > p { & > p {
display: inline; display: inline;
color: var(--gray); color: var(--gray);
text-wrap: unset;
} }
& svg { & svg {

View File

@@ -27,6 +27,8 @@ import lt from "./locales/lt-LT"
import fi from "./locales/fi-FI" import fi from "./locales/fi-FI"
import no from "./locales/nb-NO" import no from "./locales/nb-NO"
import id from "./locales/id-ID" import id from "./locales/id-ID"
import kk from "./locales/kk-KZ"
import he from "./locales/he-IL"
export const TRANSLATIONS = { export const TRANSLATIONS = {
"en-US": enUs, "en-US": enUs,
@@ -78,6 +80,8 @@ export const TRANSLATIONS = {
"fi-FI": fi, "fi-FI": fi,
"nb-NO": no, "nb-NO": no,
"id-ID": id, "id-ID": id,
"kk-KZ": kk,
"he-IL": he,
} as const } as const
export const defaultTranslation = "en-US" export const defaultTranslation = "en-US"

View File

@@ -0,0 +1,88 @@
import { Translation } from "./definition"
export default {
propertyDefaults: {
title: "ללא כותרת",
description: "לא סופק תיאור",
},
direction: "rtl" as const,
components: {
callout: {
note: "הערה",
abstract: "תקציר",
info: "מידע",
todo: "לעשות",
tip: "טיפ",
success: "הצלחה",
question: "שאלה",
warning: "אזהרה",
failure: "כשלון",
danger: "סכנה",
bug: "באג",
example: "דוגמה",
quote: "ציטוט",
},
backlinks: {
title: "קישורים חוזרים",
noBacklinksFound: "לא נמצאו קישורים חוזרים",
},
themeToggle: {
lightMode: "מצב בהיר",
darkMode: "מצב כהה",
},
readerMode: {
title: "מצב קריאה",
},
explorer: {
title: "סייר",
},
footer: {
createdWith: "נוצר באמצעות",
},
graph: {
title: "מבט גרף",
},
recentNotes: {
title: "הערות אחרונות",
seeRemainingMore: ({ remaining }) => `עיין ב ${remaining} נוספים →`,
},
transcludes: {
transcludeOf: ({ targetSlug }) => `מצוטט מ ${targetSlug}`,
linkToOriginal: "קישור למקורי",
},
search: {
title: "חיפוש",
searchBarPlaceholder: "חפשו משהו",
},
tableOfContents: {
title: "תוכן עניינים",
},
contentMeta: {
readingTime: ({ minutes }) => `${minutes} דקות קריאה`,
},
},
pages: {
rss: {
recentNotes: "הערות אחרונות",
lastFewNotes: ({ count }) => `${count} הערות אחרונות`,
},
error: {
title: "לא נמצא",
notFound: "העמוד הזה פרטי או לא קיים.",
home: "חזרה לעמוד הבית",
},
folderContent: {
folder: "תיקייה",
itemsUnderFolder: ({ count }) =>
count === 1 ? "פריט אחד תחת תיקייה זו." : `${count} פריטים תחת תיקייה זו.`,
},
tagContent: {
tag: "תגית",
tagIndex: "מפתח התגיות",
itemsUnderTag: ({ count }) =>
count === 1 ? "פריט אחד עם תגית זו." : `${count} פריטים עם תגית זו.`,
showingFirst: ({ count }) => `מראה את ה-${count} תגיות הראשונות.`,
totalTags: ({ count }) => `${count} תגיות נמצאו סך הכל.`,
},
},
} as const satisfies Translation

View File

@@ -8,7 +8,7 @@ export default {
components: { components: {
callout: { callout: {
note: "Nota", note: "Nota",
abstract: "Astratto", abstract: "Abstract",
info: "Info", info: "Info",
todo: "Da fare", todo: "Da fare",
tip: "Consiglio", tip: "Consiglio",
@@ -17,7 +17,7 @@ export default {
warning: "Attenzione", warning: "Attenzione",
failure: "Errore", failure: "Errore",
danger: "Pericolo", danger: "Pericolo",
bug: "Bug", bug: "Problema",
example: "Esempio", example: "Esempio",
quote: "Citazione", quote: "Citazione",
}, },
@@ -43,10 +43,11 @@ export default {
}, },
recentNotes: { recentNotes: {
title: "Note recenti", title: "Note recenti",
seeRemainingMore: ({ remaining }) => `Vedi ${remaining} altro →`, seeRemainingMore: ({ remaining }) =>
remaining === 1 ? "Vedi 1 altra →" : `Vedi altre ${remaining}`,
}, },
transcludes: { transcludes: {
transcludeOf: ({ targetSlug }) => `Transclusione di ${targetSlug}`, transcludeOf: ({ targetSlug }) => `Inclusione di ${targetSlug}`,
linkToOriginal: "Link all'originale", linkToOriginal: "Link all'originale",
}, },
search: { search: {
@@ -54,16 +55,16 @@ export default {
searchBarPlaceholder: "Cerca qualcosa", searchBarPlaceholder: "Cerca qualcosa",
}, },
tableOfContents: { tableOfContents: {
title: "Tabella dei contenuti", title: "Indice",
}, },
contentMeta: { contentMeta: {
readingTime: ({ minutes }) => `${minutes} minuti`, readingTime: ({ minutes }) => (minutes === 1 ? "1 minuto" : `${minutes} minuti`),
}, },
}, },
pages: { pages: {
rss: { rss: {
recentNotes: "Note recenti", recentNotes: "Note recenti",
lastFewNotes: ({ count }) => `Ultime ${count} note`, lastFewNotes: ({ count }) => (count === 1 ? "Ultima nota" : `Ultime ${count} note`),
}, },
error: { error: {
title: "Non trovato", title: "Non trovato",
@@ -80,8 +81,9 @@ export default {
tagIndex: "Indice etichette", tagIndex: "Indice etichette",
itemsUnderTag: ({ count }) => itemsUnderTag: ({ count }) =>
count === 1 ? "1 oggetto con questa etichetta." : `${count} oggetti con questa etichetta.`, count === 1 ? "1 oggetto con questa etichetta." : `${count} oggetti con questa etichetta.`,
showingFirst: ({ count }) => `Prime ${count} etichette.`, showingFirst: ({ count }) => (count === 1 ? "Prima etichetta." : `Prime ${count} etichette.`),
totalTags: ({ count }) => `Trovate ${count} etichette totali.`, totalTags: ({ count }) =>
count === 1 ? "Trovata 1 etichetta in totale." : `Trovate ${count} etichette totali.`,
}, },
}, },
} as const satisfies Translation } as const satisfies Translation

View File

@@ -0,0 +1,87 @@
import { Translation } from "./definition"
export default {
propertyDefaults: {
title: "Атаусыз",
description: "Сипаттама берілмеген",
},
components: {
callout: {
note: "Ескерту",
abstract: "Аннотация",
info: "Ақпарат",
todo: "Істеу керек",
tip: "Кеңес",
success: "Сәттілік",
question: "Сұрақ",
warning: "Ескерту",
failure: "Қате",
danger: "Қауіп",
bug: "Қате",
example: "Мысал",
quote: "Дәйексөз",
},
backlinks: {
title: "Артқа сілтемелер",
noBacklinksFound: "Артқа сілтемелер табылмады",
},
themeToggle: {
lightMode: "Жарық режимі",
darkMode: "Қараңғы режим",
},
readerMode: {
title: "Оқу режимі",
},
explorer: {
title: "Зерттеуші",
},
footer: {
createdWith: "Құрастырылған құрал:",
},
graph: {
title: "Граф көрінісі",
},
recentNotes: {
title: "Соңғы жазбалар",
seeRemainingMore: ({ remaining }) => `Тағы ${remaining} жазбаны қарау →`,
},
transcludes: {
transcludeOf: ({ targetSlug }) => `${targetSlug} кірістіру`,
linkToOriginal: "Бастапқыға сілтеме",
},
search: {
title: "Іздеу",
searchBarPlaceholder: "Бірдеңе іздеу",
},
tableOfContents: {
title: "Мазмұны",
},
contentMeta: {
readingTime: ({ minutes }) => `${minutes} мин оқу`,
},
},
pages: {
rss: {
recentNotes: "Соңғы жазбалар",
lastFewNotes: ({ count }) => `Соңғы ${count} жазба`,
},
error: {
title: "Табылмады",
notFound: "Бұл бет жеке немесе жоқ болуы мүмкін.",
home: "Басты бетке оралу",
},
folderContent: {
folder: "Қалта",
itemsUnderFolder: ({ count }) =>
count === 1 ? "Бұл қалтада 1 элемент бар." : `Бұл қалтада ${count} элемент бар.`,
},
tagContent: {
tag: "Тег",
tagIndex: "Тегтер индексі",
itemsUnderTag: ({ count }) =>
count === 1 ? "Бұл тегпен 1 элемент." : `Бұл тегпен ${count} элемент.`,
showingFirst: ({ count }) => `Алғашқы ${count} тег көрсетілуде.`,
totalTags: ({ count }) => `Барлығы ${count} тег табылды.`,
},
},
} as const satisfies Translation

View File

@@ -103,7 +103,6 @@ export const FrontMatter: QuartzTransformerPlugin<Partial<Options>> = (userOpts)
const created = coalesceAliases(data, ["created", "date"]) const created = coalesceAliases(data, ["created", "date"])
if (created) { if (created) {
data.created = created data.created = created
data.modified ||= created // if modified is not set, use created
} }
const modified = coalesceAliases(data, [ const modified = coalesceAliases(data, [
@@ -113,6 +112,8 @@ export const FrontMatter: QuartzTransformerPlugin<Partial<Options>> = (userOpts)
"last-modified", "last-modified",
]) ])
if (modified) data.modified = modified if (modified) data.modified = modified
data.modified ||= created // if modified is not set, use created
const published = coalesceAliases(data, ["published", "publishDate", "date"]) const published = coalesceAliases(data, ["published", "publishDate", "date"])
if (published) data.published = published if (published) data.published = published

View File

@@ -57,7 +57,7 @@ export const CrawlLinks: QuartzTransformerPlugin<Partial<Options>> = (userOpts)
) { ) {
let dest = node.properties.href as RelativeURL let dest = node.properties.href as RelativeURL
const classes = (node.properties.className ?? []) as string[] const classes = (node.properties.className ?? []) as string[]
const isExternal = isAbsoluteUrl(dest) const isExternal = isAbsoluteUrl(dest, { httpOnly: false })
classes.push(isExternal ? "external" : "internal") classes.push(isExternal ? "external" : "internal")
if (isExternal && opts.externalLinkIcon) { if (isExternal && opts.externalLinkIcon) {
@@ -99,7 +99,9 @@ export const CrawlLinks: QuartzTransformerPlugin<Partial<Options>> = (userOpts)
} }
// don't process external links or intra-document anchors // don't process external links or intra-document anchors
const isInternal = !(isAbsoluteUrl(dest) || dest.startsWith("#")) const isInternal = !(
isAbsoluteUrl(dest, { httpOnly: false }) || dest.startsWith("#")
)
if (isInternal) { if (isInternal) {
dest = node.properties.href = transformLink( dest = node.properties.href = transformLink(
file.data.slug!, file.data.slug!,
@@ -145,7 +147,7 @@ export const CrawlLinks: QuartzTransformerPlugin<Partial<Options>> = (userOpts)
node.properties.loading = "lazy" node.properties.loading = "lazy"
} }
if (!isAbsoluteUrl(node.properties.src)) { if (!isAbsoluteUrl(node.properties.src, { httpOnly: false })) {
let dest = node.properties.src as RelativeURL let dest = node.properties.src as RelativeURL
dest = node.properties.src = transformLink( dest = node.properties.src = transformLink(
file.data.slug!, file.data.slug!,

View File

@@ -123,13 +123,22 @@
transform: rotateZ(-90deg); transform: rotateZ(-90deg);
} }
.callout-content > :first-child { .callout-content {
transition: & > * {
height 0.1s cubic-bezier(0.02, 0.01, 0.47, 1), transition:
margin 0.1s cubic-bezier(0.02, 0.01, 0.47, 1); height 0.1s cubic-bezier(0.02, 0.01, 0.47, 1),
overflow-y: clip; margin 0.1s cubic-bezier(0.02, 0.01, 0.47, 1),
height: 0; padding 0.1s cubic-bezier(0.02, 0.01, 0.47, 1);
margin-top: -1rem; overflow-y: clip;
height: 0;
margin-bottom: 0;
margin-top: 0;
padding-bottom: 0;
padding-top: 0;
}
& > :first-child {
margin-top: -1rem;
}
} }
} }
} }