使用双链笔记Obsidian进行个人知识管理日益成为主流。但部署Obsidian
展示网站属于付费功能,这对于很多人来说是一个严重的阻碍。本文将介绍如何使用开源且免费的Quartz进行部署Obsidian
笔记并介绍如何进行持续集成和部署。
在继续阅读前,读者可以前往此网站观察部署后的结果。
阅读本文需要读者具有以下条件:
stage
和commit
等Github
网站的网络首先前往Quartz的仓库地址,点击页面中的Use this template
按钮,如下图:
点击后会获得如下页面:
自行设置仓库名Repository name
和仓库描述Description
字段,设置完成后点击Create repository from template
按钮。
如果读者拥有个人域名可进行这一步。当然,也可以使用github
分配的<用户名>.github.io
的二级域名。
前往个人Fork
后的仓库,点击Setting
,然后点击Pages
选项卡,如下图:
在输入域名前,读者需要前往个人域名的DNS
设置一项CNAME
记录,记录需指向<用户名>.github.io
,如我的Github
用户名为wangshouh
,则需要设置域名指向wangshouh.github.io
。如果使用CloudFlare管理域名,读者可通过下图步骤增加解析:
在Custom domain
内填写域名,点击Save
即可,如果出现错误,github
会给出提示。
继续在Pages
页面内进行设置,我们需要将Branch
内的内容调整的与我相同,即下图红框内的内容应与图片保持一致:
然后,我们需要前往Code
选项卡,点击.github
文件夹,如下图:
然后,继续点击内部的workflows
文件夹,再点击deploy.yaml
文件,点击下图内红框内容:
将文件最后部分中的canme
更改为自己的域名。如果读者没有个人域名,请更改为<用户名>.github.io
的格式。修改后,代码如下:
- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./public
publish_branch: master # deploying branch
cname: 个人域名
修改完成后,点击右上角的Start commit
按钮。
当然,我们还需要修改config.toml
中的配置内容,如下图:
点击修改按钮,将baseURL =
后的域名更改为个人域名或<用户名>.github.io
的形式。
当然,如果读者使用汉语写作,我建议读者将languageCode
设置为zh-cn
。如果读者有googleAnalytics
可自行设置相关字段,如果不明白googleAnalytics
可直接删除此行。
最后,读者可以前往Actions
选项卡内观察部署是否完成,如果部署完成,读者可以前往自己设置或<用户名>.github.io
,应该可以获得如下显示:
我们需要将远程仓库Clone
到本地已完成笔记编写等任务。读者可以使用任何自己熟悉的git
工具。我使用的是sublime merge作为git
的可视化客户端。
在Github
网页内获得仓库地址,如下图:
将对应的信息填写到sublime merge
中即可:
其中,source URL
就是我们在github
中获得的仓库地址。
Clone
到本地后,我们可以先修改网站的部分设置,打开data
文件夹,使用任一文本编辑器打开config.yaml
文件,读者可以自行修改内部的信息。关于每个字段的具体含义,可自行参考Config页面。
一般来说,我们需要修改name
、GitHubLink
、page_title
、links
字段,依次代表名称、Github仓库的content
地址、网页标题、社交媒体链接。
修改完成后点击保存,我们可以在Sublime Merge
内看到以下内容:
点击stage
,并在最上方的Commit Message
中填入相关信息,点击commit
即可。点击右侧的↑
图标,即可完成推送commit
。
由于每次
push
都会触发github
的部署操作,所以不建议大家进行一次commit
后直接push
打开Obsidian
软件,如果第一次打开,会得到如下显示:
选择打开本地仓库
,选择地址为clone
仓库文件夹下的content
文件夹。
打开Obsidian
设置菜单,设置以下参数:
完成此步骤后,基本就已经完成了全部设置。读者可以自由地编写笔记,当然,我们也需要使用Sublime Merge
在完成笔记后进行commit
和push
操作。
注意,不要删除
content
下的template
文件夹,且不要使用index.md
作为文件名
更多复杂设置,读者可以自行参考Setup网页。