Hexo搭建
Hexo搭建
First本文详细介绍了如何使用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窗口,运行如下命令:
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 命令
git config -l //查看所有配置 |
3.1. 配置用户名和邮箱
git config --global user.name "你的用户名" |
通过git config -l
检查是否配置成功。
3.2. 配置公钥连接Github
- 执行以下命令生成ssh公钥,此公钥用于你的计算机连接Github
ssh-keygen -t rsa -C "你的邮箱" |
之后打开C盘下用户文件夹下的.ssh的文件夹,会看到以下文件
id_rsa
私钥id_rsa.pub
公钥
用记事本打开上述图片中的公钥id_rsa.pub
,复制里面的内容,然后开始在github中配置ssh密钥。
- 将 SSH KEY 配置到 GitHub
进入github,点击右上角头像 选择settings
,进入设置页后选择SSH and GPG keys
,名字随便起,公钥填到Key
那一栏。 - 测试连接,输入以下命令
ssh -T git@github.com |
第一次连接会提示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
npm install -g hexo-cli && hexo -v |
3. 安装完后输入hexo -v
验证是否安装成功。
4. 初始化 Hexo 项目安装相关依赖。
hexo init blog-demo |
5. 初始化项目后,blog-demo
有如下结构:
- node_modules:依赖包
- scaffolds:生成文章的一些模板
- source:用来存放你的文章
- themes:主题
- .npmignore:发布时忽略的文件(可忽略)
- _config.landscape.yml:主题的配置文件
- config.yml:博客的配置文件
- package.json:项目名称、描述、版本、运行和开发等信
- 输入
hexo cl && hexo s
启动项目 - 打开浏览器,输入地址:http://localhost:4000/ ,看到下面的效果,说明你的博客已经构建成功了。
5.将静态博客挂载到 GitHub Pages
- 安装 hexo-deployer-git
npm install hexo-deployer-git --save |
- 修改
_config.yml
文件
在blog-demo目录下的_config.yml,就是整个Hexo框架的配置文件了。可以在里面修改大部分的配置。详细可参考官方的配置描述。
修改最后一行的配置,将repository修改为你自己的github项目地址即可,还有分支要改为main
代表主分支(注意缩进)。
deploy: |
- 修改好配置后,运行如下命令,将代码部署到 GitHub(Hexo三连)。
// Git BASH终端 |
- hexo clean:删除之前生成的文件,可以用
hexo cl
缩写。 - hexo generate:生成静态文章,可以用
hexo g
缩写 - hexo deploy:部署文章,可以用
hexo d
缩写
注意:deploy时可能要你输入 username 和 password。
如果出现Deploy done,则说明部署成功了。
稍等两分钟,打开浏览器访问:https://cmliussss2024.github.io ,这时候我们就可以看到博客内容了。
6、Github Actions自动化部署 Hexo博客
简单说,就是把hexo博客编译前的源代码上传到github代码仓库,Action在代码发生变动的时候,自动通过安装一系列nodejs环境和相关依赖,编译生成html页面到github pages仓库。
再简单点说,就是把本地生成博客的工作,全部交给Action执行。
好处就是随时随地都能修改或增加博文
6.1. 先建一个私有仓库(自动化仓库)
先建一个私有仓库(myhexo),这个仓库存放的是编译前的文件,也就是你电脑本地的文件,这个仓库是拿来做自动化的
也就是一共两个仓库
- 一个公有仓库存编译好的hexo(pages仓库,用户名例如是
1422756921.github.io
) - 一个私有仓库存本地电脑编译前的文件(自动化仓库,用户名是
myhexo
)
6.2. 上传编译前的代码
创建完私有仓库后,在本地博客文件中复制几个文件到另外一个文件夹,其中包括.github
,scaffolds
,source
,themes
,_config.yml
,package.json
,package-lock.json
还有一个很重要的一步:打开themes/bamboo主题模板文件,主题源码.git
文件删除,Hexo博客根目录修改配置文件使用bamboo主题
然后回到myhexo根目录右键打开git bash
git init #把这个目录变成Git可以管理的仓库 |
同样SSH
和HTTPS
均可。SSH
在绑定过ssh key
的设备上无需再输入密码,HTTPS
则需要输入密码,但是SSH
偶尔会遇到端口占用的情况。
6.3. 获取 Github token
打开https://github.com/settings/tokens
点击 Generate new token 新建个 token
note随便填,Expiration选择No expiration,勾选repo和workflow,其他没什么了,然后点生成就好了
把token复制下来
打开自动化仓库myhexo的Settings
-> Secrets and variables
-> Actions
-> New repository secret
一共有三个变量名GITHUBTOKEN
,GITHUBUSERNAME
,GITHUBEMAIL
,逐一添加
变量名 | 常量释义 |
---|---|
GITHUBMAIL | Github 用户邮箱地址 |
GITHUBTOKEN | Github token |
GITHUBUSERNAME | Github 用户名 |
6.4. 添加workflows
接下来点击Actions
-> set up a workflow yourself
复制以下代码到里面
name: 自动部署 |
粘贴上去后点击Commit changes…
就大功告成了,可以点击Actions查看运行进程了
7. 上传方式配置(可选)
提供两种 Push 方式,二选一,分别是 git
和 Github Desktop
。上面5、6部分都是Git方式。
Github Desktop
使用和配置更加方便,推荐使用。
7.1. Github Desktop
前往 Github 官网下载 并安装。
安装好并且登录你的 Github 账号,会出现如下界面
点击左上角,点击 Add
新增项目,选择 Clone 仓库
,选中你之前创建的 Hexo 仓库,然后点击 Clone
把仓库克隆下来。
接下来你就能在 Local Path
中显示的文件地址找到你项目的文件夹了。
7.2. 本地使用教程
现在既然clone好了,那么该如何使用呢?
每次当你改完hexo文件,可以使用以下命令让 hexo 在本地运行起来
hexo clean&&hexo s |
hexo clean
是清除之前的缓存
hexo s
是指运行 hexo server
当你看见这条信息的时候,就可以打开 http://127.0.0.1:4000 查看你所做的更改的效果了
如果要结束运行,可以执行:Ctrl+C
如果本地测试好没问题,就可以 push 到 Github 了
7.3. 上传文件
首先点击 Fetch Origin
查找文件改动
然后在左下角的输入框中写本次文件改动 (Commit) 总结,然后点击 Commit to main
最后,点击右上角的 Push origin
,这样文件就上传到 Github 了
8.将静态博客挂载到 Cloudflare Pages
- 在
Workers 和 Pages
中选择Pages
的连接到 Git
- 然后登录你Blog仓库对应的GitHub帐号
- 点击
保存并部署
后等待部署完成即可。 - 提示
成功!您的项目已部署到以下区域:全球
后,浏览器访问:https://cmliussss2024-github-io.pages.dev ,这时候我们就可以看到博客内容了。
这时你也就可以将你的<用户名>.github.io
的仓库设置为Private
私库了 - 如果你有自己的域名,你可以在这里绑定你自己的自定义域,即可