mirror of
https://github.com/jackyzha0/quartz.git
synced 2026-03-21 21:45:42 -05:00
3.6 KiB
3.6 KiB
| type | topic | project_status | tags | created | updated | version | |||
|---|---|---|---|---|---|---|---|---|---|
| engineering | 生产力工具 | 进行中 |
|
2026-02-10 16:35 | 2026-02-10 16:35 | 1.0 |
🏗️ 工程实战:Quartz V4 部署实战:从本地到公网的数字花园
[!abstract] 项目意图
- 目标:将 Synapse-Vault 笔记库通过 Quartz v4 渲染成静态网站,并发布至 GitHub Pages。
- 核心工具链:Node.js (v18.14+), Quartz v4, GitHub Actions.
- 当前版本:V
=this.version
🏁 环境准备 (Prerequisites)
- 运行环境:(如 Node.js v18.14+, Python 3.10)
- 依赖安装:
# 在克隆好的 quartz 目录下执行
npm install
💻 核心实现 (Core Implementation)
1. 初始化链接
在终端执行初始化向导,将 Quartz 代码仓库与 Obsidian 笔记库物理关联。
npx quartz create
🔍 选项深度对比
| 选项 | 对应行为 | 适合场景 |
|---|---|---|
| Empty Quartz | 建立一个空的内容目录 | 从零开始在 Quartz 文件夹里写笔记 |
| Copy an existing folder | 物理复制。把你的笔记文件夹里的文件全部拷贝一份到 quartz/content |
推荐新手使用。最稳定,不破坏原笔记库,也不怕路径权限问题 |
| Symlink an existing folder | 软链接。即 Link an existing Obsidian vault 的本质。在 macOS 系统层建立一个“快捷方式” |
进阶使用。实现“实时同步”,你在 Obsidian 改完,网页浏览直接刷新,无需复制 |
这里选择:Link an existing Obsidian vault(即第三个选项) 并输入笔记库绝对路径。
2. 跨仓库自动同步脚本 (GitHub Action)
在笔记仓库(Synapse-Vault)的 .github/workflows/sync.yml 中配置以下逻辑:
name: Sync to Quartz
on:
push:
branches: [ main ]
jobs:
repo-sync:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Pushing to Quartz Repo
uses: cpina/github-action-push-to-another-repository@main
env:
API_TOKEN_GITHUB: ${{ secrets.QUARTZ_SYNC_TOKEN }}
with:
source-directory: '.'
destination-github-username: '你的用户名'
destination-repository-name: 'quartz'
user-email: your-email@example.com
target-directory: 'content'
🚩 关键步骤与坑点 (Key Steps & Pitfalls)
-
Node 版本:Quartz v4 依赖较高版本的 Node,若
npm i报错,请检查node -v。 -
符号链接 (Symlink):
- ⚠️ 踩坑提示:Windows 系统下执行
npx quartz create必须使用 管理员权限 运行终端,否则无法建立链接,导致content文件夹为空。
- ⚠️ 踩坑提示:Windows 系统下执行
🧪 测试与验收 (Testing)
-
预期结果:执行
npx quartz build --serve后,本地 8081 端口可访问美化后的笔记网页。 -
实际表现:
📓 复盘与迭代 (Review)
-
优化空间:默认主题颜色需根据 Synapse-Vault 的风格进行 CSS 微调。
-
下一步计划: 下个迭代笔记名
#project #engineering
