GitHub如何创建个人博客(附本人博客链接)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
如何创建个人博客
前段时间一直想弄一个真正属于自己的技术博客。
之前发文章基本都在各种平台上,虽然方便,但总感觉少点东西。
排版、风格、文章分类,包括内容本身,其实都还是依赖平台。
而且写久了会发现:
平台只是流量入口
个人博客才是真正属于自己的技术资产
所以这两天折腾了一下,最终选择了:GitHub Pages + Hexo + Redefine

(主要原因其实是因为这个,没法给大家分享好东西)
参考案例(本人的博客):https://tamoon1.github.io/

这套方案最大的优点就是:
- 免费
- 不需要服务器
- 不需要数据库
- 不需要公网 IP
- 部署非常轻量
非常适合搭建技术博客。
这篇文章就简单记录一下整个搭建过程,以及我踩过的一些坑。
------
# 为什么不用服务器?
很多人第一次搭博客,第一反应都是:
- 买云服务器
- 装 WordPress
- 配数据库
- 配 HTTPS
但实际上:
```text
技术博客完全没必要搞这么重
Hexo 本质上是:
静态博客生成器(SSG)
你平时写的 Markdown:
# Windows Token 原理
最终都会在本地生成 HTML 文件。
而 GitHub Pages 会帮你直接托管这些静态页面。
也就是说:
GitHub 仓库
↓
自动变成网站
整个过程根本不需要后端。
所以:
- 不需要运维
- 不需要防攻击
- 不需要数据库
- 甚至不需要服务器
这一点真的舒服很多。
环境准备
本地只需要安装两个东西:
- Node.js
- Git
Node.js 用来运行 Hexo。
Git 用来同步博客到 GitHub。
安装完成后验证一下:
node -v
npm -v
git --version

能正常输出版本号即可。
创建 GitHub Pages 仓库
登录 GitHub 后,新建一个公开仓库。

这里有一个特别关键的地方:
仓库名必须是:
你的用户名.github.io
比如我的用户名是:
TaMoon1
那仓库就必须叫:
TaMoon1.github.io

这个名字不能乱改。
创建仓库时保持空白即可,不用勾选 README。
初始化 Hexo
在本地终端执行:
# 初始化 Hexo 博客
hexo init my-blog
# 进入博客目录
cd my-blog
# 安装依赖
npm install
执行完成后,一个最基础的 Hexo 博客就已经搭好了。
本地启动:
hexo s

浏览器访问:
http://localhost:4000

就能看到博客页面。
日常更新和上传文章非常简单,只需在终端(命令行)里执行以下两步:
日常更新和上传文章非常简单,只需在终端(命令行)里执行以下两步:
第一步:新建文章
在博客根目录下执行命令,创建一篇全新的 Markdown 空白文章:
hexo new "文章标题"
执行后,终端会提示你在 source/_posts/ 目录下生成了一个 文章标题.md 文件。你只需用编辑器打开它,写下你的正文内容即可。
第二步:一键编译并发布上线
文章写完并保存后,在根目录下直接执行下面这行日常最常用的发布连招:
hexo cl && hexo g && hexo d
这个连招会自动帮你完成:清理旧缓存 ——> 重新将 Markdown 渲染成精美的网页静态文件 ——> 打包推送到 GitHub 仓库。看到终端输出 INFO Deploy done: git 之后,直接去线上刷新你的博客网址即可看到新文章!
为什么选择 Redefine
一开始其实看了很多主题:
- Butterfly
- Volantis
- NexT
- Fluid
最后还是选择了:
Redefine
主要原因还是:
科技感很舒服
不会太花,也不会太素。
比较符合:
安全研究 / 技术博客
这种风格。
(1)安装 Redefine
执行:
npm install hexo-theme-redefine --save
然后修改博客根目录的 _config.yml:
theme: redefine
接着初始化主题:
npx hexo-theme-redefine-cli init
基本就完成了。
(2)部署到 GitHub Pages
Hexo 默认不带 Git 部署插件。所以需要先安装:
npm install hexo-deployer-git --save
(3)修改 deploy 配置
打开博客根目录 _config.yml,在最下面添加:
deploy:
type: git
repo: https://github.com/你的用户名/你的用户名.github.io.git
branch: main
例如:
deploy:
type: git
repo: https://github.com/TaMoon1/TaMoon1.github.io.git
branch: main
(4)开始部署
执行:
# 清理缓存
hexo cl
# 生成静态页面
hexo g
# 部署到 GitHub
hexo d
也可以直接简写:
hexo cl && hexo g && hexo d
等待几分钟后:
https://你的用户名.github.io
即可访问自己的博客。
搭建过程中踩过的几个坑
1. ERROR Deployer not found: git
原因:没有安装部署插件。
解决方法:执行:
npm install hexo-deployer-git --save
即可。
2. LF will be replaced by CRLF
现象:终端出现大量 warning:
LF will be replaced by CRLF
原因:Windows 与 Linux 换行符差异导致。
解决方法:不用处理,Git 会自动转换。
3. Redefine CDN warning
现象:启动时出现:
WARN [redefine] CDNJS CDN is unavailable yet
原因:主题在自动检测 CDN 节点。
解决方法:只要后续出现:
INFO CDN available
即可正常使用。
后续规划
后面应该会继续往博客里放一些:
- Windows 安全
- 红蓝对抗
- 工具分析
- 内网渗透
- AI Security
- 安全研究相关内容
相比平台文章,我现在越来越觉得:
个人博客更像是自己的长期知识库
本人的博客:https://tamoon1.github.io/
很多东西只有真正沉淀下来,后面再回头看时才会发现价值。
这篇也算是博客正式上线后的第一篇文章了。
更多推荐

所有评论(0)