凌木白

文章 分类 评论
44 6 2

站点介绍

木白 & 耙耙柑 & 瑶瑶 的生活琐碎

Hexo+Typora愉快书写博客

凌木白 2024-10-15 11 0条评论 瞎鼓捣 博客Hexo和Typora

首页 / 正文

需求:

  1. 我想在windows下用typecho写用Hexo搭建的博客文章
  2. 点击脚本后输入文章标题,用hexo new命令新建文章
  3. 新建文章后直接调用本地的Typora进行文章编辑
  4. .书写文章后保存,用另一个脚本提交到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

评论(0)

热门文章

最新评论

  • 安知鱼

    简单点好呀hhh

  • 言幻真

    瞎折腾得点啥东西!

日历

2025年12月

 123456
78910111213
14151617181920
21222324252627
28293031   

文章目录