Commit Graph

1909 Commits

Author SHA1 Message Date
saberzero1 e37b4888f3 chore: update lockfile for latest plugin releases 2026-07-27 12:33:57 +02:00
saberzero1 e22d4446b4 chore: update lockfile for @quartz-themes/core@1.1.0 2026-07-27 11:40:37 +02:00
saberzero1 c2e1a619f0 chore: update lockfile for @quartz-themes/core@1.0.3 2026-07-27 10:54:51 +02:00
saberzero1 754058ad54 chore: updated dependencies 2026-07-25 19:04:58 +02:00
saberzero1 2a5e3ae574 chore: package-lock.json 2026-07-24 21:43:27 +02:00
saberzero1 94fcabb0b4 feat: add @quartz-themes/core to config and templates
Add disabled theme entry to default config and default/blog templates.
Migrate obsidian and ttrpg templates from git-based quartz-themes source
to npm @quartz-themes/core package.
2026-07-24 20:33:05 +02:00
saberzero1 26a5a86d77 feat: add @quartz-themes/core as a dependency
Add @quartz-themes/core to dependencies and @quartz-themes/ to shared
scopes so theme packages are treated as externals by the plugin bundler.
2026-07-24 20:32:52 +02:00
saberzero1 326bc49b96 chore: update lockfile for crawl-links@0.1.1, bases-page@0.2.2 2026-07-24 02:21:40 +02:00
saberzero1 3c8726834a chore: update lockfile for utils@0.1.1, ofm@0.1.2, bases-page@0.2.1 2026-07-24 01:16:03 +02:00
saberzero1 a791a4f12d fix: disable font ligatures on code blocks (#2428) 2026-07-24 00:43:31 +02:00
Emile Bangma 581f6707da fix: decouple Head.tsx from og-image plugin import (#2495)
Remove unconditional import of CustomOgImagesEmitterName from
.quartz/plugins in Head.tsx. This caused builds to fail when the
og-image plugin was not listed in quartz.config.yaml, violating the
plugin system's opt-in contract.

The fix inlines the emitter name string constant at the usage site.

Also convert the ContentDetails import in fileTrie.ts to
`import type` since it is only used in a type position.
2026-07-23 15:30:37 +02:00
saberzero1 555b2ba838 docs: add npm plugin specifier migration guide 2026-07-23 09:38:52 +02:00
saberzero1 3d99dca87d style: fix whitespace in docs/hosting.md 2026-07-23 09:30:25 +02:00
saberzero1 966307e0d0 style: format docs/hosting.md and loader/index.ts 2026-07-23 09:26:51 +02:00
saberzero1 ebdbb3da21 chore: keep legacy-peer-deps (required for 44 plugins with varying peer ranges)
Multiple plugins declare incompatible peer dep ranges for shared packages
(sharp, @myriaddreamin/rehype-typst, etc). These are optional peers that
work correctly at runtime. legacy-peer-deps is the appropriate setting
for a host application consuming many plugins.
2026-07-23 08:54:50 +02:00
saberzero1 49785911c9 chore: pin plugin dependencies to semver ranges 2026-07-23 08:34:31 +02:00
saberzero1 e8ccb7991c chore: updated package-lock.json 2026-07-23 02:23:38 +02:00
saberzero1 11b9960663 feat: migrate to npm specifiers with type-safe plugin index
- Default config and all 4 templates use @quartz-community/* npm specifiers
- config-loader: npm packages imported directly (not via .quartz/plugins/ paths)
- gitLoader: regeneratePluginIndex cross-references .d.ts with .js to correctly
  classify type-only exports, preventing runtime 'does not provide export' errors
- All 44 default plugins added as dependencies
- Locally tested: 111 docs files → 374 output files, zero errors
2026-07-23 02:19:17 +02:00
saberzero1 4b7ecb96f0 revert: restore github: specifiers in default config and templates
The npm specifier path requires additional work in the esbuild
transpilation pipeline to mark npm imports as external. Reverting
to github: specifiers to restore the docs site immediately.

The npm loader code (parsePluginSource, config-loader, CLI) remains
in place for future use. Only the default config/templates are reverted.
2026-07-23 02:06:45 +02:00
saberzero1 a71cbfbeed fix: use npm install in Dockerfile and copy .npmrc for peer dep config 2026-07-23 02:03:47 +02:00
saberzero1 b6939da24d fix: use npm install in all CI workflows for lockfile compatibility 2026-07-23 02:01:58 +02:00
saberzero1 6fdeaef8c2 fix: use npm install instead of npm ci in deploy
The lockfile was generated on linux x86_64 but CI needs platform-
specific optional deps for all architectures. npm install resolves
them correctly while npm ci requires exact lockfile match.
2026-07-23 01:59:52 +02:00
saberzero1 eefff261a6 chore: retrigger deploy after lockfile fix 2026-07-23 01:57:51 +02:00
saberzero1 7ed01ddd43 fix: add legacy-peer-deps for plugin peer dependency conflicts
og-image requires sharp as a peer dep which conflicts with the
version installed by quartz core. legacy-peer-deps allows both
to coexist until the peer dep ranges are aligned.
2026-07-23 01:47:39 +02:00
saberzero1 fe1f1d30aa fix: add npm plugin dependencies and fix fonts package name
- Added all 44 default plugins as dependencies so npm ci installs them
- Fixed @quartz-community/fonts → @quartz-community/quartz-fonts (actual npm name)
- Regenerated package-lock.json with plugin dependencies
2026-07-23 01:46:28 +02:00
saberzero1 57094a8fee fix: make quartz.lock.json optional in Dockerfile
With npm specifiers, quartz.lock.json may not exist.
The glob pattern makes the COPY conditional.
2026-07-23 01:34:12 +02:00
saberzero1 97eea3ee34 feat: migrate default config and templates to npm specifiers
- quartz.config.default.yaml: all 44 plugins use @quartz-community/* npm specifiers
- cli/templates/*.yaml: all 4 templates updated (default, blog, obsidian, ttrpg)
- bootstrap-cli.mjs: updated help text
- package.json: devDeps use npm semver ranges instead of github: specifiers
- gitLoader.ts: regeneratePluginIndex scans npm packages from node_modules
- install-plugins.ts: generates plugin index for npm packages
- Removed quartz.lock.json (only relevant for git-installed plugins)
2026-07-23 01:29:25 +02:00
saberzero1 ab8e77392c revert: do not gitignore quartz.config.yaml (user config file) 2026-07-23 01:21:07 +02:00
saberzero1 f45b9d42bd chore: gitignore quartz.config.yaml (user-generated) 2026-07-23 01:19:37 +02:00
saberzero1 af583c167a chore: remove dev-mode config 2026-07-23 01:19:29 +02:00
saberzero1 de21613607 style: format loader files 2026-07-23 01:19:21 +02:00
saberzero1 69571de66e chore: remove dev-mode local config (should not be committed) 2026-07-23 01:18:03 +02:00
saberzero1 5b34917e98 feat: support npm scoped package specifiers for plugins
Plugins can now be referenced as "@quartz-community/<name>" in
quartz.config.yaml and via 'quartz plugin add'. The npm path skips
git installation and resolves from node_modules.

Changes:
- gitLoader.ts: detect @scope/name as npm package in parsePluginSource()
- config-loader.ts: skip git install for npm packages, read manifests
  from node_modules via createRequire
- install-plugins.ts: filter npm packages from prebuild, fallback to
  YAML config parsing to avoid loading full quartz.ts
- plugin-data.js: npm detection in CLI parseGitSource()
- plugin-git-handlers.js: npm install path in handlePluginAdd()
- package.json: add missing hast-util-from-html dependency
2026-07-23 01:17:53 +02:00
dependabot[bot] 9cf87ff1c2 chore(deps): bump the ci-dependencies group across 1 directory with 9 updates (#2426)
Bumps the ci-dependencies group with 9 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [actions/upload-artifact](https://github.com/actions/upload-artifact) | `6` | `7` |
| [actions/download-artifact](https://github.com/actions/download-artifact) | `7` | `8` |
| [rlespinasse/github-slug-action](https://github.com/rlespinasse/github-slug-action) | `5.4.0` | `5.6.0` |
| [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) | `3` | `4` |
| [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) | `3` | `4` |
| [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) | `4.0.0` | `4.1.2` |
| [docker/login-action](https://github.com/docker/login-action) | `3` | `4` |
| [docker/metadata-action](https://github.com/docker/metadata-action) | `5` | `6` |
| [docker/build-push-action](https://github.com/docker/build-push-action) | `6` | `7` |



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

Updates `actions/download-artifact` from 7 to 8
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v7...v8)

Updates `rlespinasse/github-slug-action` from 5.4.0 to 5.6.0
- [Release notes](https://github.com/rlespinasse/github-slug-action/releases)
- [Commits](https://github.com/rlespinasse/github-slug-action/compare/v5.4.0...v5.6.0)

Updates `docker/setup-qemu-action` from 3 to 4
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v3...v4)

Updates `docker/setup-buildx-action` from 3 to 4
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v3...v4)

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

Updates `docker/login-action` from 3 to 4
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v3...v4)

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

Updates `docker/build-push-action` from 6 to 7
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: '8'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: ci-dependencies
- dependency-name: actions/upload-artifact
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: ci-dependencies
- dependency-name: docker/build-push-action
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: ci-dependencies
- dependency-name: docker/login-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: ci-dependencies
- dependency-name: docker/metadata-action
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: ci-dependencies
- dependency-name: docker/setup-buildx-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: ci-dependencies
- dependency-name: docker/setup-qemu-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: ci-dependencies
- dependency-name: rlespinasse/github-slug-action
  dependency-version: 5.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ci-dependencies
- dependency-name: sigstore/cosign-installer
  dependency-version: 4.1.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: ci-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-15 20:22:29 -04:00
Leo Schultheiss e54b89f889 fix(ci): add git install to Dockerfile (#2443)
Co-authored-by: Leo Schultheiß <leo.schultheiss@fau.de>
2026-06-15 20:21:46 -04:00
Narath Carlile e12ca11100 fix: watch quartz.config.yaml during serve (#2448)
The serve-mode watcher globs never matched quartz.config.yaml or
quartz.config.default.yaml, so config edits (theme colors, plugin
flags, footer links) silently required a server restart. This was a
regression from v4, where quartz.config.ts matched the **/*.ts glob.
2026-06-15 20:19:27 -04:00
saberzero1 92a4a48430 fix: callouts overlapping explorer 2026-06-11 17:55:16 +02:00
saberzero1 9e74db69a9 docs: clarified and extended installation guide 2026-06-11 15:07:26 +02:00
saberzero1 25d89ff94a chore: updated plugins 2026-06-11 14:54:19 +02:00
saberzero1 decbd0a969 chore: updated plugins 2026-06-11 12:10:38 +02:00
saberzero1 87083faeb6 docs: updated fonts configuration 2026-06-11 10:46:55 +02:00
saberzero1 58593c7c72 docs: added documentation for fonts 2026-06-10 23:17:32 +02:00
saberzero1 8a79f59abb chore: configure fonts plugin in templates 2026-06-10 23:17:19 +02:00
saberzero1 2000295346 feat: added fonts plugin 2026-06-10 23:17:05 +02:00
saberzero1 c5bbc92b74 docs: updated migration guide and alias-redirect options 2026-06-09 20:01:46 +02:00
saberzero1 b2f1dad514 fix(alias-redirect): emit original filepath casing as redirect 2026-06-09 20:01:25 +02:00
saberzero1 81db804f54 fix(themes): callouts and layout issues 2026-06-09 02:24:05 +02:00
saberzero1 9737bce709 fix(slugs): remove obsidian-importer known invalid file characters from slugs 2026-06-03 15:34:54 +02:00
saberzero1 951dfee599 fix(i18n): explorer/graph missing mapping 2026-06-03 15:26:32 +02:00
saberzero1 afe98e6b1a fix: excalidraw panning on mobile and .jxl support 2026-05-27 20:56:47 +02:00