Zhyx's Blog

Back

选型#

网站的建立主要是为了搭一个在公司和家里都能访问的博客环境,对工作和学习做一些记录,所以直接放弃传统的带前端后端的动态页面,时间成本太高,整一个可以一键上传 markdown 的静态页面就挺ok。前端框架采用 hexo,UI选择 fluid,代码放在 github 上,并使用 github action 进行持续集成,部署到 github pages 后,后续写作只需要一次 git push 就可以自动将文章更新到目标网站上。

框架搭建#

https://hexo.io/zh-cn/docs/

UI设置#

https://hexo.fluid-dev.com/docs/guide/

部署#

快速部署#

https://hexo.io/zh-cn/docs/one-command-deployment

适用于希望源代码保存在本地而不用上传的情况,相当于本地构建完再将构建好的网页直接推给gh page

需要在 _config.yml 中配置 gh page 的仓库地址和分支,推送后,hexo 会将 public 目录中的文件推送至_config.yml 中指定的分支中,并且完全覆盖该分支下的已有内容。

这就导致了一个问题,由于是只传 public 目录,域名映射需要的CNAME文件只能放到 public 下,这样每次 hexo clean 后会清空 public,还得再编辑一次CNAME,但是好处在于刨除了云端构建的不稳定性,每次可以本地看看网站效果,再直接放到 gh page 中

gh actions 持续集成#

https://hexo.io/zh-cn/docs/github-pages

源代码放到 user.github.io 仓库中后(仓库名只能设为这个,否则生成网页会变成 user.github.io 的子页),CNAME 放在 source 中,然后在 .github/workflws 中定义 gh actions 的详细配置

采用的hexo官方文档中的配置,最后一步使用 peaceiris/actions-gh-pages@v3 咱也不太懂,参考知乎上的其他配置,大概相当于安装 hexo 完了在将 main 分支的源码 deploy 到 gh-pages 分支上,之后在设置时选择这个分支即可

主要问题在于每次 push 都要重新 build,推测后期内容增多后网站更新会十分不及时,可能需要看看别人的追加更新是咋弄的

CDN加速#

更换 Cloudflare 的 DNS,注意 SSL/TLS 加密模式设为严格

增加评论区#

一直拖着没弄(本来也没指望有人会评论hhh)朋友推荐选择valine,基本上属于开箱即用了 参考: https://valine.js.org/quickstart.html

Summary#

属于我的第0篇博客,大概,能在网站上正常显示,证明基本功能已经ok

TODO#

个人网站部署
https://astro-pure.js.org/blog/00_%E7%BD%91%E7%AB%99%E9%83%A8%E7%BD%B2
Author Zhang Yix
Published at September 13, 2023
Comment seems to stuck. Try to refresh?✨