使用 Github 与 Hexo 搭建在线个人博客
在无服务器环境下,使用 Git 和 Node.js 配合 Hexo 静态博客生成器,结合 GitHub Pages 搭建个人博客的完整流程。内容包括环境配置(Git、Node.js)、Hexo 初始化与主题安装、GitHub 仓库创建与 SSH 密钥配置、以及最终的项目部署与访问设置。通过此方案可实现博客内容的本地编写与互联网发布。

在无服务器环境下,使用 Git 和 Node.js 配合 Hexo 静态博客生成器,结合 GitHub Pages 搭建个人博客的完整流程。内容包括环境配置(Git、Node.js)、Hexo 初始化与主题安装、GitHub 仓库创建与 SSH 密钥配置、以及最终的项目部署与访问设置。通过此方案可实现博客内容的本地编写与互联网发布。

自己没有任何可用的在线服务器,但是平时使用 Markdown 编写博客内容,想要将这些博客内容分享到互联网上,让大家都可以查看自己写好的博客内容;同时也方便自己在线访问查阅。 没有在线服务器则可以借助 GitHub 这个最大的全球在线平台;使用 Markdown 编写博客则可以使用静态博客 Hexo。


在 Git 安装完成之后点击鼠标右键选择【Git Bash Here】或者直接打开解压后的 Git 目录下的【git-bash.exe】查看 Git 的版本信息 git --version 如下图所示:

至此本机 Git 安装完成。

配置 Node.js 在 Windows 的环境变量:选择【此电脑】-->点击鼠标右键【属性】-->【高级系统设置】-->【环境变量】-->在【系统变量】点击【新建】输入变量名【node】,变量值输入 Node.js 的路径(如:E:\AllSoftWare\DevelopSoftWare\NodeJs)-->【确定】后再 Git Bash 中输入 node -v 显示版本信息则表示安装 Node.js 成功。如下图所示:

至此输入 node -v 显示版本信息,表示已经安装 Node.js 成功了。
npm(Node Package Manager),而 cnpm 是国内版的 npm,在国内直接使用淘宝提供的下载会更快。
# 在 Git 中安装 cnpm 命令
npm install -g cnpm --registry=https://registry.npm.taobao.org
# 验证 cnpm 是否安装完成(显示对应的版本信息则表示安装成功)
cnpm -v

注意:如果在安装 cnpm 命令后,使用 cnpm -v 提示'bash: cnpm: command not found'时是因为我们的 cnpm 被安装到了其他目录,一般情况下是安装在 C:\Users\自己用户名\AppData\Roaming\npm(如 C:\Users\CoffeeMilk\AppData\Roaming\npm);也可以通过【Everything】工具来查找 cnpm 的路径(如:F:\SoftWareResources\AiBox\ai\pic-smaller\pic-smaller\.ai\node-v18.19.0-win-x64\node_global),然后将这个查找到的路径添加到【XXX 用户变量】的【Path】中后再次输入 cnpm -v 即可看到。

至此显示 cnpm 的版本信息内容表示安装完成。
# 使用 cnpm 下载安装 Hexo
cnpm install hexo-cli -g
# 查看 hexo 版本信息 (显示对应的版本信息则表示安装成功)
hexo -v

# 进入指定路径 (比如我想要将博客内容都放置在 F 盘的 MyBlog 目录中,则先进入该目录下)
cd F:\MyBlog
# 创建一个名为 ckblogs 的 Hexo 新项目
hexo init ckblogs
# 进入该内容目录中
cd ckblogs
# 安装 Hexo 项目所需的依赖内容
npm install
# 安装 Hexo 项目所需的依赖内容并保存
npm install hexo-deployer-git --save
# 启动 Hexo 项目(启动后不要立即按下 Ctrl+C 停止服务)
hexo server
# 可以直接在浏览器输入 localhost:4000 即可访问到项目页面(表示项目安装配置完成)
http://localhost:4000/

至此创建的名为 ckblogs 的 Hexo 项目完成。

Kratos-Rebirth 主题加入自己 Hexo 项目【blog】的操作:
# 给使用 Hexo 创建的项目【blog】添加主题【Kratos-Rebirth】
cd F:\MyBlog
cd blog
git clone https://github.com/Candinya/Kratos-Rebirth/archive/refs/tags/v2.2.0.zip themes/amazing
# 将下载好的 Kratos-Rebirth-2.2.0.zip 解压到 F:\MyBlog\blog\themes 目录中且名称修改为 Kratos-Rebirth
# 编辑 F:\MyBlog\blog 目录下的 _config.yml 文件中的 theme: landscape 修改为 theme: Kratos-Rebirth 保存
# 进入创建好的 blog 项目中
cd F:\MyBlog
cd blog
# 安装 blog 项目所需的依赖内容
npm install
# 清除缓存
hexo clean
# 编译
hexo g
# 启动服务
hexo s

Amazing 主题的加入到自己 Hexo 项目【ckblogs】中的操作:
# 进入 Hexo 项目目录
cd F:\MyBlog
cd ckblogs/
# 在需要使用这个主题的项目中克隆主机
git clone https://github.com/removeif/hexo-theme-amazing.git themes/amazing
# 修改所在项目目录下的 _config.yml 文件中倒数第二主题内容为 theme: amazing
# 安装该主题的依赖包(即主题文件 package.json 最后面的 dependencies 内容)
# 注意:主题文件 package.json 里面最后没有 dependencies 内容的就不用安装
npm install --save [email protected] deepmerge@^4.3.1 hexo@^7.1.1 hexo-component-inferno@^3.1.2 hexo-log@^4.1.0 hexo-pagination@^3.0.0 hexo-renderer-inferno@^1.0.2 hexo-renderer-stylus@^3.0.1 hexo-util@^3.2.0 inferno@^8.2.3 inferno-create-element@^8.2.3 moment@^2.30.1 semver@^7.5.4
# 清除缓存
hexo clean
# 编译
hexo g
# 启动服务
hexo s
# 浏览器访问 http://localhost:4000/ 查看效果

其余的主题配置也是类似的操作。
# 查看 windows 系统的 4000 端口的进程
netstat -ano | findstr 4000
# 强制杀死指定进程(如:1652 进程)
taskkill /f /pid 1652

注意:若没有 GitHub 账号则需要先注册一个,GitHub 官网地址是 https://github.com/
# 先在本机指定路径下生成一对密钥(一般生成的路径是:C:\Users\电脑当前的用户名\.ssh)
ssh-keygen -t ed25519 -C"[email protected]"

将本地生成的 ssh 密钥对中的文件结尾带有.pub 的公钥文件内容复制一份到 GitHub 中【登录自己的 GitHub 账号,然后点击右上角的头像】-->【Settings】-->【SSH and GPG keys】-->【New SSH key】-->【输入 Title 内容 (随便填写)、选择 Key type 是(Authentication key)、将本地生成的 ssh 密钥对中的文件结尾带有.pub 的公钥文件内容全选后粘贴到 Key 输入框中】-->【Add SSH key】,相信操作如下图所示:

在 GitHub 界面上选择右上角的加号【+】-->【New repository】-->【根据自己情况填写仓库名称 (如:blog)】-->【Create repository】;然后该 GitHub 上的仓库就创建完成了,在这个仓库界面选择右边的【code】-->【local】-->【ssh】-->点击复制图标即可获取到该仓库的 SSH 链接。详细操作如下图所示:

# 在正式执行 hexo d 命令将本地的 Hexo 项目部署到 github 上前,还需要给上传的项目(如 F:\MyBlog\blog\_config.yml 文件最后添加如下内容才可实现上传到 github 指定仓库)
# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
type: 'git'
repo: [email protected]:自己在 github 上的用户名称/仓库名称.git
branch: main
name: 自己在 github 上的用户名称
email: 自己在 github 上的用户对应的邮箱

# 进入本地 Hexo 创建的 blog 项目中
cd F:\MyBlog
cd blog
# 安装部署项目到 github 所需的包
npm install hexo-deployer-git --save
# 清除缓存
hexo clean
# 编译 blog 项目
hexo g
# 部署 blog 项目到 github 上
hexo d

注意:在部署 blog 项目到 GitHub 上时若提示:'error: GH013: Repository rule violations found for refs/heads/main.
!
[remote rejected] HEAD -> main (push declined due to repository rule violations)
error: failed to push some refs to '[email protected]:xxx/blog.git''时,是因为我们推送的当前项目中包含了密钥内容,导致 GitHub 的密钥扫描发现了就禁止推送了。我们根据提示的消息将类似【Tencent Cloud Secret ID】下面给出的 remote 链接【https://github.com/xxx/blog/security/secret-scanning/unblock-secret/xxx】复制到浏览器上授予允许后再来重新执行 hexo d 命令重试即可解决,相信操作如下图所示:

至此你已经将本地的 Hexo 创建的 blog 项目部署到 GitHub 的仓库中了。

选择自己的博客仓库的【Settings】-->【Pages】-->【Branch 项下选择(main)-->(/root)】-->【Save】-->【Source 下面选择 Deploy from branch】即可获取到博客的网址(如:https://kafeiweimei.github.io/blog/)在浏览器中输入这个网址即可查看到我们部署的网站内容(注意:若我们看到的网站是排版混乱的,此时可以在浏览器界面打开 F12 后选择网络后按下 F5 键刷新仔细看资源加载,一般情况下都是这些资源的路径不对【即:我们需要重新配置一下该博客仓库的网站根目录】及其 _config.yml 文件内的 url 后面添加上自己网站的地址)如下图所示:

只用在自己博客的【source】-->【_posts】目录下创建以.md 结尾的文档即可;然后将项目编译部署到 GitHub 即可看到效果了。
注意:
---
title: hello world
date: 2025-11-03 11:31:36
categories: 教程文档
tags:
- markdown 快速入门
- 编写一个 markdown 文件
- markdown 的常用方法
sticky: 100
pic:
comments: true
toc: true
expire: true
only:
- home
- category
- tag
---

# 进入本地 Hexo 创建的 blog 项目中
cd F:\MyBlog
cd blog
# 安装部署项目到 github 所需的包(已经安装过就不用安装了)
npm install hexo-deployer-git --save
# 清除缓存
hexo clean
# 编译 blog 项目
hexo g
# 部署 blog 项目到 github 上
hexo d

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online
JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online
使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online
Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online