基于 Hexo 和 GitHub Pages 搭建博客并实现思源笔记一键发布
基于 Hexo 和 GitHub Pages 搭建博客并实现思源笔记一键发布
一、新建 Github 仓库
- 创建一个 github 仓库,点击
Create repository
- 需要特别注意的是仓库名字是
Github用户名.github.io
这个格式
- 注意记得勾选
Add a README file
,为了方便后续查看 GitHub Pages 的域名和部署分支,然后点击创建 - 创建后,点击
setting
- 查看这个分支,这里为
main
分支,后面写配置文件需要用到,然后https://dukezhu513.github.io
就是后续我们访问的域名,目前也可以访问,只是只能显示出你的仓库名,即我的dukezhu513.github.io
二、安装Node.js、Git和Hexo
- 安装
node.js
,官网链接: Node.js — Download Node.js® - 本次是基于
git
进行部署,所以安装一个git
,链接: https://git-scm.com/downloads - 安装这两个,一般都会自动配置
path
,配置这个目的是可以在任何路径下使用git 和 node.js
,如果没有配置环境变量,可以去配置一下。测试安装是否成功
1 |
|
-
git
还需要配置相应的环境, 实现git
和github
之间的交互,如使用git
拉取github
项目、配置相应的密钥等等,推荐一个配置学习的链接:使用git拉取github项目-CSDN博客 - 新建一个文件夹用来存博客,如我创建的仓库名和
github
仓库名一致,完整路径就是D:\dukezhu513.github.io
,建议路径中不要包含中文字符 - 创建完后,进入这个创建的文件夹,然后鼠标右击,点击
Open Git Bash here
,进入一个命令行界面,然后输入npm install -g hexo-cli
,将 Hexo 命令行工具安装到系统的全局环境中
1 |
|
- 待安装完毕,输入以下指令,将会新建一个
myblogs
文件夹,并且安装 Hexo 项目所需的依赖项
1 |
|
- 继续在 Git Bash 中执行指令
hexo server
1 |
|
执行完毕后,打开本地浏览器,访问 http://localhost:4000/
,出现以下界面,说明本地部署成功了
- 继续在 Git Bash 中执行指令
hexo server
1 |
|
执行完毕后,打开本地浏览器,访问 http://localhost:4000/
,出现以下界面,说明本地部署成功了
四 、将本地博客部署到 Github 上
- 打开博客目录,即我的
D:\DukeZhu513.github.io\myblogs
,找到_config.yml
文件,然后使用记事本或者其他软件打开,这里我用vscode
打开 - 在末尾处加以下代码
1 |
|
这个代码是指,使用 git
方式部署,repo
的选择按照如下图片示例
而那个 branch
填写的就是分支,就是上述第三步建仓库时候,pages
部分查看的分支,需要一致
上面这种图片是我已经部署上去了,所以后面会看到有文件,而没有部署之前,即你们现在的界面,就是空的,只有一个 READMD.md
文件
- 在当前博客目录安装 git 插件,即
D:\DukeZhu513.github.io\myblogs
,使用git bash
执行这个命令
1 |
|
- 最后依次执行
1 |
|
如果设置了密钥,输入密钥即可,若最终出现 Deploy done
就说明部署成功了,此时就可以使用域名访问了,https://用户名.github.io
,如果界面没改变,等个一两分钟即可
- 如果最后一步报错:
1 |
|
解决方案
- 首先检查上述配置过程中是否出错,即
_config.yml
文件是否出错 - 检查
git
是否能够连接github
1 |
|
- 如果不能连接,再测试
SSH
连接情况
1 |
|
- 说明这个 SSH 连接超时,解决方案就是换个端口号
- 按照以下进行添加或者更改,更改电脑用户目录下的
config
文件,我的是C:\Users\Dukezhu\.ssh\config
,以记事本打开或者其他方式打开
1 |
|
- 更改后,注意需要刷新使其生效,有对应的命令,粗暴的方式就是重新启动即可
- 生效后,测试连接情况
1 |
|
五 、基本使用
- 进入博客主目录,然后逐步进入
source\_posts
,我的就是D:\dukezhu513.github.io\myblogs\source\_posts
- 然后新建一个
命名.md
文件,用记事本或者 Vscode 打开,如果有支持 markdown 格式的笔记软件的话,可以对应打开
- 然后按照这样的格式,填写文章标题、发布日期、标签、种类、关键词等等,标题和时间是必需的,其余看自己需求,标签像我这样写就是同级标签
4. 这个使用 ---
包括起来的内容称之为 Front-matter
,即前置信息,用于给 Hexo 渲染该 md 文档,除了这三项,还有很多的配置项可以自己添加:
配置项 | 意义 |
---|---|
title | 网页文章标题 |
date | 文章创建时间 |
comments | 文章评论功能是否启动 |
tags | 文章标签 |
categories | 文章分类 |
keywords | 文章关键字 |
-
Hexo主题更换
- 我用的是Fluid,主题推荐:https://blog.lixiaomu.fun/posts/43857/
六、结合思源笔记“一键发布”
- 在插件集市中安装发布工具
- 在左上角的发布工具进行发布设置
- 鉴权Token需要到
github
进行申请,发布工具为Markdown,图床选择PicGO
注意:有效期请设置永久有效,权限最低要给workflow 更新 GitHub Actions 工作流程
- 在进行常规发布前,先把
gitHub
仓库的原始文件夹全部清空,不能有.html
文件 - https://hexo.io/zh-cn/docs/github-pages参考这个来进行 GitHub Actions 部署 GitHub Pages,同时要在仓库page中
source
更改为Github Actions
- 进行常规发布,看看是否正常
七、搭建图床
为什么要搭建图床:在博客写文章或者搭建自己的网站时,需要往里面加入图片。但是在本地的图片别人是看不到的,需要一个个去复制粘贴。如果用阿里云OSS或者腾讯云COS来搭建一个图床,问题就迎刃而解了。
-
本人选用阿里云OSS云服务
- 登录 阿里云官网,可以用支付宝扫码登录
- 登录之后创建 Bucket
- 「Bucket 名称」任取 (取完之后复制下来,等下要用),地域选择离你最近的那个,其他的设置保持默认。
(PS:如果想使用香港免费额度的话,就是下图的“地域”选取香港即可,其余的步骤都一样)
- 创建完成后会跳转到如下界面,复制下「外网访问-Endpoint(地域节点)」
2.创建子账户
- 这时候我们只有主账户,权限很高,风险也很大。同步不需要这么大的权限,所以接下来创建一个子账户接管部分权限。鼠标移动到右上角的头像位置,点击 「AccessKey 管理」
- 接下来会弹出一个安全提示的窗口,点击「开始使用子用户 AccessKey」
-
然后「创建用户」
-
「登录名称」和「显示名称」任取,但是注意:「Open API 调用访问」要勾选上
-
点击确定之后,会显示 AccessKey ID 和 AccessKey Secret 的信息,两个都复制一下
- 注意:AccessKey Secret 信息只会显示这一次,请妥善保管
-
在创建完子账户之后,需要给子账户授予OSS权限
-
鼠标移动到右上角头像处,点击「访问控制」-「用户」-「添加权限」
-
选中AliyunOSSFullAccess,然后确定即可
3.给子账户添加Bucket权限
- 返回初始的 Bucket 界面,在「权限控制」-「Bucket 授权策略」中「新增授权」
- 在授权界面,「授权资源」-「整个 Bucket」;「授权用户」-「子账号」-选择刚刚创建的子账号;「授权操作」-「完全控制」
4.开通套餐包
- 按步骤操作下来之后我们已经获得了相应的权限,同时复制了所需的所有信息,就是这四个:Bucket 名称、Endpoint(地域节点)、AccessKey ID 和 AccessKey Secret
5.思源填入对应信息
-
打开思源,「设置」-「云端」,填入对应的信息即可
- Endpoint 对应 Endpoint(地域节点)
- Access Key 对应 AccessKey ID
- Secret Key 对应 AccessKey Secret
- Bucket 对应 Bucket 名称
- Region 参考这里的Region ID进行填写
- Timeout (s) 保持默认的 30
- Addressing 保持默认的 Virtual-hosted-style 选项
- TLS Verify 保持默认的 Verify
特别要点:在阿里云的控制台选择Bucket,修改Bucket的读写设置至少为公共读
-
进行常规发布进行测试
八、图床配置
思源笔记配合插件实现HEXO文章快速发布 - Shepherd010
总结
通过本文的步骤,可以轻松搭建一个基于 Hexo 和 GitHub Pages 的个人博客,并结合思源笔记实现“一键发布”功能。同时,通过配置阿里云 OSS 和 PicGo 图床,解决了图片上传和管理的难题。这套方案不仅简单易用,而且完全免费,非常适合个人博客的搭建和维护。