hexo 多台电脑公共维护博客
0. 前言
在不同电脑之间共同维护博客
前提: 电脑上以安装并登录github
1. 正文
1.1 基础知识
hexo我们可以简单理解为将md格式的文件转换成html类的网页文件。当我们使用hexo d
时,只会把生成html类的网页推送到远程服务器。
如果我们想在不同电脑上都能维护博客,就需要把生成html类的代码也放远端(github),这样就能共同维护了。
hexo部分文件夹说明:
文件夹 | 说明 | |
---|---|---|
public | hexo g生成的网页代码 | |
thems | 主题 | |
_config.yml | 全局配置文件 | |
source | md文件 | |
package-lock.json | 锁定包的版本 | |
package.json | hexo相关包的信息 | |
scaffolds | 文章模版 |
常用命令说明:
- hexo clean: 清除public中的数据
- hexo g: 将md格式文件转换成html类静态网页文件
- hexo d: 推送到远端部署
- hexo s: 本地预览
- hexo n: 新建文件
推送文章三部曲:
1 | hexo clean |
1.2 实现
将hexo工具包推送到我们的私人仓库即可。不建议将文件推送到github pages 的不同分支,
一来小白容易理不清,二来public中保存了我们的原始md文件,可能包含草稿(_drafts)文件。
1.2.1 初始化仓库
在我们的工作目录下git init
初始化仓库,
再将不需要推送的文件填写在.gitignore中,我们 git status
查看以下,将会推送如下代码:
1.2.2 创建私人仓库
再github中创建私人仓库
1.2.3 推送到仓库
需要将thems中的各主题以子模块的形式重新加入,否则需要删除主题内.git文件,如next文件中的.git文件。如果我们不以子模块加入的话,那么thems主题里面的内容都会推送到github仓库,可以但是没有必要。
这里我们以子模块加入:
- 首先删除thems里面的主题,如果你的主题做过修改的话,那么就将主题推送到一个自己的仓库以后再删除。
- 清除索引
git rm --cached themes/next
- 子模块加入:
git submodule add https://github.com/next-theme/hexo-theme-next themes/next/
这样当我们推送我们的我们Hexo工具时,里面的主题是不会被推送上去了,省时省力。
推送:git push -u origin main
1.2.4 另一台电脑的使用
当我们换了一台电脑,只需要把这个工具包clone下来,并安装nodejs等相关代码即可。
当我们clone完以后,会发现thems里面有主题的名字的文件夹,但是里面没有内容。这个时候我们只需要把里面的下载下来即可。
A. 下载工具代码
法一: clone以后下载子模块
先clone下来
1 | git clone https://github.com/onceone/hexotools.git |
在拉取子模块
1 | git submodule init |
法二: clone时自动下载子模块
1 | git clone --recursive https://github.com/onceone/hexotools.git |
B. 安装必要库
在我们的工具代码中,会package.json中记录的相关库进行安装
1 | npm install |
C. 写
1 | hexo n |
D. 发布
1 | hexo clean # 清除缓存文件等 |
参考
[1] https://www.jianshu.com/p/0b1fccce74e0/
[2] https://blog.csdn.net/K1052176873/article/details/122879462
[3] https://zhuanlan.zhihu.com/p/60578464
[4] https://zhuanlan.zhihu.com/p/552639819
[5] https://zhuanlan.zhihu.com/p/305812430
[6] https://blog.csdn.net/weixin_45019350/article/details/121901433#t13
[7] https://blog.csdn.net/jj6666djdbbd/article/details/129321783