hexo每次生成博客的时候只上传生成的静态网页文件,默认没有多端同步的方法。同时如果本地的博客文件夹丢失了,就无法找回博文了。本文记录了实现多端同步管理hexo博客的方法。 使用hexo-deployer-git 1
$ npm install hexo-deployer-git --save
1
2
3
4
5
6
7
8
9
10
11deploy:
- type: git
repo: git@github.com:<username>/<username>.github.io.git
branch: master
- type: git
repo: git@github.com:<username>/<username>.github.io.git
branch: src
extend_dirs: /
ignore_hidden: false
ignore_pattern:
public: .1
2
3
4
5
6$ git clone git@github.com:<username>/<username>.github.io.git
$ mv <username>.github.io.git blog # Optional, if doing so, you should use 'cd blog' instead.
$ cd <username>.github.io.git
$ git checkout -b src origin/src
$ npm install # 根据package.json里的内容安装需要的包
$ npm ls --depth 0 #查看是否已全部安装完成1
$ npm install --legacy-peer-deps
1
2
3npm update -g
sudo npm install -g n
sudo n latest1
2
3
4
5
6
#rm -rf themes/next/.git
rm -rf .deploy_git
mv .git ../blog_git_temp # 跳过一个由于文件名过长导致发布失败的bug:)
hexo g -d
mv ../blog_git_temp ./.git1
2
3
git fetch --all
git reset --hard origin/src1
2$ chmod +x ./deploy
$ chmod +x ./sync
这样,每次写完博客时都可以使用./sync来与GitHub同步,用./deploy发布。 此外要注意,要把themes文件夹下的主题目录下的.git文件夹删掉,否则发布博客的时候主题文件夹将不会被上传