原因
每次写博客都要新建一个.md文件,然后把博客内存复制进去。然后执行hexo clean && hexo g && hexo d ,接着还要输入账号密码,这已经比较麻烦了,然后,你在博客预览的时候如果发现有些小错误,还要进行部署和输入密码一系列操作,很浪费时间。
所以,我就在windows下用bat脚本搭建了一个自动化部署的操作,解决了每次都要输入的重复操作。
一、Hexo bat脚本:
1、新建博客
在桌面或者文件夹中新建 CreateNewPage.bat文本。
使用notepad++或者任意文本编辑器打开输入以下代码:
@echo off
set /p name=input pages name:
echo name:%name%
echo please wait
start /d "F:\notepad\Notepad++" notepad++.exe "D:\Blog\blog\source\_posts\%name%.md"
@echo off表示不回显,意思就是说在命令提示符中输入的命令不显示。你也可以设置为 @echo on。
set /p name=input pages name: 表示你要输入这篇博客的文件名。使用name变量存储。
start /d "F:\notepad\Notepad++" notepad++.exe "D:\Blog\blog\source\_posts\%name%.md"
表示使用这个notepad++来新建这个.md文件。
其中"F:\notepad\Notepad++"表示nodepad++的安装位置。D:\Blog\blog\source\_posts\%name%.md表示这个文件的存放位置。
博客路径和文本编辑器位置请改成你自己的。
如图所示:
2、调试
新建debug.bat文件
内容如下:
@echo off
D:
cd D:\Blog\blog
hexo s -debug
表示在博客根目录中运行 hexo s -debug命令。
3、部署
新建Deploy.bat文件
内容如下:
@echo on
D:
cd D:\Blog\blog
hexo clean && hexo g && hexo d
如果你只使用的http推送的代码,需要手动输入用户名和账号的。下面讲解如果免密部署。
4、查找并编辑
新建Edit.bat文件
@echo off
::设置编码方式
chcp 65001
set /p name=input blog name:
set "FileName=*%name%*.md"
set "PathName=D:\Blog\blog\source\_posts"
set "EditPath=F:\notepad\Notepad++"
for %%a in (%PathName%) do for /f "delims=" %%b in ('dir /a-d/b/s %%a\%FileName%') do (
start /d %EditPath%notepad++.exe "%%b"
)
输入需要修改的文件名,会自动查找根文件夹及子文件夹下的所有文件,对文件名进行模糊匹配,匹配成功后自动使用指定的文本编辑器打开。您需要自动配置文件根目录PathName,和编辑器路径EditPath,并且把notepad++.exe修改成对应的文本编辑器可执行文件名。
二、免密码部署:
打开博客根目录的config.yml,查看自己博客的部署方式:我这里部署了双平台。
# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
repo:
github: https://github.com/ThinkingXuan/thinkingxuan.github.io.git,master
coding: https://git.coding.net/q1454739828/q1454739828.coding.me.git,master
这是一般的部署方式,git使用https推送代码,保密性不足,所以需要输入用户名密码。
所以我们需要做的改成使用ssh认证。
你需要做的就是在github或者coding中录入你自己的ssh密钥,然后在本地连接认证,一般密钥存储在id_rsa.pub文件。在C:\Users\Administrator\.ssh文件夹里面。如果你没有这个文件,请自行百度生成,连接认证。github和coding基本一样。然后修改config.yml文件:
# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
repo:
github: git@github.com:ThinkingXuan/thinkingxuan.github.io.git,master
coding: git@git.coding.net:q1454739828/q1454739828.coding.me.git
然后运行脚本。


