跳轉至

Quartz 5

概述

Quartz 5 是由 Jacky Zhao 開發的現代化靜態網站生成器,採用 TypeScript 與 Node.js 進行深度重構。它專為 obsidian 使用者設計,能夠將私人的 index 或筆記庫轉換為高效、搜尋迅速的數位花園。Quartz 5 憑藉其極致的編譯速度與對 wikilinks 的原生支援,已成為當前個人知識管理(PKM)領域發布內容的首選工具之一。

核心架構與部署

對於運行在 Oracle Linux 9 (ARM64架構) 的私有雲環境,建議透過 docker 容器進行部署。由於 Quartz 5 依賴於 Node v22+,使用 node:22-alpine 輕量化映像檔可確保效能與穩定性。為了配合 n8n 的自動化工作流,建議將此服務納入 cf_network 虛擬網路中,並透過 cloudflare-tunnel 進行安全的公網暴露。

部署策略:WebDAV 同步旁車

若您的 obsidian 筆記庫託管於 Nextcloud 並採用 S3 Object Storage 作為後端,由於檔案在實體磁碟上經過切割與加密,Quartz 5 無法直接存取。架構上應採用「旁車模式 (Sidecar Pattern)」解決:

  1. Sync Sidecar: 引入 rclone 容器,透過 WebDAV 協定每分鐘定期從 Nextcloud 拉取筆記更新至本地唯讀路徑 /vault
  2. Quartz Engine: 將 /vault 掛載為唯讀目錄,並啟動 npx quartz build --serve 以進行即時編譯與熱更新。

此架構有效隔離了資料庫存取壓力,實現了從筆記編輯到網頁渲染的端到端自動化。

進階營運建議

若您追求極致的資源優化,建議將網站部署轉移至 cloudflare-pages

  • 自動化流程: 利用 github-actionsn8n 監控 syncthing 或 Nextcloud 的變更事件。
  • CI/CD: 當筆記異動時,觸發 npx quartz build,將編譯後的靜態檔案推送到 cloudflare 的全球 CDN 節點。
  • 優勢: 此方式可完全釋放 oracle-cloud VM 的 CPU 與記憶體負擔,達成零維護的數位花園託管方案。

參考資源

Sources

See Also