【Hexo】使用Hexo搭建个人博客
搭建这个博客花费了我很大的精力,也查找了不少的资料。本文用于记录我搭建博客的经过,用于给其它想要搭建自己的个人博客的朋友提供参考。
写在前面
- 下载部分内容时可能需要梯子。
- 本文默认读者掌握基本的计算机操作方法,因此简单的注册账号、安装软件等过程将不一一赘述。
- 如果遇到了本文没有提到的一些问题,请善用搜索引擎,查找资料。
实现方法
本博客使用 Hexo 作为静态博客框架,其基于 Node.js 实现,可以方便、快速(虽然我花了好几个小时)生成静态网页,并托管在 Github 上。Hexo 本身也是 Github 上的一个开源项目,其官网 Hexo 支持中文浏览,可以自行查阅。
基本
注册 Github 账号
由于我们要把博客托管在 Github 上,因此我们首先要注册 Github 账号,注册过程不是很麻烦,但可能需要梯子访问。
在 Github 上创建个人仓库
再注册完 Github 账号后,我们点击界面上的 New Repository
按钮,创建新仓库,稍后我们会把自己的博客上传到仓库里。仓库名称应该为:你的用户名.github.io。
下载 Git 与 Node.js
Git 是开源的分布式版本控制系统,用于敏捷高效地处理项目。我们网站在本地搭建好了,需要使用 Git 同步到 GitHub 上。下载 Git 可以从官网下载。
因为 Hexo 基于 Node.js 实现,因此我们也需要安装 Node.js,也从官网下载即可。在安装 Node.js 时也会同时安装环境变量及 npm,npm在后续搭建时会大量使用。
在完成安装之后,我们可以在终端使用以下三行命令来检测是否安装成功:
1 | $ git --version |
如果都能正确的显示出版本号,则说明安装成功。
配置 Git
打开Git Bash,首先配置 Git 的用户名和邮箱信息
1 | $ git config --global user.name "GitHub用户名" |
接着,我们将 Git 与 Github 账号绑定,在命令行中生成 SSH 密钥文件:
1 | $ SSH-keygen -t rsa -C "GitHub注册邮箱" |
如果提示你设置密码,直接留空,则默认不需要密码。
在密钥生成成功后,运行 clip < ~/.SSH/id_rsa.pub
将公钥复制到剪贴板上,然后登陆你的 Github 账号,进入
Settings,点击 SSH and GPG Keys,添加你的 SSH
key,标题随便填,将公钥复制进去即可。
完成后,在 Git Bash 命令行输入
1 | $ SSH -T git@github.com |
如果你可以成功认证,则代表设置正确。
安装 Hexo
在电脑中合适的位置创建一个文件夹(路径最好为全英文),接着在终端中打开此文件夹,使用 npm 命令安装 Hexo:
1 | $ npm install -g hexo-cli |
在显示完成后,在刚刚新建的文件夹里再新建一个 Hexo
文件夹,然后在终端中输入:
1 | $ cd Hexo |
在 Hexo 安装完成后,为了测试是否正确安装,输入以下命令:
1 | $ hexo generate |
如果在 http://localhost:4000/
可以看到生成的博客,则说明搭建成功。
将博客部署到 Github
打开我们先前创建的 GitHub 仓库,点击 Code,切换到
SSH,将给出的连接完整的复制下来。接着在 Hexo
文件夹中,打开根目录中的 _config.yml 文件,找到 deploy,将
type 改为 git,在 repository
后粘贴上你刚刚得到的仓库地址。由于创建仓库时默认的分支为 main,则将
branch 改成 main。
接着,在 Hexo 文件夹下执行以下命令:
1 | $ hexo g -d |
这样,你的博客就被成功部署到 Github 上了。打开
https://你的用户名.github.io 即可访问你刚部署好的博客。
上传自己的文章
在终端输入以下命令:
1 | $ hexo n "文章标题" |
即可在 \Hexo\source\_posts 下创建新的 .md
文档,在写完文章后参考六中的做法重新上传仓库,即可看到新的文章。
进阶
在完成上述操作后,我们已经得到了一个基本的个人博客,以下介绍更多个性化的进阶内容,但可能更加困难。
绑定个人域名
如果我们想使用我们自己的个性化域名,这就需要绑定我们自己的域名。作者在 Namesilo 上购买了自己的域名,然后托管到 Cloudflare 上。(具体方法请在网上自行搜索教程),然后进入控制台,点击 DNS,添加解析记录,其中记录类型选择 CNAME,主机记录均可,同时关闭代理。
进入本地博客,在 source 目录下创建一个无后缀名的文件,命名为 CNAME,然后输入你的域名并保存。
最后,重新将你的博客上传到仓库中,就可以通过你自己的域名进入博客了。
更换主题
如果你不喜欢Hexo默认的主题,可以更换不同的主题,可以在官网寻找不同的主题,我选择了 NEXT 主题,因为其配置功能多样,并且方便 \(\LaTeX\) 渲染。
在终端中输入:
1 | $ git clone https://github.com/iissnan/hexo-theme-next themes/next |
即可将 NEXT 主题下载到本地。在根目录下的 _config.yml
中将主题修改为 NEXT,并重新上传,即可将主题更改为 NEXT。
在安装完成后,请检查是否安装的是最新版。
在安装完成后,请检查是否安装的是最新版。
在安装完成后,请检查是否安装的是最新版。
配置文件与插件
在 Hexo 文件夹及 NEXT 文件夹根目录下的 _config.yml
中都有大量配置选项,具体可查阅 Hexo 和 NEXT
的官方文档,此处不多赘述。
此外,Hexo 也提供大量插件,也可以在 Hexo 官网中查询,可以实现部分进阶功能如评论、图床等。
推荐参考:Hexo+Next主题搭建个人博客+优化全过程(完整详细版)
如果想要切换浅/深色背景,可以参考:Hexo-NexT 深淺主題切換配置
LaTeX 的安装
\(\LaTeX\) 的安装是我在搭建过程中花费时间最长的一步,因为大多数文章并未完整讲解安装方法,给我带来了很多麻烦。
Hexo本身并不支持LaTeX的渲染,为了安装 \(\LaTeX\),我们首先需要卸载 Hexo 自带的renderer,并安装 hexo-renderer-pandoc。
1 | $ npm uninstall hexo-renderer-marked --save |
并同时安装高于 V2.0 版本的 Pandoc。
接下来,我们安装 hexo-filter-mathjax,具体方法为:
1 | $ npm install hexo-filter-mathjax |
然后在 Hexo 根目录下的 _config.yml
文件里加入以下配置:
1 | math: |
除此之外,我们还要在 NEXT 的配置文件中修改部分配置,使得能够正确渲染 \(\LaTeX\),具体方法见参考文档。
评论系统
评论系统推荐使用 utterances,优点为无广告,稳定。其原理是在 github 中生成 issue。在低版本中,由于Hexo Next 并未集成utterances,具体安装方法可以参考这两篇文章:
第一篇参考配置 utterances(前半部分),在Hexo Next 中安装 utterances 请参考第二篇文章。
在高版本 Next 中,已经集成 utterances,按照官方文档配置即可。
如果在安装完成后遇到点击 “Sign in with GitHub” 会跳转 “Example
Domain” 的问题,请检查 Hexo 的 _config.yml 文件中的网站 URL
是否正确设置。
参考资料
在搭建博客及写这篇文章的过程中,我参考了以下资料,向这些文章的作者致以真诚的谢意:
- GitHub+Hexo 搭建个人网站详细教程
- 使用Github Pages和Hexo搭建自己的独立博客【超级详细的小白教程】
- 【Hexo】Next主题更好地支持LaTeX数学公式
- hexo博客next主题添加对数学公式的支持
- 为 Hexo 的任何主题添加数学公式(LaTeX)的支持
- Hexo 书写 LaTeX 公式时的一些问题及解决方法
- Hexo构建blog时渲染LaTeX数学公式的问题
- hexo博客增加latex支持
- 让 Hexo 搭建的博客支持 LaTeX
- Hexo搭建博客支持LaTeX
- 在Hexo博客中插入图片的各种方式
- Hexo+Next主题搭建个人博客+优化全过程(完整详细版)
- Hexo-NexT 深淺主題切換配置
- Hexo NexT 主题使用 utterances 搭建评论系统
- Hexo Next主题添加Utterances评论系统
- 我在个人的Blogdown中点击“Sign in with GitHub”会跳转“Example Domain“”
- Hexo-NexT 折腾就完事儿了