使用 Hexo + Obsidian + QuickConnect 搭建博客

Change Log

传送门

Hexo

Why Hexo

  • Hexo 很多人用,社区活跃
  • Hexo 部署简单
  • Hexo 不需要数据库,不吃资源,适合利用 Nas 部署
  • 有机会接触 Markdown 语法

Quickstart

Hexo官方给出的部署方式很简单

1
2
3
4
5
$ npm install hexo-cli -g
$ hexo init blog
$ cd blog
$ npm install
$ hexo server

Quickconnect

参考这个教程 白嫖 quickconnect 代理

这里仅记录下配置(升级 DSM 居然给我清了,补充下)

1
2
3
4
5
6
7
location ^~ /hexo {
proxy_pass http://127.0.0.1:4000$request_uri;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

Obsidian

Obsidian CEO Steph Ango:“所有软件都是短暂的,Obsidian希望让人们拥有自己数据的所有权,这是一种建立用户信任的方法。”

Obsidian 是一个Markdown语法编辑器,选择它主要是因为全平台支持,且具有以下特点:

  • 允许笔记结构“有机生长”
    • 不需要一开始就决定具体的结构
    • 随着你的学习和思考进程逐渐发展和调整笔记结构
    • 双链笔记:对任何想法/名词/主题快速创建笔记,建立相互连接
  • 将原子级的思想连接成更深入的理解
    • 知识是由相互关联的思想构成的马赛克
  • 使用纯文本文件使其具备未来性
    • 可以离线使用,永远是你的!
    • 可以使用任何文本编辑器进行编辑、查看
    • 可以轻松地在iCloud、Dropbox或使用git上同步

GitHub Pages

GitHub Pages 可以方便快速建立一个博客,限制在于免费版的账户必须使用公开仓库管理博客源码。

Cloudflare Pages

https://developers.cloudflare.com/pages/framework-guides/deploy-a-hexo-site/

需要留意的是 Cloudflare Pages 仓库和 GitHub Pages 仓库的区别在于前者使用的是源码,而后者则是编译后的文件,所以 hexo deploy 命令不适用于 Cloudflare Pages 的部署。

群晖使用任务计划更新 Git 仓库的话会有些环境变量缺失的问题,经测试现采用以下命令更新仓库:

1
export HOME=/root && cd /volume1/web/blog && git add . && git commit -m "Upload myself" && git push origin main

同时由于 pages.dev 算是比较新的域名且已被墙,所以一些机场默认策略可能未覆盖,需要手动添加。后续看下有必要支持国内访问的话尝试通过 cdn 分流解决。