Hexo+Github搭建个人博客

本文最后更新于:2024年3月29日 上午

1. 环境准备

1.1 安装Git

Git 官网上下载安装。

安装好后,使用命令查看一下git版本,检查是否安装成功。

1
git -v

windows安装完git后,可以使用git bash敲命令。

1.2 安装node.js

直接到官网上下载。

同样,安装完成后,使用命令查看版本,检查是否安装成功。

1
2
node -v
npm -v

2. hexo安装与使用

2.1 安装hexo

创建一个文件夹blog,进入该文件夹,右键git bash here打开git bash,输入命令安装hexo:

1
npm install -g hexo-cli

2.2 初始化hexo

使用以下命令初始化hexo,其中myblog是自己随意取得名字

1
hexo init myblog

2.3 安装npm

进入myblog文件夹,安装npm:

1
2
cd myblog
npm install

新建完成后,指定文件夹目录下有:

  • node_modules: 依赖包
  • public:存放生成的页面
  • scaffolds:生成文章的一些模板
  • source:用来存放你的文章
  • themes:主题
  • _config.yml: 博客的配置文件

2.4 启动本地服务站点:

使用如下命令启动本地服务站点,每次提交新的部署之前也可以先启动本地服务站点检查。

1
2
hexo g //生成静态网页
hexo s //打开本地服务站点

在浏览器输入localhost:4000就可以看到生成的博客了,里面默认会有hello world这篇文章。

使用ctrl+c可以关掉本地服务。

hexo是一款静态框架,即我们在本地编写完文章后使用hexo g生成静态网页,然后将之部署到服务器上。

下面部署到github page上,以便大家可以访问。

3. Github建站访问

3.1 Github新建仓库

如果没有Github账号,注册一个,登录。

创建一个和你用户名相同的仓库,后面加.github.io

注意:格式必须是xxx.github.io,其中xxx是你注册Github的用户名,只有这样部署到GitHub page的时候,才会被识别。

3.2 生成SSH添加到GitHub

回到git bash,输入以下命令:

1
2
git config --global user.name yourname
git config --global user.email youremail

这里的yourname输入你的GitHub用户名,youremail输入你GitHub的邮箱。这样GitHub才能知道你是不是对应它的账户。

可以用以下两条命令,检查一下你有没有输对:

1
2
git config user.name
git config user.email

然后创建SSH,一路回车

1
ssh-keygen -t rsa -C "youremail"

这个时候它会告诉你已经生成了.ssh的文件夹。在你的电脑中找到这个文件夹。

而后在GitHub的setting中,找到SSH keys的设置选项,点击New SSH key把你的id_rsa.pub里面的信息复制进去。

Title随便写个名字,把id_rsa.pub里面的信息复制到key那里,点击Add SSH key

在git bash中,使用以下命令查看是否成功:

1
ssh -T git@github.com

3.3 将hexo部署到GitHub

这一步,我们就可以将hexo和GitHub关联起来,也就是将hexo生成的文章部署到GitHub上,打开站点配置文件_config.yml,翻到最后,修改为如下所示,其中YourgithubName就是你的GitHub账户。

1
2
3
4
deploy:
type: git
repo: https://github.com/YourgithubName/YourgithubName.github.io.git
branch: master

这个时候需要先安装deploy-git ,也就是部署的命令,这样你才能用命令部署到GitHub。

1
npm install hexo-deployer-git --save

然后

1
2
3
hexo clean
hexo generate
hexo deploy

其中 hexo clean清除了你之前生成的东西,也可以不加。hexo generate 顾名思义,生成静态文章,可以用 hexo g缩写。hexo deploy 部署文章,可以用hexo d缩写。

注意deploy时可能要你输入username和password。

得到下图就说明部署成功了,过一会儿就可以在http://yourname.github.io 这个网站看到你的博客了!!

3.4 发布文章

正式开始写文章了:

1
hexo new newpapername

然后在source/_post中打开对应的markdown文件,就可以开始编辑了。当你写完的时候,再

1
2
3
hexo clean
hexo g
hexo d

这样就可以在自己的博客网站上看到刚发布的文章了。

4. 多终端工作

4.1 原因

由于hexo d上传部署到github的其实是hexo编译后的文件,是用来生成网页的,不包含源文件,上传的就是本地目录里面自动生成的.deploy_git里面的文件。

而我们的源文件、主题文件、配置文件都没有上传,这也就意味着我们只能在一台电脑上操作,换了电脑就没法改变我们的网站了。

我们可以利用git的分支系统将源文件上传到仓库的另一个分支。

4.2 上传分支

首先在Github上新建一个分支hexo。

然后在这个仓库的settings中,选择默认分支为hexo分支(这样每次同步的时候就不用指定分支,比较方便)。

然后在本地的任意目录下,打开git bash,输入以下命令:

1
git clone git@github.com:TyroGzl/TyroGzl.github.io.git

将hexo分支克隆到本地。

接下来在克隆到本地的TyroGzl.github.io中,把除了.git 文件夹外的所有文件都删掉

把之前我们写的博客源文件全部复制过来,除了.deploy_git。

复制过来的源文件应该有一个.gitignore,用来忽略一些不需要的文件,如果没有的话,自己新建一个,在里面写上如下内容,表示这些类型文件不需要git:

1
2
3
4
5
6
7
.DS_Store
Thumbs.db
db.json
*.log
node_modules/
public/
.deploy*/

而后

1
2
3
git add .
git commit –m "add branch"
git push

这样就上传完了,可以去Github上看一看hexo分支有没有上传上去,其中node_modulespublicdb.json已经被忽略掉了,没有关系,不需要上传的,因为在别的电脑上需要重新输入命令安装 。

4.3 更换电脑操作

4.3.1 安装git

4.3.2 设置git全局邮箱和用户名

4.3.3 设置ssh key

1
2
3
4
ssh-keygen -t rsa -C youremail
#生成后填到github
#验证是否成功
ssh -T git@github.com

4.3.4 安装node.js

4.3.5 安装hexo

1
npm install hexo-cli -g

4.3.6 克隆项目

1
git clone git@………………

4.3.7 安装npm

进入到克隆的文件夹:

1
2
3
cd xxx.github.io
npm install
npm install hexo-deployer-git --save

生成,部署:

1
2
hexo g
hexo d

以上内容摘自:hexo史上最全搭建教程_zjufangzh的博客-CSDN博客_hexo

5. 使用Vercel代理Github Page

由于Github拒绝百度爬虫的访问,导致基于Github Page的个人博客无法被百度收录,这里介绍一个免费的方法,利用zeit(现在改名为vercel)代理。

5.1 Github账户登录vercel

打开vercel网站。选择 Continue with Github,利用自己的Github账号登录。

5.2 新建vercel项目

点击New Project,新建项目。

导入Github仓库。


为项目起个名字,点击Deploy

新建项目成功。

5.3 切换分支

vercel默认分支名是main,即上传到Github仓库main分支中才会触发更新,打开项目中的Settings,选择Git,将分支名改为自己部署静态网页资源的分支名。

5.4 配置个人域名

同样在项目里的Settings里面,打开Domains,新增自己的个人域名,然后在自己的域名服务商那里添加一条DNS解析。完成配置,这样百度爬虫就可以爬取我们的网站了。


Hexo+Github搭建个人博客
https://summersong.top/post/405e7e90.html
作者
SummerSong
发布于
2022年7月26日
更新于
2024年3月29日
许可协议