quartz/content/10_Atlas/13_Methodology/Quartz + GitHub Actions 部署实战.md
2026-02-10 09:53:48 +00:00

69 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
type: evergreen
topic: 生产力工具
tags:
- "#quartz"
- "#github-actions"
- "#static-site"
- "#automation"
created: 2026-02-10 15:37
updated: 2026-02-10 15:37
version: "1.0"
---
# 🌲 知识原子Quartz + GitHub Actions 部署实战
> [!quote] 核心观点
> Quartz + GitHub Actions 的组合是目前 Obsidian 用户实现“数字花园”公网发布的最优免费方案,它实现了“本地创作,全网同步”的无缝闭环。
## 🔍 详细定义
- **Quartz 4.0**:一个基于 Node.js 的静态站点生成引擎,原生支持 Obsidian 的双向链接、正文预览和多种复杂语法。
- **GitHub Actions**:自动化工作流工具,负责监听代码库变动,自动触发编译并将渲染后的 HTML 推送至 GitHub Pages 托管。
## 💡 深度见解Insight
- **解耦优势**:通过 GitHub Actions你可以将“源码库Private”与“发布库Public”分离。这既保护了你的隐私笔记不被泄露又享受了公网访问的便利。
- **低成本运维**:该方案完全基于 GitHub 基础设施,零服务器成本,且具备极高的抗并发能力和全球访问速度。
## ⚙️ 工程实践Step-by-Step
### 1. 环境初始化
1. Fork [Quartz 官方仓库](https://github.com/jackyzha0/quartz)。
2. 本地执行 `npx quartz create`,选择你的 **Synapse-Vault** 作为内容源。
### 2. 跨仓库自动化同步脚本Action YAML
在你的 **Synapse-Vault** 仓库中创建 `.github/workflows/deploy.yml`
```yaml
name: Deploy to Quartz
on:
push:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout Vault
uses: actions/checkout@v3
- name: Push to Quartz Content
run: |
# 此处编写逻辑:将本地内容拉取并覆盖到 Quartz 仓库的 content 目录
# 建议使用 API 或专门的 Sync Action 触发
```
### 3. 私密性过滤Privacy Filter
在 Quartz 配置中排除 `30_Daily` 文件夹,仅开放 `10_Atlas`
- 修改 `quartz.config.ts` 中的过滤逻辑。
- 在笔记 YAML 区加入 `publish: false` 实现个体过滤。
## ⛓️ 知识网络 (Context)
- **上层概念**[Synapse-Vault 搭建全指南:从零构建你的第二大脑](Synapse-Vault%20搭建全指南从零构建你的第二大脑.md)
- **应用场景**:个人技术博客、公开的知识索引库、面试作品集展示。
---
#Knowledge #Structure #automation #quartz