前言

最近工作没有那么忙。又跑回来折腾博客发布了。之前用的是Obsidian的一个插件,叫 🔌Obsidian Digital Garden。这个插件刚出来的时候也是折腾了一两天才部署完成。因为它是一个开源插件,作者迭代速度相对比较慢,功能上总是差点意思。
之前的Quartz版本功能也是差点意思。不过最近发现它发布了V5版本。进行了大面积重构,而且把插件系统开放出来了。那这个可玩性就比较高了。
一直以来,我对博客发布的域名都有一点小小的执念。总归是想在自己独有的域名上发布博客或者文章。刚好最近刷博客时,看到了符笙今年发布的一篇文章如何注册一个 Cloudflare 域名。我的情况和他比较类似。于是也起了搞一个域名的心思,并且说干就干。根据他的博客教程,我拿下了alexwindy.com 这个域名。

购买域名

这一部分教程,大家可以直接参考这篇博客。如何注册一个 Cloudflare 域名。我觉得写的很好,这里就不赘述了。

Quartz部署

这个是官方教程,Welcome to Quartz 5

前置要求

  1. 拥有一个Github账号
  2. 已经在Cloudflare购买了独立域名
  3. 本地已经配置好Node.js环境
  4. 本地已经配置好了Git环境
  5. 本地已经安装了Obsidian

使用模板创建仓库

  1. 登录Github账号
  2. 访问模板仓库quartz
  3. 点击Use this template创建仓库,操作如下图

本地编译查看效果

拉取上面创建的仓库

编译代码

  1. 命令行执行npx quartz create(完成配置引导)
  2. 命令行执行npm install(安装依赖)
  3. 命令行执行npx quartz build --serve(运行项目)
  4. 访问http://localhost:8080
  5. 命令行执行git status(查看文件变更)

使用插件管理文章推送

Quartz 的博客文件都放在 content 目录下面。
完成了上面编译的所有操作以后。可以看到,Content 目录下生成了一个 Index.md 文件。这个文件里的内容,就是我们在浏览器里看到的博客内容。你可以理解为博客首页。
下面我们使用插件🔌Quartz Syncer把这个 Index.md 以及AboutMe.md推送到 GitHub 库里。

安装插件

  1. 进入 Obsidian 插件市场,搜索 Quartz Syncer
  2. 安装并启用这个插件。
  3. 新建AboutMe.md,在 YAML 文件头中配置 publishtrue,这样插件才能识别到这个文件。
  4. 点击左边工具栏的绿叶,开始配置这个插件
  5. 点击插件上显示的链接,直接创建GitHub Token。使用默认配置即可,按需勾选。滑到最底部,点击 Generate Token。
  6. 在配置框中填入 Token,然后点击 Validate
  7. 选择我们一开始使用模板创建的仓库
  8. 保存配置
  9. 打开推送中心
  10. 勾选AboutMe.md,进行推送
  11. 登录GitHub。到最开始我们创建的库里,查看 Content 里的文件。
  12. 本地生成的 index.md 和 YAML 文件(quartz.config.yaml)也要提交上去,推送到原生仓库。

Cloudflare部署

  1. 登录Cloudflare官网
  2. 搜索Pages
  3. 创建Pages
  4. 选择我们一开始使用模板创建的仓库
  5. Deploy command里面填入git fetch --unshallow && npx quartz plugin install && npx quartz build,其他的使用默认配置,然后点击Next开始部署。
  6. wrangler拉取失败的话,Clean 编译的缓存,然后关掉使用缓存进行编译。Retry 一下,重新部署拉取。或者检查一下本地编译的文件是否有遗漏,没有上传到远程仓库里。
  7. 部署成功后,会打印类似的链接https://xxxx.xxx.workers.dev,直接访问就可以看到博客了。

使用独立域名访问博客

  1. 在 Overview 中找到 Domain,然后再找到 Custom Domain
  2. 点击加号,绑定自定义域名
  3. 绑定完成后,就可以用绑定的域名直接访问博客了。详见下方截图