## 背景
[[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` が失敗する
- [[サプライチェーン攻撃]]周りが怪しい
- 色々面倒だし重そう