github 仓库设置

准备两个 GitHub 仓库

  • quartz-config 用来存放 quartz 的设置
  • mbook 仓库用来存放笔记内容

quartz-config

进入 quartz 的 github 仓库,点击下面的 Use this template

相当于 fork 到自己的 github 账号下,然后对 quartz.config.ts做一些必要的修改:

diff --git a/quartz.config.ts b/quartz.config.ts
index e96ee48..a74ec19 100644
--- a/quartz.config.ts
+++ b/quartz.config.ts
@@ -8,16 +8,16 @@ import * as Plugin from "./quartz/plugins"
  */
 const config: QuartzConfig = {
   configuration: {
-    pageTitle: "🪴 Quartz 4.0",
+    pageTitle: "🚀 InfiniteXplore",
     pageTitleSuffix: "",
     enableSPA: true,
     enablePopovers: true,
     analytics: {
       provider: "plausible",
     },
-    locale: "en-US",
-    baseUrl: "quartz.jzhao.xyz",
-    ignorePatterns: ["private", "templates", ".obsidian"],
+    locale: "zh-CN",
+    baseUrl: "infinitexplore.top",
+    ignorePatterns: ["private", "templates", ".obsidian", "Attachments", "Diary", "Drawio", "Templates", "quartz-config"],
     defaultDateType: "created",
     theme: {
       fontOrigin: "googleFonts",
 

mbook

mbook 是我的 obsidian 仓库的名字,在 github 创建对应的仓库,并在本地的 mbook 文件夹初始化 git 仓库,与 GitHub 仓库关联即可。注意使用 .gitignore 忽略不需要的文件。我这里忽略了图片(因为我的图片在发布前转成了图床链接,所以并不需要将图片传到 GitHub 上)和 .obsidian 文件夹。

Attachments/
Drawio/
.obsidian/

发布途径

使用 cloudflare pages 发布,连接存储内容的 github 仓库 mbook,一旦内容发生更改,那么触发重新部署。

在部署时,使用下面的命令:

find . -type f -name "*.md" -exec sed -i 's/!\[\[\(.*\)\]\]/![]\(https:\/\/mbook.infinitexplore.top\/\1\)/g' {} \; && git clone git@github.com:zippermonkey/quartz-config.git  && cd quartz-config && npm i &&  npx quartz build -d ../

解释:

  • find . -type f -name "*.md" -exec sed -i 's/!\[\[\(.*\)\]\]/![]\(https:\/\/mbook.infinitexplore.top\/\1\)/g' {} \; 将图片换成 R2 对象存储的路径。
  • git clone git@github.com:zippermonkey/quartz-config.git && cd quartz-config && npm i && npx quartz build -d ../ 下载自己的 quartz 配置并部署