怎样用 Github 和 Hexo 搭建个人网站
2022-10-07 14:37:58 # IT # Hexo

欢迎来到 AzBomb 的博客!

为什么是Github

搞一个完全属于自己的网站,首先要有个服务器,一般要么自己搭,要么买云服务,这两者多少都要花些银子。Github 对于刚开始搞网站的伙伴们刚刚好,一个完全公开化的免费服务器,如果有更高的需求还可以付费私有化。网上教程挺多的,也不需要太复杂的知识储备,当然 Github暂时还没有官方中文支持,且有些配置要用到 shell 命令行操作,入坑的小伙伴要有些技能准备。

怎么从Github开始

网上教程有很多,可以找一篇适合自己的,在此借用知乎小伙伴 “霸都、傲天”的帖子,按他的这个步骤,就能完成一个基本网站服务器的建设了。

这里有个注意点要提醒大家:

注册好账户,登录成功之后,点击 Github 中的 New repository 创建新仓库,仓库名应该为:”username”.github.io 。这里”username”使用你的 Github 帐号名称代替,这是固定写法。

图片来自 github 截图

Hexo框架

Github 仓库建好后,再新建 index.html 文件,在文件内新增自己的内容,一个简单的个人网页就好了。但这需要专业的 html 网页编辑知识,且网站维护也比较麻烦。框架模板式网站建设优点很明显,虽然刚开始需要在客户端预装一些软件,后期维护客户端可以离线维护,等调试好后再更新到自己的 Github 上,操作也很便捷。常用框架大家比较推荐 Hexo,网上资料也比较多,我当然也是 Hexo,这里我推荐几篇文章,RD.Timon 大神的《hexo搭建个人网站博客完全教程》,知乎社区问答《如何自己搭建一个个人网站?》 “程序员吴师兄” 的回答很棒,知乎社区 crystal 《使用 Hexo+GitHub 搭建个人免费博客教程(小白向)》,以及知乎社区 “吴润” 大神的《GitHub+Hexo 搭建个人网站详细教程》,我建站过程基本都是参考了这几位大神文章而搭起来的。

Hexo框架建站总结

经过几天摸索后,过程中也遇到了一些问题,网站已基本能上线运行了。下面我就把这几天心得总结一下,先从 Git 和 Node.js 这两个软件开始。

用git配置信息&生成密钥

在终端进行操作,设置 user.name 和 user.email 配置信息,这里设置为全局。

git config --global user.name "username"     # username 你的 GitHub 用户名
git config --global user.email "useremail" # useremail 你的 GitHub 注册邮箱

通过注册的邮箱生成 ssh 密钥文件:

ssh-keygen -t rsa -C "useremail" # useremail 你的 GitHub 注册邮箱

然后直接三个回车即可,默认不需要设置密码。得到了两个文件:id_rsa和id_rsa.pub。

打开 id_rsa.pub 文件,将里面的内容全部复制。粘贴到 GitHub 的”你的 GitHub 用户名”.github.io 仓库选项,选项路径是:”你的 GitHub 用户名”.github.io/settings/keys/

按网页提示添加好 SSH Key 后,进行测试。

ssh -T git@github.com

选择 yes,如果看到Hi后面是你的用户名,就说明成功了。

Hi AzBomb/AzBomb.github.io! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.

安装Node.js

Hexo 基于 Node.js,因此需要先安装 Node.js,可以在这里进行对应电脑版本的下载:https://nodejs.org/en/download/

如果是 Linux 也可以通过命令行进行安装,命令行参考 Node 或 Hexo 官方文档。

Windows 终端下载好客户端直接按步骤安装,安装好之后,Hexo 框架所需要的建站环境就建好了,后面只要输入一些命令就可以建一个属于自己的网站了。如果有小伙伴想再深入些研究,可以网上搜一些更多关于这方面的内容,或者到 Hexo 的官方网站帮助文档查阅相关内容。

安装完之后,我们打开命令窗口,查看软件版本。

node -v
v16.17.1

npm -v
8.15.0

网站搭建

进入自己确定的文件路径,使用 npm 一键安装 Hexo 博客程序。

$ npm install -g hexo-cli

初始化自己确定好文件路径下的博客目录。

hexo init username.github.io  # username 替换成自己的英文名

初始化完成后,进入刚刚建好的目录。

cd username.github.io         # username 替换成自己的英文名

初始化并安装Hexo所需组件。

hexo init                     # 初始化
npm install                   # 安装组件

清除一下静态页面,然后生成新的静态页面。

hexo clean 
hexo g                        # g 就是 generate,生成的意思

生成新的静态页面后,启动本地服务器进行预览。

hexo s                        # s 就是 server,在服务器运行的意思

浏览器输入 http://localhost:4000,出现 Hexo 默认页面,本地博客安装成功!

图片来自 Hexo 运行后的截图

Tips:如果出现页面加载不出来,可能是端口被占用了。Ctrl+C 关闭服务器,更改端口号后重试。

hexo server -p 5000 

浏览器输入 http://localhost:5000,出现 Hexo 默认页面就出现了。

Hexo 博客文件夹目录结构如下:

图片来自 Hexo 帮助文档截图

部署 Hexo 到 GitHub Pages

本地博客测试成功后,就可以上传到 GitHub 进行部署,使其能够在网络上访问。
首先安装 hexo-deployer-git

npm install hexo-deployer-git --save

然后修改 _config.yml 文件末的 Deployment :

deploy:
type: git
repo: https://github.com/username/username.github.io.git    # username 替换成自己的英文名
branch: master

完成后运行 deploy 将网站上传部署到 GitHub Pages。

hexo d

完成!如果遇到网络连接问题,可以多试几次hexo d,这时访问我们的 GitHub 域名 https://“username”.github.io 就可以看到 Hexo 网站了。

绑定域名

博客搭建完成使用的是 GitHub 子域名(用户名.http://github.io),我们可以为 Hexo 博客绑定自己的域名替换 GitHub 域名。这个功能本人暂时还未能实现,有需求朋友可以网上看看其他小伙伴的经验分享,日后我这实现了,也出篇文章分享给大家。

Hexo 主题

刚刚打开的网站是不是有点单调,多样化的主题设计应运而生。Hexo 官方发布了很多开发者有趣的开源主题,每个人都可以根据需求选择一款自己中意的,当然你也可以自己设计开发,遵循主题相关的开源协议即可。总之主题的世界给了我们很多创意空间,让我们一起来加入吧。

小结

Hexo 是一种纯静态网页博客,必须要在本地完成文章的编辑,然后再部署到 GitHub。依赖本地环境,不能像 WordPress 或 Typecho 那样的动态博客一样,能在浏览器中完成撰文和发布。

Hexo 可以说是一种比较极客的写博客方式,但是免费稳定省心,比较适合小范围圈子用户,或者没有在线发文需求的朋友。