如何愉快地写博客:Hexo, NexT, 图床和自动部署
整体框架
Hexo:开源静态博客框架 free
NexT:一个Hexo博客主题 free
图床:阿里云OSS ¥<1/mo ;可选免费图床,如Imgur,微博图床
自动部署(CI):GitHub Pages free ,Netlify free
域名:本站域名
ltnexe.live
£5/yr
效果
使用Markdown写作。目前使用的是Typora + iPic,Typora也支持别的图片上传工具,可以实现本地编辑时,图片直接上传到图床的功能。VS Code也能实现一样的功能。
低成本跨平台:通过修改托管在GitHub中的博客源文件仓库实现管理博文。GitHub的仓库更新后,可以触发GitHub的CI去部署静态博客html源码到GitHub Pages,或者去触发Netlify自动部署(目前采用)。
如果要修改博客,可以直接在GitHub网页端修改仓库;要写新博客,可以向仓库中提交一个新Markdown文件。能上网的平台即可。
更换电脑或者系统,直接克隆仓库到本地,再在本地继续写就行了;写好提交源码(Markdown文件目录)到仓库即可。
图床图片管理:通过OSS对象储存实现。遇到攻击可以关闭图片访问来节约流量;可以在线进行图片处理(由阿里云OSS提供,如压缩,水印)。
可能的下一步:
- CDN加速
- 部署到自己的服务器
- 备案网站(LOL)
教程
Hexo 博客框架
-
Hexo文档(官方,中文):建站,配置和使用
hexo
命令来构建、部署,front-matter,写作,迁移 https://hexo.io/zh-cn/docs/github-pages.html
部署到免费的GitHub Pages,可以随处访问
NexT 主题
这个项目的变迁故事可以看这里。这个主题是我目前见过的(中文博客里面)使用者最多,功能最强大的主题。支持众多第三方插件和方便的功能。安装和配置请看官方文档:
https://theme-next.js.org/docs/getting-started/
由于现在有多种安装方式,为了实现无痛升级和在仓库更新时自动部署,我采用了npm
来安装,使用了Hexo 5 推荐的配置方式:在根目录新建主题配置文件_config.next.yml
。主题目录内的文件都可以不用再更改,这样就不必使用git submodule
,每次提交Hexo根目录下的源码就行了。
NexT支持的第三方插件包括:
- 备案号展示
- 数学公式
- 多种评论系统(有/无后端)
- 统计分析:网站访客,访问量
- 博文搜索
- Tag Plugin
- 动态图表,tab,嵌入视频和PDF等
购买域名和域名解析
购买域名,自己选合适的就行。国内的域名商可能有自带的CDN加速,适合国内访问
若使用GitHub Pages,可以参考(官方,中文):配置 GitHub Pages 站点的自定义域
若使用Netlify,部署好之后第二步会有提示如何修改域名的DNS;也可以使用Netlify自己的域名解析服务器(目前使用),非常方便,无需配置
A
或者CNAME
;同时有HTTPS签发证书,前提是网站内链和图片都是https访问的。
其他
有很多别的部署案例,直接搜索关键词Hexo,NexT,Netlify,域名等就行,手把手教程很多。