Hexo+Typora愉快书写博客
木白
需求:
- 我想在windows下用typecho写用Hexo搭建的博客文章
- 点击脚本后输入文章标题,用hexo new命令新建文章
- 新建文章后直接调用本地的Typora进行文章编辑
- .书写文章后保存,用另一个脚本提交到github仓库
新建文章脚本(GPT糊的,做了一些修改)
新建文章脚本V1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
| :: 配置编码,修正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
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
| @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上,所以提交脚本用这个
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| @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
|