渲染器使用自己fork修改的hexo-renderer-markdown-it-jzj,可以处理source/_posts中使用相对路径引用的图片文件,并自动复制到public目录。
source:博客文章源文件和图片存放位置,其中source/_posts为Markdown源文件和图片存放位置,配置了gitignore,本地软链接到实际的笔记目录。source-test:测试文章源文件和图片存放位置,用于开发测试themes:博客主题文件存放位置public:博客生成的静态文件存放位置remote:远程仓库数据存放位置,指向GitHub gh-pages分支的最新版本
初始化:./install.sh
本地编译发布:hexo clean && hexo generate && hexo server
发布到GitHub Pages:
-
全量发布:
hexo deploy,重新生成博客文件,清空Git历史记录并push最新文件,需要消耗较多网络资源 -
增量发布:
./deploy.sh "MESSAGE" full,重新生成博客文件(运行hexo clean+hexo generate),并增量上传到 GitHub -
快速增量发布(默认模式):
./deploy.sh ["MESSAGE"] [fast](中括号参数均为可选,可以直接运行./deploy.sh),增量生成博客文件(运行hexo generate),并增量上传到 GitHub。可能会残留多余文件,但是速度最快
- HTTPS
- 固定链接
- 文章目录
- 代码高亮
- MathJax
- 搜索
- 标签云
- 友情链接
- 相关文章
- 评论(valine)
- 阅读量(valine)
- 站点地图
- 搜索引擎SEO
- 增量deploy
直接用 hexo deploy 发布到 GitHub Pages 时,会先清空 gh-pages 分支的历史记录,再 push 最新生成的所有博客文件。
由于图片很多,导致每次发布都需要消耗较多网络资源。
增量发布脚本 deploy.sh 的原理是:
- 调用
hexo generate命令生成博客文件到public目录。 - 调用
git命令把 GitHub 的 gh-pages 分支最新版本保存到remote目录。 - 把
remote目录的.git软连接到public目录,让 git 计算public相对最新remote的改动文件。 - 创建 git commit,只 push 改动的文件到 GitHub Pages。