1 前言
没错,我又开始倒腾了。
之前用的Github Page
+ Jekyll
现在觉得用处不大了,也没有多少写作热情了,于是把目标转向了Obsidian
之类的知识图谱建设中。
一开始觉得只自己用没什么问题,后来写着写着发现这样没有办法满足我的分享欲,这可不行,于是开始想着怎么把Obsidian
的文章分享出去。
我先了解了一下Digital Garden
,事实上我觉得还是挺不错的,但它默认部署到Vercel
上让我有点难受,毕竟国内访问还是不稳定。
于是我打算部署到国内的对象存储上,例如七牛云、阿里云、腾讯云、微信云之类的,这样速度会快很多。最终我将目光放到了阿里云上(因为我有备案,方便快捷),现在的新问题是,使用什么方法将作品部署到对象存储里。
2 方案
我选择Obsidian
+Quartz
+OSS
的方式。通过阿里云来托管静态网站。
3 步骤
3.1 构建
3.1.1 安装依赖并clone quartz
参考Welcome to Quartz 4 (jzhao.xyz)安装NodeJs
和npm
工具。
https://github.com/jackyzha0/quartz.git
cd quartz
npm i
npx quartz create
根据提示可以选择创建空的仓库。
3.1.2 将content作为Obsidian vaults
打开Obsidian
,将content
目录设置为本地仓库。
3.1.3 个性化
个性化可以参考Configuration (jzhao.xyz)来实现网站的个性化,需要注意的是,如果你希望白名单发布而不是默认的黑名单发布的话,就需要留意一下Private Pages (jzhao.xyz)。具体表现为:
白名单文章需要标记:
3.1.4 构建
npx quartz build --serve
可以访问http://localhost:8080/预览效果。
此时目录下的public
文件夹里就是静态网站了。可以参考Hosting (jzhao.xyz)
3.2 发布到阿里云
3.2.1 创建阿里云子用户
在已经登录阿里云控制台的情况下,在RAM 访问控制 (aliyun.com)创建一个子用户,不用给额外权限。
点击刚才创建的子用户,创建AccessKey
。
要记住其中的AccessKey ID
和AccessKey Secret
,后续会用。
3.2.2 创建对象存储Bucket
在OSS管理控制台 (aliyun.com)创建Bucket
:
需要额外注意:
- Bucket名称:这里为自定义设置,要记下来,后续会用
- 地域:选择有地域属性,地域自己选择就好,选择后下面的
Endpoint
会变。 - 阻止公共访问:不要开通,否则无法选择下面读写权限
- 读写权限:公共读,否则其他人无法匿名访问你的博客
点击
完成创建
。
然后进入刚才创建的Bucket
设置页面,在这个页面点击新增授权
勾选刚才创建的子账号,并设置完全控制。
接下来可根据需要设置静态页面:
设置防盗链:
设置域名:
然后我们在文件列表里将public
目录的文件上传上去。
接下来就可以通过设置好的域名访问了。