当使用 GitHub + HEXO + Markdown 部署个人博客时,总是希望能够在家和在单位都能够随时随地写博客,记录当时的工作或灵感。本篇文章介绍如何完成家庭和单位无缝衔接的去自由书写博客。如何搭建博客请参考我的另一篇文章: 利用 Hexo and Github 搭建个人博客 .

在 GitHub 上新建一个仓库

在 GitHub 上创建一个仓库,用以保持和同步博客源文件(包括博客文章、主题等内容)

比如:

1
git@github.com:xujinzh/JBlog.git

将本地博客同步到 GitHub

如果你当前的博客源文件是在单位,那么,我们将该文件夹同步上传到 GitHub 上。步骤如下:

1
2
3
4
5
6
cd JBlog
git init
git remote add origin git@github.com:xujinzh/JBlog.git
git add .
git commit -m "release 1.0.0"
git push -u origin master

将 GitHub 仓库克隆到本地

回到家,将 GitHub 上的仓库克隆到家里 Mac 上。注意,该Mac上首先需要安装 hexo,步骤如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
brew update
brew install node # 如 v17.8.0
sudo npm install hexo-cli -g # 如 v4.3.0

# ubuntu
wget https://nodejs.org/dist/v17.8.0/node-v17.8.0-linux-x64.tar.xz
sudo tar -xvf node-v17.8.0-linux-x64.tar.xz -C /usr/local
echo "export NODE_HOME=/usr/local/node-v17.8.0-linux-x64" >> ~/.bashrc
echo "export PATH=$NODE_HOME/bin:$PATH" >> ~/.bashrc
source ~/.bashrc
sudo chown -R jinzhongxu:jinzhongxu /usr/local/node-v17.8.0-linux-x64

npm install -g hexo-cli@4.3.1

# 查询
hexo version

克隆仓库到本地Mac上:

1
git clone git@github.com:xujinzh/JBlog.git /Users/jinzhongxu/github/JBlog

此时,运行 hexo -v 会发生如下错误:

1
2
ERROR Local hexo not found in ....
ERROR Try running: 'npm install hexo --save'

这是由于.gitignore 中缺少 node_modules 文件夹,没有更新上去。解决方法如下:

1
2
3
4
5
6
7
8
9
10
11
cd JBlog

# 根据情况选择执行
npm cache clean --force
npm install -g npm

# 安装第三方包
npm install

# 查看博客显示,本地模式 http://localhost:4000
hexo server

或者

1
npm install --force

到此,就可以正常使用了。

写文章

在家写文章

1
hexo new mac-test

然后打开 mac-test.md 写文章,然后,部署文章到网址

1
hexo clean && hexo generate && hexo deploy

之后,将更新推送到 GitHub 仓库

1
2
3
4
git status
git add .
git commit -m "new article"
git push

如果是第一次 push,请使用

1
git push -u origin master

它会记住你的提交分支情况,这样以后就可以直接 git push 了。

回到办公室,首先从 GitHub 仓库拉去最新

1
git pull

然后,开始写文章,记住发布完文章后,记得 push 到 GitHub 仓库。

参考链接

  1. 管理远程仓库