## 背景 [[MkDocs v2では下位互換性が破壊されプラグインなどのエコシステムが使えなくなる]]問題について、選択肢がいくつかあったが煮えきれないでいた。 - [[MkDocs]] v2を使い続ける - ハイリスク・ノーリターン - [[ProperDocs]] x [[MaterialX]] を使う - 未来がなさそう - [[Zensical]] を使う - [[Obsidian]]で管理するドキュメントに対してはまだ機能が不十分. もう少しかかりそう そこに[[Quartz]]がv5にメジャーアップデートして、圧倒的な成長を遂げたとの話をきいた。 <div class="link-card-v2"> <div class="link-card-v2-site"> <img class="link-card-v2-site-icon" src="https://quartz.jzhao.xyz/static/icon.png" /> <span class="link-card-v2-site-name">quartz.jzhao.xyz</span> </div> <div class="link-card-v2-title"> What's New in Quartz 5 </div> <div class="link-card-v2-content"> Quartz 5 is a ground-up rearchitecture of Quartz focused on extensibility, performance, and Obsidian compatibili ... </div> <img class="link-card-v2-image" src="https://quartz.jzhao.xyz/getting-started/whats-new-og-image.webp" /> <a href="https://quartz.jzhao.xyz/getting-started/whats-new"></a> </div> とりあえず試してみる。 ## 環境 [[🦉Various Complements]]のドキュメントで試してみる。ハッシュは `dff31d6f`。 | 対象 | バージョン | | ---------- | ------ | | [[macOS]] | 26.5 | | [[Quartz]] | v5のなにか | ## インストール https://quartz.jzhao.xyz/#-get-started `pnpm-workspace.yaml` ```yaml allowBuilds: '@parcel/watcher': true esbuild: true sharp: true blockExoticSubdeps: false ``` ```console # 既存 repo の親ディレクトリで git clone https://github.com/jackyzha0/quartz.git quartz5-tmp cd quartz5-tmp pnpm i pnpm quartz create ``` ``` ┌ Quartz v5.0.0 │ ◇ Choose a template for your Quartz configuration │ Obsidian │ ◇ Choose how to initialize the content in `/Users/tadashi-aikawa/git/github.com/tadashi-aikawa/docs-obsidian-various-complements-plugin/quartz5-tmp/content` │ Copy an existing folder │ ◇ Enter the full path to existing content folder │ /Users/tadashi-aikawa/git/github.com/tadashi-aikawa/docs-obsidian-various-complements-plugin/docs │ ◇ Enter the base URL for your Quartz site (e.g. mysite.github.io/quartz) │ tadashi-aikawa.github.io/quartz ``` 結構色々取得してきて時間がかかる。。 ```console pnpm quartz plugin install --from-config pnpm quartz build --serve ``` サーバー起動失敗して面同意そうなのでリタイア。 ## 一応 npm で再チャレンジ ```console # 既存 repo の親ディレクトリで git clone https://github.com/jackyzha0/quartz.git quartz5-tmp cd quartz5-tmp npm i ``` [[min release age (npm)|min release age]]と `--before` が競合している。`--before` が依存パッケージのどこかで使われていそう。 ```error npm error code 1 npm error git dep preparation failed npm error command /Users/tadashi-aikawa/.local/share/mise/installs/node/24.15.0/bin/node /Users/tadashi-aikawa/.local/share/mise/installs/node/24.15.0/lib/node_modules/npm/bin/npm-cli.js install --force --cache=/Users/tadashi-aikawa/.npm --prefer-offline=false --prefer-online=false --offline=false --before=2026-06-17T12:00:34.134Z --no-progress --no-save --no-audit --include=dev --include=peer --include=optional --no-package-lock-only --no-dry-run npm error Exit prior to config file resolving npm error cause npm error --min-release-age cannot be provided when using --before npm error A complete log of this run can be found in: /Users/tadashi-aikawa/.npm/_logs/2026-06-18T12_00_34_127Z-debug-0.log ``` prepare や script でもそうだが、[[サプライチェーン攻撃]]対策との相性が悪そう。 ## やめた - buildコマンドがうまくいかない - `hast-from-util-html` が失敗する - [[サプライチェーン攻撃]]周りが怪しい - 色々面倒だし重そう