尝试一下新的写博客方式(github pages+github.dev)
因为在自己的服务器搭了k3s集群,原本跑在服务器上的nginx让位于traefik
的service load balancer
,对服务器的本地文件进行代理变成了一件有点麻烦的事情……而且原本写博客的方案是在服务器上进行md文件的管理和静态页面的生成,实际上并不是很方便……这两个因素促使我转向github pages
+ github.dev
的写作方式
原来的方案
在服务器上安装npm,hexo等,然后直接用hexo server -p 8080
起一个本地的服务,再用nginx把80和443端口的流量代理代理到这个服务
好处是hexo会在文件有更改时立即重新编译,只需要管理自己的.md
文件即可
坏处也很明显——自己的主机莫名其妙就少了一个可用端口,代理服务套了两层,并且因为服务器本身配置比较低,加载网页的时间相当长……
所以就决定把它扬了
现在的方案
其实就是github pages,hexo上有文档
在 GitHub Pages 上部署 Hexo
基本原理就是用github上的资源来代替本地的hexo generate
传上去之后博客非常顺利地可以访问了,但现在有两个问题:主题怎么改?要怎么优雅地更新博客?
主题问题
如你所见,这个博客用的是butterfly主题;按照官方的文档,我们应该将butterfly的仓库clone到HEXO仓库的theme/butterfly
文件夹中,然后用hexo generate
以及hexo deploy
部署;但是hexo deploy
还需要额外设置_config.yml
里的deploy字段,并且还是需要本地构建,感觉非常麻烦……
于是我就尝试直接将themes/btterfly加入到git仓库中,然后报错了:
1 | warning: adding embedded git repository: themes/butterfly |
似乎可以用submodule解决,但是我懒,
最后还是用了最直接的方法:删除themes/butterfly/.git
然后就没问题啦
写作问题
一开始写博客还要手动搬运.md文件,感觉完全没有写作欲望……现在可以用git来管理博客内容了,自然是更加方便,但是还是需要一台有git环境的电脑。
然后我想起来好像有github.dev
这种东西,它是github提供的一个在线编辑器,可以在线对仓库进行commit等操作(事实上,这篇文章就是在github.dev
上写的)
只要把自己的仓库地址的主机名(github.com
)更改成github.dev
就可以进入云编辑器啦,它的界面布局和本地的vscode
几乎一致,并且带有git等插件,非常方便
完成后直接对仓库提PR或者直接commit就好啦