在 Windows 和 Macbook 上自动更新和推送 Hexo 至 GitHub

2018-08-06 10:18:37 +08:00
 wsgzao

前言

Hexo 自带 deploy 模块,网上也有很多大神分享各种各样的 CI/CD 方案,我没有想过写 Blog 需要这么复杂,而且 Hexo 已经很稳定了。我因为开始学习使用 MacBook,所以逼着自己把之前用在 Windows 上的脚本用 Python 重新写了下,很简陋但也很好用,相信大家可以写出更加通用和优美的代码。

使用 Powershell 和 Python 自动化更新和推送 Hexo 静态 Blog


更新历史

2018 年 07 月 31 日 - 初稿

阅读原文 - https://wsgzao.github.io/post/hexo-deploy/


Windows

./deploy_hexo.ps1


# hexo g
cd .\hexo
hexo clean
hexo g

# del old files
cd ..\wsgzao.github.io
Remove-Item about,archives,categories,css,fancybox,font,img,index,js,page,post -recurse -force

# deploy github
Copy-Item ..\hexo\public\* .\ -recurse -force
git add *
git commit -m "mod"
git push

cd ..

MacBook

python3 deploy_hexo.py

import os
import sys
import subprocess

hexo = os.path.join(os.getcwd(), "hexo")
wsgzao = os.path.join(os.getcwd(), "wsgzao.github.io")

home = os.getcwd()
print ("current directory %s" % home)

os.chdir(hexo)
retval = os.getcwd()
print ("chdir to hexo %s" % retval)

subprocess.call(['hexo clean'], shell=True)

subprocess.call(['hexo g'], shell=True)

os.chdir(wsgzao)
retval = os.getcwd()
print ("chdir to wsgzao %s" % retval)

subprocess.call(['rm -rf about archives categories css fancybox font img index js page post'], shell=True)

subprocess.call(['cp -rf ../hexo/public/* ./'], shell=True)

subprocess.call(['git add *'], shell=True)
subprocess.call(['git commit -m "mod"'], shell=True)
subprocess.call(['git push'], shell=True)


988 次点击
所在节点    Hexo
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/477171

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX