Github pages x obsidian个人网站配置经验分享(非技术向)
我从2024年底开始用Obsidian写笔记,接触到 file over app 本地文件优先这个口号,感觉他们这种反对完全依赖互联网巨头公司生产内容的理念,和早期朋克运动强调的DIY精神有些相似,都在抵抗主流建制。
最近偶然发现Github Pages已经十分易用,无需再学习Git、Ruby这些对我这种非计算机专业人士来说过于复杂的软件,只需简单在线配置就可以生成个人网站。
于是,我觉得Obsidian和Github Pages两者一结合,可以让写博客变得十分自主:我在本地用Obsidian写笔记,写完后如果觉得想公开发布,把本地的Markdown文件上传到Github的仓库里即可,内容会自动发布到个人网站。
以下是一些个人配置经验。
一、基础概念
- Github Pages: GitHub 官方提供的免费静态网站托管服务,允许用户直接从 GitHub 仓库直接部署静态网页。
- Jekyll: 是一款流行的 静态网站生成器,由 GitHub 联合创始人 Tom Preston-Werner 创建。它可以将纯文本(如 Markdown、HTML 等)转换为静态网页,适合构建个人网站等。
- Obsidian: 一款以 本地优先、Markdown 驱动 的笔记工具,所有笔记以纯文本(Markdown 文件)存储在本地,无需依赖云端。主打 双向链接 和 知识图谱 功能。它通过网状结构组织笔记,帮助用户构建个人化的知识库。
简单来说,就是Jekyll社区有大量的网站模板,加上Github提供免费空间,我们可以直接应用Jekyll模板在Github生成个人网页。网页搭建好后,主要工作就是更新内容,而这实质就是上传一些Markdown文件,Obsidian就是用来编写Markdown文件的工具。
二、基本流程
网站发布
- 注册Github账号。
- 挑选Jekyll网站模板,我用的是minimal-mistakes/
- 把模板复制fork到自己仓库Repository。注意要把分支branch名称从master改为main,因为受BLM运动感召,从 2020 年 10 月 1 日开始,GitHub 上的所有新库都用中性词「main」命名,取代原来的「master」,如果不改后面会出现兼容性问题。
- 在仓库Settings-Pages里,启用Github actions,我用的是Deploy Jekyll with GitHub Pages。
- 网站发布成功。在仓库的Actions里可以看到运行情况。
- 结合网站模板的官方介绍文档以及google大法,完成网站个性化配置。这是个无尽的游戏。我目前只修改了网站名、简介、地区和字体大小。
使用Obsidian联动更新内容
- 安装Obsidian,并启用Enveloppe插件。
- 按此流程 配置Github的个人token,完成Enveloppe插件参数设置。
- 按照Markdown语法写笔记,注意网址格式和引用图片要按标准格式。对于图片,我是在Obsidian里建立了/assets/images/文件夹,配图都放到该文件夹,这样上传到Github后也能自动识别。
- 设置笔记YAML,我设置了四个元数据:share、tags、layout和date。
- 通过Enveloppe插件功能推送笔记到Github仓库,网页内容随后会自动更新。
三、踩过的坑
网站模板挑花眼
Jekyll网站模板实在太多,试过四五个。最后还是选择了最热门的Minimal Mistakes,因为它的介绍文档最为详细,且因用的人多,遇到问题比较容易搜到答案。
Markdown 文件名
按照Jekyll官方文档,上传的Markdown文件名必须为:”YYYY-MM-DD-标题”格式,否则无法识别。
繁琐细节太多
在配置过程中发现,哪怕是一个这么简单的网站,背后也有大量文件和参数,比如下面这些:
.
├── _posts/ # 博客文章(Markdown 文件)
├── _layouts/ # HTML 模板
├── _includes/ # 可复用的代码片段
├── _config.yml # 配置文件(设置站点标题、主题等)
├── assets/ # 静态资源(CSS、JS、图片)
花太多时间折腾Obsidian
Obsidian,和前面说的网站个性化一样,也是一个无尽的游戏。网上各种花式玩法教程很多,个人经验是把它当作专用的记事本比较好。
补充资料
除了各种官方文档外,对于整个流程,推荐看这篇详细介绍:Quartz与Enveloppe插件结合助力Obsidian搭建数字花园 主要差异是他选择Quartz作为静态网站生成器,而不是Jekyll,但整体逻辑是一致的。