这个脚本有什么用

先说说我的场景,最近写博客勤快了,偶尔会在公司写文档。
发现在公司和家里两台电脑是写东西的时候总是会发现忘记提交写的markdown文档,这样如果在公司写了一半没有提交,在家里就写不了了,所以想了一个办法,写一个脚本,每次自动提交文档,然后自动发布。
我是在 github 上创建了一个私有仓库,将未生成的原始文档添加到仓库中,这样可以方便在不同设备之间进行同步,哪怕在网吧当中,想写文章了,git clone 一下就可以开始写文章。

解决问题

  1. 自动提交markdown到github
  2. 自动发布到 github.io
  3. 自动替换 source/ 文件到 public/

在 hexo/ 目录下创建脚本文件

touch deploy.sh

复制以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/bash

# commit 内容就是日期
DATA=`date +%Y-%m-%d_%H:%M:%S`

# 如果没有修改,就不需要提交到 github。
if [ -n "$(git status -s)" ];then
git add .
git commit -m $DATA
git push origin master
fi

hexo clean && hexo g

# SEO 相关key,如果直接放 source,会生成对应样式的页面,而非空白页面,所需要在
# hexo clean 之后、hexo deploy 之前,复制到 public/ 目录下
touch public/xxxxxxxxxxxxxxxxxxxxxx.html
echo 'google-site-verification: xxxxxxxxxxxxxxxxxxxxxx.html' > public/xxxxxxxxxxxxxxxxxxxxxx.html

touch public/bbbbbbbbbbbbbbbbbbbbbbbbbbbb.html
echo 'abcdefgafsefaasdfasdfasdfasdfasdf' > public/bbbbbbbbbbbbbbbbbbbbbbbbbbbb.html

hexo d

在根目录下使用:

sh deploy.sh

效果就不演示了,下次回家写作之前,先git pull,保证数据的同步。

总结

当一个码农,总是习惯的掌控自己的数据,数据同步的问题就比较突出,自己的数据自掌握。通过代码适配自己的需求。