hexo一键创建及部署脚本


张登友,张登友的博客,张登友的网站——

hexo脚本命令

hexo博客常用功能的shell脚本。这里只写了常用的几个命令,其他的可根据需求自行更改。

注:一下脚本在Mac端可完美运行,Windows或者Linux需要有部分不同,在写入readme这部分,Mac和Linux略有不同,需要删除换行,若无对于readme文档的需求则可以无视这条

  • 一键创建文档并打开资源文件
  • 一键清除本地缓存并重新生成部署
  • 一键部署至远程仓库
  • 一键上传至多个远程仓库
  • 在部署时自动标记时间并写入Readme文件实现更新记录

首先看看使用效果

自动写入readme

#!/usr/bin/env bash 
cd "$(dirname "$0")"
echo "1. 创建并打开文档"
echo "2. 清除本地静态文件并上传"
echo "3. 提交至所有远程仓库"
echo "4. 一键部署服务器和远程仓库"
echo "5. 退出"
read -p "请选择一个要执行的选项: " i
case "$i" in
1)
echo 输入新文章标题
read m
echo 创建文档中........
hexo new "$m"
open ./source/_posts/$m.md
open ./source/_posts/$m
;;
2)
echo 部署至云服务器中........
hexo clean && hexo g && hexo d
;;
3)
echo 输入更新内容:
read m
echo 更新Readme中.......
sed -i '' "1a\\
####  `date '+%Y-%m-%d %H:%M:%S %A'` \\
$m
" Readme.md
echo 提交到Git仓库中.......
git add .
git commit -m $m
git push origin dev
git push aliyun dev
;;
4)
echo 部署至云服务器中........
hexo clean && hexo g && hexo d
echo 输入更新内容:
read m
echo 更新Readme中.......
sed -i '' "1a\\
####  `date '+%Y-%m-%d %H:%M:%S %A'` \\
$m
" Readme.md
echo 提交到Git仓库中.......
git add .
git commit -m $m
git push origin dev#这里更改自己的分支名称
git push aliyun dev#同上
;;
5)
exit 0
;;
*)
echo "请选择一个选项"
esac
exec /usr/local/bin/zsh #执行完不关闭终端

git命令脚本

当然我还制作了一个Git命令的打包合集,但是暂未测试

#!/usr/bin/env bash 
cd "$(dirname "$0")"
echo "1. 仓库地址查询"
echo "2. 添加远程仓库地址"
echo "3. 修改远程仓库地址"
echo "4. 删除远程仓库地址"
echo "5. git基础姓名和邮箱设置"
echo "6. 初始化项目并添加远程仓库地址"
echo "7. 提交到远程仓库"
echo "8. 强制提交到远程仓库(会覆盖仓库内容)"
echo "9. 添加注释并提交"
echo "10. 退出"
read -p "请选择一个要执行的选项: " i
case "$i" in
1)
git remote -v
;;
2)
echo 输入仓库简称
read s
echo 输入远程仓库地址
read m
git remote add $s $m
;;
3)
echo 输入仓库简称
read s
echo 输入远程仓库地址
read m
git remote set-url $s $m
;;
4)
echo 输入要删除的远程仓库地址
read m
git remote rm $m
;;

5)
echo 你的名字或昵称
read s
echo 你的邮箱
read m
git config --global user.name "$s"
git config --global user.email "$m"
;;
6)
echo 输入仓库简称
read s
echo 输入远程仓库地址
read m
git init 
git remote add $s $m
;;
7)
echo 输入仓库简称
read s
echo 输入分支名称
read m
git push $s $m
;;
8)
echo 输入仓库简称
read s
echo 输入分支名称
read m
git push $s $m -f
;;
9)
echo 输入修改注释
read s
echo 输入简称
read m
echo 输入分支名称
read k
git add .
git commit -m "$s"
git push $m $k
;;
10)
exit 0
;;
*)
echo "请选择一个选项"
esac
exec /usr/local/bin/zsh #执行完不关闭终端

Python自动标记当前时间并写入readme

与第一个脚本功能相同,只是使用了不同的语言(其实是我最近在学Python)

#coding: utf-8
import time

lines=[]
f=open("./1.md",'r')  #your path!
for line in f:
    lines.append(line)
f.close()
print (lines)
lines.insert(1,"#### "+time.strftime("%Y-%m-%d %H:%M:%S %A", time.localtime())+"\n"+input("输入更新内容:")+"\n")           #第2行插入当前时间和自定义内容并回车
s=''.join(lines)
f=open("./1.md",'w+') #重新写入文件
f.write(s)
f.close()
del lines[:]                      #清空列表
print (lines)

使用效果:


文章作者: 张登友
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 张登友 !
  目录