需求:
- 我想在windows下用typecho写用Hexo搭建的博客文章
- 点击脚本后输入文章标题,用hexo new命令新建文章
- 新建文章后直接调用本地的Typora进行文章编辑
- .书写文章后保存,用另一个脚本提交到github仓库
新建文章脚本(GPT糊的,做了一些修改)
新建文章脚本V1
:: 配置编码,修正BAT中的中文乱码
chcp 65001
@echo off
setlocal
:: 我的目录是远程挂载的目录,所以添加了检测驱动器的判断,不是这个情况的可以删掉本段代码
:: 检查 Z: 盘是否存在,确保网络驱动器可访问
if not exist "Z:\" (
echo 网络驱动器 Z: 未挂载,请检查网络连接.
pause
exit /b
)
:enter_title
:: 提示输入文章标题
set /p post_title=请输入文章标题:
:: 去除用户输入标题的前后空格
for /f "tokens=* delims= " %%a in ("%post_title%") do set post_title=%%a
:: 检查标题是否为空
if "%post_title%"=="" (
echo 文章标题不能为空,请重新输入.
goto enter_title
)
:: 设置文章路径,你的HEXO项目所在位置的文章目录
set post_file=E:\path\to\%post_title%.md
:: 检查是否有同名文章
if exist "%post_file%" (
echo 已经存在同名文章: %post_file%
echo 请重新输入不同的文章标题.
goto enter_title
)
:: 切换到 Hexo 的博客目录
cd /d E:\path\to\yourblog
:: 使用 hexo new 命令在指定目录下创建新文章
hexo new "%post_title%" -p "path/to/%post_title%"
:: 检查 Hexo 命令是否执行成功
if errorlevel 1 (
echo Hexo 创建文章失败,请检查 Hexo 配置或安装情况.
pause
exit /b
)
:: 再次检查是否创建成功
if exist "%post_file%" (
echo 文章已成功创建: %post_file%
) else (
echo 创建文章失败
pause
exit /b
)
:: 启动 Typora 编辑器打开文章
:: 检查 Typora 路径是否存在
set typora_path=C:\path\to\Typora.exe
if not exist "%typora_path%" (
echo Typora 未找到,请手动指定 Typora 的安装路径:
set /p typora_path=请输入 Typora 路径:
if not exist "%typora_path%" (
echo Typora 路径无效,无法打开文章,请检查路径后手动打开.
pause
exit /b
)
)
:: 打开 Typora 编辑器
"%typora_path%" "%post_file%"
endlocal
pause
网上找的大佬脚本
@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提交脚本
我使用的是Github Action自动部署并推到GitHub Pages上,所以提交脚本用这个
@echo off
setlocal
:: 提交并推送到 GitHub
cd /d "D:\path\to\hexo\blog" :: 替换为你的 Hexo 博客文件夹路径
:: 添加所有更改
git add .
:: 提示输入提交信息
set /p commit_message=请输入提交信息:
:: 提交更改
git commit -m "%commit_message%"
:: 推送到远程仓库
git push origin main
endlocal
pause
简单点好呀hhh
瞎折腾得点啥东西!