搭建博客流程
一、搭建Hexo博客,快速简洁高效,零成本搭建个人博客:Hexo + GitHub Pages + Cloudflare Pages 完整指南
本文记录如何使用Hexo框架搭建个人博客,并将其部署到GitHub Pages和Cloudflare Pages上。主要内容包括:
- 环境准备:安装Node.js和Git
- 配置Git和GitHub:设置SSH密钥,创建GitHub仓库
- 初始化Hexo项目:安装Hexo,创建新博客
- 部署到GitHub Pages:配置部署设置,推送静态文件
- 部署到Cloudflare Pages:连接GitHub仓库,自动部署
- 基本使用方法:创建新文章,本地预览,发布更新
这个教程适合那些想要快速搭建个人博客,但又不想花费太多成本的人。通过使用Hexo、GitHub和Cloudflare的免费服务,您可以轻松创建一个高效、简洁的博客网站。
1.事前准备
- 域名(非必须,你也可以使用免费域名,或者
GitHub.io或Pages.dev分配的域名也可以) - GitHub(必须,你需要注册一个GitHub帐号)
- Cloudflare(非必须,你需要注册一个Cloudflare帐号,这样你就可以将博客部署在CF的CDN里加速,但是你也可以直接使用
GitHub.io分配的域名)
2.软件支持
2.1.安装 Node
打开Node官网,下载和自己系统相配的Node的安装程序,否则会出现安装问题。下载地址:https://nodejs.org/en
下载后安装,安装的目录可以使用默认目录
C:/Program Files/nodejs/安装完成后,检查是否安装成功。在键盘按下win + R键,输入CMD,然后回车,打开CMD窗口,执行
node -v命令,看到版本信息,则说明安装成功。修改npm源。npm下载各种模块,默认是从国处服务器下载,速度较慢,建议配置成华为云镜像源。打开CMD窗口,运行如下命令:
1
npm config set registry https://mirrors.huaweicloud.com/repository/npm/
2.2.安装 Git
- 进入官网下载适合你当前系统的 Git:https://git-scm.com/downloads
- 下载后傻瓜式安装Git即可,安装的目录最好使用默认目录
C:/Program Files/Git - 点击电脑左下角开始即可看见Git CMD、Git Bash、Git GUI。
Git CMD是windows 命令行的指令风格Git Bash是linux系统的指令风格(建议使用)Git GUI是图形化界面(新手学习不建议使用)
3.配置 Git 密钥并连接至 Github
常用 Git 命令
1 | git config -l //查看所有配置 |
3.1. 配置用户名和邮箱
1 | shellgit config --global user.name "你的用户名" |
通过git config -l 检查是否配置成功,会在最下面显示。
3.2. 配置公钥连接Github
执行以下命令生成ssh公钥,此公钥用于你的计算机连接Github
1
shellssh-keygen -t rsa -C "你的邮箱"
提示Enter file in which to save the key,直接一路回车即可,新手小白不推荐设置密钥,之后打开C盘下用户文件夹下的.ssh的文件夹,会看到以下两个文件
id_rsa私钥id_rsa.pub公钥
用记事本打开上述图片中的公钥id_rsa.pub,复制里面的内容,然后开始在github中配置ssh密钥。
将 SSH KEY 配置到 GitHub
进入github,点击右上角头像 选择settings,进入设置页后选择 SSH and GPG keys,名字随便起,公钥填到Key那一栏。测试连接,输入以下命令
1
ssh -T [email protected]
第一次连接会提示Are you sure you want to continue connecting (yes/no/[fingerprint])?,输入yes即可,
出现连接到账户的信息,说明已经大功告成,至此完成了环境准备工作。
3.3. 创建GitHub.io仓库
- 点击右上角的
+按钮,选择New repository,创建一个<用户名>.github.io的仓库。 - 仓库名字的格式必须为:
<用户名>.github.io(注意:前缀必须为用户名,此为预览博客需要,后期可修改仓库名) - 可见性必须选择
Public方便第一次部署检查问题,点击 Creat repository 进行创建即可
4.初始化 Hexo 博客
创建一个文件夹来保存博客源码(路径可自定,D:/Hexo-Blog
),在文件夹内右键鼠标,选择Open Git Bash here`在Git BASH输入如下命令安装 Hexo。
1
npm install -g hexo-cli && hexo -v
安装完后输入
hexo -v验证是否安装成功,会输出版本号等信息。初始化 Hexo 项目安装相关依赖。
1
2
3hexo init blog-demo
cd blog-demo
npm i初始化项目后,
blog-demo有如下结构:
node_modules:依赖包
scaffolds:生成文章的一些模板
source:用来存放你的文章
themes:主题
.npmignore:发布时忽略的文件(可忽略)
_config.landscape.yml:主题的配置文件
config.yml:博客的配置文件
package.json:项目名称、描述、版本、运行和开发等信息
输入
hexo cl && hexo s启动项目,打开浏览器,输入地址:http://localhost:4000/ ,看到hellow world表明已经构建成功了。
5.将静态博客挂载到 GitHub Pages
安装 hexo-deployer-git
1
npm install hexo-deployer-git --save
修改
_config.yml文件在blog-demo目录下的_config.yml,就是整个Hexo框架的配置文件了。可以在里面修改大部分的配置。详细可参考官方的配置描述。修改最后一行的配置,将repository修改为你自己的github项目地址即可,还有分支要改为
main代表主分支(注意缩进)。1
2
3
4deploy:
type: git
repository: [email protected]:mushan-1/hexo-blog.git
branch: main修改好配置后,运行如下命令(二选一),将代码部署到 GitHub。如果出现Deploy done: git,则说明部署成功了。
1
2
3
4// Git BASH终端
hexo clean && hexo generate && hexo deploy
// VSCODE终端
hexo cl; hexo g; hexo d
- hexo clean:删除之前生成的文件,可以用
hexo cl缩写。 - hexo generate:生成静态文章,可以用
hexo g缩写 - hexo deploy:部署文章,可以用
hexo d缩写
注意:deploy时可能要你输入 username 和 password。
6.将静态博客挂载到 Cloudflare Pages
- 在计算里的Workers 和 Pages中选择 Pages部署,导入现有 Git 存储库(也就是选择GitHub中Blog仓库)
- 点击开始设置,填写自定义项目名称,点击保存并部署,等待部署完成即可。
- 提示
成功!您的项目已部署到以下区域:全球后,这时就可以将<用户名>.github.io的仓库设置为Private私库了。 - 如果有自己的域名,可以绑定自己的自定义域,访问自定义域即可看到博文内容。
7.新建博文
1 | hexo new 博文名称 |
然后用文本编辑器去编辑_posts/博文名称.md里的内容即可,注意要使用Markdown格式书写。其详细使用方法可以查阅 https://hexo.io/zh-cn/docs/writing,编辑完文章保存后可以使用如下命令(二选一),生成本地页面 http://localhost:4000/ ,进行预览。
1 | // Git BASH终端 |
确认无误后使用以下命令(二选一),将本地文章推送至GitHub仓库即可
1 | // Git BASH终端 |
若VSCODE 终端首次执行报错,使用管理员身份打开 powershell ,输入以下命令
1 | Set-ExecutionPolicy RemoteSigned |
二、安装主题
本博文用的solitude主题,是一款优雅的 Hexo 主题,支持懒加载、PWA、Latex 以及多种评论系统。
项目地址:https://github.com/everfu/hexo-theme-solitude
官方文档:https://solitude.js.org/cn/getting-started/introduction
1、 安裝
在博客根目录(.\Hexo-Blog\blog-demo)里安装最新版主题
1 | git clone -b dev https://github.com/everfu/hexo-theme-solitude.git themes/solitude |
安装依赖
1 | npm i hexo-renderer-pug |
2、应用主题
修改 hexo 配置文件_config.yml,把主题改为anzhiyu
1 | theme: solitude |
3、将主题配置复制到博客根目录(可选)
为了减少升级主题后带来的不便,可将主题目录的 _config.yml 内容复制到博客根录并重命名为 _config.solitude.yml。
1 | copy .\themes\solitude\_config.yml .\_config.solitude.yml |
博客根目录下的 _config.solitude.yml 中的配置优先级大于主题目录 _config.yml 中的配置内容。如果使用了 _config.solitude.yml, 主题的 _config.yml 对应配置将不会有效果。更新主题时记得关注配置文件是否改动,通过对比配置文件改动,同步修改原配置文件即可。
注意: 复制的是主题的 _config.yml ,而不是 hexo 的 _config.yml。 不要把主题目录的 _config.yml 删掉
4、实现博客加密功能(可选)
本博文使用开源插件hexo-blog-encrypt
安装插件
1 | npm install --save hexo-blog-encrypt |
在hexo的_config.yml文件中添加如下代码:
1 | # 安全设置 |
配置项说明:
- enable: 是否启用加密功能,设置为 true 启用。
- abstract: 加密文章的摘要,显示在文章列表页。
- message: 密码输入框上方的描述性文字。
- tags: 标签配置,可以为不同标签设置不同的密码。
- wrong_pass_message: 密码错误时的提示信息。
- wrong_hash_message: 解密内容无法验证时的提示信息。
在需要加密文章的YAML头部添加如下设置:
1 | password: "你的密码必须在引号里面" |
