From 03e5f3452bfefb6f14406b25bc8b46b8daace2a2 Mon Sep 17 00:00:00 2001 From: Admin Date: Sat, 11 Jul 2026 17:08:37 +0000 Subject: [PATCH] Initial import --- .gitignore | 4 + Guest/PurposeFlow/auth/pflab-id/compose.yaml | 85 + .../auth/pflab-secrets/compose.yaml | 42 + Guest/PurposeFlow/compose.yaml | 41 + .../PurposeFlow/coms/pflab-alias/compose.yaml | 163 + .../coms/pflab-alias/secrets/dkim.key | 15 + .../coms/pflab-alias/secrets/dkim.pub.key | 6 + .../reverse-proxy/pflab-proxy/compose.yaml | 57 + .../storage/pflab-git/compose.yaml | 62 + .../storage/pflab-postgres/compose.yaml | 42 + Local/auth/thlab-id/compose.yaml | 85 + Local/auth/thlab-secrets/compose.yaml | 42 + Local/compose.yaml | 42 + Local/coms/thlab-alias/compose.yaml | 163 + Local/coms/thlab-alias/secrets/dkim.key | 15 + Local/coms/thlab-alias/secrets/dkim.pub.key | 6 + Local/reverse-proxy/thlab-proxy/compose.yaml | 58 + Local/storage/thlab-git/compose.yaml | 61 + Local/storage/thlab-notes/compose.yaml | 30 + .../storage/thlab-notes/worker/.node-version | 1 + Local/storage/thlab-notes/worker/.npmrc | 1 + .../thlab-notes/worker/.prettierignore | 3 + Local/storage/thlab-notes/worker/.prettierrc | 21 + .../thlab-notes/worker/CODE_OF_CONDUCT.md | 90 + Local/storage/thlab-notes/worker/Dockerfile | 27 + Local/storage/thlab-notes/worker/LICENSE.txt | 21 + Local/storage/thlab-notes/worker/README.md | 17 + Local/storage/thlab-notes/worker/content | 1 + .../storage/thlab-notes/worker/docs/Base.base | 135 + .../thlab-notes/worker/docs/Canvas.canvas | 321 + .../worker/docs/advanced/architecture.md | 149 + .../docs/advanced/creating components.md | 266 + .../thlab-notes/worker/docs/advanced/index.md | 10 + .../worker/docs/advanced/making plugins.md | 748 ++ .../thlab-notes/worker/docs/advanced/paths.md | 51 + .../thlab-notes/worker/docs/cli/build.md | 78 + .../thlab-notes/worker/docs/cli/create.md | 83 + .../thlab-notes/worker/docs/cli/index.md | 55 + .../thlab-notes/worker/docs/cli/plugin.md | 281 + .../thlab-notes/worker/docs/cli/restore.md | 31 + .../thlab-notes/worker/docs/cli/sync.md | 74 + .../thlab-notes/worker/docs/cli/tui.md | 64 + .../thlab-notes/worker/docs/cli/upgrade.md | 48 + .../thlab-notes/worker/docs/community.md | 60 + .../thlab-notes/worker/docs/configuration.md | 303 + .../thlab-notes/worker/docs/features/Bases.md | 21 + .../worker/docs/features/Canvas.md | 21 + .../worker/docs/features/Citations.md | 31 + .../worker/docs/features/Docker Support.md | 17 + .../thlab-notes/worker/docs/features/Latex.md | 81 + .../worker/docs/features/Mermaid diagrams.md | 34 + .../docs/features/Obsidian compatibility.md | 223 + .../docs/features/OxHugo compatibility.md | 48 + .../worker/docs/features/RSS Feed.md | 10 + .../features/Roam Research compatibility.md | 35 + .../worker/docs/features/SPA Routing.md | 13 + .../worker/docs/features/backlinks.md | 17 + .../worker/docs/features/breadcrumbs.md | 54 + .../worker/docs/features/callouts.md | 96 + .../worker/docs/features/comments.md | 182 + .../worker/docs/features/darkmode.md | 25 + .../worker/docs/features/explorer.md | 294 + .../docs/features/folder and tag listings.md | 33 + .../worker/docs/features/full-text search.md | 31 + .../worker/docs/features/graph view.md | 91 + .../thlab-notes/worker/docs/features/i18n.md | 18 + .../thlab-notes/worker/docs/features/index.md | 48 + .../worker/docs/features/popover previews.md | 17 + .../worker/docs/features/private pages.md | 33 + .../worker/docs/features/reader mode.md | 57 + .../worker/docs/features/recent notes.md | 24 + .../worker/docs/features/social images.md | 19 + .../docs/features/syntax highlighting.md | 143 + .../worker/docs/features/table of contents.md | 18 + .../worker/docs/features/wikilinks.md | 26 + .../docs/getting-started/authoring-content.md | 49 + .../worker/docs/getting-started/index.md | 34 + .../docs/getting-started/installation.md | 161 + .../worker/docs/getting-started/migrating.md | 228 + .../worker/docs/getting-started/upgrading.md | 40 + .../worker/docs/getting-started/whats-new.md | 193 + .../thlab-notes/worker/docs/hosting.md | 347 + .../custom-social-image-preview-dark.png | Bin 0 -> 131924 bytes .../custom-social-image-preview-light.png | Bin 0 -> 134759 bytes .../worker/docs/images/dns records.png | Bin 0 -> 77842 bytes .../worker/docs/images/giscus-discussion.png | Bin 0 -> 90571 bytes .../worker/docs/images/giscus-example.png | Bin 0 -> 585609 bytes .../worker/docs/images/giscus-repo.png | Bin 0 -> 110124 bytes .../worker/docs/images/giscus-results.png | Bin 0 -> 175533 bytes .../docs/images/github-init-repo-options.png | Bin 0 -> 91774 bytes .../worker/docs/images/github-quick-setup.png | Bin 0 -> 153358 bytes .../docs/images/quartz transform pipeline.png | Bin 0 -> 73574 bytes .../docs/images/quartz-layout-desktop.png | Bin 0 -> 37098 bytes .../docs/images/quartz-layout-mobile.png | Bin 0 -> 36853 bytes .../docs/images/quartz-layout-tablet.png | Bin 0 -> 35554 bytes .../docs/images/social-image-preview-dark.png | Bin 0 -> 142236 bytes .../images/social-image-preview-light.png | Bin 0 -> 137192 bytes .../storage/thlab-notes/worker/docs/index.md | 69 + .../worker/docs/layout-components.md | 194 + .../storage/thlab-notes/worker/docs/layout.md | 240 + .../thlab-notes/worker/docs/philosophy.md | 47 + .../worker/docs/plugins/AliasRedirects.md | 68 + .../worker/docs/plugins/ArticleTitle.md | 24 + .../thlab-notes/worker/docs/plugins/Assets.md | 21 + .../worker/docs/plugins/Backlinks.md | 39 + .../worker/docs/plugins/BasesPage.md | 75 + .../worker/docs/plugins/Breadcrumbs.md | 45 + .../thlab-notes/worker/docs/plugins/CNAME.md | 28 + .../worker/docs/plugins/CanvasPage.md | 59 + .../worker/docs/plugins/Citations.md | 29 + .../worker/docs/plugins/Comments.md | 58 + .../worker/docs/plugins/ComponentResources.md | 19 + .../worker/docs/plugins/ContentIndex.md | 33 + .../worker/docs/plugins/ContentMeta.md | 39 + .../worker/docs/plugins/ContentPage.md | 24 + .../worker/docs/plugins/CrawlLinks.md | 37 + .../docs/plugins/CreatedModifiedDate.md | 34 + .../worker/docs/plugins/CustomOgImages.md | 383 + .../worker/docs/plugins/Darkmode.md | 37 + .../worker/docs/plugins/Description.md | 30 + .../docs/plugins/EncryptedPages Demo.md | 28 + .../worker/docs/plugins/EncryptedPages.md | 129 + .../worker/docs/plugins/ExplicitPublish.md | 24 + .../worker/docs/plugins/Explorer.md | 70 + .../worker/docs/plugins/Favicon.md | 25 + .../worker/docs/plugins/FolderPage.md | 31 + .../thlab-notes/worker/docs/plugins/Fonts.md | 226 + .../thlab-notes/worker/docs/plugins/Footer.md | 39 + .../worker/docs/plugins/Frontmatter.md | 111 + .../docs/plugins/GitHubFlavoredMarkdown.md | 29 + .../thlab-notes/worker/docs/plugins/Graph.md | 83 + .../worker/docs/plugins/HardLineBreaks.md | 24 + .../thlab-notes/worker/docs/plugins/Latex.md | 30 + .../worker/docs/plugins/NotFoundPage.md | 19 + .../worker/docs/plugins/NoteProperties.md | 23 + .../docs/plugins/ObsidianFlavoredMarkdown.md | 44 + .../docs/plugins/OxHugoFlavoredMarkdown.md | 35 + .../worker/docs/plugins/PageTitle.md | 24 + .../worker/docs/plugins/ReaderMode.md | 38 + .../worker/docs/plugins/RecentNotes.md | 47 + .../worker/docs/plugins/RemoveDrafts.md | 24 + .../docs/plugins/RoamFlavoredMarkdown.md | 34 + .../thlab-notes/worker/docs/plugins/Search.md | 44 + .../thlab-notes/worker/docs/plugins/Spacer.md | 25 + .../worker/docs/plugins/StackedPages.md | 61 + .../thlab-notes/worker/docs/plugins/Static.md | 22 + .../worker/docs/plugins/SyntaxHighlighting.md | 31 + .../worker/docs/plugins/TableOfContents.md | 34 + .../worker/docs/plugins/TagList.md | 24 + .../worker/docs/plugins/TagPage.md | 28 + .../worker/docs/plugins/UnlistedPages.md | 68 + .../thlab-notes/worker/docs/plugins/index.md | 146 + .../thlab-notes/worker/docs/showcase.md | 23 + .../thlab-notes/worker/docs/tags/component.md | 5 + .../thlab-notes/worker/docs/tags/plugin.md | 3 + .../worker/docs/troubleshooting.md | 172 + .../storage/thlab-notes/worker/entrypoint.sh | 77 + Local/storage/thlab-notes/worker/globals.d.ts | 17 + Local/storage/thlab-notes/worker/index.d.ts | 16 + .../thlab-notes/worker/package-lock.json | 5845 +++++++++++++ Local/storage/thlab-notes/worker/package.json | 88 + .../worker/quartz.config.default.yaml | 280 + .../thlab-notes/worker/quartz.lock.json | 286 + Local/storage/thlab-notes/worker/quartz.ts | 5 + .../worker/quartz/bootstrap-cli.mjs | 284 + .../worker/quartz/bootstrap-worker.mjs | 8 + .../thlab-notes/worker/quartz/build.ts | 369 + .../storage/thlab-notes/worker/quartz/cfg.ts | 106 + .../thlab-notes/worker/quartz/cli/args.js | 120 + .../worker/quartz/cli/constants.js | 16 + .../thlab-notes/worker/quartz/cli/handlers.js | 801 ++ .../thlab-notes/worker/quartz/cli/helpers.js | 109 + .../worker/quartz/cli/helpers.test.js | 237 + .../worker/quartz/cli/plugin-data.js | 367 + .../worker/quartz/cli/plugin-git-handlers.js | 1759 ++++ .../worker/quartz/cli/templates/blog.yaml | 291 + .../worker/quartz/cli/templates/default.yaml | 277 + .../worker/quartz/cli/templates/obsidian.yaml | 302 + .../worker/quartz/cli/templates/ttrpg.yaml | 308 + .../worker/quartz/components/Body.tsx | 7 + .../quartz/components/ConditionalRender.tsx | 22 + .../worker/quartz/components/Date.tsx | 30 + .../worker/quartz/components/DesktopOnly.tsx | 18 + .../worker/quartz/components/Flex.tsx | 59 + .../worker/quartz/components/Head.tsx | 114 + .../worker/quartz/components/Header.tsx | 22 + .../worker/quartz/components/MobileOnly.tsx | 18 + .../worker/quartz/components/PageList.tsx | 114 + .../worker/quartz/components/Spacer.tsx | 8 + .../worker/quartz/components/external.ts | 23 + .../quartz/components/frames/DefaultFrame.tsx | 61 + .../components/frames/FullWidthFrame.tsx | 51 + .../quartz/components/frames/MinimalFrame.tsx | 23 + .../worker/quartz/components/frames/index.ts | 52 + .../quartz/components/frames/registry.ts | 34 + .../worker/quartz/components/frames/types.ts | 43 + .../worker/quartz/components/index.ts | 14 + .../worker/quartz/components/pages/404.tsx | 54 + .../worker/quartz/components/registry.ts | 132 + .../quartz/components/renderPage.test.ts | 327 + .../worker/quartz/components/renderPage.tsx | 376 + .../components/scripts/popover.inline.ts | 141 + .../quartz/components/scripts/popover.test.ts | 185 + .../quartz/components/scripts/search.test.ts | 163 + .../quartz/components/scripts/spa.inline.ts | 221 + .../worker/quartz/components/scripts/util.ts | 46 + .../quartz/components/styles/popover.scss | 89 + .../worker/quartz/components/types.ts | 30 + .../thlab-notes/worker/quartz/i18n/index.ts | 90 + .../worker/quartz/i18n/locales/ar-SA.ts | 93 + .../worker/quartz/i18n/locales/ca-ES.ts | 87 + .../worker/quartz/i18n/locales/cs-CZ.ts | 87 + .../worker/quartz/i18n/locales/de-DE.ts | 87 + .../worker/quartz/i18n/locales/definition.ts | 88 + .../worker/quartz/i18n/locales/en-GB.ts | 87 + .../worker/quartz/i18n/locales/en-US.ts | 87 + .../worker/quartz/i18n/locales/es-ES.ts | 87 + .../worker/quartz/i18n/locales/fa-IR.ts | 88 + .../worker/quartz/i18n/locales/fi-FI.ts | 87 + .../worker/quartz/i18n/locales/fr-FR.ts | 87 + .../worker/quartz/i18n/locales/he-IL.ts | 88 + .../worker/quartz/i18n/locales/hu-HU.ts | 85 + .../worker/quartz/i18n/locales/id-ID.ts | 87 + .../worker/quartz/i18n/locales/it-IT.ts | 89 + .../worker/quartz/i18n/locales/ja-JP.ts | 85 + .../worker/quartz/i18n/locales/kk-KZ.ts | 87 + .../worker/quartz/i18n/locales/ko-KR.ts | 85 + .../worker/quartz/i18n/locales/lt-LT.ts | 107 + .../worker/quartz/i18n/locales/nb-NO.ts | 87 + .../worker/quartz/i18n/locales/nl-NL.ts | 89 + .../worker/quartz/i18n/locales/pl-PL.ts | 87 + .../worker/quartz/i18n/locales/pt-BR.ts | 87 + .../worker/quartz/i18n/locales/ro-RO.ts | 88 + .../worker/quartz/i18n/locales/ru-RU.ts | 99 + .../worker/quartz/i18n/locales/th-TH.ts | 85 + .../worker/quartz/i18n/locales/tr-TR.ts | 87 + .../worker/quartz/i18n/locales/uk-UA.ts | 87 + .../worker/quartz/i18n/locales/vi-VN.ts | 85 + .../worker/quartz/i18n/locales/zh-CN.ts | 85 + .../worker/quartz/i18n/locales/zh-TW.ts | 85 + .../worker/quartz/plugins/config.ts | 51 + .../worker/quartz/plugins/emitters/assets.ts | 69 + .../plugins/emitters/componentResources.ts | 525 ++ .../worker/quartz/plugins/emitters/helpers.ts | 20 + .../worker/quartz/plugins/emitters/index.ts | 3 + .../worker/quartz/plugins/emitters/static.ts | 23 + .../worker/quartz/plugins/filters/index.ts | 1 + .../worker/quartz/plugins/index.ts | 50 + .../quartz/plugins/loader/componentLoader.ts | 71 + .../quartz/plugins/loader/conditions.ts | 33 + .../quartz/plugins/loader/config-loader.ts | 943 ++ .../quartz/plugins/loader/frameLoader.ts | 47 + .../worker/quartz/plugins/loader/gitLoader.ts | 1077 +++ .../worker/quartz/plugins/loader/index.ts | 499 ++ .../quartz/plugins/loader/install-plugins.ts | 30 + .../worker/quartz/plugins/loader/loader.ts | 4 + .../worker/quartz/plugins/loader/types.ts | 193 + .../worker/quartz/plugins/pageTypes/404.ts | 33 + .../quartz/plugins/pageTypes/dispatcher.ts | 339 + .../worker/quartz/plugins/pageTypes/index.ts | 3 + .../quartz/plugins/pageTypes/matchers.ts | 39 + .../quartz/plugins/quartz-plugins.schema.json | 345 + .../quartz/plugins/transformers/index.ts | 1 + .../worker/quartz/plugins/types.ts | 140 + .../worker/quartz/plugins/vfile.ts | 14 + .../worker/quartz/processors/emit.ts | 100 + .../worker/quartz/processors/filter.ts | 24 + .../worker/quartz/processors/parse.ts | 221 + .../worker/quartz/static/giscus/dark.css | 99 + .../worker/quartz/static/giscus/light.css | 99 + .../thlab-notes/worker/quartz/static/icon.png | Bin 0 -> 17368 bytes .../worker/quartz/static/og-image.png | Bin 0 -> 46089 bytes .../worker/quartz/styles/base.scss | 683 ++ .../worker/quartz/styles/callouts.scss | 187 + .../worker/quartz/styles/custom.scss | 3 + .../worker/quartz/styles/syntax.scss | 17 + .../worker/quartz/styles/variables.scss | 58 + .../thlab-notes/worker/quartz/util/clone.ts | 3 + .../thlab-notes/worker/quartz/util/ctx.ts | 65 + .../thlab-notes/worker/quartz/util/emoji.ts | 47 + .../worker/quartz/util/emojimap.json | 7568 +++++++++++++++++ .../thlab-notes/worker/quartz/util/escape.ts | 1 + .../worker/quartz/util/fileTrie.test.ts | 473 ++ .../worker/quartz/util/fileTrie.ts | 175 + .../thlab-notes/worker/quartz/util/glob.ts | 22 + .../thlab-notes/worker/quartz/util/jsx.tsx | 38 + .../thlab-notes/worker/quartz/util/lang.ts | 1 + .../thlab-notes/worker/quartz/util/log.ts | 58 + .../worker/quartz/util/path.test.ts | 394 + .../thlab-notes/worker/quartz/util/path.ts | 52 + .../thlab-notes/worker/quartz/util/perf.ts | 19 + .../thlab-notes/worker/quartz/util/random.ts | 3 + .../worker/quartz/util/resources.tsx | 82 + .../worker/quartz/util/slugCollisions.test.ts | 145 + .../worker/quartz/util/slugCollisions.ts | 84 + .../worker/quartz/util/sourcemap.ts | 18 + .../thlab-notes/worker/quartz/util/theme.ts | 351 + .../thlab-notes/worker/quartz/util/trace.ts | 43 + .../thlab-notes/worker/quartz/worker.ts | 37 + .../storage/thlab-notes/worker/tsconfig.json | 28 + Local/storage/thlab-postgres/compose.yaml | 42 + compose.yaml | 30 + edge-proxy/nginx.conf | 53 + 303 files changed, 43365 insertions(+) create mode 100644 .gitignore create mode 100644 Guest/PurposeFlow/auth/pflab-id/compose.yaml create mode 100644 Guest/PurposeFlow/auth/pflab-secrets/compose.yaml create mode 100644 Guest/PurposeFlow/compose.yaml create mode 100644 Guest/PurposeFlow/coms/pflab-alias/compose.yaml create mode 100644 Guest/PurposeFlow/coms/pflab-alias/secrets/dkim.key create mode 100644 Guest/PurposeFlow/coms/pflab-alias/secrets/dkim.pub.key create mode 100644 Guest/PurposeFlow/reverse-proxy/pflab-proxy/compose.yaml create mode 100644 Guest/PurposeFlow/storage/pflab-git/compose.yaml create mode 100644 Guest/PurposeFlow/storage/pflab-postgres/compose.yaml create mode 100644 Local/auth/thlab-id/compose.yaml create mode 100644 Local/auth/thlab-secrets/compose.yaml create mode 100644 Local/compose.yaml create mode 100644 Local/coms/thlab-alias/compose.yaml create mode 100644 Local/coms/thlab-alias/secrets/dkim.key create mode 100644 Local/coms/thlab-alias/secrets/dkim.pub.key create mode 100644 Local/reverse-proxy/thlab-proxy/compose.yaml create mode 100644 Local/storage/thlab-git/compose.yaml create mode 100644 Local/storage/thlab-notes/compose.yaml create mode 100644 Local/storage/thlab-notes/worker/.node-version create mode 100644 Local/storage/thlab-notes/worker/.npmrc create mode 100644 Local/storage/thlab-notes/worker/.prettierignore create mode 100644 Local/storage/thlab-notes/worker/.prettierrc create mode 100644 Local/storage/thlab-notes/worker/CODE_OF_CONDUCT.md create mode 100644 Local/storage/thlab-notes/worker/Dockerfile create mode 100644 Local/storage/thlab-notes/worker/LICENSE.txt create mode 100644 Local/storage/thlab-notes/worker/README.md create mode 160000 Local/storage/thlab-notes/worker/content create mode 100644 Local/storage/thlab-notes/worker/docs/Base.base create mode 100644 Local/storage/thlab-notes/worker/docs/Canvas.canvas create mode 100644 Local/storage/thlab-notes/worker/docs/advanced/architecture.md create mode 100644 Local/storage/thlab-notes/worker/docs/advanced/creating components.md create mode 100644 Local/storage/thlab-notes/worker/docs/advanced/index.md create mode 100644 Local/storage/thlab-notes/worker/docs/advanced/making plugins.md create mode 100644 Local/storage/thlab-notes/worker/docs/advanced/paths.md create mode 100644 Local/storage/thlab-notes/worker/docs/cli/build.md create mode 100644 Local/storage/thlab-notes/worker/docs/cli/create.md create mode 100644 Local/storage/thlab-notes/worker/docs/cli/index.md create mode 100644 Local/storage/thlab-notes/worker/docs/cli/plugin.md create mode 100644 Local/storage/thlab-notes/worker/docs/cli/restore.md create mode 100644 Local/storage/thlab-notes/worker/docs/cli/sync.md create mode 100644 Local/storage/thlab-notes/worker/docs/cli/tui.md create mode 100644 Local/storage/thlab-notes/worker/docs/cli/upgrade.md create mode 100644 Local/storage/thlab-notes/worker/docs/community.md create mode 100644 Local/storage/thlab-notes/worker/docs/configuration.md create mode 100644 Local/storage/thlab-notes/worker/docs/features/Bases.md create mode 100644 Local/storage/thlab-notes/worker/docs/features/Canvas.md create mode 100644 Local/storage/thlab-notes/worker/docs/features/Citations.md create mode 100644 Local/storage/thlab-notes/worker/docs/features/Docker Support.md create mode 100644 Local/storage/thlab-notes/worker/docs/features/Latex.md create mode 100644 Local/storage/thlab-notes/worker/docs/features/Mermaid diagrams.md create mode 100644 Local/storage/thlab-notes/worker/docs/features/Obsidian compatibility.md create mode 100644 Local/storage/thlab-notes/worker/docs/features/OxHugo compatibility.md create mode 100644 Local/storage/thlab-notes/worker/docs/features/RSS Feed.md create mode 100644 Local/storage/thlab-notes/worker/docs/features/Roam Research compatibility.md create mode 100644 Local/storage/thlab-notes/worker/docs/features/SPA Routing.md create mode 100644 Local/storage/thlab-notes/worker/docs/features/backlinks.md create mode 100644 Local/storage/thlab-notes/worker/docs/features/breadcrumbs.md create mode 100644 Local/storage/thlab-notes/worker/docs/features/callouts.md create mode 100644 Local/storage/thlab-notes/worker/docs/features/comments.md create mode 100644 Local/storage/thlab-notes/worker/docs/features/darkmode.md create mode 100644 Local/storage/thlab-notes/worker/docs/features/explorer.md create mode 100644 Local/storage/thlab-notes/worker/docs/features/folder and tag listings.md create mode 100644 Local/storage/thlab-notes/worker/docs/features/full-text search.md create mode 100644 Local/storage/thlab-notes/worker/docs/features/graph view.md create mode 100644 Local/storage/thlab-notes/worker/docs/features/i18n.md create mode 100644 Local/storage/thlab-notes/worker/docs/features/index.md create mode 100644 Local/storage/thlab-notes/worker/docs/features/popover previews.md create mode 100644 Local/storage/thlab-notes/worker/docs/features/private pages.md create mode 100644 Local/storage/thlab-notes/worker/docs/features/reader mode.md create mode 100644 Local/storage/thlab-notes/worker/docs/features/recent notes.md create mode 100644 Local/storage/thlab-notes/worker/docs/features/social images.md create mode 100644 Local/storage/thlab-notes/worker/docs/features/syntax highlighting.md create mode 100644 Local/storage/thlab-notes/worker/docs/features/table of contents.md create mode 100644 Local/storage/thlab-notes/worker/docs/features/wikilinks.md create mode 100644 Local/storage/thlab-notes/worker/docs/getting-started/authoring-content.md create mode 100644 Local/storage/thlab-notes/worker/docs/getting-started/index.md create mode 100644 Local/storage/thlab-notes/worker/docs/getting-started/installation.md create mode 100644 Local/storage/thlab-notes/worker/docs/getting-started/migrating.md create mode 100644 Local/storage/thlab-notes/worker/docs/getting-started/upgrading.md create mode 100644 Local/storage/thlab-notes/worker/docs/getting-started/whats-new.md create mode 100644 Local/storage/thlab-notes/worker/docs/hosting.md create mode 100644 Local/storage/thlab-notes/worker/docs/images/custom-social-image-preview-dark.png create mode 100644 Local/storage/thlab-notes/worker/docs/images/custom-social-image-preview-light.png create mode 100644 Local/storage/thlab-notes/worker/docs/images/dns records.png create mode 100644 Local/storage/thlab-notes/worker/docs/images/giscus-discussion.png create mode 100644 Local/storage/thlab-notes/worker/docs/images/giscus-example.png create mode 100644 Local/storage/thlab-notes/worker/docs/images/giscus-repo.png create mode 100644 Local/storage/thlab-notes/worker/docs/images/giscus-results.png create mode 100644 Local/storage/thlab-notes/worker/docs/images/github-init-repo-options.png create mode 100644 Local/storage/thlab-notes/worker/docs/images/github-quick-setup.png create mode 100644 Local/storage/thlab-notes/worker/docs/images/quartz transform pipeline.png create mode 100644 Local/storage/thlab-notes/worker/docs/images/quartz-layout-desktop.png create mode 100644 Local/storage/thlab-notes/worker/docs/images/quartz-layout-mobile.png create mode 100644 Local/storage/thlab-notes/worker/docs/images/quartz-layout-tablet.png create mode 100644 Local/storage/thlab-notes/worker/docs/images/social-image-preview-dark.png create mode 100644 Local/storage/thlab-notes/worker/docs/images/social-image-preview-light.png create mode 100644 Local/storage/thlab-notes/worker/docs/index.md create mode 100644 Local/storage/thlab-notes/worker/docs/layout-components.md create mode 100644 Local/storage/thlab-notes/worker/docs/layout.md create mode 100644 Local/storage/thlab-notes/worker/docs/philosophy.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/AliasRedirects.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/ArticleTitle.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/Assets.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/Backlinks.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/BasesPage.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/Breadcrumbs.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/CNAME.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/CanvasPage.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/Citations.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/Comments.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/ComponentResources.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/ContentIndex.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/ContentMeta.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/ContentPage.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/CrawlLinks.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/CreatedModifiedDate.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/CustomOgImages.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/Darkmode.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/Description.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/EncryptedPages Demo.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/EncryptedPages.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/ExplicitPublish.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/Explorer.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/Favicon.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/FolderPage.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/Fonts.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/Footer.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/Frontmatter.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/GitHubFlavoredMarkdown.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/Graph.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/HardLineBreaks.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/Latex.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/NotFoundPage.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/NoteProperties.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/ObsidianFlavoredMarkdown.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/OxHugoFlavoredMarkdown.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/PageTitle.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/ReaderMode.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/RecentNotes.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/RemoveDrafts.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/RoamFlavoredMarkdown.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/Search.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/Spacer.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/StackedPages.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/Static.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/SyntaxHighlighting.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/TableOfContents.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/TagList.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/TagPage.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/UnlistedPages.md create mode 100644 Local/storage/thlab-notes/worker/docs/plugins/index.md create mode 100644 Local/storage/thlab-notes/worker/docs/showcase.md create mode 100644 Local/storage/thlab-notes/worker/docs/tags/component.md create mode 100644 Local/storage/thlab-notes/worker/docs/tags/plugin.md create mode 100644 Local/storage/thlab-notes/worker/docs/troubleshooting.md create mode 100644 Local/storage/thlab-notes/worker/entrypoint.sh create mode 100644 Local/storage/thlab-notes/worker/globals.d.ts create mode 100644 Local/storage/thlab-notes/worker/index.d.ts create mode 100644 Local/storage/thlab-notes/worker/package-lock.json create mode 100644 Local/storage/thlab-notes/worker/package.json create mode 100644 Local/storage/thlab-notes/worker/quartz.config.default.yaml create mode 100644 Local/storage/thlab-notes/worker/quartz.lock.json create mode 100644 Local/storage/thlab-notes/worker/quartz.ts create mode 100755 Local/storage/thlab-notes/worker/quartz/bootstrap-cli.mjs create mode 100644 Local/storage/thlab-notes/worker/quartz/bootstrap-worker.mjs create mode 100644 Local/storage/thlab-notes/worker/quartz/build.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/cfg.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/cli/args.js create mode 100644 Local/storage/thlab-notes/worker/quartz/cli/constants.js create mode 100644 Local/storage/thlab-notes/worker/quartz/cli/handlers.js create mode 100644 Local/storage/thlab-notes/worker/quartz/cli/helpers.js create mode 100644 Local/storage/thlab-notes/worker/quartz/cli/helpers.test.js create mode 100644 Local/storage/thlab-notes/worker/quartz/cli/plugin-data.js create mode 100644 Local/storage/thlab-notes/worker/quartz/cli/plugin-git-handlers.js create mode 100644 Local/storage/thlab-notes/worker/quartz/cli/templates/blog.yaml create mode 100644 Local/storage/thlab-notes/worker/quartz/cli/templates/default.yaml create mode 100644 Local/storage/thlab-notes/worker/quartz/cli/templates/obsidian.yaml create mode 100644 Local/storage/thlab-notes/worker/quartz/cli/templates/ttrpg.yaml create mode 100644 Local/storage/thlab-notes/worker/quartz/components/Body.tsx create mode 100644 Local/storage/thlab-notes/worker/quartz/components/ConditionalRender.tsx create mode 100644 Local/storage/thlab-notes/worker/quartz/components/Date.tsx create mode 100644 Local/storage/thlab-notes/worker/quartz/components/DesktopOnly.tsx create mode 100644 Local/storage/thlab-notes/worker/quartz/components/Flex.tsx create mode 100644 Local/storage/thlab-notes/worker/quartz/components/Head.tsx create mode 100644 Local/storage/thlab-notes/worker/quartz/components/Header.tsx create mode 100644 Local/storage/thlab-notes/worker/quartz/components/MobileOnly.tsx create mode 100644 Local/storage/thlab-notes/worker/quartz/components/PageList.tsx create mode 100644 Local/storage/thlab-notes/worker/quartz/components/Spacer.tsx create mode 100644 Local/storage/thlab-notes/worker/quartz/components/external.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/components/frames/DefaultFrame.tsx create mode 100644 Local/storage/thlab-notes/worker/quartz/components/frames/FullWidthFrame.tsx create mode 100644 Local/storage/thlab-notes/worker/quartz/components/frames/MinimalFrame.tsx create mode 100644 Local/storage/thlab-notes/worker/quartz/components/frames/index.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/components/frames/registry.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/components/frames/types.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/components/index.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/components/pages/404.tsx create mode 100644 Local/storage/thlab-notes/worker/quartz/components/registry.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/components/renderPage.test.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/components/renderPage.tsx create mode 100644 Local/storage/thlab-notes/worker/quartz/components/scripts/popover.inline.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/components/scripts/popover.test.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/components/scripts/search.test.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/components/scripts/spa.inline.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/components/scripts/util.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/components/styles/popover.scss create mode 100644 Local/storage/thlab-notes/worker/quartz/components/types.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/i18n/index.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/i18n/locales/ar-SA.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/i18n/locales/ca-ES.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/i18n/locales/cs-CZ.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/i18n/locales/de-DE.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/i18n/locales/definition.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/i18n/locales/en-GB.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/i18n/locales/en-US.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/i18n/locales/es-ES.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/i18n/locales/fa-IR.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/i18n/locales/fi-FI.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/i18n/locales/fr-FR.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/i18n/locales/he-IL.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/i18n/locales/hu-HU.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/i18n/locales/id-ID.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/i18n/locales/it-IT.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/i18n/locales/ja-JP.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/i18n/locales/kk-KZ.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/i18n/locales/ko-KR.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/i18n/locales/lt-LT.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/i18n/locales/nb-NO.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/i18n/locales/nl-NL.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/i18n/locales/pl-PL.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/i18n/locales/pt-BR.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/i18n/locales/ro-RO.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/i18n/locales/ru-RU.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/i18n/locales/th-TH.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/i18n/locales/tr-TR.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/i18n/locales/uk-UA.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/i18n/locales/vi-VN.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/i18n/locales/zh-CN.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/i18n/locales/zh-TW.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/plugins/config.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/plugins/emitters/assets.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/plugins/emitters/componentResources.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/plugins/emitters/helpers.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/plugins/emitters/index.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/plugins/emitters/static.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/plugins/filters/index.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/plugins/index.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/plugins/loader/componentLoader.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/plugins/loader/conditions.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/plugins/loader/config-loader.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/plugins/loader/frameLoader.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/plugins/loader/gitLoader.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/plugins/loader/index.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/plugins/loader/install-plugins.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/plugins/loader/loader.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/plugins/loader/types.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/plugins/pageTypes/404.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/plugins/pageTypes/dispatcher.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/plugins/pageTypes/index.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/plugins/pageTypes/matchers.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/plugins/quartz-plugins.schema.json create mode 100644 Local/storage/thlab-notes/worker/quartz/plugins/transformers/index.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/plugins/types.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/plugins/vfile.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/processors/emit.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/processors/filter.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/processors/parse.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/static/giscus/dark.css create mode 100644 Local/storage/thlab-notes/worker/quartz/static/giscus/light.css create mode 100644 Local/storage/thlab-notes/worker/quartz/static/icon.png create mode 100644 Local/storage/thlab-notes/worker/quartz/static/og-image.png create mode 100644 Local/storage/thlab-notes/worker/quartz/styles/base.scss create mode 100644 Local/storage/thlab-notes/worker/quartz/styles/callouts.scss create mode 100644 Local/storage/thlab-notes/worker/quartz/styles/custom.scss create mode 100644 Local/storage/thlab-notes/worker/quartz/styles/syntax.scss create mode 100644 Local/storage/thlab-notes/worker/quartz/styles/variables.scss create mode 100644 Local/storage/thlab-notes/worker/quartz/util/clone.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/util/ctx.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/util/emoji.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/util/emojimap.json create mode 100644 Local/storage/thlab-notes/worker/quartz/util/escape.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/util/fileTrie.test.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/util/fileTrie.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/util/glob.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/util/jsx.tsx create mode 100644 Local/storage/thlab-notes/worker/quartz/util/lang.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/util/log.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/util/path.test.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/util/path.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/util/perf.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/util/random.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/util/resources.tsx create mode 100644 Local/storage/thlab-notes/worker/quartz/util/slugCollisions.test.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/util/slugCollisions.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/util/sourcemap.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/util/theme.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/util/trace.ts create mode 100644 Local/storage/thlab-notes/worker/quartz/worker.ts create mode 100644 Local/storage/thlab-notes/worker/tsconfig.json create mode 100644 Local/storage/thlab-postgres/compose.yaml create mode 100644 compose.yaml create mode 100644 edge-proxy/nginx.conf diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c9abdcb --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +Guests/ +**/.secrets/ +**/.env +**/.env* diff --git a/Guest/PurposeFlow/auth/pflab-id/compose.yaml b/Guest/PurposeFlow/auth/pflab-id/compose.yaml new file mode 100644 index 0000000..59f8fd5 --- /dev/null +++ b/Guest/PurposeFlow/auth/pflab-id/compose.yaml @@ -0,0 +1,85 @@ +name: pflab-id + +########## ===== ANCHORS ===== ########## + +x-authentik-env: &authentik-env + AUTHENTIK_POSTGRESQL__HOST: pflab-postgres + AUTHENTIK_POSTGRESQL__PORT: 5432 + AUTHENTIK_POSTGRESQL__NAME: authentik + + AUTHENTIK_ERROR_REPORTING__ENABLED: false + AUTHENTIK_LOG_LEVEL: info + +########## ===== NETWORKS ===== ########## + +networks: + + pflab_proxy: + name: pflab_proxy + + pflab_backend: + name: pflab_backend + +########## ===== VOLUMES ===== ########## + +volumes: + + authentik_media: + name: pflab_authentik_media + driver: local + + authentik_templates: + name: pflab_authentik_template + driver: local + +########## ===== SERVICES ===== ########## + +services: + +##### AUTHENTIK SERVER ##### + + pflab-authentik: + + image: ghcr.io/goauthentik/server:2026.5.3 + container_name: pflab-authentik + + restart: unless-stopped + command: server + + env_file: [.secrets/.env] + environment: *authentik-env + + volumes: + - authentik_media:/media + - authentik_templates:/templates + + networks: + - pflab_proxy + - pflab_backend + +##### AUTHENTIK WORKER ##### + + pflab-authentik-worker: + + image: ghcr.io/goauthentik/server:2026.5.3 + container_name: pflab-authentik-worker + + restart: unless-stopped + command: worker + + env_file: [.secrets/.env] + environment: *authentik-env + + volumes: + - authentik_media:/media + - authentik_templates:/templates + + # Needed only if you want Authentik-managed outposts + - /var/run/docker.sock:/var/run/docker.sock + + networks: + - pflab_backend + + depends_on: + pflab-authentik: + condition: service_started diff --git a/Guest/PurposeFlow/auth/pflab-secrets/compose.yaml b/Guest/PurposeFlow/auth/pflab-secrets/compose.yaml new file mode 100644 index 0000000..f6ff0ed --- /dev/null +++ b/Guest/PurposeFlow/auth/pflab-secrets/compose.yaml @@ -0,0 +1,42 @@ +name: pflab-secrets + +########## ===== NETWORKS ===== ########## + +networks: + + pflab_proxy: + name: pflab_proxy + + pflab_auth: + name: pflab_auth + +########## ===== VOLUMES ===== ########## + +volumes: + + vaultwarden_data: + name: pflab_vaultwarden + driver: local + +########## ===== SERVICES ===== ########## + +services: + +##### VAULTWARDEN + pflab-vaultwarden: + + image: vaultwarden/server:latest + container_name: pflab-vaultwarden + restart: unless-stopped + + env_file: [.secrets/.env] + environment: + WEBSOCKET_ENABLED: "true" + LOG_LEVEL: warn + + volumes: + - vaultwarden_data:/data + + networks: + - pflab_proxy + - pflab_auth diff --git a/Guest/PurposeFlow/compose.yaml b/Guest/PurposeFlow/compose.yaml new file mode 100644 index 0000000..e5e03ce --- /dev/null +++ b/Guest/PurposeFlow/compose.yaml @@ -0,0 +1,41 @@ +name: pflab-master-compose + +########## ===== NETWORKS ===== ########### + +networks: + + proxy: + name: pflab_proxy + driver: bridge + + auth: + name: pflab_auth + driver: bridge + + backend: + name: pflab_backend + driver: bridge + +########## ===== INCLUDES ===== ########## + +include: + +##### REVERSE-PROXY + - ./reverse-proxy/pflab-proxy/compose.yaml + +##### AUTH +# - ./auth/pflab-id/compose.yaml + - ./auth/pflab-secrets/compose.yaml + +##### STORAGE + - ./storage/pflab-postgres/compose.yaml + - ./storage/pflab-git/compose.yaml +## SPACETIME-DB + +##### COMS +# - ./coms/pflab-alias/compose.yaml +# - ./coms/pflab-coms/compose.yaml + +##### MEDIA +## JELLYFIN + diff --git a/Guest/PurposeFlow/coms/pflab-alias/compose.yaml b/Guest/PurposeFlow/coms/pflab-alias/compose.yaml new file mode 100644 index 0000000..8041341 --- /dev/null +++ b/Guest/PurposeFlow/coms/pflab-alias/compose.yaml @@ -0,0 +1,163 @@ +name: simplelogin + +x-simplelogin-image: &simplelogin-image + image: simplelogin/app:4.6.5-beta + +x-simplelogin-env: &simplelogin-env + URL: https://alias.tinyhome.ndmv.net + EMAIL_DOMAIN: tinyhome.ndmv.net + SUPPORT_EMAIL: alias@postbox.tinyhome.ndmv.net + EMAIL_SERVERS_WITH_PRIORITY: '[(10, "alias.tinyhome.ndmv.net.")]' + DISABLE_ALIAS_SUFFIX: "1" + DKIM_PRIVATE_KEY_PATH: /dkim.key + GNUPGHOME: /sl/pgp + LOCAL_FILE_UPLOAD: "1" + POSTFIX_SERVER: simplelogin-postfix + +x-simplelogin-volumes: &simplelogin-volumes + - simplelogin_gpg:/sl/pgp + - simplelogin_upload:/code/static/upload + - ./.secrets/dkim-rsa.key:/dkim.key:ro + - ./.secrets/dkim.pub.key:/dkim.pub.key:ro + +networks: + pflab_proxy: + name: pflab_proxy + + pflab_backend: + name: pflab_backend + +volumes: + simplelogin_gpg: + name: pflab_simplelogin_gpg + driver: local + + simplelogin_upload: + name: pflab_simplelogin_uploads + driver: local + +services: + + simplelogin-migration: + <<: *simplelogin-image + command: ["alembic", "upgrade", "head"] + container_name: pflab-simplelogin-migration + env_file: + - ./.secrets/.env + environment: *simplelogin-env + + volumes: *simplelogin-volumes + networks: + - pflab_backend + + simplelogin-init: + <<: *simplelogin-image + command: ["python", "init_app.py"] + container_name: pflab-simplelogin-init + depends_on: + simplelogin-migration: + condition: service_completed_successfully + env_file: + - ./.secrets/.env + environment: *simplelogin-env + + volumes: *simplelogin-volumes + + networks: + - pflab_backend + + simplelogin-postfix: + image: simplelogin/postfix:latest + container_name: pflab-simplelogin-postfix + restart: unless-stopped + + env_file: + - ./.secrets/.env + environment: + ALIASES_DEFAULT_DOMAIN: tinyhome.ndmv.net + DB_HOST: pflab-postgres + DB_USER: simplelogin + DB_NAME: simplelogin + EMAIL_HANDLER_HOST: pflab-simplelogin-email + LETSENCRYPT_EMAIL: alias@postbox.tinyhome.ndmv.net + POSTFIX_FQDN: alias.tinyhome.ndmv.net + SIMPLELOGIN_COMPATIBILITY_MODE: v4 + # If you want the postfix container to use certs managed elsewhere, + # mount the files and uncomment these: + # TLS_KEY_FILE: /tls/privkey.pem + # TLS_CERT_FILE: /tls/fullchain.pem + + ports: + - "25:25" + - "587:587" + + networks: + - pflab_backend + + simplelogin: + <<: [*simplelogin-image] + container_name: pflab-simplelogin + restart: unless-stopped + depends_on: + - simplelogin-postfix + healthcheck: + test: ["CMD-SHELL", "curl -fsS http://localhost:7777 >/dev/null || exit 1"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 30s + + env_file: + - ./.secrets/.env + environment: *simplelogin-env + + volumes: *simplelogin-volumes + + networks: + - pflab_proxy + - pflab_backend + + simplelogin-email: + <<: [*simplelogin-image] + container_name: pflab-simplelogin-email + restart: unless-stopped + depends_on: + simplelogin-init: + condition: service_completed_successfully + simplelogin-postfix: + condition: service_healthy + + command: python email_handler.py + + env_file: + - ./.secrets/.env + environment: *simplelogin-env + + ports: + - "127.0.0.1:20381:20381" + + volumes: *simplelogin-volumes + + networks: + - pflab_backend + + simplelogin-worker: + <<: [*simplelogin-image] + container_name: pflab-simplelogin-worker + restart: unless-stopped + depends_on: + simplelogin-init: + condition: service_completed_successfully + simplelogin-email: + condition: service_started + + command: python job_runner.py + + env_file: + - ./.secrets/.env + environment: *simplelogin-env + + volumes: *simplelogin-volumes + + networks: + - pflab_backend diff --git a/Guest/PurposeFlow/coms/pflab-alias/secrets/dkim.key b/Guest/PurposeFlow/coms/pflab-alias/secrets/dkim.key new file mode 100644 index 0000000..a23a0c3 --- /dev/null +++ b/Guest/PurposeFlow/coms/pflab-alias/secrets/dkim.key @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQC7mLecRqtTzsTTLqooj3gIFnKo7sUBXFI+khykVO6DxX8L4TeF +6GaTof8uzdrblTK91FQNDZoVmT+uYsLbDgVQ9sS5kRFJisT7OID20rownsboDJnL +dIcPoT7yRleBDW2iaVii7fa6EBXQsBTYftbu+9aphCtIo4eJiS1LVGhEXQIDAQAB +AoGAA83gA1JHjSaHRUUP/EyUgY16+8QDyLhHjq9F12tFfvSVU/dYOeXxlpLVauyP +wJ4w7jqNDcq10jROX0nva6PIJchHsMll0qPNV7LYxs205uDkkp7Bo4KAWrW5sagw +DULem1LjNWtRaiO8KGKArLmvHvW29sXsULJf9YtEUKVDb10CQQDedgMp/+Zb+0rs +DgMebdf34UYY4aIrPoVI6WrKQAcXVhOROvduzE0a9xT70CpmGZz92L2Mm9AZQt0c +Y/4jI4ALAkEA1+EYbqfSNSXcLk7OPePUjM453t2sDWcgk/hqzmYsinCDk6GPRZpA +0Tv9Qy9ygY7F/BSOwf5N1jqsMFQzp4aGNwJBAKql+n1gWPRcSzfS89+GwXHb9Cqo +Av+LQTESJSIqhYYIOJBinGX5AHjb6tPT9oJFyaEMfzL6X2LRYM4jglKwK8sCQQCC +jfzKnu9/eOAJmVsdDrWyWd2hrImqqV2IX0mofR4esyC/nYsZ2smsQA1QHlevhnqx +knUrWPIVxvHvYFzEyZRNAkEAl99yuYIuaUSv1xdTdGI1OKXpAAgCfl5O3GkFej8v +5dBIM7t7OgIJvsOHB8PPzIXQ0hhH3xZnmOLiuOipIj/OtA== +-----END RSA PRIVATE KEY----- diff --git a/Guest/PurposeFlow/coms/pflab-alias/secrets/dkim.pub.key b/Guest/PurposeFlow/coms/pflab-alias/secrets/dkim.pub.key new file mode 100644 index 0000000..cf2a2bb --- /dev/null +++ b/Guest/PurposeFlow/coms/pflab-alias/secrets/dkim.pub.key @@ -0,0 +1,6 @@ +-----BEGIN PUBLIC KEY----- +MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7mLecRqtTzsTTLqooj3gIFnKo +7sUBXFI+khykVO6DxX8L4TeF6GaTof8uzdrblTK91FQNDZoVmT+uYsLbDgVQ9sS5 +kRFJisT7OID20rownsboDJnLdIcPoT7yRleBDW2iaVii7fa6EBXQsBTYftbu+9ap +hCtIo4eJiS1LVGhEXQIDAQAB +-----END PUBLIC KEY----- diff --git a/Guest/PurposeFlow/reverse-proxy/pflab-proxy/compose.yaml b/Guest/PurposeFlow/reverse-proxy/pflab-proxy/compose.yaml new file mode 100644 index 0000000..ca55d40 --- /dev/null +++ b/Guest/PurposeFlow/reverse-proxy/pflab-proxy/compose.yaml @@ -0,0 +1,57 @@ +name: pflab-proxy + +########## ===== NETWORKS ===== ########## + +networks: + + edge_proxy: + external: true + + pflab_proxy: + name: pflab_proxy + + pflab_auth: + name: pflab_auth + +########## ===== VOLUMES ===== ########## + +volumes: + + npm_data: + name: pflab_npm_data + driver: local + + npm_letsencrypt: + name: pflab_npm_letsencrypt + driver: local + + npm_app: + name: pflab_npm_app + driver: local + +########## ===== SERVICES ===== ########## + +services: + +##### PROXY + pflab-nginx: + + image: jc21/nginx-proxy-manager:latest + container_name: pflab-nginx + + restart: unless-stopped + + env_file: [.secrets/.env] + environment: + DISABLE_IPV6: "true" + + volumes: + - npm_data:/data + - npm_letsencrypt:/etc/letsencrypt + - npm_app:/app + + networks: + pflab_proxy: + pflab_auth: + edge_proxy: + ipv4_address: 10.60.0.11 diff --git a/Guest/PurposeFlow/storage/pflab-git/compose.yaml b/Guest/PurposeFlow/storage/pflab-git/compose.yaml new file mode 100644 index 0000000..dda3630 --- /dev/null +++ b/Guest/PurposeFlow/storage/pflab-git/compose.yaml @@ -0,0 +1,62 @@ +name: pflab-git + +########## ===== NETWORKS ===== ########## + +networks: + + pflab_proxy: + name: pflab_proxy + + pflab_backend: + name: pflab_backend + +##### + +########## ===== VOLUMES ===== ########## + +volumes: + + gitea_data: + name: pflab_gitea + driver: local + +##### + +########## ===== SERVICES ===== ########## + +services: + +##### == GITEA == ##### + + pflab-gitea: + + image: docker.gitea.com/gitea:latest + container_name: pflab-gitea + + restart: unless-stopped + + env_file: [.secrets/.env] + environment: + USER_UID: "1000" + USER_GID: "1000" + GITEA__database__DB_TYPE: postgres + GITEA__database__HOST: pflab-postgres:5432 + GITEA__database__NAME: gitea + GITEA__server__SSH_PORT: "2223" + GITEA__server__SSH_LISTEN_PORT: "22" + GITEA__server__HTTP_PORT: "3000" + GITEA__mailer__ENABLED: "false" + GITEA__mailer__PROTOCOL: "smtp" + ports: + - "2223:22" + + volumes: + - gitea_data:/data + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + + networks: + - pflab_proxy + - pflab_backend + +##### diff --git a/Guest/PurposeFlow/storage/pflab-postgres/compose.yaml b/Guest/PurposeFlow/storage/pflab-postgres/compose.yaml new file mode 100644 index 0000000..07b9fb7 --- /dev/null +++ b/Guest/PurposeFlow/storage/pflab-postgres/compose.yaml @@ -0,0 +1,42 @@ +name: pflab-postgres + +########## ===== NETWORKS ===== ########## + +networks: + + pflab_backend: + name: pflab_backend + +##### + +########## ===== VOLUMES ===== ########## + +volumes: + + postgres_data: + name: pflab_postgres + driver: local + +##### + +########## ===== SERVICES ===== ########## + +services: + + pflab-postgres: + image: postgres:17-alpine + container_name: pflab-postgres + + restart: unless-stopped + + env_file: [.secrets/.env] + + volumes: + - postgres_data:/var/lib/postgresql/data + + networks: + pflab_backend: + aliases: + - postgres + +##### diff --git a/Local/auth/thlab-id/compose.yaml b/Local/auth/thlab-id/compose.yaml new file mode 100644 index 0000000..805a917 --- /dev/null +++ b/Local/auth/thlab-id/compose.yaml @@ -0,0 +1,85 @@ +name: thlab-id + +########## ===== ANCHORS ===== ########## + +x-authentik-env: &authentik-env + AUTHENTIK_POSTGRESQL__HOST: thlab-postgres + AUTHENTIK_POSTGRESQL__PORT: 5432 + AUTHENTIK_POSTGRESQL__NAME: authentik + + AUTHENTIK_ERROR_REPORTING__ENABLED: false + AUTHENTIK_LOG_LEVEL: info + +########## ===== NETWORKS ===== ########## + +networks: + + thlab_proxy: + name: thlab_proxy + + thlab_backend: + name: thlab_backend + +########## ===== VOLUMES ===== ########## + +volumes: + + authentik_media: + name: thlab_authentik_media + driver: local + + authentik_templates: + name: thlab_authentik_template + driver: local + +########## ===== SERVICES ===== ########## + +services: + +##### AUTHENTIK SERVER ##### + + thlab-authentik: + + image: ghcr.io/goauthentik/server:2026.5.3 + container_name: thlab-authentik + + restart: unless-stopped + command: server + + env_file: [.secrets/.env] + environment: *authentik-env + + volumes: + - authentik_media:/media + - authentik_templates:/templates + + networks: + - thlab_proxy + - thlab_backend + +##### AUTHENTIK WORKER ##### + + thlab-authentik-worker: + + image: ghcr.io/goauthentik/server:2026.5.3 + container_name: thlab-authentik-worker + + restart: unless-stopped + command: worker + + env_file: [.secrets/.env] + environment: *authentik-env + + volumes: + - authentik_media:/media + - authentik_templates:/templates + + # Needed only if you want Authentik-managed outposts + - /var/run/docker.sock:/var/run/docker.sock + + networks: + - thlab_backend + + depends_on: + thlab-authentik: + condition: service_started diff --git a/Local/auth/thlab-secrets/compose.yaml b/Local/auth/thlab-secrets/compose.yaml new file mode 100644 index 0000000..f1c6d28 --- /dev/null +++ b/Local/auth/thlab-secrets/compose.yaml @@ -0,0 +1,42 @@ +name: thlab-secrets + +########## ===== NETWORKS ===== ########## + +networks: + + thlab_proxy: + name: thlab_proxy + + thlab_auth: + name: thlab_auth + +########## ===== VOLUMES ===== ########## + +volumes: + + vaultwarden_data: + name: thlab_vaultwarden + driver: local + +########## ===== SERVICES ===== ########## + +services: + +##### VAULTWARDEN + thlab-vaultwarden: + + image: vaultwarden/server:latest + container_name: thlab-vaultwarden + restart: unless-stopped + + env_file: [.secrets/.env] + environment: + WEBSOCKET_ENABLED: "true" + LOG_LEVEL: warn + + volumes: + - vaultwarden_data:/data + + networks: + - thlab_proxy + - thlab_auth diff --git a/Local/compose.yaml b/Local/compose.yaml new file mode 100644 index 0000000..01c9d2d --- /dev/null +++ b/Local/compose.yaml @@ -0,0 +1,42 @@ +name: master-compose + +########## ===== NETWORKS ===== ########### + +networks: + + proxy: + name: thlab_proxy + driver: bridge + + auth: + name: thlab_auth + driver: bridge + + backend: + name: thlab_backend + driver: bridge + +########## ===== INCLUDES ===== ########## + +include: + +##### REVERSE-PROXY + - ./reverse-proxy/thlab-proxy/compose.yaml + +##### AUTH + - ./auth/thlab-id/compose.yaml + - ./auth/thlab-secrets/compose.yaml + +##### STORAGE + - ./storage/thlab-postgres/compose.yaml + - ./storage/thlab-git/compose.yaml + - ./storage/thlab-notes/compose.yaml +## SPACETIME-DB + +##### COMS + - ./coms/thlab-alias/compose.yaml +# - ./coms/thlab-coms/compose.yaml + +##### MEDIA +## JELLYFIN + diff --git a/Local/coms/thlab-alias/compose.yaml b/Local/coms/thlab-alias/compose.yaml new file mode 100644 index 0000000..88b06d6 --- /dev/null +++ b/Local/coms/thlab-alias/compose.yaml @@ -0,0 +1,163 @@ +name: simplelogin + +x-simplelogin-image: &simplelogin-image + image: simplelogin/app:4.6.5-beta + +x-simplelogin-env: &simplelogin-env + URL: https://alias.tinyhome.ndmv.net + EMAIL_DOMAIN: tinyhome.ndmv.net + SUPPORT_EMAIL: alias@postbox.tinyhome.ndmv.net + EMAIL_SERVERS_WITH_PRIORITY: '[(10, "alias.tinyhome.ndmv.net.")]' + DISABLE_ALIAS_SUFFIX: "1" + DKIM_PRIVATE_KEY_PATH: /dkim.key + GNUPGHOME: /sl/pgp + LOCAL_FILE_UPLOAD: "1" + POSTFIX_SERVER: simplelogin-postfix + +x-simplelogin-volumes: &simplelogin-volumes + - simplelogin_gpg:/sl/pgp + - simplelogin_upload:/code/static/upload + - ./.secrets/dkim-rsa.key:/dkim.key:ro + - ./.secrets/dkim.pub.key:/dkim.pub.key:ro + +networks: + thlab_proxy: + name: thlab_proxy + + thlab_backend: + name: thlab_backend + +volumes: + simplelogin_gpg: + name: thlab_simplelogin_gpg + driver: local + + simplelogin_upload: + name: thlab_simplelogin_uploads + driver: local + +services: + + simplelogin-migration: + <<: *simplelogin-image + command: ["alembic", "upgrade", "head"] + container_name: thlab-simplelogin-migration + env_file: + - ./.secrets/.env + environment: *simplelogin-env + + volumes: *simplelogin-volumes + networks: + - thlab_backend + + simplelogin-init: + <<: *simplelogin-image + command: ["python", "init_app.py"] + container_name: thlab-simplelogin-init + depends_on: + simplelogin-migration: + condition: service_completed_successfully + env_file: + - ./.secrets/.env + environment: *simplelogin-env + + volumes: *simplelogin-volumes + + networks: + - thlab_backend + + simplelogin-postfix: + image: simplelogin/postfix:latest + container_name: thlab-simplelogin-postfix + restart: unless-stopped + + env_file: + - ./.secrets/.env + environment: + ALIASES_DEFAULT_DOMAIN: tinyhome.ndmv.net + DB_HOST: thlab-postgres + DB_USER: simplelogin + DB_NAME: simplelogin + EMAIL_HANDLER_HOST: thlab-simplelogin-email + LETSENCRYPT_EMAIL: alias@postbox.tinyhome.ndmv.net + POSTFIX_FQDN: alias.tinyhome.ndmv.net + SIMPLELOGIN_COMPATIBILITY_MODE: v4 + # If you want the postfix container to use certs managed elsewhere, + # mount the files and uncomment these: + # TLS_KEY_FILE: /tls/privkey.pem + # TLS_CERT_FILE: /tls/fullchain.pem + + ports: + - "25:25" + - "587:587" + + networks: + - thlab_backend + + simplelogin: + <<: [*simplelogin-image] + container_name: thlab-simplelogin + restart: unless-stopped + depends_on: + - simplelogin-postfix + healthcheck: + test: ["CMD-SHELL", "curl -fsS http://localhost:7777 >/dev/null || exit 1"] + interval: 30s + timeout: 10s + retries: 3 + start_period: 30s + + env_file: + - ./.secrets/.env + environment: *simplelogin-env + + volumes: *simplelogin-volumes + + networks: + - thlab_proxy + - thlab_backend + + simplelogin-email: + <<: [*simplelogin-image] + container_name: thlab-simplelogin-email + restart: unless-stopped + depends_on: + simplelogin-init: + condition: service_completed_successfully + simplelogin-postfix: + condition: service_healthy + + command: python email_handler.py + + env_file: + - ./.secrets/.env + environment: *simplelogin-env + + ports: + - "127.0.0.1:20381:20381" + + volumes: *simplelogin-volumes + + networks: + - thlab_backend + + simplelogin-worker: + <<: [*simplelogin-image] + container_name: thlab-simplelogin-worker + restart: unless-stopped + depends_on: + simplelogin-init: + condition: service_completed_successfully + simplelogin-email: + condition: service_started + + command: python job_runner.py + + env_file: + - ./.secrets/.env + environment: *simplelogin-env + + volumes: *simplelogin-volumes + + networks: + - thlab_backend diff --git a/Local/coms/thlab-alias/secrets/dkim.key b/Local/coms/thlab-alias/secrets/dkim.key new file mode 100644 index 0000000..a23a0c3 --- /dev/null +++ b/Local/coms/thlab-alias/secrets/dkim.key @@ -0,0 +1,15 @@ +-----BEGIN RSA PRIVATE KEY----- +MIICXgIBAAKBgQC7mLecRqtTzsTTLqooj3gIFnKo7sUBXFI+khykVO6DxX8L4TeF +6GaTof8uzdrblTK91FQNDZoVmT+uYsLbDgVQ9sS5kRFJisT7OID20rownsboDJnL +dIcPoT7yRleBDW2iaVii7fa6EBXQsBTYftbu+9aphCtIo4eJiS1LVGhEXQIDAQAB +AoGAA83gA1JHjSaHRUUP/EyUgY16+8QDyLhHjq9F12tFfvSVU/dYOeXxlpLVauyP +wJ4w7jqNDcq10jROX0nva6PIJchHsMll0qPNV7LYxs205uDkkp7Bo4KAWrW5sagw +DULem1LjNWtRaiO8KGKArLmvHvW29sXsULJf9YtEUKVDb10CQQDedgMp/+Zb+0rs +DgMebdf34UYY4aIrPoVI6WrKQAcXVhOROvduzE0a9xT70CpmGZz92L2Mm9AZQt0c +Y/4jI4ALAkEA1+EYbqfSNSXcLk7OPePUjM453t2sDWcgk/hqzmYsinCDk6GPRZpA +0Tv9Qy9ygY7F/BSOwf5N1jqsMFQzp4aGNwJBAKql+n1gWPRcSzfS89+GwXHb9Cqo +Av+LQTESJSIqhYYIOJBinGX5AHjb6tPT9oJFyaEMfzL6X2LRYM4jglKwK8sCQQCC +jfzKnu9/eOAJmVsdDrWyWd2hrImqqV2IX0mofR4esyC/nYsZ2smsQA1QHlevhnqx +knUrWPIVxvHvYFzEyZRNAkEAl99yuYIuaUSv1xdTdGI1OKXpAAgCfl5O3GkFej8v +5dBIM7t7OgIJvsOHB8PPzIXQ0hhH3xZnmOLiuOipIj/OtA== +-----END RSA PRIVATE KEY----- diff --git a/Local/coms/thlab-alias/secrets/dkim.pub.key b/Local/coms/thlab-alias/secrets/dkim.pub.key new file mode 100644 index 0000000..cf2a2bb --- /dev/null +++ b/Local/coms/thlab-alias/secrets/dkim.pub.key @@ -0,0 +1,6 @@ +-----BEGIN PUBLIC KEY----- +MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC7mLecRqtTzsTTLqooj3gIFnKo +7sUBXFI+khykVO6DxX8L4TeF6GaTof8uzdrblTK91FQNDZoVmT+uYsLbDgVQ9sS5 +kRFJisT7OID20rownsboDJnLdIcPoT7yRleBDW2iaVii7fa6EBXQsBTYftbu+9ap +hCtIo4eJiS1LVGhEXQIDAQAB +-----END PUBLIC KEY----- diff --git a/Local/reverse-proxy/thlab-proxy/compose.yaml b/Local/reverse-proxy/thlab-proxy/compose.yaml new file mode 100644 index 0000000..3259e8b --- /dev/null +++ b/Local/reverse-proxy/thlab-proxy/compose.yaml @@ -0,0 +1,58 @@ +name: thlab-proxy + +########## ===== NETWORKS ===== ########## + +networks: + + edge_proxy: + external: true + + thlab_proxy: + name: thlab_proxy + + thlab_auth: + name: thlab_auth + +########## ===== VOLUMES ===== ########## + +volumes: + + npm_data: + name: thlab_npm_data + driver: local + + npm_letsencrypt: + name: thlab_npm_letsencrypt + driver: local + + npm_app: + name: thlab_npm_app + driver: local + +########## ===== SERVICES ===== ########## + +services: + +##### PROXY + thlab-nginx: + + image: jc21/nginx-proxy-manager:latest + container_name: thlab-nginx + + restart: unless-stopped + + env_file: [.secrets/.env] + environment: + DISABLE_IPV6: "true" + + volumes: + - npm_data:/data + - npm_letsencrypt:/etc/letsencrypt + - npm_app:/app + + networks: + thlab_proxy: + thlab_auth: + edge_proxy: + ipv4_address: 10.60.0.10 + diff --git a/Local/storage/thlab-git/compose.yaml b/Local/storage/thlab-git/compose.yaml new file mode 100644 index 0000000..f8f4132 --- /dev/null +++ b/Local/storage/thlab-git/compose.yaml @@ -0,0 +1,61 @@ +name: thlab-git + +########## ===== NETWORKS ===== ########## + +networks: + + thlab_proxy: + name: thlab_proxy + + thlab_backend: + name: thlab_backend + +##### + +########## ===== VOLUMES ===== ########## + +volumes: + + gitea_data: + name: thlab_gitea + driver: local + +##### + +########## ===== SERVICES ===== ########## + +services: + +##### == GITEA == ##### + + thlab-gitea: + + image: docker.gitea.com/gitea:latest + container_name: thlab-gitea + + restart: unless-stopped + + env_file: [.secrets/.env] + environment: + USER_UID: "1000" + USER_GID: "1000" + GITEA__database__DB_TYPE: postgres + GITEA__database__HOST: thlab-postgres:5432 + GITEA__database__NAME: gitea + GITEA__server__SSH_LISTEN_PORT: "22" + GITEA__server__HTTP_PORT: "3000" + GITEA__mailer__ENABLED: "true" + GITEA__mailer__PROTOCOL: "smtp" + ports: + - "2222:22" + + volumes: + - gitea_data:/data + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + + networks: + - thlab_proxy + - thlab_backend + +##### diff --git a/Local/storage/thlab-notes/compose.yaml b/Local/storage/thlab-notes/compose.yaml new file mode 100644 index 0000000..990c8c0 --- /dev/null +++ b/Local/storage/thlab-notes/compose.yaml @@ -0,0 +1,30 @@ +name: thlab-notes + +networks: + thlab_proxy: + name: thlab_proxy +volumes: + quartz: + name: thlab_notes + driver: local + +services: + quartz: + build: + context: ./worker + dockerfile: Dockerfile + container_name: thlab-notes + + volumes: + - quartz:/usr/src/app + + networks: + - thlab_proxy + + environment: + - VAULT_REPO=https://git.tinyhome.ndmv.net/Tiny-Home/Tiny-Home.git + - VAULT_BRANCH=main + - SYNC_INTERVAL=30 + + restart: unless-stopped + diff --git a/Local/storage/thlab-notes/worker/.node-version b/Local/storage/thlab-notes/worker/.node-version new file mode 100644 index 0000000..aebd91c --- /dev/null +++ b/Local/storage/thlab-notes/worker/.node-version @@ -0,0 +1 @@ +v22.16.0 diff --git a/Local/storage/thlab-notes/worker/.npmrc b/Local/storage/thlab-notes/worker/.npmrc new file mode 100644 index 0000000..b6f27f1 --- /dev/null +++ b/Local/storage/thlab-notes/worker/.npmrc @@ -0,0 +1 @@ +engine-strict=true diff --git a/Local/storage/thlab-notes/worker/.prettierignore b/Local/storage/thlab-notes/worker/.prettierignore new file mode 100644 index 0000000..3c0687a --- /dev/null +++ b/Local/storage/thlab-notes/worker/.prettierignore @@ -0,0 +1,3 @@ +public +node_modules +.quartz-cache diff --git a/Local/storage/thlab-notes/worker/.prettierrc b/Local/storage/thlab-notes/worker/.prettierrc new file mode 100644 index 0000000..3fdeccd --- /dev/null +++ b/Local/storage/thlab-notes/worker/.prettierrc @@ -0,0 +1,21 @@ +{ + "printWidth": 100, + "quoteProps": "as-needed", + "trailingComma": "all", + "tabWidth": 2, + "semi": false, + "overrides": [ + { + "files": "*.canvas", + "options": { + "parser": "json" + } + }, + { + "files": "*.base", + "options": { + "parser": "yaml" + } + } + ] +} diff --git a/Local/storage/thlab-notes/worker/CODE_OF_CONDUCT.md b/Local/storage/thlab-notes/worker/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..887a2c4 --- /dev/null +++ b/Local/storage/thlab-notes/worker/CODE_OF_CONDUCT.md @@ -0,0 +1,90 @@ +# Citizen Code of Conduct + +## 1. Purpose + +A primary goal of the Quartz community is to be inclusive to the largest number of contributors, with the most varied and diverse backgrounds possible. As such, we are committed to providing a friendly, safe and welcoming environment for all, regardless of gender, sexual orientation, ability, ethnicity, socioeconomic status, and religion (or lack thereof). + +This code of conduct outlines our expectations for all those who participate in our community, as well as the consequences for unacceptable behavior. + +We invite all those who participate in the Quartz community to help us create safe and positive experiences for everyone. + +## 2. Open [Source/Culture/Tech] Citizenship + +A supplemental goal of this Code of Conduct is to increase open [source/culture/tech] citizenship by encouraging participants to recognize and strengthen the relationships between our actions and their effects on our community. + +Communities mirror the societies in which they exist and positive action is essential to counteract the many forms of inequality and abuses of power that exist in society. + +If you see someone who is making an extra effort to ensure our community is welcoming, friendly, and encourages all participants to contribute to the fullest extent, we want to know. + +## 3. Expected Behavior + +The following behaviors are expected and requested of all community members: + +- Participate in an authentic and active way. In doing so, you contribute to the health and longevity of this community. +- Exercise consideration and respect in your speech and actions. +- Attempt collaboration before conflict. +- Refrain from demeaning, discriminatory, or harassing behavior and speech. +- Be mindful of your surroundings and of your fellow participants. Alert community leaders if you notice a dangerous situation, someone in distress, or violations of this Code of Conduct, even if they seem inconsequential. +- Remember that community event venues may be shared with members of the public; please be respectful to all patrons of these locations. + +## 4. Unacceptable Behavior + +The following behaviors are considered harassment and are unacceptable within our community: + +- Violence, threats of violence or violent language directed against another person. +- Sexist, racist, homophobic, transphobic, ableist or otherwise discriminatory jokes and language. +- Posting or displaying sexually explicit or violent material. +- Posting or threatening to post other people's personally identifying information ("doxing"). +- Personal insults, particularly those related to gender, sexual orientation, race, religion, or disability. +- Inappropriate photography or recording. +- Inappropriate physical contact. You should have someone's consent before touching them. +- Unwelcome sexual attention. This includes, sexualized comments or jokes; inappropriate touching, groping, and unwelcomed sexual advances. +- Deliberate intimidation, stalking or following (online or in person). +- Advocating for, or encouraging, any of the above behavior. +- Sustained disruption of community events, including talks and presentations. + +## 5. Weapons Policy + +No weapons will be allowed at Quartz community events, community spaces, or in other spaces covered by the scope of this Code of Conduct. Weapons include but are not limited to guns, explosives (including fireworks), and large knives such as those used for hunting or display, as well as any other item used for the purpose of causing injury or harm to others. Anyone seen in possession of one of these items will be asked to leave immediately, and will only be allowed to return without the weapon. Community members are further expected to comply with all state and local laws on this matter. + +## 6. Consequences of Unacceptable Behavior + +Unacceptable behavior from any community member, including sponsors and those with decision-making authority, will not be tolerated. + +Anyone asked to stop unacceptable behavior is expected to comply immediately. + +If a community member engages in unacceptable behavior, the community organizers may take any action they deem appropriate, up to and including a temporary ban or permanent expulsion from the community without warning (and without refund in the case of a paid event). + +## 7. Reporting Guidelines + +If you are subject to or witness unacceptable behavior, or have any other concerns, please notify a community organizer as soon as possible. j.zhao2k19@gmail.com. + +Additionally, community organizers are available to help community members engage with local law enforcement or to otherwise help those experiencing unacceptable behavior feel safe. In the context of in-person events, organizers will also provide escorts as desired by the person experiencing distress. + +## 8. Addressing Grievances + +If you feel you have been falsely or unfairly accused of violating this Code of Conduct, you should notify @jackyzha0 with a concise description of your grievance. Your grievance will be handled in accordance with our existing governing policies. + +## 9. Scope + +We expect all community participants (contributors, paid or otherwise; sponsors; and other guests) to abide by this Code of Conduct in all community venues--online and in-person--as well as in all one-on-one communications pertaining to community business. + +This code of conduct and its related procedures also applies to unacceptable behavior occurring outside the scope of community activities when such behavior has the potential to adversely affect the safety and well-being of community members. + +## 10. Contact info + +j.zhao2k19@gmail.com + +## 11. License and attribution + +The Citizen Code of Conduct is distributed by [Stumptown Syndicate](http://stumptownsyndicate.org) under a [Creative Commons Attribution-ShareAlike license](http://creativecommons.org/licenses/by-sa/3.0/). + +Portions of text derived from the [Django Code of Conduct](https://www.djangoproject.com/conduct/) and the [Geek Feminism Anti-Harassment Policy](http://geekfeminism.wikia.com/wiki/Conference_anti-harassment/Policy). + +_Revision 2.3. Posted 6 March 2017._ + +_Revision 2.2. Posted 4 February 2016._ + +_Revision 2.1. Posted 23 June 2014._ + +_Revision 2.0, adopted by the [Stumptown Syndicate](http://stumptownsyndicate.org) board on 10 January 2013. Posted 17 March 2013._ diff --git a/Local/storage/thlab-notes/worker/Dockerfile b/Local/storage/thlab-notes/worker/Dockerfile new file mode 100644 index 0000000..2410df5 --- /dev/null +++ b/Local/storage/thlab-notes/worker/Dockerfile @@ -0,0 +1,27 @@ +FROM node:22-slim AS builder + +# Install git and other dependencies +RUN apt-get update && apt-get install -y git ca-certificates && rm -rf /var/lib/apt/lists/* + +WORKDIR /usr/src/app +COPY package.json . +COPY package-lock.json* . +COPY quartz/ ./quartz/ +COPY quartz.lock.json . +RUN npm ci && npx quartz plugin install + +FROM node:22-slim +WORKDIR /usr/src/app + +# Install git and ca-certificates for vault repo access +RUN apt-get update && apt-get install -y git ca-certificates && rm -rf /var/lib/apt/lists/* + +COPY --from=builder /usr/src/app/ /usr/src/app/ +COPY . . + +# Copy and make entrypoint executable +COPY entrypoint.sh /usr/src/app/entrypoint.sh +RUN chmod +x /usr/src/app/entrypoint.sh + +ENTRYPOINT ["/usr/src/app/entrypoint.sh"] + diff --git a/Local/storage/thlab-notes/worker/LICENSE.txt b/Local/storage/thlab-notes/worker/LICENSE.txt new file mode 100644 index 0000000..147e2ca --- /dev/null +++ b/Local/storage/thlab-notes/worker/LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 jackyzha0 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Local/storage/thlab-notes/worker/README.md b/Local/storage/thlab-notes/worker/README.md new file mode 100644 index 0000000..bcdbbf4 --- /dev/null +++ b/Local/storage/thlab-notes/worker/README.md @@ -0,0 +1,17 @@ +# Quartz v5 + +> “[One] who works with the door open gets all kinds of interruptions, but [they] also occasionally gets clues as to what the world is and what might be important.” — Richard Hamming + +Quartz is a set of tools that helps you publish your [digital garden](https://jzhao.xyz/posts/networked-thought) and notes as a website for free. + +🔗 Read the documentation and get started: https://quartz.jzhao.xyz/ + +[Join the Discord Community](https://discord.gg/cRFFHYye7t) + +## Sponsors + +

+ + + +

diff --git a/Local/storage/thlab-notes/worker/content b/Local/storage/thlab-notes/worker/content new file mode 160000 index 0000000..ab30a77 --- /dev/null +++ b/Local/storage/thlab-notes/worker/content @@ -0,0 +1 @@ +Subproject commit ab30a7796bf7c97507e073910c6ba548ea2625fd diff --git a/Local/storage/thlab-notes/worker/docs/Base.base b/Local/storage/thlab-notes/worker/docs/Base.base new file mode 100644 index 0000000..beb5172 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/Base.base @@ -0,0 +1,135 @@ +filters: + and: + - file.ext == "md" +formulas: + doc_type: | + if(file.hasTag("plugin/transformer"), "transformer", + if(file.hasTag("plugin/emitter"), "emitter", + if(file.hasTag("plugin/filter"), "filter", + if(file.hasTag("component"), "component", + if(file.inFolder("features"), "feature", + if(file.inFolder("advanced"), "advanced", + if(file.inFolder("plugins"), "plugin", + if(file.inFolder("getting-started"), "getting-started", + if(file.inFolder("cli"), "cli", "guide"))))))))) + last_modified: file.mtime.relative() + section: | + if(file.inFolder("plugins"), "plugins", + if(file.inFolder("features"), "features", + if(file.inFolder("advanced"), "advanced", + if(file.inFolder("getting-started"), "getting-started", + if(file.inFolder("cli"), "cli", + if(file.inFolder("tags"), "tags", "core")))))) +properties: + title: + displayName: Title + formula.doc_type: + displayName: Type + formula.last_modified: + displayName: Updated + formula.section: + displayName: Section +views: + - type: table + name: All Documentation + groupBy: + property: formula.section + direction: ASC + order: + - file.name + - title + - formula.doc_type + - formula.section + - formula.last_modified + sort: + - property: formula.doc_type + direction: ASC + - property: file.name + direction: ASC + columnSize: + file.name: 185 + note.title: 268 + formula.doc_type: 146 + formula.section: 276 + - type: table + name: Plugins + filters: + or: + - file.hasTag("plugin/transformer") + - file.hasTag("plugin/emitter") + - file.hasTag("plugin/filter") + groupBy: + property: formula.doc_type + direction: ASC + order: + - file.name + - title + - formula.doc_type + - formula.last_modified + - type: table + name: Components & Features + filters: + or: + - file.hasTag("component") + - file.inFolder("features") + order: + - file.name + - title + - formula.doc_type + - formula.last_modified + - type: list + name: Recently Updated + order: + - file.name + - formula.last_modified + limit: 15 + - type: table + name: Core Guides + filters: + not: + - file.inFolder("plugins") + - file.inFolder("features") + - file.inFolder("advanced") + - file.inFolder("getting-started") + - file.inFolder("cli") + - file.inFolder("tags") + order: + - file.name + - title + - formula.last_modified + - type: board + name: By Type (Board) + groupBy: + property: formula.doc_type + direction: ASC + order: + - file.name + - title + - formula.last_modified + - type: gallery + name: Gallery + order: + - title + - formula.doc_type + - formula.section + limit: 30 + - type: cards + name: Cards + order: + - file.name + - title + - formula.doc_type + - formula.section + - formula.last_modified + limit: 24 + - type: cards + name: Image Cards + filters: + and: + - file.folder == "plugins" + - "!image.isEmpty()" + order: + - file.name + image: note.image + cardSize: 220 + imageAspectRatio: 1 diff --git a/Local/storage/thlab-notes/worker/docs/Canvas.canvas b/Local/storage/thlab-notes/worker/docs/Canvas.canvas new file mode 100644 index 0000000..317702c --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/Canvas.canvas @@ -0,0 +1,321 @@ +{ + "nodes": [ + { + "id": "group-node-types", + "type": "group", + "x": -30, + "y": 260, + "width": 1220, + "height": 460, + "color": "6", + "label": "Node Types" + }, + { + "id": "group-config", + "type": "group", + "x": -30, + "y": 1180, + "width": 1220, + "height": 360, + "color": "2", + "label": "Configuration" + }, + { + "id": "group-colors", + "type": "group", + "x": -30, + "y": 790, + "width": 1220, + "height": 320, + "color": "4", + "label": "Preset Colors" + }, + { + "id": "group-edges", + "type": "group", + "x": -30, + "y": 1610, + "width": 1220, + "height": 320, + "color": "3", + "label": "Edges & Connections" + }, + { + "id": "title", + "type": "text", + "text": "# CanvasPage Plugin\n\nThis plugin renders [JSON Canvas](https://jsoncanvas.org) (`.canvas`) files as interactive, pannable and zoomable canvas pages. It supports the full [JSON Canvas 1.0 spec](https://jsoncanvas.org/spec/1.0/).\n\nInstall: `npx quartz plugin add github:quartz-community/canvas-page`", + "x": 0, + "y": 0, + "width": 560, + "height": 200, + "color": "5" + }, + { + "id": "text-node-demo", + "type": "text", + "text": "## Text Nodes\n\nText nodes render **Markdown** content with GFM support:\n\n- **Bold** and *italic* text\n- ~~Strikethrough~~ text\n- [External links](https://jsoncanvas.org)\n- `Inline code` blocks\n- Lists (like this one)\n\n### Headings Work Too\n\nAll standard Markdown syntax is rendered at build time.", + "x": 0, + "y": 300, + "width": 360, + "height": 280, + "color": "1" + }, + { + "id": "file-node-info", + "type": "text", + "text": "## File Nodes\n\nFile nodes reference other pages in your vault. They appear as clickable links and support **popover previews** on hover.\n\nThe node below links to the CanvasPage documentation:", + "x": 400, + "y": 300, + "width": 360, + "height": 160, + "color": "2" + }, + { + "id": "file-node-demo", + "type": "file", + "file": "plugins/CanvasPage.md", + "x": 400, + "y": 500, + "width": 360, + "height": 80, + "color": "4" + }, + { + "id": "link-node-info", + "type": "text", + "text": "## Link Nodes\n\nLink nodes reference external URLs. The node below links to the JSON Canvas specification:", + "x": 800, + "y": 300, + "width": 360, + "height": 120, + "color": "3" + }, + { + "id": "link-node-demo", + "type": "link", + "url": "https://jsoncanvas.org/spec/1.0/", + "x": 800, + "y": 460, + "width": 360, + "height": 80, + "color": "5" + }, + { + "id": "color-1", + "type": "text", + "text": "**Color 1** — Red", + "x": 0, + "y": 830, + "width": 180, + "height": 80, + "color": "1" + }, + { + "id": "color-2", + "type": "text", + "text": "**Color 2** — Orange", + "x": 200, + "y": 830, + "width": 180, + "height": 80, + "color": "2" + }, + { + "id": "color-3", + "type": "text", + "text": "**Color 3** — Yellow", + "x": 400, + "y": 830, + "width": 180, + "height": 80, + "color": "3" + }, + { + "id": "color-4", + "type": "text", + "text": "**Color 4** — Green", + "x": 600, + "y": 830, + "width": 180, + "height": 80, + "color": "4" + }, + { + "id": "color-5", + "type": "text", + "text": "**Color 5** — Cyan", + "x": 800, + "y": 830, + "width": 180, + "height": 80, + "color": "5" + }, + { + "id": "color-6", + "type": "text", + "text": "**Color 6** — Purple", + "x": 1000, + "y": 830, + "width": 180, + "height": 80, + "color": "6" + }, + { + "id": "color-custom", + "type": "text", + "text": "**Custom hex color** — `#ff6600`", + "x": 400, + "y": 950, + "width": 380, + "height": 80, + "color": "#ff6600" + }, + { + "id": "config-options", + "type": "text", + "text": "## Configuration Options\n\n- `enableInteraction` — Enable pan and zoom. Default: `true`\n- `initialZoom` — Initial zoom level. Default: `1`\n- `minZoom` — Minimum zoom level. Default: `0.1`\n- `maxZoom` — Maximum zoom level. Default: `5`\n- `defaultFullscreen` — Start in fullscreen mode. Default: `false`\n\nConfigure in `quartz.config.yaml`:\n\n```\nCanvasPage({ defaultFullscreen: false, initialZoom: 1 })\n```", + "x": 0, + "y": 1220, + "width": 560, + "height": 280 + }, + { + "id": "config-fullscreen", + "type": "text", + "text": "## Fullscreen Mode\n\nClick the **expand button** (top-right corner) to toggle fullscreen mode. The canvas fills the entire viewport.\n\n- Press **Escape** to exit fullscreen\n- Set `defaultFullscreen: true` to start in fullscreen\n- The toggle button switches between expand and collapse icons\n\n## Quartz Integration\n\n- **Popover previews**: Hover over file nodes to see a preview\n- **Internal links**: File nodes link to pages in your vault\n- **Dark mode**: Canvas adapts to your theme settings", + "x": 600, + "y": 1220, + "width": 560, + "height": 280 + }, + { + "id": "edge-source", + "type": "text", + "text": "## Edges\n\nEdges connect nodes with SVG paths. They support **labels**, **arrows**, and **colors**.", + "x": 0, + "y": 1650, + "width": 300, + "height": 120, + "color": "1" + }, + { + "id": "edge-labeled", + "type": "text", + "text": "This edge has a **label** and an arrow marker.", + "x": 450, + "y": 1650, + "width": 260, + "height": 80, + "color": "4" + }, + { + "id": "edge-colored", + "type": "text", + "text": "This edge has a **custom color** (`#ff6600`).", + "x": 450, + "y": 1780, + "width": 260, + "height": 80, + "color": "2" + }, + { + "id": "edge-preset", + "type": "text", + "text": "Edges can use the same **preset colors** (1–6) as nodes, or custom **hex colors** like `#ff6600`.", + "x": 850, + "y": 1650, + "width": 300, + "height": 120, + "color": "6" + }, + { + "id": "api-info", + "type": "text", + "text": "## API\n\n- **Category**: Page Type\n- **Function name**: `ExternalPlugin.CanvasPage()`\n- **Source**: [quartz-community/canvas-page](https://github.com/quartz-community/canvas-page)\n- **Install**: `npx quartz plugin add github:quartz-community/canvas-page`", + "x": 0, + "y": 2000, + "width": 560, + "height": 180 + }, + { + "id": "spec-info", + "type": "text", + "text": "## JSON Canvas Spec\n\nThis plugin implements the [JSON Canvas 1.0](https://jsoncanvas.org/spec/1.0/) specification — an open file format for infinite canvas data.\n\nCanvas files use the `.canvas` extension and are standard JSON. They are natively supported by [Obsidian](https://obsidian.md).", + "x": 600, + "y": 2000, + "width": 560, + "height": 180 + } + ], + "edges": [ + { + "id": "edge-title-to-types", + "fromNode": "title", + "fromSide": "bottom", + "toNode": "group-node-types", + "toSide": "top", + "label": "supports" + }, + { + "id": "edge-info-to-file", + "fromNode": "file-node-info", + "fromSide": "bottom", + "toNode": "file-node-demo", + "toSide": "top", + "color": "4" + }, + { + "id": "edge-info-to-link", + "fromNode": "link-node-info", + "fromSide": "bottom", + "toNode": "link-node-demo", + "toSide": "top", + "color": "5" + }, + { + "id": "edge-types-to-colors", + "fromNode": "group-node-types", + "fromSide": "bottom", + "toNode": "group-colors", + "toSide": "top" + }, + { + "id": "edge-colors-to-config", + "fromNode": "group-colors", + "fromSide": "bottom", + "toNode": "group-config", + "toSide": "top" + }, + { + "id": "edge-config-to-edges", + "fromNode": "group-config", + "fromSide": "bottom", + "toNode": "group-edges", + "toSide": "top" + }, + { + "id": "edge-labeled-demo", + "fromNode": "edge-source", + "fromSide": "right", + "toNode": "edge-labeled", + "toSide": "left", + "label": "labeled edge" + }, + { + "id": "edge-colored-demo", + "fromNode": "edge-source", + "fromSide": "right", + "toNode": "edge-colored", + "toSide": "left", + "color": "#ff6600" + }, + { + "id": "edge-preset-demo", + "fromNode": "edge-labeled", + "fromSide": "right", + "toNode": "edge-preset", + "toSide": "left", + "color": "6" + } + ] +} diff --git a/Local/storage/thlab-notes/worker/docs/advanced/architecture.md b/Local/storage/thlab-notes/worker/docs/advanced/architecture.md new file mode 100644 index 0000000..cfd56cc --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/advanced/architecture.md @@ -0,0 +1,149 @@ +--- +title: Architecture +--- + +Quartz is a static site generator. How does it work? + +This question is best answered by tracing what happens when a user (you!) runs `npx quartz build` in the command line: + +## On the server + +1. After running `npx quartz build`, npm will look at `package.json` to find the `bin` entry for `quartz` which points at `./quartz/bootstrap-cli.mjs`. +2. This file has a [shebang]() line at the top which tells npm to execute it using Node. +3. `bootstrap-cli.mjs` is responsible for a few things: + 1. Parsing the command-line arguments using [yargs](http://yargs.js.org/). The `plugin` subcommand is also handled here for managing external plugins. + 2. Transpiling and bundling the rest of Quartz (which is in Typescript) to regular JavaScript using [esbuild](https://esbuild.github.io/). The `esbuild` configuration here is slightly special as it also handles `.scss` file imports using [esbuild-sass-plugin v2](https://www.npmjs.com/package/esbuild-sass-plugin). Additionally, we bundle 'inline' client-side scripts (any `.inline.ts` file) that components declare using a custom `esbuild` plugin that runs another instance of `esbuild` which bundles for the browser instead of `node`. Modules of both types are imported as plain text. + 3. Running the local preview server if `--serve` is set. This starts two servers: + 1. A WebSocket server on port 3001 to handle hot-reload signals. This tracks all inbound connections and sends a 'rebuild' message a server-side change is detected (either content or configuration). + 2. An HTTP file-server on a user defined port (normally 8080) to serve the actual website files. + 4. If the `--serve` flag is set, it also starts a file watcher to detect source-code changes (e.g. anything that is `.ts`, `.tsx`, `.scss`, or packager files). On a change, we rebuild the module (step 2 above) using esbuild's [rebuild API](https://esbuild.github.io/api/#rebuild) which drastically reduces the build times. + 5. After transpiling the main Quartz build module (`quartz/build.ts`), we write it to a cache file `.quartz-cache/transpiled-build.mjs` and then dynamically import this using `await import(cacheFile)`. However, we need to be pretty smart about how to bust Node's [import cache](https://github.com/nodejs/modules/issues/307) so we add a random query string to fake Node into thinking it's a new module. This does, however, cause memory leaks so we just hope that the user doesn't hot-reload their configuration too many times in a single session :)) (it leaks about ~350kB memory on each reload). After importing the module, we then invoke it, passing in the command line arguments we parsed earlier along with a callback function to signal the client to refresh. +4. In `build.ts`, we start by installing source map support manually to account for the query string cache busting hack we introduced earlier. Then, we start processing content: + 1. Clean the output directory. + 2. Recursively glob all files in the `content` folder, respecting the `.gitignore`. + 3. Parse the Markdown files. + 1. Quartz detects the number of threads available and chooses to spawn worker threads if there are >128 pieces of content to parse (rough heuristic). If it needs to spawn workers, it will invoke esbuild again to transpile the worker script `quartz/worker.ts`. Then, a work-stealing [workerpool](https://www.npmjs.com/package/workerpool) is then created and batches of 128 files are assigned to workers. + 2. Each worker (or just the main thread if there is no concurrency) creates a [unified](https://github.com/unifiedjs/unified) parser based off of the plugins defined in the [[configuration]]. + 3. Parsing has three steps: + 1. Read the file into a [vfile](https://github.com/vfile/vfile). + 2. Applied plugin-defined text transformations over the content. + 3. Slugify the file path and store it in the data for the file. See the page on [[paths]] for more details about how path logic works in Quartz (spoiler: its complicated). + 4. Markdown parsing using [remark-parse](https://www.npmjs.com/package/remark-parse) (text to [mdast](https://github.com/syntax-tree/mdast)). + 5. Apply plugin-defined Markdown-to-Markdown transformations. + 6. Convert Markdown into HTML using [remark-rehype](https://github.com/remarkjs/remark-rehype) ([mdast](https://github.com/syntax-tree/mdast) to [hast](https://github.com/syntax-tree/hast)). + 7. Apply plugin-defined HTML-to-HTML transformations. + 4. Filter out unwanted content using plugins. + 5. Emit files using plugins. + 1. Gather all the static resources (e.g. external CSS, JS modules, etc.) each emitter plugin declares. + 2. Emitters that emit HTML files do a bit of extra work here as they need to transform the [hast](https://github.com/syntax-tree/hast) produced in the parse step to JSX. This is done using [hast-util-to-jsx-runtime](https://github.com/syntax-tree/hast-util-to-jsx-runtime) with the [Preact](https://preactjs.com/) runtime. Finally, the JSX is rendered to HTML using [preact-render-to-string](https://github.com/preactjs/preact-render-to-string) which statically renders the JSX to HTML (i.e. doesn't care about `useState`, `useEffect`, or any other React/Preact interactive bits). Here, we also do a bunch of fun stuff like assemble the page [[layout]] from `quartz.config.yaml`, assemble all the inline scripts that actually get shipped to the client, and all the transpiled styles. The bulk of this logic can be found in `quartz/components/renderPage.tsx`. Other fun things of note: + 1. CSS is minified and transformed using [Lightning CSS](https://github.com/parcel-bundler/lightningcss) to add vendor prefixes and do syntax lowering. + 2. Scripts are split into `beforeDOMLoaded` and `afterDOMLoaded` and are inserted in the `` and `` respectively. + 3. Finally, each emitter plugin is responsible for emitting and writing it's own emitted files to disk. + 6. If the `--serve` flag was detected, we also set up another file watcher to detect content changes (only `.md` files). We keep a content map that tracks the parsed AST and plugin data for each slug and update this on file changes. Newly added or modified paths are rebuilt and added to the content map. Then, all the filters and emitters are run over the resulting content map. This file watcher is debounced with a threshold of 250ms. On success, we send a client refresh signal using the passed in callback function. + +## On the client + +1. The browser opens a Quartz page and loads the HTML. The `` also links to page styles (emitted to `public/index.css`) and page-critical JS (emitted to `public/prescript.js`) +2. Then, once the body is loaded, the browser loads the non-critical JS (emitted to `public/postscript.js`) +3. Once the page is done loading, the page will then dispatch a custom synthetic browser event `"nav"`. This is used so client-side scripts declared by components can 'setup' anything that requires access to the page DOM. + 1. If the [[SPA Routing|enableSPA option]] is enabled in the [[configuration]], this `"nav"` event is also fired on any client-navigation to allow for components to unregister and reregister any event handlers and state. + 2. If it's not, we wire up the `"nav"` event to just be fired a single time after page load to allow for consistency across how state is setup across both SPA and non-SPA contexts. + 3. A separate `"render"` event can be dispatched when the DOM is updated in-place without a full navigation (e.g. after content decryption). Components that attach listeners to content elements should listen for both `"nav"` and `"render"`. + +## Community Package Layering + +Quartz v5 separates shared code into three community packages, each with a distinct responsibility: + +- **`@quartz-community/types`** — Type definitions, interfaces, and the canonical `vfile` DataMap augmentation. This is the "contract" between Quartz and plugins. It has no runtime dependencies. +- **`@quartz-community/utils`** — Shared utility functions (path manipulation, DOM helpers, sorting, date formatting, JSX conversion, etc.). Depends on `@quartz-community/types`. +- **`@quartz-community/runtime`** — Browser-only utilities for client-side scripts (event handling, navigation, storage, script loading). Depends on both `types` and `utils`. + +``` +types (no deps) + ↑ +utils (depends on types) + ↑ +runtime (depends on types + utils) + ↑ +plugins (depend on any combination) +``` + +Plugins should import types from `@quartz-community/types`, utility functions from `@quartz-community/utils`, and browser utilities from `@quartz-community/runtime`. This layering ensures plugins don't depend on Quartz core. + +## Plugin System + +Page types define how a category of pages is rendered. They are configured in the `pageTypes` array in `quartz.config.yaml`. + +Quartz v5 introduces a community plugin system. Plugins are standalone Git repositories that are cloned into `.quartz/plugins/` and re-exported through an auto-generated index file at `.quartz/plugins/index.ts`. + +### Plugin Types + +There are now four plugin categories: + +- **Transformers**: Map over content (parse frontmatter, generate descriptions, syntax highlighting) +- **Filters**: Filter content (remove drafts, explicit publish) +- **Emitters**: Reduce over content (generate RSS, sitemaps, alias redirects, OG images) +- **Page Types**: Define how pages are rendered. Each page type handles a specific kind of page (content notes, folder listings, tag listings, 404). The `PageTypeDispatcher` emitter routes pages to the appropriate page type plugin based on the content. +- **Bases Views**: Custom view renderers for the `bases-page` plugin's database-like view system. Plugins can register new view types (e.g., timeline, kanban) via the `ViewRegistry`. See [[making plugins#Bases Views]] for details. + +Note that plugin types are **not mutually exclusive** — a single plugin can be a transformer AND provide components (e.g., `obsidian-flavored-markdown`), or be a page type AND provide custom frames (e.g., `canvas-page`). + +### Plugin Resolution + +When `npx quartz plugin add github:quartz-community/explorer` is run: + +1. The repository is cloned into `.quartz/plugins/explorer/` +2. The plugin is built using `tsup` (defined in each plugin's `tsup.config.ts`) +3. An auto-generated `.quartz/plugins/index.ts` re-exports all installed plugins +4. The plugin's commit hash is recorded in `quartz.lock.json` + +### Plugin CLI Commands + +- `npx quartz plugin add github:quartz-community/` — Install a community plugin +- `npx quartz plugin install --latest` — Update all plugins to latest commits +- `npx quartz plugin install --clean` — Restore plugins from locked commits in `quartz.lock.json` (used in CI/CD) +- `npx quartz plugin remove ` — Remove an installed plugin + +### Plugin Structure + +Each community plugin repository contains: + +- `src/index.ts` — Plugin entry point exporting the plugin function +- `tsup.config.ts` — Build configuration using tsup +- `package.json` — Declares dependencies on `@quartz-community/types` and `@quartz-community/utils` + +The architecture and design of the plugin system was intentionally left pretty vague here as this is described in much more depth in the guide on [[making plugins|creating plugins]]. + +## Page Frames + +Page frames control the inner HTML structure of each page. While the outer shell (``, ``, ``, `#quartz-root`) is always the same (required for [[SPA Routing]]), the frame determines how layout slots are arranged inside the page. + +The frame system lives in `quartz/components/frames/` and consists of: + +- `types.ts` — Defines the `PageFrame` and `PageFrameProps` interfaces +- `DefaultFrame.tsx` — Three-column layout (left sidebar, center, right sidebar, footer) +- `FullWidthFrame.tsx` — No sidebars, single center column +- `MinimalFrame.tsx` — No sidebars, no header/beforeBody, just content and footer +- `registry.ts` — `FrameRegistry` singleton for plugin-registered frames +- `index.ts` — `resolveFrame()` function and built-in frame registry + +### Frame Registry + +The `FrameRegistry` (`quartz/components/frames/registry.ts`) is a singleton that stores frames registered by community plugins. It mirrors the design of the `ComponentRegistry`. Plugins declare frames in their `package.json` manifest under the `"quartz"."frames"` field, and these are loaded by `quartz/plugins/loader/frameLoader.ts` during plugin initialization. + +### Frame Resolution + +The rendering pipeline in `quartz/components/renderPage.tsx` delegates to the resolved frame's `render()` function. Frame resolution happens in the `PageTypeDispatcher` emitter (`quartz/plugins/pageTypes/dispatcher.ts`) using this priority: + +1. YAML config: `layout.byPageType..template` +2. Plugin-registered frame: looked up by name in the `FrameRegistry` +3. Built-in frame: looked up by name in the `builtinFrames` map +4. Fallback: `"default"` + +The active frame name is set as a `data-frame` attribute on the `.page` element, enabling frame-specific CSS overrides in `quartz/styles/base.scss`. + +### Plugin-Provided Frames + +Community plugins can ship their own frames by exporting them from a `./frames` subpath and declaring them in the plugin manifest. For example, the `canvas-page` plugin provides a `"canvas"` frame with a fullscreen layout and togglable sidebar. See [[making plugins#Providing Custom Frames]] for implementation details. + +See [[layout#Page Frames]] for user-facing documentation and [[making plugins#Page Types]] for how to set frames in page type plugins. diff --git a/Local/storage/thlab-notes/worker/docs/advanced/creating components.md b/Local/storage/thlab-notes/worker/docs/advanced/creating components.md new file mode 100644 index 0000000..bdffa40 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/advanced/creating components.md @@ -0,0 +1,266 @@ +--- +title: Creating Component Plugins +--- + +> [!warning] +> This guide assumes you have experience writing JavaScript and are familiar with TypeScript. + +Normally on the web, we write layout code using HTML which looks something like the following: + +```html +
+

An article header

+

Some content

+
+``` + +This piece of HTML represents an article with a leading header that says "An article header" and a paragraph that contains the text "Some content". This is combined with CSS to style the page and JavaScript to add interactivity. + +However, HTML doesn't let you create reusable templates. If you wanted to create a new page, you would need to copy and paste the above snippet and edit the header and content yourself. This isn't great if we have a lot of content on our site that shares a lot of similar layout. The smart people who created React also had similar complaints and invented the concept of Components -- JavaScript functions that return JSX -- to solve the code duplication problem. + +In effect, components allow you to write a JavaScript function that takes some data and produces HTML as an output. **While Quartz doesn't use React, it uses the same component concept to allow you to easily express layout templates in your Quartz site.** + +## Community Component Plugins + +In v5, most components are community plugins — standalone repositories that export a `QuartzComponent`. These plugins are decoupled from the core Quartz repository, allowing for easier maintenance and sharing. + +### Getting Started + +To create a new component plugin, you can use the official plugin template: + +```shell +git clone https://github.com/quartz-community/plugin-template.git my-component +cd my-component +npm install +``` + +### Plugin Structure + +A component plugin's `src/index.ts` typically exports a function (a constructor) that returns a `QuartzComponent`. This allows users to pass configuration options to your component. + +```tsx title="src/index.ts" +import { + QuartzComponent, + QuartzComponentConstructor, + QuartzComponentProps, +} from "@quartz-community/types" + +interface Options { + favouriteNumber: number +} + +const defaultOptions: Options = { + favouriteNumber: 42, +} + +const MyComponent: QuartzComponentConstructor = (userOpts?: Options) => { + const opts = { ...defaultOptions, ...userOpts } + + const Component: QuartzComponent = (props: QuartzComponentProps) => { + if (opts.favouriteNumber < 0) return null + return

My favourite number is {opts.favouriteNumber}

+ } + + return Component +} + +export default MyComponent +``` + +### Props + +All Quartz components accept the same set of props: + +```tsx +export type QuartzComponentProps = { + fileData: QuartzPluginData + cfg: GlobalConfiguration + tree: Node + allFiles: QuartzPluginData[] + displayClass?: "mobile-only" | "desktop-only" +} +``` + +- `fileData`: Any metadata plugins may have added to the current page. + - `fileData.slug`: slug of the current page. + - `fileData.frontmatter`: any frontmatter parsed. +- `cfg`: The `configuration` field in `quartz.config.yaml`. +- `tree`: the resulting [HTML AST](https://github.com/syntax-tree/hast) after processing and transforming the file. +- `allFiles`: Metadata for all files that have been parsed. Useful for doing page listings or figuring out the overall site structure. +- `displayClass`: a utility class that indicates a preference from the user about how to render it in a mobile or desktop setting. + +### Styling + +In community plugins, styles are bundled with the plugin. You can define styles using the `.css` property on the component: + +```tsx +Component.css = ` + .my-component { color: red; } +` +``` + +For SCSS, you can import it and assign it to the `.css` property. The build system will handle the transformation: + +```tsx +import styles from "./styles.scss" +Component.css = styles +``` + +> [!warning] +> Quartz does not use CSS modules so any styles you declare here apply _globally_. If you only want it to apply to your component, make sure you use specific class names and selectors. + +### Internationalization + +Component plugins should use the i18n pattern for any user-facing strings. See [[making plugins#Internationalization (i18n)]] for the full setup guide. + +Quick reference: + +```tsx +import { i18n } from "../i18n" + +const MyComponent: QuartzComponent = ({ cfg }) => { + const t = i18n(cfg.locale ?? "en-US").components.myComponent + return

{t.title}

+} +``` + +Always provide at least an `en-US` locale as the fallback. Additional locales are optional but encouraged for international reach. + +### Scripts and Interactivity + +For interactivity, you can declare `.beforeDOMLoaded` and `.afterDOMLoaded` properties on the component. These should be strings containing the JavaScript to be executed in the browser. + +- `.beforeDOMLoaded`: Executed _before_ the page is done loading. Used for prefetching or early initialization. +- `.afterDOMLoaded`: Executed once the page has been completely loaded. + +If you need to create an `afterDOMLoaded` script that depends on page-specific elements that may change when navigating, listen for the `"nav"` event: + +```ts +document.addEventListener("nav", () => { + // do page specific logic here + const toggleSwitch = document.querySelector("#switch") as HTMLInputElement + if (toggleSwitch) { + toggleSwitch.addEventListener("change", switchTheme) + window.addCleanup(() => toggleSwitch.removeEventListener("change", switchTheme)) + } +}) +``` + +You can also use the `"prenav"` event, which fires before the page is replaced during SPA navigation. + +The `"render"` event fires when the DOM has been updated in-place without a full navigation — for example, after content decryption or dynamic DOM modifications by other plugins. If your component attaches event listeners to content elements, listen for `"render"` in addition to `"nav"` to ensure re-initialization: + +```ts +function setupMyComponent() { + const elements = document.querySelectorAll(".my-interactive") + for (const el of elements) { + el.addEventListener("click", handleClick) + window.addCleanup(() => el.removeEventListener("click", handleClick)) + } +} + +document.addEventListener("nav", setupMyComponent) +document.addEventListener("render", setupMyComponent) +``` + +It is best practice to track any event handlers via `window.addCleanup` to prevent memory leaks during SPA navigation. + +#### Importing Code + +In community plugins, TypeScript scripts should be transpiled at build time. The plugin template includes an `inlineScriptPlugin` in `tsup.config.ts` that automatically transpiles `.inline.ts` files imported as text: + +```tsx title="src/index.ts" +import script from "./script.inline.ts" + +const Component: QuartzComponent = (props) => { + return +} +Component.afterDOMLoaded = script +``` + +The `inlineScriptPlugin` handles transpiling TypeScript to browser-compatible JavaScript during the build step, allowing you to write type-safe client-side code. + +### Installing Your Component + +Once your component is published (e.g., to GitHub or npm), users can install it using the Quartz CLI: + +```shell +npx quartz plugin add github:your-username/my-component +``` + +Then, they can add it to their `quartz.config.yaml`: + +```yaml title="quartz.config.yaml" +plugins: + - source: github:your-username/my-component + enabled: true + options: + favouriteNumber: 42 + layout: + position: left + priority: 60 +``` + +For advanced usage via the TS override in `quartz.ts`: + +```ts title="quartz.ts (override)" +import { loadQuartzConfig, loadQuartzLayout } from "./quartz/plugins/loader/config-loader" +import Plugin from "./.quartz/plugins" + +const config = await loadQuartzConfig() +export default config +export const layout = await loadQuartzLayout({ + byPageType: { + content: { + left: [Plugin.MyComponent({ favouriteNumber: 42 })], + }, + }, +}) +``` + +### Receiving YAML Options in Component-Only Plugins + +Component plugins that also belong to a processing category (transformer, filter, emitter, page type) receive options through their factory function automatically. However, **component-only plugins** — those whose manifest declares only `"category": ["component"]` — are loaded via side-effect import and don't go through the factory path. + +To receive YAML options in a component-only plugin, export an `init` function from your entry point: + +```ts title="src/index.ts" +export function init(options?: Record): void { + // options contains merged defaultOptions + user's YAML options + const myFlag = (options?.myFlag as boolean) ?? false + // Use options to configure registrations, global state, etc. +} +``` + +Quartz's config-loader calls `init()` after importing the module, passing the merged result of your manifest's `defaultOptions` and the user's `options` from `quartz.config.yaml`. The merge follows the same `{ ...defaultOptions, ...userOptions }` pattern used for processing plugins — user values take precedence. + +Declare your defaults in `package.json`: + +```json title="package.json" +{ + "quartz": { + "category": ["component"], + "defaultOptions": { + "myFlag": false + } + } +} +``` + +If your plugin does not export `init`, it continues to work as a pure side-effect import — this is fully backward compatible. + +## Internal Components + +Quartz also has internal components that provide layout utilities. These live in `quartz/components/` and are primarily used for structural purposes: + +- `Component.Head()` — renders the `` tag +- `Component.Spacer()` — adds flexible space +- `Component.Flex()` — flexible layout container +- `Component.MobileOnly()` — shows component only on mobile +- `Component.DesktopOnly()` — shows component only on desktop +- `Component.ConditionalRender()` — conditionally renders based on page data + +See [[layout-components]] for more details on these utilities. + +> [!hint] +> Look at existing community plugins like [Explorer](https://github.com/quartz-community/explorer) or [Darkmode](https://github.com/quartz-community/darkmode) for real-world examples. diff --git a/Local/storage/thlab-notes/worker/docs/advanced/index.md b/Local/storage/thlab-notes/worker/docs/advanced/index.md new file mode 100644 index 0000000..3d0da80 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/advanced/index.md @@ -0,0 +1,10 @@ +--- +title: "Advanced" +--- + +This section covers advanced topics for users who want to extend or deeply customize Quartz. + +- **[[architecture]]** — How Quartz works under the hood: the parse, filter, and emit pipeline +- **[[making plugins]]** — Build your own transformer, filter, emitter, or component plugin +- **[[creating components]]** — Create custom layout components with JSX +- **[[paths]]** — How Quartz resolves and transforms file paths diff --git a/Local/storage/thlab-notes/worker/docs/advanced/making plugins.md b/Local/storage/thlab-notes/worker/docs/advanced/making plugins.md new file mode 100644 index 0000000..9f53a59 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/advanced/making plugins.md @@ -0,0 +1,748 @@ +--- +title: Making your own plugins +--- + +> [!warning] +> This part of the documentation will assume you have working knowledge in TypeScript and will include code snippets that describe the interface of what Quartz plugins should look like. + +Quartz's plugins are a series of transformations over content. This is illustrated in the diagram of the processing pipeline below: + +![[quartz transform pipeline.png]] + +All plugins are defined as a function that takes in a single parameter for options `type OptionType = object | undefined` and return an object that corresponds to the type of plugin it is. + +```ts +type OptionType = object | undefined +type QuartzPlugin = (opts?: Options) => QuartzPluginInstance +type QuartzPluginInstance = + | QuartzTransformerPluginInstance + | QuartzFilterPluginInstance + | QuartzEmitterPluginInstance + | QuartzPageTypePluginInstance +``` + +The following sections will go into detail for what methods can be implemented for each plugin type. Before we do that, let's clarify a few more ambiguous types: + +- `BuildCtx` is defined in `@quartz-community/types`. It consists of + - `argv`: The command line arguments passed to the Quartz [[build]] command + - `cfg`: The full Quartz [[configuration]] + - `allSlugs`: a list of all the valid content slugs (see [[paths]] for more information on what a slug is) +- `StaticResources` is defined in `@quartz-community/types`. It consists of + - `css`: a list of CSS style definitions that should be loaded. A CSS style is described with the `CSSResource` type. It accepts either a source URL or the inline content of the stylesheet. + - `js`: a list of scripts that should be loaded. A script is described with the `JSResource` type. It allows you to define a load time (either before or after the DOM has been loaded), whether it should be a module, and either the source URL or the inline content of the script. + - `additionalHead`: a list of JSX elements or functions that return JSX elements to be added to the `` tag of the page. Functions receive the page's data as an argument and can conditionally render elements. + +## Getting Started + +In v5, plugins are standalone repositories. The easiest way to create one is using the plugin template: + +```shell +# Use the plugin template to create a new repository on GitHub +# Then clone it locally +git clone https://github.com/your-username/my-plugin.git +cd my-plugin +npm install +``` + +The template provides the build configuration (`tsup.config.ts`), TypeScript setup, and correct package structure. + +## Plugin Structure + +The basic file structure of a plugin is as follows: + +``` +my-plugin/ +├── src/ +│ └── index.ts # Plugin entry point +├── tsup.config.ts # Build configuration +├── package.json # Dependencies and exports +└── tsconfig.json # TypeScript configuration +``` + +The plugin's `package.json` should declare dependencies on `@quartz-community/types` (for type definitions) and optionally `@quartz-community/utils` (for shared utilities). + +## Plugin Types + +## Choosing a Plugin Type + +Quartz supports six plugin capabilities. A single plugin can combine multiple types. + +| I want to... | Plugin Type | +| ------------------------------------------------ | ----------- | +| Transform Markdown/HTML content | Transformer | +| Decide which pages to publish | Filter | +| Generate output files (RSS, sitemaps, manifests) | Emitter | +| Define how a category of pages renders | Page Type | +| Add a UI component to the layout | Component | +| Add a custom view to the Bases database system | Bases View | + +These are **not mutually exclusive**. For example: + +- `obsidian-flavored-markdown` is both a **transformer** (processes OFM syntax) and provides **components** (mermaid rendering) +- `canvas-page` is a **page type** that also provides a custom **frame** +- A plugin could be a **transformer** that adds metadata AND a **component** that displays it + +### Transformers + +Transformers **map** over content, taking a Markdown file and outputting modified content or adding metadata to the file itself. + +```ts +export type QuartzTransformerPluginInstance = { + name: string + textTransform?: (ctx: BuildCtx, src: string) => string + markdownPlugins?: (ctx: BuildCtx) => PluggableList + htmlPlugins?: (ctx: BuildCtx) => PluggableList + externalResources?: (ctx: BuildCtx) => Partial +} +``` + +All transformer plugins must define at least a `name` field to register the plugin and a few optional functions that allow you to hook into various parts of transforming a single Markdown file. + +- `textTransform` performs a text-to-text transformation _before_ a file is parsed into the [Markdown AST](https://github.com/syntax-tree/mdast). +- `markdownPlugins` defines a list of [remark plugins](https://github.com/remarkjs/remark/blob/main/doc/plugins.md). `remark` is a tool that transforms Markdown to Markdown in a structured way. +- `htmlPlugins` defines a list of [rehype plugins](https://github.com/rehypejs/rehype/blob/main/doc/plugins.md). Similar to how `remark` works, `rehype` is a tool that transforms HTML to HTML in a structured way. +- `externalResources` defines any external resources the plugin may need to load on the client-side for it to work properly. + +Normally for both `remark` and `rehype`, you can find existing plugins that you can use. If you'd like to create your own `remark` or `rehype` plugin, checkout the [guide to creating a plugin](https://unifiedjs.com/learn/guide/create-a-plugin/) using `unified` (the underlying AST parser and transformer library). + +A good example of a transformer plugin that borrows from the `remark` and `rehype` ecosystems is the [[plugins/Latex|Latex]] plugin: + +```ts +import remarkMath from "remark-math" +import rehypeKatex from "rehype-katex" +import rehypeMathjax from "rehype-mathjax/svg" +import { QuartzTransformerPlugin } from "@quartz-community/types" + +interface Options { + renderEngine: "katex" | "mathjax" +} + +export const Latex: QuartzTransformerPlugin = (opts?: Options) => { + const engine = opts?.renderEngine ?? "katex" + return { + name: "Latex", + markdownPlugins() { + return [remarkMath] + }, + htmlPlugins() { + if (engine === "katex") { + // if you need to pass options into a plugin, you + // can use a tuple of [plugin, options] + return [[rehypeKatex, { output: "html" }]] + } else { + return [rehypeMathjax] + } + }, + externalResources() { + if (engine === "katex") { + return { + css: [ + { + // base css + content: "https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.9/katex.min.css", + }, + ], + js: [ + { + // fix copy behaviour: https://github.com/KaTeX/KaTeX/blob/main/contrib/copy-tex/README.md + src: "https://cdnjs.cloudflare.com/ajax/libs/KaTeX/0.16.9/contrib/copy-tex.min.js", + loadTime: "afterDOMReady", + contentType: "external", + }, + ], + } + } + }, + } +} +``` + +Another common thing that transformer plugins will do is parse a file and add extra data for that file: + +```ts +import { QuartzTransformerPlugin } from "@quartz-community/types" + +export const AddWordCount: QuartzTransformerPlugin = () => { + return { + name: "AddWordCount", + markdownPlugins() { + return [ + () => { + return (tree, file) => { + // tree is an `mdast` root element + // file is a `vfile` + const text = file.value + const words = text.split(" ").length + file.data.wordcount = words + } + }, + ] + }, + } +} + +// tell typescript about our custom data fields we are adding +// other plugins will then also be aware of this data field +declare module "vfile" { + interface DataMap { + wordcount: number + } +} +``` + +Finally, you can also perform transformations over Markdown or HTML ASTs using the `visit` function from the `unist-util-visit` package or the `findAndReplace` function from the `mdast-util-find-and-replace` package. + +```ts +import { visit } from "unist-util-visit" +import { findAndReplace } from "mdast-util-find-and-replace" +import { QuartzTransformerPlugin } from "@quartz-community/types" +import { Link } from "mdast" + +export const TextTransforms: QuartzTransformerPlugin = () => { + return { + name: "TextTransforms", + markdownPlugins() { + return [ + () => { + return (tree, file) => { + // replace _text_ with the italics version + findAndReplace(tree, /_(.+)_/, (_value: string, ...capture: string[]) => { + // inner is the text inside of the () of the regex + const [inner] = capture + // return an mdast node + // https://github.com/syntax-tree/mdast + return { + type: "emphasis", + children: [{ type: "text", value: inner }], + } + }) + + // remove all links (replace with just the link content) + // match by 'type' field on an mdast node + // https://github.com/syntax-tree/mdast#link in this example + visit(tree, "link", (link: Link) => { + return { + type: "paragraph", + children: [{ type: "text", value: link.title }], + } + }) + } + }, + ] + }, + } +} +``` + +A parting word: transformer plugins are quite complex so don't worry if you don't get them right away. Take a look at the built in transformers and see how they operate over content to get a better sense for how to accomplish what you are trying to do. + +### Filters + +Filters **filter** content, taking the output of all the transformers and determining what files to actually keep and what to discard. + +```ts +export type QuartzFilterPlugin = ( + opts?: Options, +) => QuartzFilterPluginInstance + +export type QuartzFilterPluginInstance = { + name: string + shouldPublish(ctx: BuildCtx, content: ProcessedContent): boolean +} +``` + +A filter plugin must define a `name` field and a `shouldPublish` function that takes in a piece of content that has been processed by all the transformers and returns a `true` or `false` depending on whether it should be passed to the emitter plugins or not. + +For example, here is the built-in plugin for removing drafts: + +```ts +import { QuartzFilterPlugin } from "@quartz-community/types" + +export const RemoveDrafts: QuartzFilterPlugin<{}> = () => ({ + name: "RemoveDrafts", + shouldPublish(_ctx, [_tree, vfile]) { + // uses frontmatter parsed from transformers + const draftFlag: boolean = vfile.data?.frontmatter?.draft ?? false + return !draftFlag + }, +}) +``` + +### Emitters + +Emitters **reduce** over content, taking in a list of all the transformed and filtered content and creating output files. + +```ts +export type QuartzEmitterPlugin = ( + opts?: Options, +) => QuartzEmitterPluginInstance + +export type QuartzEmitterPluginInstance = { + name: string + emit( + ctx: BuildCtx, + content: ProcessedContent[], + resources: StaticResources, + ): Promise | AsyncGenerator + partialEmit?( + ctx: BuildCtx, + content: ProcessedContent[], + resources: StaticResources, + changeEvents: ChangeEvent[], + ): Promise | AsyncGenerator | null + getQuartzComponents(ctx: BuildCtx): QuartzComponent[] +} +``` + +An emitter plugin must define a `name` field, an `emit` function, and a `getQuartzComponents` function. It can optionally implement a `partialEmit` function for incremental builds. + +- `emit` is responsible for looking at all the parsed and filtered content and then appropriately creating files and returning a list of paths to files the plugin created. +- `partialEmit` is an optional function that enables incremental builds. It receives information about which files have changed (`changeEvents`) and can selectively rebuild only the necessary files. This is useful for optimizing build times in development mode. If `partialEmit` is undefined, it will default to the `emit` function. +- `getQuartzComponents` declares which Quartz components the emitter uses to construct its pages. + +Creating new files can be done via regular Node [fs module](https://nodejs.org/api/fs.html) (i.e. `fs.cp` or `fs.writeFile`) or via the `write` function in `@quartz-community/utils` if you are creating files that contain text. `write` has the following signature: + +```ts +export type WriteOptions = (data: { + // the build context + ctx: BuildCtx + // the name of the file to emit (not including the file extension) + slug: FullSlug + // the file extension + ext: `.${string}` | "" + // the file content to add + content: string +}) => Promise +``` + +This is a thin wrapper around writing to the appropriate output folder and ensuring that intermediate directories exist. If you choose to use the native Node `fs` APIs, ensure you emit to the `argv.output` folder as well. + +If you are creating an emitter plugin that needs to render components, there are three more things to be aware of: + +- Your component should use `getQuartzComponents` to declare a list of `QuartzComponents` that it uses to construct the page. See the page on [[creating components]] for more information. +- You can use the `renderPage` function defined in `@quartz-community/utils` to render Quartz components into HTML. +- If you need to render an HTML AST to JSX, you can use the `htmlToJsx` function from `@quartz-community/utils`. + +For example, the following is a simplified version of the content page plugin that renders every single page. + +```tsx +import { QuartzEmitterPlugin, FullPageLayout, QuartzComponentProps } from "@quartz-community/types" +import { renderPage, canonicalizeServer, pageResources, write } from "@quartz-community/utils" + +export const ContentPage: QuartzEmitterPlugin = () => { + return { + name: "ContentPage", + getQuartzComponents(ctx) { + const { head, header, beforeBody, pageBody, afterBody, left, right, footer } = ctx.cfg.layout + return [head, ...header, ...beforeBody, pageBody, ...afterBody, ...left, ...right, footer] + }, + async emit(ctx, content, resources): Promise { + const cfg = ctx.cfg.configuration + const fps: FilePath[] = [] + const allFiles = content.map((c) => c[1].data) + for (const [tree, file] of content) { + const slug = canonicalizeServer(file.data.slug!) + const externalResources = pageResources(slug, file.data, resources) + const componentData: QuartzComponentProps = { + fileData: file.data, + externalResources, + cfg, + children: [], + tree, + allFiles, + } + + const content = renderPage(cfg, slug, componentData, {}, externalResources) + const fp = await write({ + ctx, + content, + slug: file.data.slug!, + ext: ".html", + }) + + fps.push(fp) + } + return fps + }, + } +} +``` + +Page types define how a category of pages is rendered. They are the primary way to add support for new file types or virtual pages in Quartz. + +```ts +export interface QuartzPageTypePluginInstance { + name: string + priority?: number + fileExtensions?: string[] + match: PageMatcher + generate?: PageGenerator + layout: string + frame?: string + body: QuartzComponentConstructor +} +``` + +- `name`: A unique identifier for this page type. +- `priority`: Controls matching order when multiple page types could match a slug. Higher priority page types are checked first. Default: `0`. +- `fileExtensions`: Array of file extensions this page type handles (e.g. `[".canvas"]`, `[".base"]`). Content files (`.md`) are handled by the default content page type. +- `match`: A function that determines whether a given slug/file should be rendered by this page type. +- `generate`: An optional function that produces virtual pages (pages not backed by files on disk, such as folder listings or tag indices). +- `layout`: The layout configuration key (e.g. `"content"`, `"folder"`, `"tag"`). This determines which `byPageType` entry in `quartz.config.yaml` provides the layout overrides for this page type. +- `frame`: The [[layout#Page Frames|page frame]] to use for this page type. Controls the overall HTML structure (e.g. `"default"`, `"full-width"`, `"minimal"`, or a custom frame provided by your plugin). If not set, defaults to `"default"`. Can be overridden per-page-type via `layout.byPageType..template` in `quartz.config.yaml`. +- `body`: The Quartz component constructor that renders the page body content. + +### Providing Custom Frames + +Plugins can ship their own [[layout#Page Frames|page frames]] — custom page layouts that control how the HTML structure (sidebars, header, content area, footer) is arranged. This is useful for page types that need fundamentally different layouts (e.g. a fullscreen canvas, a presentation mode, a dashboard). + +To provide a custom frame: + +**1. Create the frame file:** + +```tsx title="src/frames/MyFrame.tsx" +import type { PageFrame, PageFrameProps } from "@quartz-community/types" +import type { ComponentChildren } from "preact" + +export const MyFrame: PageFrame = { + name: "my-frame", + css: ` +.page[data-frame="my-frame"] > #quartz-body { + grid-template-columns: 1fr; + grid-template-areas: "center"; +} +`, + render({ componentData, pageBody: Content, footer: Footer }: PageFrameProps): unknown { + const renderSlot = (C: (props: typeof componentData) => unknown): ComponentChildren => + C(componentData) as ComponentChildren + return ( +
+ {(Content as any)(componentData)} + {(Footer as any)(componentData)} +
+ ) + }, +} +``` + +Key requirements: + +- `name`: A unique string identifier. This is what page types and YAML config reference. +- `render()`: Receives all layout slots (header, sidebars, content, footer) and returns JSX for the inner page structure. +- `css` (optional): Frame-specific CSS. Scope it with `.page[data-frame="my-frame"]` selectors to avoid conflicts. + +**2. Re-export the frame:** + +```ts title="src/frames/index.ts" +export { MyFrame } from "./MyFrame" +``` + +**3. Declare the frame in `package.json`:** + +```json title="package.json" +{ + "exports": { + ".": { + "import": "./dist/index.js", + "types": "./dist/index.d.ts" + }, + "./frames": { + "import": "./dist/frames/index.js", + "types": "./dist/frames/index.d.ts" + } + }, + "quartz": { + "frames": { + "MyFrame": { "exportName": "MyFrame" } + } + } +} +``` + +The `"frames"` field in the `"quartz"` manifest maps export names to frame metadata. The key (e.g. `"MyFrame"`) must match the export name in `src/frames/index.ts`. + +**4. Add the frame entry point to your build config:** + +```ts title="tsup.config.ts" +export default defineConfig({ + entry: ["src/index.ts", "src/frames/index.ts"], + // ... +}) +``` + +**5. Reference the frame in your page type:** + +```ts +export const MyPageType: QuartzPageTypePlugin = () => ({ + name: "MyPageType", + frame: "my-frame", // References the frame by its name property + // ... +}) +``` + +When a user installs your plugin, Quartz automatically loads the frame from the `./frames` export and registers it in the Frame Registry. The frame is then available by name in any page type or YAML config override. + +> [!tip] +> See the [`canvas-page`](https://github.com/quartz-community/canvas-page) plugin for a complete real-world example of a plugin-provided frame. + +### Bases Views + +The `bases-page` plugin provides a database-like view system similar to Obsidian Bases. Other plugins can register custom view types via the `ViewRegistry`: + +```ts +import { viewRegistry } from "@quartz-community/bases-page"; +import type { ViewTypeRegistration } from "@quartz-community/bases-page"; + +viewRegistry.register({ + id: "timeline", + name: "Timeline", + icon: "git-branch", + render: ({ entries, view, slug, allSlugs }) => ( +
+ {entries.map(entry =>
{entry.properties.title}
)} +
+ ), + css: `.bases-timeline { display: flex; flex-direction: column; }`, + afterDOMLoaded: `document.addEventListener("nav", () => { /* setup */ })`, +}); +``` + +Each view registration includes: + +- `id`: Unique identifier (e.g., `"timeline"`, `"kanban"`) +- `name`: Display name shown in the view selector +- `icon`: Optional Lucide icon name +- `render`: Function that receives `ViewRendererProps` and returns Preact JSX +- `css`: Optional CSS string (deduplicated by view ID) +- `afterDOMLoaded`: Optional client-side script (same lifecycle as component scripts) +- `options`: Optional configuration passed to every render invocation + +The `ViewRegistry` is a global singleton (via `Symbol.for`) ensuring all copies of the module share the same registry. + +## Building and Distribution + +Quartz v5 plugins ship pre-built `dist/` in their repositories. When a user installs your plugin, Quartz detects the pre-built output and skips the install/build cycle entirely — making installation near-instant. + +### Build Configuration + +The plugin template's `tsup.config.ts` bundles all dependencies by default. Only **singleton externals** — packages that must be the same instance across all plugins — are left unbundled: + +```ts +const SINGLETON_EXTERNALS = [ + "preact", + "preact/hooks", + "preact/jsx-runtime", + "preact/compat", + "@jackyzha0/quartz", + "@jackyzha0/quartz/*", + "vfile", + "vfile/*", + "unified", +] + +export default defineConfig({ + // ... + noExternal: [/.*/], // Bundle everything + external: SINGLETON_EXTERNALS, // Except singletons +}) +``` + +This means your plugin's `dist/index.js` is self-contained — no `npm install` needed at install time. + +### Shipping Pre-built Output + +Your plugin's `dist/` directory should be committed to the repository: + +1. **Do NOT add `dist/` to `.gitignore`** +2. Run `npm run build` before committing +3. The CI workflow verifies `dist/` is up to date on every push + +If `dist/` is missing or gitignored, Quartz falls back to the full install/build cycle (useful during local development with symlinked plugins). + +### Plugins with Native Dependencies + +Plugins that require native packages (e.g. `sharp` for image processing) cannot bundle those. For these plugins: + +1. Set `"requiresInstall": true` in your `package.json` quartz manifest +2. Declare the native package as a `peerDependency` +3. Quartz will install it into the host project at build time + +```shell +# Build the plugin +npm run build +# or +npx tsup +``` + +## What to Import from Where + +| You need... | Import from | +| ---------------------------------------------------------------------- | ----------------------------------------------------------------- | +| Type definitions (`QuartzTransformerPlugin`, `QuartzComponent`, etc.) | `@quartz-community/types` | +| Path utilities (`simplifySlug`, `resolveRelative`, `pathToRoot`) | `@quartz-community/utils/path` | +| DOM utilities (`removeAllChildren`, `registerEscapeHandler`) | `@quartz-community/utils/dom` | +| JSX conversion (`htmlToJsx`) | `@quartz-community/utils/jsx` | +| Language utilities (`classNames`, `capitalize`) | `@quartz-community/utils/lang` | +| Date/sort utilities (`formatDate`, `getDate`, `byDateAndAlphabetical`) | `@quartz-community/utils/date` and `@quartz-community/utils/sort` | +| HTML escaping (`escapeHTML`, `unescapeHTML`) | `@quartz-community/utils/escape` | +| Emoji utilities (`getIconCode`) | `@quartz-community/utils/emoji` | +| Browser runtime (`onNav`, `onRender`, `fetchContentIndex`) | `@quartz-community/runtime` | + +Do **not** import from `@jackyzha0/quartz` or from `vfile` directly. Use the community packages instead. + +## Internationalization (i18n) + +Plugins should provide their own translations for user-facing strings. Do **not** hardcode strings in components. + +### Setting Up i18n + +Create the following structure: + +``` +src/i18n/ +├── index.ts +└── locales/ + └── en-US.ts +``` + +**`src/i18n/locales/en-US.ts`** (required base locale): + +```ts +export default { + components: { + myPlugin: { + title: "My Plugin", + description: "A description", + itemCount: ({ count }: { count: number }) => (count === 1 ? "1 item" : `${count} items`), + }, + }, +} +``` + +**`src/i18n/index.ts`**: + +```ts +import enUS from "./locales/en-US" + +const locales: Record = { + "en-US": enUS, +} + +export function i18n(locale: string) { + return locales[locale] || enUS +} +``` + +### Using i18n in Components + +```tsx +import { i18n } from "../i18n" + +const MyComponent: QuartzComponent = ({ cfg }) => { + const locale = cfg.locale ?? "en-US" + const t = i18n(locale).components.myPlugin + return

{t.title}

+} +``` + +### Adding Translations + +To add a new locale, copy `en-US.ts`, translate the strings, and register it: + +```ts +// src/i18n/locales/fr-FR.ts +export default { + components: { + myPlugin: { + title: "Mon Plugin", + description: "Une description", + itemCount: ({ count }: { count: number }) => + count === 1 ? "1 élément" : `${count} éléments`, + }, + }, +} +``` + +```ts +// src/i18n/index.ts +import enUS from "./locales/en-US" +import frFR from "./locales/fr-FR" + +const locales: Record = { + "en-US": enUS, + "fr-FR": frFR, +} +``` + +Use [BCP 47](https://en.wikipedia.org/wiki/IETF_language_tag) locale codes (e.g., `en-US`, `de-DE`, `ja-JP`, `zh-CN`). For dynamic content, use function-based translations as shown with `itemCount` above. + +## Installing Your Plugin + +```shell +# In your Quartz project +npx quartz plugin add github:your-username/my-plugin +``` + +This clones the plugin and adds it to both `quartz.config.yaml` and `quartz.lock.json`. If the plugin ships pre-built `dist/` (recommended), installation completes in seconds with no build step. You can then configure it in your config: + +```yaml title="quartz.config.yaml" +plugins: + - source: github:your-username/my-plugin + enabled: true +``` + +For options that require JavaScript callback functions (not expressible in YAML), use the TS override in `quartz.ts`: + +```ts title="quartz.ts (override)" +import * as ExternalPlugin from "./.quartz/plugins" + +// Must be placed before loadQuartzConfig() +ExternalPlugin.MyPlugin({ + customFn: (data) => { + // ... + }, +}) +``` + +Options set via `quartz.ts` are merged with YAML options at instantiation time, with `quartz.ts` overrides taking precedence. These calls must be placed **before** `loadQuartzConfig()` in your `quartz.ts`. + +### Development Workflow + +During plugin development, you'll frequently install and uninstall your plugin to test changes. The following commands help manage this cycle: + +```shell +# Remove your plugin and clean up +npx quartz plugin remove my-plugin + +# Re-add after making changes +npx quartz plugin add github:your-username/my-plugin +``` + +If you've updated your `quartz.config.yaml` to reference a plugin that isn't installed yet, you can install it without manually running `add`: + +```shell +# Install all config-referenced plugins missing from the lockfile +npx quartz plugin install --from-config + +# Preview first without making changes +npx quartz plugin install --from-config --dry-run +``` + +To clean up plugins that are installed but no longer referenced in your config: + +```shell +# Remove orphaned plugins +npx quartz plugin prune + +# Preview first without making changes +npx quartz plugin prune --dry-run +``` + +> [!tip] +> Both `resolve` and `prune` fall back to `quartz.config.default.yaml` if no `quartz.config.yaml` is present. This is useful for CI environments where the default config is the source of truth. See [[cli/plugin#prune|prune]] and [[cli/plugin#resolve|resolve]] for full details. + +## Component Plugins + +For plugins that provide visual components (like Explorer, Graph, Search), see the [[creating components|creating component plugins]] guide. + +Component-only plugins (those with `"category": ["component"]` in their manifest) are loaded via side-effect import rather than a factory function. If your component-only plugin needs to receive user options from `quartz.config.yaml`, export an `init(options)` function — see [[creating components#Receiving YAML Options in Component-Only Plugins|receiving YAML options]] for details. diff --git a/Local/storage/thlab-notes/worker/docs/advanced/paths.md b/Local/storage/thlab-notes/worker/docs/advanced/paths.md new file mode 100644 index 0000000..16f6388 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/advanced/paths.md @@ -0,0 +1,51 @@ +--- +title: Paths in Quartz +--- + +Paths are pretty complex to reason about because, especially for a static site generator, they can come from so many places. + +A full file path to a piece of content? Also a path. What about a slug for a piece of content? Yet another path. + +It would be silly to type these all as `string` and call it a day as it's pretty common to accidentally mistake one type of path for another. Unfortunately, TypeScript does not have [nominal types](https://en.wikipedia.org/wiki/Nominal_type_system) for type aliases meaning even if you made custom types of a server-side slug or a client-slug slug, you can still accidentally assign one to another and TypeScript wouldn't catch it. + +Luckily, we can mimic nominal typing using [brands](https://www.typescriptlang.org/play#example/nominal-typing). + +```typescript +// instead of +type FullSlug = string + +// we do +type FullSlug = string & { __brand: "full" } + +// that way, the following will fail typechecking +const slug: FullSlug = "some random string" +``` + +While this prevents most typing mistakes _within_ our nominal typing system (e.g. mistaking a server slug for a client slug), it doesn't prevent us from _accidentally_ mistaking a string for a client slug when we forcibly cast it. + +Thus, we still need to be careful when casting from a string to one of these nominal types in the 'entrypoints', illustrated with hexagon shapes in the diagram below. + +The following diagram draws the relationships between all the path sources, nominal path types, and what functions in `quartz/path.ts` convert between them. + +```mermaid +graph LR + Browser{{Browser}} --> Window{{Body}} & LinkElement{{Link Element}} + Window --"getFullSlug()"--> FullSlug[Full Slug] + LinkElement --".href"--> Relative[Relative URL] + FullSlug --"simplifySlug()" --> SimpleSlug[Simple Slug] + SimpleSlug --"pathToRoot()"--> Relative + SimpleSlug --"resolveRelative()" --> Relative + MD{{Markdown File}} --> FilePath{{File Path}} & Links[Markdown links] + Links --"transformLink()"--> Relative + FilePath --"slugifyFilePath()"--> FullSlug[Full Slug] + style FullSlug stroke-width:4px +``` + +Here are the main types of slugs with a rough description of each type of path: + +- `FilePath`: a real file path to a file on disk. Cannot be relative and must have a file extension. +- `FullSlug`: cannot be relative and may not have leading or trailing slashes. It can have `index` as it's last segment. Use this wherever possible is it's the most 'general' interpretation of a slug. +- `SimpleSlug`: cannot be relative and shouldn't have `/index` as an ending or a file extension. It _can_ however have a trailing slash to indicate a folder path. +- `RelativeURL`: must start with `.` or `..` to indicate it's a relative URL. Shouldn't have `/index` as an ending or a file extension but can contain a trailing slash. + +To get a clearer picture of how these relate to each other, take a look at the path tests in `quartz/util/path.test.ts`. diff --git a/Local/storage/thlab-notes/worker/docs/cli/build.md b/Local/storage/thlab-notes/worker/docs/cli/build.md new file mode 100644 index 0000000..7cbf7d4 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/cli/build.md @@ -0,0 +1,78 @@ +--- +title: quartz build +aliases: + - build +--- + +The `build` command transforms your Markdown content into a static HTML website. It processes your files through the configured plugins and outputs the final site to a directory of your choice. + +## Flags + +| Flag | Shorthand | Description | Default | +| ----------------- | --------- | --------------------------------------------------------- | ----------------- | +| `--directory` | `-d` | The directory containing your Quartz project | Current directory | +| `--verbose` | `-v` | Enable detailed logging for debugging | `false` | +| `--output` | `-o` | The directory where the built site will be saved | `public` | +| `--serve` | | Start a local development server | `false` | +| `--watch` | | Rebuild the site when files change | `false` | +| `--port` | | The port for the development server | `8080` | +| `--wsPort` | | The port for the WebSocket hot-reload server | `3001` | +| `--baseDir` | | Set a base directory for the site (e.g. for GitHub Pages) | `/` | +| `--remoteDevHost` | | The hostname to use for the development server | `localhost` | +| `--bundleInfo` | | Output a JSON file with bundle size information | `false` | +| `--concurrency` | `-c` | Number of worker threads to use for building | CPU core count | + +## Examples + +### Basic Build + +Generate your site into the `public` folder. + +```shell +npx quartz build +``` + +### Development Mode + +Start a local server and watch for changes. This is the most common way to preview your site while writing. + +```shell +npx quartz build --serve +``` + +### Custom Output and Port + +Build to a specific folder and run the server on a different port. + +```shell +npx quartz build --serve --output dist --port 3000 +``` + +### Performance Tuning + +If you have a very large vault, you can limit the number of concurrent workers to save memory. + +```shell +npx quartz build --concurrency 2 +``` + +## Serve vs Watch + +The `--serve` and `--watch` flags control different behaviors: + +- **`--serve`** starts a local development server AND automatically watches for changes (implies `--watch`). This is the recommended mode for local development. +- **`--watch`** only watches for file changes and rebuilds automatically, without starting a server. This is useful for CI pipelines or custom server setups where you want automatic rebuilds but handle serving separately. + +In most cases, you want `--serve`: + +```shell +npx quartz build --serve +``` + +## Development Server + +The `--serve` flag starts a local web server. This server is intended for development and previewing only. It is not designed for production use. For information on how to deploy your site, see [[hosting]]. + +### Hot Reloading + +When running with `--serve`, Quartz automatically enables `--watch`. It uses a WebSocket connection (on the port specified by `--wsPort`) to notify your browser when a file has changed. The browser will then automatically refresh to show the latest version of your content. diff --git a/Local/storage/thlab-notes/worker/docs/cli/create.md b/Local/storage/thlab-notes/worker/docs/cli/create.md new file mode 100644 index 0000000..227d852 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/cli/create.md @@ -0,0 +1,83 @@ +--- +title: quartz create +--- + +The `create` command initializes a new Quartz project. It helps you set up your content folder, choose a configuration template, set your site's base URL, and configure how Quartz should handle your Markdown files. + +## Flags + +| Flag | Shorthand | Description | +| ------------- | --------- | --------------------------------------------------------------------- | +| `--template` | `-t` | Configuration template (`default`, `obsidian`, `ttrpg`, or `blog`) | +| `--directory` | `-d` | The directory where Quartz will be initialized | +| `--source` | `-s` | The source directory of your Markdown files | +| `--strategy` | `-X` | How to handle the source files (`new`, `copy`, or `symlink`) | +| `--links` | `-l` | How to resolve internal links (`absolute`, `shortest`, or `relative`) | +| `--baseUrl` | `-b` | Base URL for your site (e.g. `mysite.github.io/quartz`) | +| `--verbose` | `-v` | Enable detailed logging | + +## Templates + +When you run `quartz create`, you can choose a configuration template that pre-configures Quartz for your use case. The selected template always overwrites `quartz.config.yaml`, even if one already exists. After applying the template, Quartz automatically runs plugin resolution to install any plugins the template requires and remove any that are no longer referenced. + +- **Default**: A clean Quartz setup with sensible defaults. Best for starting from scratch. +- **Obsidian**: Optimized for Obsidian vaults with full Obsidian Flavored Markdown support (wikilinks, callouts, mermaid diagrams, etc.). Automatically sets link resolution to `shortest` and skips the link resolution prompt. +- **TTRPG**: Builds on the Obsidian template with the addition of the [Leaflet bases plugin](https://github.com/Requiae/quartz-leaflet-bases-plugin) and [ITS Theme](https://github.com/saberzero1/quartz-themes) (`its-theme.ttrpg-dnd`). Great for D&D and TTRPG wikis. Also skips the link resolution prompt. +- **Blog**: A blog-focused setup with [recent notes](https://github.com/quartz-community/recent-notes) enabled (showing the 5 most recent posts with tags) and [comments](https://github.com/quartz-community/comments) enabled via giscus. You'll need to fill in the `TODO:` placeholder values in `quartz.config.yaml` with your own giscus repository details. + +## Base URL + +During setup, Quartz will ask for the base URL of your site. This is the URL where your site will be deployed (e.g. `mysite.github.io/quartz`). + +- Do **not** include the protocol (`https://`) — if you do, it will be automatically stripped. +- Trailing slashes are also removed automatically. +- See [[configuration]] for more details on how `baseUrl` is used. + +## Strategies + +When you run `quartz create`, you must choose a strategy for your content: + +- **new**: Creates a fresh, empty content folder. Use this if you are starting a new project from scratch. +- **copy**: Copies all files from your source directory into the Quartz content folder. This is the safest option for existing vaults as it doesn't touch your original files. +- **symlink**: Creates a symbolic link from the Quartz content folder to your source directory. Any changes you make in your source directory (e.g. in Obsidian) will be immediately reflected in Quartz. + +## Link Resolution + +Quartz needs to know how to interpret the internal links in your Markdown files: + +- **shortest**: Resolves links to the closest matching file name. This is the default for Obsidian. +- **absolute**: Resolves links relative to the root of your content folder. +- **relative**: Resolves links relative to the current file's location. + +> [!note] +> When using the **Obsidian** or **TTRPG** templates, link resolution is automatically set to `shortest` and the prompt is skipped. + +## Interactive Walkthrough + +If you run `npx quartz create` without any arguments, it will guide you through an interactive setup: + +1. **Choose a template**: Select a configuration template (`Default`, `Obsidian`, `TTRPG`, or `Blog`). +2. **Select a strategy**: Choose between `new`, `copy`, or `symlink`. +3. **Enter base URL**: Provide the URL where your site will be hosted. +4. **Select link resolution**: Choose how your links are formatted (skipped for Obsidian and TTRPG templates). +5. **Finish**: Quartz will set up the directory structure, create your configuration, and automatically install any plugins referenced in the template. + +## Example: Importing an Obsidian Vault + +To create a Quartz project that links directly to an existing Obsidian vault: + +```shell +npx quartz create --template obsidian --strategy symlink --source ~/Documents/MyVault +``` + +This command tells Quartz to use the Obsidian template (with full OFM support and shortest link resolution), look at your vault in `~/Documents/MyVault`, and use symbolic links so changes are synced. + +## Example: Setting Up a Blog + +To quickly set up a blog with recent notes and comments: + +```shell +npx quartz create --template blog --strategy new --baseUrl myblog.github.io +``` + +After setup, edit `quartz.config.yaml` to fill in your giscus repository details in the comments plugin section. diff --git a/Local/storage/thlab-notes/worker/docs/cli/index.md b/Local/storage/thlab-notes/worker/docs/cli/index.md new file mode 100644 index 0000000..d02b915 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/cli/index.md @@ -0,0 +1,55 @@ +--- +title: CLI Reference +--- + +The Quartz CLI is the primary way to interact with your Quartz project. It provides commands for creating new projects, building static sites, syncing with GitHub, and managing plugins. + +You can run the CLI using `npx quartz`. + +## Quick Reference + +| Command | Description | Example | +| --------- | ------------------------------------------------------- | ------------------------ | +| `create` | Initialize a new Quartz project with template selection | `npx quartz create` | +| `build` | Generate static HTML files | `npx quartz build` | +| `sync` | Sync content with GitHub | `npx quartz sync` | +| `upgrade` | Upgrade Quartz to the latest version (alias: `update`) | `npx quartz upgrade` | +| `plugin` | Manage Quartz plugins (install, add, remove, etc.) | `npx quartz plugin list` | +| `tui` | Launch the interactive plugin manager | `npx quartz tui` | + +## Commands + +- [[create|create]]: Initialize a new Quartz project with a choice of templates (default, obsidian, ttrpg, blog) and base URL configuration. +- [[build|build]]: Build your Quartz site into static HTML. Includes a development server. +- [[sync|sync]]: Push and pull changes between your local machine and GitHub. +- [[upgrade|upgrade]]: Upgrade the Quartz framework to the latest version. Also available as `npx quartz update`. +- [[restore|restore]]: Recover your content folder from the local cache. +- [[cli/plugin|plugin]]: Install, add, remove, prune, and configure plugins. Use `plugin install` with flags for lockfile/config sync, updates, and checks. +- [[tui|tui]]: Use a terminal interface to manage plugins and layout. + +## Global Flags + +These flags are accepted by every Quartz command: + +| Flag | Shorthand | Description | Default | +| --------------- | --------- | ------------------------------------------------------------------------------------------------------- | -------------- | +| `--directory` | `-d` | The directory containing your Quartz project | `content` | +| `--verbose` | `-v` | Enable detailed logging for debugging | `false` | +| `--concurrency` | `-c` | Max parallel workers for operations that run in parallel (e.g. `build`, `plugin install`, `plugin add`) | CPU core count | + +Commands that don't perform parallel work accept `-c` as a no-op, so it's always safe to pass. See [[build#Performance Tuning|build]] and [[cli/plugin#Installing on low-end hardware|plugin]] for practical examples. + +## Help and Versioning + +To see a full list of available flags for any command, use the `--help` flag. + +```shell +npx quartz --help +npx quartz build --help +``` + +To check which version of Quartz you are currently running, use the `--version` flag. + +```shell +npx quartz --version +``` diff --git a/Local/storage/thlab-notes/worker/docs/cli/plugin.md b/Local/storage/thlab-notes/worker/docs/cli/plugin.md new file mode 100644 index 0000000..ba42893 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/cli/plugin.md @@ -0,0 +1,281 @@ +--- +title: quartz plugin +--- + +The `plugin` command is the heart of the Quartz v5 plugin management system. it allows you to install, configure, and update plugins directly from the command line. + +All plugins are stored in the `.quartz/plugins/` directory, and their versions are tracked in `quartz.lock.json`. + +## Subcommands + +### list + +List all currently installed plugins and their versions. + +```shell +npx quartz plugin list +``` + +### add + +Add a new plugin from a Git repository. + +```shell +npx quartz plugin add github:username/repo +``` + +To install from a specific branch or ref, append `#ref` to the source: + +```shell +npx quartz plugin add github:username/repo#my-branch +npx quartz plugin add git+https://github.com/username/repo.git#my-branch +npx quartz plugin add https://github.com/username/repo.git#my-branch +``` + +You can also add a plugin from a local directory. This is useful for local development or airgapped environments: + +```shell +npx quartz plugin add ./path/to/my-plugin +npx quartz plugin add ../sibling-plugin +npx quartz plugin add /absolute/path/to/plugin +``` + +Local plugins are symlinked into `.quartz/plugins/`, so any changes you make to the source directory are reflected immediately without re-installing. + +When a branch is specified, it is stored in the lockfile. All subsequent commands (`install`, `prune`) will respect that branch automatically. Use `install --latest` to fetch the latest commit from that branch. + +> [!tip] +> `plugin add` also accepts `--concurrency` / `-c` to limit how many remote repositories are cloned and built at the same time. This is the same flag documented under [[#install]] and is useful when adding several plugins at once on low-end hardware. + +### remove + +Remove an installed plugin. + +```shell +npx quartz plugin remove plugin-name +``` + +### install + +Install plugins for your Quartz project. By default, this installs all plugins listed in your `quartz.lock.json` file. + +```shell +npx quartz plugin install +``` + +#### Flags + +- `--from-config`: Synchronize plugins with `quartz.config.yaml` instead of the lockfile. This will install missing plugins and prune orphaned ones. +- `--latest`: Fetch the latest version of plugins from their remote sources instead of using the version in the lockfile. +- `--clean`: Skip existing directories and perform a fresh installation. +- `--dry-run`: Preview the changes without actually installing or removing any files. +- `--concurrency`, `-c`: Maximum number of plugins to clone, fetch, and build in parallel. Defaults to the number of CPU cores. Lower this (e.g. `-c 1` or `-c 2`) on memory- or CPU-constrained machines where the default parallelism causes failures, OOMs, or hangs. See [[#Installing on low-end hardware]] below. + +#### Positional Arguments + +- `[names..]`: Optional list of specific plugin names to install or update. + +```shell +# Update specific plugins to latest +npx quartz plugin install --latest plugin-a plugin-b + +# Preview what would be installed from config +npx quartz plugin install --from-config --dry-run +``` + +### enable / disable + +Toggle a plugin's status in your `quartz.config.yaml` without removing its files. + +```shell +npx quartz plugin enable plugin-name +npx quartz plugin disable plugin-name +``` + +### config + +View or modify the configuration for a specific plugin. + +```shell +# View config +npx quartz plugin config plugin-name + +# Set a value +npx quartz plugin config plugin-name --set key=value +``` + +### prune + +Remove installed plugins that are no longer referenced in your `quartz.config.yaml`. This is useful for cleaning up after removing plugin entries from your configuration. + +> [!note] +> Running `plugin install --from-config` also removes orphaned plugins as part of its synchronization. Use `prune` when you only want to clean up without installing anything new. + +```shell +npx quartz plugin prune +``` + +Use `--dry-run` to preview which plugins would be removed without making changes: + +```shell +npx quartz plugin prune --dry-run +``` + +## Common Workflows + +### Adding and Enabling a Plugin + +To add a new plugin and start using it: + +1. Add the plugin: `npx quartz plugin add github:quartz-community/example` +2. Enable it: `npx quartz plugin enable example` + +### Updating Everything + +To keep your plugins fresh: + +```shell +npx quartz plugin install --latest +``` + +### Installing on low-end hardware + +By default, `plugin install` and `plugin add` clone, fetch, and build plugins in parallel across all your CPU cores. On memory-constrained machines (low-end laptops, Raspberry Pi, small VPS instances, restrictive CI runners) this can exhaust RAM or overwhelm the system because each worker may kick off its own `npm install` / `npm run build` at the same time. + +> [!note] +> Most community plugins now ship with a pre-built `dist/` directory. When Quartz finds this, it skips the installation and build steps entirely, making the process much faster and lighter on resources. This section is primarily relevant for plugins in development or those that don't provide pre-built distribution. + +If `plugin install` fails, hangs, or OOMs on your machine, lower the concurrency with `--concurrency` / `-c`: + +```shell +# Install one plugin at a time (safest, slowest) +npx quartz plugin install --latest -c 1 + +# Two at a time — usually a good balance on 4 GB machines +npx quartz plugin install --latest --concurrency 2 +``` + +The same flag works on `plugin add` and the other plugin subcommands that perform parallel work: + +```shell +npx quartz plugin add github:quartz-community/some-plugin -c 1 +``` + +### Managing Configuration + +If you want to change a plugin setting without opening the YAML file: + +```shell +npx quartz plugin config explorer --set useSavedState=true +``` + +### Cleaning Up Unused Plugins + +If you've removed plugins from your config and want to clean up leftover files: + +```shell +npx quartz plugin prune --dry-run # preview first +npx quartz plugin prune # remove orphaned plugins +``` + +### Setting Up from Config + +When setting up on a new machine or in CI, `install --from-config` ensures your installed plugins match your config — installing missing plugins and removing any that are no longer referenced: + +```shell +npx quartz plugin install --from-config +``` + +### Testing with Branches + +If a plugin author has a fix or feature on a separate branch, you can install it directly without waiting for a release to the default branch: + +```shell +# Install from a feature branch +npx quartz plugin add github:username/repo#fix/some-bug + +# Later, switch back to the default branch by re-adding without a ref +npx quartz plugin remove repo +npx quartz plugin add github:username/repo +``` + +The branch ref is tracked in `quartz.lock.json`, so `install --latest` will continue to follow the specified branch until the plugin is re-added without one. + +Both `prune` and `install --from-config` will fall back to `quartz.config.default.yaml` if no `quartz.config.yaml` is present. + +### Local Plugin Development + +For local plugin development or airgapped environments, you can add a plugin from a local directory: + +```shell +npx quartz plugin add ./my-local-plugin +``` + +Local plugins are symlinked into `.quartz/plugins/`, so changes reflect immediately. When you run `install --latest`, local plugins are rebuilt (npm install + npm run build) without any git operations. + +> [!note] +> Local symlinked plugins typically use this build-on-install fallback because the `dist/` directory is usually gitignored during development. + +The `install --latest --dry-run` command will show local plugins with a "local" status instead of checking for remote updates. + +To switch a local plugin back to a git source: + +```shell +npx quartz plugin remove my-local-plugin +npx quartz plugin add github:username/my-local-plugin +``` + +### Subdirectory (Monorepo) Plugins + +Some plugins live in a subdirectory of a larger repository rather than at the root. For these, you can specify the plugin source as an object in `quartz.config.yaml` with a `subdir` field: + +```yaml title="quartz.config.yaml" +plugins: + - source: + repo: "https://github.com/username/monorepo.git" + subdir: plugin + enabled: true +``` + +This tells Quartz to clone the full repository but install only the contents of the specified subdirectory. + +You can combine `subdir` with `ref` to pin a branch or tag, and `name` to override the plugin directory name: + +```yaml title="quartz.config.yaml" +plugins: + - source: + repo: "https://github.com/username/monorepo.git" + subdir: packages/my-plugin + ref: v2.0 + name: my-plugin + enabled: true +``` + +See [[configuration#Advanced Source Options|Advanced Source Options]] for the full reference on object source fields. + +> [!note] +> The `plugin add` CLI command works with string sources. To use the object source format with `subdir`, edit `quartz.config.yaml` directly, then run `npx quartz plugin install --from-config` to install it. + +## Migration from Deprecated Commands + +| Old command | New equivalent | +| ------------------------------------- | --------------------------------------------------- | +| `npx quartz plugin restore` | `npx quartz plugin install --clean` | +| `npx quartz plugin update` | `npx quartz plugin install --latest` | +| `npx quartz plugin update my-plugin` | `npx quartz plugin install --latest my-plugin` | +| `npx quartz plugin check` | `npx quartz plugin install --latest --dry-run` | +| `npx quartz plugin resolve` | `npx quartz plugin install --from-config` | +| `npx quartz plugin resolve --dry-run` | `npx quartz plugin install --from-config --dry-run` | +| `npx quartz update` | `npx quartz plugin install --latest` | + +The old commands still work as hidden aliases but will print a deprecation warning. + +## Plugin Status + +Running the plugin command without any subcommand shows a status dashboard of all installed plugins, including whether updates are available: + +```shell +npx quartz plugin +``` + +This displays each plugin with its source, commit, enabled/disabled status, and checks for available updates in parallel. For the full interactive management interface, use [[tui|npx quartz tui]] instead. diff --git a/Local/storage/thlab-notes/worker/docs/cli/restore.md b/Local/storage/thlab-notes/worker/docs/cli/restore.md new file mode 100644 index 0000000..ca07d77 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/cli/restore.md @@ -0,0 +1,31 @@ +--- +title: quartz restore +--- + +The `restore` command is a safety mechanism that allows you to recover your **content folder** from a local cache. This command only affects your Markdown files and does not restore plugins or configuration. + +To restore plugins to a specific state, use [[cli/plugin|npx quartz plugin install]]. + +## When to Use + +You should use `restore` if: + +- A `quartz upgrade` failed and corrupted your content. +- You accidentally deleted files in your content folder. +- You encountered complex merge conflicts that you want to undo. + +## How it Works + +Quartz maintains a hidden cache of your content folder. Every time you run certain commands, Quartz ensures that a backup of your Markdown files exists. The `restore` command simply copies these files back into your main content directory. + +```shell +npx quartz restore +``` + +## Example Workflow + +If an update fails and leaves your project in a broken state: + +1. **Restore**: Run `npx quartz restore` to bring back your content. +2. **Clean**: Use Git to reset any other broken code files. +3. **Retry**: Attempt the update again or manually apply the changes you need. diff --git a/Local/storage/thlab-notes/worker/docs/cli/sync.md b/Local/storage/thlab-notes/worker/docs/cli/sync.md new file mode 100644 index 0000000..2d27bdb --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/cli/sync.md @@ -0,0 +1,74 @@ +--- +title: quartz sync +--- + +The `sync` command automates the process of pushing your local changes to GitHub and pulling updates from your remote repository. It simplifies the Git workflow for users who want to keep their site updated without running manual Git commands. + +## Flags + +| Flag | Shorthand | Description | Default | +| ------------- | --------- | ------------------------------------ | ----------------- | +| `--directory` | `-d` | The directory of your Quartz project | Current directory | +| `--verbose` | `-v` | Enable detailed logging | `false` | +| `--commit` | | Whether to commit changes | `true` | +| `--no-commit` | | Skip committing changes | `false` | +| `--message` | `-m` | Custom commit message | `update content` | +| `--push` | | Whether to push changes to remote | `true` | +| `--no-push` | | Skip pushing changes | `false` | +| `--pull` | | Whether to pull changes from remote | `true` | +| `--no-pull` | | Skip pulling changes | `false` | + +## Workflow + +When you run `npx quartz sync`, Quartz performs the following steps: + +1. **Pull**: It fetches and merges changes from your remote GitHub repository. +2. **Add**: It stages all new and modified files in your project. +3. **Commit**: It creates a new commit with your changes. +4. **Push**: It sends your new commit to GitHub. + +## Common Workflows + +### Regular Sync + +The most common usage is to simply run the command with no flags. This pulls, commits, and pushes everything. + +```shell +npx quartz sync +``` + +### First Sync + +If you have just set up a new repository and haven't pushed anything yet, you might want to skip the pull step. + +```shell +npx quartz sync --no-pull +``` + +### Custom Commit Message + +You can provide a more descriptive message for your changes. + +```shell +npx quartz sync --message "add new notes about gardening" +``` + +### Sync from Another Device + +If you are working on a different computer and just want to get the latest changes without pushing anything back yet. + +```shell +npx quartz sync --no-push --no-commit +``` + +## Troubleshooting + +### Git Buffer + +If you have a very large number of changes, Git might occasionally fail due to buffer limits. If this happens, try syncing smaller batches of files or increasing your Git post buffer size. + +### Autostash + +Quartz uses `git pull --rebase --autostash` internally. This means if you have unstaged changes when you run `sync`, Quartz will temporarily hide them, pull the remote changes, and then bring your changes back. If a conflict occurs during this process, you will need to resolve it manually using standard Git tools. + +For more information on initial setup, see [[installation]]. diff --git a/Local/storage/thlab-notes/worker/docs/cli/tui.md b/Local/storage/thlab-notes/worker/docs/cli/tui.md new file mode 100644 index 0000000..9b9aa9f --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/cli/tui.md @@ -0,0 +1,64 @@ +--- +title: quartz tui +--- + +The `tui` command launches an interactive terminal user interface for managing your Quartz project. It provides a visual way to manage plugins, arrange your site layout, and edit general settings. + +## Prerequisites + +To use the TUI, you must have the following: + +1. **Bun**: The TUI requires the Bun runtime. You can find installation instructions at [bun.sh](https://bun.sh/docs/installation). +2. **TUI Plugin**: You must install the TUI plugin in your Quartz project. + +### Installation + +Run the following command to add the TUI plugin: + +```shell +npx quartz plugin add github:quartz-community/tui +``` + +## Interface Panels + +The TUI is divided into three main panels that you can navigate between. + +### Plugins Panel + +This panel allows you to browse all available and installed plugins. You can: + +- Enable or disable plugins with a single keystroke. +- Configure plugin-specific settings. +- Install new plugins from the community or remove existing ones. + +### Layout Panel + +The Layout panel is where you define where components appear on your site. You can: + +- Move components between different sections (e.g. `left`, `right`, `beforeBody`). +- Reorder components within a section to change their vertical stack. +- Set priorities for components to control their placement. + +### Settings Panel + +This panel provides a central place to edit your `quartz.config.yaml` settings. You can update: + +- `pageTitle` +- Theme colors and fonts +- Analytics configuration +- Deployment settings + +## Navigation + +The TUI uses standard terminal navigation keys: + +- **Arrow Keys**: Move between items and panels. +- **Enter**: Select an item or confirm a change. +- **Esc**: Go back or cancel an action. +- **Tab**: Cycle through different interface elements. + +## Important Note + +All changes made within the TUI are written directly to your `quartz.config.yaml` file. It is a good practice to have a clean Git state before using the TUI so you can easily review and undo any changes it makes. + +For command-line based plugin management, see [[cli/plugin|quartz plugin]]. diff --git a/Local/storage/thlab-notes/worker/docs/cli/upgrade.md b/Local/storage/thlab-notes/worker/docs/cli/upgrade.md new file mode 100644 index 0000000..8952a6d --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/cli/upgrade.md @@ -0,0 +1,48 @@ +--- +title: quartz upgrade +--- + +The `upgrade` command upgrades the Quartz framework itself to the latest version by pulling changes from the official Quartz repository. + +## Usage + +```shell +npx quartz upgrade +``` + +## How it Works + +When you run `npx quartz upgrade`, Quartz performs the following steps: + +1. **Backs up your content** — your content folder is cached locally to prevent data loss. +2. **Pulls the latest Quartz code** — fetches and merges from the official upstream repository (`upstream/v5`) using Git. +3. **Shows version changes** — displays the version transition (e.g., `v5.0.0 → v5.1.0`) or confirms you're already up to date. +4. **Updates dependencies** — runs `npm install` to ensure all packages match the new version. +5. **Restores plugins** — reinstalls plugins from `quartz.lock.json` to ensure compatibility. +6. **Checks plugin compatibility** — verifies that installed plugins are compatible with the new Quartz version. + +## Handling Conflicts + +Because Quartz allows you to customize almost every part of the code, upgrades can sometimes result in merge conflicts. This happens if you have modified a file that the Quartz team has also updated. + +Quartz automatically handles merge conflicts in `quartz.lock.json` by backing up your lockfile before pulling and restoring it afterward. This prevents the most common source of conflicts during upgrades. + +For other files, if a conflict occurs: + +1. Git will mark the conflicting sections in the affected files. +2. You will need to open these files and manually choose which changes to keep. +3. After resolving the conflicts, you can commit the changes. + +## Recovery + +If an upgrade goes wrong or leaves your project in an unusable state, you can use the [[restore|restore]] command to recover your content from the local cache. + +## Flags + +The `upgrade` command supports the standard [[cli/index|common flags]] (`--directory`, `--verbose`). + +## See Also + +- [[cli/plugin|quartz plugin install --latest]] — update installed plugins +- [[upgrading|Upgrading Quartz]] — detailed upgrading guide +- [[restore|quartz restore]] — recover content from cache diff --git a/Local/storage/thlab-notes/worker/docs/community.md b/Local/storage/thlab-notes/worker/docs/community.md new file mode 100644 index 0000000..c14a1c7 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/community.md @@ -0,0 +1,60 @@ +--- +title: Community +--- + +Quartz has a vibrant community of users and contributors. This page highlights community-created plugins, tools, and resources that extend Quartz. + +> [!tip] Contributing +> Know of a great community resource? Submit a pull request to add it to this page! + +## Community Plugins + +Third-party plugins that extend Quartz functionality. Install them with the [[cli/plugin|plugin CLI]]: + +```bash +npx quartz plugin add +``` + + + + +_No community plugins listed yet. Be the first to share yours!_ + +## Tools & Integrations + +Tools, scripts, and integrations built by the community to work with Quartz. + + + + +_No community tools listed yet._ + +## Templates & Themes + +Custom themes, CSS snippets, and starter templates for Quartz sites. + + + + +_No community templates listed yet._ + +## Guides & Tutorials + +Community-written guides, blog posts, and tutorials about using Quartz. + + + + +_No community guides listed yet._ + +## Related Projects + +Projects and tools in the digital garden / PKM ecosystem that pair well with Quartz. + +- **[Obsidian](https://obsidian.md/)** — Knowledge base and note-taking app (recommended editor for Quartz content) + +--- + +Looking to see sites built with Quartz? Check out the [[showcase|Quartz Showcase]]. + +Want to chat with other Quartz users? [Join the Discord community](https://discord.gg/cRFFHYye7t). diff --git a/Local/storage/thlab-notes/worker/docs/configuration.md b/Local/storage/thlab-notes/worker/docs/configuration.md new file mode 100644 index 0000000..3563a08 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/configuration.md @@ -0,0 +1,303 @@ +--- +title: Configuration +--- + +Quartz is meant to be extremely configurable, even if you don't know any coding. Most of the configuration you should need can be done by just editing `quartz.config.yaml`. + +> [!tip] +> If you edit `quartz.config.yaml` using a text-editor with YAML language support like VSCode, it will warn you when you've made an error in your configuration, helping you avoid configuration mistakes! + +The configuration of Quartz can be broken down into two main parts: + +```yaml title="quartz.config.yaml" +configuration: + pageTitle: "My Site" + # ... general configuration +plugins: + - source: github:quartz-community/some-plugin + enabled: true + # ... plugin entries +``` + +## General Configuration + +This part of the configuration concerns anything that can affect the whole site. The following is a list breaking down all the things you can configure: + +- `pageTitle`: title of the site. This is also used when generating the [[RSS Feed]] for your site. +- `pageTitleSuffix`: a string added to the end of the page title. This only applies to the browser tab title, not the title shown at the top of the page. +- `enableSPA`: whether to enable [[SPA Routing]] on your site. +- `enablePopovers`: whether to enable [[popover previews]] on your site. +- `analytics`: what to use for analytics on your site. Values can be + - `null`: don't use analytics; + - `{ provider: 'google', tagId: '' }`: use Google Analytics; + - `{ provider: 'plausible' }` (managed) or `{ provider: 'plausible', host: 'https://' }` (self-hosted, make sure to include the `https://` protocol prefix): use [Plausible](https://plausible.io/); + - `{ provider: 'umami', host: '', websiteId: '' }`: use [Umami](https://umami.is/); + - `{ provider: 'goatcounter', websiteId: 'my-goatcounter-id' }` (managed) or `{ provider: 'goatcounter', websiteId: 'my-goatcounter-id', host: 'my-goatcounter-domain.com', scriptSrc: 'https://my-url.to/counter.js' }` (self-hosted) use [GoatCounter](https://goatcounter.com); + - `{ provider: 'posthog', apiKey: '', host: '' }`: use [Posthog](https://posthog.com/); + - `{ provider: 'tinylytics', siteId: '' }`: use [Tinylytics](https://tinylytics.app/); + - `{ provider: 'cabin' }` or `{ provider: 'cabin', host: 'https://cabin.example.com' }` (custom domain): use [Cabin](https://withcabin.com); + - `{provider: 'clarity', projectId: ') patterns that Quartz should ignore and not search through when looking for files inside the `content` folder. See [[private pages]] for more details. +- `theme`: configure how the site looks. + - `fontOrigin`: where to load fonts from. + - `"googleFonts"` (default): loads fonts from Google Fonts API. Fastest option, especially with CDN caching enabled. + - `"local"`: downloads fonts and serves them from your site. Fully self-contained with no external requests. + - `cdnCaching`: if `true` (default), use Google CDN to cache the fonts. This will generally be faster. Disable (`false`) this if you want Quartz to download the fonts to be self-contained. + - `typography`: what fonts to use. Any font available on [Google Fonts](https://fonts.google.com/) works here. + - `title`: font for the title of the site (optional, same as `header` by default) + - `header`: font to use for headers + - `code`: font for inline and block quotes + - `body`: font for everything + - `colors`: controls the theming of the site. + - `light`: page background + - `lightgray`: borders + - `gray`: graph links, heavier borders + - `darkgray`: body text + - `dark`: header text and icons + - `secondary`: link colour, current [[graph view|graph]] node + - `tertiary`: hover states and visited [[graph view|graph]] nodes + - `highlight`: internal link background, highlighted text, [[syntax highlighting|highlighted lines of code]] + - `textHighlight`: markdown highlighted text background + +## Plugins + +You can think of Quartz plugins as a series of transformations over content. + +![[quartz transform pipeline.png]] + +```yaml title="quartz.config.yaml" +plugins: + - source: github:quartz-community/created-modified-date + enabled: true + order: 10 # controls execution order + - source: github:quartz-community/syntax-highlighting + enabled: true + order: 20 + # ... more plugins +``` + +Plugins are categorized by their type (transformer, filter, emitter, pageType) based on their manifest. The `order` field controls execution order within each category. + +> [!note] +> For advanced TS override of plugin configuration, you can modify `quartz.ts`: +> +> ```ts title="quartz.ts" +> import { loadQuartzConfig, loadQuartzLayout } from "./quartz/plugins/loader/config-loader" +> +> const config = await loadQuartzConfig({ +> // override any configuration field here +> }) +> export default config +> export const layout = await loadQuartzLayout() +> ``` + +- [[tags/plugin/transformer|Transformers]] **map** over content (e.g. parsing frontmatter, generating a description) +- [[tags/plugin/filter|Filters]] **filter** content (e.g. filtering out drafts) +- [[tags/plugin/emitter|Emitters]] **reduce** over content (e.g. creating an RSS feed or pages that list all files with a specific tag) +- **Page Types** define how different types of pages are rendered (content pages, folder listings, tag listings). Each page type can use a different [[layout#Page Frames|page frame]] to control its overall HTML structure. + +The `layout.byPageType` section in `quartz.config.yaml` can also set a `template` field to override the page frame for a specific page type: + +```yaml title="quartz.config.yaml" +layout: + byPageType: + canvas: + template: minimal # Override the page frame for canvas pages +``` + +See [[layout#Page Frames]] for details on available frames and how frame resolution works. + +### Internal vs External Plugins + +Quartz distinguishes between internal plugins that are bundled with Quartz and community plugins that are installed separately. + +In `quartz.config.yaml`, community plugins are referenced by their GitHub source: + +```yaml title="quartz.config.yaml" +plugins: + - source: github:quartz-community/explorer + enabled: true + - source: github:quartz-community/syntax-highlighting + enabled: true + options: + theme: + light: github-light + dark: github-dark +``` + +Internal plugins (like `FrontMatter`) are bundled with Quartz. Community plugins are installed separately and referenced by their `github:org/repo` source. + +### Community Plugins + +To install a community plugin, you can use the following command: + +```shell +npx quartz plugin add github:quartz-community/explorer +``` + +This adds the plugin to `quartz.config.yaml` and installs it to `.quartz/plugins/`. + +To install all plugins referenced in your config that aren't yet installed (useful when cloning a project or setting up CI): + +```shell +npx quartz plugin install --from-config +``` + +To remove installed plugins that are no longer in your config: + +```shell +npx quartz plugin prune +``` + +Both commands support `--dry-run` to preview changes. See [[cli/plugin|the plugin CLI reference]] for full details. + +### Advanced Source Options + +The `source` field for a plugin can be either a simple string or an object with additional options. The string form is the most common: + +```yaml title="quartz.config.yaml" +plugins: + - source: github:quartz-community/explorer + enabled: true +``` + +For plugins that live in a subdirectory of a repository (monorepo-style), or when you need to pin to a specific branch or tag, use the object form: + +```yaml title="quartz.config.yaml" +plugins: + - source: + repo: "https://github.com/user/repo.git" + subdir: plugin + ref: main + name: my-plugin + enabled: true +``` + +The object form supports the following fields: + +| Field | Required | Description | +| -------- | :------: | --------------------------------------------------------------------------------------------------------- | +| `repo` | ✅ | Git repository URL (e.g. `https://github.com/user/repo.git`). | +| `subdir` | ❌ | Subdirectory within the repository that contains the plugin. Used for monorepo-style plugin repositories. | +| `ref` | ❌ | Git ref (branch or tag) to pin to. Equivalent to the `#ref` suffix on string sources. | +| `name` | ❌ | Override the directory name used in `.quartz/plugins/`. Defaults to the repository name. | + +> [!example] Real-world example +> The [quartz-themes](https://github.com/saberzero1/quartz-themes) plugin lives in the `plugin/` subdirectory of its repository. To install it: +> +> ```yaml title="quartz.config.yaml" +> plugins: +> - source: +> name: quartz-themes +> repo: "https://github.com/saberzero1/quartz-themes.git" +> subdir: plugin +> enabled: true +> options: +> theme: "tokyo-night" +> mode: both +> ``` + +> [!tip] +> The string form `github:user/repo#branch` and the object form `{ repo, ref }` are equivalent ways to specify a branch. Use the object form when you also need `subdir` or `name`, or when you prefer a more readable configuration. + +### Usage + +You can customize the behaviour of Quartz by adding, removing and reordering plugins in `quartz.config.yaml`. Each plugin entry specifies its source, whether it's enabled, execution order, and any options: + +```yaml title="quartz.config.yaml" +plugins: + - source: github:quartz-community/note-properties + enabled: true + options: + includeAll: false + includedProperties: + - description + - tags + - aliases + order: 5 + - source: github:quartz-community/created-modified-date + enabled: true + options: + priority: + - frontmatter + - git + - filesystem + order: 10 + - source: github:quartz-community/latex + enabled: true + options: + renderEngine: katex + order: 80 +``` + +> [!note] +> Some plugin options require JavaScript callback functions (e.g. custom sort, filter, or map functions) that can't be expressed in YAML. For these, use the TS override in `quartz.ts`: +> +> ```ts title="quartz.ts" +> import { loadQuartzConfig, loadQuartzLayout } from "./quartz/plugins/loader/config-loader" +> import * as ExternalPlugin from "./.quartz/plugins" +> +> ExternalPlugin.Explorer({ +> mapFn: (node) => { +> node.displayName = node.displayName.toUpperCase() +> return node +> }, +> }) +> +> const config = await loadQuartzConfig() +> export default config +> export const layout = await loadQuartzLayout() +> ``` +> +> Options set in `quartz.ts` are merged with YAML options and take precedence. Plugin overrides must be placed **before** `loadQuartzConfig()` so they are applied when components are instantiated during config loading. See the plugin-specific documentation for available callback options. + +You can see a list of all plugins and their configuration options [[tags/plugin|here]]. + +If you'd like to make your own plugins, see the [[making plugins|making custom plugins]] guide. + +## Fonts + +Fonts can be specified as a simple string or with advanced options in `quartz.config.yaml`: + +```yaml title="quartz.config.yaml" +configuration: + theme: + typography: + title: Schibsted Grotesk # optional, defaults to header font + header: Schibsted Grotesk + body: Source Sans Pro + code: IBM Plex Mono +``` + +For more control over font weights and italics, use the TS override in `quartz.ts`: + +```ts title="quartz.ts" +import { loadQuartzConfig, loadQuartzLayout } from "./quartz/plugins/loader/config-loader" + +const config = await loadQuartzConfig({ + theme: { + typography: { + header: { + name: "Schibsted Grotesk", + weights: [400, 700], + includeItalic: true, + }, + body: "Source Sans Pro", + code: "IBM Plex Mono", + }, + }, +}) +export default config +export const layout = await loadQuartzLayout() +``` + +> [!tip] +> For per-heading font control, self-hosted fonts, or Obsidian theme font bridging, see the [[plugins/Fonts|Fonts]] plugin. It can download Google Fonts at build time and serve them locally with `fontOrigin: selfHosted`, making your site fully self-contained. diff --git a/Local/storage/thlab-notes/worker/docs/features/Bases.md b/Local/storage/thlab-notes/worker/docs/features/Bases.md new file mode 100644 index 0000000..4df918b --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/features/Bases.md @@ -0,0 +1,21 @@ +--- +title: Bases Support +tags: + - component +--- + +Quartz supports rendering [Obsidian Bases](https://obsidian.md/changelog/2025-04-15-desktop-v1.8.0/) (`.base` files) as interactive database-like views. Bases files define queries over your vault's notes and display the results in configurable views such as tables, lists, cards, galleries, and boards. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +Bases support is provided by the [[BasesPage]] plugin. See the plugin page for configuration options, built-in views, the expression engine, and how to extend with custom views. + +## Demo + +![[Base.base]] + +## Customization + +- Install: `npx quartz plugin add github:quartz-community/bases-page` +- Source: [`quartz-community/bases-page`](https://github.com/quartz-community/bases-page) diff --git a/Local/storage/thlab-notes/worker/docs/features/Canvas.md b/Local/storage/thlab-notes/worker/docs/features/Canvas.md new file mode 100644 index 0000000..f1bda22 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/features/Canvas.md @@ -0,0 +1,21 @@ +--- +title: Canvas Support +tags: + - component +--- + +Quartz supports rendering [JSON Canvas](https://jsoncanvas.org) (`.canvas`) files as interactive, pannable and zoomable canvas pages. This brings your Obsidian canvas files to the web, preserving text nodes, file references, link nodes, group nodes, and edges with full visual fidelity. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +Canvas support is provided by the [[CanvasPage]] plugin. See the plugin page for configuration options and a full list of supported features. + +## Demo + +![[Canvas.canvas]] + +## Customization + +- Install: `npx quartz plugin add github:quartz-community/canvas-page` +- Source: [`quartz-community/canvas-page`](https://github.com/quartz-community/canvas-page) diff --git a/Local/storage/thlab-notes/worker/docs/features/Citations.md b/Local/storage/thlab-notes/worker/docs/features/Citations.md new file mode 100644 index 0000000..741590b --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/features/Citations.md @@ -0,0 +1,31 @@ +--- +title: Citations +tags: + - feature/transformer +--- + +Quartz uses [rehype-citation](https://github.com/timlrx/rehype-citation) to support parsing of a BibTex bibliography file. + +Under the default configuration, a citation key `[@templeton2024scaling]` will be exported as `(Templeton et al., 2024)`. + +> [!example]- BibTex file +> +> ```bib title="bibliography.bib" +> @article{templeton2024scaling, +> title={Scaling Monosemanticity: Extracting Interpretable Features from Claude 3 Sonnet}, +> author={Templeton, Adly and Conerly, Tom and Marcus, Jonathan and Lindsey, Jack and Bricken, Trenton and Chen, Brian and Pearce, Adam and Citro, Craig and Ameisen, Emmanuel and Jones, Andy and Cunningham, Hoagy and Turner, Nicholas L and McDougall, Callum and MacDiarmid, Monte and Freeman, C. Daniel and Sumers, Theodore R. and Rees, Edward and Batson, Joshua and Jermyn, Adam and Carter, Shan and Olah, Chris and Henighan, Tom}, +> year={2024}, +> journal={Transformer Circuits Thread}, +> url={https://transformer-circuits.pub/2024/scaling-monosemanticity/index.html} +> } +> ``` + +> [!note] Behaviour of references +> +> By default, the references will be included at the end of the file. To control where the references to be included, uses `[^ref]` +> +> Refer to `rehype-citation` docs for more information. + +## Customization + +Citation parsing is a functionality of the [[plugins/Citations|Citation]] plugin. **This plugin is not enabled by default**. See the plugin page for customization options. diff --git a/Local/storage/thlab-notes/worker/docs/features/Docker Support.md b/Local/storage/thlab-notes/worker/docs/features/Docker Support.md new file mode 100644 index 0000000..e64566f --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/features/Docker Support.md @@ -0,0 +1,17 @@ +--- +title: "Docker Support" +tags: + - feature +--- + +Quartz comes shipped with a Docker image that will allow you to preview your Quartz locally without installing Node. + +You can run the below one-liner to run Quartz in Docker. + +```sh +docker run --rm -itp 8080:8080 -p 3001:3001 -v ./content:/usr/src/app/content $(docker build -q .) +``` + +> [!warning] Not to be used for production +> Serve mode is intended for local previews only. +> For production workloads, see the page on [[hosting]]. diff --git a/Local/storage/thlab-notes/worker/docs/features/Latex.md b/Local/storage/thlab-notes/worker/docs/features/Latex.md new file mode 100644 index 0000000..65bf70b --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/features/Latex.md @@ -0,0 +1,81 @@ +--- +title: LaTeX +tags: + - feature/transformer +--- + +Quartz uses [Katex](https://katex.org/) by default to typeset both inline and block math expressions at build time. + +## Syntax + +### Block Math + +Block math can be rendered by delimiting math expression with `$$`. + +``` +$$ +f(x) = \int_{-\infty}^\infty + f\hat(\xi),e^{2 \pi i \xi x} + \,d\xi +$$ +``` + +$$ +f(x) = \int_{-\infty}^\infty + f\hat(\xi),e^{2 \pi i \xi x} + \,d\xi +$$ + +$$ +\begin{aligned} +a &= b + c \\ &= e + f \\ +\end{aligned} +$$ + +$$ +\begin{bmatrix} +1 & 2 & 3 \\ +a & b & c +\end{bmatrix} +$$ + +$$ +\begin{array}{rll} +E \psi &= H\psi & \text{Expanding the Hamiltonian Operator} \\ +&= -\frac{\hbar^2}{2m}\frac{\partial^2}{\partial x^2} \psi + \frac{1}{2}m\omega x^2 \psi & \text{Using the ansatz $\psi(x) = e^{-kx^2}f(x)$, hoping to cancel the $x^2$ term} \\ +&= -\frac{\hbar^2}{2m} [4k^2x^2f(x)+2(-2kx)f'(x) + f''(x)]e^{-kx^2} + \frac{1}{2}m\omega x^2 f(x)e^{-kx^2} &\text{Removing the $e^{-kx^2}$ term from both sides} \\ +& \Downarrow \\ +Ef(x) &= -\frac{\hbar^2}{2m} [4k^2x^2f(x)-4kxf'(x) + f''(x)] + \frac{1}{2}m\omega x^2 f(x) & \text{Choosing $k=\frac{im}{2}\sqrt{\frac{\omega}{\hbar}}$ to cancel the $x^2$ term, via $-\frac{\hbar^2}{2m}4k^2=\frac{1}{2}m \omega$} \\ +&= -\frac{\hbar^2}{2m} [-4kxf'(x) + f''(x)] \\ +\end{array} +$$ + +> [!warn] +> Due to limitations in the [underlying parsing library](https://github.com/remarkjs/remark-math), block math in Quartz requires the `$$` delimiters to be on newlines like above. + +### Inline Math + +Similarly, inline math can be rendered by delimiting math expression with a single `$`. For example, `$e^{i\pi} = -1$` produces $e^{i\pi} = -1$ + +### Escaping symbols + +There will be cases where you may have more than one `$` in a paragraph at once which may accidentally trigger MathJax/Katex. + +To get around this, you can escape the dollar sign by doing `\$` instead. + +For example: + +- Incorrect: `I have $1 and you have $2` produces I have $1 and you have $2 +- Correct: `I have \$1 and you have \$2` produces I have \$1 and you have \$2 + +### Using mhchem + +If you are using the community Latex plugin, you can add `mhchem` support by forking the plugin repository and adding the following import to the top of `src/index.ts` (before all the other imports): + +```ts title="src/index.ts" +import "katex/contrib/mhchem" +``` + +## Customization + +Latex parsing is a functionality of the [[plugins/Latex|Latex]] plugin. See the plugin page for customization options. diff --git a/Local/storage/thlab-notes/worker/docs/features/Mermaid diagrams.md b/Local/storage/thlab-notes/worker/docs/features/Mermaid diagrams.md new file mode 100644 index 0000000..9cc4089 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/features/Mermaid diagrams.md @@ -0,0 +1,34 @@ +--- +title: "Mermaid Diagrams" +tags: + - feature/transformer +--- + +Quartz supports Mermaid which allows you to add diagrams and charts to your notes. Mermaid supports a range of diagrams, such as [flow charts](https://mermaid.js.org/syntax/flowchart.html), [sequence diagrams](https://mermaid.js.org/syntax/sequenceDiagram.html), and [timelines](https://mermaid.js.org/syntax/timeline.html). This is enabled as a part of [[Obsidian compatibility]] and can be configured and enabled/disabled from that plugin. + +By default, Quartz will render Mermaid diagrams to match the site theme. + +> [!warning] +> Wondering why Mermaid diagrams may not be showing up even if you have them enabled? You may need to reorder your plugins so that [[ObsidianFlavoredMarkdown]] is _after_ [[SyntaxHighlighting]]. + +## Syntax + +To add a Mermaid diagram, create a mermaid code block. + +```` +```mermaid +sequenceDiagram + Alice->>+John: Hello John, how are you? + Alice->>+John: John, can you hear me? + John-->>-Alice: Hi Alice, I can hear you! + John-->>-Alice: I feel great! +``` +```` + +```mermaid +sequenceDiagram + Alice->>+John: Hello John, how are you? + Alice->>+John: John, can you hear me? + John-->>-Alice: Hi Alice, I can hear you! + John-->>-Alice: I feel great! +``` diff --git a/Local/storage/thlab-notes/worker/docs/features/Obsidian compatibility.md b/Local/storage/thlab-notes/worker/docs/features/Obsidian compatibility.md new file mode 100644 index 0000000..fff943b --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/features/Obsidian compatibility.md @@ -0,0 +1,223 @@ +--- +title: "Obsidian Compatibility" +tags: + - feature/transformer +--- + +Quartz was originally designed as a tool to publish Obsidian vaults as websites. Even as the scope of Quartz has widened over time, it hasn't lost the ability to seamlessly interoperate with Obsidian. + +By default, Quartz ships with the [[ObsidianFlavoredMarkdown]] plugin, which is a transformer plugin that adds support for [Obsidian Flavored Markdown](https://help.obsidian.md/Editing+and+formatting/Obsidian+Flavored+Markdown). This includes support for features like [[wikilinks]] and [[Mermaid diagrams]]. + +It also ships with support for [frontmatter parsing](https://help.obsidian.md/Editing+and+formatting/Properties) with the same fields that Obsidian uses through the [[Frontmatter]] transformer plugin. + +Finally, Quartz also provides [[CrawlLinks]] plugin, which allows you to customize Quartz's link resolution behaviour to match Obsidian. + +## Supported Features + +### Wikilinks + +Internal links using the `[[page]]` syntax are converted to regular links. See [[wikilinks]] for more details. All variations are supported: + +```markdown +[[Page]] Link to a page +[[Page|Custom text]] Link with alias +[[Page#Heading]] Link to a heading +[[Page#Heading|Custom text]] Link to a heading with alias +[[Page#^block-id]] Link to a block reference +![[Page]] Embed (transclude) a page +![[image.png]] Embed an image +![[image.png|alt 100x200]] Embed with alt text and dimensions +``` + +Inside tables, pipes in wikilinks can be escaped with a backslash: + +```markdown +| Column | +| --------------- | +| [[page\|alias]] | +``` + +### Highlights + +Wrap text in `==` to highlight it: + +```markdown +This is ==highlighted text== in a sentence. +``` + +This renders as: This is ==highlighted text== in a sentence. + +### Comments + +Obsidian-style comments are stripped from the output: + +```markdown +This is visible. %%This is a comment and won't appear.%% +``` + +This renders as: This is visible. %%This is a comment and won't appear.%% + +Multi-line comments are also supported: + +```markdown +%% +This entire block +is a comment. +%% +``` + +### Tags + +Tags starting with `#` are parsed and linked to tag pages: + +```markdown +#tag #nested/tag #tag-with-dashes +``` + +For example: #feature/transformer + +> [!note] +> Pure numeric tags like `#123` are ignored, matching Obsidian behaviour. + +### Callouts + +[[callouts|Obsidian callouts]] are fully supported, including collapsible variants: + +```markdown +> [!note] +> This is a note callout. + +> [!warning]- Collapsed by default +> This content is hidden initially. + +> [!tip]+ Expanded by default +> This content is visible initially. +``` + +> [!example] Live example +> This is a live callout rendered from Obsidian-flavored Markdown. + +All built-in callout types are supported: `note`, `abstract`, `info`, `todo`, `tip`, `success`, `question`, `warning`, `failure`, `danger`, `bug`, `example`, and `quote`, along with their aliases. + +### Task Lists and Custom Task Characters + +Standard checkboxes work out of the box. With `enableCheckbox: true`, you also get support for custom task characters that are popular in the Obsidian community: + +```markdown +- [ ] Unchecked +- [x] Checked +- [?] Question +- [!] Important +- [>] Forwarded +- [/] In progress +- [-] Cancelled +- [s] Special +``` + +Each custom character is preserved as a `data-task` attribute on the rendered element, allowing CSS-based styling per character. + +- [ ] Unchecked +- [x] Checked +- [?] Question +- [!] Important + +### Mermaid Diagrams + +[[Mermaid diagrams|Mermaid]] code blocks are rendered as diagrams: + +````markdown +```mermaid +graph TD + A[Start] --> B{Decision} + B -->|Yes| C[OK] + B -->|No| D[Cancel] +``` +```` + +```mermaid +graph TD + A[Start] --> B{Decision} + B -->|Yes| C[OK] + B -->|No| D[Cancel] +``` + +### YouTube Embeds + +YouTube videos can be embedded using standard image syntax with a YouTube URL: + +```markdown +![](https://youtu.be/v5LGaczJaf0) +![](https://www.youtube.com/watch?v=v5LGaczJaf0) +``` + +For example, the following embed is rendered from `![](https://youtu.be/v5LGaczJaf0)`: + +![](https://youtu.be/v5LGaczJaf0) + +### Tweet Embeds + +Tweets from Twitter/X are embedded as static blockquotes with a link to the original: + +```markdown +![](https://x.com/kepano/status/1882142872826442145) +![](https://twitter.com/kepano/status/1882142872826442145) +``` + +For example, the following embed is rendered from `![](https://x.com/kepano/status/1882142872826442145)`: + +![](https://x.com/kepano/status/1882142872826442145) + +### Block References + +Block references allow linking to specific blocks within a page: + +```markdown +Content paragraph. ^my-block + +[[Page#^my-block]] +``` + +### Obsidian URI Links + +Links using the `obsidian://` protocol are marked with a CSS class (`obsidian-uri`) and a `data-obsidian-uri` attribute, so you can style them differently from regular links. + +### Video Embeds + +Video files can be embedded using standard image syntax: + +```markdown +![](video.mp4) +![](video.webm) +``` + +### Embed in HTML + +By default, Obsidian does not render its Markdown syntax inside HTML blocks. Quartz extends this with the `enableInHtmlEmbed` option, which parses wikilinks, highlights, and tags inside raw HTML nodes. + +### Footnotes + +Footnotes using the `[^1]` syntax are fully supported through the [[GitHubFlavoredMarkdown]] plugin: + +```markdown +Here is a sentence with a footnote.[^1] + +[^1]: This is the footnote content. +``` + +## Obsidian Community Plugin Support + +Quartz focuses on supporting Obsidian's core features. Functionality from Obsidian community plugins is handled by Quartz community plugins: + +| Obsidian Plugin | Quartz Support | +| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | +| Dataview | Supported via [Quartz Syncer](https://community.obsidian.md/plugins/quartz-syncer) — exports Dataview queries as static content during sync | +| Excalidraw | Supported via the `obsidian-plugin-excalidraw` community plugin | +| Leaflet Maps | Supported via the `obsidian-plugin-leaflet` community plugin | +| Style Settings | Supported via the `quartz-themes` community plugin | + +> [!tip] +> As a general rule: Obsidian core features are supported by Quartz directly, while Obsidian community plugin features are supported by corresponding Quartz community plugins. Not all Obsidian community plugins will have Quartz equivalents, but popular ones are likely to be supported by the community. + +## Configuration + +This functionality is provided by the [[ObsidianFlavoredMarkdown]], [[Frontmatter]] and [[CrawlLinks]] plugins. See the plugin pages for customization options. diff --git a/Local/storage/thlab-notes/worker/docs/features/OxHugo compatibility.md b/Local/storage/thlab-notes/worker/docs/features/OxHugo compatibility.md new file mode 100644 index 0000000..6daaffe --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/features/OxHugo compatibility.md @@ -0,0 +1,48 @@ +--- +title: "OxHugo Compatibility" +tags: + - feature/transformer +--- + +[org-roam](https://www.orgroam.com/) is a plain-text personal knowledge management system for [emacs](https://en.wikipedia.org/wiki/Emacs). [ox-hugo](https://github.com/kaushalmodi/ox-hugo) is org exporter backend that exports `org-mode` files to [Hugo](https://gohugo.io/) compatible Markdown. + +Because the Markdown generated by ox-hugo is not pure Markdown but Hugo specific, we need to transform it to fit into Quartz. This is done by the [[OxHugoFlavoredMarkdown]] plugin. Even though this plugin was written with `ox-hugo` in mind, it should work for any Hugo specific Markdown. + +```yaml title="quartz.config.yaml" +plugins: + - source: github:quartz-community/obsidian-flavored-markdown + enabled: true + order: 30 + - source: github:quartz-community/ox-hugo + enabled: true + order: 25 # must come before obsidian-flavored-markdown + - source: github:quartz-community/github-flavored-markdown + enabled: true + order: 40 + - source: github:quartz-community/note-properties + enabled: true + options: + delimiters: "+++" + language: toml # if using toml frontmatter + order: 5 +``` + +For the TS override approach, place overrides before `loadQuartzConfig()` in `quartz.ts`: + +```ts title="quartz.ts (override)" +import * as ExternalPlugin from "./.quartz/plugins" + +ExternalPlugin.NoteProperties({ delims: "+++", language: "toml" }) +ExternalPlugin.OxHugoFlavouredMarkdown() +``` + +> [!note] +> In YAML, plugin execution order is controlled by the `order` field. Lower numbers execute first. Ensure `ox-hugo` has a lower `order` than `obsidian-flavored-markdown`. + +## Usage + +Quartz by default doesn't understand `org-roam` files as they aren't Markdown. You're responsible for using an external tool like `ox-hugo` to export the `org-roam` files as Markdown content to Quartz and managing the static assets so that they're available in the final output. + +## Configuration + +This functionality is provided by the [[OxHugoFlavoredMarkdown]] plugin. See the plugin page for customization options. diff --git a/Local/storage/thlab-notes/worker/docs/features/RSS Feed.md b/Local/storage/thlab-notes/worker/docs/features/RSS Feed.md new file mode 100644 index 0000000..4b1a1bb --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/features/RSS Feed.md @@ -0,0 +1,10 @@ +Quartz emits an RSS feed for all the content on your site by generating an `index.xml` file that RSS readers can subscribe to. Because of the RSS spec, this requires the `baseUrl` property in your [[configuration]] to be set properly for RSS readers to pick it up properly. + +> [!info] +> After deploying, the generated RSS link will be available at `https://${baseUrl}/index.xml` by default. +> +> The `index.xml` path can be customized by passing the `rssSlug` option to the [[ContentIndex]] plugin. + +## Configuration + +This functionality is provided by the [[ContentIndex]] plugin. See the plugin page for customization options. diff --git a/Local/storage/thlab-notes/worker/docs/features/Roam Research compatibility.md b/Local/storage/thlab-notes/worker/docs/features/Roam Research compatibility.md new file mode 100644 index 0000000..ec94205 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/features/Roam Research compatibility.md @@ -0,0 +1,35 @@ +--- +title: "Roam Research Compatibility" +tags: + - feature/transformer +--- + +[Roam Research](https://roamresearch.com) is a note-taking tool that organizes your knowledge graph in a unique and interconnected way. + +Quartz supports transforming the special Markdown syntax from Roam Research (like `{{[[components]]}}` and other formatting) into +regular Markdown via the [[RoamFlavoredMarkdown]] plugin. + +```yaml title="quartz.config.yaml" +plugins: + - source: github:quartz-community/roam + enabled: true + order: 25 # must come before obsidian-flavored-markdown + - source: github:quartz-community/obsidian-flavored-markdown + enabled: true + order: 30 +``` + +For the TS override approach, place overrides before `loadQuartzConfig()` in `quartz.ts`: + +```ts title="quartz.ts (override)" +import * as ExternalPlugin from "./.quartz/plugins" + +ExternalPlugin.RoamFlavoredMarkdown() +``` + +> [!warning] +> In YAML, plugin execution order is controlled by the `order` field. Ensure `roam` has a lower `order` value than `obsidian-flavored-markdown` so it runs first. + +## Customization + +This functionality is provided by the [[RoamFlavoredMarkdown]] plugin. See the plugin page for customization options. diff --git a/Local/storage/thlab-notes/worker/docs/features/SPA Routing.md b/Local/storage/thlab-notes/worker/docs/features/SPA Routing.md new file mode 100644 index 0000000..d18aa21 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/features/SPA Routing.md @@ -0,0 +1,13 @@ +--- +title: "SPA Routing" +tags: + - feature +--- + +Single-page-app style rendering. This prevents flashes of unstyled content and improves the smoothness of Quartz. + +Under the hood, this is done by hijacking page navigations and instead fetching the HTML via a `GET` request and then diffing and selectively replacing parts of the page using [micromorph](https://github.com/natemoo-re/micromorph). This allows us to change the content of the page without fully refreshing the page, reducing the amount of content that the browser needs to load. + +## Configuration + +- Disable SPA Routing: set the `enableSPA` field of the [[configuration]] in `quartz.config.yaml` to be `false`. diff --git a/Local/storage/thlab-notes/worker/docs/features/backlinks.md b/Local/storage/thlab-notes/worker/docs/features/backlinks.md new file mode 100644 index 0000000..95df12c --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/features/backlinks.md @@ -0,0 +1,17 @@ +--- +title: Backlinks +tags: + - component +--- + +A backlink for a note is a link from another note to that note. Links in the backlink pane also feature rich [[popover previews]] if you have that feature enabled. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +## Customization + +- Removing backlinks: remove the `backlinks` entry from `quartz.config.yaml` or set `enabled: false`. +- Hide when empty: hide `Backlinks` if given page doesn't contain any backlinks (default to `true`). To disable this, set `hideWhenEmpty: false` in the plugin options in `quartz.config.yaml`. +- Install: `npx quartz plugin add github:quartz-community/backlinks` +- Source: [`quartz-community/backlinks`](https://github.com/quartz-community/backlinks) diff --git a/Local/storage/thlab-notes/worker/docs/features/breadcrumbs.md b/Local/storage/thlab-notes/worker/docs/features/breadcrumbs.md new file mode 100644 index 0000000..3bb770d --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/features/breadcrumbs.md @@ -0,0 +1,54 @@ +--- +title: "Breadcrumbs" +tags: + - component +--- + +Breadcrumbs provide a way to navigate a hierarchy of pages within your site using a list of its parent folders. + +By default, the element at the very top of your page is the breadcrumb navigation bar (can also be seen at the top on this page!). + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +## Customization + +Most configuration can be done via the `options` section of the breadcrumbs plugin entry in `quartz.config.yaml`. + +For example, here's what the default configuration looks like: + +```yaml title="quartz.config.yaml" +plugins: + - source: github:quartz-community/breadcrumbs + enabled: true + options: + spacerSymbol: "❯" + rootName: Home + resolveFrontmatterTitle: true + showCurrentPage: true + layout: + position: beforeBody + priority: 5 +``` + +For the TS override approach: + +```ts title="quartz.ts (override)" +// Must be placed before loadQuartzConfig() +ExternalPlugin.Breadcrumbs({ + spacerSymbol: "❯", + rootName: "Home", + resolveFrontmatterTitle: true, + showCurrentPage: true, +}) +``` + +When passing in your own options, you can omit any or all of these fields if you'd like to keep the default value for that field. + +You can also adjust where the breadcrumbs will be displayed by changing the `layout.position` field in the plugin entry in `quartz.config.yaml` (see [[layout]]). + +Want to customize it even more? + +- Removing breadcrumbs: remove the `breadcrumbs` entry from `quartz.config.yaml` or set `enabled: false`. +- Install: `npx quartz plugin add github:quartz-community/breadcrumbs` +- Source: [`quartz-community/breadcrumbs`](https://github.com/quartz-community/breadcrumbs) diff --git a/Local/storage/thlab-notes/worker/docs/features/callouts.md b/Local/storage/thlab-notes/worker/docs/features/callouts.md new file mode 100644 index 0000000..4caeeb4 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/features/callouts.md @@ -0,0 +1,96 @@ +--- +title: Callouts +tags: + - feature/transformer +--- + +Quartz supports the same Admonition-callout syntax as Obsidian. + +This includes + +- 12 Distinct callout types (each with several aliases) +- Collapsable callouts + +``` +> [!info] Title +> This is a callout! +``` + +See [documentation on supported types and syntax here](https://help.obsidian.md/Editing+and+formatting/Callouts). + +> [!warning] +> Wondering why callouts may not be showing up even if you have them enabled? You may need to reorder your plugins so that [[ObsidianFlavoredMarkdown]] is _after_ [[SyntaxHighlighting]]. + +## Customization + +The callouts are a functionality of the [[ObsidianFlavoredMarkdown]] plugin. See the plugin page for how to enable or disable them. + +You can edit the icons by customizing `quartz/styles/callouts.scss`. + +### Add custom callouts + +By default, custom callouts are handled by applying the `note` style. To make fancy ones, you have to add these lines to `custom.scss`. + +```scss title="quartz/styles/custom.scss" +.callout { + &[data-callout="custom"] { + --color: #customcolor; + --border: #custombordercolor; + --bg: #custombg; + --callout-icon: url("data:image/svg+xml; utf8, "); //SVG icon code + } +} +``` + +> [!warning] +> Don't forget to ensure that the SVG is URL encoded before putting it in the CSS. You can use tools like [this one](https://yoksel.github.io/url-encoder/) to help you do that. + +## Showcase + +> [!info] +> Default title + +> [!question]+ Can callouts be _nested_? +> +> > [!todo]- Yes!, they can. And collapsed! +> > +> > > [!example] You can even use multiple layers of nesting. + +> [!note] +> Aliases: "note" + +> [!abstract] +> Aliases: "abstract", "summary", "tldr" + +> [!info] +> Aliases: "info" + +> [!todo] +> Aliases: "todo" + +> [!tip] +> Aliases: "tip", "hint", "important" + +> [!success] +> Aliases: "success", "check", "done" + +> [!question] +> Aliases: "question", "help", "faq" + +> [!warning] +> Aliases: "warning", "attention", "caution" + +> [!failure] +> Aliases: "failure", "missing", "fail" + +> [!danger] +> Aliases: "danger", "error" + +> [!bug] +> Aliases: "bug" + +> [!example] +> Aliases: "example" + +> [!quote] +> Aliases: "quote", "cite" diff --git a/Local/storage/thlab-notes/worker/docs/features/comments.md b/Local/storage/thlab-notes/worker/docs/features/comments.md new file mode 100644 index 0000000..c588bae --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/features/comments.md @@ -0,0 +1,182 @@ +--- +title: Comments +tags: + - component +--- + +Quartz also has the ability to hook into various providers to enable readers to leave comments on your site. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +![[giscus-example.png]] + +As of today, only [Giscus](https://giscus.app/) is supported out of the box but PRs to support other providers are welcome! + +## Providers + +### Giscus + +First, make sure that the [[setting up your GitHub repository|GitHub]] repository you are using for your Quartz meets the following requirements: + +1. The **repository is [public](https://docs.github.com/en/github/administering-a-repository/managing-repository-settings/setting-repository-visibility#making-a-repository-public)**, otherwise visitors will not be able to view the discussion. +2. The **[giscus](https://github.com/apps/giscus) app is installed**, otherwise visitors will not be able to comment and react. +3. The **Discussions feature is turned on** by [enabling it for your repository](https://docs.github.com/en/github/administering-a-repository/managing-repository-settings/enabling-or-disabling-github-discussions-for-a-repository). + +Then, use the [Giscus site](https://giscus.app/#repository) to figure out what your `repoId` and `categoryId` should be. Make sure you select `Announcements` for the Discussion category. + +![[giscus-repo.png]] + +![[giscus-discussion.png]] + +After entering both your repository and selecting the discussion category, Giscus will compute some IDs that you'll need to provide back to Quartz. You won't need to manually add the script yourself as Quartz will handle that part for you but will need these values in the next step! + +![[giscus-results.png]] + +Finally, in `quartz.config.yaml`, add the comments plugin with the following options (using the values you got from above): + +```yaml title="quartz.config.yaml" +plugins: + - source: github:quartz-community/comments + enabled: true + options: + provider: giscus + options: + repo: jackyzha0/quartz + repoId: MDEwOlJlcG9zaXRvcnkzODcyMTMyMDg + category: Announcements + categoryId: DIC_kwDOFxRnmM4B-Xg6 + lang: en + layout: + position: afterBody + priority: 10 +``` + +For the TS override approach: + +```ts title="quartz.ts (override)" +// If using quartz.ts overrides instead of YAML: +import { loadQuartzConfig, loadQuartzLayout } from "./quartz/plugins/loader/config-loader" + +const config = await loadQuartzConfig() +export default config +export const layout = await loadQuartzLayout({ + defaults: { + afterBody: [ + ExternalPlugin.Comments({ + provider: "giscus", + options: { + repo: "jackyzha0/quartz", + repoId: "MDEwOlJlcG9zaXRvcnkzODcyMTMyMDg", + category: "Announcements", + categoryId: "DIC_kwDOFxRnmM4B-Xg6", + lang: "en", + }, + }), + ], + }, +}) +``` + +> [!note] +> Install the comments plugin first: `npx quartz plugin add github:quartz-community/comments` + +### Customization + +Quartz also exposes a few of the other Giscus options as well and you can provide them the same way `repo`, `repoId`, `category`, and `categoryId` are provided. + +```ts +type Options = { + provider: "giscus" + options: { + repo: `${string}/${string}` + repoId: string + category: string + categoryId: string + + // Url to folder with custom themes + // defaults to 'https://${cfg.baseUrl}/static/giscus' + themeUrl?: string + + // filename for light theme .css file + // defaults to 'light' + lightTheme?: string + + // filename for dark theme .css file + // defaults to 'dark' + darkTheme?: string + + // how to map pages -> discussions + // defaults to 'url' + mapping?: "url" | "title" | "og:title" | "specific" | "number" | "pathname" + + // use strict title matching + // defaults to true + strict?: boolean + + // whether to enable reactions for the main post + // defaults to true + reactionsEnabled?: boolean + + // where to put the comment input box relative to the comments + // defaults to 'bottom' + inputPosition?: "top" | "bottom" + + // set your preference language here + // defaults to 'en' + lang?: string + } +} +``` + +#### Custom CSS theme + +Quartz supports custom theme for Giscus. To use a custom CSS theme, place the `.css` file inside the `quartz/static` folder and set the configuration values. + +For example, if you have a light theme `light-theme.css`, a dark theme `dark-theme.css`, and your Quartz site is hosted at `https://example.com/`: + +```yaml title="quartz.config.yaml" +plugins: + - source: github:quartz-community/comments + enabled: true + options: + provider: giscus + options: + # Other options... + themeUrl: "https://example.com/static/giscus" # corresponds to quartz/static/giscus/ + lightTheme: light-theme # corresponds to light-theme.css in quartz/static/giscus/ + darkTheme: dark-theme # corresponds to dark-theme.css in quartz/static/giscus/ +``` + +```ts title="quartz.ts (override)" +import { loadQuartzConfig, loadQuartzLayout } from "./quartz/plugins/loader/config-loader" + +const config = await loadQuartzConfig() +export default config +export const layout = await loadQuartzLayout({ + defaults: { + afterBody: [ + ExternalPlugin.Comments({ + provider: "giscus", + options: { + // Other options... + themeUrl: "https://example.com/static/giscus", + lightTheme: "light-theme", + darkTheme: "dark-theme", + }, + }), + ], + }, +}) +``` + +#### Conditionally display comments + +Quartz can conditionally display the comment box based on a field `comments` in the frontmatter. By default, all pages will display comments, to disable it for a specific page, set `comments` to `false`. + +``` +--- +title: Comments disabled here! +comments: false +--- +``` diff --git a/Local/storage/thlab-notes/worker/docs/features/darkmode.md b/Local/storage/thlab-notes/worker/docs/features/darkmode.md new file mode 100644 index 0000000..25e1d4d --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/features/darkmode.md @@ -0,0 +1,25 @@ +--- +title: "Darkmode" +tags: + - component +--- + +Quartz supports darkmode out of the box that respects the user's theme preference. Any future manual toggles of the darkmode switch will be saved in the browser's local storage so it can be persisted across future page loads. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +## Customization + +- Removing darkmode: remove the `darkmode` entry from `quartz.config.yaml` or set `enabled: false`. +- Install: `npx quartz plugin add github:quartz-community/darkmode` +- Source: [`quartz-community/darkmode`](https://github.com/quartz-community/darkmode) + +You can also listen to the `themechange` event to perform any custom logic when the theme changes. + +```js +document.addEventListener("themechange", (e) => { + console.log("Theme changed to " + e.detail.theme) // either "light" or "dark" + // your logic here +}) +``` diff --git a/Local/storage/thlab-notes/worker/docs/features/explorer.md b/Local/storage/thlab-notes/worker/docs/features/explorer.md new file mode 100644 index 0000000..bba7f50 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/features/explorer.md @@ -0,0 +1,294 @@ +--- +title: "Explorer" +tags: + - component +--- + +Quartz features an explorer that allows you to navigate all files and folders on your site. It supports nested folders and is highly customizable. + +> [!info] +> The Explorer is now a community plugin. This demonstrates how external plugins can extend Quartz functionality while serving as a reference implementation for plugin developers. + +## Installation + +The Explorer is available as a community plugin from GitHub: + +```bash +npm install github:quartz-community/explorer --legacy-peer-deps +``` + +Then add it to your `quartz.config.yaml`: + +```yaml title="quartz.config.yaml" +plugins: + - source: github:quartz-community/explorer + enabled: true + layout: + position: left + priority: 50 +``` + +## Features + +By default, it shows all folders and files on your page. To display the explorer in a different spot, you can edit the [[layout]]. + +Display names for folders get determined by the `title` frontmatter field in `folder/index.md` (more detail in [[authoring content | Authoring Content]]). If this file does not exist or does not contain frontmatter, the local folder name will be used instead. + +> [!info] +> The explorer uses local storage by default to save the state of your explorer. This is done to ensure a smooth experience when navigating to different pages. +> +> To clear/delete the explorer state from local storage, delete the `fileTree` entry (guide on how to delete a key from local storage in chromium based browsers can be found [here](https://docs.devolutions.net/kb/general-knowledge-base/clear-browser-local-storage/clear-chrome-local-storage/)). You can disable this by passing `useSavedState: false` as an argument. + +## Customization + +Most configuration can be done by passing in options to `Explorer()`. + +For example, here's what the default configuration looks like: + +```yaml title="quartz.config.yaml" +plugins: + - source: github:quartz-community/explorer + enabled: true + options: + title: Explorer + folderClickBehavior: collapse # "link" to navigate or "collapse" to toggle + folderDefaultState: collapsed # "collapsed" or "open" + useSavedState: true + layout: + position: left + priority: 50 +``` + +For advanced options like custom sort, filter, and map functions, use the TS override in `quartz.ts`: + +```ts title="quartz.ts" +import { loadQuartzConfig, loadQuartzLayout } from "./quartz/plugins/loader/config-loader" +import * as ExternalPlugin from "./.quartz/plugins" + +// Advanced: pass callback functions that can't be expressed in YAML +ExternalPlugin.Explorer({ + sortFn: (a, b) => { + /* ... */ + }, + filterFn: (node) => { + /* ... */ + }, + mapFn: (node) => { + /* ... */ + }, + order: ["filter", "map", "sort"], +}) + +const config = await loadQuartzConfig() +export default config +export const layout = await loadQuartzLayout() +``` + +> [!info] How overrides work +> When you call `ExternalPlugin.Explorer({...})` in `quartz.ts`, the options are recorded and merged with the YAML configuration when the component is instantiated during the build. Options set in `quartz.ts` take precedence over those in `quartz.config.yaml`, following this order: `plugin defaults < YAML options < quartz.ts overrides`. +> +> If you have two plugins that export the same name (e.g. two different Explorer plugins installed via `--name`), use the `plugins` map to disambiguate: +> +> ```ts title="quartz.ts" +> import * as ExternalPlugin from "./.quartz/plugins" +> ExternalPlugin.plugins["my-explorer"].Explorer({ mapFn: ... }) +> ``` + +When passing in your own options, you can omit any or all of these fields if you'd like to keep the default value for that field. + +Want to customize it even more? + +- Removing explorer: remove the `explorer` entry from `quartz.config.yaml` or set `enabled: false` + - (optional): After removing the explorer component, you can move the [[table of contents | Table of Contents]] component back to the `left` part of the layout +- Changing `sort`, `filter` and `map` behavior: explained in [[#Advanced customization]] + +## Advanced customization + +This component allows you to fully customize all of its behavior. You can pass a custom `sort`, `filter` and `map` function. +All functions you can pass work with the `FileTrieNode` class, which has the following properties: + +```ts title="@quartz-community/explorer" +class FileTrieNode { + isFolder: boolean + children: Array + data: ContentDetails | null +} +``` + +```ts +export type ContentDetails = { + slug: FullSlug + title: string + links: SimpleSlug[] + tags: string[] + content: string +} +``` + +Every function you can pass is optional. By default, only a `sort` function will be used: + +```ts title="Default sort function" +// Sort order: folders first, then files. Sort folders and files alphabetically +ExternalPlugin.Explorer({ + sortFn: (a, b) => { + if ((!a.isFolder && !b.isFolder) || (a.isFolder && b.isFolder)) { + return a.displayName.localeCompare(b.displayName, undefined, { + numeric: true, + sensitivity: "base", + }) + } + + if (!a.isFolder && b.isFolder) { + return 1 + } else { + return -1 + } + }, +}) +``` + +--- + +You can pass your own functions for `sortFn`, `filterFn` and `mapFn`. All functions will be executed in the order provided by the `order` option (see [[#Customization]]). These functions behave similarly to their `Array.prototype` counterpart, except they modify the entire `FileNode` tree in place instead of returning a new one. + +For more information on how to use `sort`, `filter` and `map`, you can check [Array.prototype.sort()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort), [Array.prototype.filter()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter) and [Array.prototype.map()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map). + +Type definitions look like this: + +```ts +type SortFn = (a: FileTrieNode, b: FileTrieNode) => number +type FilterFn = (node: FileTrieNode) => boolean +type MapFn = (node: FileTrieNode) => void +``` + +## Basic examples + +These examples show the basic usage of `sort`, `map` and `filter`. + +### Use `sort` to put files first + +Using this example, the explorer will alphabetically sort everything. + +```yaml title="quartz.config.yaml" +plugins: + - source: github:quartz-community/explorer + enabled: true + options: + # Simple options go in YAML + title: Explorer + folderDefaultState: collapsed +``` + +Custom sort functions require the TS override: + +```ts title="quartz.ts (override)" +ExternalPlugin.Explorer({ + sortFn: (a, b) => { + return a.displayName.localeCompare(b.displayName) + }, +}) +``` + +### Change display names (`map`) + +Using this example, the display names of all `FileNodes` (folders + files) will be converted to full upper case. + +```ts title="quartz.ts (override)" +ExternalPlugin.Explorer({ + mapFn: (node) => { + node.displayName = node.displayName.toUpperCase() + return node + }, +}) +``` + +> [!note] +> The `mapFn`, `filterFn`, and `sortFn` options require JavaScript callback functions and cannot be expressed in YAML. Use the TS override for these. + +### Remove list of elements (`filter`) + +Using this example, you can remove elements from your explorer by providing an array of folders/files to exclude. +Note that this example filters on the title but you can also do it via slug or any other field available on `FileTrieNode`. + +```ts title="quartz.ts (override)" +ExternalPlugin.Explorer({ + filterFn: (node) => { + // set containing names of everything you want to filter out + const omit = new Set(["authoring content", "tags", "advanced"]) + + // can also use node.slug or by anything on node.data + // note that node.data is only present for files that exist on disk + // (e.g. implicit folder nodes that have no associated index.md) + return !omit.has(node.displayName.toLowerCase()) + }, +}) +``` + +### Remove files by tag + +You can access the tags of a file by `node.data.tags`. + +```ts title="quartz.ts (override)" +ExternalPlugin.Explorer({ + filterFn: (node) => { + // exclude files with the tag "explorerexclude" + return node.data?.tags?.includes("explorerexclude") !== true + }, +}) +``` + +### Show every element in explorer + +By default, the explorer will filter out the `tags` folder. +To override the default filter function, you can set the filter function to `undefined`. + +```ts title="quartz.ts (override)" +ExternalPlugin.Explorer({ + filterFn: undefined, // apply no filter function, every file and folder will visible +}) +``` + +## Advanced examples + +> [!tip] +> When writing more complicated functions, the `quartz.ts` file can start to look very cramped. +> You can fix this by defining your sort functions outside of the component +> and passing it in. +> +> ```ts title="quartz.ts" +> import * as ExternalPlugin from "./.quartz/plugins" +> import type { ExplorerOptions } from "./.quartz/plugins" +> +> const mapFn: ExplorerOptions["mapFn"] = (node) => { +> // implement your function here +> } +> const filterFn: ExplorerOptions["filterFn"] = (node) => { +> // implement your function here +> } +> const sortFn: ExplorerOptions["sortFn"] = (a, b) => { +> // implement your function here +> } +> +> ExternalPlugin.Explorer({ +> // ... your other options +> mapFn, +> filterFn, +> sortFn, +> }) +> ``` + +### Add emoji prefix + +To add emoji prefixes (📁 for folders, 📄 for files), you could use a map function in `quartz.ts`: + +```ts title="quartz.ts (override)" +ExternalPlugin.Explorer({ + mapFn: (node) => { + if (node.isFolder) { + node.displayName = "📁 " + node.displayName + } else { + node.displayName = "📄 " + node.displayName + } + }, +}) +``` diff --git a/Local/storage/thlab-notes/worker/docs/features/folder and tag listings.md b/Local/storage/thlab-notes/worker/docs/features/folder and tag listings.md new file mode 100644 index 0000000..3190709 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/features/folder and tag listings.md @@ -0,0 +1,33 @@ +--- +title: Folder and Tag Listings +tags: + - feature/emitter +--- + +Quartz emits listing pages for any folders and tags you have. + +## Folder Listings + +Quartz will generate an index page for all the pages under that folder. This includes any content that is multiple levels deep. + +Additionally, Quartz will also generate pages for subfolders. Say you have a note in a nested folder `content/abc/def/note.md`. Then Quartz would generate a page for all the notes under `abc` _and_ a page for all the notes under `abc/def`. + +You can link to the folder listing by referencing its name, plus a trailing slash, like this: `[[advanced/]]` (results in [[advanced/]]). + +By default, Quartz will title the page `Folder: ` and no description. You can override this by creating an `index.md` file in the folder with the `title` [[authoring content#Syntax|frontmatter]] field. Any content you write in this file will also be used in the folder description. + +For example, for the folder `content/posts`, you can add another file `content/posts/index.md` to add a specific description for it. + +## Tag Listings + +Quartz will also create an index page for each unique tag in your vault and render a list of all notes with that tag. + +Quartz also supports tag hierarchies as well (e.g. `plugin/emitter`) and will also render a separate tag page for each level of the tag hierarchy. It will also create a default global tag index page at `/tags` that displays a list of all the tags in your Quartz. + +You can link to the tag listing by referencing its name with a `tag/` prefix, like this: `[[tags/plugin]]` (results in [[tags/plugin]]). + +As with folder listings, you can also provide a description and title for a tag page by creating a file for each tag. For example, if you wanted to create a custom description for the #component tag, you would create a file at `content/tags/component.md` with a title and description. + +## Customization + +Quartz allows you to define a custom sort ordering for content on both page types. The folder listings are a functionality of the [[FolderPage]] plugin, the tag listings of the [[TagPage]] plugin. See the plugin pages for customization options. diff --git a/Local/storage/thlab-notes/worker/docs/features/full-text search.md b/Local/storage/thlab-notes/worker/docs/features/full-text search.md new file mode 100644 index 0000000..6ba4e77 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/features/full-text search.md @@ -0,0 +1,31 @@ +--- +title: Full-text Search +tags: + - component +--- + +Full-text search in Quartz is powered by [Flexsearch](https://github.com/nextapps-de/flexsearch). It's fast enough to return search results in under 10ms for Quartzs as large as half a million words. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +It can be opened by either clicking on the search bar or pressing `⌘`/`ctrl` + `K`. The top 5 search results are shown on each query. Matching subterms are highlighted and the most relevant 30 words are excerpted. Clicking on a search result will navigate to that page. + +To search content by tags, you can either press `⌘`/`ctrl` + `shift` + `K` or start your query with `#` (e.g. `#components`). + +This component is also keyboard accessible: Tab and Shift+Tab will cycle forward and backward through search results and Enter will navigate to the highlighted result (first result by default). You are also able to navigate search results using `ArrowUp` and `ArrowDown`. + +> [!info] +> Search requires the `ContentIndex` emitter plugin to be present in the [[configuration]]. + +### Indexing Behaviour + +By default, it indexes every page on the site with **Markdown syntax removed**. This means link URLs for instance are not indexed. + +It properly tokenizes Chinese, Korean, and Japenese characters and constructs separate indexes for the title, content and tags, weighing title matches above content matches. + +## Customization + +- Removing search: remove the `search` entry from `quartz.config.yaml` or set `enabled: false`. +- Install: `npx quartz plugin add github:quartz-community/search` +- Source: [`quartz-community/search`](https://github.com/quartz-community/search) diff --git a/Local/storage/thlab-notes/worker/docs/features/graph view.md b/Local/storage/thlab-notes/worker/docs/features/graph view.md new file mode 100644 index 0000000..37540d4 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/features/graph view.md @@ -0,0 +1,91 @@ +--- +title: "Graph View" +tags: + - component +--- + +Quartz features a graph-view that can show both a local graph view and a global graph view. + +- The local graph view shows files that either link to the current file or are linked from the current file. In other words, it shows all notes that are _at most_ one hop away. +- The global graph view can be toggled by clicking the graph icon on the top-right of the local graph view. It shows _all_ the notes in your graph and how they connect to each other. + +> [!info] +> The Graph View is now a community plugin. This demonstrates how external plugins can extend Quartz functionality while serving as a reference implementation for plugin developers. + +## Installation + +The Graph View is available as a community plugin from GitHub: + +```bash +npm install github:quartz-community/graph --legacy-peer-deps +``` + +Then add it to your `quartz.config.yaml`: + +```yaml title="quartz.config.yaml" +plugins: + - source: github:quartz-community/graph + enabled: true + layout: + position: right + priority: 10 +``` + +## Features + +By default, the node radius is proportional to the total number of incoming and outgoing internal links from that file. + +Additionally, similar to how browsers highlight visited links a different colour, the graph view will also show nodes that you have visited in a different colour. + +> [!info] +> Graph View requires the `ContentIndex` emitter plugin to be present in the [[configuration]]. + +## Customization + +Most configuration can be done by passing in options to `Graph()`. + +For example, here's what the default configuration looks like: + +```yaml title="quartz.config.yaml" +plugins: + - source: github:quartz-community/graph + enabled: true + options: + localGraph: + drag: true + zoom: true + depth: 1 + scale: 1.1 + repelForce: 0.5 + centerForce: 0.3 + linkDistance: 30 + fontSize: 0.6 + opacityScale: 1 + removeTags: [] + showTags: true + enableRadial: false + globalGraph: + drag: true + zoom: true + depth: -1 + scale: 0.9 + repelForce: 0.5 + centerForce: 0.3 + linkDistance: 30 + fontSize: 0.6 + opacityScale: 1 + removeTags: [] + showTags: true + focusOnHover: true + enableRadial: true + layout: + position: right + priority: 10 +``` + +When passing in your own options, you can omit any or all of these fields if you'd like to keep the default value for that field. + +Want to customize it even more? + +- Removing graph view: remove the `graph` entry from `quartz.config.yaml` or set `enabled: false` +- Component source: https://github.com/quartz-community/graph diff --git a/Local/storage/thlab-notes/worker/docs/features/i18n.md b/Local/storage/thlab-notes/worker/docs/features/i18n.md new file mode 100644 index 0000000..58f72da --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/features/i18n.md @@ -0,0 +1,18 @@ +--- +title: Internationalization +--- + +Internationalization allows users to translate text in the Quartz interface into various supported languages without needing to make extensive code changes. This can be changed via the `locale` [[configuration]] field in `quartz.config.yaml`. + +The locale field generally follows a certain format: `{language}-{REGION}` + +- `{language}` is usually a [2-letter lowercase language code](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes). +- `{REGION}` is usually a [2-letter uppercase region code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) + +> [!tip] Interested in contributing? +> We [gladly welcome translation PRs](https://github.com/jackyzha0/quartz/tree/v5/quartz/i18n/locales)! To contribute a translation, do the following things: +> +> 1. In the `quartz/i18n/locales` folder, copy the `en-US.ts` file. +> 2. Rename it to `{language}-{REGION}.ts` so it matches a locale of the format shown above. +> 3. Fill in the translations! +> 4. Add the entry under `TRANSLATIONS` in `quartz/i18n/index.ts`. diff --git a/Local/storage/thlab-notes/worker/docs/features/index.md b/Local/storage/thlab-notes/worker/docs/features/index.md new file mode 100644 index 0000000..773a4c9 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/features/index.md @@ -0,0 +1,48 @@ +--- +title: Feature List +--- + +Quartz comes with a wide variety of features out of the box. Most features are powered by [[configuration#Plugins|plugins]] that can be configured, enabled, or disabled via `quartz.config.yaml`. + +## Content Features + +- [[Obsidian compatibility]] — Full support for Obsidian-flavored Markdown +- [[wikilinks]] — Link between notes using `[[wikilinks]]` syntax +- [[callouts]] — Obsidian-style callout blocks +- [[features/Latex|Latex]] — LaTeX math rendering +- [[Mermaid diagrams]] — Diagram support via Mermaid +- [[syntax highlighting|Syntax highlighting]] — Code block highlighting with themes +- [[OxHugo compatibility]] — Support for ox-hugo Markdown +- [[Roam Research compatibility]] — Support for Roam Research syntax +- [[features/Citations|Citations]] — Academic citation support +- [[Canvas]] — Render Obsidian Canvas files as interactive pages +- [[Bases]] — Database-like views for your notes (tables, cards, galleries, and more) + +## Navigation & Discovery + +- [[full-text search]] — Search across all your notes +- [[graph view]] — Interactive graph visualization of note connections +- [[features/backlinks]] — See which notes link to the current page +- [[features/explorer]] — File tree sidebar for browsing notes +- [[features/breadcrumbs]] — Breadcrumb navigation trail +- [[table of contents]] — Per-page table of contents +- [[folder and tag listings]] — Browse notes by folder or tag +- [[recent notes]] — Display recently modified notes +- [[popover previews]] — Hover previews for internal links +- [[StackedPages|stacked pages]] — Andy Matuschak-style stacked sliding panes for tracing note connections +- [[EncryptedPages|encrypted pages]] — Password-protect individual pages with client-side encryption + +## Appearance & Reading + +- [[features/darkmode]] — Light and dark mode toggle +- [[reader mode]] — Distraction-free reading experience +- [[features/comments|comments]] — Add comments via Giscus, Utterances, or other providers +- [[social images]] — Auto-generated Open Graph images for social sharing + +## Publishing & Deployment + +- [[RSS Feed]] — RSS feed generation for content syndication +- [[private pages]] — Control which pages are published +- [[SPA Routing]] — Single-page app navigation +- [[Docker Support]] — Build and deploy with Docker +- [[i18n]] — Internationalization with 30+ supported locales diff --git a/Local/storage/thlab-notes/worker/docs/features/popover previews.md b/Local/storage/thlab-notes/worker/docs/features/popover previews.md new file mode 100644 index 0000000..bd128e2 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/features/popover previews.md @@ -0,0 +1,17 @@ +--- +title: Popover Previews +--- + +Like Wikipedia, when you hover over a link in Quartz, there is a popup of a page preview that you can scroll to see the entire content. Links to headers will also scroll the popup to show that specific header in view. + +By default, Quartz only fetches previews for pages inside your vault due to [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS). It does this by selecting all HTML elements with the `popover-hint` class. For most pages, this includes the page title, page metadata like words and time to read, tags, and the actual page content. + +When [[creating components|creating your own components]], you can include this `popover-hint` class to also include it in the popover. + +Similar to Obsidian, [[quartz-layout-desktop.png|images referenced using wikilinks]] can also be viewed as popups. + +## Configuration + +- Remove popovers: set the `enablePopovers` field in `quartz.config.yaml` to be `false`. +- Style: `quartz/components/styles/popover.scss` +- Script: `quartz/components/scripts/popover.inline.ts` diff --git a/Local/storage/thlab-notes/worker/docs/features/private pages.md b/Local/storage/thlab-notes/worker/docs/features/private pages.md new file mode 100644 index 0000000..bb296af --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/features/private pages.md @@ -0,0 +1,33 @@ +--- +title: Private Pages +tags: + - feature/filter +--- + +There may be some notes you want to avoid publishing as a website. Quartz supports this through two mechanisms which can be used in conjunction: + +## Filter Plugins + +[[making plugins#Filters|Filter plugins]] are plugins that filter out content based off of certain criteria. By default, Quartz uses the [[RemoveDrafts]] plugin which filters out any note that has `draft: true` in the frontmatter. + +If you'd like to only publish a select number of notes, you can instead use [[ExplicitPublish]] which will filter out all notes except for any that have `publish: true` in the frontmatter. + +> [!warning] +> Regardless of the filter plugin used, **all non-markdown files will be emitted and available publically in the final build.** This includes files such as images, voice recordings, PDFs, etc. + +## `ignorePatterns` + +This is a field in `quartz.config.yaml` under the main [[configuration]] which allows you to specify a list of patterns to effectively exclude from parsing all together. Any valid [fast-glob](https://github.com/mrmlnc/fast-glob#pattern-syntax) pattern works here. + +> [!note] +> Bash's glob syntax is slightly different from fast-glob's and using bash's syntax may lead to unexpected results. + +Common examples include: + +- `some/folder`: exclude the entire of `some/folder` +- `*.md`: exclude all files with a `.md` extension +- `!(*.md)` exclude all files that _don't_ have a `.md` extension. Note that negations _must_ parenthesize the rest of the pattern! +- `**/private`: exclude any files or folders named `private` at any level of nesting + +> [!warning] +> Marking something as private via either a plugin or through the `ignorePatterns` pattern will only prevent a page from being included in the final built site. If your GitHub repository is public, also be sure to include an ignore for those in the `.gitignore` of your Quartz. See the `git` [documentation](https://git-scm.com/docs/gitignore#_pattern_format) for more information. diff --git a/Local/storage/thlab-notes/worker/docs/features/reader mode.md b/Local/storage/thlab-notes/worker/docs/features/reader mode.md new file mode 100644 index 0000000..a8f0377 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/features/reader mode.md @@ -0,0 +1,57 @@ +--- +title: Reader Mode +tags: + - component +--- + +Reader Mode is a feature that allows users to focus on the content by hiding the sidebars and other UI elements. When enabled, it provides a clean, distraction-free reading experience. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +## Configuration + +Reader Mode is enabled by default. To disable it, set `enabled: false` in your `quartz.config.yaml`: + +```yaml title="quartz.config.yaml" +plugins: + - source: github:quartz-community/reader-mode + enabled: false +``` + +Or remove the plugin entirely: + +```bash +npx quartz plugin remove github:quartz-community/reader-mode +``` + +- Install: `npx quartz plugin add github:quartz-community/reader-mode` +- Source: [`quartz-community/reader-mode`](https://github.com/quartz-community/reader-mode) + +## Usage + +The Reader Mode toggle appears as a button with a book icon. When clicked: + +- Sidebars are hidden +- Hovering over the content area reveals the sidebars temporarily + +Unlike Dark Mode, Reader Mode state is not persisted between page reloads but is maintained during SPA navigation within the site. + +## Customization + +You can customize the appearance of Reader Mode through CSS variables and styles. The component uses the following classes: + +- `.readermode`: The toggle button +- `.readerIcon`: The book icon +- `[reader-mode="on"]`: Applied to the root element when Reader Mode is active + +Example customization in your custom CSS: + +```scss +.readermode { + // Customize the button + svg { + stroke: var(--custom-color); + } +} +``` diff --git a/Local/storage/thlab-notes/worker/docs/features/recent notes.md b/Local/storage/thlab-notes/worker/docs/features/recent notes.md new file mode 100644 index 0000000..f75124b --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/features/recent notes.md @@ -0,0 +1,24 @@ +--- +title: Recent Notes +tags: component +--- + +Quartz can generate a list of recent notes based on some filtering and sorting criteria. Though this component isn't included in any [[layout]] by default, you can add it by installing the plugin and configuring it in `quartz.config.yaml`. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +## Customization + +Most options are configured in the `options` section of the plugin entry in `quartz.config.yaml`: + +- Changing the title from "Recent notes": set `title: "Recent writing"` in options +- Changing the number of recent notes: set `limit: 5` in options +- Display the note's tags (defaults to true): set `showTags: false` in options +- Hide generated tag pages from the list (defaults to false): set `hideTagPages: true` in options. This filters out any page whose slug lives under the conventional `tags/` prefix. +- Hide generated folder index pages from the list (defaults to false): set `hideFolderPages: true` in options. This filters out any page whose slug matches Quartz's folder-path convention (trailing slash or `index` suffix). +- Show a 'see more' link: set `linkToMore: "tags/components"` in options. This field should be a full slug to a page that exists. +- Customize filtering: requires a TS override — pass `filter: someFilterFunction` to the plugin constructor in `quartz.ts`. The filter function should have the signature `(f: QuartzPluginData) => boolean`. +- Customize sorting: requires a TS override — pass `sort: someSortFunction` to the plugin constructor in `quartz.ts`. By default, Quartz will sort by date and then tie break lexographically. The sort function should have the signature `(f1: QuartzPluginData, f2: QuartzPluginData) => number`. +- Install: `npx quartz plugin add github:quartz-community/recent-notes` +- Source: [`quartz-community/recent-notes`](https://github.com/quartz-community/recent-notes) diff --git a/Local/storage/thlab-notes/worker/docs/features/social images.md b/Local/storage/thlab-notes/worker/docs/features/social images.md new file mode 100644 index 0000000..d7f85b1 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/features/social images.md @@ -0,0 +1,19 @@ +--- +title: "Social Media Preview Cards" +--- + +A lot of social media platforms can display a rich preview for your website when sharing a link (most notably, a cover image, a title and a description). + +Quartz can also dynamically generate and use new cover images for every page to be used in link previews on social media for you. + +## Showcase + +After enabling the [[CustomOgImages]] emitter plugin, the social media link preview for [[authoring content | Authoring Content]] looks like this: + +| Light | Dark | +| ----------------------------------- | ---------------------------------- | +| ![[social-image-preview-light.png]] | ![[social-image-preview-dark.png]] | + +## Configuration + +This functionality is provided by the [[CustomOgImages]] plugin. See the plugin page for customization options. diff --git a/Local/storage/thlab-notes/worker/docs/features/syntax highlighting.md b/Local/storage/thlab-notes/worker/docs/features/syntax highlighting.md new file mode 100644 index 0000000..bf9baae --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/features/syntax highlighting.md @@ -0,0 +1,143 @@ +--- +title: Syntax Highlighting +tags: + - feature/transformer +--- + +Syntax highlighting in Quartz is completely done at build-time. This means that Quartz only ships pre-calculated CSS to highlight the right words so there is no heavy client-side bundle that does the syntax highlighting. + +And, unlike some client-side highlighters, it has a full TextMate parser grammar instead of using Regexes, allowing for highly accurate code highlighting. + +In short, it generates HTML that looks exactly like your code in an editor like VS Code. Under the hood, it's powered by [Rehype Pretty Code](https://rehype-pretty-code.netlify.app/) which uses [Shiki](https://github.com/shikijs/shiki). + +> [!warning] +> Syntax highlighting does have an impact on build speed if you have a lot of code snippets in your notes. + +## Formatting + +Text inside `backticks` on a line will be formatted like code. + +```` +```ts +export function trimPathSuffix(fp: string): string { + fp = clientSideSlug(fp) + let [cleanPath, anchor] = fp.split("#", 2) + anchor = anchor === undefined ? "" : "#" + anchor + + return cleanPath + anchor +} +``` +```` + +```ts +export function trimPathSuffix(fp: string): string { + fp = clientSideSlug(fp) + let [cleanPath, anchor] = fp.split("#", 2) + anchor = anchor === undefined ? "" : "#" + anchor + + return cleanPath + anchor +} +``` + +### Titles + +Add a file title to your code block, with text inside double quotes (`""`): + +```` +```js title="..." + +``` +```` + +```ts title="quartz/path.ts" +export function trimPathSuffix(fp: string): string { + fp = clientSideSlug(fp) + let [cleanPath, anchor] = fp.split("#", 2) + anchor = anchor === undefined ? "" : "#" + anchor + + return cleanPath + anchor +} +``` + +### Line highlighting + +Place a numeric range inside `{}`. + +```` +```js {1-3,4} + +``` +```` + +```ts {2-3,6} +export function trimPathSuffix(fp: string): string { + fp = clientSideSlug(fp) + let [cleanPath, anchor] = fp.split("#", 2) + anchor = anchor === undefined ? "" : "#" + anchor + + return cleanPath + anchor +} +``` + +### Word highlighting + +A series of characters, like a literal regex. + +```` +```js /useState/ +const [age, setAge] = useState(50); +const [name, setName] = useState('Taylor'); +``` +```` + +```js /useState/ +const [age, setAge] = useState(50) +const [name, setName] = useState("Taylor") +``` + +### Inline Highlighting + +Append {:lang} to the end of inline code to highlight it like a regular code block. + +``` +This is an array `[1, 2, 3]{:js}` of numbers 1 through 3. +``` + +This is an array `[1, 2, 3]{:js}` of numbers 1 through 3. + +### Line numbers + +Syntax highlighting has line numbers configured automatically. If you want to start line numbers at a specific number, use `showLineNumbers{number}`: + +```` +```js showLineNumbers{number} + +``` +```` + +```ts showLineNumbers{20} +export function trimPathSuffix(fp: string): string { + fp = clientSideSlug(fp) + let [cleanPath, anchor] = fp.split("#", 2) + anchor = anchor === undefined ? "" : "#" + anchor + + return cleanPath + anchor +} +``` + +### Escaping code blocks + +You can format a codeblock inside of a codeblock by wrapping it with another level of backtick fences that has one more backtick than the previous fence. + +````` +```` +```js /useState/ +const [age, setAge] = useState(50); +const [name, setName] = useState('Taylor'); +``` +```` +````` + +## Customization + +Syntax highlighting is a functionality of the [[SyntaxHighlighting]] plugin. See the plugin page for customization options. diff --git a/Local/storage/thlab-notes/worker/docs/features/table of contents.md b/Local/storage/thlab-notes/worker/docs/features/table of contents.md new file mode 100644 index 0000000..4ecccc9 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/features/table of contents.md @@ -0,0 +1,18 @@ +--- +title: "Table of Contents" +tags: + - component + - feature/transformer +--- + +Quartz can automatically generate a table of contents (TOC) from a list of headings on each page. It will also show you your current scrolling position on the page by highlighting headings you've scrolled through with a different color. + +You can hide the TOC on a page by adding `enableToc: false` to the frontmatter for that page. + +By default, the TOC shows all headings from H1 (`# Title`) to H3 (`### Title`) and is only displayed if there is more than one heading on the page. + +## Customization + +The table of contents is a functionality of the [[TableOfContents]] plugin. See the plugin page for more customization options. + +It also needs the `TableOfContents` component, which is displayed in the right sidebar by default. You can change this by customizing the [[layout]]. The TOC component can be configured with the `layout` parameter, which can either be `modern` (default) or `legacy`. diff --git a/Local/storage/thlab-notes/worker/docs/features/wikilinks.md b/Local/storage/thlab-notes/worker/docs/features/wikilinks.md new file mode 100644 index 0000000..bc1ce6b --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/features/wikilinks.md @@ -0,0 +1,26 @@ +--- +title: Wikilinks +--- + +Wikilinks were pioneered by earlier internet wikis to make it easier to write links across pages without needing to write Markdown or HTML links each time. + +Quartz supports Wikilinks by default and these links are resolved by Quartz using the [[CrawlLinks]] plugin. See the [Obsidian Help page on Internal Links](https://help.obsidian.md/Linking+notes+and+files/Internal+links) for more information on Wikilink syntax. + +This is enabled as a part of [[Obsidian compatibility]] and can be configured and enabled/disabled from that plugin. + +Wikilink matching is case-insensitive to mirror Obsidian: `[[My Note]]`, `[[my note]]`, and `[[MY NOTE]]` all resolve to the same file. The generated URL is lowercased (e.g. `my-note`). + +## Syntax + +- `[[Path to file]]`: produces a link to `Path to file.md` (or `Path-to-file.md`) with the text `Path to file` +- `[[Path to file | Here's the title override]]`: produces a link to `Path to file.md` with the text `Here's the title override` +- `[[Path to file#Anchor]]`: produces a link to the anchor `Anchor` in the file `Path to file.md` +- `[[Path to file#^block-ref]]`: produces a link to the specific block `block-ref` in the file `Path to file.md` + +### Embeds + +- `![[Path to image]]`: embeds an image into the page +- `![[Path to image|100x145]]`: embeds an image into the page with dimensions 100px by 145px +- `![[Path to file]]`: transclude an entire page +- `![[Path to file#Anchor]]`: transclude everything under the header `Anchor` +- `![[Path to file#^b15695]]`: transclude block with ID `^b15695` diff --git a/Local/storage/thlab-notes/worker/docs/getting-started/authoring-content.md b/Local/storage/thlab-notes/worker/docs/getting-started/authoring-content.md new file mode 100644 index 0000000..088d025 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/getting-started/authoring-content.md @@ -0,0 +1,49 @@ +--- +title: Authoring Content +aliases: + - "authoring content" +--- + +All of the content in your Quartz should go in the `/content` folder. The content for the home page of your Quartz lives in `content/index.md`. If you've followed the [[installation|installation guide]], this folder should already be initialized. Any Markdown in this folder will get processed by Quartz. + +It is recommended that you use [Obsidian](https://obsidian.md/) as a way to edit and maintain your Quartz. It comes with a nice editor and graphical interface to preview, edit, and link your local files and attachments. + +Got everything set up? Preview your site locally with `npx quartz build --serve`, or see the [[build|build reference]] for more options. + +## Syntax + +As Quartz uses Markdown files as the main way of writing content, it fully supports Markdown syntax. By default, Quartz also ships with a few syntax extensions like [Github Flavored Markdown](https://docs.github.com/en/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax) (footnotes, strikethrough, tables, tasklists) and [Obsidian Flavored Markdown](https://help.obsidian.md/Editing+and+formatting/Obsidian+Flavored+Markdown) ([[callouts]], [[wikilinks]]). + +Additionally, Quartz also allows you to specify additional metadata in your notes called **frontmatter**. + +```md title="content/note.md" +--- +title: Example Title +draft: false +tags: + - example-tag +--- + +The rest of your content lives here. You can use **Markdown** here :) +``` + +Some common frontmatter fields that are natively supported by Quartz: + +- `title`: Title of the page. If it isn't provided, Quartz will use the name of the file as the title. +- `description`: Description of the page used for link previews. +- `permalink`: A custom URL for the page that will remain constant even if the path to the file changes. +- `aliases`: Other names for this note. This is a list of strings. +- `tags`: Tags for this note. +- `draft`: Whether to publish the page or not. This is one way to make [[private pages|pages private]] in Quartz. +- `date`: A string representing the day the note was published. Normally uses `YYYY-MM-DD` format. + +See [[Frontmatter]] for a complete list of frontmatter. + +## Syncing your Content + +When your Quartz is at a point you're happy with, you can save your changes to GitHub. +First, make sure you've [[installation#Setting Up Your GitHub Repository|set up your GitHub repository]] and then run `npx quartz sync`. + +## Customization + +Frontmatter parsing for `title`, `tags`, `aliases` and `cssclasses` is a functionality of the [[Frontmatter]] plugin, `date` is handled by the [[CreatedModifiedDate]] plugin and `description` by the [[Description]] plugin. See the plugin pages for customization options. diff --git a/Local/storage/thlab-notes/worker/docs/getting-started/index.md b/Local/storage/thlab-notes/worker/docs/getting-started/index.md new file mode 100644 index 0000000..37e5eb6 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/getting-started/index.md @@ -0,0 +1,34 @@ +--- +title: Getting Started +--- + +This guide walks you through setting up Quartz from scratch. If you already ran the [[index#🪴 Get Started|quickstart]] on the home page, you can skip ahead to whichever step you're on. + +## Prerequisites + +You need these tools installed before continuing: + +- **[Node.js](https://nodejs.org/) v22 or later** (run `node -v` to check) +- **npm v10.9.2 or later** (bundled with Node — run `npm -v` to check) +- **[Git](https://git-scm.com/)** (run `git -v` to check) + +> [!warning] Common issues +> +> - **Linux**: System packages (`apt install nodejs`) often ship much older versions. Use [nvm](https://github.com/nvm-sh/nvm) or the [NodeSource](https://github.com/nodesource/distributions) repository to get Node.js v22. +> - **Windows**: When installing Git, make sure **"Git from the command line and also from 3rd-party software"** is selected so that `git` is available in your terminal. If `node -v` or `git -v` shows "command not found", restart your terminal or check your PATH. +> - **macOS**: The Xcode command-line tools include Git (`xcode-select --install`). For Node.js, [nvm](https://github.com/nvm-sh/nvm) or the [official installer](https://nodejs.org/) both work. + +## Setup Steps + +Follow these in order: + +1. **[[installation|Installation]]** — Get Quartz (via GitHub template or clone), install dependencies, run the setup wizard (`npx quartz create`), install plugins, and preview your site locally +2. **[[authoring-content|Authoring Content]]** — Write and organize your Markdown notes in the `content/` folder +3. **[[installation#Setting Up Your GitHub Repository|Push to GitHub]]** — Create a repository and push your site with `npx quartz sync` +4. **[[hosting|Deploy]]** — Host your site for free on GitHub Pages, Cloudflare, Netlify, or Vercel + +## Upgrading & Migrating + +- **[[whats-new|What's New in Quartz 5]]** — Overview of new features and changes +- **[[upgrading|Upgrading Quartz]]** — Keep your Quartz installation up to date +- **[[migrating|Migrating to Quartz 5]]** — Migrate from Quartz 4 or Quartz 3 diff --git a/Local/storage/thlab-notes/worker/docs/getting-started/installation.md b/Local/storage/thlab-notes/worker/docs/getting-started/installation.md new file mode 100644 index 0000000..b07ba45 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/getting-started/installation.md @@ -0,0 +1,161 @@ +--- +title: "Installation" +aliases: + - "setting up your GitHub repository" +--- + +This page walks you through the full Quartz setup: from getting the source code to previewing your site locally, then pushing it to GitHub. + +## 1. Get Quartz + +There are two ways to get started. Pick whichever you prefer: + +### Option A: Use the GitHub Template (Recommended) + +> [!tip] Why this option? +> Using the template creates your own repository in one click — no need to reconfigure Git remotes later. + +1. Go to the [Quartz repository](https://github.com/jackyzha0/quartz) and click **Use this template** → **Create a new repository** +2. Give your repository a name (e.g. `quartz`, `notes`, `garden`), choose public or private, then click **Create repository** +3. Clone **your new repository** and enter the folder: + +```bash +git clone https://github.com//.git +cd +``` + +### Option B: Clone Directly + +If you don't use GitHub or prefer a manual setup: + +```bash +git clone https://github.com/jackyzha0/quartz.git +cd quartz +``` + +> [!note] +> With this option, you'll need to [[#Connect Your Local Clone|point the `origin` remote]] to your own repository later when you're ready to publish. + +## 2. Install Dependencies + +> [!important] +> Quartz requires **Node.js 22** or later. Check your version with `node -v` and upgrade at [nodejs.org](https://nodejs.org/) if needed. + +```bash +npm i +``` + +> [!note] +> On subsequent clones of your own repository (e.g. on a new machine), use `npm ci` instead for a faster, reproducible install from the lockfile. + +## 3. Initialize Your Site + +Run the interactive setup wizard: + +```bash +npx quartz create +``` + +This will prompt you for: + +- A **template** (`default`, `obsidian`, `ttrpg`, `blog`) — pick the one that matches your use case. See [[create#Templates]] for details on each. +- A **content strategy** — choose how to populate the `content/` folder: + - **new**: Start with an empty folder + - **copy**: Copy files from an existing folder (e.g. your Obsidian vault) + - **symlink**: Link to an existing folder so changes sync automatically +- A **base URL** — the URL where your site will be deployed (e.g. `mysite.github.io/quartz`). Don't include `https://`. +- A **link resolution** strategy — how to resolve internal links (`shortest`, `absolute`, or `relative`). Skipped for Obsidian and TTRPG templates. + +For non-interactive usage and more details, see the [[create|`quartz create` CLI reference]]. + +## 4. Install Plugins + +The template you chose references community plugins that need to be installed: + +```bash +npx quartz plugin install --from-config +``` + +This downloads and builds all plugins listed in `quartz.config.yaml` into `.quartz/plugins/`. + +> [!tip] +> If some plugins fail to build, try refreshing them to their latest versions: +> +> ```bash +> npx quartz plugin install --latest +> ``` +> +> See [[troubleshooting#Plugins fail to build on a fresh clone]] for more details. + +## 5. Preview Your Site + +```bash +npx quartz build --serve +``` + +Your site is now running at `http://localhost:8080`. The dev server watches for file changes and reloads automatically. + +At this point you can [[authoring-content|start writing content]] in the `content/` folder. When you're ready to publish, continue below to push your site to GitHub and [[hosting|deploy it]]. + +--- + +## Setting Up Your GitHub Repository + +> [!note] +> If you used **Option A** (GitHub Template) in step 1, your repository already exists and `origin` is already set. You can skip straight to [[#Push Your Site]]. + +To publish your site, you'll need your own GitHub repository. This section is for **Option B** (direct clone) users. + +### Create the Repository + +Create a new repository on [GitHub.com](https://github.com/new). Do **not** initialize it with a README, license, or `.gitignore` — Quartz already includes these files, and duplicating them will cause merge conflicts on your first push. + +![[github-init-repo-options.png]] + +Copy the repository URL from the Quick Setup page: + +![[github-quick-setup.png]] + +### Connect Your Local Clone + +Point your local Quartz at your new repository: + +```bash +# Check current remotes +git remote -v + +# Point origin to your repository +git remote set-url origin REMOTE-URL +``` + +> [!tip] +> You don't need to add an `upstream` remote manually — `npx quartz create` already configured it for you. The upstream remote is used by `npx quartz upgrade` to pull in future Quartz updates. + +### Push Your Site + +```bash +npx quartz sync --no-pull +``` + +This commits your content and pushes everything to your repository. For subsequent updates, just run: + +```bash +npx quartz sync +``` + +> [!hint] Flags and options +> For full help options, you can run `npx quartz sync --help`. +> +> Most of these have sensible defaults but you can override them if you have a custom setup: +> +> - `-d` or `--directory`: the content folder. This is normally just `content` +> - `-v` or `--verbose`: print out extra logging information +> - `--commit` or `--no-commit`: whether to make a `git` commit for your changes +> - `--push` or `--no-push`: whether to push updates to your GitHub fork of Quartz +> - `--pull` or `--no-pull`: whether to try and pull in any updates from your GitHub fork (i.e. from other devices) before pushing + +## Next Steps + +- **[[authoring-content|Authoring Content]]** — Write and organize your notes +- **[[hosting|Hosting]]** — Deploy your site to GitHub Pages, Cloudflare, Netlify, or Vercel +- **[[configuration|Configuration]]** — Customize your site's appearance and behavior diff --git a/Local/storage/thlab-notes/worker/docs/getting-started/migrating.md b/Local/storage/thlab-notes/worker/docs/getting-started/migrating.md new file mode 100644 index 0000000..6e752ce --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/getting-started/migrating.md @@ -0,0 +1,228 @@ +--- +title: "Migrating to Quartz 5" +aliases: + - "migrating from Quartz 3" + - "migrating from Quartz 4" +--- + +This guide covers migrating to Quartz 5 from previous versions. If you're already on Quartz 5 and want to update to the latest version, see [[upgrading|Upgrading Quartz]] instead. + +If you're new to Quartz entirely, skip this guide and follow the [[installation|installation guide]] instead. + +## Before You Start: Save Your Content + +Before switching branches, make sure your content is safe. Switching to v5 will replace the files in your working directory with the v5 codebase, so your v4 content folder won't be visible until you restore it. + +Copy your content folder somewhere outside the repo before switching: + +```bash +# macOS / Linux +cp -r content /tmp/quartz-content + +# Windows (PowerShell) +Copy-Item -Recurse content $env:TEMP\quartz-content +``` + +> [!note] Your old branch is preserved +> Switching branches does **not** delete your v4 (or v3/hugo) branch. You can always switch back with `git checkout v4` to access your old content and configuration. + +## Getting the v5 Branch + +Whether you're coming from Quartz 4 or Quartz 3, the first step is the same: get the v5 branch onto your machine and push it to your repository. + +```bash +# Add the official Quartz repository as a remote called "upstream" (skip if already set) +git remote add upstream https://github.com/jackyzha0/quartz.git + +# Fetch the v5 branch from the official repository +git fetch upstream v5 + +# Create a local v5 branch from the official one +git checkout -b v5 upstream/v5 + +# Install dependencies +npm i + +# Push v5 to your GitHub repository +git push -u origin v5 +``` + +## Setting Up Your Site + +Once you're on v5, run the interactive setup to configure your site and import your content: + +```bash +npx quartz create +``` + +This will prompt you for: + +- A **template** (`default`, `obsidian`, `ttrpg`, `blog`) — pick the one closest to your old setup. `obsidian` is recommended if you use an Obsidian vault. +- A **content strategy** — choose "Copy" and point it to your backed-up content folder. + +If you skipped the `create` wizard or need to restore your content manually: + +```bash +# macOS / Linux +cp -r /tmp/quartz-content/* content/ + +# Windows (PowerShell) +Copy-Item -Recurse $env:TEMP\quartz-content\* content\ +``` + +After running `create`, install all plugins referenced in the generated config: + +```bash +npx quartz plugin install --from-config +``` + +## What Changed in v5 + +Quartz 5 introduces a community plugin system that fundamentally changes how plugins and components are managed. Most plugins that were built into Quartz 4 are now standalone community plugins maintained under the [quartz-community](https://github.com/quartz-community) organization. + +Key changes: + +- **Configuration format**: TypeScript (`quartz.config.ts`, `quartz.layout.ts`) → YAML (`quartz.config.yaml`) +- **Plugin system**: Plugins are now standalone Git repositories, installed via `npx quartz plugin add` +- **Import pattern**: Community plugins use `ExternalPlugin.X()` (from `.quartz/plugins`) instead of `Plugin.X()` (from `./quartz/plugins`) +- **Layout structure**: `quartz.layout.ts` is gone — layout position is now a per-plugin property in `quartz.config.yaml` +- **Page types**: A new plugin category for page rendering (content, folder, tag pages) +- **URL casing**: All generated URLs are now lowercased and hyphenated (e.g. `My Notes/Hello World.md` → `/my-notes/hello-world`). In v4, the original casing of file and folder names was preserved in URLs. + +### URL Casing and SEO + +If your v4 site had URLs with uppercase letters, those URLs will return 404 errors after upgrading to v5. This also affects search engine indexing, since Google treats URLs as [case-sensitive](https://developers.google.com/search/docs/crawling-indexing/url-structure). + +The [[AliasRedirects]] plugin (enabled by default) automatically handles this. During build, it detects files whose original path contained uppercase characters and generates redirect pages at the old URLs. These redirect pages include proper SEO signals (``, ``, ``) so that search engines transfer ranking to the new lowercase URLs. + +No manual configuration is needed — the plugin is enabled by default and the case redirect behavior is on by default. If you want to disable it, set `enableCaseRedirects: false` in the plugin options: + +```yaml title="quartz.config.yaml" +plugins: + - source: github:quartz-community/alias-redirects + enabled: true + options: + enableCaseRedirects: false +``` + +> [!tip] Hosting on Netlify? +> Netlify automatically lowercases all URLs and issues server-side 301 redirects. If you're hosting on Netlify, the case redirect pages aren't strictly necessary, but they don't hurt either. + +> [!note] Most users don't need to worry about these details +> If you used the default Quartz 4 configuration (or only changed settings that `npx quartz create` prompts for), the setup wizard handles everything. The details below are for users who had custom plugin configurations. + +### Plugin Reference Table + +Mapping v4 plugin names to v5 equivalents: + +| v4 | v5 | Type | +| ----------------------------------- | ------------------------------------------- | --------------------- | +| `Plugin.FrontMatter()` | `ExternalPlugin.NoteProperties()` | Community | +| `Plugin.CreatedModifiedDate()` | `ExternalPlugin.CreatedModifiedDate()` | Community | +| `Plugin.SyntaxHighlighting()` | `ExternalPlugin.SyntaxHighlighting()` | Community | +| `Plugin.ObsidianFlavoredMarkdown()` | `ExternalPlugin.ObsidianFlavoredMarkdown()` | Community | +| `Plugin.GitHubFlavoredMarkdown()` | `ExternalPlugin.GitHubFlavoredMarkdown()` | Community | +| `Plugin.CrawlLinks()` | `ExternalPlugin.CrawlLinks()` | Community | +| `Plugin.Description()` | `ExternalPlugin.Description()` | Community | +| `Plugin.Latex()` | `ExternalPlugin.Latex()` | Community | +| `Plugin.RemoveDrafts()` | `ExternalPlugin.RemoveDrafts()` | Community | +| `Plugin.ContentPage()` | `ExternalPlugin.ContentPage()` | Community (pageTypes) | +| `Plugin.FolderPage()` | `ExternalPlugin.FolderPage()` | Community (pageTypes) | +| `Plugin.TagPage()` | `ExternalPlugin.TagPage()` | Community (pageTypes) | +| `Plugin.NotFoundPage()` | `Plugin.PageTypes.NotFoundPageType()` | Internal (pageTypes) | +| `Plugin.ComponentResources()` | `Plugin.ComponentResources()` (unchanged) | Internal | +| `Plugin.Assets()` | `Plugin.Assets()` (unchanged) | Internal | +| `Plugin.Static()` | `Plugin.Static()` (unchanged) | Internal | +| `Plugin.AliasRedirects()` | `ExternalPlugin.AliasRedirects()` | Community | +| `Plugin.ContentIndex()` | `ExternalPlugin.ContentIndex()` | Community | + +Component layout mapping: + +| v4 Layout | v5 Layout | +| ----------------------------- | ---------------------------------------- | +| `Component.Explorer()` | `Plugin.Explorer()` | +| `Component.Graph()` | `Plugin.Graph()` | +| `Component.Search()` | `Plugin.Search()` | +| `Component.Backlinks()` | `Plugin.Backlinks()` | +| `Component.Darkmode()` | `Plugin.Darkmode()` | +| `Component.Footer()` | `Plugin.Footer()` | +| `Component.TableOfContents()` | `Plugin.TableOfContents()` | +| `Component.Head()` | `Component.Head()` (unchanged, internal) | +| `Component.Spacer()` | `Plugin.Spacer()` | + +## Updating Your CI/CD + +Quartz 5 requires plugins to be installed before building. Add a plugin install step and (optionally) caching to your CI pipeline. + +Here's the recommended pattern, based on the project's own GitHub Actions: + +```yaml +- name: Cache dependencies + uses: actions/cache@v5 + with: + path: ~/.npm + key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node- + +- name: Cache Quartz plugins + uses: actions/cache@v5 + with: + path: .quartz/plugins + key: ${{ runner.os }}-plugins-${{ hashFiles('quartz.lock.json') }} + restore-keys: | + ${{ runner.os }}-plugins- + +- run: npm ci + +- name: Install Quartz plugins + run: npx quartz plugin install + +- name: Build Quartz + run: npx quartz build +``` + +The plugin cache uses `quartz.lock.json` as the cache key, so plugins are only re-downloaded when the lockfile changes. + +For non-GitHub CI providers (Cloudflare, Vercel, Netlify), the build command should be: + +```shell +npx quartz plugin install && npx quartz build +``` + +See [[hosting]] for provider-specific setup details. + +## Setting Your Default Branch to v5 + +After verifying your site builds and deploys correctly, update your repository's default branch to `v5`: + +1. Go to your repository on GitHub +2. Navigate to **Settings** → **General** +3. Under **Default branch**, click the switch icon next to your current default branch +4. Select `v5` from the dropdown and click **Update** +5. Confirm the change + +This ensures that new clones, pull requests, and GitHub Pages deployments all target v5 by default. Your old v4 branch remains available for reference. + +> [!warning] Update your CI triggers +> If your CI workflow triggers on a specific branch (e.g. `branches: [v4]`), make sure to update it to `v5`. See the [[hosting]] guide for examples. + +## Notes for Quartz 3 Users + +If you're coming from Quartz 3 (the Hugo-based version), follow the same steps above — get the v5 branch, run `npx quartz create`, and import your content. There is no need to go through Quartz 4 first. + +### Key changes from Quartz 3 + +1. **Hugo is gone**: Quartz now uses a Node-based static-site generation process. No more Go templates or `hugo-obsidian`. +2. **Full hot-reload**: The development server (`npx quartz build --serve`) re-processes all content on every change. +3. **JSX instead of Go templates**: Layout components are written in JSX (JavaScript XML), which is significantly easier to customize. +4. **New plugin system**: See [[configuration#Plugins|Plugins]] for details on the extensible plugin architecture. + +### Things to update + +- Update your deploy scripts — see the [[hosting]] guide. +- Ensure your default branch on GitHub is updated to `v5`. +- [[folder and tag listings|Folder and tag listings]] have changed: + - Folder descriptions go under `content//index.md` + - Tag descriptions go under `content/tags/.md` +- Custom CSS may need updates if you depended on specific HTML hierarchy or class names from Quartz 3. diff --git a/Local/storage/thlab-notes/worker/docs/getting-started/upgrading.md b/Local/storage/thlab-notes/worker/docs/getting-started/upgrading.md new file mode 100644 index 0000000..00bf5eb --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/getting-started/upgrading.md @@ -0,0 +1,40 @@ +--- +title: "Upgrading Quartz" +aliases: + - upgrading +--- + +> [!note] +> This is specifically a guide for upgrading your Quartz to a more recent update. If you are coming from Quartz 4 or Quartz 3, check out the [[migrating|migration guide]] for more info. + +To fetch the latest Quartz updates, simply run + +```bash +npx quartz upgrade +``` + +As Quartz uses [git](https://git-scm.com/) under the hood for versioning, upgrading effectively 'pulls' in the updates from the official Quartz GitHub repository. Merge conflicts in `quartz.lock.json` are handled automatically — Quartz backs up your lockfile before pulling and restores it afterward. For other files with local changes that conflict with the updates, you may need to resolve these manually yourself (or, pull manually using `git pull origin upstream`). + +> [!hint] +> Quartz will try to cache your content before upgrading to try and prevent merge conflicts. If you get a conflict mid-merge, you can stop the merge and then run `npx quartz restore` to restore your content from the cache. + +If you have the [GitHub desktop app](https://desktop.github.com/), this will automatically open to help you resolve the conflicts. Otherwise, you will need to resolve this in a text editor like VSCode. For more help on resolving conflicts manually, check out the [GitHub guide on resolving merge conflicts](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-using-the-command-line#competing-line-change-merge-conflicts). + +To update your installed plugins separately, use: + +```bash +npx quartz plugin install --latest +``` + +See the [[upgrade|CLI reference for upgrade]] for more details on available flags. + +### Cleaning Up Unused Plugins + +If you've removed plugins from your configuration during an upgrade, you can clean up the leftover files: + +```bash +npx quartz plugin prune --dry-run # preview what would be removed +npx quartz plugin prune # remove orphaned plugins +``` + +See the [[cli/plugin#prune|plugin prune reference]] for more details. diff --git a/Local/storage/thlab-notes/worker/docs/getting-started/whats-new.md b/Local/storage/thlab-notes/worker/docs/getting-started/whats-new.md new file mode 100644 index 0000000..129909f --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/getting-started/whats-new.md @@ -0,0 +1,193 @@ +--- +title: "What's New in Quartz 5" +aliases: + - "changelog" + - "v5" +--- + +Quartz 5 is a ground-up rearchitecture of Quartz focused on extensibility, performance, and Obsidian compatibility. If you're coming from v4, see [[migrating|Migrating to Quartz 5]] for the upgrade path. + +## Plugin Ecosystem + +The biggest change in v5 is the move to a **community plugin ecosystem**. Plugins are now standalone packages maintained in the [quartz-community](https://github.com/quartz-community) GitHub organization and installed via git: + +```bash +npx quartz plugin add github:quartz-community/explorer +``` + +This means: + +- **Independent versioning**: Plugins can be updated without upgrading Quartz itself +- **Community contributions**: Anyone can publish a Quartz plugin +- **Smaller core**: Quartz core is leaner; features live in plugins +- **Plugin registry**: Discover plugins via `npx quartz tui` or the [plugin registry](https://github.com/quartz-community/registry) + +Over 40 official plugins ship with Quartz, covering everything from search and graph view to encrypted pages and canvas rendering. + +## YAML Configuration + +Configuration moved from TypeScript (`quartz.config.ts`) to **YAML** (`quartz.config.yaml`): + +```yaml title="quartz.config.yaml" +configuration: + pageTitle: My Digital Garden + enableSPA: true + enablePopovers: true + locale: en-US + baseUrl: mysite.github.io + theme: + typography: + header: Schibsted Grotesk + body: Source Sans Pro + code: IBM Plex Mono +plugins: + - source: github:quartz-community/obsidian-flavored-markdown + enabled: true + order: 30 + - source: github:quartz-community/explorer + enabled: true + layout: + position: left + priority: 50 +``` + +Benefits: + +- **No TypeScript knowledge required** for basic customization +- **JSON Schema validation** — editors with YAML support show errors inline +- **Layout defined per-plugin** — each plugin declares its own position and priority +- **Templates** — `npx quartz create` offers preconfigured templates (default, obsidian, ttrpg, blog) + +For advanced options that need JavaScript (callbacks, custom components), the `quartz.ts` override system provides full programmatic control. + +## Improved Obsidian Compatibility + +Quartz 5 aims for full compatibility with Obsidian's core features: + +- **Wikilinks** — all variations including aliases, headings, block references, and pipe escaping in tables +- **Callouts** — all built-in types, collapsible variants, and nested callouts +- **Highlights** — `==highlighted text==` syntax +- **Comments** — `%%hidden comments%%` (inline and block) +- **Tags** — `#tag` and `#nested/tag` with tag pages +- **Custom task characters** — `[?]`, `[!]`, `[>]`, etc. preserved as `data-task` attributes +- **Mermaid diagrams** — rendered with expand button +- **YouTube and Tweet embeds** — via image syntax +- **Block references** — `^block-id` with broad character support +- **Video/audio embeds** — full format support (mp4, webm, ogv, mov, mkv, avi, flac, aac, etc.) +- **Canvas files** — rendered as interactive, pannable pages via the canvas-page plugin +- **Obsidian URI links** — marked with CSS class for custom styling +- **Footnotes** — via the GitHub Flavored Markdown plugin + +See [[Obsidian compatibility]] for the full list. + +## Page Type System + +Quartz 5 introduces **page types** — plugins that define how different kinds of pages are rendered: + +- **Content pages** — regular markdown notes +- **Folder pages** — directory listing pages +- **Tag pages** — pages listing notes with a given tag +- **Canvas pages** — interactive JSON Canvas renderings +- **Bases pages** — database-style views of your content + +Each page type can use a different [[layout#Page Frames|page frame]] for fundamentally different HTML structures (three-column, full-width, minimal, etc.). + +## Layout System + +The layout system is now declarative. Plugins declare their position (`left`, `right`, `beforeBody`, `afterBody`) and priority in the config: + +```yaml +plugins: + - source: github:quartz-community/explorer + layout: + position: left + priority: 50 + - source: github:quartz-community/graph + layout: + position: right + priority: 10 +``` + +Additional features: + +- **Groups** — combine components into flex rows/columns (e.g., toolbar with search + darkmode toggle) +- **Conditional rendering** — show/hide components based on page properties (`condition: not-index`, `condition: has-tags`) +- **Display modifiers** — `display: mobile-only` or `display: desktop-only` +- **Per-page-type overrides** — different layouts for content, folder, tag, and 404 pages + +## Performance + +- **Parallel processing** — markdown parsing uses a worker pool across all CPU cores +- **Incremental rebuilds** — watch mode only re-processes changed files +- **Pre-built plugins** — community plugins ship compiled `dist/` directories, skipping build-from-source on install +- **SPA routing** — client-side navigation with `micromorph` for instant page transitions +- **CDN-cached fonts** — Google Fonts with aggressive caching, or fully self-hosted with `fontOrigin: local` + +## CLI Improvements + +The CLI is simpler and more helpful: + +| Command | Description | +| -------------------------------- | --------------------------------------- | +| `npx quartz create` | Interactive setup wizard with templates | +| `npx quartz build --serve` | Build and serve with hot reload | +| `npx quartz sync` | Commit and push to GitHub | +| `npx quartz upgrade` | Pull latest Quartz updates | +| `npx quartz plugin install` | Install plugins from lockfile | +| `npx quartz plugin add ` | Add a new plugin | +| `npx quartz plugin list` | List installed plugins | +| `npx quartz plugin prune` | Remove unused plugins | + +Other improvements: + +- **Node.js version check** — clear error message if running on Node < 22 +- **Port conflict handling** — helpful message when port is already in use +- **Plugin lockfile** — `quartz.lock.json` pins plugin versions for reproducible builds +- **Concurrency control** — `--concurrency` flag for memory-constrained environments + +## Internationalization + +Quartz 5 supports multiple locales out of the box. Set `locale: ja-JP` (or any supported locale) in your config to translate all UI strings — search placeholders, "table of contents", date formatting, and more. + +## New Plugins + +Plugins new to v5 (not available in v4): + +```base +filters: + and: + - file.ext == "md" + - file.inFolder("plugins") + - note["new-in-v5"] == true +properties: + title: + displayName: Plugin + repository: + displayName: Repository + description: + displayName: Description +views: + - type: table + name: New in v5 + order: + - title + - repository + - description + sort: + - property: title + direction: ASC +``` + +## For Plugin Developers + +If you built plugins for v4, the development model has changed significantly: + +- Plugins are **standalone npm packages** with their own `package.json`, `tsconfig.json`, and build system +- The **factory function pattern** (inspired by Astro integrations) replaces class-based plugins +- **`@quartz-community/types`** provides full type safety without depending on the Quartz core +- **`@quartz-community/utils`** provides shared path, DOM, and language utilities +- **`@quartz-community/runtime`** provides browser runtime utilities +- Plugins can ship **components**, **frames**, **stylesheets**, and **client scripts** +- A **plugin template** is available at [quartz-community/plugin-template](https://github.com/quartz-community/plugin-template) + +See [[making plugins]] for the full guide. diff --git a/Local/storage/thlab-notes/worker/docs/hosting.md b/Local/storage/thlab-notes/worker/docs/hosting.md new file mode 100644 index 0000000..afae47f --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/hosting.md @@ -0,0 +1,347 @@ +--- +title: Hosting +--- + +Quartz effectively turns your Markdown files and other resources into a bundle of HTML, JS, and CSS files (a website!). + +However, if you'd like to publish your site to the world, you need a way to host it online. This guide will detail how to deploy with common hosting providers but any service that allows you to deploy static HTML should work as well. + +> [!warning] +> The rest of this guide assumes that you've already created your own GitHub repository for Quartz. If you haven't already, follow the [[installation#Setting Up Your GitHub Repository|GitHub repository setup]] section of the installation guide. + +> [!hint] +> Some Quartz features (like [[RSS Feed]] and sitemap generation) require `baseUrl` to be configured properly in your [[configuration]] to work properly. Make sure you set this before deploying! + +> [!tip] Keeping plugins in sync +> All hosting examples below use `npx quartz plugin install` to install plugins from the lockfile. If contributors may add plugins to `quartz.config.yaml` without updating the lockfile, add `npx quartz plugin install --from-config` after `install` in your build command to install any missing plugins. See [[cli/plugin#install|plugin install]] for details. + +## Cloudflare Pages + +1. Log in to the [Cloudflare dashboard](https://dash.cloudflare.com/) and select your account. +2. In Account Home, select **Compute (Workers)** > **Workers & Pages** > **Create application** > **Pages** > **Connect to Git**. +3. Select the new GitHub repository that you created and, in the **Set up builds and deployments** section, provide the following information: + +| Configuration option | Value | +| ---------------------- | ----------------------------------------------- | +| Production branch | `v5` | +| Framework preset | `None` | +| Build command | `npx quartz plugin install && npx quartz build` | +| Build output directory | `public` | + +Press "Save and deploy" and Cloudflare should have a deployed version of your site in about a minute. Then, every time you sync your Quartz changes to GitHub, your site should be updated. + +To add a custom domain, check out [Cloudflare's documentation](https://developers.cloudflare.com/pages/platform/custom-domains/). + +> [!warning] +> Cloudflare Pages performs a shallow clone by default, so if you rely on `git` for timestamps, it is recommended that you add `git fetch --unshallow &&` to the beginning of the build command (e.g., `git fetch --unshallow && npx quartz plugin install && npx quartz build`). + +> [!note] +> For more detailed CI/CD configuration including caching and plugin management, see [[migrating#Updating Your CI/CD|the migration guide]]. + +## GitHub Pages + +In your local Quartz, create a new file `quartz/.github/workflows/deploy.yml`. + +```yaml title="quartz/.github/workflows/deploy.yml" +name: Deploy Quartz site to GitHub Pages + +on: + push: + branches: + - v5 + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + with: + fetch-depth: 0 # Fetch all history for git info + - uses: actions/setup-node@v6 + with: + node-version: 24 + - name: Cache dependencies + uses: actions/cache@v5 + with: + path: ~/.npm + key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node- + - name: Cache Quartz plugins + uses: actions/cache@v5 + with: + path: .quartz/plugins + key: ${{ runner.os }}-plugins-${{ hashFiles('quartz.lock.json') }} + restore-keys: | + ${{ runner.os }}-plugins- + - name: Install Dependencies + run: npm ci + - name: Install Quartz plugins + run: npx quartz plugin install + - name: Build Quartz + run: npx quartz build + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: public + + deploy: + needs: build + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 +``` + +Then: + +1. Head to "Settings" tab of your forked repository and in the sidebar, click "Pages". Under "Source", select "GitHub Actions". +2. Commit these changes by doing `npx quartz sync`. This should deploy your site to `.github.io/`. + +> [!hint] +> If you get an error about not being allowed to deploy to `github-pages` due to environment protection rules, make sure you remove any existing GitHub pages environments. +> +> You can do this by going to your Settings page on your GitHub fork and going to the Environments tab and pressing the trash icon. The GitHub action will recreate the environment for you correctly the next time you sync your Quartz. + +> [!info] +> Quartz generates files in the format of `file.html` instead of `file/index.html` which means the trailing slashes for _non-folder paths_ are dropped. As GitHub pages does not do this redirect, this may cause existing links to your site that use trailing slashes to break. If not breaking existing links is important to you (e.g. you are migrating from Quartz 3), consider using [[#Cloudflare Pages]]. + +### Custom Domain + +Here's how to add a custom domain to your GitHub pages deployment. + +1. Head to the "Settings" tab of your forked repository. +2. In the "Code and automation" section of the sidebar, click "Pages". +3. Under "Custom Domain", type your custom domain and click "Save". +4. This next step depends on whether you are using an apex domain (`example.com`) or a subdomain (`subdomain.example.com`). + - If you are using an apex domain, navigate to your DNS provider and create an `A` record that points your apex domain to GitHub's name servers which have the following IP addresses: + - `185.199.108.153` + - `185.199.109.153` + - `185.199.110.153` + - `185.199.111.153` + - If you are using a subdomain, navigate to your DNS provider and create a `CNAME` record that points your subdomain to the default domain for your site. For example, if you want to use the subdomain `quartz.example.com` for your user site, create a `CNAME` record that points `quartz.example.com` to `.github.io`. + +![[dns records.png]]_The above shows a screenshot of Google Domains configured for both `jzhao.xyz` (an apex domain) and `quartz.jzhao.xyz` (a subdomain)._ + +See the [GitHub documentation](https://docs.github.com/en/pages/configuring-a-custom-domain-for-your-github-pages-site/managing-a-custom-domain-for-your-github-pages-site#configuring-a-subdomain) for more detail about how to setup your own custom domain with GitHub Pages. + +> [!question] Why aren't my changes showing up? +> There could be many different reasons why your changes aren't showing up but the most likely reason is that you forgot to push your changes to GitHub. +> +> Make sure you save your changes to Git and sync it to GitHub by doing `npx quartz sync`. This will also make sure to pull any updates you may have made from other devices so you have them locally. + +## Vercel + +### Fix URLs + +Before deploying to Vercel, a `vercel.json` file is required at the root of the project directory. It needs to contain the following configuration so that URLs don't require the `.html` extension: + +```json title="vercel.json" +{ + "cleanUrls": true +} +``` + +### Deploy to Vercel + +1. Log in to the [Vercel Dashboard](https://vercel.com/dashboard) and click "Add New..." > Project +2. Import the Git repository containing your Quartz project. +3. Give the project a name (lowercase characters and hyphens only) +4. Check that these configuration options are set: + +| Configuration option | Value | +| ----------------------------------------- | ----------------------------------------------- | +| Framework Preset | `Other` | +| Root Directory | `./` | +| Build and Output Settings > Build Command | `npx quartz plugin install && npx quartz build` | + +5. Press Deploy. Once it's live, you'll have 2 `*.vercel.app` URLs to view the page. + +### Custom Domain + +> [!note] +> If there is something already hosted on the domain, these steps will not work without replacing the previous content. As a workaround, you could use Next.js rewrites or use the next section to create a subdomain. + +1. Update the `baseUrl` in `quartz.config.yaml` if necessary. +2. Go to the [Domains - Dashboard](https://vercel.com/dashboard/domains) page in Vercel. +3. Connect the domain to Vercel +4. Press "Add" to connect a custom domain to Vercel. +5. Select your Quartz repository and press Continue. +6. Enter the domain you want to connect it to. +7. Follow the instructions to update your DNS records until you see "Valid Configuration" + +### Use a Subdomain + +Using `docs.example.com` is an example of a subdomain. They're a simple way of connecting multiple deployments to one domain. + +1. Update the `baseUrl` in `quartz.config.yaml` if necessary. +2. Ensure your domain has been added to the [Domains - Dashboard](https://vercel.com/dashboard/domains) page in Vercel. +3. Go to the [Vercel Dashboard](https://vercel.com/dashboard) and select your Quartz project. +4. Go to the Settings tab and then click Domains in the sidebar +5. Enter your subdomain into the field and press Add + +## Netlify + +1. Log in to the [Netlify dashboard](https://app.netlify.com/) and click "Add new site". +2. Select your Git provider and repository containing your Quartz project. +3. Under "Build command", enter `npx quartz plugin install && npx quartz build`. +4. Under "Publish directory", enter `public`. +5. Press Deploy. Once it's live, you'll have a `*.netlify.app` URL to view the page. +6. To add a custom domain, check "Domain management" in the left sidebar, just like with Vercel. + +## GitLab Pages + +In your local Quartz, create a new file `.gitlab-ci.yml`. + +```yaml title=".gitlab-ci.yml" +stages: + - build + - deploy + +image: node:24 +cache: + - key: npm-$CI_COMMIT_REF_SLUG + paths: + - .npm/ + - key: plugins-$CI_COMMIT_REF_SLUG + paths: + - .quartz/plugins/ + +build: + stage: build + rules: + - if: '$CI_COMMIT_REF_NAME == "v5"' + before_script: + - hash -r + - npm ci --cache .npm --prefer-offline + script: + - npx quartz plugin install + - npx quartz build + artifacts: + paths: + - public + +pages: + stage: deploy + rules: + - if: '$CI_COMMIT_REF_NAME == "v5"' + script: + - echo "Deploying to GitLab Pages..." + artifacts: + paths: + - public +``` + +When `.gitlab-ci.yaml` is committed, GitLab will build and deploy the website as a GitLab Page. You can find the url under `Deploy > Pages` in the sidebar. + +By default, the page is private and only visible when logged in to a GitLab account with access to the repository but can be opened in the settings under `Deploy` -> `Pages`. + +## Self-Hosting + +Copy the `public` directory to your web server and configure it to serve the files. You can use any web server to host your site. Since Quartz generates links that do not include the `.html` extension, you need to let your web server know how to deal with it. + +### Using Nginx + +Here's an example of how to do this with Nginx: + +```nginx title="nginx.conf" +server { + listen 80; + server_name example.com; + root /path/to/quartz/public; + index index.html; + error_page 404 /404.html; + + location / { + try_files $uri $uri.html $uri/ =404; + } +} +``` + +### Using Apache + +Here's an example of how to do this with Apache: + +```apache title=".htaccess" +RewriteEngine On + +ErrorDocument 404 /404.html + +# Rewrite rule for .html extension removal (with directory check) +RewriteCond %{REQUEST_FILENAME} !-f +RewriteCond %{REQUEST_FILENAME} !-d +RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI}.html -f +RewriteRule ^(.*)$ $1.html [L] + +# Handle directory requests explicitly +RewriteCond %{REQUEST_FILENAME} -d +RewriteRule ^(.*)/$ $1/index.html [L] +``` + +Don't forget to activate brotli / gzip compression. + +### Using Caddy + +Here's and example of how to do this with Caddy: + +```caddy title="Caddyfile" +example.com { + root * /path/to/quartz/public + try_files {path} {path}.html {path}/ =404 + file_server + encode gzip + + handle_errors { + rewrite * /{err.status_code}.html + file_server + } +} +``` + +## Caching + +Quartz emits CSS and JS files with content hashes in their filenames (e.g. `index-a3f2c1b.css`, `component-7d4e2f.css`). Since the filename changes whenever the content changes, these files can be cached indefinitely. HTML files should not be cached long-term since they reference the hashed filenames and need to stay fresh. + +### Cloudflare Pages / Vercel / Netlify + +These platforms handle caching automatically. No configuration is needed — hashed assets will be served with appropriate cache headers out of the box. + +### Nginx + +```nginx title="nginx.conf" +# Immutable cache for hashed assets +location ~* \.(css|js)$ { + if ($uri ~* "-[0-9a-f]{8}\.") { + add_header Cache-Control "public, max-age=31536000, immutable"; + } +} +``` + +### Caddy + +```caddy title="Caddyfile" +@hashed path_regexp hashed -[0-9a-f]{8}\.(css|js)$ +header @hashed Cache-Control "public, max-age=31536000, immutable" +``` + +### Apache + +```apache title=".htaccess" +# Immutable cache for content-hashed assets + + Header set Cache-Control "public, max-age=31536000, immutable" + +``` diff --git a/Local/storage/thlab-notes/worker/docs/images/custom-social-image-preview-dark.png b/Local/storage/thlab-notes/worker/docs/images/custom-social-image-preview-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..60c4e85c06bffeae9e2ebe3a37a68421398c42b9 GIT binary patch literal 131924 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 z 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

T_aj2!0%u<|A~*ETH7<7$!W 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 literal 0 HcmV?d00001 diff --git a/Local/storage/thlab-notes/worker/docs/images/custom-social-image-preview-light.png b/Local/storage/thlab-notes/worker/docs/images/custom-social-image-preview-light.png new file mode 100644 index 0000000000000000000000000000000000000000..046a40708c4000f8ef6d64e737da787c85026a7a GIT binary patch literal 134759 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≫&K;Q!ZVfzQ1xPVO# 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 a3O{<1f78MIRqYe-OH4>wu!R5pm;VPzscn`3 literal 0 HcmV?d00001 diff --git a/Local/storage/thlab-notes/worker/docs/images/giscus-discussion.png b/Local/storage/thlab-notes/worker/docs/images/giscus-discussion.png new file mode 100644 index 0000000000000000000000000000000000000000..939af624fd1607df00da34b745afc9f6ec8840ab GIT binary patch literal 90571 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�trDr_2^w#-(&R33+G7JJ~FS_{$R ziAKH!hJpO4ZcLgPq?=|$fpYhTe%4$D(WV$nc9avYK@>fEqy9H8{ONp^ulA~{@Bv42 zAq}Kd6k_Hi2Xi!@*{uat0spWicm-A zLv~5Z&l|ZjDx;-*H(3>BNd_OUfw#jIG2rLX*@PG+7Y!W`Z2C7EC7TnZl!4sqQxk6* zNDQ47N+yszeITZxJ3McGNhJ_@k*~E8SI)hSP55Tu^X-!}!gLHhXk*d?KgKBO8M0-m zAKVrY_B1%meXYp9rHT<3u`}SDc5LX#TA*P>c|G>_6^?=HIKS7tg+5FW?%6IgFOZ){ z@Ynl(u=@yzaOY-(gwKpKWY%AQrb;pxnf$2iGVtvvBHP(>gRe>dU^xJ#E)3lZ^a8&WpvX5m2QW-t8@y6vt|emiuE8wl&T<9@ z^qcvv0h0#GYqS>(AO(*yPC`jgV_zwX#z z+BVGZ+v?61^y+&B21wuftxmxJne*rg@U3mp2c7i$s3>jT5(;nIoWu#l3-%i1mBEFs zT}?j+gU#JjGmq@YWVSyR3o@zj&aGeBT~0n2VHMriiK*=GIs8d=j~T*qtwZc!h6OarD}bzmB@!a9i0)YyWV{$ z!G%u?#Y{3zrziZ-tpyfj=RQh)6Glb*tQ(WrWlOfV8N^-jya4wk9p~9knxBOE;;Oec za&@Hvo6CTRFzKE&Z&l5pmN027$cEB3_Nwgs9kC@N|M;Q~BbeP%&RjZ-R0J;v;;Ify zDg3Cmo5gL`ElMbl^4)&{fml0mAzu%%s$BpssP0@(s?Tti6YHeB9w99wr9-d&_PB!;2uV~*dE)$VD;M{us zS0A}7V4TB@GKR{MK{a~vre;)B0M_Xx<}pL+y!kOb?QxC)HOif#5#5X&Wd&O)+Vs=< zO|*e6<)b{t+I>uD;f#|cm5+O&M%;?YBgV?wGF%4YRhkuK-_(f~z`2<#J?a^jWy>n9 z%32{fob^j~g)isjn|(dkTRp3-HM=`906tcC(|HcU$F!%|!YSCB(62dCqYHzOxhb@X z?CIh?bTcx7?>y%C_doa8|8*!M#o*QY;73pItD5_g0&61urKzJp;9M z*2)Cdjb?zoxnhMi&@JPI!Mh*l78!No={=oMGXdZ-rNB+saC-sp(NrWu_#r#x6boA` z768vw8|9FAoWq+=rFGNzo%BqN7f;?}{~4ItC

Ut!V?mEvSLow(y6`R{J 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 literal 0 HcmV?d00001 diff --git a/Local/storage/thlab-notes/worker/docs/images/giscus-example.png b/Local/storage/thlab-notes/worker/docs/images/giscus-example.png new file mode 100644 index 0000000000000000000000000000000000000000..f59f52ba1029403ed5becbb14cf2f4913a4f4e62 GIT binary patch literal 585609 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

$?$_hR;WS!umk& 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 z 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 z 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%0A!`>Ghav4; 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%0De> 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 HGUWdOrUemf literal 0 HcmV?d00001 diff --git a/Local/storage/thlab-notes/worker/docs/images/giscus-results.png b/Local/storage/thlab-notes/worker/docs/images/giscus-results.png new file mode 100644 index 0000000000000000000000000000000000000000..b25c75158150e9febdd7d4619345589b6a540300 GIT binary patch literal 175533 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̄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 literal 0 HcmV?d00001 diff --git a/Local/storage/thlab-notes/worker/docs/images/github-quick-setup.png b/Local/storage/thlab-notes/worker/docs/images/github-quick-setup.png new file mode 100644 index 0000000000000000000000000000000000000000..5be333f133387679e62b9222f339971c25345305 GIT binary patch literal 153358 zcmaI;W0WRMumuXYIc?kB)3$BfwryL}wr!i!wr$(C@%35jyZ4+Q@7y0%m8h|H+S z9XldxJz;V(qA*aHPyhe`FydlD3IG70xj*d#2%w+yE+eu40KhLxb3s8laX~?RIR{%4 zb1P#20I{$nRd6-MQPgbB_}JJPAP6zYPDny#zeISA6P#WVF(62ip`cs?+6bs>Pz3qP z6N*0unt*kNs;GloXwVd6ZKV+~Nvs5b+RsVXS=Sk!-_N2CU+y`L*I1WIBF_ zVj+}7g6qQO17LvwgT?m8L6Z7o<6E5DT!eHdGUoX~7vf_<_$5d%wh}t)iTtVw%Z2y= zi~|@6SptQbfZ`)q@Wq&;sFA_9)N8iW6Q*&4vgi2&;(pWOrI+M3q6y^&#GLQzcHGw+ zcze{Fm-_wu#(&8Q18tG7g!!5)8gi6NLLY=K^@}V7@zS1X1MhjTV22qVRy8xs6Yl7C zGW#ZRM#fF3RptbLBl~wc*(br6*$m*TpmNj5M;B@<%)vuXpdIfBY?{6I1_ayg)eIao zoL@F~ZgN$)raa0J+=lP?PJ2mSJyCnC{2iSG{_53m5+*Drt{_#ohOaK3ab=p|qY2#P z$4Sno_T%df?rQ-_GsJpK)}V~uab3R}k)GagEomhRXMT@h`}t_k73M=S9lR{f0m5hh z_D+JblERU~@!a8^I=d=?(XjyR_y_LfG3aMeczjmsc1;QW)6U3*t>%{fg)H{Eo56d zX}7sw{^YeFE_8URJCI)d_z-{y_^8DGOmu)Ev_bD$P{n>2dNjYmiuBmkK$ild^q@-t z+k1FsAYcQLc7C-&&;*|E&}?vL?U0-RUi0Av;1dUh%peF3{HhbdMocb+`4G>ZP-Zlv9a(E&|E*DGsO*sGuH;RV8_bqpPG8L)+%4`0 zrN0OrDI1~}1a=>~0E<3UUaB1biU=DY8_cu<*)C3;*aF!aV&{&!6wwiU2~rCDGLkD& z4AOd7Ojsu|;%MxF*d5Ved}|?)0=+qmIoT=tDO6d)1HZKPq|~G`wGy?qbR~;ym4J2V zntT(b#q`44h=!46Jsf-T1eq)mEs-q=YXWT?=cqTbbvX54OuW!&-b9g-!Wnr9`SWkv z#l=PHh0ewOMd35Y1LscwimE^j)+Udp)3t&|!>0SD6tn9Yo|;ds&_crkr2PJ6_1p&GmzT}X4FyCdny;rjg~?+ z2I>Z?acWH}&&r9){3;W*MfJ@(QccFH;H8SHX^rldx+d`^b+dW1`;DcZWJ66OO;gY5 zXcII&*465@t90(!Z1Wt;?yawS;Io}we5X=})`LGB9vtD=%bd+I_>nib1i13td&NkL zVTVd5O2-c~>f7vN?%9q7_Z4v}MDwE6=(Qu@TO4n7Il*|#whg+Wy#2iW zz6rjfe(nIQxg0z4xyJascA7hk$=sBoO$m<_BP3#&PWUI>>!I8U-dyO=u+TJ+Hqf(> z;;`yiclZm0Oq`80jbsxljFX1;C*hsK3isPqYH{q!m_7w4$Y3P4h?&K2% z6Pe1{F{7gY=wNu$4snQJ&!a;du-8!zNxSD@W@;p_(VHBkrWw){V-$tWrO%0lwekkW#--O0?K83_YffHH9vD@RU+mVo zSGd!@`hPh1r1Z$jk-8-xrYI*ra;?*P8oQ*>@u?A9pwVeMIH8*S`tmeo;hdEAhWA5gk70$cp!g2TTmod*&CfhiR+hyu{WA~ot z7*0n|$E@STy)JLD;IYRRw;RXo-paD|z`5+S{`v6eY4%dI21JY9p84f0%`(#xt!7xu zwmZ&ie`(U5mDA?dmb*L4_5CrckJH=rc!Owz@^6iE_n!Z4;Mw-2@Al^Is{MifP5+W; zSj-jA5x38)(9?nAaX?993Ci?D_9Bm~w@)i&J$F`3QO)}{mAmDO%e(HCZ_~rjBad6kclEXRD0n{{GhQ0rw2#E+L#6GQ>D=)c z?UQbLw}?;Ya?bWP?XJXM;2a=yY%>*90NZ9@K1pCd*mssOHDg*f{6F=+ID9+2`o`UC z_}Ksp{nyVgHZRVONPgU!`tP8x%=$H$qQLm0Sh+Sff`TOVRII8bXedwQLExXCw))c| z8jw9Hho7I`i=Usm%{_Yh*KS&s7yKv!LEQbtt+Z*cX*=70>UlqDhVicX5d1k`Zog=C zb7F_Ma7#3PvJW<6HE|PZX#k3!HUt1*s5t=0PYdwp!2CG?0Dy9V{+~Obxw*jqPaELi ze;!U&6>b6m@BxSm@hiCjUSxs$Aqy`JlO3l`)=Ez0BPQh%5BdQj%ik{Cb4}mNOutXO zPOu+m%5njR>j5$5L;N=2BPL?+9~ymqSAL$jplXMxNY#yK;O1UjRQ~o*{@m);>0~IL zHxI-P@WaQ4fB^cB%SSQ--Dfg1tuY!12p~TnJp6xL2=GBdNBsXO;RpdfV4rn6Na0`o z;o$=Wjs9Eok3OG!2#DU>3|oP+e-9EMfXJBcMi%xT1NhO6i>5!?!|C)>c zH9x*J-Azn?;vx1NY2dA=joDj?2?F++_-e_aX-V}bfNJaq)q&Q3TH)vBmmNfpF(1Xv zbm`}A0wu@rj8t@iItaKd(`jXRwA)t$@@SkfJ7zr28m(_DX*?A4e;NGeE%ZF&=gxzs zH-t>l7B*4ZVTWIsiBWsWvaIH$^V^+VfWghO!xj(}%~FvTJSlzV>$G_x1~DAoHfUug+bEDVL)_$ z2qB<=p4373zvub_Occ9IvxDkX-fzOBPJn@Yn)@!pgoS0ukyS+H;#T7!q(P*tAfB{> z$cTP67c!YNI#$ldl_up)n*d0156mUC;CS#~uJk|J{I^kn9;v{L1oGDBn^#o!nAGCI zGG4)#8rVTZj}VaiQke<`PapP_u>$EG$M#%aJC-VG|Ik-$NMhn`%lb0O(5n8+Q+Hfr z_$Z7amcU?cgVrsof8Qw~qvNA1gcXj?ag`HEN?suAadhWzhzZ#Dzg0QMnYFbRP8>3l z&4Wb@0yNFygPF6)W?ikAi^g48->Lq$VSYR<1;Pl2NDq;X8SU@6K*-qHT2aOliS(g$ zhlwQPDh%IR9k^)c@*h+krg$+7>SF4oSrp49*Rv&hSX+JiROt|6dcHkr5O(YMyBF=| zXeEh%>2ZMq{1Y`1CqYK2l0j|L)JOO7nP;Y58(fkroi+(}8zoIi&+v6C^WOZD{=@eIf)e z<=%U8@d_7Unys}ZY34RG zSTc52G;mzpJE(%`nctU=lBMVVxgPOA0h2?B70oxuGifvl)2wWod;uhTsiiju_mICn zsY0RZ(?6dZxa4pN{~JUhfOrXjG>BmX2aSw?k=i$7rQm@Y-9;P7A@lX%1)0!Z6b+dj zw$q=j#Hs%!z}E;w5B;vdx?WbC!dR|72|Yua`NAqz9><1yp_IHV7-4dq;&8Zm@JV9R z>gjM8Rp{!UAeRFPSPFC43OJm{<7C4}4>;D8|0=wq9sn#87&sX8on8DrI#*qc8czp%J!#eJi|$PXg^8P8Y{{6>1hh^!?r=G9q% zhhbdIf???_+DpxP*Qtydsquzs8V{KS;XD_hqcIYq};f68<|2m>a9lf;{dk{x^P<3sW z5Yq;TeNuCBy?=4Jy0sJkGaTe#_z=+O8t{W#wF!sb3 z{%a()+#ow_$dhrdC%D+_9P$SwW=?B2Un0D$UAeDT=tkZWhDHbB|2UKUReCmuB4uckIg4&J_J9454}QfRq!}y5@VLP&vECgQ zyO0GzmdUd)Xmdn>z!&r%6iF|IK+o!_J`V4yw@x}Q?V@4;)RE z*%brq%>6RQMUhs3S-)RcF$NjNtA{L{`&ZXmOL#G?Rmmcr3ewf6w;Zf2$lh59#J~UG zh7dsAKp+lIqCP>9UVB8_8ARV7s&X#m0spk9KD?g2M8Yk%KE1=mkW4@wB{y68hCB%` z!F)18xI_i4R!@si%y9yx&ubj*%Zc^8!p1jHo9Z{%;o>X(l5aXBf6e)Bm zUqK|q*Xirkn}F9xv^g>Akn&w}{xGQ`pr=|0UzaCiq$TbHOR>Adi{-at0peMc+063Y z7U-mRH`XvGrCsA^bN{s$%-OD<)`P7z^C{21htusAG5Y{wdHP)9qL*;X_J6lqA)Vxy5 z^RQ(5@VKmz|GQ<}@rxcq!BtYxlEZZ+Ndd;#kKx2X@5A}m??gNwqByA!bh~C(TINN{ zb++E8YE~KY|3fl&;DUQ%n4r?I zVD&Y^q=xIrIYBlTFR2F$8HJA-=+MbnwSowJBpn-)qc5g1Az5g|@ztUcG?rdCZ8Y`W zYIah8-EM|-r4ZuF{$=IKt5B{z$2%WImG7nLw9astKWg@RUdQ!-VkL1G_u6s3dTjD- za?fBY`;swAa6J~oB~6laixe?@fm*??%G^L8>G3gg;rqHC2SsOsZpVQVyDPR~)Odhz z!^KkmV2-(JCLl3Ck`45y#w3G1ZAODqv*c)P=m0xRXk_Wo?gm4$Z~_d8xbJC*DSTWH zB`oMtC4<6GT)nr>ZO({Zk+>6il3K9&Li$6RR539^pCwLe^|IJWsz@F&uF6S@}Xv=eH=h$;(6%8>$eH?~=g%A}3ED#5iqyX&?|3p3YHj5UKg7RMwaZMNT{sT_4I zxgiWeXFTVDrkxp8QoWM&kwUzbN_jusVJ}uSI_D)3FgE>+q1ZnG%oORQa8CpWsY)(t zACS34iwjf_V8f``x1?a!jKbLNMx+rdU!KIXT`SoECU3{u#-60}fAQ^O4kFjb=z-N5 zD1^0LK_i_VuKf5$Qnl!HIy6*_1TjpF3L}PWpT0mreb&?^NWkpF8N!C!OH=aSf@g5^&JdHJba|6xV_UGY2;6N|X||X7(3i zgm6Ah@T)9CS_h->TiBdlo8iWl)Diml2s&`|B-mtmrM;g0n$H3Vr$hASnA@of2YMVj zbCt;o$V$RB*8K0l@vE7!SSd0^Hd;CK)|9NW!Ko7YPFQm0G(rS6*uZ&XsL;G5SDrwe z!iD>iHb}g2v_&=G1*{*Iz8c`noW;4;Zt!?8b^D8iSph%w>TAMmSvx)f$ zrN|c|gs{tTESkCOjfN#b2BE=LIzVTA4dydqzky6G=`k>VZ^&RFi*l2?BZy?Ac=j)d zF$y8BGHB~HtYWix)=uSw0~>m&iYxGx$$#HyD}BBFI+Xg~#KlJf1UaS7Qp&xb=6>hJ z{h@IKmt>-Py{i1?mhHZvPL1goz6q8{skEpLk$1XT&<2$gFbJb!FqD!v18lJ8;aw9J ztIgR$S;FxC5ZIE>m}-Y>Zgw6MM!&zP4QR>{P7)9v57-bnMUYu+ZF@%^?#q>DOK$z`dPp`+cvvl_?Hyj*veIzQ&9O6E6`5O5o!`o^iD`bc_~q>9N>u)Z6b5xm>QHAfwpfq=PhUoB6-jT3uTg-M!h1DwdXU?4}qt zVM0M+kG2AO{W5`Q1)-&CBcQgL5!u(GZa!^Zr<6~4*&i^IBFl2YxuMK%9|8+OPF;Hula0fjdnZ+wny8=S9_YnhUVE=HC4}FE;0; z$7P*%$MG^cbqIv*XV(K7t#mUy&l*8$Tt&~8r|-zPS>rYYCXCI+a4a2!^0wK zO}W&My9*(ocAl`g!Crza6O69xcbW3q_O9Q&w$W+?W1CwB^=UAR%wJfxt+$sg+fQzt zhQra^=M%ma+sM5|R_6jO&kfT&?`IV?XJ;Q+EmmhUUGpRI1#8Y`aKibP--WBYMo-Q0 zOO<03mVE65^FotttGUU`J!NGXb4)ah*RNn|fgPBKvUSexE5#q{i~^VkOPRFDCxA8OZ2gvoN_;Fw%w*KwR2&TLjM?VVq1 zp&6_;eH+ayR-sW`eHN~A52WF_heI0ap4UDnb)k4gF7G&WA4i(DjD|?pXZ=PJsLKh}<&LJemTh(r>bC}IqUDt7(y zO>o<#ry5MXJr);Le*#2vd1>om^1AD~Au9yZfFCPp4oB~-+@I#rolu`5A?Z=69=!C2 zsrEcR?ceY_IIJEMapHmG$YE)X=D?l%$2w3Jd}e%v7fSk0_;zr+S(vb3-I)z`Qx~hu zi_9J7RV?cx@8w#i!BY+4S_T6hri0X57 zA`Q>yW=gf;c*kB#QxPeANTbCDCyE3NcFlES#gNnavY3=TNxGzL(A)}=xwF7Y>{5(z zvG_axiyXOB$}3296{CuEA5Ts(p`lr zu5%GxmI05#E1jlwh;7%`Tllw@ik6mEQ_)?AB<_3{3E1V~pU?y_p1WSW7JoWQ=6zgD3)1ESc zOzw}9l6Sze_YNjm>}j#>t441J1u>+ZcMcJ#)D{(#x<0qBNMB6Nm8~nK@Og3ZF}zL@AU~&516~%TJQn1x1Hm$1>U)cG3RvlRv z$6^wcCds=uW0^iEWL%h2fe)h5y`MnHOu_Z) z%+QlTXIq2wS?Gk$h&=lb%8S)(YOf*VPEh`c0(A$F<9?pm!%~KAWp%YlTbJQ+bttw= z>!i7?g(NpJ)L&8-dZkmO*`cEGWEqdcBqu@?NzrVti&=WnsHm9!13Wl&9BU#XyM*LYpYakj3 zF6}ju>;)rR%TJx?5Sv%RgyUrj7dax#@uaNYGH=j<1ATk*$-psOO^!pMTSWUL1|JLxH35n7xmj5cu zv)f75v|Ve{M>1YF-RTkxxxA*iQJ-KzS#Rq4fWehycjjtI$>q1WltlGCUu4z(UMp0! zEHCfGh4T@lGu~`-3E7!ZAb(=s4kclPVxE#|kEaxYt-SbC?lVQ3@#Vywp=I#s%!#s~ zI9Bq1DCiQx%OpH@aPXAvF?GlHmZyo-_eif6t^K>zOY0C)*~6S)&WS6fYL&-pl4>;X zZII%ZPx-oL?qpg1Vvo*=WMMPGIkQQ|uK`}koyf^I(2oyp z+>|JMKov!%aM-1l69K_(6>WvpRK-+o;XzR0v)`mWe$`e*ki{ij$ylYDlL>hp3*GclOl?=CiEdFRyTphP-Yk~Q-Nni7n=F@WPk3y#dB$~}k&MeNqrTu}zBs%M$e_ny zYXM04+xm625+v9VYm^l6bs!ZvL)|ZXoh_T{Dk>(9YOL0qeFs+h^8Vp;IGyCNPPCDvKC3D(jl>5bCsXepSL6G-cWzv%rZc`5>3KqH zR)T8{BvW6LCQ_Cr#KfM#-O@aS*Uu(720?NHpYx|qZdwCv_6U{o;D7}ft4e7W`CXQv zQZ+d4iuWFzoSK2wySWe;o^%=cyShyV(ZO&u`vL5dKU9YAct`?o#+OgsJy-*}_Yy*i zL0&-#plE;sQpQedheM!nwHc;Ck+mlVGxbVEi$Xh*VA$+eNB{^X;Z&&uzL}GkFQnt> z;td!(f21P!UI18-Mok?~Kp+7HZj7C$wl)lOYwZDKJ#WxZPM1G0^qhQ3zSszjI4^%r%v zv%Wd7bj+SF<&$P9OfK*Gc->(ccC{mGtdNPlf{yMxG3FTcB_?2mI!=W68K$mqw( zWoX*A9j?R$mMY3$qimJJ#?H)8gj_)P)^wOBgJo(Dao|_FbiP|rteXmR`BJ_?#rh16 zS&V0ilYS-<3c*mtEbTTA2rqsE9a|1nRb*>;n9Js~3%3_~uxAnux5eJXMrthv9a=N?;ssPE=4-CEATUvr zdNbV$aHI8nLVQXGh@5j#Bl*OfJew*Z;3qG z>fOS_sx1LZs4!zq*4gU7b>dXwmAjdf{vRmWKYoc|Hp9BeO~IN(HQ$YC1gjjhFV2?g zX8r;F?R~NvuTu3#+4I`_+4*9D1zVXaRi+TJFj;Nnffn0;Bxm?G21(f048Js-9GWrV zb<6X4)3!Sg&xfw5y80^hhu>dsP1>*?v&fGos({zxVg`#;XP!y+2j0*RWB?d)zAwsQ z1c>t?SuRd1sbg6^S~yS=@Nznt`F^Yz4s+i-SvxQK^gnU#^z4co_mVl<9i|m=8pl*1 z_JYWnEJBsnb71xejL4!7yHQo^@&hoPt8T_|H`beUAJmTNjC?L~{z0tTxSi~E9!XsP6vq5CK3<+G(qw<^j%9kqr7& zbla~bgQ!VYBSvi*d<9X5O&8o1E7Ie~G#XYNb6De*>3j)*K8@%0c;-4vr8kKn$aB%F zD@%!XNln}rJJLEV8PyDoWYBf^d%Q^JTD1$a3cGSs9>Nuv4JBk?EVrXAA%I(@TspepFn!^{c*o4HwK|ah2hVK=XgP%-IssmdDSbBi;S^XSu{{`d*DCD zhBsjiRdBTkn`DyFV)xYMBiYQNrQBjfV{$W&s@5*d^S`z59aq1eYGO7QcI@9f7He{# zVUpUnIg%;V>Kk3w=fsqh`LnRr>u}hNwc6`06XH`p8O%|nY=wp8%@8d$jl1VvVt!wr zrfs+4vWcAjtdSEn6GHCacTuVAV7uts3>s{7N_m16lxv$?=>a0dufktKGBjvy?`!X8szU$!Ysy>y|)^ z8mjO7z4og%%dd}DP*BiH0aI|n?(OS)xAPBXO^O!8M?Y(3`@Pn$w)3&|mf%->8-6MY zfUZhPc*24J+TR@xB-2W<>K@oL%rnU8>PZ^1AvJPC^%EP(fSf7fUyv$hgqX(9;0}Uk z53)AP7XwlPpLy(o@JnzNoJle^8;zr<^{UECzczilqj5Ne2q9aBlm3v3)i`+$N~K{* zH~>2a5SIs_Z^2ZlcA|fjZf4XWG6;{p7hu^O_>Dt&1wTdT%y$S;h|yKUSOp=gW+}yp z^4-P~codOZoB=)pDZ@Em;sLV}wz^Xa2^P(}JK+0uk0-wcWn##taP7cP#P_y0D6%R*-$XijD0f@l zX%jPP5EVkSQ`6yqK5=U(PsF&-v1q`FY^4)l~I+bA*|wCx_$du;M8$l-)X)M@;K`3Wp1E@G7`Hb zLlN_)x#Az`GpsLAy_m&?GrBNd!?%N|`?}-n4FEvM>|p%HkisZh+{qA?Ph;^y`ArlY z)?4d*kJ>ViQF@PtimK%}$(-eKjtw!W<`B#pbvLlvyHNq63mlX1X0QYu=)f02iVoRS zaz@UmcYb0Hr=qQNotKz-UQYV<&P|Czfw3uSulaV9ELmerh4;T(3OAH|0MvxCIA$*X zK1Cp*)p_}x45lZJ8Py$UM7AohZ%-gO4g{g+qGuh z7Wnnoh-#~?!(dO677mBYXd;!KB3Fnaj9+p?u8}}sVA#N%rBLY&Cd5yE{q-l0%m8km zw5r28?_-N6qjss-G`QO8Y@ZKd)`JjIbpFEEP^Cg?soxaj08I#(5|w~WUdmYYo-yFp zHb_U!3fH||%O#(&taFijaKkQ+fb#N(4Yf}aW6P46TUVp;3yxz55_q&gg-Y|8sXj41 zm?ql=`&-JyP(Y6xmapl_&C>Yb$1CAnyS#`R!i7ULW(6D4&-PgW)4)lcLD1JMN1U?> zABkZB%%3t}wr3OT$#LkwrjD=2-!5eUB(%4S&yu=q9fl;Cu=0h%v#WwU%?70qG9Hp$D zQhzln*6-l7&nLU@K9AL*^G=n<#ENc4%f~DXBAS0czJkG0*`*4I7gz2Z8xPw2sw?!o zKbmaRph8)%@LUdOL2-Ks^5Z~OhDn=ik1S`ihLTk}Xew1vEvAitUO+9$Ja{9f?hmp< zS0{3-nw84{NJBS3k|f4g_oCtCg#2B{PfG8^hsU)qQOZW2w%RJs%%Oyg7^)wv2~gGJ z;cKjfz9=$E++Pd!Ehg0){n#5oT^OE;N~_be@tfpgwjgELJRD>NdqJHmTulY<(g%Lu#zm7{p2wKUiQ>KOTQp_ z{Q29%;6OOTZcSOzZw(3C4RR93=6p{*)W(&FF~K4sBG?u-mBRK6jPos8GT+}Lw zpE;zO_?w`?p7N%LHNXTx_!a?GbKlSwaFOAkO4iFb&|g3V35>Q*^?W4+@zDk5ymX+C zl-M$ZhVD>bm=I&pA<7lr;Ln`OMdP!n+=Kd!RuphlqG7Gb%U2T{fszVv>TVHFg9d}3 z`PRm!DlWLrYG*O&d`%4J^c(Ibi@DQDHye8a>mA!xxnLvw{4D=@T=y##Aqq3x&em zKI0BKFeH@?1-u3yVFHz0@T(|tf^x~7GzG0n_2nZ}uu*^ZmXP_(tGu5v_)H?}1pbwDK9Y~L`tD?bnC#V-k?JvKyjdg!y~vOsg-7Q z(SFn1#Uf(pedyx{*-8lImw${z#^;BybgeBR^XCVcNJJkH1vLuOm4@i2;{pP(&4dIO z5|Q`nNwE}Sq!q-$UxSw0(5FAIRnRW#Bg96KAi}_18Jp7RQPie+UEn2103$cnkyu-) zpFk>>K@_BoR;$rFrt?I24Z9JQPMUS-pcUBH7Q-4SJzADD71Kb88a1uzbCTE1TW_~d zUy0#UgH8(o8D~cNfnlrL)`=bKzMv6Q#Tof(alSjdSa?emEC6Y z_n+4-yzYagg7hnK)VJoDC}KWq*(?l1GgyRz=2c4m7*Ng z{Dog{ea9~S;9R97griVHvlUGL+lO#UsJ}x2Vb%;ePdTHB2qn>=B z)`r}<$wx=+qaYCJ27)5ZSnNV?FeABL!J{E5bQB*OOm4mUMb8? zTZwpVYNjeO8IvE>uGt1Wo7@T zISSH#Vx>-1+YyICi5MGlS!C8m9>nwM%6*yJHOJ#l7mZ3yPD7~=6}?8r?XYJToK5R@ zY;xJP?B`wtZE7i;Xut34IQf%bzvA1C1ph=EZNXgZC*bZ97d2t3Eqa^naGap zFJLCCm}#sV@U3(%_os{Lii#Evt0w^!KQ!crYhJr;?`P_pw(|3jGP}85JA+O=Oyrl$ zJiUV~*De3svhr#bzU!Y1}HpY!&?T?Q8nCiLY<)ECR*uHyVhlhtb6Y00JqIgxB?Mp{a9vfTU;Fl4@oH2^; z2w#Zc42l{mjqZ+%j{7>2LPT+Lr5(-{-CvJEs}0@Rx3^BldYDlcToV+Z&RDD)p4XkI zC5+fHKZCgK$`?RB(TdBW8Bb@{9Oh=kAjx_fLNGbd58Xu%P?nrtfPpL)AMU<=T5Gao zrl4YfIw_#kXcG99I%fpfm-xJ$^Erqu6VMAmDlIJRp0nk7+4;OB-p;U>jiT1#I;lHn>7 zd|z5jS|lkFPSUK{e%T4MJ(?mRgnXo+rYt}$h(_PcGpvx4D-ft<#=@1j+cmBf0rJ(m zM_Zl5oBlf6H&;AmSX5T7T5mj^$?G2xgrg*BYD5TfZbHC+D^rAmH}62s;*KLVZMOD=#Mk)!DwE?ymJXq(~Vboh-@r zDDN(Q3ufKcV)Ny>;mD$)s_+K}|Aou3VD+FEqEEO+eeqt=EK;v7^Zt?tewSR8=Swzjmr=_<&!Yp;i6oAvvP7deGG#MXF~dZ( zMOcw0TsL3o!l+$0w;!fx7{)#!Al zZ5Pwm>Nl|pczfO$$XyZsX|kYPq>1$Xh-8=a7xdQ?kLYXJdXIe~ffv!H6EdFuSpMdJ z>w5Tb#9FH2XNWR65A)@oymF#X1HTB zW8wNx8?HHa(^o1_VsrIHoVPX@$5|FTL&0E zW>buB#)t}W&{FU4?(lj0`z1O3Oh%gnkLAuzVSk?gXk|n$GBGyGRX6QrC{otcx~jY| zYrVyM+<`@C0jRwfw$(+F2{VKKrz+VYr}ZSq=5-QRu;zNP0|&yJMelgJM`DBm8!QsT zVKDszvP|Z8WH}S1Wo046_-;>I-X1tkH@zKwZYA(=5Dp9na0p0HTPNc+U74S&rWMOo zBp)om%z;A)qLHwngtSpP0Kvl%Rkfvd3qO3xTd>wr$rx6$h_cjMgW#oiEfy9m&?Xe= z?&L76#`kMb^$$sbV#bm+x)eM`jAZ95K0fqjw4QPh?%8ddh2?p%H{0d?G|#@b(Cevg z7tr%=D9)Dm^Cq{Ask3&iGxW8oBWlO@RJ%$;S#fcQ|DV~&sA*jH8w8@>2EVrmt;ZJ2UzfSJ_n~^;GKce*&Ytw!yGR<|v1v>hda?|4B=c;`et{2Bq#cku4eAKxS%lo?yPuDIBy@1FMYZ2dU?TWhIEQ`O2u zF!Q6%BDJ`R_raa9Vbvak4D8qcl^GO%P8>*`KOzyG{4Fc}og1G97_<+0SmY-S_5mh{0?!%Ap;6 z<+9uPCHXY(Gd3s0Kwlj&EL-ev?}_=nWJK{YjEldz-uB~3sxM<2dX~;s>&>b$n{=;R zSq!grqIi$UFJ@hxZx1GL>BBi5ZEfXi7Op@dOqkhhyG2{xZ(5$0O_v-_Ya;hw?i@%r z452L^i)ZcEUF|04sOd?<*znjtZc(UIG$^bWEFX>oK~Hb9(K@!qk+JT+(@V70VtYv@ zBl-jZlISiKkhJZ6{M1&^3%~Zk`|YE^Jb$G=oB(sqy6N`$c)nak#9FiLc=OfI*sk4zBq@wLd*2d{k(BMMp=Ea<;~j7+Y?!|sSi@uvgOvVs1^Rm zo4c)}7E%r|_U;EM)Bj+Ox8;4T&6Tb`?^2}+gI?>p;@2Puz(XU|{hRiBwISt7j?w+@ zKvu_hQ9;YVIC;zD`+StlaP3r@PgupP<;(y5YO_(F$XZE99@a4FPvdV&3XiYVV_c7i zIFxbK*rBspLAzRGh9aMbxM3OI&k4q<4^cM6mJ_65b)y%{!C61^SGT@iDRTy&_f0sS z&w&Kyq{R^|ZJ;_S;=P)#m%B;U?Fp;DlP2QC`5}p*<$n$-+>qF-u8atIeELAv%+8l2 zTw3&ja%iSqh?PEq?e}ZDVn2TV;6RA$(4L(z4?;6&;^oEAB-QijWYxBY$92o``MAN< zkjjva=rWZlX8jUP%WihGBy-Q1lfDgt7J5y}Z`=3zleYWgZtd|rlP2^Cw+LJCL`IhD z=>$bp%l;rP)Vd00w-4y&qmS1x!O7nx@p5Ev+z&I!(ixHw&;;;#F!^BvmIkU>o}Vy|$CHk&8*y^z*rdZh*!j-n%zk!4uM(I)-M0%L z2s|M`fpfjoeym?0YT#u73l;JcpN~d|b5>gIaeV0MNTEy_nWQg*kF$kCXuA#+bmhao zTCcy20OTR<1S3Kq-`E_FN|v?UU&ECvQe|Su=6|TIuDK<;k>0D*5LwVrVPj|%PqSf| z<$Or`aJHLK|5{Vf_33;`O#C8cjas7_y&wn(_}w4Heykd4j-L{24EK|o)(F0nUhAL7 zT93uMikdde{J%7nPfskG1my8lz#qrkvRDjux_$IW^Gre~(y$PH#6^5!3+Ir3UJ6eG z`MIX7a8rzjBB!s~?yFxTP%VquqJfEf6oYPWW^uVabi8JT`$OO=$|7b0zTdaMQE4-; zo!hO_JpmqzM1Bb|J3EWwJ(EGef(E$I?cGVC%1C80+4sGm?G8#pL)*33tzC?#(6sMA zaR%I)<#fLN5P)u=8pbO3%Q_p-_D#GSU7uIx>CP7}!*GhW-WwM>Ie7(^&wg`N9eWfP zX70Myp8MYRv#MP?eWlR0tG}8#I-VhjVY0kguRYW)f7OB171z6*Gj3@+UM9Y?l?D9` z1n1!gs5KL#*j{!dX+LE%Sf~Z$o6-@1Al~k_LUHpg;4vOV(-}}>2tI5(-Y}v0;MbBU zRq+wI-=5e%ZUhrk459~>eCV+)HfCfNz)$L?m(La}Y+FB)LKxufWf%;85|VC}^!I)H-g{mn}%SOlrrhK>@Z>Zik~}IYaEf zPo7;bW^VC(IR{M`NEFH-X}P9b>&z`tzCt5y%lrFag7am0zE;vozVB(tzS-f$Y*#f5 zU0YG6i9-L+-fVdBsC%b$IeryT-*Z^7ICuVBcRk+2E& z5HnG1N0HGlpZBr6Y~NNd5^wnSYPY&A&3-tXI1&g_Y0%#6hmlZB9VD1?E*va)i~hR4 z_fhea9C@#CgzRl#5N&u`DDade(w9xw7kbXEnD_HRy`dk@95-GapdjX`C3)ajIv6S3 zdh`CVgFyX;{M@wEl>8D2QDPfDIPoM}MOH0d(D7Ab^yj6z?e1YV7b2dCODE1?Rpp?o$88Pm1PA(>p zjTSnd_YC7~2KB16BZMyBi9&I!oCGz@PK=*4dOam|-Njm6@3yg?pZc%oO<%+i?1PiM zvfM_8?e4-L5en%FMLN7e30hi)LCLeJxf6q@g+@J22|tu{Yr5&Q8g1h=mx2aDzapDDD=}VNZDtGQax%_`zu)d3 z=9V5?jv+=Prwp@yW;mgge*Gez;dhze)#HCQvHK{&)C2T5tT}3QqkGEWULBx7kk^Lf zC$r@mxJO)9Hpf+3DH@)_(3qIV;$lO@_9Jiq6~*s(KG-%GWJEyFJxS`aoF58~Rk+tkdWfQSCol~n^1j#%(_ zR&CGo^@d$l?WUHFhJw1TZ1bWARnUoV!G>~+C2JtDeiqlr$udXQe6?^wS>roakPQ)* zMv)n440bQgE2f5y9OlL5zd|}4jDLeHruxFF20;%u)lIWn?GC`bGy@6&4d6q)z87kA zw(ZxM)_{V>y3EPgFftu|KP;@=Vk@&1NP;XWR7zgp`IWwHQ%SR>BtJhvi?q|UWMtkb zQ~)uc`}v+$UEhx!e$v^K>NDD_)$cUS_F4NmGwR{oVHJa3&*6?7Q&r8@cB!+auKsq@ zdCvcKTl*Ji=%fU0d-yGp>Eph9aoS(9^8C4j3X3(8Lqr`w$upHke~0E#&a2zqf533t zx#s@1URC%0e!-}jBF27(5V)Qx&B*2d9Pk^ELIKb*$6wLHH#{K~mC3Nd(K+NOFPVc2-2X?C4PG|d}n0gKb#zfh0 zIq7&9@Av|Z1oyn=qk`tQAQZhL^8{-V3 z-Qy?rOM<#njzCuiuDmad5$d^3lz`iri)&I(Lov2EXt-A4tyRuGi8>bjmiiZ9&$g_h z&dSN;dd>!5r#2ON<$nK`#?~P4yY1z*?~`p%5ljCyOk64O=CCX%$L;#P;_M0Ekce%} z^~S5R=&ii4$|^7Dx`eK7v!()Vn_teKCT}$r>X8oIyNu*vPAwNm;g~VwY&P?~V)>K( zvb2d}FTA0KZsn`UH60uU>+AMenda;Mtoifpa!gqbYOISvI(zvRvpt!t$MXjty zAegIb^KUA;ExI+2dGLAoAYRXFLcAa#kG-176mGA3ZCBQl5Fmu;dC#yPyUp&0keEaZIvZ+HC0k`D)6Cv&o;XG?Y1@ zM96-yGCW`x^@C77;%resgcY^~ZYs?u+-NS-D>bk2$idspwI>QDpmyAb?i~Z#rR_?A zEI?!$1|@|NgW^I4Y%-6fOqQZ7*p+-+`~g$&b2s>K=&z+&fVQeiw#)Lb1hh*9-nSXf zyKP1qdc&~ig)xHOy?0!ujz^q33xrpYu9?a8OI|{+`vFKo26|gy>R^!f+oAaD7Ij1w zN0=eu-!%$WMv+(`!`1ReyZ6nfw

PrTvYYvwwG>AG)XK!ZoYL|cghFVDqeF@vyseRq4J>Uni^mg4lh_07dytaZIa zQWEU+{RBKPa=BlW&JcEg_5O8V44c*Mgy+886=K_LY)|n7(p&<>nEjtD0J&w^0BCez z)N;aaLo@^9a-t|1ca&s?KQQmsJ?#hw2*y%P;$YkJctTq0+M&O0zds1`CEYIny6zYb zjawg2|G8MM`!!5jA`VXIfBSv#BH%G$nl92m%=!#R@h9$&mP-6ngp-Y-;7oNzlQD`I z^)+@ELUagj138l)lj6AMlq57}aex)_OgCjM@pA7mPV)Ie(^%iEz?dPcJl+orG*Q=j zdK<3Wu0z&TEc0@ssVCDk|8L%v4YuE?rPHJc{I753W2*L>I=c=e-YqS_*?-quFv=5$ zER_X^F$Ob$C%#??j~_JB8MOS~M$$(`nB636wzalumB)e+xD(h}tkvoOrQXV5B2>)Z zV_Dqmu9I5t>n=o5*xp~B>|&%Q<9t*MFA8KDVKxad@7IemXf0?0D5Dw!f*^%7SW$G^ z-}p^k0!1bAdD}9Z7#ME`K;iJ%o0Wy=xw0~Wjg>|Z?=4rnt#vTqcd-$n@J(hugC^B0 zx)9b(CgVt1BlWjgB0&HsL? z7>HDh`KwE|=?uN!N;71|FqgyiI60nAOHV0m>Gw2z)l|by0x`O+7QJ4l%k_#rqedqf zXf8fyWVNQkr75fIA^iSX54FAE_q;KAsQB)2{L)ju`cDEf+h(CXrtHrtsR?Kk(n%0y zp3i5HG~+<$(0oZWGn~Pz@Zvx4Pqz2^U_^_xR(56zbNMU+gHGH5wm*4(=M|umc*9Om zan#9rKR3qmDH!OAPM3!b0HT{~m*}+}vDB}>kS4DSh%i=~vEAZj%bl^doT;%~MZZJN=OOWS-nQWe+%sPy3uK^X`-bnh(^$O!@Jd=ncrZ!W>ZuIa+#AuZE zx_Zs_EzdS*6d?(g)O$uzJfK2hOFLQ7pYwhGW6n{#qi{^?b22k=6X*AGONtmDhOV8d zGL*$pTrNn%RZ<8K*!$mGy&#+4_-aF=0GBjPAzus~$Fg0v%e_A1_uR-5l5b3EWv#?M zPQBLTwSgl{Dv>~Zvdpo}%hsBV|V-C&*sf44wG#tK1OHOS4 zJ1YCTmcD#1Qe#EfA0K3*mH{0dUA0Bn-tbQU+v~TZ<3yS)uE6_ka7`8`%d)Dv+Lqgt z?AHta@LNWa48v7%w|`Hj-O z+8j^8mWc-C{YQrID;xGb+|RGZyzVzL$G6xHN-&(_al1aEJ0;qb1{}KJQuZ0(@$-{k z?=Kf!>Vi~#h=QL)Smms%_zpq#y?3Jp;jyQ!-khrkk##-q_pg}RY3bs|-55#qle7@< z*dP~eCKE~WW&SMY&nMM!#edj-Ft?+viWeP=sh=F>>zHB^N9}~d8U(D_18HD<#J#Ur z^QF@naF^@y-X>xq`eu)sA9jX+p(60RfH@3osn~70JgKHXC~Hn(;BwlZZ?&y38;_!S z@WUSaemtkNiA-?WpQr2L?Nk`2J2Uc>DVNEeWV;j4es6nvJF%e^lRoSVd^ImdFpCM6 zV7`70Y}j|$4t26Cv>6)dZd^T5P@tc>IPe49KOrbE;b@v2-tqif-~zt7@HaRRoy}{F zc0&~FDZ5I#ZWpD_4!MIt*iB|z?l(Qt{8V@BSpZYFhoWXpp8q#@TmsS^L)Fc|2jS^L zk$c{Ek97eHH=C(wPWejs|B79?&63E!Gqfkp zEa~BZ%zd#sMXgRpWw+@Rjz9i|fRquy-^Z44uT2l4Vf!AJQcnr~U?tL4OFZek+tgiW}+tJea zaqX?=vQXktMzs;((6q<(+nE89<0fWoF$1j2^{Vso!v2ziwUkuiBM=fn__@A$;a^|Q z2RzG!`f#cK&-eH#Ze34YL#!w;EdP3|t@j6h+s(GMe5sK2=N{m^_WABGw_j_I?DYS< zbMfikD@%YsYOJ$m$)uPiVg8Lu9VE~gm-ACdBVkE~5kIedyJFZE8xe(p`>|o^FX%Ll z6}}YMC!s2mr{gz|UEyJwUweF|8Pan)v}|3%DNugU=jsydi%#{(ifmN zVexq|StpM6u@NBpNMY!_%fCM4*>`@qc@cumLsQ~Owg=PJbw-Wjr+lVH*1-v$0##$0 zW?AXR3qr9AJE6#ZXxqzGY-=sGx?UK7NfKPxx^J)f-}Y{U#0z2puEBGEh90;VcNrEp zm?uck)uH}S)a9RCPYUGdbPV+6Vx_O=^N-a1?Xpb!2o-Yz?}V50?@mSMG_7)EveaCK$(^?vDoI?mE;3CtUf5dKI> zPu=mms2LWlg_TTW(ESaa2$u^ByL>yJDUM5qELGZzt@CqJ&DxjqLQibTVYBXZ*)XQ- zxWpa`1*@P@RkZ8Q~fL0VZPO?I(C6ZbQ^w0O z2%2a3=r5l0AX;$8BjUDiUJKmqp!ISMKC{;&xw?+x-$r!J4{Iy?zPB`hQl0ZX;*3(= zw^)dytvm@Eip-+zS4_RFWcJgI zKk-I&q``5X6jj;h*Ns2_lRZ7`*2|Xpm&-Do6c1LOC?cWjXXF@iVIu<&(L|z>T5GmcuIoF`Jf}|;9}(+c6S2t1_4NuH5|(0c8bXgaW!3F;?Ry^8 zeuqDu$to%3xF6uP*Y^Z$^T`Tzcs*$vruv?1pp}{`vK{OFyf#(Wt<$k>0m)~|hY=dI zV~dE?UeIoe&0g|Dnk_H*v=bC$B&5;h_vMMH@3G!D8xS(sc0EoSZ=iPi>3RhhQ|dheXXEIUj5HaI%e7fAhQVcwU|&hq%RuC}yxaayo(MrzJq#5-E_WMaTM_TY)a6vNJSW1pgV? zx7BX*-V410_!l>)80EQ6E}QrfNG2c!vc9k%J~i6K$hbecouLsXXMwdr*r~HTFZ1NF z91qLS9r~4(*sNzSkF3=WlmdO@^x`ZBK(KQ|k(D*Eg@er*(O#jd^KIi({1PWb5jdDe za^p~<7@d*Mh>#Zbv&nTi4l~HdYMFA>W?{(+J%V{sKqLwD{V8}B-O3P@V zG_BpwRkDty0r1qTD|2SVUz2P)l!HkA|tGXgWZT3HUWOnm?MyB;ZCEOEoD9~e@| zERf)(?_pNk1bQwk^Lu8qW4an;J5&b(9%r+|I-OqIO2Fd>l#3T{m$`M0=Onx5{V8q~ z6<`xlGrsBd9s53$m$}}L4v^{Quq2THx5@i)uW!~#batw*s4 zHInE5098oovARfGvQ|TBNx^5M8vSGby;J`cwqX-j320!Q?1jgZk-!Z@LJ)$7hYTi| zS*~QVTc;r{2ljA$3a3vwf5mdH;fpcA4X?eB=kPrI%;I?tBa6+A_(mq+DGO$X1@mOR zIMrT0cQkX1na?#SKl25XRqo?&tj|X)Pm7T_C|)n5K792QC&N8%D%q{Ln1~(Va;p- zeR(l{Dmn*$=98+}tX3r1G;(^~F1H>413#seLORCe!o{rXe-K-<(Q0T2;RGvI`7z?) z{c8~D0(@TZEtNi`wD*UA+^|KC3opM10cTkd?bk}Z)Sv}X$RW0QcHHMK*?w(k zqVlHRKlH+bdPh~dJy<7P z$>DQk02IhMBv~qdBLL8v8FHFCIYI;%2Ey@}40e3S^;64g?Vd8(V<;aRZ_*f_FuW{z z^_9pe}rHXS8%{6?{*sFQ&!6Agq@^1@hlJ7x}xad-22f?d}1no>>*he_!FIZ@eifo$r9ryFS0v>!oU*0$qj zzN6=zl9Hk*Uso33c(6EkB2kNL#GD{2smrMi0VL`csXmvkuH-@~XG6-KqSg{Ig%%}V)8)phG9ruT=O zc^>D#21$0gW>UMZdyS`0MJq4rd)cf+NBYJygx-@CZG8oJBVBt4_aVOS?fpMC3c?AZ zz9Q%N?p8Ch-FaGiu2*4*?F`axHaZ?6&iZ+5(;o8S>-75KHWX>O#}0xw9ir4W0|#!m z+;^_F%FJzB2*t6EGK`8qhFp-AQ!)}|4zSl=fnd=?)s?B5JT7X`c zMJ9p^sM-}5aQx9&jpO;fY&05ZgaZ;RQlL+eC1W>L#Jk&MSPi>V(=h7K`g7bjCyMQ_ zJ%6{2oKU>*--xaGu8Go%O%fQ4yO0FFXe7+0Q~Z=(@`j?VLF?7w{V&Pb)C37M83pnw-uTu<`zzUQeykOdQ&#z~6Ay>adz=RIO5N zUlZfgKt0u22rDJCu!vT>lrYk1aZ-KZ?_3gZ&k7rCE#)|0xYYu5Xh*R`6B59RF|mh^ ziRt2Y2x%TW927nG7sjkEJ~dulP_Gdoj9-%sjssB0rgjTNg@IV29Wn=`q-1Zi;DaF% zy}nW-KPO3->+}%~i?UpHf&PRx!7agE@QxvUkzmuh@lH+AF4t;^)b0jH6Xth^FH^Gw0Wl{>RjoPM#>*FN zNyyF++gb|JpSooQv(val59;4Fj_UQi*Q3NyA5B)`5H5g4{oZJ??6cVOF=5Aw0|ON{ zfy4VZ5Yx9l^*8DV`Qh?vy$ux4MqNh^V>%Ducsr25b8(mh@PXh{TB$c3lIH7~^ejE5 z0?RE66?bez(K6Jy-@+DwaksTMy&tt>GwUUt1Hs{&4hOMtItw0^&BGXxB)V2D*d$=} zR*|t@9O3uy18ZU8rsGDxenD?&7!WKb^7n#>kRp#1ZP;x=h1+mwqc~^{YjI%R8U={l zbL%k84tWD25o%Rs2a!~?6Ed;0wm63F#`5|LQH(QXwS*7_w1}&@kCxK2s;pP+0vP)f ziz^!&b+cMmhqS+JaKvL&#eEE62wmm}c(@n*ED7F82o-!lUqCA8#BGiANj+DG1dp#ZN)DWB!Mwx=Sn(Y%!>yqZEYo;AfbR z)w;vPU^HYLA?kB5)cirSC(_YC)IRkyHH2khQ@~ z<U+z;1 zC&9ky_hr!EEt<`HZ__J6}R`)@%1moI3Cg~-*wJCRGlLrM6XBqq=QBDUal8fq?Zy+O08 zXXTBc&6251UF~tft(MqeMVdwBL=03%fVL<}h$9Sp)xi&M32peeBodS1UxR6A7UBqhsPP*6f<&H zS~?;|ZFca0tQ*5!{5*553_3;hFhGq!YYdZEV7#9&DfX+C#yN?FhP91i1SLZYUO72{ zjs6o6l8>@j-Hao2O3`lR+}+XQe-3tI=_n2E@|!{Pbl%s~8D(~oLN6G0RYX7Pp}wNxEGUs9Kq(5bl%!?-scJ)>YwEhp zYEv7eKoX|Vz%)@rSzutSeXO&^E7{&0W^jZmJTZ7jqR^sT5Cal=? z9KQl!v9el_&@jT`4wVI0*V1R$zd!yyw9BnRuUN1dy8R_lKqnyO4aQ0uI6aQd@+qMs zD`*(BiTb6s<8P3Fii&Iw_NmO|y|mm`;jvP?RnGg5KoN?|&@0zA6&tk|5KyB9U)qVR z2L~hK3b|_?gXrI|OAUbb<9v?K%5>c*DK?WzqznFTZiA>@H(&j0*bx8?zvk@T=@(#U zCuSi|ARj3L!i$}PR=c&n>G>gWJ_ykmg*`q@mam|)?{Kt^UAi{owc�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 z≠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
    <~10x~SIyOV=W{lDNxV`TN90Eui* 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 X8zLcS+^c@bX8?I=6{!k|R{{S8NGUr= literal 0 HcmV?d00001 diff --git a/Local/storage/thlab-notes/worker/docs/images/social-image-preview-light.png b/Local/storage/thlab-notes/worker/docs/images/social-image-preview-light.png new file mode 100644 index 0000000000000000000000000000000000000000..ca0bdbc756b7788b9dfc000633cec0a8dc05764a GIT binary patch literal 137192 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∓3#|Od)Xr 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 MXf8I_Airb(22RWWbN~PV literal 0 HcmV?d00001 diff --git a/Local/storage/thlab-notes/worker/docs/index.md b/Local/storage/thlab-notes/worker/docs/index.md new file mode 100644 index 0000000..5353074 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/index.md @@ -0,0 +1,69 @@ +--- +title: Welcome to Quartz 5 +--- + +Quartz is a fast, batteries-included static-site generator that transforms Markdown content into fully functional websites. Thousands of students, developers, and teachers are [[showcase|already using Quartz]] to publish personal notes, websites, and [digital gardens](https://jzhao.xyz/posts/networked-thought) to the web. + +## 🪴 Get Started + +Quartz requires **at least [Node](https://nodejs.org/) v22** and `npm` v10.9.2 to function correctly. Ensure you have these installed on your machine before continuing. See the [[getting-started/index#Prerequisites|prerequisites]] for help installing them. + +> [!tip] GitHub users +> You can also use the **[GitHub template](https://github.com/jackyzha0/quartz/generate)** to create your repository in one click, then clone that instead. See [[installation#Option A Use the GitHub Template Recommended|Option A]] in the installation guide. + +```shell +# 1. Clone the Quartz repository +git clone https://github.com/jackyzha0/quartz.git +cd quartz + +# 2. Install dependencies +npm i + +# 3. Initialize your site (choose a template, set your base URL, import content) +npx quartz create + +# 4. Install plugins referenced by your chosen template +npx quartz plugin install --from-config + +# 5. Preview your site locally +npx quartz build --serve +``` + +Your site is now running at `http://localhost:8080`. From here: + +- **[[authoring-content|Write content]]** in the `content/` folder +- **[[installation|Push to GitHub]]** with `npx quartz sync` +- **[[hosting|Deploy]]** to GitHub Pages, Cloudflare, Netlify, or Vercel + +For the full walkthrough, see the [[getting-started/index|Getting Started]] guide. + +### Returning User? + +Already have a Quartz repository and cloning it on a new machine? + +```shell +git clone https://github.com//.git +cd +npm ci +npx quartz plugin install +npx quartz build --serve +``` + +> [!tip] +> If you hit build errors on a fresh clone, try `npx quartz plugin install --latest` to refresh plugins to their latest versions. See [[troubleshooting#Plugins fail to build on a fresh clone]] for details. + +## 🔧 Features + +- [[Obsidian compatibility]], [[full-text search]], [[graph view]], [[wikilinks|wikilinks, transclusions]], [[plugins/Backlinks]], [[features/Latex|Latex]], [[syntax highlighting]], [[popover previews]], [[Docker Support]], [[i18n|internationalization]], [[features/comments|comments]] and [many more](./features/) right out of the box +- Hot-reload on configuration edits and incremental rebuilds for content edits +- Simple JSX layouts and [[creating components|page components]] +- [[SPA Routing|Ridiculously fast page loads]] and tiny bundle sizes +- Fully-customizable parsing, filtering, and page generation through [[making plugins|plugins]] + +For a comprehensive list of features, visit the [features page](./features/). You can read more about the _why_ behind these features on the [[philosophy]] page and a technical overview on the [[architecture]] page. + +### 🚧 Troubleshooting + Updating + +Having trouble with Quartz? Try searching for your issue using the search feature or check the [[troubleshooting]] page. If you haven't already, [[upgrading|upgrade]] to the newest version of Quartz to see if this fixes your issue. + +If you're still having trouble, feel free to [submit an issue](https://github.com/jackyzha0/quartz/issues) if you feel you found a bug or ask for help in our [Discord Community](https://discord.gg/cRFFHYye7t). You can also browse the [[community]] page for third-party plugins and resources. diff --git a/Local/storage/thlab-notes/worker/docs/layout-components.md b/Local/storage/thlab-notes/worker/docs/layout-components.md new file mode 100644 index 0000000..ca8c68f --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/layout-components.md @@ -0,0 +1,194 @@ +--- +title: Higher-Order Layout Components +--- + +Quartz provides several higher-order components that help with layout composition and responsive design. These components wrap other components to add additional functionality or modify their behavior. + +Most common use cases can be configured directly in `quartz.config.yaml` using layout properties. For advanced scenarios requiring custom logic, you can use the TS override approach in `quartz.ts`. + +## `Flex` Component + +The `Flex` component creates a [flexible box layout](https://developer.mozilla.org/en-US/docs/Web/CSS/flex) that can arrange child components in various ways. It's particularly useful for creating responsive layouts and organizing components in rows or columns. + +### YAML Configuration + +In YAML, flex layouts are created using **groups**. Define a group in the top-level `layout.groups` section, then assign plugins to that group via their `layout.group` property: + +```yaml title="quartz.config.yaml" +plugins: + - source: github:quartz-community/search + enabled: true + layout: + position: left + priority: 20 + group: toolbar + groupOptions: + grow: true # Search will grow to fill available space + - source: github:quartz-community/darkmode + enabled: true + layout: + position: left + priority: 30 + group: toolbar # Darkmode keeps its natural size + - source: github:quartz-community/reader-mode + enabled: true + layout: + position: left + priority: 35 + group: toolbar + +layout: + groups: + toolbar: + direction: row + gap: 0.5rem +``` + +The `groupOptions` field on each plugin entry supports the following flex item properties: + +| Option | Type | Description | +| --------- | --------------------------------------------------------------- | --------------------------------------------------------- | +| `grow` | `boolean` | Whether the component should grow to fill available space | +| `shrink` | `boolean` | Whether the component should shrink if needed | +| `basis` | `string` | Initial main size of the component (e.g., `"200px"`) | +| `order` | `number` | Order in the flex container | +| `align` | `"start"` \| `"end"` \| `"center"` \| `"stretch"` | Cross-axis alignment | +| `justify` | `"start"` \| `"end"` \| `"center"` \| `"between"` \| `"around"` | Main-axis alignment | + +The top-level `layout.groups` section configures the flex container itself: + +| Option | Type | Description | +| ----------- | -------------------------------------------------------------- | ----------------------------------------- | +| `direction` | `"row"` \| `"row-reverse"` \| `"column"` \| `"column-reverse"` | Flex direction | +| `wrap` | `"nowrap"` \| `"wrap"` \| `"wrap-reverse"` | Flex wrap behavior | +| `gap` | `string` | Gap between flex items (e.g., `"0.5rem"`) | + +### TS Override + +For full programmatic control, use the `Component.Flex()` wrapper in `quartz.ts`: + +```ts title="quartz.ts (override)" +Component.Flex({ + components: [ + { + Component: Plugin.Search(), + grow: true, // Search will grow to fill available space + }, + { Component: Plugin.Darkmode() }, // Darkmode keeps its natural size + ], + direction: "row", + gap: "1rem", +}) +``` + +```typescript +type FlexConfig = { + components: { + Component: QuartzComponent + grow?: boolean + shrink?: boolean + basis?: string + order?: number + align?: "start" | "end" | "center" | "stretch" + justify?: "start" | "end" | "center" | "between" | "around" + }[] + direction?: "row" | "row-reverse" | "column" | "column-reverse" + wrap?: "nowrap" | "wrap" | "wrap-reverse" + gap?: string +} +``` + +> [!note] Overriding behavior +> Components inside `Flex` get an additional CSS class `flex-component` that adds the `display: flex` property. If you want to override this behavior, you can add a `display` property to the component's CSS class in your custom CSS file. +> +> ```scss +> .flex-component { +> display: block; // or any other display type +> } +> ``` + +## `MobileOnly` / `DesktopOnly` Components + +These components control whether a plugin is visible on mobile or desktop devices. This is useful for creating responsive layouts where certain components should only appear on specific screen sizes. + +### YAML Configuration + +In YAML, use the `display` property on a plugin's layout entry: + +```yaml title="quartz.config.yaml" +plugins: + - source: github:quartz-community/table-of-contents + enabled: true + layout: + position: right + priority: 20 + display: desktop-only # Only visible on desktop +``` + +Available `display` values: + +| Value | Description | +| -------------- | ------------------------------------- | +| `all` | Visible on all screen sizes (default) | +| `mobile-only` | Only visible on mobile devices | +| `desktop-only` | Only visible on desktop devices | + +### TS Override + +For the TS override approach, use `Component.MobileOnly()` or `Component.DesktopOnly()` wrappers: + +```ts title="quartz.ts (override)" +Component.MobileOnly(Component.Spacer()) +``` + +```ts title="quartz.ts (override)" +Component.DesktopOnly(Plugin.TableOfContents()) +``` + +## `ConditionalRender` Component + +The `ConditionalRender` component conditionally renders a plugin based on page properties. This is useful for creating dynamic layouts where components should only appear under certain conditions. + +### YAML Configuration + +In YAML, use the `condition` property on a plugin's layout entry. Quartz provides several built-in condition presets: + +```yaml title="quartz.config.yaml" +plugins: + - source: github:quartz-community/breadcrumbs + enabled: true + layout: + position: beforeBody + priority: 5 + condition: not-index # Hide breadcrumbs on the root index page +``` + +Available built-in conditions: + +| Condition | Description | +| --------------- | ----------------------------------------------------- | +| `not-index` | Only render when the page is not the root `index.md` | +| `has-tags` | Only render when the page has tags in its frontmatter | +| `has-backlinks` | Only render when the page has backlinks | +| `has-toc` | Only render when the page has a table of contents | + +### TS Override + +For custom conditions that aren't covered by the built-in presets, use `Component.ConditionalRender()` in `quartz.ts`: + +```ts title="quartz.ts (override)" +Component.ConditionalRender({ + component: Plugin.Search(), + condition: (props) => props.displayClass !== "fullpage", +}) +``` + +```typescript +type ConditionalRenderConfig = { + component: QuartzComponent + condition: (props: QuartzComponentProps) => boolean +} +``` + +> [!tip] +> You can also register custom conditions for use in YAML by calling `registerCondition()` in a plugin's initialization code. See [[making plugins]] for more details. diff --git a/Local/storage/thlab-notes/worker/docs/layout.md b/Local/storage/thlab-notes/worker/docs/layout.md new file mode 100644 index 0000000..b44bcf7 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/layout.md @@ -0,0 +1,240 @@ +--- +title: Layout +--- + +Certain emitters may also output [HTML](https://developer.mozilla.org/en-US/docs/Web/HTML) files. To enable easy customization, these emitters allow you to fully rearrange the layout of the page. + +In v5, the layout is defined in `quartz.config.yaml`. Each plugin controls its own layout position via `layout.position` and `layout.priority` fields. The top-level `layout` section provides two additional mechanisms: + +- `layout.groups` defines flex containers (like `toolbar`) that group multiple components into a single row or column. See [[layout-components]] for details. +- `layout.byPageType` contains per-page-type overrides (content, folder, tag, 404) for beforeBody, left, right sections, and optionally a `template` to control the page's [[#Page Frames|page frame]]. + +Each page is composed of multiple different sections which contain `QuartzComponents`. The following code snippet lists all of the valid sections that you can add components to: + +```typescript title="quartz/cfg.ts" +export interface FullPageLayout { + head: QuartzComponent // single component + header: QuartzComponent[] // laid out horizontally + beforeBody: QuartzComponent[] // laid out vertically + pageBody: QuartzComponent // single component + afterBody: QuartzComponent[] // laid out vertically + left: QuartzComponent[] // vertical on desktop and tablet, horizontal on mobile + right: QuartzComponent[] // vertical on desktop, horizontal on tablet and mobile + footer: QuartzComponent // single component +} +``` + +These correspond to following parts of the page: + +| Layout | Preview | +| ------------------------------- | ----------------------------------- | +| Desktop (width > 1200px) | ![[quartz-layout-desktop.png\|800]] | +| Tablet (800px < width < 1200px) | ![[quartz-layout-tablet.png\|800]] | +| Mobile (width < 800px) | ![[quartz-layout-mobile.png\|800]] | + +> [!note] +> There are two additional layout fields that are _not_ shown in the above diagram. +> +> 1. `head` is a single component that renders the `` [tag](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/head) in the HTML. This doesn't appear visually on the page and is only is responsible for metadata about the document like the tab title, scripts, and styles. +> 2. `header` is a set of components that are laid out horizontally and appears _before_ the `beforeBody` section. This enables you to replicate the old Quartz 3 header bar where the title, search bar, and dark mode toggle. By default, Quartz doesn't place any components in the `header`. + +Layout components are configured in the `layout` section of `quartz.config.yaml`. Plugins declare their position and priority, and the layout system arranges them automatically: + +```yaml title="quartz.config.yaml" +plugins: + - source: github:quartz-community/explorer + enabled: true + layout: + position: left + priority: 50 + - source: github:quartz-community/graph + enabled: true + layout: + position: right + priority: 10 + - source: github:quartz-community/search + enabled: true + layout: + position: left + priority: 20 + - source: github:quartz-community/backlinks + enabled: true + layout: + position: right + priority: 30 + - source: github:quartz-community/article-title + enabled: true + layout: + position: beforeBody + priority: 10 + - source: github:quartz-community/content-meta + enabled: true + layout: + position: beforeBody + priority: 20 + - source: github:quartz-community/tag-list + enabled: true + layout: + position: beforeBody + priority: 30 + - source: github:quartz-community/footer + enabled: true + options: + links: + GitHub: https://github.com/jackyzha0/quartz + Discord Community: https://discord.gg/cRFFHYye7t + +layout: + groups: + toolbar: + direction: row + gap: 0.5rem + byPageType: + content: {} + folder: + exclude: + - reader-mode + positions: + right: [] + tag: + exclude: + - reader-mode + positions: + right: [] + "404": + positions: + beforeBody: [] + left: [] + right: [] +``` + +### Conditional Rendering + +Plugins can specify a `condition` in their layout block to control when they appear. This uses built-in presets: + +```yaml title="quartz.config.yaml" +plugins: + - source: github:quartz-community/breadcrumbs + enabled: true + layout: + position: beforeBody + priority: 5 + condition: not-index +``` + +Available conditions: + +| Condition | Effect | +| ----------- | ---------------------------------------------------- | +| `not-index` | Hidden on the root index page, shown everywhere else | +| `has-tags` | Only shown on pages that have tags in frontmatter | + +See [[layout-components]] for more details on conditional rendering and display options. + +For advanced layout overrides using TypeScript (e.g. custom component wrappers or conditional logic), you can use the TS override in `quartz.ts`: + +```ts title="quartz.ts" +import { loadQuartzConfig, loadQuartzLayout } from "./quartz/plugins/loader/config-loader" + +const config = await loadQuartzConfig() +export default config +export const layout = await loadQuartzLayout({ + defaults: { + // override default layout for all page types + }, + byPageType: { + content: { + // override layout for content pages only + }, + folder: { + // override layout for folder pages only + }, + }, +}) +``` + +Fields defined in `defaults` can be overridden by specific entries in `byPageType`. + +Community component plugins are installed via `npx quartz plugin add github:quartz-community/`. See [[layout-components]] for built-in layout utilities (Flex, MobileOnly, DesktopOnly, etc.). + +You can also checkout the guide on [[creating components]] if you're interested in further customizing the behaviour of Quartz. + +### Page Frames + +Page frames control the overall HTML structure of a page — specifically, how the layout slots (sidebars, header, content, footer) are arranged inside the page shell. Different page types can use different frames to produce fundamentally different layouts. + +Quartz ships with three built-in frames: + +| Frame | Description | Used by | +| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------- | +| `default` | Three-column layout with left sidebar, center content (header, beforeBody, content, afterBody), right sidebar, and footer. This is the standard Quartz layout. | ContentPage, FolderPage, TagPage, BasesPage | +| `full-width` | No sidebars. Single center column spanning the full width with header, content, afterBody, and footer. | — | +| `minimal` | No sidebars, no header or beforeBody chrome. Only content and footer. | NotFoundPage (404) | + +Plugins can also provide their own frames. For example, the `canvas-page` plugin ships a `"canvas"` frame that provides a fullscreen canvas with a togglable sidebar. + +#### How frames are resolved + +Each page type can declare a default frame in its plugin source code via the `frame` property. The resolution order is: + +1. **YAML config override**: `layout.byPageType..template` in `quartz.config.yaml` +2. **Plugin-registered frame**: Frames registered by plugins via the Frame Registry (loaded from the plugin's `frames` export) +3. **Plugin declaration**: The `frame` property set in the page type plugin's source code +4. **Fallback**: `"default"` + +For example, to override canvas pages to use the minimal frame: + +```yaml title="quartz.config.yaml" +layout: + byPageType: + canvas: + template: minimal +``` + +#### Custom frames + +There are two ways to provide custom frames: + +**1. Plugin-provided frames (recommended for reusable frames):** + +Plugins can ship their own frames by declaring them in `package.json` and exporting them from a `./frames` subpath. See [[making plugins#Providing Custom Frames|the plugin guide]] for details. When a plugin with frames is installed, its frames are automatically registered in the Frame Registry and available by name. + +**2. Core frames (for project-specific frames):** + +You can also create frames directly in `quartz/components/frames/` by implementing the `PageFrame` interface and registering the frame in `quartz/components/frames/index.ts`. See the [[architecture|architecture overview]] for the full `PageFrame` interface. + +Frames are applied as a `data-frame` attribute on the `.page` element, which you can target in CSS: + +```scss +.page[data-frame="my-frame"] > #quartz-body { + /* custom grid layout */ +} +``` + +Frame CSS should be scoped with `[data-frame="name"]` selectors to avoid conflicts with other frames. + +### Layout breakpoints + +Quartz has different layouts depending on the width the screen viewing the website. + +The breakpoints for layouts can be configured in `variables.scss`. + +- `mobile`: screen width below this size will use mobile layout. +- `desktop`: screen width above this size will use desktop layout. +- Screen width between `mobile` and `desktop` width will use the tablet layout. + +```scss +$breakpoints: ( + mobile: 800px, + desktop: 1200px, +); +``` + +### Style + +Most meaningful style changes like colour scheme and font can be done simply through the [[configuration#General Configuration|general configuration]] options. However, if you'd like to make more involved style changes, you can do this by writing your own styles. Quartz uses [Sass](https://sass-lang.com/guide/) for styling. + +You can see the base style sheet in `quartz/styles/base.scss` and write your own in `quartz/styles/custom.scss`. + +> [!note] +> Some components may provide their own styling as well! Community plugins bundle their own styles. If you'd like to customize styling for a specific component, double check the component definition to see how its styles are defined. diff --git a/Local/storage/thlab-notes/worker/docs/philosophy.md b/Local/storage/thlab-notes/worker/docs/philosophy.md new file mode 100644 index 0000000..5eea400 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/philosophy.md @@ -0,0 +1,47 @@ +--- +title: Philosophy of Quartz +--- + +## A garden should be a true hypertext + +> The garden is the web as topology. Every walk through the garden creates new paths, new meanings, and when we add things to the garden we add them in a way that allows many future, unpredicted relationships. +> +> _(The Garden and the Stream)_ + +The problem with the file cabinet is that it focuses on efficiency of access and interoperability rather than generativity and creativity. Thinking is not linear, nor is it hierarchical. In fact, not many things are linear or hierarchical at all. Then why is it that most tools and thinking strategies assume a nice chronological or hierarchical order for my thought processes? + +The ideal tool for thought for me would embrace the messiness of my mind, and organically help insights emerge from chaos instead of forcing an artificial order. A rhizomatic, not arboresecent, form of note taking. + +My goal with a digital garden is not purely as an organizing system and information store (though it works nicely for that). I want my digital garden to be a playground for new ways ideas can connect together. As a result, existing formal organizing systems like Zettelkasten or the hierarchical folder structures of Notion don’t work well for me. There is way too much upfront friction that by the time I’ve thought about how to organize my thought into folders categories, I’ve lost it. + +Quartz embraces the inherent rhizomatic and web-like nature of our thinking and tries to encourage note-taking in a similar form. + +--- + +## A garden should be shared + +The goal of digital gardening should be to tap into your network’s collective intelligence to create constructive feedback loops. If done well, I have a shareable representation of my thoughts that I can send out into the world and people can respond. Even for my most half-baked thoughts, this helps me create a feedback cycle to strengthen and fully flesh out that idea. + +Quartz is designed first and foremost as a tool for publishing [digital gardens](https://jzhao.xyz/posts/networked-thought) to the web. To me, digital gardening is not just passive knowledge collection. It’s a form of expression and sharing. + +> “[One] who works with the door open gets all kinds of interruptions, but [they] also occasionally gets clues as to what the world is and what might be important.” +> — Richard Hamming + +**The goal of Quartz is to make sharing your digital garden free and simple.** + +--- + +## A garden should be your own + +At its core, Quartz is designed to be easy to use enough for non-technical people to get going but also powerful enough that senior developers can tweak it to work how they'd like it to work. + +1. If you like the default configuration of Quartz and just want to change the content, the only thing that you need to change is the contents of the `content` folder. +2. If you'd like to make basic configuration tweaks but don't want to edit source code, one can tweak the plugins and components in `quartz.config.yaml` in a guided manner to their liking. +3. If you'd like to tweak the actual source code of the underlying plugins, components, or even build process, Quartz purposefully ships its full source code to the end user to allow customization at this level too. + +Most software either confines you to either + +1. Makes it easy to tweak content but not the presentation +2. Gives you too many knobs to tune the presentation without good opinionated defaults + +**Quartz should feel powerful but ultimately be an intuitive tool fully within your control.** It should be a piece of [agentic software](https://jzhao.xyz/posts/agentic-computing). Ultimately, it should have the right affordances to nudge users towards good defaults but never dictate what the 'correct' way of using it is. diff --git a/Local/storage/thlab-notes/worker/docs/plugins/AliasRedirects.md b/Local/storage/thlab-notes/worker/docs/plugins/AliasRedirects.md new file mode 100644 index 0000000..8e53e62 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/AliasRedirects.md @@ -0,0 +1,68 @@ +--- +title: AliasRedirects +description: Generates redirect pages from frontmatter aliases and case-preserving URLs. +tags: + - plugin/emitter +image: https://images.unsplash.com/photo-1601735479770-bb5de9dbe844 +repository: "[quartz-community/alias-redirects](https://github.com/quartz-community/alias-redirects)" +enabled: true +required: false +--- + +This plugin emits HTML redirect pages so that old URLs redirect to the canonical page. It handles two types of redirects: + +1. **Frontmatter aliases**: Redirect pages for aliases defined in your content's frontmatter. +2. **Case-preserving redirects**: Automatic redirect pages for URLs that changed due to Quartz v5's lowercase slug normalization. + +### Frontmatter Aliases + +If `foo.md` has the following frontmatter: + +```md title="foo.md" +--- +title: "Foo" +aliases: + - "bar" +--- +``` + +The target `host.me/bar` will be permanently redirected to `host.me/foo`. + +The emitter supports the following frontmatter fields: + +- `aliases` +- `alias` + +### Case-Preserving Redirects + +Quartz v5 normalizes all URLs to lowercase. If you are migrating from v4 (which preserved the original casing), previously indexed URLs containing uppercase letters (e.g. `/Diary/My-Note`) would return 404 errors. + +When `enableCaseRedirects` is enabled (the default), this plugin automatically detects files whose original path differs from the lowercased slug and generates redirect pages at the original-case URL. For example, if your content directory contains `Diary/2026-01-01.md`, the plugin generates: + +- The canonical page at `/diary/2026-01-01` (produced by the normal build) +- A redirect page at `/Diary/2026-01-01` (produced by this plugin) + +The redirect page includes proper SEO signals: + +- `` for an instant redirect +- `` pointing to the lowercase URL +- `` to prevent duplicate indexing + +This preserves search engine rankings and ensures inbound links continue to work. + +> [!note] +> Case-preserving redirects have no effect on case-insensitive filesystems (macOS, Windows) where the server already resolves either casing to the same file. The plugin automatically detects the filesystem type and skips redirect generation when unnecessary. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +This plugin accepts the following configuration options: + +- `enableCaseRedirects`: If `true` (default), automatically generates redirect pages for URLs that changed casing due to v5's lowercase normalization. Set to `false` to disable this behavior. + +## API + +- Category: Emitter +- Function name: `ExternalPlugin.AliasRedirects()`. +- Source: [`quartz-community/alias-redirects`](https://github.com/quartz-community/alias-redirects) +- Install: `npx quartz plugin add github:quartz-community/alias-redirects` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/ArticleTitle.md b/Local/storage/thlab-notes/worker/docs/plugins/ArticleTitle.md new file mode 100644 index 0000000..0802c2e --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/ArticleTitle.md @@ -0,0 +1,24 @@ +--- +title: ArticleTitle +description: Renders the article title as an h1 heading. +tags: + - plugin/component +image: +repository: "[quartz-community/article-title](https://github.com/quartz-community/article-title)" +enabled: true +required: false +--- + +This plugin renders the article title from the page's frontmatter as an `

    ` heading at the top of the page content. It reads the `title` field from frontmatter (falling back to the filename if no title is set). + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +This plugin has no configuration options. + +## API + +- Category: Component +- Function name: `ExternalPlugin.ArticleTitle()`. +- Source: [`quartz-community/article-title`](https://github.com/quartz-community/article-title) +- Install: `npx quartz plugin add github:quartz-community/article-title` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/Assets.md b/Local/storage/thlab-notes/worker/docs/plugins/Assets.md new file mode 100644 index 0000000..57b41d8 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/Assets.md @@ -0,0 +1,21 @@ +--- +title: Assets +tags: + - plugin/emitter +image: https://images.unsplash.com/photo-1526304640581-d334cdbbf45e +--- + +This plugin emits all non-Markdown static assets in your content folder (like images, videos, HTML, etc). The plugin respects the `ignorePatterns` in the global [[configuration]]. + +Note that all static assets will then be accessible through its path on your generated site, i.e: `host.me/path/to/static.pdf` + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +This plugin has no configuration options. + +## API + +- Category: Emitter +- Function name: `Plugin.Assets()` (internal plugin). +- Source: [`quartz/plugins/emitters/assets.ts`](https://github.com/jackyzha0/quartz/blob/v5/quartz/plugins/emitters/assets.ts). diff --git a/Local/storage/thlab-notes/worker/docs/plugins/Backlinks.md b/Local/storage/thlab-notes/worker/docs/plugins/Backlinks.md new file mode 100644 index 0000000..e93fdb9 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/Backlinks.md @@ -0,0 +1,39 @@ +--- +title: Backlinks +description: Shows pages that link to the current page. +tags: + - plugin/component +image: +repository: "[quartz-community/backlinks](https://github.com/quartz-community/backlinks)" +enabled: true +required: false +--- + +Shows pages that link to the current page. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +See [[plugins/Backlinks]] for detailed usage information. + +## Configuration + +This plugin accepts the following configuration options: + +- `hideWhenEmpty`: Hide the backlinks section if the current page has no backlinks. Defaults to `true`. + +### Default options + +```yaml title="quartz.config.yaml" +- source: github:quartz-community/backlinks + enabled: true + options: + hideWhenEmpty: true +``` + +## API + +- Category: Component +- Function name: `ExternalPlugin.Backlinks()`. +- Source: [`quartz-community/backlinks`](https://github.com/quartz-community/backlinks) +- Install: `npx quartz plugin add github:quartz-community/backlinks` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/BasesPage.md b/Local/storage/thlab-notes/worker/docs/plugins/BasesPage.md new file mode 100644 index 0000000..6454d58 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/BasesPage.md @@ -0,0 +1,75 @@ +--- +title: BasesPage +description: Renders Obsidian Bases files as database-style views. +tags: + - plugin/pageType + - plugin/component +image: +new-in-v5: true +repository: "[quartz-community/bases-page](https://github.com/quartz-community/bases-page)" +enabled: true +required: false +--- + +This plugin provides support for [Obsidian Bases](https://obsidian.md/changelog/2025-04-15-desktop-v1.8.0/) (`.base` files) in Quartz. It reads `.base` files from your vault, resolves matching notes based on the query definition, and renders them as interactive database-like views with support for tables, lists, cards, and maps. It uses the `default` [[layout#Page Frames|page frame]] (three-column layout with sidebars). + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +## Features + +- **Table view**: Sortable columns with automatic type rendering (strings, numbers, booleans, arrays, links). +- **List view**: Compact list with metadata chips for each entry. +- **Cards view**: Card layout with optional image property support. +- **Map view**: Placeholder for future map-based visualization. +- **Multiple views**: A single `.base` file can define multiple views, displayed as switchable tabs. +- **Filters**: Recursive filter trees with `and`/`or`/`not` operators. +- **Formulas**: Computed properties via formula expressions. +- **Summaries**: Column-level aggregations (Sum, Average, Min, Max, Median, etc.). +- **Property configuration**: Custom display names for properties. +- **Link rendering**: Wikilinks and Markdown links within cell values are rendered as clickable links. + +## Interaction with `unlisted` pages + +`BasesPage` respects the `file.data.unlisted` convention written by [[UnlistedPages]] and [[EncryptedPages]]. Pages marked `unlisted: true` (or encrypted pages with `stealth: true`) are excluded from every rendered base view — table, list, board, cards, gallery, and any custom view — regardless of whether the base's filter expression would match them. Unlisted pages also cannot be dereferenced from formulas on visible pages via `.asFile()`. + +> [!note] +> Base views are **server-side rendered** HTML baked at build time. They do not update client-side after a visitor decrypts an encrypted page. Graph, explorer, and search all re-hydrate from the patched in-memory content index and show newly-unlocked pages for the rest of the browser session — base views do not, because they were materialized at build time with unlisted pages already excluded. A visitor who successfully decrypts a revealable encrypted page will see it appear in graph, explorer, and search, but **not** in any base view, until the site is rebuilt with that page listed. This is the same structural limitation that applies to backlinks, recent notes, folder listings, and tag listings. + +## Configuration + +This plugin accepts the following configuration options: + +- `defaultViewType`: The default view type when none is specified in the `.base` file. Defaults to `"table"`. +- `linkResolution`: How to resolve internal links in view renderers. Should match the `markdownLinkResolution` setting of the [[CrawlLinks]] plugin. Can be `"absolute"`, `"relative"`, or `"shortest"`. Defaults to `"shortest"`. +- `customViews`: A map of custom view renderers. Keys are view type names. These override built-in renderers for the same type, or add new view types. Requires a TS override. + +### Default options + +```yaml title="quartz.config.yaml" +- source: github:quartz-community/bases-page + enabled: true +``` + +For custom view renderers, use a TS override in `quartz.ts`: + +```ts title="quartz.ts (override)" +import * as ExternalPlugin from "./.quartz/plugins" + +// Must be placed before loadQuartzConfig() +ExternalPlugin.BasesPage({ + defaultViewType: "table", + customViews: { + myView: ({ entries, view, basesData, total, locale }) => { + // return JSX + }, + }, +}) +``` + +## API + +- Category: Page Type, Component +- Function name: `ExternalPlugin.BasesPage()`. +- Source: [`quartz-community/bases-page`](https://github.com/quartz-community/bases-page) +- Install: `npx quartz plugin add github:quartz-community/bases-page` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/Breadcrumbs.md b/Local/storage/thlab-notes/worker/docs/plugins/Breadcrumbs.md new file mode 100644 index 0000000..beb98a6 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/Breadcrumbs.md @@ -0,0 +1,45 @@ +--- +title: Breadcrumbs +description: Breadcrumb navigation trail. +tags: + - plugin/component +image: +repository: "[quartz-community/breadcrumbs](https://github.com/quartz-community/breadcrumbs)" +enabled: true +required: false +--- + +Navigation breadcrumb trail. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +See [[plugins/Breadcrumbs]] for detailed usage information. + +## Configuration + +This plugin accepts the following configuration options: + +- `spacerSymbol`: The symbol to use between breadcrumb items. Defaults to `"❯"`. +- `rootName`: The name of the root page. Defaults to `Home`. +- `resolveFrontmatterTitle`: Whether to use the `title` frontmatter field for breadcrumb items. Defaults to `true`. +- `showCurrentPage`: Whether to show the current page in the breadcrumb trail. Defaults to `true`. + +### Default options + +```yaml title="quartz.config.yaml" +- source: github:quartz-community/breadcrumbs + enabled: true + options: + spacerSymbol: "❯" + rootName: Home + resolveFrontmatterTitle: true + showCurrentPage: true +``` + +## API + +- Category: Component +- Function name: `ExternalPlugin.Breadcrumbs()`. +- Source: [`quartz-community/breadcrumbs`](https://github.com/quartz-community/breadcrumbs) +- Install: `npx quartz plugin add github:quartz-community/breadcrumbs` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/CNAME.md b/Local/storage/thlab-notes/worker/docs/plugins/CNAME.md new file mode 100644 index 0000000..c817e3a --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/CNAME.md @@ -0,0 +1,28 @@ +--- +title: CNAME +description: Emits a CNAME file for custom domain deployment. +tags: + - plugin/emitter +image: +repository: "[quartz-community/cname](https://github.com/quartz-community/cname)" +enabled: true +required: false +--- + +This plugin emits a `CNAME` record that points your subdomain to the default domain of your site. + +If you want to use a custom domain name like `quartz.example.com` for the site, then this is needed. + +See [[hosting|Hosting]] for more information. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +This plugin has no configuration options. + +## API + +- Category: Emitter +- Function name: `ExternalPlugin.CNAME()`. +- Source: [`quartz-community/cname`](https://github.com/quartz-community/cname) +- Install: `npx quartz plugin add github:quartz-community/cname` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/CanvasPage.md b/Local/storage/thlab-notes/worker/docs/plugins/CanvasPage.md new file mode 100644 index 0000000..9c98476 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/CanvasPage.md @@ -0,0 +1,59 @@ +--- +title: CanvasPage +description: Renders JSON Canvas files as interactive, pannable pages. +tags: + - plugin/pageType +image: "#7852ee" +new-in-v5: true +repository: "[quartz-community/canvas-page](https://github.com/quartz-community/canvas-page)" +enabled: true +required: false +--- + +This plugin is a page type plugin that renders [JSON Canvas](https://jsoncanvas.org) (`.canvas`) files as interactive, pannable and zoomable canvas pages. It uses a custom `"canvas"` [[layout#Page Frames|page frame]] that provides a fullscreen, always-on canvas experience with a togglable left sidebar for navigation. It supports the full [JSON Canvas 1.0 spec](https://jsoncanvas.org/spec/1.0/), including text nodes with Markdown rendering, file nodes that link to other pages in your vault, link nodes for external URLs, and group nodes for visual organization. Edges between nodes are rendered as SVG paths with optional labels, arrow markers, and colors. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +This plugin accepts the following configuration options: + +- `enableInteraction`: Whether to enable pan and zoom interaction on the canvas. Default: `true{:ts}`. +- `initialZoom`: The initial zoom level when the canvas is first displayed. Default: `1{:ts}`. +- `minZoom`: The minimum zoom level allowed when zooming out. Default: `0.1{:ts}`. +- `maxZoom`: The maximum zoom level allowed when zooming in. Default: `5{:ts}`. + +### Canvas Frame + +The canvas-page plugin provides its own `"canvas"` page frame via the [[layout#Page Frames|Frame Registry]]. This frame: + +- Renders the canvas in **fullscreen mode** by default (100vw × 100vh), giving the canvas maximum screen space — leaning into the "endless canvas" concept of JSON Canvas. +- Provides a **togglable left sidebar** that slides in from the left edge. This is the only layout slot available — it renders the same components as the `left` sidebar on content pages (e.g., Explorer, Search, Page Title). +- The sidebar toggle button (hamburger/close icon) is positioned in the top-left corner. +- Canvas controls (zoom in, zoom out, reset) are positioned on the right side. +- On mobile, the sidebar overlays the canvas rather than pushing it aside. + +Users can override this frame via `quartz.config.yaml` if needed: + +```yaml title="quartz.config.yaml" +layout: + byPageType: + canvas: + template: default # Use standard three-column layout instead +``` + +### Features + +- **Text nodes**: Render Markdown content including headings, bold, italic, strikethrough, lists, links, and code blocks via [GFM](https://github.github.com/gfm/) support. +- **File nodes**: Link to other pages in your vault. Supports popover previews on hover. +- **Link nodes**: Reference external URLs. +- **Group nodes**: Visual grouping containers with optional labels and background colors. +- **Edges**: SVG connections between nodes with optional labels, arrow markers, and colors. Supports all four sides (top, right, bottom, left) and both preset colors (1–6) and custom hex colors. +- **Togglable sidebar**: Hamburger button in the top-left corner toggles the left sidebar for navigation. Press `Escape` or click the close button to dismiss. +- **Preset colors**: Six preset colors (red, orange, yellow, green, cyan, purple) plus custom hex colors (`#RRGGBB`) for nodes and edges. + +## API + +- Category: Page Type +- Function name: `ExternalPlugin.CanvasPage()`. +- Source: [`quartz-community/canvas-page`](https://github.com/quartz-community/canvas-page) +- Install: `npx quartz plugin add github:quartz-community/canvas-page` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/Citations.md b/Local/storage/thlab-notes/worker/docs/plugins/Citations.md new file mode 100644 index 0000000..f04ffc7 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/Citations.md @@ -0,0 +1,29 @@ +--- +title: Citations +description: Academic citation and bibliography support via BibTeX. +tags: + - plugin/transformer +image: https://images.unsplash.com/photo-1582079133805-43655f026448 +repository: "[quartz-community/citations](https://github.com/quartz-community/citations)" +enabled: false +required: false +--- + +This plugin adds Citation support to Quartz. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +This plugin accepts the following configuration options: + +- `bibliographyFile`: the path to the bibliography file. Defaults to `./bibliography.bib`. This is relative to git source of your vault. +- `suppressBibliography`: whether to suppress the bibliography at the end of the document. Defaults to `false`. +- `linkCitations`: whether to link citations to the bibliography. Defaults to `false`. +- `csl`: the citation style to use. Defaults to `apa`. Reference [rehype-citation](https://rehype-citation.netlify.app/custom-csl) for more options. + +## API + +- Category: Transformer +- Function name: `ExternalPlugin.Citations()`. +- Source: [`quartz-community/citations`](https://github.com/quartz-community/citations) +- Install: `npx quartz plugin add github:quartz-community/citations` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/Comments.md b/Local/storage/thlab-notes/worker/docs/plugins/Comments.md new file mode 100644 index 0000000..a79fb8e --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/Comments.md @@ -0,0 +1,58 @@ +--- +title: Comments +description: Comment system integration (Giscus, Utterances, etc.). +tags: + - plugin/component +image: "[[giscus-results.png]]" +repository: "[quartz-community/comments](https://github.com/quartz-community/comments)" +enabled: false +required: false +--- + +Comment system (giscus, utterances, etc.). + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +See [[plugins/Comments]] for detailed usage information. + +## Configuration + +This plugin accepts the following configuration options: + +- `provider`: The comment provider to use. Currently only `giscus` is supported. +- `options`: Provider-specific options. + - `repo`: The GitHub repository to use for comments. + - `repoId`: The ID of the GitHub repository. + - `category`: The discussion category to use. + - `categoryId`: The ID of the discussion category. + - `lang`: The language for the comment system. Defaults to `en`. + - `themeUrl`: URL to a folder with custom themes. + - `lightTheme`: Filename for the light theme CSS file. Defaults to `light`. + - `darkTheme`: Filename for the dark theme CSS file. Defaults to `dark`. + - `mapping`: How to map pages to discussions. Defaults to `url`. + - `strict`: Use strict title matching. Defaults to `true`. + - `reactionsEnabled`: Whether to enable reactions for the main post. Defaults to `true`. + - `inputPosition`: Where to put the comment input box relative to the comments. Defaults to `bottom`. + +### Default options + +```yaml title="quartz.config.yaml" +- source: github:quartz-community/comments + enabled: true + options: + provider: giscus + options: + repo: jackyzha0/quartz + repoId: MDEwOlJlcG9zaXRvcnkzODcyMTMyMDg + category: Announcements + categoryId: DIC_kwDOFxRnmM4B-Xg6 + lang: en +``` + +## API + +- Category: Component +- Function name: `ExternalPlugin.Comments()`. +- Source: [`quartz-community/comments`](https://github.com/quartz-community/comments) +- Install: `npx quartz plugin add github:quartz-community/comments` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/ComponentResources.md b/Local/storage/thlab-notes/worker/docs/plugins/ComponentResources.md new file mode 100644 index 0000000..3d60c84 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/ComponentResources.md @@ -0,0 +1,19 @@ +--- +title: ComponentResources +tags: + - plugin/emitter +image: +--- + +This plugin manages and emits the static resources required for the Quartz framework. This includes CSS stylesheets and JavaScript scripts that enhance the functionality and aesthetics of the generated site. See also the `cdnCaching` option in the `theme` section of the [[configuration]]. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +This plugin has no configuration options. + +## API + +- Category: Emitter +- Function name: `Plugin.ComponentResources()` (internal plugin). +- Source: [`quartz/plugins/emitters/componentResources.ts`](https://github.com/jackyzha0/quartz/blob/v5/quartz/plugins/emitters/componentResources.ts). diff --git a/Local/storage/thlab-notes/worker/docs/plugins/ContentIndex.md b/Local/storage/thlab-notes/worker/docs/plugins/ContentIndex.md new file mode 100644 index 0000000..e2b7489 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/ContentIndex.md @@ -0,0 +1,33 @@ +--- +title: ContentIndex +description: Generates sitemap, RSS feed, and content index. +tags: + - plugin/emitter +image: +repository: "[quartz-community/content-index](https://github.com/quartz-community/content-index)" +enabled: true +required: false +--- + +This plugin emits both RSS and an XML sitemap for your site. The [[RSS Feed]] allows users to subscribe to content on your site and the sitemap allows search engines to better index your site. The plugin also emits a `contentIndex.json` file which is used by dynamic frontend components like search and graph. + +This plugin emits a comprehensive index of the site's content, generating additional resources such as a sitemap, an RSS feed, and a + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +This plugin accepts the following configuration options: + +- `enableSiteMap`: If `true` (default), generates a sitemap XML file (`sitemap.xml`) listing all site URLs for search engines in content discovery. +- `enableRSS`: If `true` (default), produces an RSS feed (`index.xml`) with recent content updates. +- `rssLimit`: Defines the maximum number of entries to include in the RSS feed, helping to focus on the most recent or relevant content. Defaults to `10`. +- `rssFullHtml`: If `true`, the RSS feed includes the full rendered HTML content of each page. Defaults to `false`. +- `rssSlug`: Slug to the generated RSS feed XML file. Defaults to `"index"`. +- `includeEmptyFiles`: If `true` (default), content files with no body text are included in the generated index and resources. + +## API + +- Category: Emitter +- Function name: `ExternalPlugin.ContentIndex()`. +- Source: [`quartz-community/content-index`](https://github.com/quartz-community/content-index) +- Install: `npx quartz plugin add github:quartz-community/content-index` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/ContentMeta.md b/Local/storage/thlab-notes/worker/docs/plugins/ContentMeta.md new file mode 100644 index 0000000..22d023d --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/ContentMeta.md @@ -0,0 +1,39 @@ +--- +title: ContentMeta +description: Displays creation date and reading time. +tags: + - plugin/component +image: +repository: "[quartz-community/content-meta](https://github.com/quartz-community/content-meta)" +enabled: true +required: false +--- + +This plugin displays content metadata below the article title, such as the creation date and estimated reading time. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +## Configuration + +This plugin accepts the following configuration options: + +- `showReadingTime`: Whether to display the estimated reading time. Defaults to `true`. +- `showComma`: Whether to display a comma between metadata items. Defaults to `true`. + +### Default options + +```yaml title="quartz.config.yaml" +- source: github:quartz-community/content-meta + enabled: true + options: + showReadingTime: true + showComma: true +``` + +## API + +- Category: Component +- Function name: `ExternalPlugin.ContentMeta()`. +- Source: [`quartz-community/content-meta`](https://github.com/quartz-community/content-meta) +- Install: `npx quartz plugin add github:quartz-community/content-meta` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/ContentPage.md b/Local/storage/thlab-notes/worker/docs/plugins/ContentPage.md new file mode 100644 index 0000000..ca3d25c --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/ContentPage.md @@ -0,0 +1,24 @@ +--- +title: ContentPage +description: Generates HTML pages for Markdown content. +tags: + - plugin/pageType +image: +repository: "[quartz-community/content-page](https://github.com/quartz-community/content-page)" +enabled: true +required: false +--- + +This plugin is a page type plugin for the Quartz framework. It generates the HTML pages for each piece of Markdown content. It emits the full-page [[layout]], including headers, footers, and body content, among others. It uses the `default` [[layout#Page Frames|page frame]] (three-column layout with sidebars). It is now configured in the `pageTypes` section of `quartz.config.yaml`. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +This plugin has no configuration options. + +## API + +- Category: Page Type +- Function name: `ExternalPlugin.ContentPage()`. +- Source: [`quartz-community/content-page`](https://github.com/quartz-community/content-page) +- Install: `npx quartz plugin add github:quartz-community/content-page` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/CrawlLinks.md b/Local/storage/thlab-notes/worker/docs/plugins/CrawlLinks.md new file mode 100644 index 0000000..bf161e4 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/CrawlLinks.md @@ -0,0 +1,37 @@ +--- +title: CrawlLinks +description: Parses and resolves internal links. Removing it is not recommended. +tags: + - plugin/transformer +image: +repository: "[quartz-community/crawl-links](https://github.com/quartz-community/crawl-links)" +enabled: true +required: true +--- + +This plugin parses links and processes them to point to the right places. It is also needed for embedded links (like images). See [[Obsidian compatibility]] for more information. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +This plugin accepts the following configuration options: + +- `markdownLinkResolution`: Sets the strategy for resolving Markdown paths, can be `"absolute"` (default), `"relative"` or `"shortest"`. You should use the same setting here as in [[Obsidian compatibility|Obsidian]]. + - `absolute`: Path relative to the root of the content folder. + - `relative`: Path relative to the file you are linking from. + - `shortest`: Name of the file. If this isn't enough to identify the file, use the full absolute path. +- `prettyLinks`: If `true` (default), simplifies links by removing folder paths, making them more user friendly (e.g. `folder/deeply/nested/note` becomes `note`). +- `openLinksInNewTab`: If `true`, configures external links to open in a new tab. Defaults to `false`. +- `lazyLoad`: If `true`, adds lazy loading to resource elements (`img`, `video`, etc.) to improve page load performance. Defaults to `false`. +- `externalLinkIcon`: Adds an icon next to external links when `true` (default) to visually distinguishing them from internal links. +- `disableBrokenWikilinks`: If `true`, internal links whose resolved slug is not present in the site (i.e. no matching file under `markdownLinkResolution`) gain an additional `broken` CSS class alongside `internal`, so they can be styled distinctly. Defaults to `false`. Applies to both wikilinks and regular Markdown links, since both are indistinguishable `` elements by the time this plugin runs. + +> [!warning] +> Removing this plugin is _not_ recommended and will likely break the page. + +## API + +- Category: Transformer +- Function name: `ExternalPlugin.CrawlLinks()`. +- Source: [`quartz-community/crawl-links`](https://github.com/quartz-community/crawl-links) +- Install: `npx quartz plugin add github:quartz-community/crawl-links` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/CreatedModifiedDate.md b/Local/storage/thlab-notes/worker/docs/plugins/CreatedModifiedDate.md new file mode 100644 index 0000000..0e93197 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/CreatedModifiedDate.md @@ -0,0 +1,34 @@ +--- +title: CreatedModifiedDate +description: Determines creation and modification dates from frontmatter, git, or filesystem. +tags: + - plugin/transformer +image: +repository: "[quartz-community/created-modified-date](https://github.com/quartz-community/created-modified-date)" +enabled: true +required: false +--- + +This plugin determines the created, modified, and published dates for a document using three potential data sources: frontmatter metadata, Git history, and the filesystem. See [[authoring content#Syntax]] for more information. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +This plugin accepts the following configuration options: + +- `priority`: The data sources to consult for date information. Highest priority first. Possible values are `"frontmatter"`, `"git"`, and `"filesystem"`. Defaults to `["frontmatter", "git", "filesystem"]`. +- `defaultDateType`: Which date type to use when displaying dates. Can be `"created"`, `"modified"`, or `"published"`. Defaults to `"modified"`. + +When loading the frontmatter, the value of [[Frontmatter#List]] is used. + +> [!warning] +> If you rely on `git` for dates, make sure `defaultDateType` is set to `modified` in the plugin's options. +> +> Depending on how you [[hosting|host]] your Quartz, the `filesystem` dates of your local files may not match the final dates. In these cases, it may be better to use `git` or `frontmatter` to guarantee correct dates. + +## API + +- Category: Transformer +- Function name: `ExternalPlugin.CreatedModifiedDate()`. +- Source: [`quartz-community/created-modified-date`](https://github.com/quartz-community/created-modified-date) +- Install: `npx quartz plugin add github:quartz-community/created-modified-date` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/CustomOgImages.md b/Local/storage/thlab-notes/worker/docs/plugins/CustomOgImages.md new file mode 100644 index 0000000..59f8a2d --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/CustomOgImages.md @@ -0,0 +1,383 @@ +--- +title: Custom OG Images +description: Generates Open Graph social preview images. +tags: + - feature/emitter +image: "[[social-image-preview-dark.png]]" +repository: "[quartz-community/og-image](https://github.com/quartz-community/og-image)" +enabled: true +required: false +--- + +The Custom OG Images emitter plugin generates social media preview images for your pages. It uses [satori](https://github.com/vercel/satori) to convert HTML/CSS into images, allowing you to create beautiful and consistent social media preview cards for your content. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +## Features + +- Automatically generates social media preview images for each page +- Supports both light and dark mode themes +- Customizable through frontmatter properties +- Fallback to default image when needed +- Full control over image design through custom components + +## Configuration + +> [!info] Info +> +> The `baseUrl` property in your [[configuration]] must be set properly for social images to work correctly, as they require absolute paths. + +This plugin accepts the following configuration options: + +```yaml title="quartz.config.yaml" +plugins: + - source: github:quartz-community/og-image + enabled: true + options: + colorScheme: lightMode # "lightMode" or "darkMode" + width: 1200 + height: 630 + excludeRoot: false +``` + +For the TS override approach (needed for custom `imageStructure`): + +```ts title="quartz.ts (override)" +import * as ExternalPlugin from "./.quartz/plugins" +import { defaultImage } from "./quartz/plugins/emitters/ogImage" + +// Must be placed before loadQuartzConfig() +ExternalPlugin.CustomOgImages({ + colorScheme: "lightMode", + width: 1200, + height: 630, + excludeRoot: false, + imageStructure: defaultImage, +}) +``` + +### Configuration Options + +| Option | Type | Default | Description | +| -------------------- | --------- | ------------------------- | ----------------------------------------------------------------- | +| `colorScheme` | string | "lightMode" | Theme to use for generating images ("darkMode" or "lightMode") | +| `width` | number | 1200 | Width of the generated image in pixels | +| `height` | number | 630 | Height of the generated image in pixels | +| `excludeRoot` | boolean | false | Whether to exclude the root index page from auto-generated images | +| `defaultTitle` | string | "Untitled" | Fallback title when a page has no title | +| `defaultDescription` | string | "No description provided" | Fallback description when a page has no description | +| `imageStructure` | component | defaultImage | Custom component to use for image generation | + +## Frontmatter Properties + +The following properties can be used to customize your link previews: + +| Property | Alias | Summary | +| ------------------- | ---------------- | ----------------------------------- | +| `socialDescription` | `description` | Description to be used for preview. | +| `socialImage` | `image`, `cover` | Link to preview image. | + +The `socialImage` property should contain a link to an image either relative to `quartz/static`, or a full URL. If you have a folder for all your images in `quartz/static/my-images`, an example for `socialImage` could be `"my-images/cover.png"`. Alternatively, you can use a fully qualified URL like `"https://example.com/cover.png"`. + +> [!info] Info +> +> The priority for what image will be used for the cover image looks like the following: `frontmatter property > generated image (if enabled) > default image`. +> +> The default image (`quartz/static/og-image.png`) will only be used as a fallback if nothing else is set. If the Custom OG Images emitter plugin is enabled, it will be treated as the new default per page, but can be overwritten by setting the `socialImage` frontmatter property for that page. + +## Customization + +You can fully customize how the images being generated look by passing your own component to `imageStructure`. This component takes JSX + some page metadata/config options and converts it to an image using [satori](https://github.com/vercel/satori). Vercel provides an [online playground](https://og-playground.vercel.app/) that can be used to preview how your JSX looks like as a picture. This is ideal for prototyping your custom design. + +### Fonts + +You will also be passed an array containing a header and a body font (where the first entry is header and the second is body). The fonts matches the ones selected in `theme.typography.header` and `theme.typography.body` from `quartz.config.yaml` and will be passed in the format required by [`satori`](https://github.com/vercel/satori). To use them in CSS, use the `.name` property (e.g. `fontFamily: fonts[1].name` to use the "body" font family). + +An example of a component using the header font could look like this: + +```tsx title="socialImage.tsx" +export const myImage: SocialImageOptions["imageStructure"] = (...) => { + return

    Cool Header!

    +} +``` + +> [!example]- Local fonts +> +> For cases where you use a local fonts under `static` folder, make sure to set the correct `@font-face` in `custom.scss` +> +> ```scss title="custom.scss" +> @font-face { +> font-family: "Newsreader"; +> font-style: normal; +> font-weight: normal; +> font-display: swap; +> src: url("/static/Newsreader.woff2") format("woff2"); +> } +> ``` +> +> Then in `quartz/util/og.tsx`, you can load the Satori fonts like so: +> +> ```tsx title="quartz/util/og.tsx" +> import { joinSegments, QUARTZ } from "../path" +> import fs from "fs" +> import path from "path" +> +> const newsreaderFontPath = joinSegments(QUARTZ, "static", "Newsreader.woff2") +> export async function getSatoriFonts(headerFont: FontSpecification, bodyFont: FontSpecification) { +> // ... rest of implementation remains same +> const fonts: SatoriOptions["fonts"] = [ +> ...headerFontData.map((data, idx) => ({ +> name: headerFontName, +> data, +> weight: headerWeights[idx], +> style: "normal" as const, +> })), +> ...bodyFontData.map((data, idx) => ({ +> name: bodyFontName, +> data, +> weight: bodyWeights[idx], +> style: "normal" as const, +> })), +> { +> name: "Newsreader", +> data: await fs.promises.readFile(path.resolve(newsreaderFontPath)), +> weight: 400, +> style: "normal" as const, +> }, +> ] +> +> return fonts +> } +> ``` +> +> This font then can be used with your custom structure. + +## Examples + +Here are some example image components you can use as a starting point: + +### Basic Example + +This example will generate images that look as follows: + +| Light | Dark | +| ------------------------------------------ | ----------------------------------------- | +| ![[custom-social-image-preview-light.png]] | ![[custom-social-image-preview-dark.png]] | + +```tsx +import { SatoriOptions } from "satori/wasm" +import { GlobalConfiguration } from "../cfg" +import { SocialImageOptions, UserOpts } from "./imageHelper" +import { QuartzPluginData } from "../plugins/vfile" + +export const customImage: SocialImageOptions["imageStructure"] = ( + cfg: GlobalConfiguration, + userOpts: UserOpts, + title: string, + description: string, + fonts: SatoriOptions["fonts"], + fileData: QuartzPluginData, +) => { + // How many characters are allowed before switching to smaller font + const fontBreakPoint = 22 + const useSmallerFont = title.length > fontBreakPoint + + const { colorScheme } = userOpts + return ( +
    +
    +

    + {title} +

    +

    + {description} +

    +
    +
    +
    + ) +} +``` + +### Advanced Example + +The following example includes a customized social image with a custom background and formatted date: + +```typescript title="custom-og.tsx" +export const og: SocialImageOptions["Component"] = ( + cfg: GlobalConfiguration, + fileData: QuartzPluginData, + { colorScheme }: Options, + title: string, + description: string, + fonts: SatoriOptions["fonts"], +) => { + let created: string | undefined + let reading: string | undefined + if (fileData.dates) { + created = formatDate(getDate(cfg, fileData)!, cfg.locale) + } + const { minutes, text: _timeTaken, words: _words } = readingTime(fileData.text!) + reading = i18n(cfg.locale).components.contentMeta.readingTime({ + minutes: Math.ceil(minutes), + }) + + const Li = [created, reading] + + return ( +
    +
    +
    + +
    +

    + {title} +

    +
      + {Li.map((item, index) => { + if (item) { + return
    • {item}
    • + } + })} +
    +
    +

    + {description} +

    +
    +
    + ) +} +``` + +## API + +- Category: Emitter +- Function name: `ExternalPlugin.CustomOgImages()`. +- Source: [`quartz-community/og-image`](https://github.com/quartz-community/og-image) +- Install: `npx quartz plugin add github:quartz-community/og-image` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/Darkmode.md b/Local/storage/thlab-notes/worker/docs/plugins/Darkmode.md new file mode 100644 index 0000000..9cf97fc --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/Darkmode.md @@ -0,0 +1,37 @@ +--- +title: Darkmode +description: Toggle between light and dark themes. +tags: + - plugin/component +image: "#0052cc" +repository: "[quartz-community/darkmode](https://github.com/quartz-community/darkmode)" +enabled: true +required: false +--- + +Dark mode toggle. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +See [[plugins/Darkmode]] for detailed usage information. + +## Configuration + +This plugin accepts the following configuration options: + +- `enabled`: Whether to enable the dark mode toggle. Defaults to `true`. + +### Default options + +```yaml title="quartz.config.yaml" +- source: github:quartz-community/darkmode + enabled: true +``` + +## API + +- Category: Component +- Function name: `ExternalPlugin.Darkmode()`. +- Source: [`quartz-community/darkmode`](https://github.com/quartz-community/darkmode) +- Install: `npx quartz plugin add github:quartz-community/darkmode` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/Description.md b/Local/storage/thlab-notes/worker/docs/plugins/Description.md new file mode 100644 index 0000000..dd04632 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/Description.md @@ -0,0 +1,30 @@ +--- +title: Description +description: Generates page descriptions for metadata and previews. +tags: + - plugin/transformer +image: +repository: "[quartz-community/description](https://github.com/quartz-community/description)" +enabled: true +required: false +--- + +This plugin generates descriptions that are used as metadata for the HTML `head`, the [[RSS Feed]] and in [[folder and tag listings]] if there is no main body content, the description is used as the text between the title and the listing. + +If the frontmatter contains a `description` property, it is used (see [[authoring content#Syntax]]). Otherwise, the plugin will do its best to use the first few sentences of the content to reach the target description length. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +This plugin accepts the following configuration options: + +- `descriptionLength`: the target length of the generated description. Default is 150 characters. The cut off happens after the first _sentence_ that ends after the given length. +- `maxDescriptionLength`: the hard maximum length of the description. If the generated description exceeds this, it is truncated with an ellipsis. Default is 300 characters. +- `replaceExternalLinks`: If `true` (default), replace external links with their domain and path in the description (e.g. `https://domain.tld/some_page/another_page?query=hello&target=world` is replaced with `domain.tld/some_page/another_page`). + +## API + +- Category: Transformer +- Function name: `ExternalPlugin.Description()`. +- Source: [`quartz-community/description`](https://github.com/quartz-community/description) +- Install: `npx quartz plugin add github:quartz-community/description` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/EncryptedPages Demo.md b/Local/storage/thlab-notes/worker/docs/plugins/EncryptedPages Demo.md new file mode 100644 index 0000000..d6bc44d --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/EncryptedPages Demo.md @@ -0,0 +1,28 @@ +--- +title: Encrypted Pages Demo +password: quartz +unlisted: true +tags: + - plugin/transformer +image: +--- + +Congratulations! You've successfully decrypted this page. 🎉 + +This is a live demo of the [[EncryptedPages]] plugin. The content you're reading was encrypted at build time using AES-256-GCM and decrypted in your browser using the Web Crypto API. This page is also `unlisted: true`, which means it was hidden from every discovery surface on the site until you entered the password. + +## What just happened? + +1. At build time, the plugin read the `password` field from this page's frontmatter and encrypted all content below the title. +2. Because this page is `unlisted: true`, the plugin emitted its metadata (slug, title, links, tags) to a separate `static/encryptedContentIndex.json` file, encrypted with this page's own password. +3. When you visited this page, you were shown a password prompt instead of the content. The page was absent from the sidebar graph, explorer, search, RSS, sitemap, backlinks, tag listings, and bases views. +4. After entering the correct password, the plugin derived an encryption key using PBKDF2 and decrypted the content client-side. +5. The plugin then used the cached password to unlock this page's entry in the shadow content index and patched the in-memory content index in place. A `content-index-updated` event was dispatched, so graph, explorer, and search re-initialized with the newly unlocked entry — if you navigate back to any other page now, you will see this page in the sidebar, the graph, and search results. Server-side rendered listings (backlinks, recent notes, tag pages, folder listings, and [[BasesPage|bases views]]) were baked into HTML at build time and will not update within this session; they will only reflect decrypted pages on a fresh build of the site. + +## Password caching + +Your password has been cached in session storage. If there were other encrypted pages on this site with the same password, the plugin would automatically try this password on each one — unlocking its content as well as its entry in the shadow content index — so you'd only need to enter it once per session. + +## Try it yourself + +To add encrypted pages to your own Quartz site, install the plugin and add a `password` field to any page's frontmatter. See [[EncryptedPages]] for full setup instructions. diff --git a/Local/storage/thlab-notes/worker/docs/plugins/EncryptedPages.md b/Local/storage/thlab-notes/worker/docs/plugins/EncryptedPages.md new file mode 100644 index 0000000..557c0d5 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/EncryptedPages.md @@ -0,0 +1,129 @@ +--- +title: EncryptedPages +description: Password-protected encrypted pages with shadow content index. +tags: + - plugin/transformer + - plugin/emitter +image: "#FF1493" +new-in-v5: true +repository: "[quartz-community/encrypted-pages](https://github.com/quartz-community/encrypted-pages)" +enabled: true +required: false +--- + +Password-protected encrypted pages. Encrypts page content at build time using AES-256-GCM and decrypts client-side with the Web Crypto API. Passwords are set per-page via frontmatter. A companion emitter writes an encrypted shadow content index so unlisted encrypted pages can be dynamically revealed in graph, explorer, and search after a successful decryption — without ever leaking their metadata to visitors who do not hold the password. + +> [!example] Live demo +> Try it yourself: [[EncryptedPages Demo]]. The password is `quartz`. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +## Usage + +Add a `password` field to any page's frontmatter to encrypt it: + +```yaml +--- +title: My Secret Page +password: mysecretpassword +--- +``` + +The page content will be encrypted at build time. Visitors must enter the correct password to view the content. + +Successful passwords are cached in the browser's session storage and automatically tried on other encrypted pages for convenience. + +### Hiding encrypted pages from discovery surfaces + +By default, encrypted pages still appear in the graph, explorer, search, RSS, sitemap, and backlinks — visitors can see the page exists and its title, but cannot read the content without the password. + +To hide an encrypted page entirely until a visitor successfully decrypts it, set `unlisted: true` in its frontmatter: + +```yaml +--- +title: My Secret Page +password: mysecretpassword +unlisted: true +--- +``` + +An unlisted page: + +- Is **absent** from `contentIndex.json`, `sitemap.xml`, the RSS feed, backlinks, recent notes, folder listings, tag listings, bases views, graph, explorer, and search. +- Is still emitted as HTML, so it remains accessible by direct URL. +- Has its metadata (slug, title, links, tags) written to a separate `static/encryptedContentIndex.json` file, encrypted with the page's own password. +- Is dynamically re-added to the in-memory content index when a visitor successfully decrypts it, so graph, explorer, and search reflect it for the rest of the browser session. Server-rendered listings — backlinks, recent notes, tag pages, folder listings, and [[BasesPage|bases views]] — remain statically hidden even after decryption because they are baked as HTML at build time. + +To make this the default for every encrypted page on your site, set `unlistWhenEncrypted: true` in the plugin options. Individual pages can then opt back in with `unlisted: false`. + +> [!note] +> The `unlisted: true` frontmatter field above only takes effect for encrypted pages when this plugin is installed. If you also want `unlisted: true` to work on **non-encrypted** pages across your site, install [[UnlistedPages]] alongside this one. The two plugins compose cleanly — when both are enabled, `unlisted: true` hides any page, encrypted or not, from every discovery surface that respects the `file.data.unlisted` convention. + +### Permanently hiding encrypted pages (`stealth`) + +By default, an `unlisted: true` encrypted page is _revealed_ in graph, explorer, and search after a visitor successfully decrypts it. This is usually what you want: the user just proved they know the password, so showing them the page in the sidebar makes sense for the rest of their session. + +If you instead want a page that stays permanently invisible — accessible only by direct URL, even to users who have successfully decrypted other pages on the same site — set `stealth: true` in its frontmatter: + +```yaml +--- +title: Deep Secret +password: mysecretpassword +stealth: true +--- +``` + +A stealth page: + +- Is **absent** from every discovery surface, same as any `unlisted` page. +- Has **no entry** in the shadow content index (`encryptedContentIndex.json`). The plugin deliberately skips stealth pages when building the shadow index. +- Stays hidden even after the visitor enters the correct password. Since there is no shadow-index entry to decrypt, there is nothing to patch into the in-memory content index — graph, explorer, and search never learn the page exists. Only the decrypted HTML is visible to the user on the page itself. +- The password is still cached in session storage, so re-visiting the same stealth page will auto-unlock it. + +`stealth: true` implies `unlisted: true` — you do not need to set both, and if you write `stealth: true, unlisted: false` the stealth flag wins. On non-encrypted pages `stealth: true` has no effect (there is no shadow index to skip). + +Use stealth pages for "secret door" content that should only reach users who already know the exact URL: private notes linked from an external wiki, personal pages you send to specific people, or anything you never want to show up in a site-internal search even to authenticated readers. + +## Configuration + +This plugin provides a transformer, an emitter, and a component. All options are set on a single config entry and shared between the transformer and the emitter — Quartz instantiates both automatically. + +- `iterations`: PBKDF2 iteration count for key derivation. Higher values are more secure but slower to unlock. Defaults to `600000`. +- `passwordField`: Frontmatter field name that holds the page password. Shared by the transformer and the emitter. Defaults to `"password"`. +- `unlistWhenEncrypted`: If `true`, every encrypted page is marked `unlisted` unless its frontmatter explicitly overrides it. Defaults to `false`. +- `outputPath`: Output path for the shadow content index, relative to Quartz's output directory. Defaults to `"static/encryptedContentIndex.json"`. + +### Component options + +- `className`: CSS class for the component wrapper. Defaults to `"encrypted-page-wrapper"`. + +### Default options + +```yaml title="quartz.config.yaml" +- source: github:quartz-community/encrypted-pages + enabled: true + options: + iterations: 600000 + passwordField: password + unlistWhenEncrypted: false + outputPath: static/encryptedContentIndex.json +``` + +> [!warning] +> The `EncryptedPages` transformer replaces the entire HAST tree of an encrypted page with an opaque ciphertext container. Any transformer that needs to read the real HTML — in particular [[CrawlLinks]], which populates the links used by backlinks and the shadow content index — must run **before** `EncryptedPages`. Use the `order` field in `quartz.config.yaml` to control this. + +## Security + +- Content is encrypted with AES-256-GCM using PBKDF2 SHA-256 key derivation. +- Plaintext is stripped from search indices, RSS feeds, and the shadow content index regardless of visibility setting. +- The shadow content index is a flat array of opaque encrypted blobs. An attacker who downloads it learns only the number of unlisted encrypted pages and the PBKDF2 iteration count — no slugs, titles, or link relationships leak. +- Passwords are set per-page in frontmatter. Avoid committing passwords to public repositories. +- This is client-side encryption of a static site. It protects against casual browsing but not against determined attackers with access to the page source. + +## API + +- Category: Transformer, Emitter +- Function name: `ExternalPlugin.EncryptedPages()`, `ExternalPlugin.EncryptedContentIndex()`. +- Source: [`quartz-community/encrypted-pages`](https://github.com/quartz-community/encrypted-pages) +- Install: `npx quartz plugin add github:quartz-community/encrypted-pages` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/ExplicitPublish.md b/Local/storage/thlab-notes/worker/docs/plugins/ExplicitPublish.md new file mode 100644 index 0000000..61da193 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/ExplicitPublish.md @@ -0,0 +1,24 @@ +--- +title: ExplicitPublish +description: "Only publishes pages explicitly marked with publish: true." +tags: + - plugin/filter +image: +repository: "[quartz-community/explicit-publish](https://github.com/quartz-community/explicit-publish)" +enabled: false +required: false +--- + +This plugin filters content based on an explicit `publish` flag in the frontmatter, allowing only content that is explicitly marked for publication to pass through. It's the opt-in version of [[RemoveDrafts]]. See [[private pages]] for more information. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +This plugin has no configuration options. + +## API + +- Category: Filter +- Function name: `ExternalPlugin.ExplicitPublish()`. +- Source: [`quartz-community/explicit-publish`](https://github.com/quartz-community/explicit-publish) +- Install: `npx quartz plugin add github:quartz-community/explicit-publish` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/Explorer.md b/Local/storage/thlab-notes/worker/docs/plugins/Explorer.md new file mode 100644 index 0000000..22c8eec --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/Explorer.md @@ -0,0 +1,70 @@ +--- +title: Explorer +description: File tree explorer sidebar. +tags: + - plugin/component +image: +repository: "[quartz-community/explorer](https://github.com/quartz-community/explorer)" +enabled: true +required: false +--- + +File tree explorer sidebar. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +See [[plugins/Explorer]] for detailed usage information. + +## Configuration + +This plugin accepts the following configuration options: + +**YAML options** (in `quartz.config.yaml`): + +- `title`: The title of the explorer. Defaults to `Explorer`. +- `folderClickBehavior`: The behavior when a folder is clicked. Can be `"link"` to navigate or `"collapse"` to toggle. Defaults to `link`. +- `folderDefaultState`: The default state of folders. Can be `"collapsed"` or `"open"`. Defaults to `collapsed`. +- `useSavedState`: Whether to use local storage to save the state of the explorer. Defaults to `true`. + +**TS override options** (in `quartz.ts`, for callback functions that can't be expressed in YAML): + +- `sortFn`: Custom sort function for ordering files and folders. +- `filterFn`: Custom filter function to exclude specific nodes. +- `mapFn`: Custom map function to transform node properties (e.g. display names). +- `order`: Array controlling the order of operations. Defaults to `["filter", "map", "sort"]`. + +### Default options + +```yaml title="quartz.config.yaml" +- source: github:quartz-community/explorer + enabled: true + options: + title: Explorer + folderClickBehavior: link + folderDefaultState: collapsed + useSavedState: true +``` + +### TS override example + +```ts title="quartz.ts" +import * as ExternalPlugin from "./.quartz/plugins" + +// Must be placed before loadQuartzConfig() +ExternalPlugin.Explorer({ + mapFn: (node) => { + node.displayName = node.displayName.toUpperCase() + return node + }, +}) +``` + +See [[features/explorer#Advanced customization]] for more examples. + +## API + +- Category: Component +- Function name: `ExternalPlugin.Explorer()`. +- Source: [`quartz-community/explorer`](https://github.com/quartz-community/explorer) +- Install: `npx quartz plugin add github:quartz-community/explorer` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/Favicon.md b/Local/storage/thlab-notes/worker/docs/plugins/Favicon.md new file mode 100644 index 0000000..4842b99 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/Favicon.md @@ -0,0 +1,25 @@ +--- +title: Favicon +description: Emits the site favicon. +tags: + - plugin/emitter +image: +repository: "[quartz-community/favicon](https://github.com/quartz-community/favicon)" +enabled: true +required: false +--- + +This plugin emits a `favicon.ico` into the `public` folder. It creates the favicon from `icon.png` located in the `quartz/static` folder. +The plugin resizes `icon.png` to 48x48px to make it as small as possible. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +This plugin has no configuration options. + +## API + +- Category: Emitter +- Function name: `ExternalPlugin.Favicon()`. +- Source: [`quartz-community/favicon`](https://github.com/quartz-community/favicon) +- Install: `npx quartz plugin add github:quartz-community/favicon` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/FolderPage.md b/Local/storage/thlab-notes/worker/docs/plugins/FolderPage.md new file mode 100644 index 0000000..1b8ee6b --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/FolderPage.md @@ -0,0 +1,31 @@ +--- +title: FolderPage +description: Generates listing pages for folders. +tags: + - plugin/pageType +image: +repository: "[quartz-community/folder-page](https://github.com/quartz-community/folder-page)" +enabled: true +required: false +--- + +This plugin is a page type plugin that generates index pages for folders, creating a listing page for each folder that contains multiple content files. It uses the `default` [[layout#Page Frames|page frame]] (three-column layout with sidebars). See [[folder and tag listings]] for more information. + +Example: [[advanced/|Advanced]] + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +This plugin accepts the following configuration options: + +- `showFolderCount`: Whether to display the number of pages in the folder. Defaults to `true`. +- `showSubfolders`: Whether to include pages from subfolders in the listing. Defaults to `true`. +- `sort`: A function of type `(f1: QuartzPluginData, f2: QuartzPluginData) => number{:ts}` used to sort entries. Defaults to sorting by date and tie-breaking on lexographical order. Requires a TS override. +- `prefixFolders`: If `true`, generated folder page titles are prefixed with "Folder: " (e.g. "Folder: notes"). Defaults to `false`. + +## API + +- Category: Page Type +- Function name: `ExternalPlugin.FolderPage()`. +- Source: [`quartz-community/folder-page`](https://github.com/quartz-community/folder-page) +- Install: `npx quartz plugin add github:quartz-community/folder-page` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/Fonts.md b/Local/storage/thlab-notes/worker/docs/plugins/Fonts.md new file mode 100644 index 0000000..f12d2f6 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/Fonts.md @@ -0,0 +1,226 @@ +--- +title: Fonts +description: Fine-grained font control with per-heading support, Google Fonts integration, and theme font discovery. +tags: + - plugin/transformer + - plugin/emitter +image: +repository: "[quartz-community/fonts](https://github.com/quartz-community/fonts)" +enabled: true +required: false +--- + +This plugin provides fine-grained control over fonts in your Quartz site. It supports per-heading font families, automatic theme font discovery when used with [Quartz Themes](https://github.com/saberzero1/quartz-themes), Google Fonts integration with automatic weight and italic loading, and falls back to Obsidian's default system font stacks. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +## Why use Fonts? + +Quartz uses three CSS variables for fonts: `--headerFont`, `--bodyFont`, and `--codeFont`. Obsidian themes use a different system with per-heading variables (`--h1-font` through `--h6-font`), `--font-text`, and `--font-monospace`. These two systems don't bridge correctly, causing heading fonts to not render as themes intend. + +Fonts solves this by: + +1. Bridging the Obsidian and Quartz font systems +2. Emitting **unlayered** CSS that correctly overrides Quartz's base heading styles +3. Providing per-heading font control that neither system offers alone +4. Optionally loading fonts from Google Fonts with fine-grained weight and italic control + +## Configuration + +Font options accept either a CSS font-family string or an object with Google Fonts loading control: + +```yaml +# String form +body: '"Inter", sans-serif' + +# Object form (for Google Fonts weight/italic control) +body: + name: Inter + weights: [400, 600, 700] + includeItalic: true +``` + +This plugin accepts the following configuration options: + +| Option | Type | Default | Description | +| --------------- | ------------------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------- | +| `title` | `FontSpecification` | `header` value | Font family for the site title. | +| `body` | `FontSpecification` | Obsidian default | Font family for body text. | +| `header` | `FontSpecification` | Obsidian default | Default font family for all headings (h1-h6). | +| `code` | `FontSpecification` | Obsidian default | Font family for code and monospace elements. | +| `interface` | `FontSpecification` | Obsidian default | Font family for UI elements. | +| `h1` – `h6` | `FontSpecification` | `header` value | Per-heading font family overrides. | +| `useThemeFonts` | `boolean` | `true` | Use fonts from [Quartz Themes](https://github.com/saberzero1/quartz-themes) as defaults when it is installed. | +| `fontOrigin` | `string` | `"googleFonts"` | `"googleFonts"` to load from Google Fonts CDN, `"selfHosted"` to download and serve locally, `"local"` for no loading. | + +### Default options + +```yaml title="quartz.config.yaml" +- source: github:quartz-community/fonts + enabled: true + options: + useThemeFonts: true + fontOrigin: googleFonts +``` + +### Font resolution + +Fonts are resolved using a priority chain: + +``` +User config (plugin options) + → Theme fonts (from Quartz Themes, if installed) + → Obsidian defaults (system font stacks) +``` + +For individual headings: + +``` +h1 option → header option → theme --h1-font → theme font → Obsidian default +``` + +For the site title: + +``` +title option → header option → theme font → Obsidian default +``` + +## Usage with Quartz Themes + +When [Quartz Themes](https://github.com/saberzero1/quartz-themes) is installed and enabled, Fonts automatically discovers the theme's font metadata and uses it as defaults. Any options you explicitly set in Fonts will override the theme fonts. + +Fonts must run **after** Quartz Themes. This is handled automatically by plugin ordering (Quartz Themes = 10, Fonts = 60). + +> [!warning] +> If Quartz Themes is enabled but hasn't run yet when Fonts executes, you'll see a warning in the console. Make sure Quartz Themes has a lower `defaultOrder` than Fonts. + +## Usage without Quartz Themes + +Fonts works standalone. Without a theme, it falls back to Obsidian's default system font stacks. You can set fonts explicitly via the plugin options. + +## Examples + +```yaml title="quartz.config.yaml" +# Use theme fonts automatically (default behavior) +- source: github:quartz-community/fonts + enabled: true + +# Override just the heading font +- source: github:quartz-community/fonts + enabled: true + options: + header: '"Playfair Display", serif' + +# Full control with per-heading fonts +- source: github:quartz-community/fonts + enabled: true + options: + body: '"Inter", sans-serif' + header: '"Playfair Display", serif' + code: '"JetBrains Mono", monospace' + h1: '"Playfair Display", serif' + h2: '"Lora", serif' + +# Load from Google Fonts automatically +- source: github:quartz-community/fonts + enabled: true + options: + fontOrigin: googleFonts + body: Inter + header: Playfair Display + code: JetBrains Mono + +# Google Fonts with weight/italic control +- source: github:quartz-community/fonts + enabled: true + options: + fontOrigin: googleFonts + body: + name: Inter + weights: [400, 600, 700] + includeItalic: true + header: + name: Playfair Display + weights: [400, 700] + code: + name: JetBrains Mono + weights: [400] + +# Custom title font (separate from header) +- source: github:quartz-community/fonts + enabled: true + options: + fontOrigin: googleFonts + title: Abril Fatface + header: Playfair Display + body: Inter + code: JetBrains Mono + +# Self-hosted fonts (downloaded at build time, no external requests) +- source: github:quartz-community/fonts + enabled: true + options: + fontOrigin: selfHosted + body: Inter + header: Playfair Display + code: JetBrains Mono + +# Ignore theme fonts entirely +- source: github:quartz-community/fonts + enabled: true + options: + useThemeFonts: false + body: '"Inter", sans-serif' +``` + +## Self-Hosted Fonts + +When `fontOrigin: selfHosted` is set, Fonts downloads fonts from Google Fonts during the build and serves them from your site's `static/fonts/` directory. This makes your site fully self-contained with no external requests to Google at runtime. + +At build time, the plugin: + +1. Fetches the Google Fonts CSS for your configured fonts +2. Downloads each font file (`.woff2`, `.woff`, etc.) +3. Writes the font files to `static/fonts/` in your build output +4. Generates a `quartz-fonts.css` file with `@font-face` rules pointing to the local files + +> [!note] +> Self-hosted fonts require `baseUrl` to be set in your Quartz configuration, since font URLs in the CSS need an absolute path. + +```yaml title="quartz.config.yaml" +configuration: + baseUrl: "example.com" + +plugins: + - source: github:quartz-community/fonts + enabled: true + options: + fontOrigin: selfHosted + body: Inter + header: Playfair Display + code: JetBrains Mono +``` + +## Google Fonts Validation + +When `fontOrigin: googleFonts` is set and the optional [`google-font-metadata`](https://www.npmjs.com/package/google-font-metadata) package is installed, Fonts validates your font configuration at build time: + +- Checks that font family names exist in Google Fonts. +- Warns if requested weights are not available for a font. +- Warns if italic is requested but the font doesn't support it. + +Install it to enable validation: + +```bash +npm install google-font-metadata +``` + +Validation warnings are logged to the console but do not block the build. + +## API + +- Category: Transformer, Emitter +- Function name: `ExternalPlugin.Fonts()` (transformer), `ExternalPlugin.FontsEmitter()` (emitter). +- Source: [`quartz-community/fonts`](https://github.com/quartz-community/fonts) +- Install: `npx quartz plugin add github:quartz-community/fonts` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/Footer.md b/Local/storage/thlab-notes/worker/docs/plugins/Footer.md new file mode 100644 index 0000000..fb09dc0 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/Footer.md @@ -0,0 +1,39 @@ +--- +title: Footer +description: Page footer with configurable links. +tags: + - plugin/component +image: +repository: "[quartz-community/footer](https://github.com/quartz-community/footer)" +enabled: true +required: false +--- + +This plugin renders a footer at the bottom of the page with a "Created with Quartz" message and a set of configurable links. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +## Configuration + +This plugin accepts the following configuration options: + +- `links`: A map of link labels to their URLs to display in the footer. Defaults to `{}`. + +### Default options + +```yaml title="quartz.config.yaml" +- source: github:quartz-community/footer + enabled: true + options: + links: + GitHub: https://github.com/jackyzha0/quartz + Discord Community: https://discord.gg/cRFFHYye7t +``` + +## API + +- Category: Component +- Function name: `ExternalPlugin.Footer()`. +- Source: [`quartz-community/footer`](https://github.com/quartz-community/footer) +- Install: `npx quartz plugin add github:quartz-community/footer` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/Frontmatter.md b/Local/storage/thlab-notes/worker/docs/plugins/Frontmatter.md new file mode 100644 index 0000000..4919614 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/Frontmatter.md @@ -0,0 +1,111 @@ +--- +title: Frontmatter +aliases: + - note-properties + - Note Properties +description: Parses frontmatter and displays note properties in a collapsible panel. +tags: + - plugin/transformer + - plugin/component +publish: true +enableToc: true +image: +repository: "[quartz-community/note-properties](https://github.com/quartz-community/note-properties)" +enabled: true +required: true +--- + +This plugin parses the frontmatter of the page using the [gray-matter](https://github.com/jonschlinkert/gray-matter) library and optionally displays selected properties in a collapsible panel. See [[authoring content#Syntax]], [[Obsidian compatibility]] and [[OxHugo compatibility]] for more information. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +> [!warning] +> This plugin must not be removed, otherwise Quartz will break. + +## Configuration + +This plugin accepts the following configuration options: + +- `delimiters`: the delimiters to use for the frontmatter. Can have one value (e.g. `"---"`) or separate values for opening and closing delimiters (e.g. `["---", "~~~"]`). Defaults to `"---"`. +- `language`: the language to use for parsing the frontmatter. Can be `yaml` (default) or `toml`. +- `includeAll`: include all frontmatter properties in the properties panel. When `false`, only `includedProperties` are shown. Defaults to `false`. +- `includedProperties`: properties to include when `includeAll` is `false`. Defaults to `["description", "tags", "aliases"]`. +- `excludedProperties`: properties to always exclude from display, even when `includeAll` is `true`. Defaults to `[]`. +- `hidePropertiesView`: hide the visual properties panel while still processing frontmatter. Useful if you only need frontmatter parsing without the UI. Defaults to `false`. + +### Default options + +```yaml title="quartz.config.yaml" +- source: github:quartz-community/note-properties + enabled: true + options: + includeAll: false + includedProperties: + - description + - tags + - aliases + excludedProperties: [] + hidePropertiesView: false + delimiters: "---" + language: yaml +``` + +## Properties panel + +When enabled, this plugin renders a collapsible "Properties" panel before the page body. The panel displays selected frontmatter fields in a table with automatic type rendering: + +- **Strings** are shown as plain text. [[wikilinks]] and [markdown links](https://example.com) within strings are rendered as clickable links. Wikilink targets are slugified the same way as body-content links (e.g. `[[My Note]]` resolves to `my-note`) and matching is case-insensitive to mirror Obsidian's behavior, so `[[MyNote]]`, `[[mynote]]`, and `[[MYNOTE]]` all point to the same page. +- **Arrays** are rendered as comma-separated lists. +- **Booleans** are rendered as disabled checkboxes. +- **Numbers** are rendered in a monospace font. +- **Objects** are rendered as JSON in a code block. +- **Tags** get special treatment: they are rendered as highlighted links that point to the corresponding tag page. +- **Null/undefined** values are shown as an em-dash (—). + +### Per-note overrides + +You can control the properties panel on a per-note basis using frontmatter keys: + +- `quartz-properties` (or `quartzProperties`): set to `true` to force-show the panel, or `false` to force-hide it, overriding the global `hidePropertiesView` setting. +- `quartz-properties-collapse` (or `quartzPropertiesCollapse`): set to `true` to start the panel collapsed, or `false` to start it expanded, overriding the default collapse state. + +These keys are automatically excluded from the visible properties table. + +```yaml title="Example frontmatter" +--- +title: My Note +quartz-properties: true +quartz-properties-collapse: false +--- +``` + +## Supported frontmatter + +Quartz supports the following frontmatter fields. Where multiple keys are listed, they are aliases — the first matching key is used. + +| Field | Keys | Description | +| ------------------ | ------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Title | `title` | Page title. Falls back to filename if empty. | +| Description | `description` | Page description for metadata and search. | +| Tags | `tags`, `tag` | Categorization tags. Slugified the same way as file paths: spaces become `-`, `&` becomes `-and-`, `%` becomes `-percent`, and tags are lowercased so that `#MyTag` and `#mytag` resolve to the same tag page (matching Obsidian). | +| Aliases | `aliases`, `alias` | Alternative names for the page, used for link resolution. | +| Permalink | `permalink` | Custom URL slug. Also added to aliases. | +| CSS classes | `cssclasses`, `cssclass` | CSS classes applied to the page body. | +| Social image | `socialImage`, `image`, `cover` | Image used for social media previews. | +| Social description | `socialDescription` | Description used specifically for social media previews. | +| Created date | `created`, `date` | When the note was created. | +| Modified date | `modified`, `lastmod`, `updated`, `last-modified` | When the note was last modified. Falls back to `created` if unset. | +| Published date | `published`, `publishDate`, `date` | When the note was published. | +| Publish | `publish` | Whether the note should be published. | +| Draft | `draft` | Whether the note is a draft. | +| Comments | `comments` | Whether comments are enabled for the note. | +| Language | `lang` | Language code for the note. | +| Enable TOC | `enableToc` | Whether to show the table of contents. | + +## API + +- Category: Transformer, Component +- Function name: `ExternalPlugin.NoteProperties()`. +- Source: [`quartz-community/note-properties`](https://github.com/quartz-community/note-properties) +- Install: `npx quartz plugin add github:quartz-community/note-properties` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/GitHubFlavoredMarkdown.md b/Local/storage/thlab-notes/worker/docs/plugins/GitHubFlavoredMarkdown.md new file mode 100644 index 0000000..d1fe89e --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/GitHubFlavoredMarkdown.md @@ -0,0 +1,29 @@ +--- +title: GitHubFlavoredMarkdown +description: GitHub Flavored Markdown support (tables, task lists, footnotes, strikethrough). +tags: + - plugin/transformer +image: +repository: "[quartz-community/github-flavored-markdown](https://github.com/quartz-community/github-flavored-markdown)" +enabled: true +required: false +--- + +This plugin enhances Markdown processing to support GitHub Flavored Markdown (GFM) which adds features like autolink literals, footnotes, strikethrough, tables and tasklists. + +In addition, this plugin adds optional features for typographic refinement (such as converting straight quotes to curly quotes, dashes to en-dashes/em-dashes, and ellipses) and automatic heading links as a symbol that appears next to the heading on hover. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +This plugin accepts the following configuration options: + +- `enableSmartyPants`: When true, enables typographic enhancements. Default is true. +- `linkHeadings`: When true, automatically adds links to headings. Default is true. + +## API + +- Category: Transformer +- Function name: `ExternalPlugin.GitHubFlavoredMarkdown()`. +- Source: [`quartz-community/github-flavored-markdown`](https://github.com/quartz-community/github-flavored-markdown) +- Install: `npx quartz plugin add github:quartz-community/github-flavored-markdown` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/Graph.md b/Local/storage/thlab-notes/worker/docs/plugins/Graph.md new file mode 100644 index 0000000..177d632 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/Graph.md @@ -0,0 +1,83 @@ +--- +title: Graph +description: Interactive link graph visualization. +tags: + - plugin/component +image: +repository: "[quartz-community/graph](https://github.com/quartz-community/graph)" +enabled: true +required: false +--- + +Interactive graph visualization. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +See [[graph view]] for detailed usage information. + +## Configuration + +This plugin accepts the following configuration options: + +- `localGraph`: Options for the local graph view. +- `globalGraph`: Options for the global graph view. + +Both `localGraph` and `globalGraph` accept the following options: + +- `drag`: Enable dragging nodes. Defaults to `true`. +- `zoom`: Enable zooming. Defaults to `true`. +- `depth`: The depth of the graph. Defaults to `1` for local and `-1` for global. +- `scale`: The initial scale of the graph. Defaults to `1.1` for local and `0.9` for global. +- `repelForce`: The force that pushes nodes apart. Defaults to `0.5`. +- `centerForce`: The force that pulls nodes to the center. Defaults to `0.3` for local and `0.2` for global. +- `linkDistance`: The distance between linked nodes. Defaults to `30`. +- `fontSize`: The font size of node labels. Defaults to `0.6`. +- `opacityScale`: The scale of node opacity. Defaults to `1`. +- `removeTags`: Tags to exclude from the graph. Defaults to `[]`. +- `showTags`: Whether to show tags in the graph. Defaults to `true`. +- `enableRadial`: Whether to enable radial layout. Defaults to `false` for local and `true` for global. +- `focusOnHover`: Whether to focus on the hovered node. Defaults to `false` for local and `true` for global. + +### Default options + +```yaml title="quartz.config.yaml" +- source: github:quartz-community/graph + enabled: true + options: + localGraph: + drag: true + zoom: true + depth: 1 + scale: 1.1 + repelForce: 0.5 + centerForce: 0.3 + linkDistance: 30 + fontSize: 0.6 + opacityScale: 1 + removeTags: [] + showTags: true + focusOnHover: false + enableRadial: false + globalGraph: + drag: true + zoom: true + depth: -1 + scale: 0.9 + repelForce: 0.5 + centerForce: 0.3 + linkDistance: 30 + fontSize: 0.6 + opacityScale: 1 + removeTags: [] + showTags: true + focusOnHover: true + enableRadial: true +``` + +## API + +- Category: Component +- Function name: `ExternalPlugin.Graph()`. +- Source: [`quartz-community/graph`](https://github.com/quartz-community/graph) +- Install: `npx quartz plugin add github:quartz-community/graph` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/HardLineBreaks.md b/Local/storage/thlab-notes/worker/docs/plugins/HardLineBreaks.md new file mode 100644 index 0000000..37a0917 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/HardLineBreaks.md @@ -0,0 +1,24 @@ +--- +title: HardLineBreaks +description: Treats single newlines as hard line breaks. +tags: + - plugin/transformer +image: "#ff8000" +repository: "[quartz-community/hard-line-breaks](https://github.com/quartz-community/hard-line-breaks)" +enabled: false +required: false +--- + +This plugin automatically converts single line breaks in Markdown text into hard line breaks in the HTML output. This plugin is not enabled by default as this doesn't follow the semantics of actual Markdown but you may enable it if you'd like parity with [[Obsidian compatibility|Obsidian]]. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +This plugin has no configuration options. + +## API + +- Category: Transformer +- Function name: `ExternalPlugin.HardLineBreaks()`. +- Source: [`quartz-community/hard-line-breaks`](https://github.com/quartz-community/hard-line-breaks) +- Install: `npx quartz plugin add github:quartz-community/hard-line-breaks` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/Latex.md b/Local/storage/thlab-notes/worker/docs/plugins/Latex.md new file mode 100644 index 0000000..08fa50c --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/Latex.md @@ -0,0 +1,30 @@ +--- +title: Latex +description: Renders LaTeX math expressions via KaTeX or Typst. +tags: + - plugin/transformer +image: +repository: "[quartz-community/latex](https://github.com/quartz-community/latex)" +enabled: true +required: false +--- + +This plugin adds LaTeX support to Quartz. See [[features/Latex|Latex]] for more information. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +This plugin accepts the following configuration options: + +- `renderEngine`: the engine to use to render LaTeX equations. Can be `"katex"` for [KaTeX](https://katex.org/), `"mathjax"` for [MathJax](https://www.mathjax.org/) [SVG rendering](https://docs.mathjax.org/en/latest/output/svg.html), or `"typst"` for [Typst](https://typst.app/) (a new way to compose LaTeX equation). Defaults to KaTeX. +- `customMacros`: custom macros for all LaTeX blocks. It takes the form of a key-value pair where the key is a new command name and the value is the expansion of the macro. For example: `{"\\R": "\\mathbb{R}"}` +- `katexOptions`: Additional options passed to the KaTeX renderer. See the [KaTeX docs](https://katex.org/docs/options) for available options. +- `mathJaxOptions`: Additional options passed to the MathJax renderer. See the [MathJax docs](https://docs.mathjax.org/en/latest/options/) for available options. +- `typstOptions`: Additional options passed to the Typst renderer. + +## API + +- Category: Transformer +- Function name: `ExternalPlugin.Latex()`. +- Source: [`quartz-community/latex`](https://github.com/quartz-community/latex) +- Install: `npx quartz plugin add github:quartz-community/latex` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/NotFoundPage.md b/Local/storage/thlab-notes/worker/docs/plugins/NotFoundPage.md new file mode 100644 index 0000000..bb49697 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/NotFoundPage.md @@ -0,0 +1,19 @@ +--- +title: NotFoundPage +tags: + - plugin/pageType +image: +--- + +This plugin emits a 404 (Not Found) page for broken or non-existent URLs. It uses the `minimal` [[layout#Page Frames|page frame]] (no sidebars, no header or beforeBody chrome — only content and footer) to present a clean error page. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +This plugin has no configuration options. + +## API + +- Category: Page Type +- Function name: `Plugin.NotFoundPage()` (internal plugin). +- Source: [`quartz/plugins/pageTypes/404.ts`](https://github.com/jackyzha0/quartz/blob/v5/quartz/plugins/pageTypes/404.ts) diff --git a/Local/storage/thlab-notes/worker/docs/plugins/NoteProperties.md b/Local/storage/thlab-notes/worker/docs/plugins/NoteProperties.md new file mode 100644 index 0000000..3e40ebf --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/NoteProperties.md @@ -0,0 +1,23 @@ +--- +title: NoteProperties +description: Displays frontmatter properties in a collapsible panel. +tags: + - plugin/component +image: +new-in-v5: true +repository: "[quartz-community/note-properties](https://github.com/quartz-community/note-properties)" +enabled: true +required: true +--- + +The NoteProperties plugin is documented under [[Frontmatter]]. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +## API + +- Category: Component +- Function name: `ExternalPlugin.NoteProperties()`. +- Source: [`quartz-community/note-properties`](https://github.com/quartz-community/note-properties) +- Install: `npx quartz plugin add github:quartz-community/note-properties` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/ObsidianFlavoredMarkdown.md b/Local/storage/thlab-notes/worker/docs/plugins/ObsidianFlavoredMarkdown.md new file mode 100644 index 0000000..7c99a54 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/ObsidianFlavoredMarkdown.md @@ -0,0 +1,44 @@ +--- +title: ObsidianFlavoredMarkdown +description: Obsidian-specific Markdown extensions (wikilinks, callouts, highlights, tags, embeds). +tags: + - plugin/transformer +image: +repository: "[quartz-community/obsidian-flavored-markdown](https://github.com/quartz-community/obsidian-flavored-markdown)" +enabled: true +required: false +--- + +This plugin provides support for [[Obsidian compatibility]]. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +This plugin accepts the following configuration options: + +- `comments`: If `true` (default), enables parsing of `%%` style Obsidian comment blocks. +- `highlight`: If `true` (default), enables parsing of `==` style highlights within content. +- `wikilinks`:If `true` (default), turns [[wikilinks]] into regular links. +- `callouts`: If `true` (default), adds support for [[callouts|callout]] blocks for emphasizing content. +- `mermaid`: If `true` (default), enables [[Mermaid diagrams|Mermaid diagram]] rendering within Markdown files. +- `parseTags`: If `true` (default), parses and links tags within the content. +- `parseBlockReferences`: If `true` (default), handles block references, linking to specific content blocks. +- `enableInHtmlEmbed`: If `true`, allows embedding of content directly within HTML. Defaults to `false`. +- `enableYouTubeEmbed`: If `true` (default), enables the embedding of YouTube videos and playlists using external image Markdown syntax. +- `enableTweetEmbed`: If `true` (default), enables the embedding of tweets as static blockquotes from Twitter/X URLs. +- `enableVideoEmbed`: If `true` (default), enables the embedding of video files. +- `enableCheckbox`: If `true`, adds support for interactive checkboxes in content, including custom task characters (e.g. `- [?]`, `- [!]`, `- [/]`). Defaults to `false`. +- `enableObsidianUri`: If `true` (default), marks `obsidian://` protocol links with a CSS class and data attribute for custom styling. + +> [!note] +> The `disableBrokenWikilinks` option previously lived on this plugin. It has moved to [[CrawlLinks]], which owns link resolution and can honor the configured `markdownLinkResolution` strategy when deciding whether a link is broken. Users upgrading from earlier Quartz v5 betas should move the option from `ObsidianFlavoredMarkdown` to `CrawlLinks`. + +> [!warning] +> Don't remove this plugin if you're using [[Obsidian compatibility|Obsidian]] to author the content! + +## API + +- Category: Transformer +- Function name: `ExternalPlugin.ObsidianFlavoredMarkdown()`. +- Source: [`quartz-community/obsidian-flavored-markdown`](https://github.com/quartz-community/obsidian-flavored-markdown) +- Install: `npx quartz plugin add github:quartz-community/obsidian-flavored-markdown` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/OxHugoFlavoredMarkdown.md b/Local/storage/thlab-notes/worker/docs/plugins/OxHugoFlavoredMarkdown.md new file mode 100644 index 0000000..e78da79 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/OxHugoFlavoredMarkdown.md @@ -0,0 +1,35 @@ +--- +title: OxHugoFlavoredMarkdown +description: Compatibility for ox-hugo exported Org-mode files. +tags: + - plugin/transformer +image: +repository: "[quartz-community/ox-hugo](https://github.com/quartz-community/ox-hugo)" +enabled: false +required: false +--- + +This plugin provides support for [ox-hugo](https://github.com/kaushalmodi/ox-hugo) compatibility. See [[OxHugo compatibility]] for more information. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +This plugin accepts the following configuration options: + +- `wikilinks`: If `true` (default), converts Hugo `{{ relref }}` shortcodes to Quartz [[wikilinks]]. +- `removePredefinedAnchor`: If `true` (default), strips predefined anchors from headings. +- `removeHugoShortcode`: If `true` (default), removes Hugo shortcode syntax (`{{}}`) from the content. +- `replaceFigureWithMdImg`: If `true` (default), replaces `
    ` with `![]()`. +- `replaceOrgLatex`: If `true` (default), converts Org-mode [[features/Latex|Latex]] fragments to Quartz-compatible LaTeX wrapped in `$` (for inline) and `$$` (for block equations). + +> [!warning] +> While you can use this together with [[ObsidianFlavoredMarkdown]], it's not recommended because it might mutate the file in unexpected ways. Use with caution. +> +> If you use `toml` frontmatter, make sure to configure the [[Frontmatter]] plugin accordingly. See [[OxHugo compatibility]] for an example. + +## API + +- Category: Transformer +- Function name: `ExternalPlugin.OxHugoFlavoredMarkdown()`. +- Source: [`quartz-community/ox-hugo`](https://github.com/quartz-community/ox-hugo) +- Install: `npx quartz plugin add github:quartz-community/ox-hugo` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/PageTitle.md b/Local/storage/thlab-notes/worker/docs/plugins/PageTitle.md new file mode 100644 index 0000000..0fd78f0 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/PageTitle.md @@ -0,0 +1,24 @@ +--- +title: PageTitle +description: Renders the site title as a home link. +tags: + - plugin/component +image: +repository: "[quartz-community/page-title](https://github.com/quartz-community/page-title)" +enabled: true +required: false +--- + +This plugin renders the site-wide page title (configured via the `pageTitle` field in [[configuration]]) as a clickable link to the home page. It typically appears in the left sidebar. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +This plugin has no configuration options. The displayed title is controlled by the `pageTitle` field in `quartz.config.yaml`. + +## API + +- Category: Component +- Function name: `ExternalPlugin.PageTitle()`. +- Source: [`quartz-community/page-title`](https://github.com/quartz-community/page-title) +- Install: `npx quartz plugin add github:quartz-community/page-title` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/ReaderMode.md b/Local/storage/thlab-notes/worker/docs/plugins/ReaderMode.md new file mode 100644 index 0000000..380f7e1 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/ReaderMode.md @@ -0,0 +1,38 @@ +--- +title: ReaderMode +description: Distraction-free reading mode toggle. +tags: + - plugin/component +image: +new-in-v5: true +repository: "[quartz-community/reader-mode](https://github.com/quartz-community/reader-mode)" +enabled: true +required: false +--- + +Distraction-free reading mode. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +See [[reader mode]] for detailed usage information. + +## Configuration + +This plugin accepts the following configuration options: + +- `enabled`: Whether to enable reader mode. Defaults to `true`. + +### Default options + +```yaml title="quartz.config.yaml" +- source: github:quartz-community/reader-mode + enabled: true +``` + +## API + +- Category: Component +- Function name: `ExternalPlugin.ReaderMode()`. +- Source: [`quartz-community/reader-mode`](https://github.com/quartz-community/reader-mode) +- Install: `npx quartz plugin add github:quartz-community/reader-mode` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/RecentNotes.md b/Local/storage/thlab-notes/worker/docs/plugins/RecentNotes.md new file mode 100644 index 0000000..5a1e7b4 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/RecentNotes.md @@ -0,0 +1,47 @@ +--- +title: RecentNotes +description: Displays a list of recently modified notes. +tags: + - plugin/component +image: +repository: "[quartz-community/recent-notes](https://github.com/quartz-community/recent-notes)" +enabled: false +required: false +--- + +Shows recently modified notes. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +See [[recent notes]] for detailed usage information. + +## Configuration + +This plugin accepts the following configuration options: + +- `title`: The title of the recent notes section. Defaults to `Recent notes`. +- `limit`: The maximum number of recent notes to display. Defaults to `3`. +- `showTags`: Whether to display the tags for each note. Defaults to `true`. +- `linkToMore`: A slug to a page that shows more notes. Defaults to `false`. +- `hideTagPages`: Whether to hide tag index pages from the list. Defaults to `false`. +- `hideFolderPages`: Whether to hide folder index pages from the list. Defaults to `false`. + +### Default options + +```yaml title="quartz.config.yaml" +- source: github:quartz-community/recent-notes + enabled: true + options: + limit: 3 + showTags: true + hideTagPages: false + hideFolderPages: false +``` + +## API + +- Category: Component +- Function name: `ExternalPlugin.RecentNotes()`. +- Source: [`quartz-community/recent-notes`](https://github.com/quartz-community/recent-notes) +- Install: `npx quartz plugin add github:quartz-community/recent-notes` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/RemoveDrafts.md b/Local/storage/thlab-notes/worker/docs/plugins/RemoveDrafts.md new file mode 100644 index 0000000..77d4764 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/RemoveDrafts.md @@ -0,0 +1,24 @@ +--- +title: RemoveDrafts +description: Filters out pages marked as drafts. +tags: + - plugin/filter +image: +repository: "[quartz-community/remove-draft](https://github.com/quartz-community/remove-draft)" +enabled: true +required: false +--- + +This plugin filters out content from your vault, so that only finalized content is made available. This prevents [[private pages]] from being published. By default, it filters out all pages with `draft: true` in the frontmatter and leaves all other pages intact. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +This plugin has no configuration options. + +## API + +- Category: Filter +- Function name: `ExternalPlugin.RemoveDrafts()`. +- Source: [`quartz-community/remove-draft`](https://github.com/quartz-community/remove-draft) +- Install: `npx quartz plugin add github:quartz-community/remove-draft` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/RoamFlavoredMarkdown.md b/Local/storage/thlab-notes/worker/docs/plugins/RoamFlavoredMarkdown.md new file mode 100644 index 0000000..c08c0bc --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/RoamFlavoredMarkdown.md @@ -0,0 +1,34 @@ +--- +title: RoamFlavoredMarkdown +description: Compatibility for Roam Research export format. +tags: + - plugin/transformer +image: +repository: "[quartz-community/roam](https://github.com/quartz-community/roam)" +enabled: false +required: false +--- + +This plugin provides support for [Roam Research](https://roamresearch.com) compatibility. See [[Roam Research compatibility]] for more information. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +This plugin accepts the following configuration options: + +- `orComponent`: If `true` (default), converts Roam `{{ or:ONE|TWO|THREE }}` shortcodes into HTML Dropdown options. +- `TODOComponent`: If `true` (default), converts Roam `{{[[TODO]]}}` shortcodes into HTML check boxes. +- `DONEComponent`: If `true` (default), converts Roam `{{[[DONE]]}}` shortcodes into checked HTML check boxes. +- `videoComponent`: If `true` (default), converts Roam `{{[[video]]:URL}}` shortcodes into embeded HTML video. +- `audioComponent`: If `true` (default), converts Roam `{{[[audio]]:URL}}` shortcodes into embeded HTML audio. +- `pdfComponent`: If `true` (default), converts Roam `{{[[pdf]]:URL}}` shortcodes into embeded HTML PDF viewer. +- `blockquoteComponent`: If `true` (default), converts Roam `{{[[>]]}}` shortcodes into Quartz blockquotes. +- `tableComponent`: If `true` (default), converts Roam table syntax into HTML tables. +- `attributeComponent`: If `true` (default), converts Roam attribute syntax into rendered attributes. + +## API + +- Category: Transformer +- Function name: `ExternalPlugin.RoamFlavoredMarkdown()`. +- Source: [`quartz-community/roam`](https://github.com/quartz-community/roam) +- Install: `npx quartz plugin add github:quartz-community/roam` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/Search.md b/Local/storage/thlab-notes/worker/docs/plugins/Search.md new file mode 100644 index 0000000..c2947f2 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/Search.md @@ -0,0 +1,44 @@ +--- +title: Search +description: Full-text search with tag filtering and keyboard navigation. +tags: + - plugin/component +image: https://images.unsplash.com/photo-1516382799247-87df95d790b7 +repository: "[quartz-community/search](https://github.com/quartz-community/search)" +enabled: true +required: false +--- + +Full-text search functionality. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +See [[full-text search]] for detailed usage information. + +## Configuration + +This plugin accepts the following configuration options: + +- `enablePreview`: Whether to show a preview of the page content in search results. Defaults to `true`. +- `fieldPriority`: An array specifying the priority order for search fields. Defaults to `["title", "content", "tags"]`. + +### Default options + +```yaml title="quartz.config.yaml" +- source: github:quartz-community/search + enabled: true + options: + enablePreview: true + fieldPriority: + - title + - content + - tags +``` + +## API + +- Category: Component +- Function name: `ExternalPlugin.Search()`. +- Source: [`quartz-community/search`](https://github.com/quartz-community/search) +- Install: `npx quartz plugin add github:quartz-community/search` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/Spacer.md b/Local/storage/thlab-notes/worker/docs/plugins/Spacer.md new file mode 100644 index 0000000..24f7cb4 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/Spacer.md @@ -0,0 +1,25 @@ +--- +title: Spacer +description: Flexible spacer for layout groups. +tags: + - plugin/component +image: +new-in-v5: true +repository: "[quartz-community/spacer](https://github.com/quartz-community/spacer)" +enabled: true +required: false +--- + +This plugin renders a flexible spacer element that pushes adjacent components apart within a layout group. It uses CSS `flex: 2 1 auto` to fill available space, making it useful for spacing out items in toolbars or sidebars (for example, separating the search bar from the darkmode toggle in the left sidebar toolbar). + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +This plugin has no configuration options. + +## API + +- Category: Component +- Function name: `ExternalPlugin.Spacer()`. +- Source: [`quartz-community/spacer`](https://github.com/quartz-community/spacer) +- Install: `npx quartz plugin add github:quartz-community/spacer` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/StackedPages.md b/Local/storage/thlab-notes/worker/docs/plugins/StackedPages.md new file mode 100644 index 0000000..9148ca3 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/StackedPages.md @@ -0,0 +1,61 @@ +--- +title: StackedPages +description: Andy Matuschak-style stacked sliding panes. +tags: + - plugin/component +image: +new-in-v5: true +repository: "[quartz-community/stacked-pages](https://github.com/quartz-community/stacked-pages)" +enabled: true +required: false +--- + +Andy Matuschak-style stacked pages (sliding panes). Clicking internal links opens pages side by side in a horizontal stack, allowing you to trace your path through your notes. Each pane shows a full page and can be individually scrolled or closed. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +## Usage + +Once enabled, clicking any internal link on a page opens the linked page as a new pane to the right instead of navigating away. The URL updates with a `#stacked=slug1,slug2` hash encoding your current stack, so you can share or bookmark a specific trail of pages. + +Stacked pages are disabled on mobile by default (below 800px) since horizontal panning doesn't work well on small screens. On mobile, links navigate normally. + +### Interactions + +- **Click a link**: Opens the target page in a new pane to the right. If the maximum number of panes is reached, the leftmost pane is removed. +- **Close a pane**: Click the × button in the pane header to remove it from the stack. +- **Collapsed spines**: When panes overflow the viewport, earlier panes collapse to a thin vertical spine showing the page title. Click a spine to bring that pane back into focus. +- **Browser back/forward**: The full stack state is stored in the URL hash and integrated with browser history, so back/forward navigation works as expected. + +## Configuration + +This plugin accepts the following configuration options: + +- `maxTabs`: Maximum number of stacked panes visible at once. Defaults to `8`. +- `mobileBreakpoint`: Viewport width (in pixels) below which stacked pages are disabled and links navigate normally. Defaults to `800`. +- `showSpines`: Whether to show collapsed spine headers when panes overflow the viewport. Defaults to `true`. +- `animateTransitions`: Whether to animate pane open/close transitions. Defaults to `true`. + +### Default options + +```yaml title="quartz.config.yaml" +- source: github:quartz-community/stacked-pages + enabled: true + layout: + position: afterBody + priority: 50 + display: all + options: + maxTabs: 8 + mobileBreakpoint: 800 + showSpines: true + animateTransitions: true +``` + +## API + +- Category: Component +- Function name: `ExternalPlugin.StackedPages()`. +- Source: [`quartz-community/stacked-pages`](https://github.com/quartz-community/stacked-pages) +- Install: `npx quartz plugin add github:quartz-community/stacked-pages` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/Static.md b/Local/storage/thlab-notes/worker/docs/plugins/Static.md new file mode 100644 index 0000000..494e1d8 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/Static.md @@ -0,0 +1,22 @@ +--- +title: Static +tags: + - plugin/emitter +image: +--- + +This plugin emits all static resources needed by Quartz. This is used, for example, for fonts and images that need a stable position, such as banners and icons. The plugin respects the `ignorePatterns` in the global [[configuration]]. + +> [!important] +> This is different from [[Assets]]. The resources from the [[Static]] plugin are located under `quartz/static`, whereas [[Assets]] renders all static resources under `content` and is used for images, videos, audio, etc. that are directly referenced by your markdown content. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +This plugin has no configuration options. + +## API + +- Category: Emitter +- Function name: `Plugin.Static()` (internal plugin). +- Source: [`quartz/plugins/emitters/static.ts`](https://github.com/jackyzha0/quartz/blob/v5/quartz/plugins/emitters/static.ts). diff --git a/Local/storage/thlab-notes/worker/docs/plugins/SyntaxHighlighting.md b/Local/storage/thlab-notes/worker/docs/plugins/SyntaxHighlighting.md new file mode 100644 index 0000000..7eae436 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/SyntaxHighlighting.md @@ -0,0 +1,31 @@ +--- +title: SyntaxHighlighting +description: Syntax highlighting for code blocks. +tags: + - plugin/transformer +image: https://images.unsplash.com/photo-1580569214296-5cf2bffc5ccd +repository: "[quartz-community/syntax-highlighting](https://github.com/quartz-community/syntax-highlighting)" +enabled: true +required: false +--- + +This plugin is used to add syntax highlighting to code blocks in Quartz. See [[syntax highlighting]] for more information. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +This plugin accepts the following configuration options: + +- `theme`: a separate id of one of the [themes bundled with Shikiji](https://shikiji.netlify.app/themes). One for light mode and one for dark mode. Defaults to `theme: { light: "github-light", dark: "github-dark" }`. +- `keepBackground`: If set to `true`, the background of the Shikiji theme will be used. With `false` (default) the Quartz theme color for background will be used instead. +- `clipboard`: Whether to add a copy-to-clipboard button to code blocks. Defaults to `true`. +- `tokenClassification`: Whether to add semantic token classification CSS classes to code tokens. Defaults to `true`. + +In addition, you can further override the colours in the `quartz/styles/syntax.scss` file. + +## API + +- Category: Transformer +- Function name: `ExternalPlugin.SyntaxHighlighting()`. +- Source: [`quartz-community/syntax-highlighting`](https://github.com/quartz-community/syntax-highlighting) +- Install: `npx quartz plugin add github:quartz-community/syntax-highlighting` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/TableOfContents.md b/Local/storage/thlab-notes/worker/docs/plugins/TableOfContents.md new file mode 100644 index 0000000..a856fb0 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/TableOfContents.md @@ -0,0 +1,34 @@ +--- +title: TableOfContents +description: Generates and renders a table of contents from headings. +tags: + - plugin/transformer + - plugin/component +image: https://images.unsplash.com/photo-1768527338896-3765921e992d +repository: "[quartz-community/table-of-contents](https://github.com/quartz-community/table-of-contents)" +enabled: true +required: false +--- + +This plugin generates a table of contents (TOC) for Markdown documents. See [[table of contents]] for more information. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +This plugin accepts the following configuration options: + +- `maxDepth`: Limits the depth of headings included in the TOC, ranging from `1` (top level headings only) to `6` (all heading levels). Default is `3`. +- `minEntries`: The minimum number of heading entries required for the TOC to be displayed. Default is `1`. +- `showByDefault`: If `true` (default), the TOC should be displayed by default. Can be overridden by frontmatter settings. +- `collapseByDefault`: If `true`, the TOC will start in a collapsed state. Default is `false`. +- `layout`: The visual layout of the TOC component. Can be `"modern"` or `"legacy"`. Default is `"modern"`. + +> [!warning] +> This plugin needs the `Plugin.TableOfContents` component in `quartz.config.yaml` to determine where to display the TOC. Without it, nothing will be displayed. They should always be added or removed together. + +## API + +- Category: Transformer, Component +- Function name: `ExternalPlugin.TableOfContentsTransformer()`. +- Source: [`quartz-community/table-of-contents`](https://github.com/quartz-community/table-of-contents) +- Install: `npx quartz plugin add github:quartz-community/table-of-contents` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/TagList.md b/Local/storage/thlab-notes/worker/docs/plugins/TagList.md new file mode 100644 index 0000000..4fcde5c --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/TagList.md @@ -0,0 +1,24 @@ +--- +title: TagList +description: Renders tags as clickable links. +tags: + - plugin/component +image: +repository: "[quartz-community/tag-list](https://github.com/quartz-community/tag-list)" +enabled: false +required: false +--- + +This plugin renders the page's tags as a list of clickable links. Each tag links to its corresponding [[TagPage|tag page]], making it easy for readers to browse related content by topic. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +This plugin has no configuration options. + +## API + +- Category: Component +- Function name: `ExternalPlugin.TagList()`. +- Source: [`quartz-community/tag-list`](https://github.com/quartz-community/tag-list) +- Install: `npx quartz plugin add github:quartz-community/tag-list` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/TagPage.md b/Local/storage/thlab-notes/worker/docs/plugins/TagPage.md new file mode 100644 index 0000000..2a6b808 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/TagPage.md @@ -0,0 +1,28 @@ +--- +title: TagPage +description: Generates listing pages for tags. +tags: + - plugin/pageType +image: +repository: "[quartz-community/tag-page](https://github.com/quartz-community/tag-page)" +enabled: true +required: false +--- + +This plugin is a page type plugin that emits dedicated pages for each tag used in the content. It uses the `default` [[layout#Page Frames|page frame]] (three-column layout with sidebars). See [[folder and tag listings]] for more information. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +This plugin accepts the following configuration options: + +- `numPages`: The maximum number of pages to display per tag before showing a "see more" link. Defaults to `10`. +- `sort`: A function of type `(f1: QuartzPluginData, f2: QuartzPluginData) => number{:ts}` used to sort entries. Defaults to sorting by date and tie-breaking on lexographical order. Requires a TS override. +- `prefixTags`: If `true`, generated tag page titles are prefixed with "Tag: " (e.g. "Tag: recipes"). Defaults to `false`. + +## API + +- Category: Page Type +- Function name: `ExternalPlugin.TagPage()`. +- Source: [`quartz-community/tag-page`](https://github.com/quartz-community/tag-page) +- Install: `npx quartz plugin add github:quartz-community/tag-page` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/UnlistedPages.md b/Local/storage/thlab-notes/worker/docs/plugins/UnlistedPages.md new file mode 100644 index 0000000..7cb6079 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/UnlistedPages.md @@ -0,0 +1,68 @@ +--- +title: UnlistedPages +description: Hides pages from navigation and indexes while still publishing them. +tags: + - plugin/transformer +image: +new-in-v5: true +repository: "[quartz-community/unlisted-pages](https://github.com/quartz-community/unlisted-pages)" +enabled: true +required: false +--- + +Zero-config transformer that makes `unlisted: true` in a page's frontmatter a first-class way to opt out of every listing surface on your site. The page is still emitted as HTML and remains accessible by direct URL, but is absent from `contentIndex.json`, RSS, sitemap, graph, explorer, search, backlinks, recent notes, folder listings, and tag listings. + +> [!note] +> For information on how to add, remove or configure plugins, see the [[configuration#Plugins|Configuration]] page. + +## Usage + +Add an `unlisted` field to any page's frontmatter: + +```yaml +--- +title: My Draft +unlisted: true +--- +``` + +That's it. Every Quartz v5 plugin that respects the `file.data.unlisted` convention will then hide the page. + +## What each plugin does + +| Plugin | Behavior when `unlisted: true` | +| -------------- | -------------------------------------------------------------------------- | +| `ContentIndex` | Page absent from `contentIndex.json`, `sitemap.xml`, and the RSS feed. | +| `Search` | Page absent from search results (derived from `contentIndex.json`). | +| `Graph` | Page absent from graph nodes and edges (derived from `contentIndex.json`). | +| `Explorer` | Page absent from the sidebar file tree (derived from `contentIndex.json`). | +| `Backlinks` | Page never appears as a backlink source on other pages. | +| `RecentNotes` | Page absent from the recent notes list. | +| `FolderPage` | Page absent from folder listings and folder discovery. | +| `TagPage` | Page absent from tag discovery and tag listings. | + +In every case, the page's HTML is still emitted and accessible by direct URL. + +## Configuration + +Zero options. Just enable it. + +```yaml title="quartz.config.yaml" +- source: github:quartz-community/unlisted-pages + enabled: true +``` + +## Interaction with [[EncryptedPages]] + +The [[EncryptedPages]] plugin also sets `file.data.unlisted` when its `unlistWhenEncrypted: true` option is set or when a page has `unlisted: true` in frontmatter. The two plugins compose cleanly: + +- If you install only `UnlistedPages`: any page with `unlisted: true` in frontmatter is hidden from listing surfaces. Encryption is independent. +- If you install only `EncryptedPages`: `unlisted: true` only takes effect on pages that are also encrypted (have a password). Non-encrypted pages with `unlisted: true` are silently ignored. +- If you install both: `unlisted: true` works for every page, encrypted or not. This is the recommended setup for sites that use encrypted pages. + +## API + +- Category: Transformer +- Function name: `ExternalPlugin.UnlistedPages()`. +- Source: [`quartz-community/unlisted-pages`](https://github.com/quartz-community/unlisted-pages) +- Install: `npx quartz plugin add github:quartz-community/unlisted-pages` diff --git a/Local/storage/thlab-notes/worker/docs/plugins/index.md b/Local/storage/thlab-notes/worker/docs/plugins/index.md new file mode 100644 index 0000000..ff75ad1 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/plugins/index.md @@ -0,0 +1,146 @@ +--- +title: Plugins +image: +--- + +Quartz's functionality is provided by a collection of first-party community plugins. Each plugin can be enabled, disabled, and configured via `quartz.config.yaml`. See [[configuration#Plugins|Configuration]] for details on how to manage plugins. + +> [!info] Internal vs Community Plugins +> Quartz has two kinds of plugins: +> +> - **Community plugins** are standalone repositories under [`quartz-community`](https://github.com/quartz-community). In TS overrides, they use `ExternalPlugin.X()` (imported from `.quartz/plugins`). +> - **Internal plugins** are built into Quartz core (Assets, Static, ComponentResources, NotFoundPage). In TS overrides, they use `Plugin.X()` (imported from `./quartz/plugins`). + +## Plugin types + +Quartz plugins fall into several categories: + +- **Transformers** process content during the build, e.g. parsing frontmatter, highlighting syntax, or resolving links. +- **Filters** decide which content files to include or exclude from the output. +- **Page Types** generate HTML pages — one per content file, folder, tag, canvas, or bases view. +- **Components** render UI elements in the page layout (sidebars, headers, footers, etc.). + +## First-party plugins + +```base +filters: + and: + - file.ext == "md" + - file.inFolder("plugins") + - "!file.name.startsWith('index')" + - "!file.name.contains('Demo')" + - "!file.name.contains('Static')" + - "!file.name.contains('Assets')" + - "!file.name.contains('ComponentResources')" + - "!file.name.contains('NotFoundPage')" +formulas: + category: | + if(file.hasTag("plugin/transformer"), "Transformer", + if(file.hasTag("plugin/filter"), "Filter", + if(file.hasTag("plugin/pageType"), "Page Type", + if(file.hasTag("plugin/emitter"), "Emitter", + if(file.hasTag("plugin/component"), "Component", + "Other"))))) +properties: + title: + displayName: Plugin + repository: + displayName: Repository + enabled: + displayName: Enabled + required: + displayName: Required + description: + displayName: Description +views: + - type: table + name: All Plugins + groupBy: + property: formula.category + direction: ASC + order: + - title + - repository + - enabled + - required + - description + sort: + - property: formula.category + direction: ASC + - property: title + direction: ASC + - type: table + name: Transformers + filters: + and: + - file.hasTag("plugin/transformer") + order: + - title + - repository + - enabled + - required + - description + sort: + - property: title + direction: ASC + - type: table + name: Filters + filters: + and: + - file.hasTag("plugin/filter") + order: + - title + - repository + - enabled + - required + - description + sort: + - property: title + direction: ASC + - type: table + name: Page Types + filters: + and: + - file.hasTag("plugin/pageType") + order: + - title + - repository + - enabled + - required + - description + sort: + - property: title + direction: ASC + - type: table + name: Emitters + filters: + and: + - file.hasTag("plugin/emitter") + order: + - title + - repository + - enabled + - required + - description + sort: + - property: title + direction: ASC + - type: table + name: Components + filters: + and: + - file.hasTag("plugin/component") + order: + - title + - repository + - enabled + - required + - description + sort: + - property: title + direction: ASC + +``` + +> [!note] Multi-category plugins +> Some plugins span multiple categories. **TableOfContents** is both a transformer and a component. **EncryptedPages** is a transformer, emitter, and component. They appear in each relevant category above. diff --git a/Local/storage/thlab-notes/worker/docs/showcase.md b/Local/storage/thlab-notes/worker/docs/showcase.md new file mode 100644 index 0000000..20fc325 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/showcase.md @@ -0,0 +1,23 @@ +--- +title: "Quartz Showcase" +--- + +Want to see what Quartz can do? Here are some cool community gardens: + +- [Quartz Documentation (this site!)](https://quartz.jzhao.xyz/) +- [Jacky Zhao's Garden](https://jzhao.xyz/) +- [Aaron Pham's Garden](https://aarnphm.xyz/) +- [The Pond](https://turntrout.com/welcome) +- [Eilleen's Everything Notebook](https://quartz.eilleeenz.com/) +- [Morrowind Modding Wiki](https://morrowind-modding.github.io/) +- [Stanford CME 302 Numerical Linear Algebra](https://ericdarve.github.io/NLA/) +- [Socratica Toolbox](https://toolbox.socratica.info/) +- [A Pattern Language - Christopher Alexander (Architecture)](https://patternlanguage.cc/) +- [Sideny's 3D Artist's Handbook](https://sidney-eliot.github.io/3d-artists-handbook/) +- [Brandon Boswell's Garden](https://brandonkboswell.com) +- [Data Engineering Vault: A Second Brain Knowledge Network](https://vault.ssp.sh/) +- [🪴Aster's notebook](https://notes.asterhu.com) +- [Gatekeeper Wiki](https://www.gatekeeper.wiki) +- [Ellie's Notes](https://ellie.wtf) +- [Eledah's Crystalline](https://blog.eledah.ir/) +- [🌓 Projects & Privacy - FOSS, tech, law](https://be-far.com) diff --git a/Local/storage/thlab-notes/worker/docs/tags/component.md b/Local/storage/thlab-notes/worker/docs/tags/component.md new file mode 100644 index 0000000..57592e8 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/tags/component.md @@ -0,0 +1,5 @@ +--- +title: Components +--- + +Want to create your own custom component? Check out the advanced guide on [[creating components]] for more information. diff --git a/Local/storage/thlab-notes/worker/docs/tags/plugin.md b/Local/storage/thlab-notes/worker/docs/tags/plugin.md new file mode 100644 index 0000000..298ff16 --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/tags/plugin.md @@ -0,0 +1,3 @@ +--- +title: Plugins +--- diff --git a/Local/storage/thlab-notes/worker/docs/troubleshooting.md b/Local/storage/thlab-notes/worker/docs/troubleshooting.md new file mode 100644 index 0000000..ba06cfc --- /dev/null +++ b/Local/storage/thlab-notes/worker/docs/troubleshooting.md @@ -0,0 +1,172 @@ +--- +title: Troubleshooting +--- + +Common issues and solutions when working with Quartz. + +## Build Errors + +### `Could not resolve ...` or missing module errors + +This usually means a plugin is not installed. Run: + +```bash +npx quartz plugin install +``` + +This restores all plugins from your `quartz.lock.json` to `.quartz/plugins/`. + +### `tsc` type errors after updating + +After running `npx quartz upgrade`, type errors can occur if the update changed internal APIs that your `quartz.ts` overrides depend on. Check the changelog for breaking changes and update your overrides accordingly. + +### Build is slow + +Try increasing concurrency: + +```bash +npx quartz build --concurrency 8 +# or the shorthand: +npx quartz build -c 8 +``` + +The default uses all available CPU cores. If you're on a memory-constrained environment (CI), reducing concurrency may actually help. + +## Plugin Issues + +### Plugin not loading after installation + +1. Verify the plugin appears in `quartz.config.yaml` under `plugins:` +2. Check that `enabled: true` is set +3. Run `npx quartz plugin list` to confirm it's installed +4. Run `npx quartz plugin install --latest --dry-run` to verify plugin health + +### Plugin options not taking effect + +Make sure your YAML indentation is correct. Options must be nested under the plugin entry: + +```yaml title="quartz.config.yaml" +plugins: + - source: github:quartz-community/some-plugin + enabled: true + options: + myOption: value # correct: nested under options +``` + +A common mistake is putting options at the wrong indentation level. + +### `ExternalPlugin.X is not a function` + +This means the plugin is referenced in `quartz.ts` but not installed. Either: + +- Install it: `npx quartz plugin add github:quartz-community/plugin-name` +- Or remove the reference from `quartz.ts` + +### Plugins fail to build on a fresh clone + +> [!important] +> Most community plugins now ship with a pre-built `dist/` directory and skip the build step entirely. The build failure scenario described below mainly applies to plugins in development or older plugins that haven't adopted pre-built distribution. + +On a brand-new clone, `npx quartz plugin install` (or the plugin step run automatically by `npx quartz create`) may report a handful of plugins failing to build — typically around 10–15 of them. The git clone and checkout still succeed, but `npm run build` inside the plugin errors out. + +This happens because `quartz.lock.json` pins each plugin to a specific commit, and those older plugin commits may have been authored against earlier versions of `@quartz-community/types` / `@quartz-community/utils` whose published artifacts are no longer shipped in the dependency's git repo. The plugin's `tsup`/`tsc` build then cannot resolve the expected type declarations. + +Fix it by refreshing all plugins to the latest commit on their default branch: + +```bash +npx quartz plugin install --latest +``` + +This rewrites `quartz.lock.json` with the newest commits (which in turn pin newer `@quartz-community/*` versions whose built output is available), and rebuilds every plugin from scratch. After this step, subsequent `npx quartz plugin install` calls will restore cleanly from the refreshed lockfile. + +### `plugin install` hangs, OOMs, or fails on low-end hardware + +> [!note] +> Pre-built plugins are much faster and lighter on resources because they skip the `npm install` and `npm run build` steps. + +By default, `npx quartz plugin install` clones, fetches, and builds plugins in parallel across all your CPU cores. Each parallel worker may run its own `npm install` and `npm run build`, which is memory-intensive. On low-end laptops, Raspberry Pi, small VPS instances, or restrictive CI runners this can exhaust RAM, trigger the OOM killer, or make the system appear to hang. + +Lower the parallelism with `--concurrency` / `-c`: + +```bash +# Install one plugin at a time (safest, slowest) +npx quartz plugin install --latest -c 1 + +# Two at a time — usually works on 4 GB machines +npx quartz plugin install --latest --concurrency 2 +``` + +The same flag works for `plugin add` and the deprecated aliases (`plugin update`, `plugin restore`, `plugin check`, `plugin resolve`): + +```bash +npx quartz plugin add github:quartz-community/some-plugin -c 1 +``` + +If `plugin install` consistently fails near the same plugin with `-c 1`, the issue is likely with that specific plugin's build, not with concurrency — try running `--verbose` to get detailed error output, and check the plugin's own repository for known issues. + +## Content Issues + +### Notes not showing up + +- Check that the file is in the `content/` folder +- Check that `draft: true` is not set in the frontmatter (the [[RemoveDrafts]] plugin filters these out) +- If using [[ExplicitPublish]], make sure `publish: true` is set in frontmatter +- Check your [[configuration]] `ignorePatterns` to make sure the file path is not excluded + +### Wikilinks not resolving + +- Make sure the [[ObsidianFlavoredMarkdown]] plugin is enabled +- Verify the target note exists in your content folder +- Check for case sensitivity issues in filenames + +### Images not displaying + +- Ensure images are in a folder that Quartz processes (typically `content/` or a subfolder) +- Check that the image path in your Markdown matches the actual file location +- The [[Assets]] emitter must be enabled (it is by default) + +## GitHub Sync Issues + +### `fatal: --[no-]autostash option is only valid with --rebase` + +You may have an outdated version of `git`. Update git to resolve this. + +### `fatal: The remote end hung up unexpectedly` + +This is usually due to Git's default buffer size being too small for your content. Increase it: + +```bash +git config http.postBuffer 524288000 +``` + +### Merge conflicts during sync + +If `npx quartz sync` encounters merge conflicts: + +1. Resolve the conflicts in your editor +2. Run `git add .` and `git commit` to complete the merge +3. Run `npx quartz sync --no-pull` to push + +If you want to start over, run `npx quartz restore` to recover your content from the cache. + +## Development Server Issues + +### Hot reload not working + +- Make sure you're using `--serve` mode: `npx quartz build --serve` +- Check that port 3001 (WebSocket) is not blocked — this is the default `--wsPort` used for hot reload notifications +- If developing remotely, use `--remoteDevHost` to set the correct WebSocket URL + +### Port already in use + +Change the port: + +```bash +npx quartz build --serve --port 3000 +``` + +## Still stuck? + +- Check the [GitHub Issues](https://github.com/jackyzha0/quartz/issues) for similar problems +- Ask in the [Discord Community](https://discord.gg/cRFFHYye7t) +- Run your command with `--verbose` for more detailed error output diff --git a/Local/storage/thlab-notes/worker/entrypoint.sh b/Local/storage/thlab-notes/worker/entrypoint.sh new file mode 100644 index 0000000..ed9ccb5 --- /dev/null +++ b/Local/storage/thlab-notes/worker/entrypoint.sh @@ -0,0 +1,77 @@ +#!/bin/bash +set -e + +# Configuration from environment variables +VAULT_REPO="${VAULT_REPO:-}" +VAULT_BRANCH="${VAULT_BRANCH:-main}" +SYNC_INTERVAL="${SYNC_INTERVAL:-30}" +CONTENT_DIR="/usr/src/app/content" + +# Logging function +log() { + echo "[$(date +'%Y-%m-%d %H:%M:%S')] $1" +} + +# Initialize vault content +init_vault() { + log "Initializing vault from $VAULT_REPO (branch: $VAULT_BRANCH)" + + if [ -z "$VAULT_REPO" ]; then + log "ERROR: VAULT_REPO not set. Using pre-existing content." + return 0 + fi + + # Remove existing content if it exists and is a git repo + if [ -d "$CONTENT_DIR/.git" ]; then + log "Content directory is a git repo, pulling latest changes..." + cd "$CONTENT_DIR" + git fetch origin "$VAULT_BRANCH" + git reset --hard "origin/$VAULT_BRANCH" + cd /usr/src/app + else + log "Content directory is not a git repo, cloning..." + rm -rf "$CONTENT_DIR" + git clone --depth 1 --branch "$VAULT_BRANCH" "$VAULT_REPO" "$CONTENT_DIR" + fi + + log "Vault synchronized successfully" +} + +# Sync vault periodically in background +sync_vault_loop() { + while true; do + sleep "$SYNC_INTERVAL" + log "Checking for vault updates..." + + if [ -d "$CONTENT_DIR/.git" ]; then + cd "$CONTENT_DIR" + # Check if there are remote changes + git fetch origin "$VAULT_BRANCH" 2>/dev/null || continue + + LOCAL=$(git rev-parse HEAD) + REMOTE=$(git rev-parse "origin/$VAULT_BRANCH") + + if [ "$LOCAL" != "$REMOTE" ]; then + log "Vault changes detected, pulling..." + git reset --hard "origin/$VAULT_BRANCH" + log "Vault updated. Note: Quartz build may need restart for changes to appear." + else + log "Vault is up to date" + fi + cd /usr/src/app + fi + done +} + +# Initialize once on startup +init_vault + +# Start sync loop in background +sync_vault_loop & +SYNC_PID=$! + +log "Starting Quartz..." +# Run Quartz with proper signal handling +trap "kill $SYNC_PID 2>/dev/null || true" EXIT TERM INT +exec npx quartz build --serve + diff --git a/Local/storage/thlab-notes/worker/globals.d.ts b/Local/storage/thlab-notes/worker/globals.d.ts new file mode 100644 index 0000000..6cf30f8 --- /dev/null +++ b/Local/storage/thlab-notes/worker/globals.d.ts @@ -0,0 +1,17 @@ +export declare global { + interface Document { + addEventListener( + type: K, + listener: (this: Document, ev: CustomEventMap[K]) => void, + ): void + removeEventListener( + type: K, + listener: (this: Document, ev: CustomEventMap[K]) => void, + ): void + dispatchEvent(ev: CustomEventMap[K] | UIEvent): void + } + interface Window { + spaNavigate(url: URL, isBack: boolean = false) + addCleanup(fn: (...args: any[]) => void) + } +} diff --git a/Local/storage/thlab-notes/worker/index.d.ts b/Local/storage/thlab-notes/worker/index.d.ts new file mode 100644 index 0000000..1dc0e2f --- /dev/null +++ b/Local/storage/thlab-notes/worker/index.d.ts @@ -0,0 +1,16 @@ +declare module "*.scss" { + const content: string + export = content +} + +// dom custom event +interface CustomEventMap { + prenav: CustomEvent<{}> + nav: CustomEvent<{ url: FullSlug }> + themechange: CustomEvent<{ theme: "light" | "dark" }> + readermodechange: CustomEvent<{ mode: "on" | "off" }> + render: CustomEvent<{}> +} + +type ContentIndex = Record +declare const fetchData: Promise diff --git a/Local/storage/thlab-notes/worker/package-lock.json b/Local/storage/thlab-notes/worker/package-lock.json new file mode 100644 index 0000000..c67ea31 --- /dev/null +++ b/Local/storage/thlab-notes/worker/package-lock.json @@ -0,0 +1,5845 @@ +{ + "name": "@jackyzha0/quartz", + "version": "5.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "@jackyzha0/quartz", + "version": "5.0.0", + "license": "MIT", + "dependencies": { + "@clack/prompts": "^0.11.0", + "@floating-ui/dom": "^1.7.4", + "@myriaddreamin/rehype-typst": "^0.6.0", + "@napi-rs/simple-git": "0.1.22", + "ansi-truncate": "^1.4.0", + "async-mutex": "^0.5.0", + "chokidar": "^5.0.0", + "esbuild-sass-plugin": "^3.6.0", + "github-slugger": "^2.0.0", + "globby": "^16.1.0", + "hast-util-to-jsx-runtime": "^2.3.6", + "isomorphic-git": "^1.36.3", + "lightningcss": "^1.31.1", + "micromorph": "^0.4.5", + "minimatch": "^10.1.1", + "preact": "^10.28.2", + "preact-render-to-string": "^6.6.5", + "pretty-bytes": "^7.1.0", + "pretty-time": "^1.1.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.1.2", + "rfdc": "^1.4.1", + "serve-handler": "^6.1.6", + "sharp": "^0.34.5", + "source-map-support": "^0.5.21", + "to-vfile": "^8.0.0", + "unified": "^11.0.5", + "unist-util-visit": "^5.1.0", + "vfile": "^6.0.3", + "workerpool": "^10.0.1", + "ws": "^8.19.0", + "yaml": "^2.8.2", + "yargs": "^18.0.0" + }, + "bin": { + "quartz": "quartz/bootstrap-cli.mjs" + }, + "devDependencies": { + "@quartz-community/types": "github:quartz-community/types", + "@quartz-community/utils": "github:quartz-community/utils", + "@types/hast": "^3.0.4", + "@types/node": "^25.0.10", + "@types/pretty-time": "^1.1.5", + "@types/source-map-support": "^0.5.10", + "@types/ws": "^8.18.1", + "@types/yargs": "^17.0.35", + "esbuild": "^0.27.2", + "prettier": "^3.8.1", + "tsx": "^4.21.0", + "typescript": "^5.9.3" + }, + "engines": { + "node": ">=22", + "npm": ">=10.9.2" + } + }, + "node_modules/@bufbuild/protobuf": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-2.11.0.tgz", + "integrity": "sha512-sBXGT13cpmPR5BMgHE6UEEfEaShh5Ror6rfN3yEK5si7QVrtZg8LEPQb0VVhiLRUslD2yLnXtnRzG035J/mZXQ==", + "license": "(Apache-2.0 AND BSD-3-Clause)", + "peer": true + }, + "node_modules/@clack/core": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@clack/core/-/core-0.5.0.tgz", + "integrity": "sha512-p3y0FIOwaYRUPRcMO7+dlmLh8PSRcrjuTndsiA0WAFbWES0mLZlrjVoBRZ9DzkPFJZG6KGkJmoEAY0ZcVWTkow==", + "license": "MIT", + "dependencies": { + "picocolors": "^1.0.0", + "sisteransi": "^1.0.5" + } + }, + "node_modules/@clack/prompts": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@clack/prompts/-/prompts-0.11.0.tgz", + "integrity": "sha512-pMN5FcrEw9hUkZA4f+zLlzivQSeQf5dRGJjSUbvVYDLvpKCdQx5OaknvKzgbtXOizhP+SJJJjqEbOe55uKKfAw==", + "license": "MIT", + "dependencies": { + "@clack/core": "0.5.0", + "picocolors": "^1.0.0", + "sisteransi": "^1.0.5" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.9.0.tgz", + "integrity": "sha512-QN75eB0IH2ywSpRpNddCRfQIhmJYBCJ1x5Lb3IscKAL8bMnVAKnRg8dCoXbHzVLLH7P38N2Z3mtulB7W0J0FKw==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", + "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz", + "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", + "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz", + "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", + "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", + "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", + "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", + "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", + "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", + "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", + "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", + "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", + "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", + "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", + "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", + "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", + "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", + "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", + "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", + "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", + "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", + "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", + "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", + "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", + "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", + "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.4.tgz", + "integrity": "sha512-C3HlIdsBxszvm5McXlB8PeOEWfBhcGBTZGkGlWc2U0KFY5IwG5OQEuQ8rq52DZmcHDlPLd+YFBK+cZcytwIFWg==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.5.tgz", + "integrity": "sha512-N0bD2kIPInNHUHehXhMke1rBGs1dwqvC9O9KYMyyjK7iXt7GAhnro7UlcuYcGdS/yYOlq0MAVgrow8IbWJwyqg==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.7.4", + "@floating-ui/utils": "^0.2.10" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", + "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==", + "license": "MIT" + }, + "node_modules/@img/colour": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.1.0.tgz", + "integrity": "sha512-Td76q7j57o/tLVdgS746cYARfSyxk8iEfRxewL9h4OMzYhbW4TAcppl0mT4eyqXddh6L/jwoM75mo7ixa/pCeQ==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", + "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", + "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", + "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", + "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", + "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", + "cpu": [ + "arm" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", + "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", + "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", + "cpu": [ + "ppc64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-riscv64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", + "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", + "cpu": [ + "riscv64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", + "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", + "cpu": [ + "s390x" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", + "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", + "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", + "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", + "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", + "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", + "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", + "cpu": [ + "ppc64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-riscv64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", + "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", + "cpu": [ + "riscv64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-riscv64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", + "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", + "cpu": [ + "s390x" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", + "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", + "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", + "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.2.4" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", + "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.7.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", + "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", + "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", + "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@myriaddreamin/rehype-typst": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@myriaddreamin/rehype-typst/-/rehype-typst-0.6.0.tgz", + "integrity": "sha512-WQpr2j7OYtyc2Q1WOqi1wzYrBaeuAWT1Cn1Ki6VPsKoWH7O86/+zKOqltdgMpYdkav1uXYs3RfO5Ir8h0WkZyQ==", + "license": "MIT", + "dependencies": { + "@myriaddreamin/typst-ts-node-compiler": "^0.6.0", + "@types/hast": "^3.0.0", + "@types/katex": "^0.16.0", + "hast-util-from-html-isomorphic": "^2.0.0", + "hast-util-to-text": "^4.0.0", + "https-proxy-agent": "^7.0.2", + "unist-util-visit-parents": "^6.0.0", + "vfile": "^6.0.0" + } + }, + "node_modules/@myriaddreamin/typst-ts-node-compiler": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@myriaddreamin/typst-ts-node-compiler/-/typst-ts-node-compiler-0.6.0.tgz", + "integrity": "sha512-C40MzRKZ8pDWzrS7VOtTypGyFaHTuZFFx3o/uQ6ryS2GqZkK3vGox4lIpR7ct11UHiAjQNR3LFQ5WjQ7P3niBQ==", + "license": "Apache-2.0", + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@myriaddreamin/typst-ts-node-compiler-android-arm-eabi": "0.6.0", + "@myriaddreamin/typst-ts-node-compiler-android-arm64": "0.6.0", + "@myriaddreamin/typst-ts-node-compiler-darwin-arm64": "0.6.0", + "@myriaddreamin/typst-ts-node-compiler-darwin-x64": "0.6.0", + "@myriaddreamin/typst-ts-node-compiler-linux-arm-gnueabihf": "0.6.0", + "@myriaddreamin/typst-ts-node-compiler-linux-arm64-gnu": "0.6.0", + "@myriaddreamin/typst-ts-node-compiler-linux-arm64-musl": "0.6.0", + "@myriaddreamin/typst-ts-node-compiler-linux-x64-gnu": "0.6.0", + "@myriaddreamin/typst-ts-node-compiler-linux-x64-musl": "0.6.0", + "@myriaddreamin/typst-ts-node-compiler-win32-arm64-msvc": "0.6.0", + "@myriaddreamin/typst-ts-node-compiler-win32-x64-msvc": "0.6.0" + } + }, + "node_modules/@myriaddreamin/typst-ts-node-compiler-android-arm-eabi": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@myriaddreamin/typst-ts-node-compiler-android-arm-eabi/-/typst-ts-node-compiler-android-arm-eabi-0.6.0.tgz", + "integrity": "sha512-Gfrf9Fky5iYtutGWYwqRC4gvllK1p1q6YELCbycI47NCFptONI++3dfub4PixWRn9m8NrmaNFIBQSyLHWsvbLw==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@myriaddreamin/typst-ts-node-compiler-android-arm64": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@myriaddreamin/typst-ts-node-compiler-android-arm64/-/typst-ts-node-compiler-android-arm64-0.6.0.tgz", + "integrity": "sha512-EzO6W4xELC6at30hSkkOp5BveszwCmTWceu0PMh6lPxeQF1vnjxUK60MLFfJ40zb1TOXsj4l2pbdBoGqLznC1g==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@myriaddreamin/typst-ts-node-compiler-darwin-arm64": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@myriaddreamin/typst-ts-node-compiler-darwin-arm64/-/typst-ts-node-compiler-darwin-arm64-0.6.0.tgz", + "integrity": "sha512-8tR1GqFr+q4rNZm8z0230eF7eRCVCSaUefDw1+Qw8EnDPIvwEP8bT0/u2YqHmxthfVfs1msV8hDpRKVeBa6E3g==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@myriaddreamin/typst-ts-node-compiler-darwin-x64": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@myriaddreamin/typst-ts-node-compiler-darwin-x64/-/typst-ts-node-compiler-darwin-x64-0.6.0.tgz", + "integrity": "sha512-eytv5ifNvhux9naqEb+4pu1Z4ghQBWiybP4lT/aB44I9H5xjmtYQxiKwNBz54am6RLiMcyLpw/xFdeB13bsdWA==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@myriaddreamin/typst-ts-node-compiler-linux-arm-gnueabihf": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@myriaddreamin/typst-ts-node-compiler-linux-arm-gnueabihf/-/typst-ts-node-compiler-linux-arm-gnueabihf-0.6.0.tgz", + "integrity": "sha512-b20do+PmbsYq07QlTW8uLU3MaoAm6DSCx1IrCEAlUpNH+/29x51Rvyq5JeRrYVOtkR6BxPzyhCM79r5jOkewbQ==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@myriaddreamin/typst-ts-node-compiler-linux-arm64-gnu": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@myriaddreamin/typst-ts-node-compiler-linux-arm64-gnu/-/typst-ts-node-compiler-linux-arm64-gnu-0.6.0.tgz", + "integrity": "sha512-AM92MVfEbISYvIA8NwPl2l78nOZIh5er5qQ/NZw2kx4YgTKgklJINEPHXm/aAk7PcpX7G10P45D/xGd5KpX9HQ==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@myriaddreamin/typst-ts-node-compiler-linux-arm64-musl": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@myriaddreamin/typst-ts-node-compiler-linux-arm64-musl/-/typst-ts-node-compiler-linux-arm64-musl-0.6.0.tgz", + "integrity": "sha512-nSokVjKQR0ZH7Jub53q7he89+m72RSbL97exSedkB4OdZAi9tAxGFIgceGJuN5AC+DiNtMmqsPwlJiERUjgPhQ==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@myriaddreamin/typst-ts-node-compiler-linux-x64-gnu": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@myriaddreamin/typst-ts-node-compiler-linux-x64-gnu/-/typst-ts-node-compiler-linux-x64-gnu-0.6.0.tgz", + "integrity": "sha512-3Y2ORiYuCTzQkiHSCHWiGuzTBbNvHTB2lCr3DDsZdvTZ2LZMifPwwICN26X3tlnt6GyC3o/ejZBcMnfNqYbdCw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@myriaddreamin/typst-ts-node-compiler-linux-x64-musl": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@myriaddreamin/typst-ts-node-compiler-linux-x64-musl/-/typst-ts-node-compiler-linux-x64-musl-0.6.0.tgz", + "integrity": "sha512-b+kTb4vI0sFTkPtIAUE+UqjhZ4kTiAkh4F/2QKnFitAsURlLcRwTcMc9NJm6SXwW1OM0nPj1IGTfUOFpqLOIPQ==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@myriaddreamin/typst-ts-node-compiler-win32-arm64-msvc": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@myriaddreamin/typst-ts-node-compiler-win32-arm64-msvc/-/typst-ts-node-compiler-win32-arm64-msvc-0.6.0.tgz", + "integrity": "sha512-04omIPrXSsRKu4XDhj1WZ9uMjdcFcejBGzyOEV351HVDqg5kxgDB32iG3oLySLrzEcbi9WwI5Si46WrW0wh4mA==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@myriaddreamin/typst-ts-node-compiler-win32-x64-msvc": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@myriaddreamin/typst-ts-node-compiler-win32-x64-msvc/-/typst-ts-node-compiler-win32-x64-msvc-0.6.0.tgz", + "integrity": "sha512-w5UEmXSZ+Eg7Y04EzjgqeHUo7P8bNz9S1c4CUfLrbfZvbTmYNjA0WeqZJ3+tV03BSVxiPiVhrfo95sLqKISNrg==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/simple-git": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/@napi-rs/simple-git/-/simple-git-0.1.22.tgz", + "integrity": "sha512-bMVoAKhpjTOPHkW/lprDPwv5aD4R4C3Irt8vn+SKA9wudLe9COLxOhurrKRsxmZccUbWXRF7vukNeGUAj5P8kA==", + "license": "MIT", + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@napi-rs/simple-git-android-arm-eabi": "0.1.22", + "@napi-rs/simple-git-android-arm64": "0.1.22", + "@napi-rs/simple-git-darwin-arm64": "0.1.22", + "@napi-rs/simple-git-darwin-x64": "0.1.22", + "@napi-rs/simple-git-freebsd-x64": "0.1.22", + "@napi-rs/simple-git-linux-arm-gnueabihf": "0.1.22", + "@napi-rs/simple-git-linux-arm64-gnu": "0.1.22", + "@napi-rs/simple-git-linux-arm64-musl": "0.1.22", + "@napi-rs/simple-git-linux-ppc64-gnu": "0.1.22", + "@napi-rs/simple-git-linux-s390x-gnu": "0.1.22", + "@napi-rs/simple-git-linux-x64-gnu": "0.1.22", + "@napi-rs/simple-git-linux-x64-musl": "0.1.22", + "@napi-rs/simple-git-win32-arm64-msvc": "0.1.22", + "@napi-rs/simple-git-win32-ia32-msvc": "0.1.22", + "@napi-rs/simple-git-win32-x64-msvc": "0.1.22" + } + }, + "node_modules/@napi-rs/simple-git-android-arm-eabi": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-android-arm-eabi/-/simple-git-android-arm-eabi-0.1.22.tgz", + "integrity": "sha512-JQZdnDNm8o43A5GOzwN/0Tz3CDBQtBUNqzVwEopm32uayjdjxev1Csp1JeaqF3v9djLDIvsSE39ecsN2LhCKKQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/simple-git-android-arm64": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-android-arm64/-/simple-git-android-arm64-0.1.22.tgz", + "integrity": "sha512-46OZ0SkhnvM+fapWjzg/eqbJvClxynUpWYyYBn4jAj7GQs1/Yyc8431spzDmkA8mL0M7Xo8SmbkzTDE7WwYAfg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/simple-git-darwin-arm64": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-darwin-arm64/-/simple-git-darwin-arm64-0.1.22.tgz", + "integrity": "sha512-zH3h0C8Mkn9//MajPI6kHnttywjsBmZ37fhLX/Fiw5XKu84eHA6dRyVtMzoZxj6s+bjNTgaMgMUucxPn9ktxTQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/simple-git-darwin-x64": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-darwin-x64/-/simple-git-darwin-x64-0.1.22.tgz", + "integrity": "sha512-GZN7lRAkGKB6PJxWsoyeYJhh85oOOjVNyl+/uipNX8bR+mFDCqRsCE3rRCFGV9WrZUHXkcuRL2laIRn7lLi3ag==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/simple-git-freebsd-x64": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-freebsd-x64/-/simple-git-freebsd-x64-0.1.22.tgz", + "integrity": "sha512-xyqX1C5I0WBrUgZONxHjZH5a4LqQ9oki3SKFAVpercVYAcx3pq6BkZy1YUOP4qx78WxU1CCNfHBN7V+XO7D99A==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/simple-git-linux-arm-gnueabihf": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-linux-arm-gnueabihf/-/simple-git-linux-arm-gnueabihf-0.1.22.tgz", + "integrity": "sha512-4LOtbp9ll93B9fxRvXiUJd1/RM3uafMJE7dGBZGKWBMGM76+BAcCEUv2BY85EfsU/IgopXI6n09TycRfPWOjxA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/simple-git-linux-arm64-gnu": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-linux-arm64-gnu/-/simple-git-linux-arm64-gnu-0.1.22.tgz", + "integrity": "sha512-GVOjP/JjCzbQ0kSqao7ctC/1sodVtv5VF57rW9BFpo2y6tEYPCqHnkQkTpieuwMNe+TVOhBUC1+wH0d9/knIHg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/simple-git-linux-arm64-musl": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-linux-arm64-musl/-/simple-git-linux-arm64-musl-0.1.22.tgz", + "integrity": "sha512-MOs7fPyJiU/wqOpKzAOmOpxJ/TZfP4JwmvPad/cXTOWYwwyppMlXFRms3i98EU3HOazI/wMU2Ksfda3+TBluWA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/simple-git-linux-ppc64-gnu": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-linux-ppc64-gnu/-/simple-git-linux-ppc64-gnu-0.1.22.tgz", + "integrity": "sha512-L59dR30VBShRUIZ5/cQHU25upNgKS0AMQ7537J6LCIUEFwwXrKORZKJ8ceR+s3Sr/4jempWVvMdjEpFDE4HYww==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/simple-git-linux-s390x-gnu": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-linux-s390x-gnu/-/simple-git-linux-s390x-gnu-0.1.22.tgz", + "integrity": "sha512-4FHkPlCSIZUGC6HiADffbe6NVoTBMd65pIwcd40IDbtFKOgFMBA+pWRqKiQ21FERGH16Zed7XHJJoY3jpOqtmQ==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/simple-git-linux-x64-gnu": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-linux-x64-gnu/-/simple-git-linux-x64-gnu-0.1.22.tgz", + "integrity": "sha512-Ei1tM5Ho/dwknF3pOzqkNW9Iv8oFzRxE8uOhrITcdlpxRxVrBVptUF6/0WPdvd7R9747D/q61QG/AVyWsWLFKw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/simple-git-linux-x64-musl": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-linux-x64-musl/-/simple-git-linux-x64-musl-0.1.22.tgz", + "integrity": "sha512-zRYxg7it0p3rLyEJYoCoL2PQJNgArVLyNavHW03TFUAYkYi5bxQ/UFNVpgxMaXohr5yu7qCBqeo9j4DWeysalg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/simple-git-win32-arm64-msvc": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-win32-arm64-msvc/-/simple-git-win32-arm64-msvc-0.1.22.tgz", + "integrity": "sha512-XGFR1fj+Y9cWACcovV2Ey/R2xQOZKs8t+7KHPerYdJ4PtjVzGznI4c2EBHXtdOIYvkw7tL5rZ7FN1HJKdD5Quw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/simple-git-win32-ia32-msvc": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-win32-ia32-msvc/-/simple-git-win32-ia32-msvc-0.1.22.tgz", + "integrity": "sha512-Gqr9Y0gs6hcNBA1IXBpoqTFnnIoHuZGhrYqaZzEvGMLrTrpbXrXVEtX3DAAD2RLc1b87CPcJ49a7sre3PU3Rfw==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/simple-git-win32-x64-msvc": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/@napi-rs/simple-git-win32-x64-msvc/-/simple-git-win32-x64-msvc-0.1.22.tgz", + "integrity": "sha512-hQjcreHmUcpw4UrtkOron1/TQObfe484lxiXFLLUj7aWnnnOVs1mnXq5/Bo9+3NYZldFpFRJPdPBeHCisXkKJg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.6.tgz", + "integrity": "sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.3", + "is-glob": "^4.0.3", + "node-addon-api": "^7.0.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.6", + "@parcel/watcher-darwin-arm64": "2.5.6", + "@parcel/watcher-darwin-x64": "2.5.6", + "@parcel/watcher-freebsd-x64": "2.5.6", + "@parcel/watcher-linux-arm-glibc": "2.5.6", + "@parcel/watcher-linux-arm-musl": "2.5.6", + "@parcel/watcher-linux-arm64-glibc": "2.5.6", + "@parcel/watcher-linux-arm64-musl": "2.5.6", + "@parcel/watcher-linux-x64-glibc": "2.5.6", + "@parcel/watcher-linux-x64-musl": "2.5.6", + "@parcel/watcher-win32-arm64": "2.5.6", + "@parcel/watcher-win32-ia32": "2.5.6", + "@parcel/watcher-win32-x64": "2.5.6" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz", + "integrity": "sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz", + "integrity": "sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz", + "integrity": "sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.6.tgz", + "integrity": "sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.6.tgz", + "integrity": "sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.6.tgz", + "integrity": "sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.6.tgz", + "integrity": "sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.6.tgz", + "integrity": "sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz", + "integrity": "sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz", + "integrity": "sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.6.tgz", + "integrity": "sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.6.tgz", + "integrity": "sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.6.tgz", + "integrity": "sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@quartz-community/types": { + "version": "0.2.1", + "resolved": "git+ssh://git@github.com/quartz-community/types.git#d413569b02ff0cd9a7e8d74dee125d20a5e5ec72", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=22", + "npm": ">=10.9.2" + }, + "peerDependencies": { + "unified": "^11.0.5", + "vfile": "^6.0.3" + }, + "peerDependenciesMeta": { + "unified": { + "optional": true + }, + "vfile": { + "optional": true + } + } + }, + "node_modules/@quartz-community/utils": { + "version": "0.1.0", + "resolved": "git+ssh://git@github.com/quartz-community/utils.git#e09d8b0bbccb46073b23c00affaf3e40a2c3b0c4", + "dev": true, + "license": "MIT", + "dependencies": { + "@quartz-community/types": "github:quartz-community/types" + }, + "engines": { + "node": ">=22", + "npm": ">=10.9.2" + }, + "peerDependencies": { + "github-slugger": "^2.0.0", + "hast-util-to-jsx-runtime": "^2.3.6", + "preact": "^10.0.0" + }, + "peerDependenciesMeta": { + "github-slugger": { + "optional": true + }, + "hast-util-to-jsx-runtime": { + "optional": true + } + } + }, + "node_modules/@sindresorhus/merge-streams": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", + "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "license": "MIT" + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/katex": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@types/katex/-/katex-0.16.8.tgz", + "integrity": "sha512-trgaNyfU+Xh2Tc+ABIb44a5AYUpicB3uwirOioeOkNPPbmgRNtcWyDeeFRzjPZENO9Vq8gvVqfhaaXWLlevVwg==", + "license": "MIT" + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "25.3.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.3.0.tgz", + "integrity": "sha512-4K3bqJpXpqfg2XKGK9bpDTc6xO/xoUP/RBWS7AtRMug6zZFaRekiLzjVtAoZMquxoAbzBvy5nxQ7veS5eYzf8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.18.0" + } + }, + "node_modules/@types/pretty-time": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@types/pretty-time/-/pretty-time-1.1.5.tgz", + "integrity": "sha512-5yl+BYwmnRWZb783W8YYoHXvPY8q/rp7ctHBVaGBB9RxlzGpHNJ72tGQMK7TrUSnxzl1dbDcBDuBCSbtfnSQGg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/source-map-support": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/@types/source-map-support/-/source-map-support-0.5.10.tgz", + "integrity": "sha512-tgVP2H469x9zq34Z0m/fgPewGhg/MLClalNOiPIzQlXrSS2YrKu/xCdSCKnEDwkFha51VKEKB6A9wW26/ZNwzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "source-map": "^0.6.0" + } + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/@types/ws": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", + "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "17.0.35", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.35.tgz", + "integrity": "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "license": "ISC" + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "license": "MIT", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ansi-truncate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ansi-truncate/-/ansi-truncate-1.4.0.tgz", + "integrity": "sha512-p6d2MrNs/mbpdXFT08fGabIg4pbgnUbbhrsoFfxWV5L3zFKw7tUkYUxGY3xCGJUPohENM80Q4sWkl/VDEN3pZg==", + "license": "MIT", + "dependencies": { + "fast-string-truncated-width": "^3.0.1" + } + }, + "node_modules/async-lock": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/async-lock/-/async-lock-1.4.1.tgz", + "integrity": "sha512-Az2ZTpuytrtqENulXwO3GGv1Bztugx6TT37NIo7imr/Qo0gsYiGtSdBa2B6fsXhTpVZDNfu1Qn3pk531e3q+nQ==", + "license": "MIT" + }, + "node_modules/async-mutex": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/async-mutex/-/async-mutex-0.5.0.tgz", + "integrity": "sha512-1A94B18jkJ3DYq284ohPxoXbfTA5HsQ7/Mf4DEhcyLx3Bz27Rh59iScbB6EPiP+B+joue6YCxcMXSbFC1tZKwA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", + "license": "MIT", + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/brace-expansion": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz", + "integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "license": "MIT" + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chokidar": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "license": "MIT", + "dependencies": { + "readdirp": "^5.0.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/clean-git-ref": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/clean-git-ref/-/clean-git-ref-2.0.1.tgz", + "integrity": "sha512-bLSptAy2P0s6hU4PzuIMKmMJJSE6gLXGH1cntDu7bWJUksvuM+7ReOK61mozULErYvP6a15rnYl0zFDef+pyPw==", + "license": "Apache-2.0" + }, + "node_modules/cliui": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz", + "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==", + "license": "ISC", + "dependencies": { + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/colorjs.io": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/colorjs.io/-/colorjs.io-0.5.2.tgz", + "integrity": "sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw==", + "license": "MIT", + "peer": true + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" + }, + "node_modules/content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "license": "Apache-2.0", + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz", + "integrity": "sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "license": "MIT", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/diff3": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/diff3/-/diff3-0.0.3.tgz", + "integrity": "sha512-iSq8ngPOt0K53A6eVr4d5Kn6GNrM2nQZtC740pzIriHtn4pOQ2lyzEXQMBeVcWERN0ye7fhBsk9PbLLQOnUx/g==", + "license": "MIT" + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/emoji-regex": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", + "license": "MIT" + }, + "node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.27.3", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", + "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.3", + "@esbuild/android-arm": "0.27.3", + "@esbuild/android-arm64": "0.27.3", + "@esbuild/android-x64": "0.27.3", + "@esbuild/darwin-arm64": "0.27.3", + "@esbuild/darwin-x64": "0.27.3", + "@esbuild/freebsd-arm64": "0.27.3", + "@esbuild/freebsd-x64": "0.27.3", + "@esbuild/linux-arm": "0.27.3", + "@esbuild/linux-arm64": "0.27.3", + "@esbuild/linux-ia32": "0.27.3", + "@esbuild/linux-loong64": "0.27.3", + "@esbuild/linux-mips64el": "0.27.3", + "@esbuild/linux-ppc64": "0.27.3", + "@esbuild/linux-riscv64": "0.27.3", + "@esbuild/linux-s390x": "0.27.3", + "@esbuild/linux-x64": "0.27.3", + "@esbuild/netbsd-arm64": "0.27.3", + "@esbuild/netbsd-x64": "0.27.3", + "@esbuild/openbsd-arm64": "0.27.3", + "@esbuild/openbsd-x64": "0.27.3", + "@esbuild/openharmony-arm64": "0.27.3", + "@esbuild/sunos-x64": "0.27.3", + "@esbuild/win32-arm64": "0.27.3", + "@esbuild/win32-ia32": "0.27.3", + "@esbuild/win32-x64": "0.27.3" + } + }, + "node_modules/esbuild-sass-plugin": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/esbuild-sass-plugin/-/esbuild-sass-plugin-3.6.0.tgz", + "integrity": "sha512-lzPJQSEXcnj5amBPPib5lBjsDNPzvdMnX+1Rf7eha9BIpLSM5Ad2pi+Rqg5CAlWMduCgLntS2hLAqG7v1fxWGw==", + "license": "MIT", + "dependencies": { + "resolve": "^1.22.11", + "sass": "^1.97.2" + }, + "peerDependencies": { + "esbuild": ">=0.27.2", + "sass-embedded": "^1.97.2" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-string-truncated-width": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fast-string-truncated-width/-/fast-string-truncated-width-3.0.3.tgz", + "integrity": "sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==", + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.5.0.tgz", + "integrity": "sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-tsconfig": { + "version": "4.13.6", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.6.tgz", + "integrity": "sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/github-slugger": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==", + "license": "ISC" + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globby": { + "version": "16.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-16.1.1.tgz", + "integrity": "sha512-dW7vl+yiAJSp6aCekaVnVJxurRv7DCOLyXqEG3RYMYUg7AuJ2jCqPkZTA8ooqC2vtnkaMcV5WfFBMuEnTu1OQg==", + "license": "MIT", + "dependencies": { + "@sindresorhus/merge-streams": "^4.0.0", + "fast-glob": "^3.3.3", + "ignore": "^7.0.5", + "is-path-inside": "^4.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.4.0" + }, + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hast-util-from-dom": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-dom/-/hast-util-from-dom-5.0.1.tgz", + "integrity": "sha512-N+LqofjR2zuzTjCPzyDUdSshy4Ma6li7p/c3pA78uTwzFgENbgbUrm2ugwsOdcjI1muO+o6Dgzp9p8WHtn/39Q==", + "license": "ISC", + "dependencies": { + "@types/hast": "^3.0.0", + "hastscript": "^9.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-html": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz", + "integrity": "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "devlop": "^1.1.0", + "hast-util-from-parse5": "^8.0.0", + "parse5": "^7.0.0", + "vfile": "^6.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-html-isomorphic": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hast-util-from-html-isomorphic/-/hast-util-from-html-isomorphic-2.0.0.tgz", + "integrity": "sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-from-dom": "^5.0.0", + "hast-util-from-html": "^2.0.0", + "unist-util-remove-position": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.3.tgz", + "integrity": "sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^9.0.0", + "property-information": "^7.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz", + "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-js": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-text": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", + "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unist-util-find-after": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.1.tgz", + "integrity": "sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/immutable": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.4.tgz", + "integrity": "sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA==", + "license": "MIT" + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/inline-style-parser": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz", + "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==", + "license": "MIT" + }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz", + "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "license": "MIT" + }, + "node_modules/isomorphic-git": { + "version": "1.37.2", + "resolved": "https://registry.npmjs.org/isomorphic-git/-/isomorphic-git-1.37.2.tgz", + "integrity": "sha512-HCQBBKmXIMPdHgYGstSBNp6MNmVcMQBbUqJF8xfywFmlpNseO4KKex59YlXqNxhRxmv3fUZwvNWvMyOdc1VvhA==", + "license": "MIT", + "dependencies": { + "async-lock": "^1.4.1", + "clean-git-ref": "^2.0.1", + "crc-32": "^1.2.0", + "diff3": "0.0.3", + "ignore": "^5.1.4", + "minimisted": "^2.0.0", + "pako": "^1.0.10", + "pify": "^4.0.1", + "readable-stream": "^4.0.0", + "sha.js": "^2.4.12", + "simple-get": "^4.0.1" + }, + "bin": { + "isogit": "cli.cjs" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/isomorphic-git/node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/lightningcss": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.31.1.tgz", + "integrity": "sha512-l51N2r93WmGUye3WuFoN5k10zyvrVs0qfKBhyC5ogUQ6Ew6JUSswh78mbSO+IU3nTWsyOArqPCcShdQSadghBQ==", + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.31.1", + "lightningcss-darwin-arm64": "1.31.1", + "lightningcss-darwin-x64": "1.31.1", + "lightningcss-freebsd-x64": "1.31.1", + "lightningcss-linux-arm-gnueabihf": "1.31.1", + "lightningcss-linux-arm64-gnu": "1.31.1", + "lightningcss-linux-arm64-musl": "1.31.1", + "lightningcss-linux-x64-gnu": "1.31.1", + "lightningcss-linux-x64-musl": "1.31.1", + "lightningcss-win32-arm64-msvc": "1.31.1", + "lightningcss-win32-x64-msvc": "1.31.1" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.31.1.tgz", + "integrity": "sha512-HXJF3x8w9nQ4jbXRiNppBCqeZPIAfUo8zE/kOEGbW5NZvGc/K7nMxbhIr+YlFlHW5mpbg/YFPdbnCh1wAXCKFg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.31.1.tgz", + "integrity": "sha512-02uTEqf3vIfNMq3h/z2cJfcOXnQ0GRwQrkmPafhueLb2h7mqEidiCzkE4gBMEH65abHRiQvhdcQ+aP0D0g67sg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.31.1.tgz", + "integrity": "sha512-1ObhyoCY+tGxtsz1lSx5NXCj3nirk0Y0kB/g8B8DT+sSx4G9djitg9ejFnjb3gJNWo7qXH4DIy2SUHvpoFwfTA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.31.1.tgz", + "integrity": "sha512-1RINmQKAItO6ISxYgPwszQE1BrsVU5aB45ho6O42mu96UiZBxEXsuQ7cJW4zs4CEodPUioj/QrXW1r9pLUM74A==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.31.1.tgz", + "integrity": "sha512-OOCm2//MZJ87CdDK62rZIu+aw9gBv4azMJuA8/KB74wmfS3lnC4yoPHm0uXZ/dvNNHmnZnB8XLAZzObeG0nS1g==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.31.1.tgz", + "integrity": "sha512-WKyLWztD71rTnou4xAD5kQT+982wvca7E6QoLpoawZ1gP9JM0GJj4Tp5jMUh9B3AitHbRZ2/H3W5xQmdEOUlLg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.31.1.tgz", + "integrity": "sha512-mVZ7Pg2zIbe3XlNbZJdjs86YViQFoJSpc41CbVmKBPiGmC4YrfeOyz65ms2qpAobVd7WQsbW4PdsSJEMymyIMg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.31.1.tgz", + "integrity": "sha512-xGlFWRMl+0KvUhgySdIaReQdB4FNudfUTARn7q0hh/V67PVGCs3ADFjw+6++kG1RNd0zdGRlEKa+T13/tQjPMA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.31.1.tgz", + "integrity": "sha512-eowF8PrKHw9LpoZii5tdZwnBcYDxRw2rRCyvAXLi34iyeYfqCQNA9rmUM0ce62NlPhCvof1+9ivRaTY6pSKDaA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.31.1.tgz", + "integrity": "sha512-aJReEbSEQzx1uBlQizAOBSjcmr9dCdL3XuC/6HLXAxmtErsj2ICo5yYggg1qOODQMtnjNQv2UHb9NpOuFtYe4w==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.31.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.31.1.tgz", + "integrity": "sha512-I9aiFrbd7oYHwlnQDqr1Roz+fTz61oDDJX7n9tYF9FJymH1cIN1DtKw3iYt6b8WZgEjoNwVSncwF4wx/ZedMhw==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.3.tgz", + "integrity": "sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", + "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz", + "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromark": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.2.tgz", + "integrity": "sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz", + "integrity": "sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz", + "integrity": "sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz", + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/micromorph": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/micromorph/-/micromorph-0.4.5.tgz", + "integrity": "sha512-Erasr0xiDvDeEhh7B/k7RFTwwfaAX10D7BMorNpokkwDh6XsRLYWDPaWF1m5JQeMSkGdqlEtQ8s68NcdDWuGgw==", + "license": "MIT" + }, + "node_modules/mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "license": "MIT", + "dependencies": { + "mime-db": "~1.33.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.2.tgz", + "integrity": "sha512-+G4CpNBxa5MprY+04MbgOw1v7So6n5JY166pFi9KfYwT78fxScCeSNQSNzp6dpPSW2rONOps6Ocam1wFhCgoVw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minimisted": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/minimisted/-/minimisted-2.0.1.tgz", + "integrity": "sha512-1oPjfuLQa2caorJUM8HV8lGgWCc0qqAO1MNv/k05G4qslmsndV/5WdNZrqCiyqiz3wohia2Ij2B7w2Dr7/IyrA==", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.5" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "license": "MIT", + "optional": true + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "license": "(MIT AND Zlib)" + }, + "node_modules/parse-entities": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", + "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "license": "MIT" + }, + "node_modules/parse5": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==", + "license": "(WTFPL OR MIT)" + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "license": "MIT" + }, + "node_modules/path-to-regexp": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.3.0.tgz", + "integrity": "sha512-qyCH421YQPS2WFDxDjftfc1ZR5WKQzVzqsp4n9M2kQhVOo/ByahFoUNJfl58kOcEGfQ//7weFTDhm+ss8Ecxgw==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/preact": { + "version": "10.28.4", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.28.4.tgz", + "integrity": "sha512-uKFfOHWuSNpRFVTnljsCluEFq57OKT+0QdOiQo8XWnQ/pSvg7OpX5eNOejELXJMWy+BwM2nobz0FkvzmnpCNsQ==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, + "node_modules/preact-render-to-string": { + "version": "6.6.6", + "resolved": "https://registry.npmjs.org/preact-render-to-string/-/preact-render-to-string-6.6.6.tgz", + "integrity": "sha512-EfqZJytnjJldV+YaaqhthU2oXsEf5e+6rDv957p+zxAvNfFLQOPfvBOTncscQ+akzu6Wrl7s3Pa0LjUQmWJsGQ==", + "license": "MIT", + "peerDependencies": { + "preact": ">=10 || >= 11.0.0-0" + } + }, + "node_modules/prettier": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz", + "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/pretty-bytes": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-7.1.0.tgz", + "integrity": "sha512-nODzvTiYVRGRqAOvE84Vk5JDPyyxsVk0/fbA/bq7RqlnhksGpset09XTxbpvLTIjoaF7K8Z8DG8yHtKGTPSYRw==", + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pretty-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", + "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/property-information": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", + "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/readable-stream": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/readdirp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", + "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", + "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/resolve": { + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "license": "MIT" + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/sass": { + "version": "1.97.3", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.97.3.tgz", + "integrity": "sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg==", + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, + "node_modules/sass-embedded": { + "version": "1.97.3", + "resolved": "https://registry.npmjs.org/sass-embedded/-/sass-embedded-1.97.3.tgz", + "integrity": "sha512-eKzFy13Nk+IRHhlAwP3sfuv+PzOrvzUkwJK2hdoCKYcWGSdmwFpeGpWmyewdw8EgBnsKaSBtgf/0b2K635ecSA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@bufbuild/protobuf": "^2.5.0", + "colorjs.io": "^0.5.0", + "immutable": "^5.0.2", + "rxjs": "^7.4.0", + "supports-color": "^8.1.1", + "sync-child-process": "^1.0.2", + "varint": "^6.0.0" + }, + "bin": { + "sass": "dist/bin/sass.js" + }, + "engines": { + "node": ">=16.0.0" + }, + "optionalDependencies": { + "sass-embedded-all-unknown": "1.97.3", + "sass-embedded-android-arm": "1.97.3", + "sass-embedded-android-arm64": "1.97.3", + "sass-embedded-android-riscv64": "1.97.3", + "sass-embedded-android-x64": "1.97.3", + "sass-embedded-darwin-arm64": "1.97.3", + "sass-embedded-darwin-x64": "1.97.3", + "sass-embedded-linux-arm": "1.97.3", + "sass-embedded-linux-arm64": "1.97.3", + "sass-embedded-linux-musl-arm": "1.97.3", + "sass-embedded-linux-musl-arm64": "1.97.3", + "sass-embedded-linux-musl-riscv64": "1.97.3", + "sass-embedded-linux-musl-x64": "1.97.3", + "sass-embedded-linux-riscv64": "1.97.3", + "sass-embedded-linux-x64": "1.97.3", + "sass-embedded-unknown-all": "1.97.3", + "sass-embedded-win32-arm64": "1.97.3", + "sass-embedded-win32-x64": "1.97.3" + } + }, + "node_modules/sass-embedded-all-unknown": { + "version": "1.97.3", + "resolved": "https://registry.npmjs.org/sass-embedded-all-unknown/-/sass-embedded-all-unknown-1.97.3.tgz", + "integrity": "sha512-t6N46NlPuXiY3rlmG6/+1nwebOBOaLFOOVqNQOC2cJhghOD4hh2kHNQQTorCsbY9S1Kir2la1/XLBwOJfui0xg==", + "cpu": [ + "!arm", + "!arm64", + "!riscv64", + "!x64" + ], + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "sass": "1.97.3" + } + }, + "node_modules/sass-embedded-android-arm": { + "version": "1.97.3", + "resolved": "https://registry.npmjs.org/sass-embedded-android-arm/-/sass-embedded-android-arm-1.97.3.tgz", + "integrity": "sha512-cRTtf/KV/q0nzGZoUzVkeIVVFv3L/tS1w4WnlHapphsjTXF/duTxI8JOU1c/9GhRPiMdfeXH7vYNcMmtjwX7jg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-android-arm64": { + "version": "1.97.3", + "resolved": "https://registry.npmjs.org/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.97.3.tgz", + "integrity": "sha512-aiZ6iqiHsUsaDx0EFbbmmA0QgxicSxVVN3lnJJ0f1RStY0DthUkquGT5RJ4TPdaZ6ebeJWkboV4bra+CP766eA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-android-riscv64": { + "version": "1.97.3", + "resolved": "https://registry.npmjs.org/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.97.3.tgz", + "integrity": "sha512-zVEDgl9JJodofGHobaM/q6pNETG69uuBIGQHRo789jloESxxZe82lI3AWJQuPmYCOG5ElfRthqgv89h3gTeLYA==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-android-x64": { + "version": "1.97.3", + "resolved": "https://registry.npmjs.org/sass-embedded-android-x64/-/sass-embedded-android-x64-1.97.3.tgz", + "integrity": "sha512-3ke0le7ZKepyXn/dKKspYkpBC0zUk/BMciyP5ajQUDy4qJwobd8zXdAq6kOkdiMB+d9UFJOmEkvgFJHl3lqwcw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-darwin-arm64": { + "version": "1.97.3", + "resolved": "https://registry.npmjs.org/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.97.3.tgz", + "integrity": "sha512-fuqMTqO4gbOmA/kC5b9y9xxNYw6zDEyfOtMgabS7Mz93wimSk2M1quQaTJnL98Mkcsl2j+7shNHxIS/qpcIDDA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-darwin-x64": { + "version": "1.97.3", + "resolved": "https://registry.npmjs.org/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.97.3.tgz", + "integrity": "sha512-b/2RBs/2bZpP8lMkyZ0Px0vkVkT8uBd0YXpOwK7iOwYkAT8SsO4+WdVwErsqC65vI5e1e5p1bb20tuwsoQBMVA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-arm": { + "version": "1.97.3", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.97.3.tgz", + "integrity": "sha512-2lPQ7HQQg4CKsH18FTsj2hbw5GJa6sBQgDsls+cV7buXlHjqF8iTKhAQViT6nrpLK/e8nFCoaRgSqEC8xMnXuA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-arm64": { + "version": "1.97.3", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.97.3.tgz", + "integrity": "sha512-IP1+2otCT3DuV46ooxPaOKV1oL5rLjteRzf8ldZtfIEcwhSgSsHgA71CbjYgLEwMY9h4jeal8Jfv3QnedPvSjg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-musl-arm": { + "version": "1.97.3", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.97.3.tgz", + "integrity": "sha512-cBTMU68X2opBpoYsSZnI321gnoaiMBEtc+60CKCclN6PCL3W3uXm8g4TLoil1hDD6mqU9YYNlVG6sJ+ZNef6Lg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-musl-arm64": { + "version": "1.97.3", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.97.3.tgz", + "integrity": "sha512-Lij0SdZCsr+mNRSyDZ7XtJpXEITrYsaGbOTz5e6uFLJ9bmzUbV7M8BXz2/cA7bhfpRPT7/lwRKPdV4+aR9Ozcw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-musl-riscv64": { + "version": "1.97.3", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.97.3.tgz", + "integrity": "sha512-sBeLFIzMGshR4WmHAD4oIM7WJVkSoCIEwutzptFtGlSlwfNiijULp+J5hA2KteGvI6Gji35apR5aWj66wEn/iA==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-musl-x64": { + "version": "1.97.3", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.97.3.tgz", + "integrity": "sha512-/oWJ+OVrDg7ADDQxRLC/4g1+Nsz1g4mkYS2t6XmyMJKFTFK50FVI2t5sOdFH+zmMp+nXHKM036W94y9m4jjEcw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-riscv64": { + "version": "1.97.3", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.97.3.tgz", + "integrity": "sha512-l3IfySApLVYdNx0Kjm7Zehte1CDPZVcldma3dZt+TfzvlAEerM6YDgsk5XEj3L8eHBCgHgF4A0MJspHEo2WNfA==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-x64": { + "version": "1.97.3", + "resolved": "https://registry.npmjs.org/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.97.3.tgz", + "integrity": "sha512-Kwqwc/jSSlcpRjULAOVbndqEy2GBzo6OBmmuBVINWUaJLJ8Kczz3vIsDUWLfWz/kTEw9FHBSiL0WCtYLVAXSLg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-unknown-all": { + "version": "1.97.3", + "resolved": "https://registry.npmjs.org/sass-embedded-unknown-all/-/sass-embedded-unknown-all-1.97.3.tgz", + "integrity": "sha512-/GHajyYJmvb0IABUQHbVHf1nuHPtIDo/ClMZ81IDr59wT5CNcMe7/dMNujXwWugtQVGI5UGmqXWZQCeoGnct8Q==", + "license": "MIT", + "optional": true, + "os": [ + "!android", + "!darwin", + "!linux", + "!win32" + ], + "peer": true, + "dependencies": { + "sass": "1.97.3" + } + }, + "node_modules/sass-embedded-win32-arm64": { + "version": "1.97.3", + "resolved": "https://registry.npmjs.org/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.97.3.tgz", + "integrity": "sha512-RDGtRS1GVvQfMGAmVXNxYiUOvPzn9oO1zYB/XUM9fudDRnieYTcUytpNTQZLs6Y1KfJxgt5Y+giRceC92fT8Uw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-win32-x64": { + "version": "1.97.3", + "resolved": "https://registry.npmjs.org/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.97.3.tgz", + "integrity": "sha512-SFRa2lED9UEwV6vIGeBXeBOLKF+rowF3WmNfb/BzhxmdAsKofCXrJ8ePW7OcDVrvNEbTOGwhsReIsF5sH8fVaw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass/node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/sass/node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/serve-handler": { + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.6.tgz", + "integrity": "sha512-x5RL9Y2p5+Sh3D38Fh9i/iQ5ZK+e4xuXRd/pGbM4D13tgo/MGwbttUk8emytcr1YYzBYs+apnUngBDFYfpjPuQ==", + "license": "MIT", + "dependencies": { + "bytes": "3.0.0", + "content-disposition": "0.5.2", + "mime-types": "2.1.18", + "minimatch": "3.1.2", + "path-is-inside": "1.0.2", + "path-to-regexp": "3.3.0", + "range-parser": "1.2.0" + } + }, + "node_modules/serve-handler/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/serve-handler/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/serve-handler/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/sha.js": { + "version": "2.4.12", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.12.tgz", + "integrity": "sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w==", + "license": "(MIT AND BSD-3-Clause)", + "dependencies": { + "inherits": "^2.0.4", + "safe-buffer": "^5.2.1", + "to-buffer": "^1.2.0" + }, + "bin": { + "sha.js": "bin.js" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sharp": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", + "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "@img/colour": "^1.0.0", + "detect-libc": "^2.1.2", + "semver": "^7.7.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.34.5", + "@img/sharp-darwin-x64": "0.34.5", + "@img/sharp-libvips-darwin-arm64": "1.2.4", + "@img/sharp-libvips-darwin-x64": "1.2.4", + "@img/sharp-libvips-linux-arm": "1.2.4", + "@img/sharp-libvips-linux-arm64": "1.2.4", + "@img/sharp-libvips-linux-ppc64": "1.2.4", + "@img/sharp-libvips-linux-riscv64": "1.2.4", + "@img/sharp-libvips-linux-s390x": "1.2.4", + "@img/sharp-libvips-linux-x64": "1.2.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", + "@img/sharp-libvips-linuxmusl-x64": "1.2.4", + "@img/sharp-linux-arm": "0.34.5", + "@img/sharp-linux-arm64": "0.34.5", + "@img/sharp-linux-ppc64": "0.34.5", + "@img/sharp-linux-riscv64": "0.34.5", + "@img/sharp-linux-s390x": "0.34.5", + "@img/sharp-linux-x64": "0.34.5", + "@img/sharp-linuxmusl-arm64": "0.34.5", + "@img/sharp-linuxmusl-x64": "0.34.5", + "@img/sharp-wasm32": "0.34.5", + "@img/sharp-win32-arm64": "0.34.5", + "@img/sharp-win32-ia32": "0.34.5", + "@img/sharp-win32-x64": "0.34.5" + } + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT" + }, + "node_modules/slash": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/style-to-js": { + "version": "1.1.21", + "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.21.tgz", + "integrity": "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==", + "license": "MIT", + "dependencies": { + "style-to-object": "1.0.14" + } + }, + "node_modules/style-to-object": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.14.tgz", + "integrity": "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==", + "license": "MIT", + "dependencies": { + "inline-style-parser": "0.2.7" + } + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sync-child-process": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/sync-child-process/-/sync-child-process-1.0.2.tgz", + "integrity": "sha512-8lD+t2KrrScJ/7KXCSyfhT3/hRq78rC0wBFqNJXv3mZyn6hW2ypM05JmlSvtqRbeq6jqA94oHbxAr2vYsJ8vDA==", + "license": "MIT", + "peer": true, + "dependencies": { + "sync-message-port": "^1.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/sync-message-port": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/sync-message-port/-/sync-message-port-1.2.0.tgz", + "integrity": "sha512-gAQ9qrUN/UCypHtGFbbe7Rc/f9bzO88IwrG8TDo/aMKAApKyD6E3W4Cm0EfhfBb6Z6SKt59tTCTfD+n1xmAvMg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/to-buffer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.2.tgz", + "integrity": "sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==", + "license": "MIT", + "dependencies": { + "isarray": "^2.0.5", + "safe-buffer": "^5.2.1", + "typed-array-buffer": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/to-vfile": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/to-vfile/-/to-vfile-8.0.0.tgz", + "integrity": "sha512-IcmH1xB5576MJc9qcfEC/m/nQCFt3fzMHz45sSlgJyTWjRbKW1HAkJpuf3DgE57YzIlZcwcBZA5ENQbBo4aLkg==", + "license": "MIT", + "dependencies": { + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/tsx": { + "version": "4.21.0", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.21.0.tgz", + "integrity": "sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "~0.27.0", + "get-tsconfig": "^4.7.5" + }, + "bin": { + "tsx": "dist/cli.mjs" + }, + "engines": { + "node": ">=18.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", + "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", + "dev": true, + "license": "MIT" + }, + "node_modules/unicorn-magic": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.4.0.tgz", + "integrity": "sha512-wH590V9VNgYH9g3lH9wWjTrUoKsjLF6sGLjhR4sH1LWpLmCOH0Zf7PukhDA8BiS7KHe4oPNkcTHqYkj7SOGUOw==", + "license": "MIT", + "engines": { + "node": ">=20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-find-after": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", + "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz", + "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.1.0.tgz", + "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", + "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/varint": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==", + "license": "MIT", + "peer": true + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", + "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz", + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.20", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz", + "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==", + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/workerpool": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-10.0.1.tgz", + "integrity": "sha512-NAnKwZJxWlj/U1cp6ZkEtPE+GQY1S6KtOS3AlCiPfPFLxV3m64giSp7g2LsNJxzYCocDT7TSl+7T0sgrDp3KoQ==", + "license": "Apache-2.0" + }, + "node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC" + }, + "node_modules/ws": { + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz", + "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yaml": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", + "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, + "node_modules/yargs": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz", + "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==", + "license": "MIT", + "dependencies": { + "cliui": "^9.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "string-width": "^7.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^22.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/yargs-parser": { + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", + "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==", + "license": "ISC", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/Local/storage/thlab-notes/worker/package.json b/Local/storage/thlab-notes/worker/package.json new file mode 100644 index 0000000..950ea18 --- /dev/null +++ b/Local/storage/thlab-notes/worker/package.json @@ -0,0 +1,88 @@ +{ + "name": "@jackyzha0/quartz", + "description": "🌱 publish your digital garden and notes as a website", + "private": true, + "version": "5.0.0", + "type": "module", + "author": "jackyzha0 ", + "license": "MIT", + "homepage": "https://quartz.jzhao.xyz", + "repository": { + "type": "git", + "url": "https://github.com/jackyzha0/quartz.git" + }, + "scripts": { + "quartz": "./quartz/bootstrap-cli.mjs", + "docs": "npx quartz build --serve -d docs", + "check": "tsc --noEmit && npx prettier . --check", + "format": "npx prettier . --write", + "test": "tsx --test", + "profile": "0x -D prof ./quartz/bootstrap-cli.mjs build --concurrency=1", + "install-plugins": "npx tsx ./quartz/plugins/loader/install-plugins.ts", + "prebuild": "npm run install-plugins" + }, + "engines": { + "npm": ">=10.9.2", + "node": ">=22" + }, + "keywords": [ + "site generator", + "ssg", + "digital-garden", + "markdown", + "blog", + "quartz" + ], + "bin": { + "quartz": "./quartz/bootstrap-cli.mjs" + }, + "dependencies": { + "@clack/prompts": "^0.11.0", + "@floating-ui/dom": "^1.7.4", + "@myriaddreamin/rehype-typst": "^0.6.0", + "@napi-rs/simple-git": "0.1.22", + "ansi-truncate": "^1.4.0", + "async-mutex": "^0.5.0", + "chokidar": "^5.0.0", + "esbuild-sass-plugin": "^3.6.0", + "github-slugger": "^2.0.0", + "globby": "^16.1.0", + "hast-util-to-jsx-runtime": "^2.3.6", + "isomorphic-git": "^1.36.3", + "lightningcss": "^1.31.1", + "micromorph": "^0.4.5", + "minimatch": "^10.1.1", + "preact": "^10.28.2", + "preact-render-to-string": "^6.6.5", + "pretty-bytes": "^7.1.0", + "pretty-time": "^1.1.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.1.2", + "rfdc": "^1.4.1", + "serve-handler": "^6.1.6", + "sharp": "^0.34.5", + "source-map-support": "^0.5.21", + "to-vfile": "^8.0.0", + "unified": "^11.0.5", + "unist-util-visit": "^5.1.0", + "vfile": "^6.0.3", + "workerpool": "^10.0.1", + "ws": "^8.19.0", + "yaml": "^2.8.2", + "yargs": "^18.0.0" + }, + "devDependencies": { + "@quartz-community/types": "github:quartz-community/types", + "@quartz-community/utils": "github:quartz-community/utils", + "@types/hast": "^3.0.4", + "@types/node": "^25.0.10", + "@types/pretty-time": "^1.1.5", + "@types/source-map-support": "^0.5.10", + "@types/ws": "^8.18.1", + "@types/yargs": "^17.0.35", + "esbuild": "^0.27.2", + "prettier": "^3.8.1", + "tsx": "^4.21.0", + "typescript": "^5.9.3" + } +} diff --git a/Local/storage/thlab-notes/worker/quartz.config.default.yaml b/Local/storage/thlab-notes/worker/quartz.config.default.yaml new file mode 100644 index 0000000..209101d --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz.config.default.yaml @@ -0,0 +1,280 @@ +# yaml-language-server: $schema=./quartz/plugins/quartz-plugins.schema.json +configuration: + pageTitle: Quartz 5 + pageTitleSuffix: "" + enableSPA: true + enablePopovers: true + analytics: + provider: plausible + locale: en-US + baseUrl: tinyhome.ndmv.net + ignorePatterns: + - private + - templates + - .obsidian + theme: + fontOrigin: googleFonts + cdnCaching: true + typography: + header: Schibsted Grotesk + body: Source Sans Pro + code: IBM Plex Mono + colors: + lightMode: + light: "#faf8f8" + lightgray: "#e5e5e5" + gray: "#b8b8b8" + darkgray: "#4e4e4e" + dark: "#2b2b2b" + secondary: "#284b63" + tertiary: "#84a59d" + highlight: rgba(143, 159, 169, 0.15) + textHighlight: "#fff23688" + darkMode: + light: "#161618" + lightgray: "#393639" + gray: "#646464" + darkgray: "#d4d4d4" + dark: "#ebebec" + secondary: "#7b97aa" + tertiary: "#84a59d" + highlight: rgba(143, 159, 169, 0.15) + textHighlight: "#b3aa0288" +plugins: + - source: github:quartz-community/created-modified-date + enabled: true + options: + defaultDateType: modified + priority: + - frontmatter + - git + - filesystem + order: 10 + - source: github:quartz-community/syntax-highlighting + enabled: true + options: + theme: + light: github-light + dark: github-dark + keepBackground: false + order: 20 + - source: github:quartz-community/obsidian-flavored-markdown + enabled: true + options: + enableInHtmlEmbed: false + enableCheckbox: true + order: 30 + - source: github:quartz-community/github-flavored-markdown + enabled: true + order: 40 + - source: github:quartz-community/table-of-contents + enabled: true + order: 50 + layout: + position: right + priority: 30 + - source: github:quartz-community/crawl-links + enabled: true + options: + markdownLinkResolution: shortest + order: 60 + - source: github:quartz-community/description + enabled: true + order: 70 + - source: github:quartz-community/latex + enabled: true + options: + renderEngine: katex + order: 80 + - source: github:quartz-community/citations + enabled: false + order: 85 + - source: github:quartz-community/hard-line-breaks + enabled: false + order: 90 + - source: github:quartz-community/ox-hugo + enabled: false + order: 91 + - source: github:quartz-community/roam + enabled: false + order: 92 + - source: github:quartz-community/fonts + enabled: true + - source: github:quartz-community/remove-draft + enabled: true + - source: github:quartz-community/explicit-publish + enabled: false + - source: github:quartz-community/alias-redirects + enabled: true + - source: github:quartz-community/content-index + enabled: true + options: + enableSiteMap: true + enableRSS: true + - source: github:quartz-community/favicon + enabled: true + - source: github:quartz-community/og-image + enabled: true + - source: github:quartz-community/cname + enabled: true + - source: github:quartz-community/canvas-page + enabled: true + - source: github:quartz-community/content-page + enabled: true + - source: github:quartz-community/folder-page + enabled: true + - source: github:quartz-community/tag-page + enabled: true + - source: github:quartz-community/explorer + enabled: true + layout: + position: left + priority: 50 + - source: github:quartz-community/graph + enabled: true + layout: + position: right + priority: 10 + - source: github:quartz-community/search + enabled: true + layout: + position: left + priority: 20 + group: toolbar + groupOptions: + grow: true + - source: github:quartz-community/backlinks + enabled: true + layout: + position: right + priority: 50 + - source: github:quartz-community/article-title + enabled: true + layout: + position: beforeBody + priority: 10 + - source: github:quartz-community/content-meta + enabled: true + layout: + position: beforeBody + priority: 20 + - source: github:quartz-community/tag-list + enabled: false + layout: + position: beforeBody + priority: 30 + - source: github:quartz-community/page-title + enabled: true + layout: + position: left + priority: 10 + - source: github:quartz-community/darkmode + enabled: true + layout: + position: left + priority: 30 + group: toolbar + - source: github:quartz-community/reader-mode + enabled: true + layout: + position: left + priority: 35 + group: toolbar + - source: github:quartz-community/breadcrumbs + enabled: true + layout: + position: beforeBody + priority: 5 + condition: not-index + - source: github:quartz-community/comments + enabled: false + options: + provider: giscus + options: {} + layout: + position: afterBody + priority: 10 + - source: github:quartz-community/footer + enabled: true + options: + links: + GitHub: https://github.com/jackyzha0/quartz + Discord Community: https://discord.gg/cRFFHYye7t + - source: github:quartz-community/recent-notes + enabled: false + - source: github:quartz-community/spacer + enabled: true + options: {} + order: 25 + layout: + position: left + priority: 25 + display: mobile-only + - source: github:quartz-community/bases-page + enabled: true + options: {} + order: 50 + - source: github:quartz-community/note-properties + enabled: true + options: + includeAll: false + includedProperties: + - description + - tags + - aliases + excludedProperties: [] + hidePropertiesView: false + delimiters: --- + language: yaml + order: 5 + layout: + position: beforeBody + priority: 15 + display: all + - source: github:quartz-community/unlisted-pages + enabled: true + options: {} + order: 45 + - source: github:quartz-community/encrypted-pages + enabled: true + options: + iterations: 600000 + passwordField: password + unlistWhenEncrypted: false + outputPath: static/encryptedContentIndex.json + order: 900 + layout: + position: body + priority: 100 + display: all + - source: github:quartz-community/stacked-pages + enabled: false + layout: + position: afterBody + priority: 50 + display: all +layout: + groups: + toolbar: + priority: 35 + direction: row + gap: 0.5rem + byPageType: + "404": + positions: + beforeBody: [] + left: [] + right: [] + content: {} + folder: + exclude: + - reader-mode + positions: + right: [] + tag: + exclude: + - reader-mode + positions: + right: [] + canvas: {} + bases: {} diff --git a/Local/storage/thlab-notes/worker/quartz.lock.json b/Local/storage/thlab-notes/worker/quartz.lock.json new file mode 100644 index 0000000..3f97ed5 --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz.lock.json @@ -0,0 +1,286 @@ +{ + "version": "1.0.0", + "plugins": { + "alias-redirects": { + "source": "github:quartz-community/alias-redirects", + "resolved": "https://github.com/quartz-community/alias-redirects.git", + "commit": "73a98dda7e4f55239310833299d91daf8611349f", + "installedAt": "2026-06-09T17:57:45.809Z" + }, + "article-title": { + "source": "github:quartz-community/article-title", + "resolved": "https://github.com/quartz-community/article-title.git", + "commit": "e608ca815e137e22b598094f735bcd8a481dafaa", + "installedAt": "2026-06-03T13:32:35.204Z" + }, + "backlinks": { + "source": "github:quartz-community/backlinks", + "resolved": "https://github.com/quartz-community/backlinks.git", + "commit": "7490f921b7bd974c3f2f985ad3744b06160827d6", + "installedAt": "2026-06-03T13:32:35.225Z" + }, + "bases-page": { + "source": "github:quartz-community/bases-page", + "resolved": "https://github.com/quartz-community/bases-page.git", + "commit": "f8fc7da3515a4d4bbe0bd4be0fd9188823866a01", + "installedAt": "2026-06-03T13:32:35.344Z" + }, + "breadcrumbs": { + "source": "github:quartz-community/breadcrumbs", + "resolved": "https://github.com/quartz-community/breadcrumbs.git", + "commit": "cf2e161425165e1ac713f1feb7250b07fe0250ae", + "installedAt": "2026-06-03T13:32:35.270Z" + }, + "canvas-page": { + "source": "github:quartz-community/canvas-page", + "resolved": "https://github.com/quartz-community/canvas-page.git", + "commit": "84fc96799671a65f76b66e30217dbefdd43a2905", + "installedAt": "2026-06-03T13:32:35.291Z" + }, + "citations": { + "source": "github:quartz-community/citations", + "resolved": "https://github.com/quartz-community/citations.git", + "commit": "2ad133a123c5b15b7c41d4fb684d422622113081", + "installedAt": "2026-06-03T13:16:37.060Z" + }, + "cname": { + "source": "github:quartz-community/cname", + "resolved": "https://github.com/quartz-community/cname.git", + "commit": "ec4c81c91da13a6f6c2cbe1656daf5c14575dab3", + "installedAt": "2026-06-03T13:16:37.301Z" + }, + "comments": { + "source": "github:quartz-community/comments", + "resolved": "https://github.com/quartz-community/comments.git", + "commit": "42c5023e42cf62495219095a862b2ea144b65600", + "installedAt": "2026-06-03T13:32:35.236Z" + }, + "content-index": { + "source": "github:quartz-community/content-index", + "resolved": "https://github.com/quartz-community/content-index.git", + "commit": "c3d4f5c85311712c3355cd71da46b28e2d8eba71", + "installedAt": "2026-06-03T13:32:35.431Z" + }, + "content-meta": { + "source": "github:quartz-community/content-meta", + "resolved": "https://github.com/quartz-community/content-meta.git", + "commit": "dd6e94b5ca1cb195104a2b5e624a43ee6aa0a324", + "installedAt": "2026-06-03T13:32:35.221Z" + }, + "content-page": { + "source": "github:quartz-community/content-page", + "resolved": "https://github.com/quartz-community/content-page.git", + "commit": "d22fae357ae74a3e97a2f450862f23f5227842c4", + "installedAt": "2026-06-03T13:32:35.505Z" + }, + "crawl-links": { + "source": "github:quartz-community/crawl-links", + "resolved": "https://github.com/quartz-community/crawl-links.git", + "commit": "43edc6d5182e79bf1b63fed7eb3ba0c7624a1526", + "installedAt": "2026-06-03T13:32:35.242Z" + }, + "created-modified-date": { + "source": "github:quartz-community/created-modified-date", + "resolved": "https://github.com/quartz-community/created-modified-date.git", + "commit": "c003199fb842969d43ee9e0f54120a85e588260e", + "installedAt": "2026-06-03T13:16:36.740Z" + }, + "darkmode": { + "source": "github:quartz-community/darkmode", + "resolved": "https://github.com/quartz-community/darkmode.git", + "commit": "c6484f72ebc6ea89339be7cf86ad14b40c47dcc7", + "installedAt": "2026-06-03T13:32:35.196Z" + }, + "description": { + "source": "github:quartz-community/description", + "resolved": "https://github.com/quartz-community/description.git", + "commit": "56dc546614d905ad07dd0da8dd5820e25e5ea97b", + "installedAt": "2026-06-03T13:32:35.233Z" + }, + "encrypted-pages": { + "source": "github:quartz-community/encrypted-pages", + "resolved": "https://github.com/quartz-community/encrypted-pages.git", + "commit": "89e88af565dfaa9ab2d9c99677b82394ea7be356", + "installedAt": "2026-06-03T13:32:35.661Z" + }, + "explicit-publish": { + "source": "github:quartz-community/explicit-publish", + "resolved": "https://github.com/quartz-community/explicit-publish.git", + "commit": "4afb630a1cc9034267beb93c928e81d0fa2f4d4b", + "installedAt": "2026-06-03T13:16:36.746Z" + }, + "explorer": { + "source": "github:quartz-community/explorer", + "resolved": "https://github.com/quartz-community/explorer.git", + "commit": "a2dfd1373abe58ace461ebea0b4e94cb287f894e", + "installedAt": "2026-06-03T13:32:35.808Z" + }, + "favicon": { + "source": "github:quartz-community/favicon", + "resolved": "https://github.com/quartz-community/favicon.git", + "commit": "85842d5c15f937a3d1a02c45accee27118146d73", + "installedAt": "2026-06-03T13:16:37.198Z" + }, + "folder-page": { + "source": "github:quartz-community/folder-page", + "resolved": "https://github.com/quartz-community/folder-page.git", + "commit": "93304d22e1d7f09f93a33658ec273f7cb8d17793", + "installedAt": "2026-06-03T13:32:35.810Z" + }, + "fonts": { + "source": "github:quartz-community/fonts", + "resolved": "https://github.com/quartz-community/fonts.git", + "commit": "8be5be706d19ca34fa8e342327b78e11aff3d4f0", + "installedAt": "2026-06-10T21:13:18.081Z" + }, + "footer": { + "source": "github:quartz-community/footer", + "resolved": "https://github.com/quartz-community/footer.git", + "commit": "6ed61928d3c0178d7cef972ebcbca6a206a2f065", + "installedAt": "2026-06-03T13:32:35.802Z" + }, + "github-flavored-markdown": { + "source": "github:quartz-community/github-flavored-markdown", + "resolved": "https://github.com/quartz-community/github-flavored-markdown.git", + "commit": "3eabbaa252ce175665ab3f62e1af25948a83e8b6", + "installedAt": "2026-06-03T13:16:36.665Z" + }, + "graph": { + "source": "github:quartz-community/graph", + "resolved": "https://github.com/quartz-community/graph.git", + "commit": "46f0ba1c3c0cc484697572e7bcf315fa384d80d2", + "installedAt": "2026-06-03T13:32:35.872Z" + }, + "hard-line-breaks": { + "source": "github:quartz-community/hard-line-breaks", + "resolved": "https://github.com/quartz-community/hard-line-breaks.git", + "commit": "0d448f38a24c568c5539ff2cd57d813293430ccd", + "installedAt": "2026-06-03T13:16:36.965Z" + }, + "latex": { + "source": "github:quartz-community/latex", + "resolved": "https://github.com/quartz-community/latex.git", + "commit": "3dcfedcb5ae5e28b71248a72665ccb881e82c185", + "installedAt": "2026-06-03T13:16:36.841Z" + }, + "note-properties": { + "source": "github:quartz-community/note-properties", + "resolved": "https://github.com/quartz-community/note-properties.git", + "commit": "3cb40141e792a8a9ba9f99553cd436f36411bf8d", + "installedAt": "2026-06-03T13:32:35.812Z" + }, + "obsidian-flavored-markdown": { + "source": "github:quartz-community/obsidian-flavored-markdown", + "resolved": "https://github.com/quartz-community/obsidian-flavored-markdown.git", + "commit": "07eaca7b31a537c7c4a0fd2848b1f00014c940af", + "installedAt": "2026-06-03T13:32:35.815Z" + }, + "obsidian-plugin-excalidraw": { + "source": "github:quartz-community/obsidian-plugin-excalidraw", + "resolved": "https://github.com/quartz-community/obsidian-plugin-excalidraw.git", + "commit": "dad0a4c0abdc8b3c2786277a2cbd67dc039c754c", + "installedAt": "2026-06-03T13:32:35.851Z" + }, + "og-image": { + "source": "github:quartz-community/og-image", + "resolved": "https://github.com/quartz-community/og-image.git", + "commit": "31343c612d02c5fd22ff27a1e6035b2486be75f5", + "installedAt": "2026-06-03T13:32:35.899Z" + }, + "ox-hugo": { + "source": "github:quartz-community/ox-hugo", + "resolved": "https://github.com/quartz-community/ox-hugo.git", + "commit": "832871da9ab33d52f904456c1a5e14f1b2057d83", + "installedAt": "2026-06-03T13:16:36.714Z" + }, + "page-title": { + "source": "github:quartz-community/page-title", + "resolved": "https://github.com/quartz-community/page-title.git", + "commit": "a1c1fe0a9c6a5ce1acf6efa01d473a7d9850e2a3", + "installedAt": "2026-06-03T13:32:36.002Z" + }, + "quartz-themes": { + "source": { + "name": "quartz-themes", + "repo": "github:saberzero1/quartz-themes", + "subdir": "plugin" + }, + "resolved": "https://github.com/saberzero1/quartz-themes.git", + "commit": "945135e8b70576753d0591e1713fe56553100b3d", + "subdir": "plugin", + "installedAt": "2026-06-11T15:50:25.576Z" + }, + "reader-mode": { + "source": "github:quartz-community/reader-mode", + "resolved": "https://github.com/quartz-community/reader-mode.git", + "commit": "73c8bce66df8835510ffac47e53b1ca0f7efd51e", + "installedAt": "2026-06-03T13:32:36.320Z" + }, + "recent-notes": { + "source": "github:quartz-community/recent-notes", + "resolved": "https://github.com/quartz-community/recent-notes.git", + "commit": "3c3d104335e2fc5ff62371ead157667adb79b046", + "installedAt": "2026-06-03T13:32:36.284Z" + }, + "remove-draft": { + "source": "github:quartz-community/remove-draft", + "resolved": "https://github.com/quartz-community/remove-draft.git", + "commit": "0a51a4c6abb3c86961a9bbf46f4538da87fcf9f8", + "installedAt": "2026-06-03T13:16:36.691Z" + }, + "roam": { + "source": "github:quartz-community/roam", + "resolved": "https://github.com/quartz-community/roam.git", + "commit": "b2aad70fdf548d07b8fd28df9edbdba7f256f166", + "installedAt": "2026-06-03T13:16:36.771Z" + }, + "search": { + "source": "github:quartz-community/search", + "resolved": "https://github.com/quartz-community/search.git", + "commit": "0f4c1a233cd03a0f562e13636b89b7708f8e2698", + "installedAt": "2026-06-03T13:32:36.597Z" + }, + "spacer": { + "source": "github:quartz-community/spacer", + "resolved": "https://github.com/quartz-community/spacer.git", + "commit": "64b135dcfb78c4911f8c42d942872d645cd2a456", + "installedAt": "2026-06-03T13:16:37.913Z" + }, + "stacked-pages": { + "source": "github:quartz-community/stacked-pages", + "resolved": "https://github.com/quartz-community/stacked-pages.git", + "commit": "e88fe063c68f74e6ba2dc7c54ddb353bb10c7982", + "installedAt": "2026-06-03T13:32:36.330Z" + }, + "syntax-highlighting": { + "source": "github:quartz-community/syntax-highlighting", + "resolved": "https://github.com/quartz-community/syntax-highlighting.git", + "commit": "5bfdc2c3f42d3d0326c4e777eb575f3fb68d51fb", + "installedAt": "2026-06-03T13:16:37.737Z" + }, + "table-of-contents": { + "source": "github:quartz-community/table-of-contents", + "resolved": "https://github.com/quartz-community/table-of-contents.git", + "commit": "6984305e5dae0830c025450e160f12610406f7a4", + "installedAt": "2026-06-03T13:32:36.265Z" + }, + "tag-list": { + "source": "github:quartz-community/tag-list", + "resolved": "https://github.com/quartz-community/tag-list.git", + "commit": "c48324e2ba768e2a0a5c4c17cd0661b190d075c5", + "installedAt": "2026-06-03T13:32:36.346Z" + }, + "tag-page": { + "source": "github:quartz-community/tag-page", + "resolved": "https://github.com/quartz-community/tag-page.git", + "commit": "eabf3eec55c0bab7f49e69957341f34d2ae3c5a1", + "installedAt": "2026-06-03T13:32:36.377Z" + }, + "unlisted-pages": { + "source": "github:quartz-community/unlisted-pages", + "resolved": "https://github.com/quartz-community/unlisted-pages.git", + "commit": "f512d8672862c5891e63d755ba04b66277e6d760", + "installedAt": "2026-06-03T13:32:36.647Z" + } + } +} diff --git a/Local/storage/thlab-notes/worker/quartz.ts b/Local/storage/thlab-notes/worker/quartz.ts new file mode 100644 index 0000000..7a257d1 --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz.ts @@ -0,0 +1,5 @@ +import { loadQuartzConfig, loadQuartzLayout } from "./quartz/plugins/loader/config-loader" + +const config = await loadQuartzConfig() +export default config +export const layout = await loadQuartzLayout() diff --git a/Local/storage/thlab-notes/worker/quartz/bootstrap-cli.mjs b/Local/storage/thlab-notes/worker/quartz/bootstrap-cli.mjs new file mode 100755 index 0000000..34288c7 --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz/bootstrap-cli.mjs @@ -0,0 +1,284 @@ +#!/usr/bin/env -S node --no-deprecation +const [major] = process.versions.node.split(".").map(Number) +if (major < 22) { + console.error( + `\nQuartz requires Node.js >= 22, but you are running Node.js ${process.version}.\n` + + `Please upgrade: https://nodejs.org/\n`, + ) + process.exit(1) +} +import yargs from "yargs" +import { hideBin } from "yargs/helpers" +import { + handleBuild, + handleCreate, + handleUpgrade, + handleRestore, + handleSync, +} from "./cli/handlers.js" + +import { + handlePluginInstallUnified, + handlePluginAdd, + handlePluginRemove, + handlePluginList, + handlePluginStatus, + handlePluginEnable, + handlePluginDisable, + handlePluginConfig, + handlePluginPrune, +} from "./cli/plugin-git-handlers.js" +import { CommonArgv, BuildArgv, CreateArgv, SyncArgv } from "./cli/args.js" +import { version } from "./cli/constants.js" + +async function launchTui() { + const { join } = await import("path") + const { existsSync } = await import("fs") + const { spawn } = await import("child_process") + const tuiPath = join(process.cwd(), ".quartz", "plugins", "tui", "dist", "App.mjs") + + if (!existsSync(tuiPath)) { + console.error( + "TUI plugin not installed. Install with:\n" + + " npx quartz plugin add github:quartz-community/tui\n", + ) + process.exit(1) + } + + // OpenTUI requires Bun runtime (uses bun:ffi for Zig renderer) + return new Promise((resolve, reject) => { + const child = spawn("bun", ["run", tuiPath], { + stdio: "inherit", + cwd: process.cwd(), + }) + + child.on("error", (err) => { + if (err.code === "ENOENT") { + console.error( + "Error: Bun runtime not found. The TUI requires Bun to run.\n" + + "Install Bun: https://bun.sh/docs/installation", + ) + } + reject(err) + }) + + child.on("close", (code) => { + if (code === 0) { + resolve() + } else { + reject(new Error(`TUI exited with code ${code}`)) + } + }) + }) +} + +yargs(hideBin(process.argv)) + .scriptName("quartz") + .version(version) + .usage("$0 [args]") + .command("create", "Initialize Quartz", CreateArgv, async (argv) => { + await handleCreate(argv) + }) + .command( + ["upgrade", "update"], + "Upgrade Quartz to the latest version", + CommonArgv, + async (argv) => { + await handleUpgrade(argv) + }, + ) + .command( + "restore", + "Try to restore your content folder from the cache", + CommonArgv, + async (argv) => { + await handleRestore(argv) + }, + ) + .command("sync", "Sync your Quartz to and from GitHub.", SyncArgv, async (argv) => { + await handleSync(argv) + }) + .command("build", "Build Quartz into a bundle of static HTML files", BuildArgv, async (argv) => { + await handleBuild(argv) + }) + .command("tui", "Launch interactive plugin manager", CommonArgv, async () => { + await launchTui() + }) + .command( + "plugin [subcommand]", + "Manage Quartz plugins", + (yargs) => { + return ( + yargs + .command( + "install [names..]", + "Install plugins from lockfile or config", + { + ...CommonArgv, + "from-config": { + boolean: true, + default: false, + describe: "install plugins referenced in quartz.config.yaml instead of lockfile", + }, + latest: { + boolean: true, + default: false, + describe: "fetch latest version from remote instead of pinned lockfile commit", + }, + clean: { + boolean: true, + default: false, + describe: "skip plugins whose directory already exists", + }, + "dry-run": { + boolean: true, + default: false, + describe: "show what would happen without making changes", + }, + }, + async (argv) => { + await handlePluginInstallUnified({ + names: argv.names?.length ? argv.names : undefined, + fromConfig: argv.fromConfig, + latest: argv.latest, + clean: argv.clean, + dryRun: argv.dryRun, + concurrency: argv.concurrency, + }) + }, + ) + .command( + "add ", + "Add plugins from Git repositories", + { + ...CommonArgv, + name: { + string: true, + alias: ["as"], + describe: "Override the plugin name (for resolving conflicts with duplicate names)", + }, + subdir: { + string: true, + describe: "Subdirectory within the repository containing the plugin", + }, + }, + async (argv) => { + await handlePluginAdd(argv.repos, { + name: argv.name, + subdir: argv.subdir, + concurrency: argv.concurrency, + }) + }, + ) + .command("remove ", "Remove installed plugins", CommonArgv, async (argv) => { + await handlePluginRemove(argv.names) + }) + .command("list", "List all installed plugins", CommonArgv, async () => { + await handlePluginList() + }) + .command( + "enable ", + "Enable plugins in quartz.config.yaml", + CommonArgv, + async (argv) => { + await handlePluginEnable(argv.names) + }, + ) + .command( + "disable ", + "Disable plugins in quartz.config.yaml", + CommonArgv, + async (argv) => { + await handlePluginDisable(argv.names) + }, + ) + .command( + "config ", + "View or set plugin configuration", + { + ...CommonArgv, + set: { + string: true, + describe: "Set a config value (key=value)", + }, + }, + async (argv) => { + await handlePluginConfig(argv.name, { set: argv.set }) + }, + ) + .command( + "prune", + "Remove installed plugins no longer referenced in config", + { + ...CommonArgv, + "dry-run": { + boolean: true, + default: false, + describe: "show what would be pruned without making changes", + }, + }, + async (argv) => { + await handlePluginPrune({ dryRun: argv.dryRun }) + }, + ) + // Hidden deprecated aliases + .command("restore", false, CommonArgv, async (argv) => { + console.log( + "\x1b[33m⚠ 'plugin restore' is deprecated. Use 'plugin install --clean' instead.\x1b[0m", + ) + await handlePluginInstallUnified({ clean: true, concurrency: argv.concurrency }) + }) + .command("update [names..]", false, CommonArgv, async (argv) => { + console.log( + "\x1b[33m⚠ 'plugin update' is deprecated. Use 'plugin install --latest' instead.\x1b[0m", + ) + await handlePluginInstallUnified({ + names: argv.names?.length ? argv.names : undefined, + latest: true, + concurrency: argv.concurrency, + }) + }) + .command("check", false, CommonArgv, async (argv) => { + console.log( + "\x1b[33m⚠ 'plugin check' is deprecated. Use 'plugin install --latest --dry-run' instead.\x1b[0m", + ) + await handlePluginInstallUnified({ + latest: true, + dryRun: true, + concurrency: argv.concurrency, + }) + }) + .command( + "resolve", + false, + { + ...CommonArgv, + "dry-run": { + boolean: true, + default: false, + describe: "show what would be resolved without making changes", + }, + }, + async (argv) => { + console.log( + "\x1b[33m⚠ 'plugin resolve' is deprecated. Use 'plugin install --from-config' instead.\x1b[0m", + ) + await handlePluginInstallUnified({ + fromConfig: true, + dryRun: argv.dryRun, + concurrency: argv.concurrency, + }) + }, + ) + .demandCommand(0, "") + ) + }, + async (argv) => { + if (!argv._.includes("plugin") || argv._.length > 1) return + await handlePluginStatus() + }, + ) + .showHelpOnFail(true) + .help() + .strict() + .demandCommand().argv diff --git a/Local/storage/thlab-notes/worker/quartz/bootstrap-worker.mjs b/Local/storage/thlab-notes/worker/quartz/bootstrap-worker.mjs new file mode 100644 index 0000000..c4c4949 --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz/bootstrap-worker.mjs @@ -0,0 +1,8 @@ +#!/usr/bin/env node +import workerpool from "workerpool" +const cacheFile = "./.quartz-cache/transpiled-worker.mjs" +const { parseMarkdown, processHtml } = await import(cacheFile) +workerpool.worker({ + parseMarkdown, + processHtml, +}) diff --git a/Local/storage/thlab-notes/worker/quartz/build.ts b/Local/storage/thlab-notes/worker/quartz/build.ts new file mode 100644 index 0000000..3d73641 --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz/build.ts @@ -0,0 +1,369 @@ +import sourceMapSupport from "source-map-support" +sourceMapSupport.install(options) +import path from "path" +import { PerfTimer } from "./util/perf" +import { rm } from "fs/promises" +import { GlobbyFilterFunction, isGitIgnored } from "globby" +import { styleText } from "util" +import { parseMarkdown } from "./processors/parse" +import { filterContent } from "./processors/filter" +import { emitContent } from "./processors/emit" +import cfg from "../quartz" +import { FilePath, joinSegments, slugifyFilePath } from "./util/path" +import { detectSlugCollisions, formatCollisionWarning } from "./util/slugCollisions" +import chokidar from "chokidar" +import { ProcessedContent } from "./plugins/vfile" +import { Argv, BuildCtx } from "./util/ctx" +import { glob, toPosixPath } from "./util/glob" +import { trace } from "./util/trace" +import { options } from "./util/sourcemap" +import { Mutex } from "async-mutex" +import { getStaticResourcesFromPlugins } from "./plugins" +import { randomIdNonSecure } from "./util/random" +import { ChangeEvent } from "./plugins/types" +import { minimatch } from "minimatch" + +function reportSlugCollisions(content: ProcessedContent[]): void { + const collisions = detectSlugCollisions(content) + if (collisions.length === 0) return + console.warn(styleText("yellow", formatCollisionWarning(collisions))) +} + +type ContentMap = Map< + FilePath, + | { + type: "markdown" + content: ProcessedContent + } + | { + type: "other" + } +> + +type BuildData = { + ctx: BuildCtx + ignored: GlobbyFilterFunction + mut: Mutex + contentMap: ContentMap + changesSinceLastBuild: Record + lastBuildMs: number +} + +async function buildQuartz(argv: Argv, mut: Mutex, clientRefresh: () => void) { + const ctx: BuildCtx = { + buildId: randomIdNonSecure(), + argv, + cfg, + allSlugs: [], + allFiles: [], + incremental: false, + virtualPages: [], + } + + const perf = new PerfTimer() + const output = argv.output + + const pluginCount = Object.values(cfg.plugins).flat().length + const pluginNames = (key: "transformers" | "filters" | "emitters" | "pageTypes") => + (cfg.plugins[key] ?? []).map((plugin) => plugin.name) + if (argv.verbose) { + console.log(`Loaded ${pluginCount} plugins`) + console.log(` Transformers: ${pluginNames("transformers").join(", ")}`) + console.log(` Filters: ${pluginNames("filters").join(", ")}`) + console.log(` Emitters: ${pluginNames("emitters").join(", ")}`) + console.log(` PageTypes: ${pluginNames("pageTypes").join(", ")}`) + } + + const release = await mut.acquire() + perf.addEvent("clean") + await rm(output, { recursive: true, force: true }) + console.log(`Cleaned output directory \`${output}\` in ${perf.timeSince("clean")}`) + + perf.addEvent("glob") + const allFiles = await glob("**/*.*", argv.directory, cfg.configuration.ignorePatterns) + const markdownPaths = allFiles.filter((fp) => fp.endsWith(".md")).sort() + console.log( + `Found ${markdownPaths.length} input files from \`${argv.directory}\` in ${perf.timeSince("glob")}`, + ) + + const filePaths = markdownPaths.map((fp) => joinSegments(argv.directory, fp) as FilePath) + ctx.allFiles = allFiles + ctx.allSlugs = allFiles.map((fp) => slugifyFilePath(fp as FilePath)) + + const parsedFiles = await parseMarkdown(ctx, filePaths) + reportSlugCollisions(parsedFiles) + const filteredContent = filterContent(ctx, parsedFiles) + + await emitContent(ctx, filteredContent) + console.log( + styleText("green", `Done processing ${markdownPaths.length} files in ${perf.timeSince()}`), + ) + release() + + if (argv.watch) { + ctx.incremental = true + return startWatching(ctx, mut, parsedFiles, clientRefresh) + } +} + +// setup watcher for rebuilds +async function startWatching( + ctx: BuildCtx, + mut: Mutex, + initialContent: ProcessedContent[], + clientRefresh: () => void, +) { + const { argv, allFiles } = ctx + + const contentMap: ContentMap = new Map() + for (const filePath of allFiles) { + contentMap.set(filePath, { + type: "other", + }) + } + + for (const content of initialContent) { + const [_tree, vfile] = content + const relPath = vfile.data.relativePath + if (!relPath) { + console.warn(`Skipping file with no relativePath: ${vfile.path}`) + continue + } + contentMap.set(relPath, { + type: "markdown", + content, + }) + } + + const gitIgnoredMatcher = await isGitIgnored() + const buildData: BuildData = { + ctx, + mut, + contentMap, + ignored: (fp) => { + const pathStr = toPosixPath(fp.toString()) + if (pathStr.startsWith(".git/")) return true + if (gitIgnoredMatcher(pathStr)) return true + for (const pattern of cfg.configuration.ignorePatterns) { + if (minimatch(pathStr, pattern)) { + return true + } + } + + return false + }, + + changesSinceLastBuild: {}, + lastBuildMs: 0, + } + + const watcher = chokidar.watch(".", { + awaitWriteFinish: { stabilityThreshold: 250 }, + persistent: true, + cwd: argv.directory, + ignoreInitial: true, + }) + + const changes: ChangeEvent[] = [] + let rebuildTimeout: ReturnType | null = null + const scheduleRebuild = () => { + if (rebuildTimeout) clearTimeout(rebuildTimeout) + rebuildTimeout = setTimeout(() => { + rebuildTimeout = null + rebuild(changes, clientRefresh, buildData).catch((err) => { + console.error(styleText("red", "Rebuild failed:"), err.message ?? err) + }) + }, 100) + } + watcher + .on("add", (fp) => { + fp = toPosixPath(fp) + if (buildData.ignored(fp)) return + changes.push({ path: fp as FilePath, type: "add" }) + scheduleRebuild() + }) + .on("change", (fp) => { + fp = toPosixPath(fp) + if (buildData.ignored(fp)) return + changes.push({ path: fp as FilePath, type: "change" }) + scheduleRebuild() + }) + .on("unlink", (fp) => { + fp = toPosixPath(fp) + if (buildData.ignored(fp)) return + changes.push({ path: fp as FilePath, type: "delete" }) + scheduleRebuild() + }) + + return async () => { + await watcher.close() + } +} + +async function rebuild(changes: ChangeEvent[], clientRefresh: () => void, buildData: BuildData) { + const { ctx, contentMap, mut, changesSinceLastBuild } = buildData + const { argv, cfg } = ctx + + const buildId = randomIdNonSecure() + ctx.buildId = buildId + buildData.lastBuildMs = new Date().getTime() + const numChangesInBuild = changes.length + const release = await mut.acquire() + try { + // if there's another build after us, release and let them do it + if (ctx.buildId !== buildId) { + return + } + + const perf = new PerfTimer() + perf.addEvent("rebuild") + console.log(styleText("yellow", "Detected change, rebuilding...")) + + // update changesSinceLastBuild + for (const change of changes) { + changesSinceLastBuild[change.path] = change.type + } + + const staticResources = getStaticResourcesFromPlugins(ctx) + const pathsToParse: FilePath[] = [] + for (const [fp, type] of Object.entries(changesSinceLastBuild)) { + if (type === "delete" || path.extname(fp) !== ".md") continue + const fullPath = joinSegments(argv.directory, toPosixPath(fp)) as FilePath + pathsToParse.push(fullPath) + } + + const parsed = await parseMarkdown(ctx, pathsToParse) + for (const content of parsed) { + const relPath = content[1].data.relativePath + if (!relPath) { + console.warn(`Skipping file with no relativePath: ${content[1].path}`) + continue + } + contentMap.set(relPath, { + type: "markdown", + content, + }) + } + + // update state using changesSinceLastBuild + // we do this weird play of add => compute change events => remove + // so that partialEmitters can do appropriate cleanup based on the content of deleted files + for (const [file, change] of Object.entries(changesSinceLastBuild)) { + if (change === "delete") { + // universal delete case + contentMap.delete(file as FilePath) + } + + // manually track non-markdown files as processed files only + // contains markdown files + if (change === "add" && path.extname(file) !== ".md") { + contentMap.set(file as FilePath, { + type: "other", + }) + } + } + + const changeEvents: ChangeEvent[] = Object.entries(changesSinceLastBuild).map(([fp, type]) => { + const path = fp as FilePath + const processedContent = contentMap.get(path) + if (processedContent?.type === "markdown") { + const [_tree, file] = processedContent.content + return { + type, + path, + file, + } + } + + return { + type, + path, + } + }) + + // update allFiles and then allSlugs with the consistent view of content map + ctx.allFiles = Array.from(contentMap.keys()) + ctx.allSlugs = ctx.allFiles.map((fp) => slugifyFilePath(fp as FilePath)) + + const markdownContent = Array.from(contentMap.values()) + .filter((file) => file.type === "markdown") + .map((file) => file.content) + reportSlugCollisions(markdownContent) + let processedFiles = filterContent(ctx, markdownContent) + + let emittedFiles = 0 + + // Phase 1: Run PageTypeDispatcher first so it populates ctx.virtualPages + const dispatcher = cfg.plugins.emitters.find((e) => e.name === "PageTypeDispatcher") + if (dispatcher) { + ctx.virtualPages = [] + const emitFn = dispatcher.partialEmit ?? dispatcher.emit + const emitted = await emitFn(ctx, processedFiles, staticResources, changeEvents) + if (emitted !== null) { + if (Symbol.asyncIterator in emitted) { + for await (const file of emitted) { + emittedFiles++ + if (ctx.argv.verbose) { + console.log(`[emit:${dispatcher.name}] ${file}`) + } + } + } else { + emittedFiles += emitted.length + if (ctx.argv.verbose) { + for (const file of emitted) { + console.log(`[emit:${dispatcher.name}] ${file}`) + } + } + } + } + } + + // Phase 2: Run all other emitters with content extended by virtual pages + const contentWithVirtual = + ctx.virtualPages.length > 0 ? [...processedFiles, ...ctx.virtualPages] : processedFiles + for (const emitter of cfg.plugins.emitters) { + if (emitter.name === "PageTypeDispatcher") continue + // Try to use partialEmit if available, otherwise assume the output is static + const emitFn = emitter.partialEmit ?? emitter.emit + const emitted = await emitFn(ctx, contentWithVirtual, staticResources, changeEvents) + if (emitted === null) { + continue + } + + if (Symbol.asyncIterator in emitted) { + // Async generator case + for await (const file of emitted) { + emittedFiles++ + if (ctx.argv.verbose) { + console.log(`[emit:${emitter.name}] ${file}`) + } + } + } else { + // Array case + emittedFiles += emitted.length + if (ctx.argv.verbose) { + for (const file of emitted) { + console.log(`[emit:${emitter.name}] ${file}`) + } + } + } + } + + console.log( + `Emitted ${emittedFiles} files to \`${argv.output}\` in ${perf.timeSince("rebuild")}`, + ) + console.log(styleText("green", `Done rebuilding in ${perf.timeSince()}`)) + changes.splice(0, numChangesInBuild) + clientRefresh() + } finally { + release() + } +} + +export default async (argv: Argv, mut: Mutex, clientRefresh: () => void) => { + try { + return await buildQuartz(argv, mut, clientRefresh) + } catch (err) { + trace("\nExiting Quartz due to a fatal error", err as Error) + } +} diff --git a/Local/storage/thlab-notes/worker/quartz/cfg.ts b/Local/storage/thlab-notes/worker/quartz/cfg.ts new file mode 100644 index 0000000..9027c46 --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz/cfg.ts @@ -0,0 +1,106 @@ +import { QuartzComponent } from "./components/types" +import { ValidLocale } from "./i18n" +import { PluginSpecifier } from "./plugins/loader/types" +import { PluginTypes } from "./plugins/types" +import { Theme } from "./util/theme" + +export type Analytics = + | null + | { + provider: "plausible" + host?: string + } + | { + provider: "google" + tagId: string + } + | { + provider: "umami" + websiteId: string + host?: string + } + | { + provider: "goatcounter" + websiteId: string + host?: string + scriptSrc?: string + } + | { + provider: "posthog" + apiKey: string + host?: string + } + | { + provider: "tinylytics" + siteId: string + } + | { + provider: "cabin" + host?: string + } + | { + provider: "clarity" + projectId?: string + } + | { + provider: "matomo" + host: string + siteId: string + } + | { + provider: "vercel" + } + | { + provider: "rybbit" + siteId: string + host?: string + } + +export interface GlobalConfiguration { + pageTitle: string + pageTitleSuffix?: string + /** Whether to enable single-page-app style rendering. this prevents flashes of unstyled content and improves smoothness of Quartz */ + enableSPA: boolean + /** Whether to display Wikipedia-style popovers when hovering over links */ + enablePopovers: boolean + /** Analytics mode */ + analytics: Analytics + /** Glob patterns to not search */ + ignorePatterns: string[] + /** Base URL to use for CNAME files, sitemaps, and RSS feeds that require an absolute URL. + * Quartz will avoid using this as much as possible and use relative URLs most of the time + */ + baseUrl?: string + theme: Theme + /** + * Allow to translate the date in the language of your choice. + * Also used for UI translation (default: en-US) + * Need to be formatted following BCP 47: https://en.wikipedia.org/wiki/IETF_language_tag + * The first part is the language (en) and the second part is the script/region (US) + * Language Codes: https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes + * Region Codes: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 + */ + locale: ValidLocale +} + +export interface QuartzConfig { + configuration: GlobalConfiguration + plugins: PluginTypes + externalPlugins?: PluginSpecifier[] +} + +export interface FullPageLayout { + head: QuartzComponent + header: QuartzComponent[] + beforeBody: QuartzComponent[] + pageBody: QuartzComponent + afterBody: QuartzComponent[] + left: QuartzComponent[] + right: QuartzComponent[] + footer: QuartzComponent + /** Page frame name (e.g. "default", "full-width", "minimal"). Defaults to "default". */ + frame?: string +} + +export type PageLayout = Pick +export type SharedLayout = Pick diff --git a/Local/storage/thlab-notes/worker/quartz/cli/args.js b/Local/storage/thlab-notes/worker/quartz/cli/args.js new file mode 100644 index 0000000..7a6c155 --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz/cli/args.js @@ -0,0 +1,120 @@ +export const CommonArgv = { + directory: { + string: true, + alias: ["d"], + default: "content", + describe: "directory to look for content files", + }, + verbose: { + boolean: true, + alias: ["v"], + default: false, + describe: "print out extra logging information", + }, + concurrency: { + number: true, + alias: ["c"], + describe: "max parallel operations (default: number of CPU cores)", + }, +} + +export const CreateArgv = { + ...CommonArgv, + template: { + string: true, + alias: ["t"], + choices: ["default", "obsidian", "ttrpg", "blog"], + describe: "template to use for initial configuration", + }, + source: { + string: true, + alias: ["s"], + describe: "source directory to copy/create symlink from", + }, + strategy: { + string: true, + alias: ["X"], + choices: ["new", "copy", "symlink"], + describe: "strategy for content folder setup", + }, + baseUrl: { + string: true, + alias: ["b"], + describe: "base URL for your Quartz site (e.g. mysite.github.io/quartz)", + }, + links: { + string: true, + alias: ["l"], + choices: ["absolute", "shortest", "relative"], + describe: "strategy to resolve links", + }, +} + +export const SyncArgv = { + ...CommonArgv, + commit: { + boolean: true, + default: true, + describe: "create a git commit for your unsaved changes", + }, + message: { + string: true, + alias: ["m"], + describe: "option to override the default Quartz commit message", + }, + push: { + boolean: true, + default: true, + describe: "push updates to your Quartz fork", + }, + pull: { + boolean: true, + default: true, + describe: "pull updates from your Quartz fork", + }, +} + +export const BuildArgv = { + ...CommonArgv, + output: { + string: true, + alias: ["o"], + default: "public", + describe: "output folder for files", + }, + serve: { + boolean: true, + default: false, + describe: "run a local server to live-preview your Quartz", + }, + watch: { + boolean: true, + default: false, + describe: "watch for changes and rebuild automatically", + }, + baseDir: { + string: true, + default: "", + describe: "base path to serve your local server on", + }, + port: { + number: true, + default: 8080, + describe: "port to serve Quartz on", + }, + wsPort: { + number: true, + default: 3001, + describe: "port to use for WebSocket-based hot-reload notifications", + }, + remoteDevHost: { + string: true, + default: "", + describe: "A URL override for the websocket connection if you are not developing on localhost", + }, + bundleInfo: { + boolean: true, + default: false, + describe: "show detailed bundle information", + }, +} diff --git a/Local/storage/thlab-notes/worker/quartz/cli/constants.js b/Local/storage/thlab-notes/worker/quartz/cli/constants.js new file mode 100644 index 0000000..83c702a --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz/cli/constants.js @@ -0,0 +1,16 @@ +import path from "path" +import { readFileSync } from "fs" + +/** + * All constants relating to helpers or handlers + */ +export const ORIGIN_NAME = "origin" +export const UPSTREAM_NAME = "upstream" +export const QUARTZ_SOURCE_BRANCH = "v5" +export const QUARTZ_SOURCE_REPO = "https://github.com/jackyzha0/quartz.git" +export const cwd = process.cwd() +export const cacheDir = path.join(cwd, ".quartz-cache") +export const cacheFile = "./quartz/.quartz-cache/transpiled-build.mjs" +export const fp = "./quartz/build.ts" +export const { version } = JSON.parse(readFileSync("./package.json").toString()) +export const contentCacheFolder = path.join(cacheDir, "content-cache") diff --git a/Local/storage/thlab-notes/worker/quartz/cli/handlers.js b/Local/storage/thlab-notes/worker/quartz/cli/handlers.js new file mode 100644 index 0000000..6d4119c --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz/cli/handlers.js @@ -0,0 +1,801 @@ +import { promises } from "fs" +import path from "path" +import esbuild from "esbuild" +import { styleText } from "util" +import { sassPlugin } from "esbuild-sass-plugin" +import fs from "fs" +import { intro, outro, select, text } from "@clack/prompts" +import { rm } from "fs/promises" +import chokidar from "chokidar" +import prettyBytes from "pretty-bytes" +import { execSync, spawnSync } from "child_process" +import http from "http" +import serveHandler from "serve-handler" +import { WebSocketServer } from "ws" +import { randomUUID } from "crypto" +import { Mutex } from "async-mutex" +import { CreateArgv } from "./args.js" +import { globby } from "globby" +import { + exitIfCancel, + escapePath, + gitPull, + popContentFolder, + stashContentFolder, + symlinkOrCopy, +} from "./helpers.js" +import { + handlePluginRestore, + handlePluginCheck, + handlePluginResolve, +} from "./plugin-git-handlers.js" +import { + configExists, + createConfigFromDefault, + createConfigFromTemplate, + readPluginsJson, + writePluginsJson, + extractPluginName, + updateGlobalConfig, + LOCKFILE_PATH, +} from "./plugin-data.js" +import { + UPSTREAM_NAME, + QUARTZ_SOURCE_BRANCH, + QUARTZ_SOURCE_REPO, + ORIGIN_NAME, + version, + fp, + cacheFile, + cwd, +} from "./constants.js" + +/** + * Resolve content directory path + * @param contentPath path to resolve + */ +function resolveContentPath(contentPath) { + if (path.isAbsolute(contentPath)) return path.relative(cwd, contentPath) + return path.join(cwd, contentPath) +} + +/** + * Handles `npx quartz create` + * @param {*} argv arguments for `create` + */ +export async function handleCreate(argv) { + console.log() + intro(styleText(["bgGreen", "black"], ` Quartz v${version} `)) + const contentFolder = resolveContentPath(argv.directory) + let setupStrategy = argv.strategy?.toLowerCase() + let linkResolutionStrategy = argv.links?.toLowerCase() + const sourceDirectory = argv.source + let template = argv.template?.toLowerCase() + let baseUrl = argv.baseUrl + + // If all cmd arguments were provided, check if they're valid + if (setupStrategy && linkResolutionStrategy) { + // If setup isn't, "new", source argument is required + if (setupStrategy !== "new") { + // Error handling + if (!sourceDirectory) { + outro( + styleText( + "red", + `Setup strategies (arg '${styleText( + "yellow", + `-${CreateArgv.strategy.alias[0]}`, + )}') other than '${styleText( + "yellow", + "new", + )}' require content folder argument ('${styleText( + "yellow", + `-${CreateArgv.source.alias[0]}`, + )}') to be set`, + ), + ) + process.exit(1) + } else { + if (!fs.existsSync(sourceDirectory)) { + outro( + styleText( + "red", + `Input directory to copy/symlink 'content' from not found ('${styleText( + "yellow", + sourceDirectory, + )}', invalid argument "${styleText("yellow", `-${CreateArgv.source.alias[0]}`)})`, + ), + ) + process.exit(1) + } else if (!fs.lstatSync(sourceDirectory).isDirectory()) { + outro( + styleText( + "red", + `Source directory to copy/symlink 'content' from is not a directory (found file at '${styleText( + "yellow", + sourceDirectory, + )}', invalid argument ${styleText("yellow", `-${CreateArgv.source.alias[0]}`)}")`, + ), + ) + process.exit(1) + } + } + } + } + + // Template selection + if (!template) { + template = exitIfCancel( + await select({ + message: "Choose a template for your Quartz configuration", + options: [ + { value: "default", label: "Default", hint: "clean Quartz setup with sensible defaults" }, + { + value: "obsidian", + label: "Obsidian", + hint: "optimized for Obsidian vaults with full OFM support", + }, + { + value: "ttrpg", + label: "TTRPG", + hint: "Obsidian + map plugin + ITS Theme for D&D/TTRPG wikis", + }, + { + value: "blog", + label: "Blog", + hint: "recent notes and comments enabled for blogging", + }, + ], + }), + ) + } + // Use cli process if cmd args werent provided + if (!setupStrategy) { + setupStrategy = exitIfCancel( + await select({ + message: `Choose how to initialize the content in \`${contentFolder}\``, + options: [ + { value: "new", label: "Empty Quartz" }, + { value: "copy", label: "Copy an existing folder", hint: "overwrites `content`" }, + { + value: "symlink", + label: "Symlink an existing folder", + hint: "don't select this unless you know what you are doing!", + }, + ], + }), + ) + } + + async function rmContentFolder() { + const contentStat = await fs.promises.lstat(contentFolder) + if (contentStat.isSymbolicLink()) { + await fs.promises.unlink(contentFolder) + } else { + await rm(contentFolder, { recursive: true, force: true }) + } + } + + const gitkeepPath = path.join(contentFolder, ".gitkeep") + if (fs.existsSync(gitkeepPath)) { + await fs.promises.unlink(gitkeepPath) + } + if (setupStrategy === "copy" || setupStrategy === "symlink") { + let originalFolder = sourceDirectory + + // If input directory was not passed, use cli + if (!sourceDirectory) { + originalFolder = escapePath( + exitIfCancel( + await text({ + message: "Enter the full path to existing content folder", + placeholder: + "On most terminal emulators, you can drag and drop a folder into the window and it will paste the full path", + validate(fp) { + const fullPath = escapePath(fp) + if (!fs.existsSync(fullPath)) { + return "The given path doesn't exist" + } else if (!fs.lstatSync(fullPath).isDirectory()) { + return "The given path is not a folder" + } + }, + }), + ), + ) + } + + await rmContentFolder() + if (setupStrategy === "copy") { + await fs.promises.cp(originalFolder, contentFolder, { + recursive: true, + preserveTimestamps: true, + }) + } else if (setupStrategy === "symlink") { + await symlinkOrCopy(originalFolder, contentFolder) + } + } else if (setupStrategy === "new") { + await fs.promises.writeFile( + path.join(contentFolder, "index.md"), + `--- +title: Welcome to Quartz +--- + +This is a blank Quartz installation. +See the [documentation](https://quartz.jzhao.xyz) for how to get started. +`, + ) + } + + // Obsidian and TTRPG templates auto-set link resolution to "shortest" + const skipLinkPrompt = template === "obsidian" || template === "ttrpg" + if (skipLinkPrompt) { + linkResolutionStrategy = "shortest" + } + + // Use cli process if cmd args werent provided + if (!linkResolutionStrategy) { + // get a preferred link resolution strategy + linkResolutionStrategy = exitIfCancel( + await select({ + message: `Choose how Quartz should resolve links in your content. This should match Obsidian's link format. You can change this later in \`quartz.config.yaml\`.`, + options: [ + { + value: "shortest", + label: "Treat links as shortest path", + hint: "(default)", + }, + { + value: "absolute", + label: "Treat links as absolute path", + }, + { + value: "relative", + label: "Treat links as relative paths", + }, + ], + }), + ) + } + + // Base URL prompt + if (!baseUrl) { + baseUrl = exitIfCancel( + await text({ + message: "Enter the base URL for your Quartz site (e.g. mysite.github.io/quartz)", + placeholder: "mysite.github.io", + validate(value) { + if (!value || value.trim().length === 0) { + return "Base URL cannot be empty" + } + }, + }), + ) + } + + // Strip protocol prefix if user included it + baseUrl = baseUrl.replace(/^https?:\/\//, "").replace(/\/+$/, "") + + if (template && template !== "default") { + createConfigFromTemplate(template) + console.log(styleText("green", `Created quartz.config.yaml from '${template}' template`)) + } else { + createConfigFromTemplate("default") + console.log(styleText("green", "Created quartz.config.yaml from defaults")) + } + + // Update markdownLinkResolution in the crawl-links plugin options via YAML config + const json = readPluginsJson() + if (json?.plugins) { + const crawlLinksIndex = json.plugins.findIndex( + (p) => extractPluginName(p.source) === "crawl-links", + ) + if (crawlLinksIndex !== -1) { + json.plugins[crawlLinksIndex].options = { + ...json.plugins[crawlLinksIndex].options, + markdownLinkResolution: linkResolutionStrategy, + } + writePluginsJson(json) + } + } + + // Update baseUrl in configuration + updateGlobalConfig({ baseUrl }) + + // install plugins referenced in the template config + await handlePluginResolve() + + // setup remote + execSync(`git remote show upstream || git remote add upstream ${QUARTZ_SOURCE_REPO}`, { + stdio: "ignore", + }) + + outro(`You're all set! Not sure what to do next? Try: + • Customizing Quartz a bit more by editing \`quartz.config.yaml\` + • Running \`npx quartz build --serve\` to preview your Quartz locally + • Hosting your Quartz online (see: https://quartz.jzhao.xyz/hosting) +`) +} + +/** + * Handles `npx quartz build` + * @param {*} argv arguments for `build` + */ +export async function handleBuild(argv) { + if (argv.concurrency !== undefined && argv.concurrency < 1) { + console.error("Concurrency must be at least 1") + process.exit(1) + } + + if (argv.serve) { + argv.watch = true + } + + console.log(`\n${styleText(["bgGreen", "black"], ` Quartz v${version} `)} \n`) + const ctx = await esbuild.context({ + entryPoints: [fp], + outfile: cacheFile, + bundle: true, + keepNames: true, + minifyWhitespace: true, + minifySyntax: true, + platform: "node", + format: "esm", + jsx: "automatic", + jsxImportSource: "preact", + packages: "external", + metafile: true, + sourcemap: true, + sourcesContent: false, + logOverride: { + "direct-eval": "silent", + "equals-negative-zero": "silent", + "duplicate-object-key": "silent", + }, + plugins: [ + sassPlugin({ + type: "css-text", + cssImports: true, + }), + sassPlugin({ + filter: /\.inline\.scss$/, + type: "css", + cssImports: true, + }), + { + name: "inline-script-loader", + setup(build) { + build.onLoad({ filter: /\.inline\.(ts|js)$/ }, async (args) => { + let text = await promises.readFile(args.path, "utf8") + + // remove default exports that we manually inserted + text = text.replace("export default", "") + text = text.replace("export", "") + + const sourcefile = path.relative(path.resolve("."), args.path) + const resolveDir = path.dirname(sourcefile) + const transpiled = await esbuild.build({ + stdin: { + contents: text, + loader: "ts", + resolveDir, + sourcefile, + }, + write: false, + bundle: true, + minify: true, + platform: "browser", + format: "esm", + }) + const rawMod = transpiled.outputFiles[0].text + return { + contents: rawMod, + loader: "text", + } + }) + }, + }, + ], + }) + + const buildMutex = new Mutex() + let lastBuildMs = 0 + let cleanupBuild = null + const build = async (clientRefresh) => { + const buildStart = new Date().getTime() + lastBuildMs = buildStart + const release = await buildMutex.acquire() + if (lastBuildMs > buildStart) { + release() + return + } + + if (cleanupBuild) { + console.log(styleText("yellow", "Detected a source code change, doing a hard rebuild...")) + await cleanupBuild() + } + + const result = await ctx.rebuild().catch((err) => { + console.error( + `${styleText("red", "Failed to build Quartz.")} Check for syntax errors in your configuration or plugins.`, + ) + console.log(`Reason: ${styleText("gray", err.message ?? String(err))}`) + process.exit(1) + }) + release() + + if (argv.bundleInfo) { + const outputFileName = "quartz/.quartz-cache/transpiled-build.mjs" + const meta = result.metafile.outputs[outputFileName] + console.log( + `Successfully transpiled ${Object.keys(meta.inputs).length} files (${prettyBytes( + meta.bytes, + )})`, + ) + console.log(await esbuild.analyzeMetafile(result.metafile, { color: true })) + } + + // bypass module cache + // https://github.com/nodejs/modules/issues/307 + const { default: buildQuartz } = await import(`../../${cacheFile}?update=${randomUUID()}`) + // ^ this import is relative, so base "cacheFile" path can't be used + + cleanupBuild = await buildQuartz(argv, buildMutex, clientRefresh) + clientRefresh() + } + + let clientRefresh = () => {} + if (argv.serve) { + const connections = [] + clientRefresh = () => connections.forEach((conn) => conn.send("rebuild")) + + if (argv.baseDir !== "" && !argv.baseDir.startsWith("/")) { + argv.baseDir = "/" + argv.baseDir + } + + await build(clientRefresh) + const server = http.createServer(async (req, res) => { + if (argv.baseDir && !req.url?.startsWith(argv.baseDir)) { + console.log( + styleText( + "red", + `[404] ${req.url} (warning: link outside of site, this is likely a Quartz bug)`, + ), + ) + res.writeHead(404) + res.end() + return + } + + // strip baseDir prefix + req.url = req.url?.slice(argv.baseDir.length) + + const serve = async () => { + const release = await buildMutex.acquire() + await serveHandler(req, res, { + public: argv.output, + directoryListing: false, + headers: [ + { + source: "**/*.*", + headers: [{ key: "Content-Disposition", value: "inline" }], + }, + { + source: "**/*.webp", + headers: [{ key: "Content-Type", value: "image/webp" }], + }, + // fixes bug where avif images are displayed as text instead of images (future proof) + { + source: "**/*.avif", + headers: [{ key: "Content-Type", value: "image/avif" }], + }, + ], + }) + const status = res.statusCode + const statusString = + status >= 200 && status < 300 + ? styleText("green", `[${status}]`) + : styleText("red", `[${status}]`) + console.log(statusString + styleText("gray", ` ${argv.baseDir}${req.url}`)) + release() + } + + const redirect = (newFp) => { + newFp = argv.baseDir + newFp + res.writeHead(302, { + Location: newFp, + }) + console.log( + styleText("yellow", "[302]") + + styleText("gray", ` ${argv.baseDir}${req.url} -> ${newFp}`), + ) + res.end() + } + + let fp = req.url?.split("?")[0] ?? "/" + + // handle redirects + if (fp.endsWith("/")) { + // /trailing/ + // does /trailing/index.html exist? if so, serve it + const indexFp = path.posix.join(fp, "index.html") + if (fs.existsSync(path.posix.join(argv.output, indexFp))) { + req.url = fp + return serve() + } + + // does /trailing.html exist? if so, redirect to /trailing + let base = fp.slice(0, -1) + if (path.extname(base) === "") { + base += ".html" + } + if (fs.existsSync(path.posix.join(argv.output, base))) { + return redirect(fp.slice(0, -1)) + } + } else { + // /regular + // does /regular.html exist? if so, serve it + let base = fp + if (path.extname(base) === "") { + base += ".html" + } + if (fs.existsSync(path.posix.join(argv.output, base))) { + req.url = fp + return serve() + } + + // does /regular/index.html exist? if so, redirect to /regular/ + let indexFp = path.posix.join(fp, "index.html") + if (fs.existsSync(path.posix.join(argv.output, indexFp))) { + return redirect(fp + "/") + } + } + + return serve() + }) + + server.on("error", (err) => { + if (err.code === "EADDRINUSE") { + console.error( + `Port ${argv.port} is already in use. Try a different port with --port `, + ) + process.exit(1) + } + throw err + }) + server.listen(argv.port) + const wss = new WebSocketServer({ port: argv.wsPort }) + wss.on("error", (err) => { + if (err.code === "EADDRINUSE") { + console.error( + `WebSocket port ${argv.wsPort} is already in use. Try a different port with --wsPort `, + ) + process.exit(1) + } + throw err + }) + wss.on("connection", (ws) => connections.push(ws)) + console.log( + styleText( + "cyan", + `Started a Quartz server listening at http://localhost:${argv.port}${argv.baseDir}`, + ), + ) + } else { + await build(clientRefresh) + ctx.dispose() + } + + if (argv.watch) { + const paths = await globby([ + "**/*.ts", + "quartz/cli/*.js", + "quartz/static/**/*", + "**/*.tsx", + "**/*.scss", + "package.json", + "quartz.config.yaml", + "quartz.config.default.yaml", + ]) + chokidar + .watch(paths, { ignoreInitial: true }) + .on("add", () => build(clientRefresh)) + .on("change", () => build(clientRefresh)) + .on("unlink", () => build(clientRefresh)) + + console.log(styleText("gray", "hint: exit with ctrl+c")) + } +} + +/** + * Handles `npx quartz upgrade` + * Upgrades the Quartz framework itself by pulling latest changes from upstream. + * @param {*} argv arguments for `upgrade` + */ +export async function handleUpgrade(argv) { + const contentFolder = resolveContentPath(argv.directory) + console.log(`\n${styleText(["bgGreen", "black"], ` Quartz v${version} `)} \n`) + console.log("Backing up your content") + execSync(`git remote show upstream || git remote add upstream ${QUARTZ_SOURCE_REPO}`) + await stashContentFolder(contentFolder) + + const lockfileBackup = LOCKFILE_PATH + ".bak" + const hasLockfile = fs.existsSync(LOCKFILE_PATH) + if (hasLockfile) { + fs.copyFileSync(LOCKFILE_PATH, lockfileBackup) + } + + console.log( + "Pulling updates... you may need to resolve some `git` conflicts if you've made changes to components or plugins.", + ) + + let pullOk = false + try { + gitPull(UPSTREAM_NAME, QUARTZ_SOURCE_BRANCH) + pullOk = true + } catch { + if (hasLockfile) { + try { + fs.copyFileSync(lockfileBackup, LOCKFILE_PATH) + execSync(`git add ${LOCKFILE_PATH}`) + const remaining = execSync("git diff --name-only --diff-filter=U", { + encoding: "utf-8", + }).trim() + if (remaining.length === 0) { + execSync("git commit --no-edit") + pullOk = true + console.log(styleText("cyan", "Resolved quartz.lock.json merge conflict automatically.")) + } + } catch { + // Could not auto-resolve, fall through to manual resolution + } + } + + if (!pullOk) { + console.log( + styleText("red", "An error occurred while pulling updates.") + + "\nCheck your network connection and git credentials. If you see merge conflicts, resolve them manually and run `npx quartz sync --no-pull`.", + ) + await popContentFolder(contentFolder) + if (fs.existsSync(lockfileBackup)) fs.unlinkSync(lockfileBackup) + return + } + } + + if (hasLockfile && fs.existsSync(lockfileBackup)) { + fs.copyFileSync(lockfileBackup, LOCKFILE_PATH) + fs.unlinkSync(lockfileBackup) + } + + await popContentFolder(contentFolder) + + // Read the new version after pulling + const newPkg = JSON.parse(fs.readFileSync("./package.json").toString()) + const newVersion = newPkg.version + if (newVersion !== version) { + console.log(styleText("cyan", `Upgraded Quartz: v${version} → v${newVersion}`)) + } else { + console.log(styleText("gray", `Quartz is already up to date (v${version})`)) + } + + console.log("Ensuring dependencies are up to date") + + /* + On Windows, if the command `npm` is really `npm.cmd', this call fails + as it will be unable to find `npm`. This is often the case on systems + where `npm` is installed via a package manager. + + This means `npx quartz upgrade` will not actually update dependencies + on Windows, without a manual `npm i` from the caller. + + However, by spawning a shell, we are able to call `npm.cmd`. + See: https://nodejs.org/api/child_process.html#spawning-bat-and-cmd-files-on-windows + */ + + const opts = { stdio: "inherit" } + if (process.platform === "win32") { + opts.shell = true + } + + const res = spawnSync("npm", ["i"], opts) + if (res.status === 0) { + console.log(styleText("green", "Dependencies updated!")) + } else { + console.log( + styleText("red", "An error occurred while installing dependencies.") + + "\nTry running `npm install` manually to see detailed errors.", + ) + } + + console.log("Restoring plugins from lockfile...") + await handlePluginRestore() + + console.log("Checking plugin compatibility...") + await handlePluginCheck() + + console.log(styleText("green", "Done!")) +} + +/** + * Handles `npx quartz restore` + * @param {*} argv arguments for `restore` + */ +export async function handleRestore(argv) { + const contentFolder = resolveContentPath(argv.directory) + await popContentFolder(contentFolder) +} + +/** + * Handles `npx quartz sync` + * @param {*} argv arguments for `sync` + */ +export async function handleSync(argv) { + const contentFolder = resolveContentPath(argv.directory) + console.log(`\n${styleText(["bgGreen", "black"], ` Quartz v${version} `)}\n`) + console.log("Backing up your content") + + if (argv.commit) { + const contentStat = await fs.promises.lstat(contentFolder) + if (contentStat.isSymbolicLink()) { + const linkTarg = await fs.promises.readlink(contentFolder) + console.log(styleText("yellow", "Detected symlink, trying to dereference before committing")) + + // stash symlink file + await stashContentFolder(contentFolder) + + // follow symlink and copy content + await fs.promises.cp(linkTarg, contentFolder, { + recursive: true, + preserveTimestamps: true, + }) + } + + const currentTimestamp = new Date().toLocaleString("en-US", { + dateStyle: "medium", + timeStyle: "short", + }) + const commitMessage = argv.message ?? `Quartz sync: ${currentTimestamp}` + spawnSync("git", ["add", "."], { stdio: "inherit" }) + spawnSync("git", ["commit", "-m", commitMessage], { stdio: "inherit" }) + + if (contentStat.isSymbolicLink()) { + // put symlink back + await popContentFolder(contentFolder) + } + } + + await stashContentFolder(contentFolder) + + if (argv.pull) { + console.log( + "Pulling updates from your repository. You may need to resolve some `git` conflicts if you've made changes to components or plugins.", + ) + try { + gitPull(ORIGIN_NAME, QUARTZ_SOURCE_BRANCH) + } catch { + console.log( + styleText("red", "An error occurred while pulling updates from your repository.") + + "\nCheck your network connection and git credentials.", + ) + await popContentFolder(contentFolder) + return + } + } + + await popContentFolder(contentFolder) + if (argv.push) { + console.log("Pushing your changes") + const currentBranch = execSync("git rev-parse --abbrev-ref HEAD").toString().trim() + const res = spawnSync("git", ["push", "-uf", ORIGIN_NAME, currentBranch], { + stdio: "inherit", + }) + if (res.status !== 0) { + console.log( + styleText("red", `An error occurred while pushing to remote ${ORIGIN_NAME}.`) + + "\nCheck that you have push access to the remote repository.", + ) + return + } + } + + console.log(styleText("green", "Done!")) +} diff --git a/Local/storage/thlab-notes/worker/quartz/cli/helpers.js b/Local/storage/thlab-notes/worker/quartz/cli/helpers.js new file mode 100644 index 0000000..75334c7 --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz/cli/helpers.js @@ -0,0 +1,109 @@ +import { isCancel, outro } from "@clack/prompts" +import { styleText } from "util" +import { contentCacheFolder } from "./constants.js" +import { spawnSync } from "child_process" +import fs from "fs" +import path from "path" + +export function escapePath(fp) { + return fp + .replace(/\\ /g, " ") // unescape spaces + .replace(/^"(.*)"$/, "$1") + .replace(/^'(.*)'$/, "$1") + .trim() +} + +export function exitIfCancel(val) { + if (isCancel(val)) { + outro(styleText("red", "Exiting")) + process.exit(0) + } else { + return val + } +} + +export async function stashContentFolder(contentFolder) { + await fs.promises.rm(contentCacheFolder, { force: true, recursive: true }) + await fs.promises.cp(contentFolder, contentCacheFolder, { + force: true, + recursive: true, + verbatimSymlinks: true, + preserveTimestamps: true, + }) + await fs.promises.rm(contentFolder, { force: true, recursive: true }) +} + +export function gitPull(origin, branch) { + const flags = ["--no-rebase", "--autostash", "--no-edit", "--allow-unrelated-histories"] + const out = spawnSync("git", ["pull", ...flags, origin, branch], { stdio: "inherit" }) + if (out.stderr) { + throw new Error(styleText("red", `Error while pulling updates: ${out.stderr}`)) + } else if (out.status !== 0) { + throw new Error(styleText("red", "Error while pulling updates")) + } +} + +export async function popContentFolder(contentFolder) { + await fs.promises.rm(contentFolder, { force: true, recursive: true }) + await fs.promises.cp(contentCacheFolder, contentFolder, { + force: true, + recursive: true, + verbatimSymlinks: true, + preserveTimestamps: true, + }) + await fs.promises.rm(contentCacheFolder, { force: true, recursive: true }) +} + +/** + * Create a directory symlink with Windows fallback. + * + * On Windows, creating symlinks requires Developer Mode or admin privileges. + * When that fails (EPERM), we try a junction first (no elevation needed), + * then fall back to a recursive copy as a last resort. + * + * @param {string} target Symlink target (may be relative) + * @param {string} linkPath Path where the link is created + */ +export function symlinkOrCopySync(target, linkPath) { + try { + fs.symlinkSync(target, linkPath, "dir") + } catch (err) { + if (err.code === "EEXIST") return + if (err.code === "EPERM" && process.platform === "win32") { + try { + fs.symlinkSync(target, linkPath, "junction") + return + } catch { + const resolvedTarget = path.resolve(path.dirname(linkPath), target) + fs.cpSync(resolvedTarget, linkPath, { recursive: true }) + return + } + } + throw err + } +} + +/** + * Async version of {@link symlinkOrCopySync}. + * + * @param {string} target Symlink target (may be relative) + * @param {string} linkPath Path where the link is created + */ +export async function symlinkOrCopy(target, linkPath) { + try { + await fs.promises.symlink(target, linkPath, "dir") + } catch (err) { + if (err.code === "EEXIST") return + if (err.code === "EPERM" && process.platform === "win32") { + try { + await fs.promises.symlink(target, linkPath, "junction") + return + } catch { + const resolvedTarget = path.resolve(path.dirname(linkPath), target) + await fs.promises.cp(resolvedTarget, linkPath, { recursive: true }) + return + } + } + throw err + } +} diff --git a/Local/storage/thlab-notes/worker/quartz/cli/helpers.test.js b/Local/storage/thlab-notes/worker/quartz/cli/helpers.test.js new file mode 100644 index 0000000..b3890bd --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz/cli/helpers.test.js @@ -0,0 +1,237 @@ +import test, { describe, beforeEach, afterEach, mock } from "node:test" +import assert from "node:assert" +import fs from "fs" +import path from "path" +import os from "os" +import { symlinkOrCopySync, symlinkOrCopy } from "./helpers.js" + +function makeTmpDir() { + return fs.mkdtempSync(path.join(os.tmpdir(), "quartz-symlink-test-")) +} + +function makeTarget(tmpDir) { + const target = path.join(tmpDir, "target") + fs.mkdirSync(target) + fs.writeFileSync(path.join(target, "marker.txt"), "hello") + return target +} + +describe("symlinkOrCopySync", () => { + let tmpDir + + beforeEach(() => { + tmpDir = makeTmpDir() + }) + + afterEach(() => { + fs.rmSync(tmpDir, { recursive: true, force: true }) + }) + + test("creates a symlink on success", () => { + const target = makeTarget(tmpDir) + const linkPath = path.join(tmpDir, "link") + + symlinkOrCopySync(target, linkPath) + + const stat = fs.lstatSync(linkPath) + assert.ok(stat.isSymbolicLink()) + assert.ok(fs.existsSync(path.join(linkPath, "marker.txt"))) + }) + + test("silently succeeds when link already exists (EEXIST)", () => { + const target = makeTarget(tmpDir) + const linkPath = path.join(tmpDir, "link") + + symlinkOrCopySync(target, linkPath) + assert.doesNotThrow(() => symlinkOrCopySync(target, linkPath)) + }) + + test("re-throws non-EPERM errors", () => { + const target = makeTarget(tmpDir) + const linkPath = path.join(tmpDir, "nonexistent-parent", "link") + + assert.throws( + () => symlinkOrCopySync(target, linkPath), + (err) => { + return err.code === "ENOENT" + }, + ) + }) + + test("falls back to junction on Windows EPERM", () => { + const target = makeTarget(tmpDir) + const linkPath = path.join(tmpDir, "link") + + const originalPlatform = Object.getOwnPropertyDescriptor(process, "platform") + Object.defineProperty(process, "platform", { value: "win32", configurable: true }) + + let callCount = 0 + const originalSymlinkSync = fs.symlinkSync + mock.method(fs, "symlinkSync", (t, lp, type) => { + callCount++ + if (callCount === 1 && type === "dir") { + const err = new Error("EPERM: operation not permitted, symlink") + err.code = "EPERM" + err.errno = -4048 + err.syscall = "symlink" + throw err + } + return originalSymlinkSync(t, lp, type) + }) + + try { + symlinkOrCopySync(target, linkPath) + assert.ok(fs.existsSync(path.join(linkPath, "marker.txt"))) + assert.strictEqual(callCount, 2) + } finally { + fs.symlinkSync.mock.restore() + if (originalPlatform) { + Object.defineProperty(process, "platform", originalPlatform) + } + } + }) + + test("falls back to copy when both symlink and junction fail on Windows", () => { + const target = makeTarget(tmpDir) + const linkPath = path.join(tmpDir, "link") + + const originalPlatform = Object.getOwnPropertyDescriptor(process, "platform") + Object.defineProperty(process, "platform", { value: "win32", configurable: true }) + + const originalSymlinkSync = fs.symlinkSync + mock.method(fs, "symlinkSync", (_t, _lp, _type) => { + const err = new Error("EPERM: operation not permitted, symlink") + err.code = "EPERM" + err.errno = -4048 + err.syscall = "symlink" + throw err + }) + + try { + symlinkOrCopySync(target, linkPath) + + const stat = fs.lstatSync(linkPath) + assert.ok(stat.isDirectory(), "fallback should produce a real directory, not a symlink") + assert.strictEqual(fs.readFileSync(path.join(linkPath, "marker.txt"), "utf-8"), "hello") + } finally { + fs.symlinkSync.mock.restore() + if (originalPlatform) { + Object.defineProperty(process, "platform", originalPlatform) + } + } + }) + + test("does not fall back on EPERM when not on Windows", () => { + const target = makeTarget(tmpDir) + const linkPath = path.join(tmpDir, "link") + + const originalPlatform = Object.getOwnPropertyDescriptor(process, "platform") + Object.defineProperty(process, "platform", { value: "linux", configurable: true }) + + const originalSymlinkSync = fs.symlinkSync + mock.method(fs, "symlinkSync", (_t, _lp, _type) => { + const err = new Error("EPERM: operation not permitted, symlink") + err.code = "EPERM" + throw err + }) + + try { + assert.throws( + () => symlinkOrCopySync(target, linkPath), + (err) => err.code === "EPERM", + ) + } finally { + fs.symlinkSync.mock.restore() + if (originalPlatform) { + Object.defineProperty(process, "platform", originalPlatform) + } + } + }) +}) + +describe("symlinkOrCopy", () => { + let tmpDir + + beforeEach(() => { + tmpDir = makeTmpDir() + }) + + afterEach(() => { + fs.rmSync(tmpDir, { recursive: true, force: true }) + }) + + test("creates a symlink on success", async () => { + const target = makeTarget(tmpDir) + const linkPath = path.join(tmpDir, "link") + + await symlinkOrCopy(target, linkPath) + + const stat = fs.lstatSync(linkPath) + assert.ok(stat.isSymbolicLink()) + assert.ok(fs.existsSync(path.join(linkPath, "marker.txt"))) + }) + + test("silently succeeds when link already exists (EEXIST)", async () => { + const target = makeTarget(tmpDir) + const linkPath = path.join(tmpDir, "link") + + await symlinkOrCopy(target, linkPath) + await assert.doesNotReject(() => symlinkOrCopy(target, linkPath)) + }) + + test("falls back to copy when both symlink and junction fail on Windows", async () => { + const target = makeTarget(tmpDir) + const linkPath = path.join(tmpDir, "link") + + const originalPlatform = Object.getOwnPropertyDescriptor(process, "platform") + Object.defineProperty(process, "platform", { value: "win32", configurable: true }) + + const originalSymlink = fs.promises.symlink + mock.method(fs.promises, "symlink", async (_t, _lp, _type) => { + const err = new Error("EPERM: operation not permitted, symlink") + err.code = "EPERM" + err.errno = -4048 + err.syscall = "symlink" + throw err + }) + + try { + await symlinkOrCopy(target, linkPath) + + const stat = fs.lstatSync(linkPath) + assert.ok(stat.isDirectory(), "fallback should produce a real directory, not a symlink") + assert.strictEqual(fs.readFileSync(path.join(linkPath, "marker.txt"), "utf-8"), "hello") + } finally { + fs.promises.symlink.mock.restore() + if (originalPlatform) { + Object.defineProperty(process, "platform", originalPlatform) + } + } + }) + + test("does not fall back on EPERM when not on Windows", async () => { + const target = makeTarget(tmpDir) + const linkPath = path.join(tmpDir, "link") + + const originalPlatform = Object.getOwnPropertyDescriptor(process, "platform") + Object.defineProperty(process, "platform", { value: "linux", configurable: true }) + + mock.method(fs.promises, "symlink", async (_t, _lp, _type) => { + const err = new Error("EPERM: operation not permitted, symlink") + err.code = "EPERM" + throw err + }) + + try { + await assert.rejects( + () => symlinkOrCopy(target, linkPath), + (err) => err.code === "EPERM", + ) + } finally { + fs.promises.symlink.mock.restore() + if (originalPlatform) { + Object.defineProperty(process, "platform", originalPlatform) + } + } + }) +}) diff --git a/Local/storage/thlab-notes/worker/quartz/cli/plugin-data.js b/Local/storage/thlab-notes/worker/quartz/cli/plugin-data.js new file mode 100644 index 0000000..c8cd6b4 --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz/cli/plugin-data.js @@ -0,0 +1,367 @@ +import fs from "fs" +import path from "path" +import { execSync } from "child_process" +import YAML from "yaml" + +const LOCKFILE_PATH = path.join(process.cwd(), "quartz.lock.json") +const PLUGINS_DIR = path.join(process.cwd(), ".quartz", "plugins") +const CONFIG_YAML_PATH = path.join(process.cwd(), "quartz.config.yaml") +const DEFAULT_CONFIG_YAML_PATH = path.join(process.cwd(), "quartz.config.default.yaml") +const TEMPLATES_DIR = path.join(process.cwd(), "quartz", "cli", "templates") + +const LEGACY_PLUGINS_JSON_PATH = path.join(process.cwd(), "quartz.plugins.json") +const LEGACY_DEFAULT_PLUGINS_JSON_PATH = path.join(process.cwd(), "quartz.plugins.default.json") + +function resolveConfigPath() { + if (fs.existsSync(CONFIG_YAML_PATH)) return CONFIG_YAML_PATH + if (fs.existsSync(LEGACY_PLUGINS_JSON_PATH)) return LEGACY_PLUGINS_JSON_PATH + if (fs.existsSync(DEFAULT_CONFIG_YAML_PATH)) return DEFAULT_CONFIG_YAML_PATH + if (fs.existsSync(LEGACY_DEFAULT_PLUGINS_JSON_PATH)) return LEGACY_DEFAULT_PLUGINS_JSON_PATH + return CONFIG_YAML_PATH +} + +function resolveDefaultConfigPath() { + if (fs.existsSync(DEFAULT_CONFIG_YAML_PATH)) return DEFAULT_CONFIG_YAML_PATH + if (fs.existsSync(LEGACY_DEFAULT_PLUGINS_JSON_PATH)) return LEGACY_DEFAULT_PLUGINS_JSON_PATH + return DEFAULT_CONFIG_YAML_PATH +} + +function readFileAsData(filePath) { + if (!fs.existsSync(filePath)) return null + try { + const raw = fs.readFileSync(filePath, "utf-8") + if (filePath.endsWith(".yaml") || filePath.endsWith(".yml")) { + return YAML.parse(raw) + } + return JSON.parse(raw) + } catch { + return null + } +} + +function writeDataToFile(filePath, data) { + if (filePath.endsWith(".yaml") || filePath.endsWith(".yml")) { + const header = "# yaml-language-server: $schema=./quartz/plugins/quartz-plugins.schema.json\n" + fs.writeFileSync(filePath, header + YAML.stringify(data, { lineWidth: 120 })) + } else { + fs.writeFileSync(filePath, JSON.stringify(data, null, 2) + "\n") + } +} + +export function readPluginsJson() { + const configPath = resolveConfigPath() + return readFileAsData(configPath) +} + +export function writePluginsJson(data) { + const { $schema, ...rest } = data + writeDataToFile(CONFIG_YAML_PATH, rest) +} + +function readDefaultPluginsJson() { + const defaultPath = resolveDefaultConfigPath() + return readFileAsData(defaultPath) +} + +export function readLockfile() { + if (!fs.existsSync(LOCKFILE_PATH)) return null + try { + return JSON.parse(fs.readFileSync(LOCKFILE_PATH, "utf-8")) + } catch { + return null + } +} + +export function writeLockfile(lockfile) { + if (lockfile.plugins) { + const sorted = {} + for (const key of Object.keys(lockfile.plugins).sort()) { + sorted[key] = lockfile.plugins[key] + } + lockfile = { ...lockfile, plugins: sorted } + } + fs.writeFileSync(LOCKFILE_PATH, JSON.stringify(lockfile, null, 2) + "\n") +} + +/** + * Normalizes a source value to a URL string. + * Source can be a plain string (e.g. "github:owner/repo") or an object + * with { name?, repo, subdir? } for installing from a subdirectory of a repo. + */ +export function getSourceUrl(source) { + if (typeof source === "string") return source + if (typeof source === "object" && source !== null && typeof source.repo === "string") { + return source.repo + } + throw new Error(`Invalid plugin source: ${JSON.stringify(source)}`) +} + +/** + * Returns the subdir from an object source, or undefined for string sources. + */ +function getSourceSubdir(source) { + if (typeof source === "object" && source !== null && typeof source.subdir === "string") { + return source.subdir + } + return undefined +} + +/** + * Returns a display-friendly string for a source value. + */ +export function formatSource(source) { + if (typeof source === "string") return source + if (typeof source === "object" && source !== null) { + const parts = [source.repo] + if (source.subdir) parts.push(`(subdir: ${source.subdir})`) + return parts.join(" ") + } + return String(source) +} + +export function isLocalSource(source) { + const url = getSourceUrl(source) + if (url.startsWith("./") || url.startsWith("../") || url.startsWith("/")) { + return true + } + // Windows absolute paths (e.g. C:\ or D:/) + if (/^[A-Za-z]:[\\/]/.test(url)) { + return true + } + return false +} +export function extractPluginName(source) { + if (typeof source === "object" && source !== null && typeof source.name === "string") { + return source.name + } + const url = getSourceUrl(source) + if (isLocalSource(url)) { + return path.basename(url.replace(/[\/]+$/, "")) + } + if (url.startsWith("github:")) { + const withoutPrefix = url.replace("github:", "") + const [repoPath] = withoutPrefix.split("#") + const parts = repoPath.split("/") + return parts[parts.length - 1] + } + if (url.startsWith("git+") || url.startsWith("https://")) { + const cleaned = url.replace("git+", "") + const match = cleaned.match(/\/([^/]+?)(?:\.git)?(?:#|$)/) + return match?.[1] ?? url + } + return url +} + +export function readManifestFromPackageJson(pluginDir) { + const pkgPath = path.join(pluginDir, "package.json") + if (!fs.existsSync(pkgPath)) return null + try { + const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf-8")) + return pkg.quartz ?? null + } catch { + return null + } +} + +export function parseGitSource(source) { + const url = getSourceUrl(source) + const subdir = getSourceSubdir(source) + if (isLocalSource(url)) { + const resolved = path.resolve(url) + const name = typeof source === "object" && source.name ? source.name : path.basename(resolved) + return { name, url: resolved, ref: undefined, local: true, subdir } + } + if (url.startsWith("github:")) { + const [repoPath, ref] = url.replace("github:", "").split("#") + const [owner, repo] = repoPath.split("/") + const name = typeof source === "object" && source.name ? source.name : repo + return { name, url: `https://github.com/${owner}/${repo}.git`, ref, subdir } + } + if (url.startsWith("git+")) { + const raw = url.replace("git+", "") + const [parsed, ref] = raw.split("#") + const name = + typeof source === "object" && source.name ? source.name : path.basename(parsed, ".git") + return { name, url: parsed, ref, subdir } + } + if (url.startsWith("https://")) { + const [parsed, ref] = url.split("#") + const name = + typeof source === "object" && source.name ? source.name : path.basename(parsed, ".git") + return { name, url: parsed, ref, subdir } + } + throw new Error(`Cannot parse plugin source: ${formatSource(source)}`) +} + +export function getGitCommit(pluginDir) { + try { + return execSync("git rev-parse HEAD", { cwd: pluginDir, encoding: "utf-8" }).trim() + } catch { + return "unknown" + } +} + +export function updateGlobalConfig(updates) { + const json = readPluginsJson() + if (!json) return false + json.configuration = { ...json.configuration, ...updates } + writePluginsJson(json) + return true +} + +export function configExists() { + return fs.existsSync(CONFIG_YAML_PATH) || fs.existsSync(LEGACY_PLUGINS_JSON_PATH) +} + +export function createConfigFromDefault() { + const defaultData = readDefaultPluginsJson() + if (!defaultData) { + // No default available — create minimal config + const minimal = { + configuration: { + pageTitle: "Quartz", + enableSPA: true, + enablePopovers: true, + analytics: { provider: "plausible" }, + locale: "en-US", + baseUrl: "quartz.jzhao.xyz", + ignorePatterns: ["private", "templates", ".obsidian"], + theme: { + cdnCaching: true, + typography: { + header: "Schibsted Grotesk", + body: "Source Sans Pro", + code: "IBM Plex Mono", + }, + colors: { + lightMode: { + light: "#faf8f8", + lightgray: "#e5e5e5", + gray: "#b8b8b8", + darkgray: "#4e4e4e", + dark: "#2b2b2b", + secondary: "#284b63", + tertiary: "#84a59d", + highlight: "rgba(143, 159, 169, 0.15)", + textHighlight: "#fff23688", + }, + darkMode: { + light: "#161618", + lightgray: "#393639", + gray: "#646464", + darkgray: "#d4d4d4", + dark: "#ebebec", + secondary: "#7b97aa", + tertiary: "#84a59d", + highlight: "rgba(143, 159, 169, 0.15)", + textHighlight: "#fff23688", + }, + }, + }, + }, + plugins: [], + layout: { groups: {}, byPageType: {} }, + } + writePluginsJson(minimal) + return minimal + } + + const { $schema, ...rest } = defaultData + writePluginsJson(rest) + return rest +} + +const VALID_TEMPLATES = ["default", "obsidian", "ttrpg", "blog"] + +export function createConfigFromTemplate(templateName) { + if (!VALID_TEMPLATES.includes(templateName)) { + throw new Error( + `Unknown template: ${templateName}. Valid templates: ${VALID_TEMPLATES.join(", ")}`, + ) + } + + const templatePath = path.join(TEMPLATES_DIR, `${templateName}.yaml`) + const templateData = readFileAsData(templatePath) + if (!templateData) { + // Template file missing — fall back to default config creation + return createConfigFromDefault() + } + + const { $schema, ...rest } = templateData + writePluginsJson(rest) + return rest +} + +/** + * Resolves a user-facing plugin name (which may be an overridden name from config) + * to the corresponding lockfile key (the original name at install time). + * + * This bridges the naming identity split between config YAML (which supports + * source.name overrides) and the lockfile/disk (which are keyed by the original name). + * + * @param {string} name - The name the user provided (may be overridden or original) + * @param {object|null} lockfile - The parsed lockfile + * @param {object|null} pluginsJson - The parsed config YAML + * @returns {string} The lockfile key that corresponds to this plugin + */ +export function resolveLockfileName(name, lockfile, pluginsJson) { + // Direct match — no resolution needed + if (lockfile?.plugins?.[name]) return name + + // Check if any config entry with this overridden name maps to a different lockfile key + if (pluginsJson?.plugins) { + const configEntry = pluginsJson.plugins.find( + (e) => extractPluginName(e.source) === name || formatSource(e.source) === name, + ) + if (configEntry) { + const url = getSourceUrl(configEntry.source) + for (const [key, lock] of Object.entries(lockfile?.plugins ?? {})) { + if ( + lock.source === url || + lock.source === formatSource(configEntry.source) || + lock.resolved === url + ) { + return key + } + } + } + } + + return name +} + +/** + * Builds a map from lockfile keys to their overridden display names from config. + * Returns entries only where the overridden name differs from the lockfile key. + * + * @param {object|null} lockfile - The parsed lockfile + * @param {object|null} pluginsJson - The parsed config YAML + * @returns {Map} Map of lockfileKey → overriddenName + */ +export function getNameOverrides(lockfile, pluginsJson) { + const overrides = new Map() + if (!lockfile?.plugins || !pluginsJson?.plugins) return overrides + + for (const entry of pluginsJson.plugins) { + const configName = extractPluginName(entry.source) + const url = getSourceUrl(entry.source) + + for (const [lockKey, lock] of Object.entries(lockfile.plugins)) { + if (lockKey === configName) break // no override, names match + if ( + lock.source === url || + lock.source === formatSource(entry.source) || + lock.resolved === url + ) { + overrides.set(lockKey, configName) + break + } + } + } + + return overrides +} + +export const PLUGINS_JSON_PATH = CONFIG_YAML_PATH +export const DEFAULT_PLUGINS_JSON_PATH = DEFAULT_CONFIG_YAML_PATH +export { LOCKFILE_PATH, PLUGINS_DIR } diff --git a/Local/storage/thlab-notes/worker/quartz/cli/plugin-git-handlers.js b/Local/storage/thlab-notes/worker/quartz/cli/plugin-git-handlers.js new file mode 100644 index 0000000..fb475cd --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz/cli/plugin-git-handlers.js @@ -0,0 +1,1759 @@ +import fs from "fs" +import path from "path" +import os from "os" +import { exec as execCb } from "child_process" +import { styleText, promisify } from "util" +import { + readPluginsJson, + writePluginsJson, + readLockfile, + writeLockfile, + extractPluginName, + readManifestFromPackageJson, + parseGitSource, + getGitCommit, + PLUGINS_DIR, + LOCKFILE_PATH, + isLocalSource, + getSourceUrl, + formatSource, + resolveLockfileName, + getNameOverrides, +} from "./plugin-data.js" +import { symlinkOrCopySync } from "./helpers.js" + +const INTERNAL_EXPORTS = new Set(["manifest", "default"]) + +const execAsync = promisify(execCb) + +async function cloneWithSubdirAsync({ url, ref, subdir, pluginDir }) { + const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), "quartz-plugin-")) + try { + if (ref) { + await execAsync(`git clone --depth 1 --branch ${ref} "${url}" "${tmpDir}"`) + } else { + await execAsync(`git clone --depth 1 "${url}" "${tmpDir}"`) + } + const subdirPath = path.join(tmpDir, subdir) + if (!fs.existsSync(subdirPath)) { + throw new Error(`Subdirectory "${subdir}" not found in cloned repository`) + } + fs.cpSync(subdirPath, pluginDir, { recursive: true }) + const { stdout } = await execAsync("git rev-parse HEAD", { cwd: tmpDir }) + return stdout.trim() + } finally { + fs.rmSync(tmpDir, { recursive: true, force: true }) + } +} + +async function buildPluginAsync(pluginDir, name) { + if (hasPrebuiltDist(pluginDir)) { + console.log(styleText("green", ` ✓ ${name}: using pre-built dist/`)) + linkPeerPlugins(pluginDir) + return true + } + + try { + const skipBuild = !needsBuild(pluginDir) + console.log(styleText("cyan", ` → ${name}: installing dependencies...`)) + await execAsync("npm install --ignore-scripts", { cwd: pluginDir }) + if (!skipBuild) { + console.log(styleText("cyan", ` → ${name}: building...`)) + await execAsync("npm run build", { cwd: pluginDir }) + } + await execAsync("npm prune --omit=dev", { cwd: pluginDir }) + linkPeerPlugins(pluginDir) + return true + } catch (error) { + console.log(styleText("red", ` ✗ ${name}: build failed`)) + return false + } +} + +/** + * Run async tasks with bounded concurrency. + * @param {Array} items - Items to process + * @param {number} concurrency - Max parallel tasks + * @param {Function} fn - Async function to run per item + * @returns {Promise} Results in order + */ +async function runParallel(items, concurrency, fn) { + const results = new Array(items.length) + let nextIndex = 0 + + async function worker() { + while (nextIndex < items.length) { + const i = nextIndex++ + results[i] = await fn(items[i], i) + } + } + + const workers = Array.from({ length: Math.min(concurrency, items.length) }, () => worker()) + await Promise.all(workers) + return results +} + +/** + * Check whether a plugin's .gitignore excludes dist/. + * When dist/ is gitignored, the plugin cannot ship pre-built output in version + * control (e.g. because it uses tree-shaking) and must always be built locally. + */ +function isDistGitignored(pluginDir) { + const gitignorePath = path.join(pluginDir, ".gitignore") + if (!fs.existsSync(gitignorePath)) return false + + const lines = fs.readFileSync(gitignorePath, "utf-8").split("\n") + return lines.some((line) => { + const trimmed = line.trim() + return trimmed === "dist" || trimmed === "dist/" || trimmed === "/dist" || trimmed === "/dist/" + }) +} + +function hasPrebuiltDist(pluginDir) { + const distDir = path.join(pluginDir, "dist") + return fs.existsSync(distDir) && !isDistGitignored(pluginDir) +} + +function needsBuild(pluginDir) { + if (isDistGitignored(pluginDir)) return true + const distDir = path.join(pluginDir, "dist") + return !fs.existsSync(distDir) +} + +/** + * After pruning devDependencies, peerDependencies may no longer be installed + * in the plugin's own node_modules. This function resolves them: + * + * 1. @quartz-community/* peers → symlink to the co-installed sibling plugin + * 2. All other peers → symlink to the host Quartz node_modules so plugins + * share a single copy of packages like unified, vfile, rehype-raw, etc. + */ +function trySymlink(target, linkPath) { + symlinkOrCopySync(target, linkPath) +} + +function linkPeerPlugins(pluginDir) { + const pkgPath = path.join(pluginDir, "package.json") + if (!fs.existsSync(pkgPath)) return + + const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf-8")) + const peers = pkg.peerDependencies ?? {} + + const quartzRoot = path.resolve(pluginDir, "..", "..", "..") + const hostNodeModules = path.join(quartzRoot, "node_modules") + + for (const peerName of Object.keys(peers)) { + const peerNodeModulesPath = path.join(pluginDir, "node_modules", ...peerName.split("/")) + if (fs.existsSync(peerNodeModulesPath)) continue + + if (peerName.startsWith("@quartz-community/")) { + const siblingPlugin = findPluginByPackageName(peerName) + if (!siblingPlugin) continue + + const scopeDir = path.join(pluginDir, "node_modules", peerName.split("/")[0]) + fs.mkdirSync(scopeDir, { recursive: true }) + + const target = path.relative(scopeDir, siblingPlugin) + trySymlink(target, peerNodeModulesPath) + continue + } + + const hostPeerPath = path.join(hostNodeModules, ...peerName.split("/")) + if (!fs.existsSync(hostPeerPath)) continue + + const parts = peerName.split("/") + if (parts.length > 1) { + const scopeDir = path.join(pluginDir, "node_modules", parts[0]) + fs.mkdirSync(scopeDir, { recursive: true }) + } else { + fs.mkdirSync(path.join(pluginDir, "node_modules"), { recursive: true }) + } + + const target = path.relative(path.dirname(peerNodeModulesPath), hostPeerPath) + trySymlink(target, peerNodeModulesPath) + } +} + +/** + * Search installed plugins for one whose package.json "name" matches the given + * npm package name (e.g. "@quartz-community/bases-page"). + */ +function findPluginByPackageName(packageName) { + if (!fs.existsSync(PLUGINS_DIR)) return null + + const plugins = fs.readdirSync(PLUGINS_DIR).filter((entry) => { + const entryPath = path.join(PLUGINS_DIR, entry) + return fs.statSync(entryPath).isDirectory() + }) + + for (const pluginDirName of plugins) { + const pkgPath = path.join(PLUGINS_DIR, pluginDirName, "package.json") + if (!fs.existsSync(pkgPath)) continue + try { + const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf-8")) + if (pkg.name === packageName) { + return path.join(PLUGINS_DIR, pluginDirName) + } + } catch {} + } + return null +} + +const PLUGIN_TYPE_PATTERN = + /Quartz(?:Emitter|Transformer|Filter|PageType)Plugin|QuartzComponentConstructor|\(.*\)\s*=>\s*QuartzComponent\b/ + +function resolveOriginalName(exportName, dtsContent) { + const aliasPattern = new RegExp(`(\\w+)\\s+as\\s+${exportName}\\b`) + const match = dtsContent.match(aliasPattern) + return match ? match[1] : exportName +} + +function isOverridableExport(name, dtsContent) { + const declName = resolveOriginalName(name, dtsContent) + const declPattern = new RegExp(`declare\\s+const\\s+${declName}\\s*:\\s*(.+?)(?:;|$)`, "m") + const match = dtsContent.match(declPattern) + if (!match) return false + return PLUGIN_TYPE_PATTERN.test(match[1]) +} + +function parseExportsFromDts(content) { + const exports = [] + const exportMatches = content.matchAll(/export\s*{\s*([^}]+)\s*}(?:\s*from\s*['"]([^'"]+)['"])?/g) + for (const match of exportMatches) { + const fromModule = match[2] + if (fromModule?.startsWith("@")) continue + + const names = match[1] + .split(",") + .map((n) => n.trim()) + .filter(Boolean) + for (const name of names) { + const cleanName = name.split(" as ").pop()?.trim() || name.trim() + if (cleanName && !cleanName.startsWith("_") && !INTERNAL_EXPORTS.has(cleanName)) { + const finalName = cleanName.replace(/^type\s+/, "") + if (name.includes("type ")) { + exports.push(`type ${finalName}`) + } else { + exports.push(finalName) + } + } + } + } + return exports +} + +async function regeneratePluginIndex() { + if (!fs.existsSync(PLUGINS_DIR)) return + + const pluginDirs = fs.readdirSync(PLUGINS_DIR).filter((name) => { + const pluginPath = path.join(PLUGINS_DIR, name) + return fs.statSync(pluginPath).isDirectory() + }) + + // Phase 1: Collect all exports per plugin, detect conflicts + const pluginExports = new Map() + const nameCount = new Map() + + for (const pluginName of pluginDirs) { + const pluginDir = path.join(PLUGINS_DIR, pluginName) + const distIndex = path.join(pluginDir, "dist", "index.d.ts") + + if (!fs.existsSync(distIndex)) continue + + const dtsContent = fs.readFileSync(distIndex, "utf-8") + const exportedNames = parseExportsFromDts(dtsContent) + const named = exportedNames.filter((e) => !e.startsWith("type ")) + const types = exportedNames.filter((e) => e.startsWith("type ")).map((e) => e.slice(5)) + + const overridable = named.filter((n) => isOverridableExport(n, dtsContent)) + const passthrough = named.filter((n) => !isOverridableExport(n, dtsContent)) + + if (overridable.length > 0 || passthrough.length > 0 || types.length > 0) { + pluginExports.set(pluginName, { overridable, passthrough, types }) + for (const n of [...overridable, ...passthrough]) { + nameCount.set(n, (nameCount.get(n) ?? 0) + 1) + } + } + } + + // Phase 2: Generate index with registry import, plugin map, and conditional top-level exports + const lines = [] + + lines.push(`import { componentRegistry } from "../../quartz/components/registry"`) + lines.push("") + + // Type re-exports + for (const [pluginName, { types }] of pluginExports) { + if (types.length > 0) { + lines.push(`export type { ${types.join(", ")} } from "./${pluginName}"`) + } + } + + // Direct re-exports for non-overridable values (constants, utility functions, etc.) + for (const [pluginName, { passthrough }] of pluginExports) { + if (passthrough.length === 0) continue + const unique = passthrough.filter((n) => (nameCount.get(n) ?? 0) === 1) + if (unique.length > 0) { + lines.push(`export { ${unique.join(", ")} } from "./${pluginName}"`) + } + } + lines.push("") + + // Generate the plugins map with override wrappers (overridable exports only) + lines.push( + `export const plugins: Record void>> = {`, + ) + for (const [pluginName, { overridable }] of pluginExports) { + if (overridable.length === 0) continue + const escapedName = pluginName.replace(/"/g, '\\"') + lines.push(` "${escapedName}": {`) + for (const n of overridable) { + lines.push( + ` ${n}: (...args: unknown[]) => { componentRegistry.setOptionOverrides("${escapedName}", args[0] as Record); },`, + ) + } + lines.push(` },`) + } + lines.push(`}`) + lines.push("") + + // Top-level exports for overridable names: alias to the plugins map wrapper + for (const [pluginName, { overridable }] of pluginExports) { + if (overridable.length === 0) continue + + const unique = overridable.filter((n) => (nameCount.get(n) ?? 0) === 1) + const conflicting = overridable.filter((n) => (nameCount.get(n) ?? 0) > 1) + + if (unique.length > 0) { + const escapedName = pluginName.replace(/"/g, '\\"') + for (const n of unique) { + lines.push(`export const ${n} = plugins["${escapedName}"].${n}`) + } + } + + if (conflicting.length > 0) { + for (const n of conflicting) { + console.warn( + styleText("yellow", `⚠`), + `Export "${n}" conflicts across plugins — use plugins["${pluginName}"].${n} in quartz.ts`, + ) + } + } + } + + lines.push("") + + const indexContent = lines.join("\n") + const indexPath = path.join(PLUGINS_DIR, "index.ts") + fs.writeFileSync(indexPath, indexContent) +} + +export async function handlePluginInstallUnified({ + names, + fromConfig = false, + latest = false, + clean = false, + dryRun = false, + concurrency: concurrencyOption, +} = {}) { + if (clean && latest) { + console.log(styleText("red", "✗ --clean and --latest cannot be used together")) + return + } + + const resolvedConcurrency = Math.max(1, concurrencyOption ?? os.cpus().length) + + const pluginsJson = readPluginsJson() + let lockfile = readLockfile() + + if (!fromConfig && !lockfile) { + console.log( + styleText("yellow", "⚠ No quartz.lock.json found. Run 'npx quartz plugin add ' first."), + ) + return + } + + const resolvedNames = names + ? names.map((name) => + resolveLockfileName(name, lockfile ?? { version: "1.0.0", plugins: {} }, pluginsJson), + ) + : null + const nameFilter = resolvedNames ? new Set(resolvedNames) : null + + if (dryRun && latest) { + if (!lockfile || Object.keys(lockfile.plugins).length === 0) { + console.log(styleText("gray", "No plugins installed")) + return + } + + const nameOverrides = getNameOverrides(lockfile, pluginsJson) + + const rows = Object.entries(lockfile.plugins) + .filter(([name]) => !nameFilter || nameFilter.has(name)) + .map(([name, entry]) => ({ + name, + entry, + displayName: nameOverrides.get(name) ?? name, + })) + + const isTTY = process.stdout.isTTY + const nameWidth = Math.max(6, ...rows.map((row) => row.displayName.length)) + 2 + const header = `${"Plugin".padEnd(nameWidth)}${"Installed".padEnd(12)}${"Latest".padEnd(12)}Status` + + const renderRow = ({ displayName }, installed, latest, statusLabel) => + `${displayName.padEnd(nameWidth)}${installed.padEnd(12)}${latest.padEnd(12)}${statusLabel}` + + const updateRow = (index, installed, latest, statusLabel) => { + if (!isTTY) return + const offset = rows.length - index + process.stdout.write( + `\x1b[${offset}A\x1b[2K\r${renderRow(rows[index], installed, latest, statusLabel)}\x1b[${offset}B`, + ) + } + + if (isTTY) { + console.log(styleText("bold", "Checking for plugin updates...\n")) + console.log(styleText("bold", header)) + console.log("─".repeat(header.length)) + for (const row of rows) { + if (row.entry.commit === "local") { + console.log(renderRow(row, "local", "—", styleText("green", "local"))) + continue + } + console.log(renderRow(row, row.entry.commit.slice(0, 7), "—", styleText("cyan", "⋯"))) + } + } + + const promises = rows.map((row, index) => { + if (row.entry.commit === "local") { + return Promise.resolve({ + index, + installed: "local", + latest: "—", + status: "local", + }) + } + + const lsRemoteRef = row.entry.ref ? `refs/heads/${row.entry.ref}` : "HEAD" + return execAsync(`git ls-remote "${row.entry.resolved}" ${lsRemoteRef}`) + .then(({ stdout }) => { + const latestCommit = stdout.split("\t")[0].trim() + const isCurrent = latestCommit === row.entry.commit + const installed = row.entry.commit.slice(0, 7) + const latest = latestCommit.slice(0, 7) + const statusLabel = isCurrent + ? styleText("green", "up to date") + : styleText("yellow", "update available") + updateRow(index, installed, latest, statusLabel) + return { + index, + installed, + latest, + status: isCurrent ? "up to date" : "update available", + } + }) + .catch(() => { + const installed = row.entry.commit.slice(0, 7) + const latest = "?" + const statusLabel = styleText("red", "check failed") + updateRow(index, installed, latest, statusLabel) + return { + index, + installed, + latest, + status: "check failed", + } + }) + }) + + const results = await Promise.all(promises) + + if (!isTTY) { + console.log(styleText("bold", "Checking for plugin updates...\n")) + console.log(styleText("bold", header)) + console.log("─".repeat(header.length)) + for (const { index, installed, latest, status } of results) { + const color = + status === "up to date" || status === "local" + ? "green" + : status === "check failed" + ? "red" + : "yellow" + console.log(renderRow(rows[index], installed, latest, styleText(color, status))) + } + } + return + } + + if (fromConfig) { + if (!pluginsJson?.plugins || pluginsJson.plugins.length === 0) { + console.log(styleText("gray", "No plugins configured")) + return + } + + if (!lockfile) { + lockfile = { version: "1.0.0", plugins: {} } + } + + if (!fs.existsSync(PLUGINS_DIR)) { + fs.mkdirSync(PLUGINS_DIR, { recursive: true }) + } + + const configNames = new Set(pluginsJson.plugins.map((entry) => extractPluginName(entry.source))) + const orphans = Object.keys(lockfile.plugins).filter((name) => !configNames.has(name)) + + const missing = pluginsJson.plugins + .filter((entry) => { + const name = extractPluginName(entry.source) + const pluginDir = path.join(PLUGINS_DIR, name) + if (lockfile.plugins[name] && fs.existsSync(pluginDir)) return false + const src = getSourceUrl(entry.source) + return ( + src.startsWith("github:") || + src.startsWith("git+") || + src.startsWith("https://") || + isLocalSource(src) + ) + }) + .filter((entry) => { + if (!nameFilter) return true + const name = extractPluginName(entry.source) + return nameFilter.has(name) + }) + + if (missing.length === 0) { + console.log(styleText("green", "✓ All configured plugins are already installed")) + if (dryRun) { + if (orphans.length > 0) { + console.log() + console.log(`Found ${orphans.length} orphaned plugin(s) in lockfile:\n`) + for (const name of orphans) { + console.log(` ${styleText("yellow", name)} — in lockfile but not in config`) + } + console.log() + console.log( + styleText("cyan", "Dry run — no changes made. Re-run without --dry-run to resolve."), + ) + } + return + } + if (orphans.length === 0) { + return + } + } + + if (missing.length > 0) { + console.log(`Found ${missing.length} uninstalled plugin(s) in config:\n`) + for (const entry of missing) { + const name = extractPluginName(entry.source) + console.log(` ${styleText("yellow", name)} — ${formatSource(entry.source)}`) + } + console.log() + + if (dryRun) { + if (orphans.length > 0) { + console.log(`Found ${orphans.length} orphaned plugin(s) in lockfile:\n`) + for (const name of orphans) { + console.log(` ${styleText("yellow", name)} — in lockfile but not in config`) + } + console.log() + } + console.log( + styleText("cyan", "Dry run — no changes made. Re-run without --dry-run to resolve."), + ) + return + } + } + + const installed = [] + let failed = 0 + let lockfileChanged = false + + // Handle existing dirs and local symlinks (fast), collect remote clones + const remoteEntries = [] + for (const entry of missing) { + try { + const { name, url, ref, local, subdir } = parseGitSource(entry.source) + const pluginDir = path.join(PLUGINS_DIR, name) + + if (fs.existsSync(pluginDir)) { + if (local) { + console.log( + styleText("yellow", `⚠ ${name} directory already exists, updating lockfile`), + ) + lockfile.plugins[name] = { + source: entry.source, + resolved: url, + commit: "local", + ...(subdir && { subdir }), + installedAt: new Date().toISOString(), + } + installed.push({ name, pluginDir }) + lockfileChanged = true + continue + } + console.log(styleText("yellow", `⚠ ${name} directory already exists, updating lockfile`)) + const commit = getGitCommit(pluginDir) + lockfile.plugins[name] = { + source: entry.source, + resolved: url, + commit, + ...(ref && { ref }), + ...(subdir && { subdir }), + installedAt: new Date().toISOString(), + } + installed.push({ name, pluginDir }) + lockfileChanged = true + continue + } + + if (local) { + let resolvedPath = path.resolve(url) + if (subdir) resolvedPath = path.join(resolvedPath, subdir) + if (!fs.existsSync(resolvedPath)) { + console.log(styleText("red", `✗ Local path does not exist: ${resolvedPath}`)) + failed++ + continue + } + console.log(styleText("cyan", `→ Linking ${name} from ${resolvedPath}...`)) + fs.mkdirSync(path.dirname(pluginDir), { recursive: true }) + symlinkOrCopySync(resolvedPath, pluginDir) + lockfile.plugins[name] = { + source: entry.source, + resolved: resolvedPath, + commit: "local", + ...(subdir && { subdir }), + installedAt: new Date().toISOString(), + } + installed.push({ name, pluginDir }) + lockfileChanged = true + console.log(styleText("green", `✓ Linked ${name} (local)`)) + } else { + remoteEntries.push({ entry, name, url, ref, subdir, pluginDir }) + } + } catch (error) { + console.log(styleText("red", `✗ Failed to resolve ${formatSource(entry.source)}: ${error}`)) + failed++ + } + } + + // Clone remote plugins in parallel + if (remoteEntries.length > 0) { + const concurrency = resolvedConcurrency + await runParallel( + remoteEntries, + concurrency, + async ({ entry, name, url, ref, subdir, pluginDir }) => { + try { + if (subdir) { + console.log(styleText("cyan", `→ Cloning ${name} from ${url} (subdir: ${subdir})...`)) + fs.mkdirSync(path.dirname(pluginDir), { recursive: true }) + const commit = await cloneWithSubdirAsync({ url, ref, subdir, pluginDir }) + lockfile.plugins[name] = { + source: entry.source, + resolved: url, + commit, + ...(ref && { ref }), + subdir, + installedAt: new Date().toISOString(), + } + installed.push({ name, pluginDir }) + lockfileChanged = true + console.log( + styleText("green", `✓ Cloned ${name}@${commit.slice(0, 7)} (subdir: ${subdir})`), + ) + } else { + console.log(styleText("cyan", `→ Cloning ${name} from ${url}...`)) + + const branchArg = ref ? ` --branch ${ref}` : "" + await execAsync(`git clone --depth 1${branchArg} "${url}" "${pluginDir}"`) + + const { stdout } = await execAsync("git rev-parse HEAD", { cwd: pluginDir }) + const commit = stdout.trim() + lockfile.plugins[name] = { + source: entry.source, + resolved: url, + commit, + ...(ref && { ref }), + installedAt: new Date().toISOString(), + } + + installed.push({ name, pluginDir }) + lockfileChanged = true + console.log(styleText("green", `✓ Cloned ${name}@${commit.slice(0, 7)}`)) + } + } catch (error) { + console.log( + styleText("red", `✗ Failed to resolve ${formatSource(entry.source)}: ${error}`), + ) + failed++ + } + }, + ) + } + + if (installed.length > 0) { + console.log() + console.log(styleText("cyan", "→ Building plugins...")) + const concurrency = resolvedConcurrency + const results = await runParallel(installed, concurrency, async ({ name, pluginDir }) => { + const ok = await buildPluginAsync(pluginDir, name) + if (ok) console.log(styleText("green", ` ✓ ${name} built`)) + return ok + }) + for (const ok of results) { + if (!ok) failed++ + } + await regeneratePluginIndex() + } + + if (orphans.length > 0) { + console.log() + let removedOrphans = false + for (const name of orphans) { + const entry = lockfile.plugins[name] + if (entry?.commit === "local") { + console.log( + styleText( + "yellow", + `⚠ ${name} is a local plugin not in config — skipping (remove manually with 'plugin remove')`, + ), + ) + continue + } + const pluginDir = path.join(PLUGINS_DIR, name) + if (fs.existsSync(pluginDir)) { + fs.rmSync(pluginDir, { recursive: true }) + } + delete lockfile.plugins[name] + lockfileChanged = true + removedOrphans = true + console.log(styleText("yellow", `✗ Removed ${name} (not in config)`)) + } + if (removedOrphans) { + await regeneratePluginIndex() + } + } + + if (lockfileChanged) { + writeLockfile(lockfile) + console.log() + if (failed === 0) { + console.log(styleText("green", `✓ Resolved ${installed.length} plugin(s)`)) + } else { + console.log( + styleText("yellow", `⚠ Resolved ${installed.length} plugin(s), ${failed} failed`), + ) + } + console.log(styleText("gray", "Updated quartz.lock.json")) + } else if (failed > 0) { + console.log() + console.log(styleText("yellow", `⚠ Resolved ${installed.length} plugin(s), ${failed} failed`)) + } + + return + } + + if (dryRun) { + const entries = Object.entries(lockfile.plugins).filter(([name]) => + nameFilter ? nameFilter.has(name) : true, + ) + if (entries.length === 0) { + console.log(styleText("gray", "No plugins installed")) + return + } + + console.log(styleText("cyan", "→ Dry run: plugins to install from lockfile...")) + for (const [name, entry] of entries) { + const sourceLabel = entry.source ? formatSource(entry.source) : entry.resolved + const commitLabel = entry.commit === "local" ? "local" : entry.commit.slice(0, 7) + console.log(` ${styleText("yellow", name)} — ${sourceLabel} (${commitLabel})`) + } + return + } + + if (clean) { + console.log(styleText("cyan", "→ Restoring plugins from lockfile...")) + console.log() + + if (!fs.existsSync(PLUGINS_DIR)) { + fs.mkdirSync(PLUGINS_DIR, { recursive: true }) + } + + let installed = 0 + let failed = 0 + const restoredPlugins = [] + + const entries = Object.entries(lockfile.plugins).filter(([name]) => + nameFilter ? nameFilter.has(name) : true, + ) + + // Handle local symlinks and collect remote plugins to clone + const remotePlugins = [] + for (const [name, entry] of entries) { + const pluginDir = path.join(PLUGINS_DIR, name) + + if (fs.existsSync(pluginDir)) { + console.log(styleText("yellow", `⚠ ${name}: directory exists, skipping`)) + continue + } + + if (entry.commit === "local") { + try { + if (!fs.existsSync(entry.resolved)) { + console.log(styleText("red", ` ✗ ${name}: local path missing: ${entry.resolved}`)) + failed++ + continue + } + fs.mkdirSync(path.dirname(pluginDir), { recursive: true }) + symlinkOrCopySync(entry.resolved, pluginDir) + console.log(styleText("green", `✓ ${name} restored (local symlink)`)) + restoredPlugins.push({ name, pluginDir }) + installed++ + } catch { + console.log(styleText("red", `✗ ${name}: failed to restore local symlink`)) + failed++ + } + continue + } + + remotePlugins.push({ name, entry, pluginDir }) + } + + // Clone remote plugins in parallel + if (remotePlugins.length > 0) { + const concurrency = resolvedConcurrency + await runParallel(remotePlugins, concurrency, async ({ name, entry, pluginDir }) => { + try { + if (entry.subdir) { + console.log( + styleText( + "cyan", + `→ ${name}: cloning ${entry.resolved}@${entry.commit.slice(0, 7)} (subdir: ${entry.subdir})...`, + ), + ) + fs.mkdirSync(path.dirname(pluginDir), { recursive: true }) + await cloneWithSubdirAsync({ + url: entry.resolved, + ref: entry.ref, + subdir: entry.subdir, + pluginDir, + }) + } else { + console.log( + styleText( + "cyan", + `→ ${name}: cloning ${entry.resolved}@${entry.commit.slice(0, 7)}...`, + ), + ) + const branchArg = entry.ref ? ` --branch ${entry.ref}` : "" + await execAsync(`git clone --depth 1${branchArg} "${entry.resolved}" "${pluginDir}"`) + await execAsync(`git checkout ${entry.commit}`, { cwd: pluginDir }) + } + console.log(styleText("green", `✓ ${name} restored`)) + restoredPlugins.push({ name, pluginDir }) + installed++ + } catch { + console.log(styleText("red", `✗ ${name}: failed to restore`)) + failed++ + } + }) + } + + if (restoredPlugins.length > 0) { + console.log() + console.log(styleText("cyan", "→ Building restored plugins...")) + const concurrency = resolvedConcurrency + const results = await runParallel( + restoredPlugins, + concurrency, + async ({ name, pluginDir }) => { + const ok = await buildPluginAsync(pluginDir, name) + if (ok) console.log(styleText("green", ` ✓ ${name} built`)) + return ok + }, + ) + for (const ok of results) { + if (!ok) { + failed++ + installed-- + } + } + await regeneratePluginIndex() + } + + console.log() + if (failed === 0) { + console.log(styleText("green", `✓ Restored ${installed} plugin(s)`)) + } else { + console.log(styleText("yellow", `⚠ Restored ${installed} plugin(s), ${failed} failed`)) + } + return + } + + if (latest) { + const pluginsToUpdate = nameFilter ? Array.from(nameFilter) : Object.keys(lockfile.plugins) + const updatedPlugins = [] + let lockfileChanged = false + + // Phase 1: Validate and categorize plugins (fast, sequential) + const validPlugins = [] + for (const name of pluginsToUpdate) { + const entry = lockfile.plugins[name] + if (!entry) { + console.log(styleText("yellow", `⚠ ${name} is not installed`)) + continue + } + + const pluginDir = path.join(PLUGINS_DIR, name) + if (!fs.existsSync(pluginDir)) { + console.log( + styleText("yellow", `⚠ ${name} directory missing. Run 'npx quartz plugin install'.`), + ) + continue + } + + if (entry.commit === "local") { + console.log(styleText("cyan", `→ Rebuilding local plugin ${name}...`)) + updatedPlugins.push({ name, pluginDir }) + continue + } + + validPlugins.push({ name, pluginDir, entry }) + } + + // Phase 2: Fetch/update plugins in parallel + if (validPlugins.length > 0) { + const concurrency = resolvedConcurrency + await runParallel(validPlugins, concurrency, async ({ name, pluginDir, entry }) => { + try { + console.log(styleText("cyan", `→ Updating ${name}...`)) + + if (entry.subdir) { + fs.rmSync(pluginDir, { recursive: true }) + fs.mkdirSync(path.dirname(pluginDir), { recursive: true }) + const newCommit = await cloneWithSubdirAsync({ + url: entry.resolved, + ref: entry.ref, + subdir: entry.subdir, + pluginDir, + }) + if (needsBuild(pluginDir)) { + updatedPlugins.push({ name, pluginDir }) + } + if (newCommit !== entry.commit) { + entry.commit = newCommit + entry.installedAt = new Date().toISOString() + lockfileChanged = true + console.log( + styleText( + "green", + `✓ Updated ${name} to ${newCommit.slice(0, 7)} (subdir: ${entry.subdir})`, + ), + ) + } else { + console.log(styleText("gray", `✓ ${name} rebuilt (subdir: ${entry.subdir})`)) + } + } else { + const fetchRef = entry.ref || "" + const resetTarget = entry.ref ? `origin/${entry.ref}` : "origin/HEAD" + await execAsync(`git fetch --depth 1 origin${fetchRef ? " " + fetchRef : ""}`, { + cwd: pluginDir, + }) + await execAsync(`git reset --hard ${resetTarget}`, { cwd: pluginDir }) + + const { stdout } = await execAsync("git rev-parse HEAD", { cwd: pluginDir }) + const newCommit = stdout.trim() + if (newCommit !== entry.commit) { + entry.commit = newCommit + entry.installedAt = new Date().toISOString() + updatedPlugins.push({ name, pluginDir }) + lockfileChanged = true + console.log(styleText("green", `✓ Updated ${name} to ${newCommit.slice(0, 7)}`)) + } else { + console.log(styleText("gray", `✓ ${name} already up to date`)) + } + } + } catch (error) { + console.log(styleText("red", `✗ Failed to update ${name}: ${error}`)) + } + }) + } + + // Phase 3: Build updated plugins in parallel + if (updatedPlugins.length > 0) { + console.log() + console.log(styleText("cyan", "→ Rebuilding updated plugins...")) + const concurrency = resolvedConcurrency + await runParallel(updatedPlugins, concurrency, async ({ name, pluginDir }) => { + const ok = await buildPluginAsync(pluginDir, name) + if (ok) console.log(styleText("green", ` ✓ ${name} rebuilt`)) + return ok + }) + await regeneratePluginIndex() + } + + if (lockfileChanged) { + writeLockfile(lockfile) + console.log() + console.log(styleText("gray", "Updated quartz.lock.json")) + } + return + } + + if (!fs.existsSync(PLUGINS_DIR)) { + fs.mkdirSync(PLUGINS_DIR, { recursive: true }) + } + + const entries = Object.entries(lockfile.plugins).filter(([name]) => + nameFilter ? nameFilter.has(name) : true, + ) + if (entries.length === 0) { + console.log(styleText("gray", "No plugins installed")) + return + } + + console.log(styleText("cyan", "→ Installing plugins from lockfile...")) + let installed = 0 + let failed = 0 + const pluginsToBuild = [] + + // Handle local plugins and collect entries needing git operations + const gitEntries = [] + for (const [name, entry] of entries) { + const pluginDir = path.join(PLUGINS_DIR, name) + + if (entry.commit === "local") { + try { + if (fs.existsSync(pluginDir)) { + const stat = fs.lstatSync(pluginDir) + if (stat.isSymbolicLink() && fs.readlinkSync(pluginDir) === entry.resolved) { + console.log(styleText("gray", ` ✓ ${name} (local) already linked`)) + installed++ + continue + } + if (stat.isSymbolicLink()) fs.unlinkSync(pluginDir) + else fs.rmSync(pluginDir, { recursive: true }) + } + if (!fs.existsSync(entry.resolved)) { + console.log(styleText("red", ` ✗ ${name}: local path missing: ${entry.resolved}`)) + failed++ + continue + } + fs.mkdirSync(path.dirname(pluginDir), { recursive: true }) + symlinkOrCopySync(entry.resolved, pluginDir) + console.log(styleText("green", ` ✓ ${name} (local) linked`)) + pluginsToBuild.push({ name, pluginDir }) + installed++ + } catch { + console.log(styleText("red", ` ✗ ${name}: failed to link local path`)) + failed++ + } + continue + } + + if (fs.existsSync(pluginDir)) { + if (entry.subdir) { + if (!needsBuild(pluginDir)) { + console.log( + styleText("gray", ` ✓ ${name}@${entry.commit.slice(0, 7)} already installed (subdir)`), + ) + installed++ + continue + } + pluginsToBuild.push({ name, pluginDir }) + installed++ + } else { + const currentCommit = getGitCommit(pluginDir) + if (currentCommit === entry.commit && !needsBuild(pluginDir)) { + console.log( + styleText("gray", ` ✓ ${name}@${entry.commit.slice(0, 7)} already installed`), + ) + installed++ + continue + } + if (currentCommit !== entry.commit) { + gitEntries.push({ name, entry, pluginDir, action: "update" }) + } else { + pluginsToBuild.push({ name, pluginDir }) + installed++ + } + } + } else { + gitEntries.push({ name, entry, pluginDir, action: "clone" }) + } + } + + // Run git fetch/clone operations in parallel + if (gitEntries.length > 0) { + const concurrency = resolvedConcurrency + await runParallel(gitEntries, concurrency, async ({ name, entry, pluginDir, action }) => { + try { + if (action === "update") { + console.log(styleText("cyan", ` → ${name}: updating to ${entry.commit.slice(0, 7)}...`)) + const fetchRef = entry.ref ? ` ${entry.ref}` : "" + await execAsync(`git fetch --depth 1 origin${fetchRef}`, { cwd: pluginDir }) + await execAsync(`git reset --hard ${entry.commit}`, { cwd: pluginDir }) + pluginsToBuild.push({ name, pluginDir }) + installed++ + } else { + if (entry.subdir) { + console.log(styleText("cyan", ` → ${name}: cloning (subdir: ${entry.subdir})...`)) + fs.mkdirSync(path.dirname(pluginDir), { recursive: true }) + await cloneWithSubdirAsync({ + url: entry.resolved, + ref: entry.ref, + subdir: entry.subdir, + pluginDir, + }) + } else { + console.log(styleText("cyan", ` → ${name}: cloning...`)) + const branchArg = entry.ref ? ` --branch ${entry.ref}` : "" + await execAsync(`git clone --depth 1${branchArg} "${entry.resolved}" "${pluginDir}"`) + if (entry.commit !== "unknown") { + await execAsync(`git fetch --depth 1 origin ${entry.commit}`, { cwd: pluginDir }) + await execAsync(`git checkout ${entry.commit}`, { cwd: pluginDir }) + } + } + console.log(styleText("green", ` ✓ ${name}@${entry.commit.slice(0, 7)}`)) + pluginsToBuild.push({ name, pluginDir }) + installed++ + } + } catch { + console.log( + styleText("red", ` ✗ ${name}: failed to ${action === "update" ? "update" : "clone"}`), + ) + failed++ + } + }) + } + + if (pluginsToBuild.length > 0) { + console.log() + console.log(styleText("cyan", "→ Building plugins...")) + const concurrency = resolvedConcurrency + const results = await runParallel(pluginsToBuild, concurrency, async ({ name, pluginDir }) => { + const ok = await buildPluginAsync(pluginDir, name) + if (ok) console.log(styleText("green", ` ✓ ${name} built`)) + return ok + }) + for (const ok of results) { + if (!ok) { + failed++ + installed-- + } + } + } + + await regeneratePluginIndex() + + console.log() + if (failed === 0) { + console.log(styleText("green", `✓ Installed ${installed} plugin(s)`)) + } else { + console.log(styleText("yellow", `⚠ Installed ${installed} plugin(s), ${failed} failed`)) + } +} + +export async function handlePluginInstall() { + return handlePluginInstallUnified() +} + +export async function handlePluginAdd( + sources, + { name: nameOverride, subdir: subdirOverride, concurrency: concurrencyOption } = {}, +) { + if (nameOverride && sources.length > 1) { + console.log(styleText("red", "✗ --name/--as can only be used when adding a single plugin")) + return + } + if (subdirOverride && sources.length > 1) { + console.log(styleText("red", "✗ --subdir can only be used when adding a single plugin")) + return + } + + const resolvedConcurrency = Math.max(1, concurrencyOption ?? os.cpus().length) + + let lockfile = readLockfile() + if (!lockfile) { + lockfile = { version: "1.0.0", plugins: {} } + } + + if (!fs.existsSync(PLUGINS_DIR)) { + fs.mkdirSync(PLUGINS_DIR, { recursive: true }) + } + + const addedPlugins = [] + + // Handle local plugins and collect remote sources to clone + const remoteSources = [] + for (const source of sources) { + try { + const parsed = parseGitSource(source) + const name = nameOverride ?? parsed.name + const url = parsed.url + const ref = parsed.ref + const local = parsed.local + const subdir = subdirOverride ?? parsed.subdir + const pluginDir = path.join(PLUGINS_DIR, name) + + let configSource = undefined + if (nameOverride || subdirOverride) { + configSource = { repo: source } + if (nameOverride) configSource.name = nameOverride + if (subdirOverride) configSource.subdir = subdirOverride + } + + if (fs.existsSync(pluginDir)) { + console.log(styleText("yellow", `⚠ ${name} already exists. Use 'update' to refresh.`)) + continue + } + + if (local) { + let resolvedPath = path.resolve(url) + if (subdir) resolvedPath = path.join(resolvedPath, subdir) + if (!fs.existsSync(resolvedPath)) { + console.log(styleText("red", `✗ Local path does not exist: ${resolvedPath}`)) + continue + } + console.log(styleText("cyan", `→ Adding ${name} from local path ${resolvedPath}...`)) + fs.mkdirSync(path.dirname(pluginDir), { recursive: true }) + symlinkOrCopySync(resolvedPath, pluginDir) + lockfile.plugins[name] = { + source, + resolved: resolvedPath, + commit: "local", + ...(subdir && { subdir }), + installedAt: new Date().toISOString(), + } + addedPlugins.push({ name, pluginDir, source, configSource }) + console.log(styleText("green", `✓ Added ${name} (local symlink)`)) + } else { + remoteSources.push({ source, name, url, ref, subdir, pluginDir, configSource }) + } + } catch (error) { + console.log(styleText("red", `✗ Failed to add ${formatSource(source)}: ${error}`)) + } + } + + // Clone remote plugins in parallel + if (remoteSources.length > 0) { + const concurrency = resolvedConcurrency + await runParallel( + remoteSources, + concurrency, + async ({ source, name, url, ref, subdir, pluginDir, configSource }) => { + try { + if (subdir) { + console.log(styleText("cyan", `→ Adding ${name} from ${url} (subdir: ${subdir})...`)) + fs.mkdirSync(path.dirname(pluginDir), { recursive: true }) + const commit = await cloneWithSubdirAsync({ url, ref, subdir, pluginDir }) + lockfile.plugins[name] = { + source, + resolved: url, + commit, + ...(ref && { ref }), + subdir, + installedAt: new Date().toISOString(), + } + addedPlugins.push({ name, pluginDir, source, configSource }) + console.log( + styleText("green", `✓ Added ${name}@${commit.slice(0, 7)} (subdir: ${subdir})`), + ) + } else { + console.log(styleText("cyan", `→ Adding ${name} from ${url}...`)) + + const branchArg = ref ? ` --branch ${ref}` : "" + await execAsync(`git clone --depth 1${branchArg} "${url}" "${pluginDir}"`) + + const { stdout } = await execAsync("git rev-parse HEAD", { cwd: pluginDir }) + const commit = stdout.trim() + lockfile.plugins[name] = { + source, + resolved: url, + commit, + ...(ref && { ref }), + installedAt: new Date().toISOString(), + } + + addedPlugins.push({ name, pluginDir, source, configSource }) + console.log(styleText("green", `✓ Added ${name}@${commit.slice(0, 7)}`)) + } + } catch (error) { + console.log(styleText("red", `✗ Failed to add ${formatSource(source)}: ${error}`)) + } + }, + ) + } + + if (addedPlugins.length > 0) { + console.log() + console.log(styleText("cyan", "→ Building plugins...")) + const concurrency = resolvedConcurrency + await runParallel(addedPlugins, concurrency, async ({ name, pluginDir }) => { + const ok = await buildPluginAsync(pluginDir, name) + if (ok) console.log(styleText("green", ` ✓ ${name} built`)) + return ok + }) + await regeneratePluginIndex() + } + + writeLockfile(lockfile) + const pluginsJson = readPluginsJson() + if (pluginsJson?.plugins) { + for (const { pluginDir, source, configSource } of addedPlugins) { + const manifest = readManifestFromPackageJson(pluginDir) + const newEntry = { + source: configSource ?? source, + enabled: manifest?.defaultEnabled ?? true, + options: manifest?.defaultOptions ?? {}, + order: manifest?.defaultOrder ?? 50, + } + + if (manifest?.components) { + const layoutPositions = new Set(["left", "right", "beforeBody", "afterBody"]) + const firstComponentKey = Object.keys(manifest.components)[0] + const comp = manifest.components[firstComponentKey] + if (comp?.defaultPosition && layoutPositions.has(comp.defaultPosition)) { + newEntry.layout = { + position: comp.defaultPosition, + priority: comp.defaultPriority ?? 50, + } + } + } + + pluginsJson.plugins.push(newEntry) + } + writePluginsJson(pluginsJson) + } + console.log() + console.log(styleText("gray", "Updated quartz.lock.json")) +} + +export async function handlePluginRemove(names) { + const lockfile = readLockfile() + if (!lockfile) { + console.log(styleText("yellow", "⚠ No plugins installed")) + return + } + + const pluginsJson = readPluginsJson() + let removed = false + const resolvedNames = [] + for (const name of names) { + const lockKey = resolveLockfileName(name, lockfile, pluginsJson) + resolvedNames.push(lockKey) + const pluginDir = path.join(PLUGINS_DIR, lockKey) + + if (!lockfile.plugins[lockKey] && !fs.existsSync(pluginDir)) { + console.log(styleText("yellow", `⚠ ${name} is not installed`)) + continue + } + + const displayName = lockKey !== name ? `${name} (${lockKey})` : name + console.log(styleText("cyan", `→ Removing ${displayName}...`)) + + if (fs.existsSync(pluginDir)) { + fs.rmSync(pluginDir, { recursive: true }) + } + + delete lockfile.plugins[lockKey] + console.log(styleText("green", `✓ Removed ${displayName}`)) + removed = true + } + + if (removed) { + await regeneratePluginIndex() + } + + writeLockfile(lockfile) + if (pluginsJson?.plugins) { + pluginsJson.plugins = pluginsJson.plugins.filter( + (plugin) => + !names.includes(extractPluginName(plugin.source)) && + !names.includes(formatSource(plugin.source)) && + !resolvedNames.includes(extractPluginName(plugin.source)), + ) + writePluginsJson(pluginsJson) + } + console.log() + console.log(styleText("gray", "Updated quartz.lock.json")) +} + +export async function handlePluginEnable(names) { + const json = readPluginsJson() + if (!json) { + console.log(styleText("red", "✗ No quartz.config.yaml found. Cannot enable plugins.")) + return + } + + for (const name of names) { + const entry = json.plugins.find( + (e) => extractPluginName(e.source) === name || formatSource(e.source) === name, + ) + if (!entry) { + console.log(styleText("yellow", `⚠ Plugin "${name}" not found in quartz.config.yaml`)) + continue + } + if (entry.enabled) { + console.log(styleText("gray", `✓ ${name} is already enabled`)) + continue + } + entry.enabled = true + console.log(styleText("green", `✓ Enabled ${name}`)) + } + + writePluginsJson(json) +} + +export async function handlePluginDisable(names) { + const json = readPluginsJson() + if (!json) { + console.log(styleText("red", "✗ No quartz.config.yaml found. Cannot disable plugins.")) + return + } + + for (const name of names) { + const entry = json.plugins.find( + (e) => extractPluginName(e.source) === name || formatSource(e.source) === name, + ) + if (!entry) { + console.log(styleText("yellow", `⚠ Plugin "${name}" not found in quartz.config.yaml`)) + continue + } + if (!entry.enabled) { + console.log(styleText("gray", `✓ ${name} is already disabled`)) + continue + } + entry.enabled = false + console.log(styleText("green", `✓ Disabled ${name}`)) + } + + writePluginsJson(json) +} + +export async function handlePluginConfig(name, options = {}) { + const json = readPluginsJson() + if (!json) { + console.log(styleText("red", "✗ No quartz.config.yaml found.")) + return + } + + const entry = json.plugins.find( + (e) => extractPluginName(e.source) === name || formatSource(e.source) === name, + ) + if (!entry) { + console.log(styleText("red", `✗ Plugin "${name}" not found in quartz.config.yaml`)) + return + } + + if (options.set) { + const eqIndex = options.set.indexOf("=") + if (eqIndex === -1) { + console.log(styleText("red", "✗ Invalid format. Use: --set key=value")) + return + } + const key = options.set.slice(0, eqIndex) + let value = options.set.slice(eqIndex + 1) + + try { + value = JSON.parse(value) + } catch {} + + if (!entry.options) entry.options = {} + entry.options[key] = value + writePluginsJson(json) + console.log(styleText("green", `✓ Set ${name}.${key} = ${JSON.stringify(value)}`)) + } else { + console.log(styleText("bold", `Plugin: ${name}`)) + console.log(` Source: ${formatSource(entry.source)}`) + console.log(` Enabled: ${entry.enabled}`) + console.log(` Order: ${entry.order ?? 50}`) + if (entry.options && Object.keys(entry.options).length > 0) { + console.log(` Options:`) + for (const [k, v] of Object.entries(entry.options)) { + console.log(` ${k}: ${JSON.stringify(v)}`) + } + } else { + console.log(` Options: (none)`) + } + if (entry.layout) { + console.log(` Layout:`) + for (const [k, v] of Object.entries(entry.layout)) { + console.log(` ${k}: ${JSON.stringify(v)}`) + } + } + } +} + +export async function handlePluginCheck() { + return handlePluginInstallUnified({ latest: true, dryRun: true }) +} + +export async function handlePluginUpdate(names) { + return handlePluginInstallUnified({ names, latest: true }) +} + +export async function handlePluginList() { + const lockfile = readLockfile() + if (!lockfile || Object.keys(lockfile.plugins).length === 0) { + console.log(styleText("gray", "No plugins installed")) + return + } + + const pluginsJson = readPluginsJson() + const nameOverrides = getNameOverrides(lockfile, pluginsJson) + + console.log(styleText("bold", "Installed Plugins:")) + console.log() + + for (const [name, entry] of Object.entries(lockfile.plugins)) { + const pluginDir = path.join(PLUGINS_DIR, name) + const exists = fs.existsSync(pluginDir) + const overriddenName = nameOverrides.get(name) + const displayLabel = overriddenName + ? `${overriddenName} ${styleText("gray", `(dir: ${name})`)}` + : name + + if (entry.commit === "local") { + const isLinked = exists && fs.lstatSync(pluginDir).isSymbolicLink() + const status = isLinked ? styleText("green", "✓") : styleText("red", "✗") + console.log(` ${status} ${styleText("bold", displayLabel)}`) + console.log(` Source: ${formatSource(entry.source)}`) + console.log(` Type: local symlink`) + console.log(` Target: ${entry.resolved}`) + console.log(` Installed: ${new Date(entry.installedAt).toLocaleDateString()}`) + console.log() + continue + } + + let currentCommit = entry.commit + + if (exists) { + currentCommit = getGitCommit(pluginDir) + } + + const status = exists + ? currentCommit === entry.commit + ? styleText("green", "✓") + : styleText("yellow", "⚡") + : styleText("red", "✗") + + console.log(` ${status} ${styleText("bold", displayLabel)}`) + console.log(` Source: ${formatSource(entry.source)}`) + console.log(` Commit: ${entry.commit.slice(0, 7)}`) + if (currentCommit !== entry.commit && exists) { + console.log(` Current: ${currentCommit.slice(0, 7)} (modified)`) + } + console.log(` Installed: ${new Date(entry.installedAt).toLocaleDateString()}`) + console.log() + } +} + +export async function handlePluginStatus() { + const lockfile = readLockfile() + if (!lockfile || Object.keys(lockfile.plugins).length === 0) { + console.log(styleText("gray", "No plugins installed")) + return + } + + const pluginsJson = readPluginsJson() + const nameOverrides = getNameOverrides(lockfile, pluginsJson) + const enabledByName = new Map( + (pluginsJson?.plugins ?? []).map((entry) => [ + extractPluginName(entry.source), + entry.enabled !== false, + ]), + ) + + const rows = Object.entries(lockfile.plugins).map(([name, entry]) => { + const pluginDir = path.join(PLUGINS_DIR, name) + const exists = fs.existsSync(pluginDir) + const displayName = nameOverrides.get(name) ?? name + const sourceLabel = formatSource(entry.source) + const commitLabel = entry.commit === "local" ? "local" : `@${entry.commit.slice(0, 7)}` + const enabled = enabledByName.get(name) ?? false + return { name, entry, exists, displayName, sourceLabel, commitLabel, enabled } + }) + + const nameWidth = Math.max(8, ...rows.map((row) => row.displayName.length)) + 2 + const sourceWidth = Math.max(8, ...rows.map((row) => row.sourceLabel.length)) + 2 + const commitWidth = Math.max(6, ...rows.map((row) => row.commitLabel.length)) + 2 + const enabledWidth = Math.max("enabled".length, "disabled".length) + 2 + const updateWidth = + Math.max( + "— local".length, + "⋯".length, + "✓ up to date".length, + "↑ update available".length, + "✗ check failed".length, + ) + 2 + + const formatRow = (row, updateLabel, updateText) => { + const statusIcon = row.exists ? styleText("green", "✓") : styleText("red", "✗") + const enabledText = row.enabled ? "enabled" : "disabled" + const enabledLabel = row.enabled + ? styleText("green", enabledText) + : styleText("gray", enabledText) + const enabledColumn = `${enabledLabel}${" ".repeat(enabledWidth - enabledText.length)}` + const updateColumn = `${updateLabel}${" ".repeat(Math.max(0, updateWidth - updateText.length))}` + return ` ${statusIcon} ${row.displayName.padEnd(nameWidth)}${row.sourceLabel.padEnd( + sourceWidth, + )}${row.commitLabel.padEnd(commitWidth)}${enabledColumn}${updateColumn}` + } + + const updateDisplay = (status) => { + switch (status) { + case "local": + return { text: "— local", label: styleText("gray", "— local") } + case "up_to_date": + return { text: "✓ up to date", label: styleText("green", "✓ up to date") } + case "update_available": + return { text: "↑ update available", label: styleText("yellow", "↑ update available") } + case "failed": + return { text: "✗ check failed", label: styleText("red", "✗ check failed") } + default: + return { text: "⋯", label: styleText("cyan", "⋯") } + } + } + + const isTTY = process.stdout.isTTY + + const updateLine = (index, updateLabel, updateText) => { + if (!isTTY) return + const offset = rows.length - index + process.stdout.write( + `\x1b[${offset}A\x1b[2K\r${formatRow(rows[index], updateLabel, updateText)}\x1b[${offset}B`, + ) + } + + if (isTTY) { + console.log(styleText("bold", "Installed Plugins:")) + console.log() + for (const row of rows) { + const display = + row.entry.commit === "local" ? updateDisplay("local") : updateDisplay("checking") + console.log(formatRow(row, display.label, display.text)) + } + } + + const promises = rows.map((row, index) => { + if (row.entry.commit === "local") { + return Promise.resolve({ + index, + status: "local", + name: row.displayName, + }) + } + + const lsRemoteRef = row.entry.ref ? `refs/heads/${row.entry.ref}` : "HEAD" + return execAsync(`git ls-remote "${row.entry.resolved}" ${lsRemoteRef}`) + .then(({ stdout }) => { + const latestCommit = stdout.split("\t")[0].trim() + const status = latestCommit === row.entry.commit ? "up_to_date" : "update_available" + const display = updateDisplay(status) + updateLine(index, display.label, display.text) + return { index, status, name: row.displayName } + }) + .catch(() => { + const display = updateDisplay("failed") + updateLine(index, display.label, display.text) + return { index, status: "failed", name: row.displayName } + }) + }) + + const results = await Promise.all(promises) + const updatesAvailable = results + .filter((result) => result.status === "update_available") + .map((result) => result.name) + const failedChecks = results + .filter((result) => result.status === "failed") + .map((result) => result.name) + + if (!isTTY) { + console.log(styleText("bold", "Installed Plugins:")) + console.log() + for (const result of results) { + const row = rows[result.index] + const display = updateDisplay(result.status) + console.log(formatRow(row, display.label, display.text)) + } + } + + if (updatesAvailable.length === 0 && failedChecks.length === 0) { + console.log(styleText("green", "\n✓ All plugins up to date")) + return + } + + if (updatesAvailable.length > 0) { + console.log(styleText("yellow", `\nUpdates available: ${updatesAvailable.join(", ")}`)) + console.log(styleText("gray", "Run 'npx quartz plugin install --latest' to update.")) + } + + if (failedChecks.length > 0) { + console.log(styleText("red", `\nChecks failed: ${failedChecks.join(", ")}`)) + } +} + +export async function handlePluginRestore() { + return handlePluginInstallUnified({ clean: true }) +} + +export async function handlePluginPrune({ dryRun = false } = {}) { + const lockfile = readLockfile() + if (!lockfile || Object.keys(lockfile.plugins).length === 0) { + console.log(styleText("gray", "No plugins installed")) + return + } + + const pluginsJson = readPluginsJson() + const configuredNames = new Set( + (pluginsJson?.plugins ?? []).map((entry) => extractPluginName(entry.source)), + ) + + const orphans = Object.keys(lockfile.plugins).filter((name) => !configuredNames.has(name)) + + if (orphans.length === 0) { + console.log(styleText("green", "✓ No orphaned plugins found — nothing to prune")) + return + } + + console.log(`Found ${orphans.length} orphaned plugin(s):\n`) + for (const name of orphans) { + console.log(` ${styleText("yellow", name)} — in lockfile but not in config`) + } + console.log() + + if (dryRun) { + console.log(styleText("cyan", "Dry run — no changes made. Re-run without --dry-run to prune.")) + return + } + + let removed = 0 + for (const name of orphans) { + const pluginDir = path.join(PLUGINS_DIR, name) + + console.log(styleText("cyan", `→ Removing ${name}...`)) + + if (fs.existsSync(pluginDir)) { + fs.rmSync(pluginDir, { recursive: true }) + } + + delete lockfile.plugins[name] + console.log(styleText("green", `✓ Removed ${name}`)) + removed++ + } + + if (removed > 0) { + await regeneratePluginIndex() + } + + writeLockfile(lockfile) + console.log() + console.log(styleText("green", `✓ Pruned ${removed} plugin(s)`)) + console.log(styleText("gray", "Updated quartz.lock.json")) +} + +export async function handlePluginResolve({ dryRun = false } = {}) { + return handlePluginInstallUnified({ fromConfig: true, dryRun }) +} diff --git a/Local/storage/thlab-notes/worker/quartz/cli/templates/blog.yaml b/Local/storage/thlab-notes/worker/quartz/cli/templates/blog.yaml new file mode 100644 index 0000000..5ca9c0e --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz/cli/templates/blog.yaml @@ -0,0 +1,291 @@ +# yaml-language-server: $schema=../../plugins/quartz-plugins.schema.json +# Template: blog +# A blog-focused setup with recent notes and comments enabled. +configuration: + pageTitle: Quartz 5 + pageTitleSuffix: "" + enableSPA: true + enablePopovers: true + analytics: + provider: plausible + locale: en-US + baseUrl: quartz.jzhao.xyz + ignorePatterns: + - private + - templates + - .obsidian + theme: + fontOrigin: googleFonts + cdnCaching: true + typography: + header: Schibsted Grotesk + body: Source Sans Pro + code: IBM Plex Mono + colors: + lightMode: + light: "#faf8f8" + lightgray: "#e5e5e5" + gray: "#b8b8b8" + darkgray: "#4e4e4e" + dark: "#2b2b2b" + secondary: "#284b63" + tertiary: "#84a59d" + highlight: rgba(143, 159, 169, 0.15) + textHighlight: "#fff23688" + darkMode: + light: "#161618" + lightgray: "#393639" + gray: "#646464" + darkgray: "#d4d4d4" + dark: "#ebebec" + secondary: "#7b97aa" + tertiary: "#84a59d" + highlight: rgba(143, 159, 169, 0.15) + textHighlight: "#b3aa0288" +plugins: + - source: github:quartz-community/created-modified-date + enabled: true + options: + defaultDateType: modified + priority: + - frontmatter + - git + - filesystem + order: 10 + - source: github:quartz-community/syntax-highlighting + enabled: true + options: + theme: + light: github-light + dark: github-dark + keepBackground: false + order: 20 + - source: github:quartz-community/obsidian-flavored-markdown + enabled: true + options: + enableInHtmlEmbed: false + enableCheckbox: true + order: 30 + - source: github:quartz-community/github-flavored-markdown + enabled: true + order: 40 + - source: github:quartz-community/table-of-contents + enabled: true + order: 50 + layout: + position: right + priority: 30 + - source: github:quartz-community/crawl-links + enabled: true + options: + markdownLinkResolution: shortest + order: 60 + - source: github:quartz-community/description + enabled: true + order: 70 + - source: github:quartz-community/latex + enabled: true + options: + renderEngine: katex + order: 80 + - source: github:quartz-community/citations + enabled: false + order: 85 + - source: github:quartz-community/hard-line-breaks + enabled: false + order: 90 + - source: github:quartz-community/ox-hugo + enabled: false + order: 91 + - source: github:quartz-community/roam + enabled: false + order: 92 + - source: github:quartz-community/fonts + enabled: true + - source: github:quartz-community/remove-draft + enabled: true + - source: github:quartz-community/explicit-publish + enabled: false + - source: github:quartz-community/unlisted-pages + enabled: true + options: {} + order: 45 + - source: github:quartz-community/encrypted-pages + enabled: false + - source: github:quartz-community/stacked-pages + enabled: false + layout: + position: afterBody + priority: 50 + display: all + - source: github:quartz-community/alias-redirects + enabled: true + - source: github:quartz-community/content-index + enabled: true + options: + enableSiteMap: true + enableRSS: true + - source: github:quartz-community/favicon + enabled: true + - source: github:quartz-community/og-image + enabled: true + - source: github:quartz-community/cname + enabled: true + - source: github:quartz-community/canvas-page + enabled: true + - source: github:quartz-community/content-page + enabled: true + - source: github:quartz-community/folder-page + enabled: true + - source: github:quartz-community/tag-page + enabled: true + - source: github:quartz-community/explorer + enabled: true + layout: + position: left + priority: 50 + - source: github:quartz-community/graph + enabled: true + layout: + position: right + priority: 10 + - source: github:quartz-community/search + enabled: true + layout: + position: left + priority: 20 + group: toolbar + groupOptions: + grow: true + - source: github:quartz-community/backlinks + enabled: true + layout: + position: right + priority: 50 + - source: github:quartz-community/article-title + enabled: true + layout: + position: beforeBody + priority: 10 + - source: github:quartz-community/content-meta + enabled: true + layout: + position: beforeBody + priority: 20 + - source: github:quartz-community/tag-list + enabled: false + layout: + position: beforeBody + priority: 30 + - source: github:quartz-community/page-title + enabled: true + layout: + position: left + priority: 10 + - source: github:quartz-community/darkmode + enabled: true + layout: + position: left + priority: 30 + group: toolbar + - source: github:quartz-community/reader-mode + enabled: true + layout: + position: left + priority: 35 + group: toolbar + - source: github:quartz-community/breadcrumbs + enabled: true + layout: + position: beforeBody + priority: 5 + condition: not-index + - source: github:quartz-community/comments + enabled: true + options: + provider: giscus + options: + repo: "TODO:username/repo-name" + repoId: "TODO:your-repo-id" + category: Announcements + categoryId: "TODO:your-category-id" + mapping: url + strict: true + reactionsEnabled: true + inputPosition: bottom + lightTheme: light + darkTheme: dark + lang: en + layout: + position: afterBody + priority: 10 + - source: github:quartz-community/footer + enabled: true + options: + links: + GitHub: https://github.com/jackyzha0/quartz + Discord Community: https://discord.gg/cRFFHYye7t + - source: github:quartz-community/recent-notes + enabled: true + options: + title: Recent Notes + limit: 5 + linkToMore: false + showTags: true + layout: + position: left + priority: 25 + - source: github:quartz-community/spacer + enabled: true + options: {} + order: 25 + layout: + position: left + priority: 25 + display: mobile-only + - source: github:quartz-community/bases-page + enabled: true + options: {} + order: 50 + - source: github:quartz-community/note-properties + enabled: true + options: + includeAll: false + includedProperties: + - description + - tags + - aliases + excludedProperties: [] + hidePropertiesView: false + delimiters: "---" + language: yaml + order: 5 + layout: + position: beforeBody + priority: 15 + display: all +layout: + groups: + toolbar: + priority: 35 + direction: row + gap: 0.5rem + byPageType: + "404": + positions: + beforeBody: [] + left: [] + right: [] + content: {} + folder: + exclude: + - reader-mode + positions: + right: [] + tag: + exclude: + - reader-mode + positions: + right: [] + canvas: {} + bases: {} diff --git a/Local/storage/thlab-notes/worker/quartz/cli/templates/default.yaml b/Local/storage/thlab-notes/worker/quartz/cli/templates/default.yaml new file mode 100644 index 0000000..111654b --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz/cli/templates/default.yaml @@ -0,0 +1,277 @@ +# yaml-language-server: $schema=../../plugins/quartz-plugins.schema.json +# Template: default +# A clean Quartz setup with sensible defaults. +configuration: + pageTitle: Quartz 5 + pageTitleSuffix: "" + enableSPA: true + enablePopovers: true + analytics: + provider: plausible + locale: en-US + baseUrl: quartz.jzhao.xyz + ignorePatterns: + - private + - templates + - .obsidian + theme: + fontOrigin: googleFonts + cdnCaching: true + typography: + header: Schibsted Grotesk + body: Source Sans Pro + code: IBM Plex Mono + colors: + lightMode: + light: "#faf8f8" + lightgray: "#e5e5e5" + gray: "#b8b8b8" + darkgray: "#4e4e4e" + dark: "#2b2b2b" + secondary: "#284b63" + tertiary: "#84a59d" + highlight: rgba(143, 159, 169, 0.15) + textHighlight: "#fff23688" + darkMode: + light: "#161618" + lightgray: "#393639" + gray: "#646464" + darkgray: "#d4d4d4" + dark: "#ebebec" + secondary: "#7b97aa" + tertiary: "#84a59d" + highlight: rgba(143, 159, 169, 0.15) + textHighlight: "#b3aa0288" +plugins: + - source: github:quartz-community/created-modified-date + enabled: true + options: + defaultDateType: modified + priority: + - frontmatter + - git + - filesystem + order: 10 + - source: github:quartz-community/syntax-highlighting + enabled: true + options: + theme: + light: github-light + dark: github-dark + keepBackground: false + order: 20 + - source: github:quartz-community/obsidian-flavored-markdown + enabled: true + options: + enableInHtmlEmbed: false + enableCheckbox: true + order: 30 + - source: github:quartz-community/github-flavored-markdown + enabled: true + order: 40 + - source: github:quartz-community/table-of-contents + enabled: true + order: 50 + layout: + position: right + priority: 30 + - source: github:quartz-community/crawl-links + enabled: true + options: + markdownLinkResolution: shortest + order: 60 + - source: github:quartz-community/description + enabled: true + order: 70 + - source: github:quartz-community/latex + enabled: true + options: + renderEngine: katex + order: 80 + - source: github:quartz-community/citations + enabled: false + order: 85 + - source: github:quartz-community/hard-line-breaks + enabled: false + order: 90 + - source: github:quartz-community/ox-hugo + enabled: false + order: 91 + - source: github:quartz-community/roam + enabled: false + order: 92 + - source: github:quartz-community/fonts + enabled: true + - source: github:quartz-community/remove-draft + enabled: true + - source: github:quartz-community/explicit-publish + enabled: false + - source: github:quartz-community/unlisted-pages + enabled: true + options: {} + order: 45 + - source: github:quartz-community/encrypted-pages + enabled: true + options: + iterations: 600000 + passwordField: password + unlistWhenEncrypted: false + outputPath: static/encryptedContentIndex.json + - source: github:quartz-community/stacked-pages + enabled: false + layout: + position: afterBody + priority: 50 + display: all + - source: github:quartz-community/alias-redirects + enabled: true + - source: github:quartz-community/content-index + enabled: true + options: + enableSiteMap: true + enableRSS: true + - source: github:quartz-community/favicon + enabled: true + - source: github:quartz-community/og-image + enabled: true + - source: github:quartz-community/cname + enabled: true + - source: github:quartz-community/canvas-page + enabled: true + - source: github:quartz-community/content-page + enabled: true + - source: github:quartz-community/folder-page + enabled: true + - source: github:quartz-community/tag-page + enabled: true + - source: github:quartz-community/explorer + enabled: true + layout: + position: left + priority: 50 + - source: github:quartz-community/graph + enabled: true + layout: + position: right + priority: 10 + - source: github:quartz-community/search + enabled: true + layout: + position: left + priority: 20 + group: toolbar + groupOptions: + grow: true + - source: github:quartz-community/backlinks + enabled: true + layout: + position: right + priority: 50 + - source: github:quartz-community/article-title + enabled: true + layout: + position: beforeBody + priority: 10 + - source: github:quartz-community/content-meta + enabled: true + layout: + position: beforeBody + priority: 20 + - source: github:quartz-community/tag-list + enabled: false + layout: + position: beforeBody + priority: 30 + - source: github:quartz-community/page-title + enabled: true + layout: + position: left + priority: 10 + - source: github:quartz-community/darkmode + enabled: true + layout: + position: left + priority: 30 + group: toolbar + - source: github:quartz-community/reader-mode + enabled: true + layout: + position: left + priority: 35 + group: toolbar + - source: github:quartz-community/breadcrumbs + enabled: true + layout: + position: beforeBody + priority: 5 + condition: not-index + - source: github:quartz-community/comments + enabled: false + options: + provider: giscus + options: {} + layout: + position: afterBody + priority: 10 + - source: github:quartz-community/footer + enabled: true + options: + links: + GitHub: https://github.com/jackyzha0/quartz + Discord Community: https://discord.gg/cRFFHYye7t + - source: github:quartz-community/recent-notes + enabled: false + - source: github:quartz-community/spacer + enabled: true + options: {} + order: 25 + layout: + position: left + priority: 25 + display: mobile-only + - source: github:quartz-community/bases-page + enabled: true + options: {} + order: 50 + - source: github:quartz-community/note-properties + enabled: true + options: + includeAll: false + includedProperties: + - description + - tags + - aliases + excludedProperties: [] + hidePropertiesView: false + delimiters: "---" + language: yaml + order: 5 + layout: + position: beforeBody + priority: 15 + display: all +layout: + groups: + toolbar: + priority: 35 + direction: row + gap: 0.5rem + byPageType: + "404": + positions: + beforeBody: [] + left: [] + right: [] + content: {} + folder: + exclude: + - reader-mode + positions: + right: [] + tag: + exclude: + - reader-mode + positions: + right: [] + canvas: {} + bases: {} diff --git a/Local/storage/thlab-notes/worker/quartz/cli/templates/obsidian.yaml b/Local/storage/thlab-notes/worker/quartz/cli/templates/obsidian.yaml new file mode 100644 index 0000000..b45dfb3 --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz/cli/templates/obsidian.yaml @@ -0,0 +1,302 @@ +# yaml-language-server: $schema=../../plugins/quartz-plugins.schema.json +# Template: obsidian +# Optimized for Obsidian vaults with full OFM support and shortest link resolution. +configuration: + pageTitle: Quartz 5 + pageTitleSuffix: "" + enableSPA: true + enablePopovers: true + analytics: + provider: plausible + locale: en-US + baseUrl: quartz.jzhao.xyz + ignorePatterns: + - private + - templates + - .obsidian + theme: + fontOrigin: googleFonts + cdnCaching: true + typography: + header: Schibsted Grotesk + body: Source Sans Pro + code: IBM Plex Mono + colors: + lightMode: + light: "#faf8f8" + lightgray: "#e5e5e5" + gray: "#b8b8b8" + darkgray: "#4e4e4e" + dark: "#2b2b2b" + secondary: "#284b63" + tertiary: "#84a59d" + highlight: rgba(143, 159, 169, 0.15) + textHighlight: "#fff23688" + darkMode: + light: "#161618" + lightgray: "#393639" + gray: "#646464" + darkgray: "#d4d4d4" + dark: "#ebebec" + secondary: "#7b97aa" + tertiary: "#84a59d" + highlight: rgba(143, 159, 169, 0.15) + textHighlight: "#b3aa0288" +plugins: + - source: github:quartz-community/created-modified-date + enabled: true + options: + defaultDateType: modified + priority: + - frontmatter + - git + - filesystem + order: 10 + - source: github:quartz-community/syntax-highlighting + enabled: true + options: + theme: + light: github-light + dark: github-dark + keepBackground: false + order: 20 + - source: github:quartz-community/obsidian-flavored-markdown + enabled: true + options: + comments: true + highlight: true + wikilinks: true + callouts: true + mermaid: true + parseTags: true + parseArrows: true + parseBlockReferences: true + enableInHtmlEmbed: false + enableYouTubeEmbed: true + enableVideoEmbed: true + enableCheckbox: true + order: 30 + - source: github:quartz-community/github-flavored-markdown + enabled: true + order: 40 + - source: github:quartz-community/table-of-contents + enabled: true + order: 50 + layout: + position: right + priority: 30 + - source: github:quartz-community/crawl-links + enabled: true + options: + markdownLinkResolution: shortest + # disableBrokenWikilinks: false # Set true to add a "broken" CSS class to internal links whose target is not in ctx.allSlugs. + order: 60 + - source: github:quartz-community/description + enabled: true + order: 70 + - source: github:quartz-community/latex + enabled: true + options: + renderEngine: katex + order: 80 + - source: github:quartz-community/citations + enabled: false + order: 85 + - source: github:quartz-community/hard-line-breaks + enabled: true + order: 90 + - source: github:quartz-community/ox-hugo + enabled: false + order: 91 + - source: github:quartz-community/roam + enabled: false + order: 92 + - source: github:quartz-community/fonts + enabled: true + - source: github:quartz-community/remove-draft + enabled: true + - source: github:quartz-community/explicit-publish + enabled: false + - source: github:quartz-community/unlisted-pages + enabled: true + options: {} + order: 45 + - source: github:quartz-community/encrypted-pages + enabled: true + options: + iterations: 600000 + passwordField: password + unlistWhenEncrypted: false + outputPath: static/encryptedContentIndex.json + - source: github:quartz-community/stacked-pages + enabled: false + layout: + position: afterBody + priority: 50 + display: all + - source: github:quartz-community/alias-redirects + enabled: true + - source: github:quartz-community/content-index + enabled: true + options: + enableSiteMap: true + enableRSS: true + - source: github:quartz-community/favicon + enabled: true + - source: github:quartz-community/og-image + enabled: true + - source: github:quartz-community/cname + enabled: true + - source: github:quartz-community/canvas-page + enabled: true + - source: github:quartz-community/content-page + enabled: true + - source: github:quartz-community/folder-page + enabled: true + - source: github:quartz-community/tag-page + enabled: true + - source: github:quartz-community/explorer + enabled: true + layout: + position: left + priority: 50 + - source: github:quartz-community/graph + enabled: true + layout: + position: right + priority: 10 + - source: github:quartz-community/search + enabled: true + layout: + position: left + priority: 20 + group: toolbar + groupOptions: + grow: true + - source: github:quartz-community/backlinks + enabled: true + layout: + position: right + priority: 50 + - source: github:quartz-community/article-title + enabled: true + layout: + position: beforeBody + priority: 10 + - source: github:quartz-community/content-meta + enabled: true + layout: + position: beforeBody + priority: 20 + - source: github:quartz-community/tag-list + enabled: false + layout: + position: beforeBody + priority: 30 + - source: github:quartz-community/page-title + enabled: true + layout: + position: left + priority: 10 + - source: github:quartz-community/darkmode + enabled: true + layout: + position: left + priority: 30 + group: toolbar + - source: github:quartz-community/reader-mode + enabled: true + layout: + position: left + priority: 35 + group: toolbar + - source: github:quartz-community/breadcrumbs + enabled: true + layout: + position: beforeBody + priority: 5 + condition: not-index + - source: github:quartz-community/comments + enabled: false + options: + provider: giscus + options: {} + layout: + position: afterBody + priority: 10 + - source: github:quartz-community/footer + enabled: true + options: + links: + GitHub: https://github.com/jackyzha0/quartz + Discord Community: https://discord.gg/cRFFHYye7t + - source: github:quartz-community/recent-notes + enabled: false + - source: github:quartz-community/spacer + enabled: true + options: {} + order: 25 + layout: + position: left + priority: 25 + display: mobile-only + - source: github:quartz-community/bases-page + enabled: true + options: {} + order: 50 + - source: github:quartz-community/note-properties + enabled: true + options: + includeAll: false + includedProperties: + - description + - tags + - aliases + excludedProperties: [] + hidePropertiesView: false + delimiters: "---" + language: yaml + order: 5 + layout: + position: beforeBody + priority: 15 + display: all + - source: + name: quartz-themes + repo: github:saberzero1/quartz-themes + subdir: plugin + enabled: true + options: + theme: default + - source: github:quartz-community/obsidian-plugin-excalidraw + enabled: true + options: + enableInteraction: true + darkMode: auto + exportPadding: 20 + order: 50 +layout: + groups: + toolbar: + priority: 35 + direction: row + gap: 0.5rem + byPageType: + "404": + positions: + beforeBody: [] + left: [] + right: [] + content: {} + folder: + exclude: + - reader-mode + positions: + right: [] + tag: + exclude: + - reader-mode + positions: + right: [] + canvas: {} + bases: {} diff --git a/Local/storage/thlab-notes/worker/quartz/cli/templates/ttrpg.yaml b/Local/storage/thlab-notes/worker/quartz/cli/templates/ttrpg.yaml new file mode 100644 index 0000000..2c06b76 --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz/cli/templates/ttrpg.yaml @@ -0,0 +1,308 @@ +# yaml-language-server: $schema=../../plugins/quartz-plugins.schema.json +# Template: ttrpg +# Obsidian-based setup with map plugin and ITS Theme for TTRPG/D&D wikis. +configuration: + pageTitle: Quartz 5 + pageTitleSuffix: "" + enableSPA: true + enablePopovers: true + analytics: + provider: plausible + locale: en-US + baseUrl: quartz.jzhao.xyz + ignorePatterns: + - private + - templates + - .obsidian + theme: + fontOrigin: googleFonts + cdnCaching: true + typography: + header: Schibsted Grotesk + body: Source Sans Pro + code: IBM Plex Mono + colors: + lightMode: + light: "#faf8f8" + lightgray: "#e5e5e5" + gray: "#b8b8b8" + darkgray: "#4e4e4e" + dark: "#2b2b2b" + secondary: "#284b63" + tertiary: "#84a59d" + highlight: rgba(143, 159, 169, 0.15) + textHighlight: "#fff23688" + darkMode: + light: "#161618" + lightgray: "#393639" + gray: "#646464" + darkgray: "#d4d4d4" + dark: "#ebebec" + secondary: "#7b97aa" + tertiary: "#84a59d" + highlight: rgba(143, 159, 169, 0.15) + textHighlight: "#b3aa0288" +plugins: + - source: github:quartz-community/created-modified-date + enabled: true + options: + defaultDateType: modified + priority: + - frontmatter + - git + - filesystem + order: 10 + - source: github:quartz-community/syntax-highlighting + enabled: true + options: + theme: + light: github-light + dark: github-dark + keepBackground: false + order: 20 + - source: github:quartz-community/obsidian-flavored-markdown + enabled: true + options: + comments: true + highlight: true + wikilinks: true + callouts: true + mermaid: true + parseTags: true + parseArrows: true + parseBlockReferences: true + enableInHtmlEmbed: false + enableYouTubeEmbed: true + enableVideoEmbed: true + enableCheckbox: true + order: 30 + - source: github:quartz-community/github-flavored-markdown + enabled: true + order: 40 + - source: github:quartz-community/table-of-contents + enabled: true + order: 50 + layout: + position: right + priority: 30 + - source: github:quartz-community/crawl-links + enabled: true + options: + markdownLinkResolution: shortest + # disableBrokenWikilinks: false # Set true to add a "broken" CSS class to internal links whose target is not in ctx.allSlugs. + order: 60 + - source: github:quartz-community/description + enabled: true + order: 70 + - source: github:quartz-community/latex + enabled: true + options: + renderEngine: katex + order: 80 + - source: github:quartz-community/citations + enabled: false + order: 85 + - source: github:quartz-community/hard-line-breaks + enabled: true + order: 90 + - source: github:quartz-community/ox-hugo + enabled: false + order: 91 + - source: github:quartz-community/roam + enabled: false + order: 92 + - source: github:quartz-community/fonts + enabled: true + - source: github:quartz-community/remove-draft + enabled: true + - source: github:quartz-community/explicit-publish + enabled: false + - source: github:quartz-community/unlisted-pages + enabled: true + options: {} + order: 45 + - source: github:quartz-community/encrypted-pages + enabled: true + options: + iterations: 600000 + passwordField: password + unlistWhenEncrypted: false + outputPath: static/encryptedContentIndex.json + - source: github:quartz-community/stacked-pages + enabled: false + layout: + position: afterBody + priority: 50 + display: all + - source: github:quartz-community/alias-redirects + enabled: true + - source: github:quartz-community/content-index + enabled: true + options: + enableSiteMap: true + enableRSS: true + - source: github:quartz-community/favicon + enabled: true + - source: github:quartz-community/og-image + enabled: true + - source: github:quartz-community/cname + enabled: true + - source: github:quartz-community/canvas-page + enabled: true + - source: github:quartz-community/content-page + enabled: true + - source: github:quartz-community/folder-page + enabled: true + - source: github:quartz-community/tag-page + enabled: true + - source: github:quartz-community/explorer + enabled: true + layout: + position: left + priority: 50 + - source: github:quartz-community/graph + enabled: true + layout: + position: right + priority: 10 + - source: github:quartz-community/search + enabled: true + layout: + position: left + priority: 20 + group: toolbar + groupOptions: + grow: true + - source: github:quartz-community/backlinks + enabled: true + layout: + position: right + priority: 50 + - source: github:quartz-community/article-title + enabled: true + layout: + position: beforeBody + priority: 10 + - source: github:quartz-community/content-meta + enabled: true + layout: + position: beforeBody + priority: 20 + - source: github:quartz-community/tag-list + enabled: false + layout: + position: beforeBody + priority: 30 + - source: github:quartz-community/page-title + enabled: true + layout: + position: left + priority: 10 + - source: github:quartz-community/darkmode + enabled: true + layout: + position: left + priority: 30 + group: toolbar + - source: github:quartz-community/reader-mode + enabled: true + layout: + position: left + priority: 35 + group: toolbar + - source: github:quartz-community/breadcrumbs + enabled: true + layout: + position: beforeBody + priority: 5 + condition: not-index + - source: github:quartz-community/comments + enabled: false + options: + provider: giscus + options: {} + layout: + position: afterBody + priority: 10 + - source: github:quartz-community/footer + enabled: true + options: + links: + GitHub: https://github.com/jackyzha0/quartz + Discord Community: https://discord.gg/cRFFHYye7t + - source: github:quartz-community/recent-notes + enabled: false + - source: github:quartz-community/spacer + enabled: true + options: {} + order: 25 + layout: + position: left + priority: 25 + display: mobile-only + - source: github:quartz-community/bases-page + enabled: true + options: {} + order: 50 + - source: github:quartz-community/note-properties + enabled: true + options: + includeAll: false + includedProperties: + - description + - tags + - aliases + excludedProperties: [] + hidePropertiesView: false + delimiters: "---" + language: yaml + order: 5 + layout: + position: beforeBody + priority: 15 + display: all + # TTRPG-specific plugins + - source: github:Requiae/quartz-leaflet-bases-plugin + enabled: true + options: + enableCopyTool: false + - source: + name: quartz-themes + repo: github:saberzero1/quartz-themes + subdir: plugin + enabled: true + options: + theme: its-theme + variation: ttrpg-dnd + - source: github:quartz-community/obsidian-plugin-excalidraw + enabled: true + options: + enableInteraction: true + darkMode: auto + exportPadding: 20 + order: 50 +layout: + groups: + toolbar: + priority: 35 + direction: row + gap: 0.5rem + byPageType: + "404": + positions: + beforeBody: [] + left: [] + right: [] + content: {} + folder: + exclude: + - reader-mode + positions: + right: [] + tag: + exclude: + - reader-mode + positions: + right: [] + canvas: {} + bases: {} diff --git a/Local/storage/thlab-notes/worker/quartz/components/Body.tsx b/Local/storage/thlab-notes/worker/quartz/components/Body.tsx new file mode 100644 index 0000000..d396f4d --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz/components/Body.tsx @@ -0,0 +1,7 @@ +import { QuartzComponent, QuartzComponentConstructor, QuartzComponentProps } from "./types" + +const Body: QuartzComponent = ({ children }: QuartzComponentProps) => { + return
    {children}
    +} + +export default (() => Body) satisfies QuartzComponentConstructor diff --git a/Local/storage/thlab-notes/worker/quartz/components/ConditionalRender.tsx b/Local/storage/thlab-notes/worker/quartz/components/ConditionalRender.tsx new file mode 100644 index 0000000..74a4db0 --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz/components/ConditionalRender.tsx @@ -0,0 +1,22 @@ +import { QuartzComponent, QuartzComponentConstructor, QuartzComponentProps } from "./types" + +type ConditionalRenderConfig = { + component: QuartzComponent + condition: (props: QuartzComponentProps) => boolean +} + +export default ((config: ConditionalRenderConfig) => { + const ConditionalRender: QuartzComponent = (props: QuartzComponentProps) => { + if (config.condition(props)) { + return + } + + return null + } + + ConditionalRender.afterDOMLoaded = config.component.afterDOMLoaded + ConditionalRender.beforeDOMLoaded = config.component.beforeDOMLoaded + ConditionalRender.css = config.component.css + + return ConditionalRender +}) satisfies QuartzComponentConstructor diff --git a/Local/storage/thlab-notes/worker/quartz/components/Date.tsx b/Local/storage/thlab-notes/worker/quartz/components/Date.tsx new file mode 100644 index 0000000..096cdc6 --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz/components/Date.tsx @@ -0,0 +1,30 @@ +import { ValidLocale } from "../i18n" +import { QuartzPluginData } from "../plugins/vfile" + +interface Props { + date: Date + locale?: ValidLocale +} + +export type ValidDateType = keyof Required["dates"] + +export function getDate(data: QuartzPluginData): Date | undefined { + if (!data.defaultDateType) { + throw new Error( + `Field 'defaultDateType' was not set. Ensure the CreatedModifiedDate plugin is configured with a 'defaultDateType' option. See https://quartz.jzhao.xyz/plugins/CreatedModifiedDate for more details.`, + ) + } + return data.dates?.[data.defaultDateType] +} + +export function formatDate(d: Date, locale: ValidLocale = "en-US"): string { + return d.toLocaleDateString(locale, { + year: "numeric", + month: "short", + day: "2-digit", + }) +} + +export function Date({ date, locale }: Props) { + return +} diff --git a/Local/storage/thlab-notes/worker/quartz/components/DesktopOnly.tsx b/Local/storage/thlab-notes/worker/quartz/components/DesktopOnly.tsx new file mode 100644 index 0000000..b163eb9 --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz/components/DesktopOnly.tsx @@ -0,0 +1,18 @@ +import { QuartzComponent, QuartzComponentConstructor, QuartzComponentProps } from "./types" + +export default ((component: QuartzComponent) => { + const Component = component + const DesktopOnly: QuartzComponent = (props: QuartzComponentProps) => { + return ( +
    + +
    + ) + } + + DesktopOnly.displayName = component.displayName + DesktopOnly.afterDOMLoaded = component?.afterDOMLoaded + DesktopOnly.beforeDOMLoaded = component?.beforeDOMLoaded + DesktopOnly.css = component?.css + return DesktopOnly +}) satisfies QuartzComponentConstructor diff --git a/Local/storage/thlab-notes/worker/quartz/components/Flex.tsx b/Local/storage/thlab-notes/worker/quartz/components/Flex.tsx new file mode 100644 index 0000000..70d2149 --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz/components/Flex.tsx @@ -0,0 +1,59 @@ +import { concatenateResources } from "../util/resources" +import { classNames } from "../util/lang" +import { QuartzComponent, QuartzComponentConstructor, QuartzComponentProps } from "./types" + +type FlexConfig = { + components: { + Component: QuartzComponent + grow?: boolean + shrink?: boolean + basis?: string + order?: number + align?: "start" | "end" | "center" | "stretch" + justify?: "start" | "end" | "center" | "between" | "around" + }[] + direction?: "row" | "row-reverse" | "column" | "column-reverse" + wrap?: "nowrap" | "wrap" | "wrap-reverse" + gap?: string +} + +export default ((config: FlexConfig) => { + const Flex: QuartzComponent = (props: QuartzComponentProps) => { + const direction = config.direction ?? "row" + const wrap = config.wrap ?? "nowrap" + const gap = config.gap ?? "1rem" + + return ( +
    + {config.components.map((c) => { + const grow = c.grow ? 1 : 0 + const shrink = (c.shrink ?? true) ? 1 : 0 + const basis = c.basis ?? "auto" + const order = c.order ?? 0 + const align = c.align ?? "center" + const justify = c.justify ?? "center" + + return ( +
    + +
    + ) + })} +
    + ) + } + + Flex.afterDOMLoaded = concatenateResources( + ...config.components.map((c) => c.Component.afterDOMLoaded), + ) + Flex.beforeDOMLoaded = concatenateResources( + ...config.components.map((c) => c.Component.beforeDOMLoaded), + ) + Flex.css = concatenateResources(...config.components.map((c) => c.Component.css)) + return Flex +}) satisfies QuartzComponentConstructor diff --git a/Local/storage/thlab-notes/worker/quartz/components/Head.tsx b/Local/storage/thlab-notes/worker/quartz/components/Head.tsx new file mode 100644 index 0000000..0cb31fa --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz/components/Head.tsx @@ -0,0 +1,114 @@ +import { i18n } from "../i18n" +import { FullSlug, getFileExtension, joinSegments, pathToRoot } from "../util/path" +import { CSSResourceToStyleElement, JSResourceToScriptElement } from "../util/resources" +import { googleFontHref, googleFontSubsetHref } from "../util/theme" +import { QuartzComponent, QuartzComponentConstructor, QuartzComponentProps } from "./types" +import { unescapeHTML } from "../util/escape" +import { CustomOgImagesEmitterName } from "../../.quartz/plugins" +export default (() => { + const Head: QuartzComponent = ({ + cfg, + fileData, + externalResources, + ctx, + }: QuartzComponentProps) => { + const titleSuffix = cfg.pageTitleSuffix ?? "" + const title = + (fileData.frontmatter?.title ?? i18n(cfg.locale).propertyDefaults.title) + titleSuffix + const description = + fileData.frontmatter?.socialDescription ?? + fileData.frontmatter?.description ?? + unescapeHTML(fileData.description?.trim() ?? i18n(cfg.locale).propertyDefaults.description) + + const { css, js, additionalHead } = externalResources + + const url = new URL(`https://${cfg.baseUrl ?? "example.com"}`) + const path = url.pathname as FullSlug + const baseDir = fileData.slug === "404" ? path : pathToRoot(fileData.slug!) + const iconPath = joinSegments(baseDir, "static/icon.png") + + // Url of current page + const socialUrl = + fileData.slug === "404" ? url.toString() : joinSegments(url.toString(), fileData.slug!) + + const usesCustomOgImage = ctx.cfg.plugins.emitters.some( + (e) => e.name === CustomOgImagesEmitterName, + ) + const ogImageDefaultPath = `https://${cfg.baseUrl}/static/og-image.png` + + const coreStylesheet = css[0]?.content + const coreScript = js.find( + (r) => r.loadTime === "beforeDOMReady" && r.contentType === "external", + ) + + return ( + + {title} + + {coreStylesheet && } + {coreScript && coreScript.contentType === "external" && ( + + )} + {cfg.theme.cdnCaching && cfg.theme.fontOrigin === "googleFonts" && ( + <> + + + + {cfg.theme.typography.title && ( + + )} + + )} + + + + + + + + + + + + + {!usesCustomOgImage && ( + <> + + + + + + )} + + {cfg.baseUrl && ( + <> + + + + + )} + + + + + + {css.map((resource) => CSSResourceToStyleElement(resource, true))} + {js + .filter((resource) => resource.loadTime === "beforeDOMReady") + .map((res) => JSResourceToScriptElement(res, true))} + {additionalHead.map((resource) => { + if (typeof resource === "function") { + return resource(fileData) + } else { + return resource + } + })} + + ) + } + + return Head +}) satisfies QuartzComponentConstructor diff --git a/Local/storage/thlab-notes/worker/quartz/components/Header.tsx b/Local/storage/thlab-notes/worker/quartz/components/Header.tsx new file mode 100644 index 0000000..eba17ae --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz/components/Header.tsx @@ -0,0 +1,22 @@ +import { QuartzComponent, QuartzComponentConstructor, QuartzComponentProps } from "./types" + +const Header: QuartzComponent = ({ children }: QuartzComponentProps) => { + return children.length > 0 ?
    {children}
    : null +} + +Header.css = ` +header { + display: flex; + flex-direction: row; + align-items: center; + margin: 2rem 0; + gap: 1.5rem; +} + +header h1 { + margin: 0; + flex: auto; +} +` + +export default (() => Header) satisfies QuartzComponentConstructor diff --git a/Local/storage/thlab-notes/worker/quartz/components/MobileOnly.tsx b/Local/storage/thlab-notes/worker/quartz/components/MobileOnly.tsx new file mode 100644 index 0000000..2c10835 --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz/components/MobileOnly.tsx @@ -0,0 +1,18 @@ +import { QuartzComponent, QuartzComponentConstructor, QuartzComponentProps } from "./types" + +export default ((component: QuartzComponent) => { + const Component = component + const MobileOnly: QuartzComponent = (props: QuartzComponentProps) => { + return ( +
    + +
    + ) + } + + MobileOnly.displayName = component.displayName + MobileOnly.afterDOMLoaded = component?.afterDOMLoaded + MobileOnly.beforeDOMLoaded = component?.beforeDOMLoaded + MobileOnly.css = component?.css + return MobileOnly +}) satisfies QuartzComponentConstructor diff --git a/Local/storage/thlab-notes/worker/quartz/components/PageList.tsx b/Local/storage/thlab-notes/worker/quartz/components/PageList.tsx new file mode 100644 index 0000000..6993b79 --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz/components/PageList.tsx @@ -0,0 +1,114 @@ +import { FullSlug, isFolderPath, resolveRelative } from "../util/path" +import { QuartzPluginData } from "../plugins/vfile" +import { Date, getDate } from "./Date" +import { QuartzComponent, QuartzComponentProps } from "./types" + +export type SortFn = (f1: QuartzPluginData, f2: QuartzPluginData) => number + +export function byDateAndAlphabetical(): SortFn { + return (f1, f2) => { + // Sort by date/alphabetical + if (f1.dates && f2.dates) { + // sort descending + return getDate(f2)!.getTime() - getDate(f1)!.getTime() + } else if (f1.dates && !f2.dates) { + // prioritize files with dates + return -1 + } else if (!f1.dates && f2.dates) { + return 1 + } + + // otherwise, sort lexographically by title + const f1Title = f1.frontmatter?.title.toLowerCase() ?? "" + const f2Title = f2.frontmatter?.title.toLowerCase() ?? "" + return f1Title.localeCompare(f2Title) + } +} + +export function byDateAndAlphabeticalFolderFirst(): SortFn { + return (f1, f2) => { + // Sort folders first + const f1IsFolder = isFolderPath(f1.slug ?? "") + const f2IsFolder = isFolderPath(f2.slug ?? "") + if (f1IsFolder && !f2IsFolder) return -1 + if (!f1IsFolder && f2IsFolder) return 1 + + // If both are folders or both are files, sort by date/alphabetical + if (f1.dates && f2.dates) { + // sort descending + return getDate(f2)!.getTime() - getDate(f1)!.getTime() + } else if (f1.dates && !f2.dates) { + // prioritize files with dates + return -1 + } else if (!f1.dates && f2.dates) { + return 1 + } + + // otherwise, sort lexographically by title + const f1Title = f1.frontmatter?.title.toLowerCase() ?? "" + const f2Title = f2.frontmatter?.title.toLowerCase() ?? "" + return f1Title.localeCompare(f2Title) + } +} + +type Props = { + limit?: number + sort?: SortFn +} & QuartzComponentProps + +export const PageList: QuartzComponent = ({ cfg, fileData, allFiles, limit, sort }: Props) => { + const sorter = sort ?? byDateAndAlphabeticalFolderFirst() + let list = allFiles.sort(sorter) + if (limit) { + list = list.slice(0, limit) + } + + return ( +
    + ) +} + +PageList.css = ` +.section h3 { + margin: 0; +} + +.section > .tags { + margin: 0; +} +` diff --git a/Local/storage/thlab-notes/worker/quartz/components/Spacer.tsx b/Local/storage/thlab-notes/worker/quartz/components/Spacer.tsx new file mode 100644 index 0000000..5288752 --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz/components/Spacer.tsx @@ -0,0 +1,8 @@ +import { QuartzComponentConstructor, QuartzComponentProps } from "./types" +import { classNames } from "../util/lang" + +function Spacer({ displayClass }: QuartzComponentProps) { + return
    +} + +export default (() => Spacer) satisfies QuartzComponentConstructor diff --git a/Local/storage/thlab-notes/worker/quartz/components/external.ts b/Local/storage/thlab-notes/worker/quartz/components/external.ts new file mode 100644 index 0000000..0113445 --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz/components/external.ts @@ -0,0 +1,23 @@ +import { componentRegistry } from "./registry" +import { QuartzComponent, QuartzComponentConstructor } from "./types" + +export function External( + name: string, + options?: Options, +): QuartzComponent { + const registered = componentRegistry.get(name) + if (!registered) { + throw new Error( + `External component "${name}" not found. ` + + `Make sure the plugin is installed and components are loaded before layouts are evaluated.`, + ) + } + + const { component } = registered + + if (typeof component === "function") { + return (component as QuartzComponentConstructor)(options as Options) + } + + return component as QuartzComponent +} diff --git a/Local/storage/thlab-notes/worker/quartz/components/frames/DefaultFrame.tsx b/Local/storage/thlab-notes/worker/quartz/components/frames/DefaultFrame.tsx new file mode 100644 index 0000000..d46c120 --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz/components/frames/DefaultFrame.tsx @@ -0,0 +1,61 @@ +import { PageFrame, PageFrameProps } from "./types" +import HeaderConstructor from "../Header" + +const Header = HeaderConstructor() + +/** + * The default page frame — three-column layout with left sidebar, center + * content (header + body + afterBody), and right sidebar, followed by a footer. + * + * This is the original Quartz layout, extracted from renderPage.tsx. + */ +export const DefaultFrame: PageFrame = { + name: "default", + render({ + componentData, + header, + beforeBody, + pageBody: Content, + afterBody, + left, + right, + footer: Footer, + }: PageFrameProps) { + return ( + <> + +
    + + +
    + +
    + +
    + + ) + }, +} diff --git a/Local/storage/thlab-notes/worker/quartz/components/frames/FullWidthFrame.tsx b/Local/storage/thlab-notes/worker/quartz/components/frames/FullWidthFrame.tsx new file mode 100644 index 0000000..f7748a1 --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz/components/frames/FullWidthFrame.tsx @@ -0,0 +1,51 @@ +import { PageFrame, PageFrameProps } from "./types" +import HeaderConstructor from "../Header" + +const Header = HeaderConstructor() + +/** + * Full-width page frame — no sidebars. The center content area spans the + * full width of the page. Header, beforeBody, body, afterBody, and footer + * are all rendered in a single column. + * + * Useful for page types like Canvas, presentations, or dashboards that + * need maximum horizontal space. + */ +export const FullWidthFrame: PageFrame = { + name: "full-width", + render({ + componentData, + header, + beforeBody, + pageBody: Content, + afterBody, + footer: Footer, + }: PageFrameProps) { + return ( + <> +
    + + +
    + +
    +
    + + ) + }, +} diff --git a/Local/storage/thlab-notes/worker/quartz/components/frames/MinimalFrame.tsx b/Local/storage/thlab-notes/worker/quartz/components/frames/MinimalFrame.tsx new file mode 100644 index 0000000..7a95f7d --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz/components/frames/MinimalFrame.tsx @@ -0,0 +1,23 @@ +import { PageFrame, PageFrameProps } from "./types" + +/** + * Minimal page frame — no sidebars, no header/footer chrome. Only the + * page body is rendered with a thin wrapper, plus the footer for legal/link + * obligations. + * + * Useful for immersive page types like full-screen canvases, kiosks, + * or custom landing pages that want complete control of the viewport. + */ +export const MinimalFrame: PageFrame = { + name: "minimal", + render({ componentData, pageBody: Content, footer: Footer }: PageFrameProps) { + return ( + <> +
    + +
    +
    + + ) + }, +} diff --git a/Local/storage/thlab-notes/worker/quartz/components/frames/index.ts b/Local/storage/thlab-notes/worker/quartz/components/frames/index.ts new file mode 100644 index 0000000..7c38c36 --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz/components/frames/index.ts @@ -0,0 +1,52 @@ +import { PageFrame } from "./types" +import { DefaultFrame } from "./DefaultFrame" +import { FullWidthFrame } from "./FullWidthFrame" +import { MinimalFrame } from "./MinimalFrame" +import { frameRegistry } from "./registry" + +export type { PageFrame, PageFrameProps } from "./types" +export { DefaultFrame } from "./DefaultFrame" +export { FullWidthFrame } from "./FullWidthFrame" +export { MinimalFrame } from "./MinimalFrame" +export { frameRegistry } from "./registry" +export type { RegisteredFrame } from "./registry" + +/** + * Registry of built-in page frames. Page types can reference these by name + * via their `frame` property, and YAML config can override via + * `layout.byPageType..template`. + * + * The "default" frame reproduces the original three-column Quartz layout. + */ +const builtinFrames: Record = { + default: DefaultFrame, + "full-width": FullWidthFrame, + minimal: MinimalFrame, +} + +/** + * Resolve a frame by name. Checks plugin-registered frames first, + * then built-in frames, then falls back to DefaultFrame. + */ +export function resolveFrame(name: string | undefined): PageFrame { + if (!name || name === "default") { + return DefaultFrame + } + + // Check plugin-registered frames first + const registered = frameRegistry.get(name) + if (registered) { + return registered.frame + } + + // Fall back to built-in frames + const frame = builtinFrames[name] + if (!frame) { + const allFrameNames = [...Object.keys(builtinFrames), ...[...frameRegistry.getAll().keys()]] + console.warn( + `Unknown page frame "${name}", falling back to "default". Available frames: ${allFrameNames.join(", ")}`, + ) + return DefaultFrame + } + return frame +} diff --git a/Local/storage/thlab-notes/worker/quartz/components/frames/registry.ts b/Local/storage/thlab-notes/worker/quartz/components/frames/registry.ts new file mode 100644 index 0000000..12b867a --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz/components/frames/registry.ts @@ -0,0 +1,34 @@ +import { PageFrame } from "./types" + +export interface RegisteredFrame { + frame: PageFrame + source: string +} + +class FrameRegistry { + private frames = new Map() + + register(name: string, frame: PageFrame, source: string): void { + const existing = this.frames.get(name) + if (existing && existing.source !== source) { + console.warn( + `Page frame "${name}" from ${source} is overwriting frame from ${existing.source}`, + ) + } + this.frames.set(name, { frame, source }) + } + + get(name: string): RegisteredFrame | undefined { + return this.frames.get(name) + } + + getAll(): Map { + return new Map(this.frames) + } + + has(name: string): boolean { + return this.frames.has(name) + } +} + +export const frameRegistry = new FrameRegistry() diff --git a/Local/storage/thlab-notes/worker/quartz/components/frames/types.ts b/Local/storage/thlab-notes/worker/quartz/components/frames/types.ts new file mode 100644 index 0000000..22d7459 --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz/components/frames/types.ts @@ -0,0 +1,43 @@ +import { JSX } from "preact" +import { QuartzComponent, QuartzComponentProps } from "../types" + +/** + * Props passed to a PageFrame's render function. + * Contains the resolved layout components and the shared component data. + */ +export interface PageFrameProps { + /** Component data shared across all components on the page */ + componentData: QuartzComponentProps + /** The Head component (rendered in ) — NOT used by frames, included for completeness */ + head: QuartzComponent + /** Header slot components (rendered inside
    ) */ + header: QuartzComponent[] + /** Components rendered before the page body */ + beforeBody: QuartzComponent[] + /** The page body component (Content) */ + pageBody: QuartzComponent + /** Components rendered after the page body */ + afterBody: QuartzComponent[] + /** Left sidebar components */ + left: QuartzComponent[] + /** Right sidebar components */ + right: QuartzComponent[] + /** Footer component */ + footer: QuartzComponent +} + +/** + * A PageFrame defines the inner HTML structure of a page inside the + * `
    ` shell. Different frames can produce completely + * different layouts (e.g. with/without sidebars, horizontal scroll, etc.) + * while the outer shell (html, head, body, quartz-root) remains stable + * for SPA navigation. + */ +export interface PageFrame { + /** Unique name for this frame (e.g. "default", "full-width", "minimal") */ + name: string + /** Render the inner page structure. Returns a JSX tree to be placed inside Body > #quartz-body. */ + render: (props: PageFrameProps) => JSX.Element + /** Optional CSS string to include when this frame is active */ + css?: string +} diff --git a/Local/storage/thlab-notes/worker/quartz/components/index.ts b/Local/storage/thlab-notes/worker/quartz/components/index.ts new file mode 100644 index 0000000..1d95b36 --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz/components/index.ts @@ -0,0 +1,14 @@ +import NotFound from "./pages/404" +import Head from "./Head" +import Spacer from "./Spacer" +import DesktopOnly from "./DesktopOnly" +import MobileOnly from "./MobileOnly" +import Flex from "./Flex" +import ConditionalRender from "./ConditionalRender" + +export { componentRegistry, defineComponent } from "./registry" +export { External } from "./external" +export type { ComponentManifest, RegisteredComponent } from "./registry" +export type { QuartzComponent, QuartzComponentConstructor, QuartzComponentProps } from "./types" + +export { Head, Spacer, DesktopOnly, MobileOnly, NotFound, Flex, ConditionalRender } diff --git a/Local/storage/thlab-notes/worker/quartz/components/pages/404.tsx b/Local/storage/thlab-notes/worker/quartz/components/pages/404.tsx new file mode 100644 index 0000000..c69b21a --- /dev/null +++ b/Local/storage/thlab-notes/worker/quartz/components/pages/404.tsx @@ -0,0 +1,54 @@ +import { i18n } from "../../i18n" +import { QuartzComponent, QuartzComponentConstructor, QuartzComponentProps } from "../types" + +const NotFound: QuartzComponent = ({ cfg, ctx }: QuartzComponentProps) => { + const url = new URL(`https://${cfg.baseUrl ?? "example.com"}`) + const baseDir = ctx.argv.serve ? "/" : url.pathname + + return ( +
    +

    404

    +

    {i18n(cfg.locale).pages.error.notFound}

    + {i18n(cfg.locale).pages.error.home} + + ) + } +} + +export function CSSResourceToStyleElement(resource: CSSResource, preserve?: boolean): JSX.Element { + const spaPreserve = preserve ?? resource.spaPreserve + if (resource.inline ?? false) { + return

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 HN6!2KKr^r9 literal 0 HcmV?d00001 diff --git a/Local/storage/thlab-notes/worker/docs/images/quartz transform pipeline.png b/Local/storage/thlab-notes/worker/docs/images/quartz transform pipeline.png new file mode 100644 index 0000000000000000000000000000000000000000..657f0a3abb8cb92c6e916f0a43baad1ec0ce6cdf GIT binary patch literal 73574 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 I*Sd%PD+au@k^lez literal 0 HcmV?d00001 diff --git a/Local/storage/thlab-notes/worker/docs/images/quartz-layout-tablet.png b/Local/storage/thlab-notes/worker/docs/images/quartz-layout-tablet.png new file mode 100644 index 0000000000000000000000000000000000000000..6349f29758d7696c8b1e79fe5c51a36b1dabb57c GIT binary patch literal 35554 zcmeFacT`hpyEnYCU+gNXLe=ZyRl$7%X5*BHrD9vhE;OBdBV zLTfMfEUY!Meg66<`v&{4y|Q<&OPoJLe8FG1ixpz=Olng@t)tR+I(1V*C(Vxh#yHmK(pIguW{lMS*@P9l#a0ikQ zCHs&NvRSt8?Bfy(>G&F-*~ghiPQJc{R=JalhDu3wjM-o6%%$Vu@(c2@v9a;?maWf3 znV?7NsD_BpjvYJF4Kwi$l6$w)cA6NHl*zx>+E;8I&d?|93$LVE)!OH8kVVPm z{mEZ9qCZ0qj)&eq;&}UZ|43s7k(5wt|KPy`Vu>*NSqOfUqr$HttJ767lvU3n6A=~v zgBs|!>Njh;qYogv?;^XGB&6ht4N>O2DTUBZ%U{a{vikt8a^tHk2LzRl=|tG)+5taG-;ZeNW(7O*7atY)XP zfiShk5pOxXYS6q(>%OVEk;Xt$x5~=!u%n+IEm9~~-#U9Y`h6bFP_c)G-!PL0gwQML z8G3DfcRwN`Vr5~HT34qzq9~28wJLV+9c|7c@yq4Cd-v|`+qY$9u<1oIGSM}IFMi_T z<(&*DcPa>+?yFp!-qWpe=FIFw5&bhIy4K#r*to-78GY4zozPbmm(va3-MBJbr#t8g z$3~@69rD}Hr=C1}w)unIH~972xA7L=tme_x_3P88Pf5yt9mmU(qMuZn%g(MfH8si8 zvH6U{60w)@&VRIyNjcCvI-F+n(HGRKoktctJ;@=j z-A#CNL(+;85={MwznmTyAFsaH6V~3|9+~K;ucMS3cY>z&I7&-Bqhwg+L~)E6JN81?VoO_c;mA4zVHWb^y(^gY`@iw8;j%l zRHeLiQX1aCmB3T%GiF?1Hqq3ewlbc-(QOZVzSE7jEE?9PSBuH&(#=*0C*qs!^vlWB5+`ZZ3xBYlLRzYINk3eC%~~$N=i;Zugm+p46=>m=hM7%I5mH%MS*K3BOJVJ`pYs)bv6C+!Nn6?dDq-1xlAfUv-{{{rd6a$I5U% zzs|Ox{e03Ejttl7&IQ+aZ2ZUhqj$%FBnkqadlu0htLJ^(bMW`e=`$c<9EH7Q z_b-EFjJpuLpjt(dG0J{)Ddo~ccaN;mJ^839sPjVfH(UcW6r_S&C9*ZWueZqFOQ zyaXJ3iR;nCAqNXV!}>c-=tMNW@;LHj8fIF6kgygxAS|qgW3LVm58vCtr?xzt#v}bI z?99{7vge1;ho5MK4qcspLmlxB^!E0)vFQVYj8T^)AS{f*V3~`mbMpn6ic4a@RBu%3 zIHjVJI5qn9>t*S9<$>eqw^OLw>IE%;M`JHx%jt*LwTSz`bFSJCQZh2)Wr6UT^QrZN=cpjICd#Br@C0Q)=9GkXM&mYo3PCM6 zaPb=Y4h_Pd6vg7Z$M?Z&2vl*L$|qNZZ{I#1PT|1FfeD?q{zMgI6Z&8z_YnmJ^udX5 z@mqhmr2|^T=(5_%%#7y@&+u=*{T3-H7GG0KrGjEr9(!zbA{JCb2B;UMU|{}X=EDY@ z?}^`0D%Ci+L00vQva&$mTkDXe!5DFUUx77)Od~RTd2HZ_MX`J85sBwOfEkTMyJe7M zv9YnLTEAmgCW?sH$1S9bfPX{p9i>v%<&YkbZJ5r(jB4}8*D{UX-FRc1m1JcABJO%t zbClY$W7U!{uoZ}!YDVp#X9K&hLI*a$>(bZ3nO19DQrEBHm3|AmtgaWB(ONa4UF1N1|JeORF9Q`KVOJB9)q+p_ zX{vZ=y1TnqpNU)m;Tp4WRph3sAG1qws%po*^BJ$yix!J;D@8oQib;CvA*=pWBA*!F z=)MP;^XU8E3UDP{&=%hG^i9&EQtJ{6=1pC!larHmrLT2f`*?p zKTGU+KdaU;7HH*%=_tFG^K5eDk+_^SAy4;KBIV_MZx324xM6B~$4kUpDT!Sn!ghc5 zL1?1JKA%@uMd3z(en#WH^S#wE;w#H8N=YFz1KRlb4zYDdNl7pC)kc`^*RNk;HqmFi zjSN6cFxHq?)k1;CR03v1dw;H|sA#Y$#m!$-J}RbU}1tMRNGYms1$y=issxdcYqy8R=srIe@|Bv(qm$ye(2F>sU>2;`m7 z2rpnz2_nM6OtwuSXghe;EF0tEB1>s2vjNqfH1QG0(=1yKCu`tWH|RNf20eg7TkFvu z$fjGHwygi>++Q~itsn0H#{T^KfxkBjr1ro0BmY8rI8{Hkx&BnHH6>(eW)Ls$R#;dV zNZNNWWskVt&Ye5UX6uwmR+kt{UOPdXM^5F2BV`erhL7|O*2K$LlgC*nLNWeps3n_Q zR9L8&tkOPK;2o`Ag&<0Of3QopmYaXw8kyDudf>WiPtg#33*N+JolyErxQ!r5KA%D? zH}y=|ZJ9He0=sPZgYsmV*UUim?W#zYud0TExw$#Kv ziHUPT2WD~!{M}rOlJB+GNm4nMM34`0tI1EFKD{C~JCZ>NS?qoA{K_lk9m-`O0{}SC ziUMN>ENr*djfjRLYU>Nh$;+Ea?h7J4I)VvazkGbo#$Kisd-M<0;z?FOx8vnoc|c^0 zFloe5uXq~KZ*pd^CPFi@{KO((zbXv7 z{0ksQ8oO`bzD=_F*dVW{sHmz+!ffw{(jPf@&1`w9weW#YHyEZ@UY`oY_ijIW8k zoNkq?Wi2Qq1XetlJ?cU8<6Qf$fgzM`SYi_VjEsyt!9Ks; zLb|nX3tl_|K(v>QBWrJj{)D_k)y^s?JiD9@heQfm0HW%Xxp;fuK0ZF6wu%S53$c$U zyGhFO@~z{s(;IWLv*G03TwKQICpy=jqyqK9?|yh^6?ysiYFjaJalbMxx^Gri7SL?C za8yKuDt7U$aTcxAM?$SgNofQQv#YCXanV2Zsv}3~TWu|k6y#U5Lm=DN*LVJ=rE+_H z{neU)n6vy5B_$;fctzxhUf|FqBqix)G=jN*?|kaoeIhuyV=dX>2Q2b|#Rne~2vqxg z2?+^Uc#!bPBt6_3tF`tX06KCH9_9iu? z0a_X#AJ-BIHp(>WFx5ymTw3gpGKcvTn34RaZPE?zWH>TrmliL>$tv%7IEg2__kK(k z;X+cB$AN8zt)qlhojwnK`0yb$HB~dM!B9~kLQ{>v>3ty5cSPBDu9DCC{mW5DrJv`D zk5&Q{3QqyK(e@SI=8qJ?d3c;UH2KOfb7W+MX7BhWCnsdKR(=~HBHYkZ+2kM-Hlemy zFhW*4-LN4gYE5_v??yJYw2Z*nxx1f?ss5SZq-g(s2eH<&bK-`%dANvrK#lL5P(g{M z((BI+b%O(bA@l7HK+=QZBi_s4>I(=67>wi?X91+==8z22l-UgftO{Iy%OT$;{E-}KwEu%eH8W>MedAEwz0&%@FF+5o&tEck6U{ISp`Gr zbHX~#B?Y-4j+ zho)4OdNg*k+0WJffq~1PBLt?&WyQt&-5P_0mtgJF%POZ&8y?$h_F1(^a2AeSBxLbc zhUWRIh1ZkwvrbN#Q~+uSREB5Cu~S-m&e%IR;Lj?){tWcDttyc~h~l-@gY(3O*x0-< zjabKLvF~n3#$E<*Bq&4+pn&+Avv|);qt~rt)#e$1GW5}nlpWBcecXc}!`BSTNddD% z6P-ohJyi{k$S-F56NXLKus;;P4*?{1Ei0 zsKe;QSyk1w3SRXq`ubWykJ47Q?Av}XuD3M^QydxYy9-<{fJ5?#0iK?oD^LB1g$=uY z#OrHmYLYqZl?l6ml~c+-x56uJRB+Heze zPyw3B$$(wc8Q{PbgD;AuddlIY_HO4)i*Nv%-}Bk~(@)#)4fO|-l2=5KOyskOBQ zk4MP?v-UIdj72;MG;maXyNm^CCr`2sb!;Lf;%laR1wgLArA$8ax^r7tMnCx6Sgz@% zy3T?*kBulrKKcQm!L>0^0^4%sv=Ngw8Ov@E9FVGhDCYF|#uDAu~nSzKML$9Mm%TE6p zVG$91@>`Jf(}dR1QKuQ!Zy*~d0xo<34(}{-o0Pk%{M}JDK|P_#>cSrYCt-I(T%&s; zNh*yHlZ#U$5R#Hy^UqcBT?GX&ID-j0%cN82*u+!7qX3=ag=#-q@aG0$Fy^I-4(`S zrT*fMu;2p+4g@St^(L#g#JTmZEztEtIG;ZKJnKQST8|7#bpxL5?YSE93M)z|I!>Tg z5txPBN)0nVwYsxLo8_W-5e+}oe+oVkpgb|Z@X1ZO^)UN8=FH(fQ0ECzor!xJj!#Px z=@L&amu=lf=$KU{`b;d2C@s!*#Isl|tQv)JbtKO15c^2Cfw%d`S8+*oy3-TiCO!?u zRfs*rTx`QCDJv8EJNr5b0Igy+Y5-gPbVLEryN7b}oWe$J`r(PWIcD4B<&M>Wh{umz z=-FL@+%#+;s5-OkIQKmt*Xm}vJyhm=UF#YZo}Ev1hp@!ZZy<|Rw6y?$PKc5LR2*{( zK?EOzwK3J1S6W)?aAIO6hryOrQ)7d`zZm5wXhM52c>k_)hwJZJzv`>6c^3uLIy*ZT zVQ5at-e4;@I{vYCylqXU^ru_-9(>`IfbcB}z&o(cg-ZgkIhTM@7G3Xjw?)_!Xh%Abz-@Wqob z)_hNhpFbfvnd~=dH3t)(KBn6Xn|tF#?2C+=nwnZs+G*Scl$rIxge-Tf0c#=Z`@{Qe z4=~0+J|`zG!!%vEhc(j-vYI2mM=21f@*BM~cle%!jr%hfz{sil(MdJjk@yeULSud5CS7h7mGwTA;adV(dw_G= z#(W2s_;GH0+~q{9nUz&e>sYOfRjGI87Kx2W$}V(z=90<$or$GavzmXE%Gfxse4qqJ zP7>xGjtk#S5x;e<<{r(fV0!xNw!WYkbc3-t<;iyG?)WiQV5Sj_hzYTCaymhVIM?zc zIPv-nr-F{;Soh#yQqqOWPH()(NbI5^ulwdwl@*1MQUG+*@fnfMC0pU(I_Zs`cJmgl z>4v|lL)efu?K)juGa)-BNAwK`jP9Zr;Yhk6YNk7>oyEa)2_@SODJx%=&*2I!Y6T5A zH#djLZE*t0Rxs2klz-dS#l-~_cwkv+X@dK=OKJqSI65eDP;kML%kE~(etCI$zuBSM zy9>EFIn4QX>HP-|++lC+IKEP8^KPjSo>Rr`p7^8LsaARSD_;sa#jvojTB%tadzJvI zcMp#MrP5jsPjd~Qo|^>{C@X!Xb(plr{QMECETz_P3zp`rxvB&pVZPu*5TgW8T- z&lE5oe=J1kq#${=?4dnX)@EQFIE+nzISp4Uo3K{*N#P|}BL3&s*ejEJ?z@1DtE9wB znB?5G?2?n>le4NQf{1LxugdGAox zxJBhNXZDEHcJ+0-QD_tCs+A0vPbSH4<^JIV)Mo(E!!hw$W8dBWMG8y~-P%l}6EW4I z;~XIYfpE^4F0f)p_GnISE^wb5ufQdhR5|_#Fy$613j zhv`6=HXFVpl-HZBQ?sga7B>0M3mPknC`NGi4Jfs3yX`3N$2HYGsLO0y6J|XFXi33AL~zCQnUA- zSLGG>0!B3eSp84I4^zGM#gjK)>GWw&kVoc4n6s2TQh!k~SOY7K1e8ZyYCCD<;2`Q9 znmnd!ahAXlq-?wec1dQb2iOBam{Y<+LL}hOZ{M!0K7%M&XOW4%uCCCy*xjdS7R6vf zOv*Kk`c`C04o!JT!Ch=tSW*SM%r&xwh8>gm`PhUSODhk-o&(+nn>Qp^&HD@u3vk1O` z_fmIQ=f&F>ax6+tgJ0c$zmIL|bRw2tL`3Ak0aFVL?A)-y$9qYMiQ`R)Pr&2=-~c>{ z$f&4EzeS(at6=A_<8e#z>FMbc3p*dbk^aK|EuB`yf3j?=;JiKm zQ2J(x1^5>R_rW@afS>YI@P;G61M8;*2C<5YU~Mq-%dZfuTV+1PEmnv?P`l~rk%|Vd zxpi<8l3X^26ot|g(iZed$gcX}VDl+IFThNPEYM&Igem}Ysi#JEqu46x8|XY_*^*=x zMWvryJAm}Kt_Ka)a_lTvCf32t6_sdy1)5bh><5AG+A1{EDI_$}YXjf|0Vo=oD*!cr zA~r#Pb_vVN2WSKtwT3jTi8xNkpQr5h!}|A~r#pG|){|a@rMZ#N-~*6u0GN?4=i^dM%sJU3z`gGNJBbT&Eq7L=5#`M_;|-9Do%dngfJ%=))m8@=(w zKy>MpA5hf~*M9+gx^pg&3voXNBC}No9nu$)5zwFi6=VMk!vp_r$m$>K1Hsv<6N;&^ zJx#KLEz~ea5d^sYIrGuiceR*t^33GFEvuENdW!R;>but3i zaSJy$e4v-4)I3&zj^h0rq8kn0?R>pX1cHxIp9`){|L)@cCv5P)JBN)VE5wZiv|bj- z8bu>2R-`~M$pEr|>=RhNexkyulj!9>+JrI{EATnGT8$!z@79AW2@*3|HE7>YjC}^b zg|J4igUQg9-dJqolpM|-y`roDjUsta(2$Twq-p#VmSiQH3!6oJqBqpNvcCx zCb?_|j-8QT_2`)7ceo?V5BXtg5Jwu`!=+^?7BjL=hM`IAT)NRzke_cb225W#ApoHE+Q^PC)fqQ|^@RB%> z-chgt8HdV3=_|O%AQ(74W_{q@zazDEf!}|%CIvRH#jKyjFEHF2aj8W(aGLsh>dNki z@KC7=?#SWwuyVPm@^?sNWD9ZgP9w6 zi9V@uFi=Dp4WKRPE1f)9|4;86Px9*?VQT|XHT?5kpe&ktrVwZb1abd;eQwGrL58GX zLh1!q@(T)@J7d8$oLD`-S;P8=l=gO@tx~K``7gh4aq)-bC*XQOnt$ZjZ9o*>!h9i? zs2R0OaZ`%OGyn3O?%)L)D2JRRCI|>iWxjeh2rMqOQrKYDtbsv5VJ|!9#&1O2_wM)H zs-gaNV}fOpqSq^Yh5$eR=+HOwS_2NX6d7j|)5U>r=p zlkf{@{gWqqtoK4LL1@}19>-`w^$;wemvg3ISx*F@)EJtk6>87xP?xw(>0$r3=VySd zc>J*FW~G>Ha-8>td>!D-dkQlU@Ql&RxFC1{{cKo~E1__8g3flWa!bL&+~^$kLXxT& z`dPjDCdUrX)x~Mb3Xw9_BN=(dp>CDEKv9Q7%ivkhJek9z(ZQl>;2r&B6~MUBL_y)j zgAEb8sELY=AMT+^8mQ}Uk3%&rNQcjyTa(P#P6g@%-V5x9;(NHxWSVR#SN-L>OfRx? zers3E@SRegFyR!Z3*+0e9<(`lAvXgjw@Iozf9F!ov9Z2AzxmSc)#A+|7A8**l@IoP zI6rezUDeCYls$>#5I;nLq$q24YF}K>;MD&GsVxYGUYoATu>h22F!PvdC@o>)eC*C;lS?|NKAX>fOIG@&8f+e`VzVl^pz6 z>i%Cr`9uGI2l!;tX$1+v>LQSvGu2xGlV$_{?wY$9=}BFl0oP}FGz-=g*tvr%R1+|c zo@9W#0N)TP1k);X%OsE~`qh5Obppla5+sFym4hslgP)qCwh`${1#A|(y6DlFg&@i) zT*X^LAa83l9NjA!+)@n)&O)Lv3^WP@z{nR^HO(+Md%2Z@3A%`=_&_-AZE*O6B4n$S zyQ)B5@~MD+R6APkL}X!&%%50bcE;_aTrGKb23bHOUT|srr?=xjyr0v}g%Fx7GTd8P z7!S$Xhqa?!Ww;Pb4Y(%g_1}Mh|KS<`my^){=M1m~6Pw-jf4cZ?;%NEpIMHf!r(mz@ z{x8@ga>x9J9`=bxeUKK67Yy+AjT6eH(;-g~jA(^5r6Q88fmHZ+qvl&T$iUp#fRGJYbEJgqo6<$``q zMQwxZ8?W}9?mWp!xgkwu1%(@CQ+96I%}&8_KcTX6YH?e=d#0#1IMULq#>os8*WLvS zgS`RCGQzL!1Y)r+HtXuN0hKbL?)mL+*jIzmJ3X_zQ+lVfc%Aj4fBvT%5;dNk>%KtG z@zWdmnNL-y8I5-g_J*e((2jn2C&A8?NbBx`w1bq8~Pt9*ltoEt7$vgUKY2aC0|6kr<15+ymQ2t&5! z=$NQBaNR_!yUEwQH*Uiyt%u$hs&_x5^Ns~jGPihjp34t;HF<&&nqyHSQB_L>%#^2} z^YIV#2S?F&y3@DTyYGQ`YfWBdMT4WPAWuzR8B-fdV)}ahRfKsS@Clp7LE!luaD~ID zdht(LCO6+H1JHvYCp6v5cd=I1FhxXv1xTMrGstf*bAPNEEef!57Ih(zRBfAgtR}6& z@$~b#K$5I(jOg*2ykn14sQUW)V}8fSy_N1Hbh89X3ngpz2@q=Xx;i_Z-;D3d6%-Mn zKiG_#3scX5-7mm;SJu*1Yi5_qtRCeyITZj>wJ<-wZ&&HDM-XK_s~-Joq_?+s*FG!* z<_-8N(4x92{T0bQ+ZnYr%F`h4v#X2E4x!K~gWBI^RTUN6r+7k0R+A8R9hMQQD1B-iNlZ)>6c+A|S++2J zQ%1u`G@##;444O7!X;=|S4-aoEVyKrNwXi%ZO3w7H27wp|KiwdbAFVQ92~^8ql220 zN=WAO%MU56P9MDA0L26;zwOg+%`ZX+)Jeqxm}M{0nMw3dREWMI z^gnD<{XM|{gO&f@#DCP){!K`KGt<9Tp!8+AqD9`qFMHiV4Yi0gy2v%kx)ya#_$q5h zQ}f?;Dnp74L?HQi!Oi7hJRlsc;)rH2YW%*0O=c`LG&BH0#lyq%=tbN7Be1~oe@x** zdc2-p5u;&D!nlzh?NexxD<%sH$jq|S!O%*iGFT3eUJUyZ!TM<&{Q#Qk7>dcen@{)# zo!tLM&3bR8?dc_mg7F;%CDq{Q?eD)Bzz3K>=Xwdk&)TS&$bqD>T6?eQ0o&8ZYdpiV zHh@*E31DsL4ejVM2wY9Sm8==@F0EvN3UfGuPPkaIW)zAE!|KrKmcRweiIIZ^HCS9fw-b)pBja}DDLA+xd8p21)=Zv#(1zx_(%dm0A7 zd2YtHS*#rXy7-l76ayp@iOpQiHQD3>iR+W3V~<9^MX1w5;_N1TSGaX(KgZck(kZ#* zZtNy4(>Qc6CqDJqS0kVzA^F^G_EvVuTl^oK5+^ylfK}0pV>2q&DqZdE+KqEc&RdY4 zUx=NO;1&Iu3-AN%v2e+>f7zvwBt6*D7sucPMupx^I~)*Yw(1 zdW28hMV7x=G0Wgf>nOgW*IkxhD#=|A4~c@KVj&a0#O2auOq?B99wy0hs7YQt*DX*` zgbPc@K4U`ifW#rpSD-UjobkH_Do?EPuA<_jEp#z8+Nc z-Vav+m*q88#{nE4^VxmUX9Rg#DGQ$oI@wy^iH4MyCSv_Bj>(n0jj0|$!`Rpt-afZv zlo_!&xlu9zVapY;A=Uax$;r}Wy~a6v)ER~mO-<<=aXgr8ecn9SEmb=nG?ga# zN#&+)u%AY}_qBV-;lU9JOnNh9@J9bG4O2vphl8@pjkjyJ*?S?Gk&%(XY7`a{D(IXz zyJ8jo;>M#UI3Ok0HK|nyyILfOm36zwWwkQw^OqoHq%35uRPF3x>MR5>FX|Jnh&5jw z-(_t>T5bv#)o#(hlEXQ2uApO*ydqtbH)_4((F+B2b!#PiH@8VBa&*3bbMM7>P4s-p zv4xfJ9p-U^P=J@!h$-ffpaQziG|n!WF;?X#IXH>e zB>m`xuv1nub8^yztF+lE{Z7Y-H}KCWUtz*0($M=XzWITHmm#-+Ni!NDn;8T}#dBdD zw}G#O*CKD(bT|-y6cY*+w^bvw%9Era!I1T`SoW-qwyK!DX(5GzYkzuOg*3Irq*?xK z#+|_SJ29dMc5(}}^rn-(J2N{VlNI9Y`OhQ`;s);@_f;eCNr0bt_9`)%;^*hrx@9=s z(Bh}w9Z?pgZ^s_oY@%QCNvqt!nTxhqnL-qTMBjqGfHD zNy?#YfMuG_L!I#Gtz-tsAbi=U*v!&)m-&@735UR@G+gkNulJVMLW(-G$vNx~Js+vg za`O3A9fhN+0D7st z!Dw#8c((bn0!hnK`@q98(ZWjVo@=)i2kwmugUu)x`s1^_bzGo)nR$9QiGH=e_%C|?Zn;cBsn-b3)EDqUl7Dhv} z;L2+U1404=Aw@KoSmSRlS7P2nyBuwMazBI-Y!n2IsYZMgW*6R1mZY2iFce@#=Oxco zRUjzgR_=tgU>p?$eTlSc+nKAQv->816D!8V7WA+hug!mu7ET5xq?pUFO}e@FAfZ~H z(bZ#M)E03Lr0m$|mkhlM@bgixFgK%oxyo|=*j&3TeC<)T{;we%cCcw&vyb$nK9COK z6~c{VHw2MG;Xrp+AlfmnvvxMMj`v<1gAg6dG|u;)Rc=xCfltkHy_J}0Ah;VFy-nj{ zs$aH_LG}%bi-+Hi76l&bG!;P*a~n8eq_uFr0~7~DivoL=#C#y@1jXc*`SgZCJufb7 zf${mV-;2_pdi#29#x;Z69*zKluKxtxu!6w=@?t4{lHRP>ojwbx!@24qkatx*hN%q8 zVwk*klghP!y!WC3C(VY<4TL0$PC9c()lnHcI!F=;YJM+o0C$KbS?eux~M~KndB$Bk6cMI*88>NM+d|jyed*k zWIy+U@9VsM9B5FC;j+q+=<0hlqCy>O?S(*HR+Xr>A!W!Ur?A7$f-}8?*E}#=LO&=! z3!LxQCDd53O7?#Ov|yCJ0qGe*ar@*a5`Md6E`FEQHHk8P{T)C4T@?y3-0!iD@3J$6 zgKnOUw+n!XOp>0AMfdB#CN*_+il_3tzY3E*($jOZBGx)nO@ZjKq%p9Jf4!w^hm`A& zl<{9BCk!bw?*%YY*3FnAK5GJj(E8wyCdy`DHuOkUq;w8=R~x#KPDWcfUj>zQ?9q!5 z@lqBL<=W~+1Bk}H?wsIx07_LwI0|wU;LNWlxyOuvx;#>ocTrZR#uN0ndWecJ1J~i+ zZla{5^qP>}IAY;ztJ*Xape7t8qYQw>a!_^Nc%D#wYloSdAWyFH^6f*qjg>oM?Mf7= z2?bopR55D%>0gSoTgTVlFgN5B{?uA?JEO70z3j7LEnqLszAzrZbh$r?K+;aUoGI98 z{1K7smspH;ffliK%+6*r@58a8#`CfVp%w+!rEGTYY-QLVAV|Hz)-2Sjb;Q8 zX?1yTnw@^ScnV(&xkK?{XLEmhxfVj{oRAh~PE7bHCDCZKWo9d+K27^u6pR34*o#j_ z%j)Xu>CMm2w~SZ7=c+0y78E=YGA?z+Vk)<3r8U@|9$^LENf6UEoM^6{#f}_?!s1;S z*ee;0kkKKf3gFSbirkeocEZO_=n(?z_~=v6Q7P89gjK`W#`!wHyDZ>VU5Mzm$5_W*4b5hpmnGZ3dC0XIykn#(2 z<7l6kdH&+;$_I;3hfh>uxU#JeyQg<{b!GlATNFaX%to#*Y|jCsknfk`#*v-eVU^CVs&hcHLSE6kXQ#22&3i`xGz${=6EtJ+R7~4}hH{jBO|HuuH#5(cvG9r(UGTc` z$wt7RH8rmz1qNb=ohkTevbui0zRUrVNn<)6ZxE?_DCSD&QF(Uy^z<4Om{!<9;!k5Y3`?#~seSGF#VZji-WHy2BR3InF?P;mguM8QBpCF_+brt(=0z%8>yI_YZ zTNk_-Gkc6gm>&JA;F+oLqZvxPh7gNrZ#=gWP!jjz*r>=Olnc=yA+lg_mbLiN?Rr1H zs^4Qx+pm!o4(uA6A3uU) zRz!SO3$}Qkq|6E?;nkf4{!>_J2aq%xE~{Ha1pAHon*;QosVQtNca>861c@2+W<`0C zlC53kQVuqntJ(CN&axvM(gs90OMvrzaS=_T>xFp9-HfDTCj1Se z{|%yp6#eIz;NL>^|01Evsp=N0DD+`$5ya)$Z8$FZ+Hz$>z_9y|Jk^)dG-5xrxQB(^ zP1yePc4h9T@8@m1v5z}qJ)cBAa!rXDI4F!sQ8kKbm)aaTZ&-ew9`a)6rc|k{jgwZ^ z$A5cayT-b-H2Yk5B%_MpsAWuEUg3aUj9&lo{O`Z=hz|Ze!aDQ)kJ^X*)F9-(kziFo z)cWZ@mXiQ;AFlsIyV}pQka*Lr{nuE6wcGz2DQ5ZfegT0oVL?H`0p)G(T+)NM5ppCK zlE_ED%5~Cc({N4C*I0Fq8XL0j$jzZO6FogCfMP{K=5)g3NyeAfQ%ISp)U z?e{)HMb%7lU)Q1%H{wo~ZZ8T)9!sn9kVN65SP2todP$;C2n&)L8c!^`uHF3z>^(RT~A*`;-5$Xp7x(Rfd5JSh0+!B5Rx2}lj;EU2j6lAit=w7 zK}R?rEOxb{z&QXs7!I`JIp}~^fsep`BIRE?>FA}dpa8`{0n`l$&VC0EGBY<+D}bgb z3W9$O-bz^p5~`lRfj?A*1lWF%I}~$4BU3rKxJeZRIWqd^QBz7ry_L|;qTPGAH1?Wu z?b0BBA6(CXBm(8=_;vfQ%)62+5RJ>B+&7Q?0Vvw!v97ADF8wQn%Q~Zn-fDG`gW6UoEGR50^6OHB>V)Di zPc<(_i$WdbD6S5Q?;ePRC;&_c@sty>()Mq?rn9WqPN=en@NPp4hL<2jB74_C$TyVXl}r34j}>e_r63@ zaj}0SOYzYQ(KH%{&>t)FKvWyrjX)7#cNngAS&I!G zf+8V#4Bf~Vj?hR0qD0URh3_<^%x_ws(0j;GpKEK`&FF)eftK8#HOF~JOQH1$IoO=J z1-aSO4k6pnBaqGJ!fR=2YCx!Xj>iW<%M{;gFF?ZBC<|-;j>57(0JxRM3o)zNgn>0^ zf+{X1_Wc0>gjKg76l{SKNa8oE-FzuGB#lqR&hTycQ>FV>#^9&US3|%|F+~xtf+Q=yUHro?_&;H`$V_1DJM>WFAiDokmoD8!t=?a zD|ky}msbhZ=lg?^ec!aBT`(9qd@VCs)I$*JRDm}k+{^1f_`wcG$(wBc%?yp+x)hj= zd_G=j;{gpVKpHx9E2p=^_b{&}odm1k#j%&|rix^P8%w$A&C5`L0&o?rAA0gZ4%4+d z9;E#3{vaqb={|!@u`hG@OGDO{@2JZOob6frU9@_1bo6PGJk+4TiE_)_Zx5$KH<#c= z=wf=!($>ps7NDPu;09qJCxz+6Koa@gyN3K*myAm+tV~T0*e)JXAB3A^a>&4vhafbg zS)kTu1PcJ|^!3>+yFc+uX?KCbbv4{h?&q^pXQ5I!YUMN$+Oy{6{dlnhyPPuhJDn>}&|CY4WB8?z>) z9Ro}RsJry{qI`&ZL*&KU+IsRD+=oUqO0&xK8ESr8ih~v~BrElb*r*swmdY2KUYIU) z9^you^Q(i#fjv9%(BmOIJUHY_5t$4P0(`4Rk3h$raYeL3_uxhsH#Y~75J+f`2r0dI8UKL1MXuz<24N<68X|Y z&@a9P0M6uHzY}M9i!-!LqDAinL;u-fW?2I?i|&37b-&3ZJpJPQ=P+?hQUfJwp{=dW zv8WUHYfXQwWwe5t;pVc?NQcT|JRW+btc~IJUWDGLLU}X{WPI*X&xHi@S5+dxa}Cf- zsEdO|ko(Vp+E3a*G{dyk>_n`wu`#p~AUfL&d7fFm}`o=z1tg6y}S2l#IPDJYE6iK-d& zBwR5CmRFui_WfzL{&J1mT)gtQke@yES2|iIPptOD1qB7s>ahd4PzmmGQOG@NWZ)QN zV;W}#Ltmads}pf_wbnZYX6=SumM^gb&p|x2yUO#p=|#uV5Yb03Dp-owvyD0PZk+i~ zYx3Wx^ES@ma$&Xc!gT1h41G$UK+eWZN6^qfJy7%iz4icThZTZ~x;kN~!#K-lKvAo( zE_riFu-QOmjo2bn?^CcIvpsBaX_m2(xndw4zk>S;q)FQWIuZDzPg+n_z(Nqz2MBQ% zZX}s-6bm&d!Fp(Km41a?El}H5?00ZQ{H4(e7U34eDa!=}eBCZSYZ-->Oa7ICt8C6xTb1Iii^(H6fcjh_!uekj#xGtEJll9bJ z65oA3nCm&P@35(At9JANt>_mkD=XoFg`$kTgvC-2+auIN%aV5|+l^N~IrHpKN#k&C zheD!4qrSROfb$1P`H)kEmf2=EZtS00Mv$FSsGd7{IdH!I3-gp`q6?TbJ0kaN^wysj za#w%EhHhYP&<(3k^-z$nliGA%yI&?%+5L4*^5~WyRq;^^E^~>?P_rF1*Tw`3CqC>a zSjgk(bgyn%^LG3VKG&qf(>4Fcl;t!_%uQ)u)3N@xVcS_y{m;ASsz0hqje9Ix(pH zUGcTi31~=1>xZRn;T3)EBL4UOvx)#5LwLvt3j2+u#Y z9p7m)H4xu~6`}dMR%pHt0%oC@%Ir@2gJFCZ3WJ#3!>-s>{QiK0u z1N1qDAhb;5cGDNf5}>zp)JB@xDJ@l^`zmylFxa~WHAo{da6#3$;uUU0V?VmPUmSr| z4+G143EtmPk13)KDplm~(pfORJ5s@{6M#yiD};9|kZy2v{hS{sv))cJIv6hG$8|Cd zJW(!^Y8bz#$@0BFqogL?mO&an06o#h4-dnaAt`C(%sd^^+ilS(+S8}C4>w}4Dk?hG zRGoJ>zWIJP&Wi0ndB}EQQB8Uu4*Cd=OdnkN*@2#}7OS}8DQ+c4`?~ZV6#@OQapMzP zpz%AjVxsz*f_8~PwM%rg=mFblw?ca>eh@Pw)6hvuPX!14+NWjiukLE^>iU-BMJ?=j z105#jikqESZXY1Z2E*@Qvz z2dh{7mwcBdN+eSun`@2loEz9n{1HReJBvM4_#i-IoMlH)l->u8D(vXhkiX5y1JU39 z0K%G8NvQ8QS4_h!U~d{ni%v$*uO5`( zN}E&Wy+G7Y-OdwfIZ%2h56vzXmX0*cexAp=oPhlQ%F1!MgBd>1H2^w#B#T3V18nP` zlW9bK3B-LnNKdKPkb;NSEe`| zDsVa%eoBFk4WO@0O@eHHnV?kolvwCRixOF%z_Z{`z3uGMsqx*2rq9@$ne2XiR? z-36MioU|dY&3BI1_8F>roxN1Ubo2FPwlg6}Z3;?d!3?aDVnT;}*iC2+$d6_Danx_Z-a+@5u=nF^ z)Z_E>YkaWI>u)|o-b3udPNa(J#a+M!NayO|{-UQkGE3!)?d6Q%4LOsOE^A82xy46dZB-eNd7hi#0xgUW7DWN-9 zP*rI!!c!bC4|X)#0}GLEg3`;zezc1`G+{#Bu&sarziOnWM-y*w2zL;m8iA091VXD?*( zsb|Tm365n#>jy0(OGjVmIu5mN0aT=XMPki)7^=)O*4oDTl@QHK>kfT<3lZzJ89CI3 z<^{tl{$*Z$-Lc62GA;C-%l}G5;eUf%9n=TFj0QQIVOVjn41CC`8*Xj|J8WPC1@?63 zK#nY0iy@(BponkSTZz^WIo3nUJCT2t#(}>HQ)L>MO|3 z9iZdCG{Ol$bNz1kgAEqK(76bOr1ZHE+|Yv;$iSPc$1F-b2Z694MF9n(PQHe}dI9}z zppoM^g{%B3q!)joFD@42j%|m{ijVrg1GW3BLi(>Vpnn&-w^5md6m|||xI%snG|~hh zc0hFp*lwlJp#pk8p{S_vCgcS$+)aPT1<=cgSpau7%@v9lArA#0Iut?OfdGMr_D=l+ z-YbI#|AhAtIH3JJXyb5Uv@zY)V~-;u29C@7b`V8bXP3PKbFZAAndY}8djE)PJI8|08v8IRF6AWln5kRaZJil7L{5n4wR zMQ%Y55`tVJA)yTrgoNz(4eM4{?N05~RL|7(*8cvmyb^x-<$a&``98F6UFe5z9TVQ~YB@pWyn-eC1EM)=v#8zXDO_*N-0l|4k|k>VKaH_P0Ok&S({^ zi=Pm5Bg3xf*%+2&Jw})%rEH+ACC70#R4gjY%LBEr{$x8q7mpu*Ll;vp{ZEK5@8*N% z$lWkhgb@%C87WRjQ4enki4Ui_kl0=qn);)DKEEF|R-WEyx*$RBFHaGBQ}hz?%-J^4 zV0WEi>Z^N#Q%tZVY zMjYVai*wIBMRhwIK!OnfOBEg{p<8{>fr;a(Kjb4`nR=!(Dj?vFuQqNkSPA=%?1^8J zf5@MyWA_O8Xw?C8hJ9*yawiRrgtHnR5Cl2uunrbv8!n!A20{^BVj{n_GtfQ2m*N6HV!5Sd3_iEvX+*Zn8GRqSLqBeR zjXFN~esN)l@oKSQl`@%3k^JbIT*kq|)|N1E%*WiifVjiVu7W-e%G9ZP zRx!HfVQhFZ(Q`W!1zqjUme=6m2dMp&ZXteY}pn)PtUVvt-2>LebH4>k*#?{&Kt# zIwF)kW^13?22i4XDuiWZ^jxeBFB0Whm;iRRUz||LS&nMiFgQ5)PSvel z)nwiSVKqb>0wqU+f^Zba%!aJdYv9U+TZ+it=4Q zncPiB(7=wkA>@RmrKQZm#kv~8Sj`se0bY2CcEnEb#ogVjoXQ_P0v)X3$8YidX+BRpb zT8lC`kw9=&1%zbM3L}_4sf-DLJ1Abv5DutrSz@0GlG>deF`3JLaDd=5%MXbPLjJMk7vwhzF%S1f5I zODp;fe%B%lXg*wI9f>VQLOkQ&Ua6yrQTkUgm6TU<$j}~f4rEvf=E3cl&ukePi8vw! z#S=~NI*~oV5Ox$iPeLfRU!22r%xgHQF6~1WsDzx?oE8uTwb*e^h6o#~8s}H|ShSzY zeg|%ytVYC4t&uvnba(jjHUm;)oC#yJwpzJZ!VS?3ce`g@$t!!GF! zmphQ~7+d@4w`i2sTZbi?xDT8{AKk#9Ac+kcK8|bQ4K|X3e~O)+kx>fL;n*ND3bL9Y zbH-5vw5&N3*wI=W=qvl=!otFFqhpY{D8S`>hkIQ>7Qj0L%`DhYc7l|R(92MUn3xUl zWdam&r}7FkPkS|!EH7@q04WMw;T>YM`vb3sg>Q`(J6IgU)2MCNv5KlKv*|zr7!_B7|7aVOZFi4Pa85`Y*{sXaQE{5gTCwk6etf z0=-?d9aJQceDL&>6q%{y@kYeXFwjmq3c%6uxf_IOgKc?|$;`-*Vr0@Fqh0!SYgSC` zP@SE8ELTprw;4X~`7gRd%RJg!Tl=lukaqC&Wd8Ugtu1R(z#Uil0;h}tG2`~Lik|*i zC=84&`Cc!fuP7PQ_r^M*ocKQ_!J3`Fj21RTBX9w)zh&j%R4f~;-~!jB<6S(SNBY%m zEgNy5_1co}YTZ)BKrO7lQef>N`M~);cWhUl8cE!VcTw6^BF?kAbtigBW?5*se2 zr@!aL2X8l8wk%Te7O|%Fhm$wpvzL8Ja&PEsw*!64Msh}FH21^N%BA$qnNbL)#e+RL z)PdoV#(dkOl^t5FZ>P$tXHZVv4kSiV(H%azF#$Wiob>ha+sqhML!*0}+^`8u$PVJi z;s#e}W+Ba{$ex`z%J>pDwHB7A7~fIXvH^jBM8!ZBZ{~6xndpvS-6ZQ`lVZuIkdzPr znNu=hJP;+Q#o6gKN>Y4OHQ8PTu2nHO1UU-aVy_QontFS8LklDNB66W%1BfL^JSu%+ zBYlDpdmx&P+(L z2TIGeZ0let(fxK_0`E*OD7H=hVM>Y((K0hgvjR#QATWdN)n*(AhPN995Ae<^YEkNd z!jNb{<|8CZH zQNDB7Av`@CCHb)6bqAF5Xn^rnCRmr29<>pP+OOS_ZeR z(Mc|G8XJVr;SLldqcC#kRA*7l&+y}va&dREPe)Ny?zIF}cUHXYfiB~j-oi*|4ZjQS zNLRYJM5pB}vfrBf8WY~=mS52^#3J_1PUtM8b9SAsg(%`q@Td~Wu;fxQ`m2-P5{K_g3$PE^f zczH!I(l=5}Vjg?dOH`eUrzZuFT z6SE-UQ9s%Is(%=AXedpBNkz<#7jR>}@x;IS_%xiNW<=X>Sht;W+Jm$k#|#st>pLMx zCoUCky`@!n65V|ov2mar;4#4Ue;;UAH@QUQ?IXg4s{-z;@b3wVZZCFUtA5HjOK2(3 z^kwexd{W*`%^v?VS9N63v@ET}nJH5?sHa#q_%WQykGsY#nE!cm{J;1yeZ4h){;-ju z&no?RsKy%zFwz3LzouVz=kS?>$A=HnHmccryTp$UUXEuORYJ10_(#+x>Avni9B1*C z=G0&YM%OEQaXuuikIP7kp8;GB;_4*^sHW_G9j^N=&s?e4@N`pOr%@%K=;N|@$lt=k z#?hXqd!2JV`&FSL$xIq@BtBv8K1G^EnD>NDoi-jP|zo&wj|!Y_!@cLu4I|TXH<*+P#ojy0pMB{sQXGt1&jb2;a=S3@{(M%X*RB7uRE8#{S z-r$tlmG!6AjA{7;>P6cQ?Ghg_d!tcu#n3hPH7bB^dPdZ61D9&rI)khPFmzPNA@iXp z21kPSE1Ug(AAaU!v#*n_sj9Eb!#ry{=RaNtV*5;IQT&a4vqSqiBY3-A%p7kr+<45} z<$^>rSNdgDSXJYBs?fb<^(oS5CSxsfYzUB;pU&W8T?H#)>@^0BJ@GaTw-?;p9# zy}SghgVuA#qCe8dcqp-s%~02Eat=m#8P)+u7YItz5RMN5(??NMb^?XWiw75Hb^+0(%2F;HP z9(scsac772p$pzEr3)+bg=_rp*Esi|O>b{5YkYwbTsaAXFqm+w<&&@0w>O=~0()T} z2W@ZxBTb;!29~U-5%=W1g%zT&K{sko8ejsKTJNr8b@P@MeLRa6%$S!Pc!i}XT#!e- z6~Dn#Q6X=)txmx4b_uj>#0+?b_A18)x@xU`D!LTMusq@sG2-3>X95*ksLkt-{9q;8 zHF6jFKyJdV#V5mGK2YDw-lEZRV#ftQ(F z@tpk?st2CERj_Mx%AFQf=8vg`0k-xudnJD_kOm$e5x3Dq%YD}-sMJhzH%^OfQ z+}kFG=1z@S%2i+U>R7=crE~h0|NtarQb*P0A6P;8s!`?s}IAe?npoo!QZ6nM|C^anFX^c^D-s=Fd{ua(YD*%&H~BpxVbLQATfF+=b2?muyn zm`%$3;}>YlehJ(F9lvCu|9Ej_{(@R9cE|;96Rq z1?m-MBURtA!LE2Zd-$42*XiQ?S}H?LX+feMr0hh}=Lfz(Sv3DD8Qp>F*UUJ$X~p2! zNbpP7iJ6JFuGry(V+7aVLumfz&%##}Gjs4qK=DTA;V0>wSH<4O^&3U8{{v*SIvb(Q zHqZ3yY#yNt-uvOV^2D?dSaTUB1GJM%fYn%b$>uwy;Dgw6bb(YVYX3f7E{jY60KBLW zo`xLos>T|4t(HO`Dl0TZ0Gf&?Xz>JXY3B7D4b?V;?vXp33fm}od6|All5NUduI_{zocLk_r?rYP8DTxH@ v5d5#k#>P@RXFS`{GzEF<@0(#iC0BBucR%9T%|&do@a=7#Hr)Nj>)3w)Yl<%m literal 0 HcmV?d00001 diff --git a/Local/storage/thlab-notes/worker/docs/images/social-image-preview-dark.png b/Local/storage/thlab-notes/worker/docs/images/social-image-preview-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..c125451664b0dd78a5c7d8864a9108cc0efba4ad GIT binary patch literal 142236 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