Hexo博客一键部署脚本 小白也能轻松搭建的GitHub Pages博客 什么是Hexo一键部署脚本? Hexo一键部署脚本是一个自动化工具,能够帮助你在几分钟内完成从环境配置到博客上线的全过程。这个脚本特别适合刚接触博客搭建的小白用户,无需手动输入复杂命令,只需按照提示填写几个信息,就能轻松拥有自己的GitHub Pages博客。
脚本功能与优势
🚀 全自动部署 :从环境检查到博客上线,全程自动化
📦 自动安装依赖 :自动检查并安装Git和Node.js
🔧 智能配置 :自动配置Git身份、Hexo设置和SSH密钥
🌐 网络优化 :使用国内镜像加速,解决网络连接问题
💡 错误处理 :提供清晰的错误提示和解决方案
📱 小白友好 :只需输入GitHub用户名和邮箱,其余全自动化
脚本工作原理
环境检查 :检查并安装Git和Node.js
Git配置 :设置Git用户名、邮箱和SSL配置
Hexo初始化 :创建Hexo博客项目
依赖安装 :安装必要的npm包
配置修改 :自动修改Hexo配置文件
SSH处理 :生成SSH密钥并复制到剪贴板
部署发布 :生成静态文件并部署到GitHub Pages
详细使用步骤 步骤1:准备工作
确保你的电脑是Windows系统(脚本仅支持Windows)
拥有一个GitHub账号(没有的话先去注册)
稳定的网络连接(建议使用VPN,因为需要访问GitHub)
步骤2:创建脚本文件
在桌面上创建一个新的文本文件
将下面的完整源代码复制粘贴到文本文件中
将文件扩展名从.txt改为.bat(例如:hexo-deploy.bat)
步骤3:运行脚本
右键点击创建好的.bat文件
选择”以管理员身份运行”(重要!否则可能无法安装软件)
按照屏幕提示输入信息:
GitHub用户名:你的GitHub账号名称
GitHub邮箱:你的GitHub注册邮箱
仓库名:直接回车使用默认的用户名.github.io
步骤4:等待部署完成 脚本会自动执行以下操作:
安装Git和Node.js(如果没有的话)
初始化Hexo博客
配置GitHub连接
生成并复制SSH密钥
步骤5:添加SSH密钥到GitHub 当脚本提示你需要添加SSH密钥时:
浏览器会自动打开GitHub的SSH密钥设置页面
点击”New SSH key”按钮
在”Title”字段输入一个名称(例如:My PC)
在”Key”字段粘贴已复制的SSH密钥(脚本已经自动复制到剪贴板)
点击”Add SSH key”保存
回到脚本窗口,按任意键继续
步骤6:完成部署
脚本会自动部署博客到GitHub Pages
部署完成后,浏览器会打开GitHub Pages设置页面
确保”Branch”选择为main,然后点击”Save”
等待约1分钟后,博客即可访问
完整源代码 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 83 84 85 86 87 88 89 90 91 92 93 94 95 96 @echo off :: 使用 65001 强制 UTF-8 编码,防止乱码导致命令碎裂 chcp 65001 >nul title Hexo 博客全自动助手 - 稳定修复版color 0 becho ======================================================echo 🚀 Hexo + GitHub 博客一键搭建助手.Ta0X1echo ======================================================echo .:: 1 . 采集信息 set /p githubUser= [?] 1 . 请输入 GitHub 用户名: set /p githubEmail= [?] 2 . 请输入 GitHub 邮箱: set /p repoName= [?] 3 . 请输入仓库名 (直接回车为 %githubUser% .github.io): if "%repoName% "=="" set repoName=%githubUser% .github.ioecho .echo ------------------------------------------------------echo [1 /7 ] 正在检查环境 (Git 和 Node.js)...echo [进度: ■□□□□□□ 15 %%] :: 环境检查与实时刷新 Path where node >nul 2 >nul || (echo - 安装 Node.js... && winget install OpenJS.NodeJS --source winget --quiet) where git >nul 2 >nul || (echo - 安装 Git... && winget install Git.Git --source winget --quiet) set "PATH =%ProgramFiles% \nodejs\;%AppData% \npm;%ProgramFiles% \Git\cmd ;%PATH% "echo .echo [2 /7 ] 正在配置 Git 身份与安全信任...call git config --global user.name "%githubUser% "call git config --global user.email "%githubEmail% ":: 修复网络问题:尝试关闭 Git 的 SSL 验证(防止 Connection Reset) call git config --global http.sslVerify falseif not exist "%USERPROFILE% \.ssh" mkdir "%USERPROFILE% \.ssh"ssh-keyscan github.com >> "%USERPROFILE% \.ssh\known_hosts" 2 >nul echo .echo [3 /7 ] 正在初始化 Hexo (网络波动时请稍候)...echo [进度: ■■■□□□□ 45 %%] :: 解决 Connection reset 问题:如果 init 失败,提示用户检查网络 if not exist myblog ( call npx hexo-cli init myblog || (echo [!] 网络连接失败,请检查梯子或重试 && pause && exit ) ) cd myblogecho .echo [4 /7 ] 正在安装必要依赖...:: 使用加速镜像安装依赖 call npm install --registry=https://registry.npmmirror.com --silentcall npm install hexo-deployer-git --save --silentecho .echo [5 /7 ] 正在适配仓库路径并修改配置...powershell -Command "$u='%githubUser% '; $r='%repoName% '; $c=Get-Content _config.yml -Raw; if ($r -eq \"$u.github.io\"){ $url='https://'+$u+'.github.io'; $root='/'; } else { $url='https://'+$u+'.github.io/'+$r; $root='/'+$r+'/'; }; $c = $c -replace 'url: .*', \"url: $url\"; $c = $c -replace 'root: .*', \"root: $root\"; $c = $c -replace '(?ms)deploy:.*', \"deploy:`n type : git`n repo: git@github.com:$u/$r.git`n branch: main\"; Set -Content _config.yml $c" echo .echo [6 /7 ] 正在处理 SSH 密钥...if not exist "%USERPROFILE% \.ssh\id_rsa.pub" ( ssh-keygen -t rsa -b 4096 -C "%githubEmail% " -N "" -f "%USERPROFILE% \.ssh\id_rsa" ) type "%USERPROFILE% \.ssh\id_rsa.pub" | clipstart https://github.com/settings/keysecho [+] 我们已为您自动复制在剪切板,请在网页点击New ssh key后,粘贴密钥,保存后,勾选全部可勾选项,回到这里按任意键。pause echo .echo [7 /7 ] 正在执行最终发布...echo [进度: ■■■■■■■ 100 %%] call npx hexo g -decho .echo ======================================================echo ✨ 部署完成!请在下方网页将 Branch 改为 main 并 Save。echo ======================================================start https://github.com/%githubUser% /%repoName% /settings/pagesset "finalUrl=https://%githubUser% .github.io/%repoName% /"if "%repoName% "=="%githubUser% .github.io" set "finalUrl=https://%githubUser% .github.io"echo 博客地址: %finalUrl% echo 等待一分钟后点击任意键自动访问。pause start %finalUrl% pause
注意事项
以管理员身份运行 :必须右键点击脚本文件,选择”以管理员身份运行”,否则可能无法安装Git和Node.js
网络连接 :确保网络连接稳定,建议使用VPN
GitHub账号 :确保你有一个GitHub账号,并且已经验证了邮箱
仓库名 :如果使用个人主页,仓库名必须是用户名.github.io
耐心等待 :脚本执行过程中请耐心等待,不要中途关闭窗口
错误处理 :如果遇到错误,请仔细阅读错误提示,按照提示解决问题
常见问题与解决方案 问题1:脚本运行时提示”winget不是内部或外部命令” 解决方案 :
确保你的Windows版本是Windows 10 1809或更高版本
打开Microsoft Store,搜索并安装”App Installer”
重新运行脚本
问题2:网络连接失败,提示”Connection reset” 解决方案 :
检查你的VPN连接是否正常
尝试关闭防火墙或杀毒软件
重新运行脚本
问题3:部署失败,提示”Permission denied” 解决方案 :
确保你已经正确添加了SSH密钥到GitHub
检查SSH密钥是否正确生成
重新运行脚本,确保以管理员身份运行
问题4:博客访问404 解决方案 :
确保仓库名是用户名.github.io
等待5-10分钟,GitHub Pages需要时间更新
检查GitHub Pages设置中的Branch是否为main
脚本升级与更新 这个脚本会持续更新,以适应GitHub和Hexo的变化。如果你在使用过程中遇到问题,可以查看脚本的最新版本或提交issue。
扩展与自定义 部署完成后,你可以:
进入myblog文件夹,编辑博客内容
安装Hexo主题,美化你的博客
添加插件,扩展博客功能
自定义配置,打造个性化博客
写在最后 Hexo一键部署脚本的目的是让更多人能够轻松拥有自己的博客,无需担心复杂的命令和配置。博客是一个记录生活、分享知识的好地方,希望这个脚本能够帮助你开启博客之旅!
如果你在使用过程中遇到任何问题,欢迎在评论区留言,我会尽力帮助你解决。
祝你博客搭建成功!🎉
作者 :Ta0X1发布日期 :2026-01-21更新日期 :2026-01-21版权声明 :本教程和脚本仅供学习使用,请勿用于商业用途