技术教程技术教程通过bat脚本实现hexo常用功能菜单
叶玖洛·星尘前言
广大的Hexo用户:你是否面对每天重复且繁杂的hexo new、hexo new page、hexo g、hexo cl等等这些命令感到厌烦?
重复的命令动作天天敲,而且有时候容易搞错混淆,我们是否可以通过脚本的方式实现它自动化?比如只需要写一个Windows的bat脚本,我们可以轻松实现只需要输入相应选项,即可自动进行这些命令操作。
功能介绍以及演示
- 创建新文章:提示用户输入文章名称,然后使用Hexo创建一篇新文章。
- 创建新页面:提示用户输入页面名称,然后使用Hexo创建一个新页面。
- 生成静态文件:使用Hexo g生成静态文件。
- 创建文章并自动打开Typora编辑器:提示用户输入文章名称,然后使用Hexo new 创建一篇新文章,并自动打开Typora编辑器以便用户编辑(请确定Typora在系统的环境变量里面,不然无效,可以自己根据实际需求更改代码替换编辑器)。
- 本地运行网站并自动打开浏览器:启动Hexo本地服务器,并在本地服务器启动后5s(这里等待5s是为了避免本地服务器未完全启动导致打开404,可根据实际情况对代码调整)自动打开浏览器访问本地Hexo页面(默认localhost:4000)。
- 清除缓存:调用 Hexo clean清除缓存文件。
- 一键部署:先清除缓存,然后生成静态文件并部署到远程服务器,最后再次清除本地数据库。
- 退出:退出脚本关闭终端窗口。
这里就提供一张本文创建时的使用截图参考
最近CDN流量有点遭不住,新图片上传压缩了有点狠,将就看吧。
bat代码
根据上述介绍,可以按照需求自行更改一些功能,本文仅适用于Windows,其他平台请自己编写。
使用方法:鼠标右键新建一个文本将后缀改为.bat,名字自拟。或者使用自己的IDE新建一个bat文件,然后将代码粘贴进去保存即可双击运行。
@echo off chcp 65001 >nul setlocal enabledelayedexpansion
:menu cls echo ********************************************* echo * Hexo Blog Management * echo ********************************************* echo * 1. 创建新文章 * echo * 2. 创建新页面 * echo * 3. 生成静态文件 * echo * 4. 创建文章并自动打开Typora编辑器 * echo * 5. 本地运行网站并自动打开浏览器 * echo * 6. 清除缓存 * echo * 7. 一键部署 * echo * 8. 退出 * echo ********************************************* set /p choice=请输入您的选择(1-8):
if %choice%==1 goto article if %choice%==2 goto page if %choice%==3 goto generate if %choice%==4 goto article_with_editor if %choice%==5 goto server if %choice%==6 goto clean if %choice%==7 goto deploy if %choice%==8 goto exit
:article set /p name=请输入文章名字: call hexo new "%name%" echo 文章创建成功,请按任意键返回菜单。 pause >nul goto menu
:page set /p pagename=请输入页面名字: call hexo new page "%pagename%" echo 页面创建成功,请按任意键返回菜单。 pause >nul goto menu
:generate call hexo generate echo 静态文件生成成功,请按任意键返回菜单。 pause >nul goto menu
:article_with_editor set /p name=请输入文章名字: call hexo new "%name%" echo 文章创建成功,正在打开Typora编辑器... start "" "typora" "source\_posts\%name%.md" echo 请在Typora中编辑文章,编辑完成后按任意键返回菜单。 pause >nul goto menu
:server start cmd /k "hexo server" echo 本地服务器已启动,请访问 http://localhost:4000/,浏览器将在服务器启动后5秒内自动打开。 timeout /t 5 >nul echo 浏览器已自动打开本地Hexo页面。 start "" "http://localhost:4000" pause >nul goto menu
:clean call hexo clean echo 缓存已清除,请按任意键返回菜单。 pause >nul goto menu
:deploy call hexo clean && call hexo g && call hexo d && call hexo cl echo 部署完成,请按任意键返回菜单。 pause >nul goto menu
:exit echo 感谢使用,再见! exit
|