结合Github和hexo搭建个人博客
1. 引言
一直想要拥有一个个人主页来记录自己的学习经历以及收获,最近才花了一天的时间搭建了一个个人博客雏形。这里我选择了github pages服务结合hexo来搭建了博客,使用github的优点有:
- 免费,这应该是我认为最大的优点了吧。
- 是基于静态文件,访问速度快
- 安全性,基于git来管理自己的文件,可以恢复到自己上传的任意一个版本,数据不易丢失
- 操作方便,基于git管理文件,上传速度快,使用markdown来写博客,体验好。
2. 准备工作
- 平台:window 10
- 注册一个github账号
- 安装git的windows版本
git for windows
在官网上下载很慢,所以这里给出了一个网盘链接
git-2.27.0-Windows 提取码:0sv7 - 安装node.js, npm
node
安装好node.js,npm是和node.js一起安装的,安装了node.js后npm也安装上了
3. 搭建过程
3.1. 注册github
GitHub 是基于 Git 的一个代码托管网站。开发者可以将代码在 GitHub 上开源,可以浏览其它项目的代码,fork 到自己名下做修改,clone 回本地使用,也可以发起 pull request 向上游提交自己的修改。
首先,来到github官网,注册一个GitHub账号,已经有账号的直接登录就行。在GitHub上新建一个库,可以将自己的代码保存在库中,创建博客后,博客中的内容就存在该库中。
输入Repository的名称,命名格式:username.github.io注意这里的名称要和前面的用户名一致才行,否则后面搭建博客是会出问题,这里要选择Public,这样才能通过域名访问。
3.2. 配置SSH Key
- 安装git,node.js,安装好之后测试是否安装完毕,打开git bash,如图:
分别输入测试指令:node -v, git version, npm -v。
没有问题则继续下一步。 - 配置SSH key可以使本地和服务器连接,不需要每次上传都输入用户名密码,增加了账户的安全性,SSH key分为密钥和公钥,公钥的内容复制到github上后,本地的密钥可以和其进行配对。在git bash中输入如下指令:
$ ssh-keygen -t rsa -C
回车3次(注意:出现的冒号后不要输入任何内容,直接回车)后会在C:\Users\win 10.ssh目录中生成密钥和公钥。
将id_rsa.pub(公钥)的后缀改为txt,然后用记事本打开,复制其中的内容。将复制的内容粘贴到GitHub上(Settings—SSH and GPG keys—New SSH key),使本地的密钥和github上的公钥配对,授权成功。
测试是否配置成功。输入指令
$ ssh -T git@github.com
显示如下则配置成功。
配置成功后还需要输入如下两条指令,如果不输入的话,后面配置时也会提示输入。
$ git config --global user.name "username"
$ git config --global user.email "Email"
3.3. 安装hexo
hexo是用来将所写的博客部署到GitHub上,并生成博客的html页面的一款博客发布工具,支持Markdown格式。将博客用Markdown编辑器编辑好之后,在git bash中用简单的hexo指令就可以将内容快速的上传到github上,并生成页面。在git bash中输入如下指令安装:
$ npm install -g hexo
新建一个hexo文件夹(注意不是hexo的安装目录),这个文件夹用来存放代码,自己写博客时都是将内容存在该文件夹当中。在git bash中输入如下指令初始化文件夹:
$ cd /e/hexo/
$ hexo init
这里我直接将hexo文件夹建在了E盘,个人根据自己的习惯建就好。初始化后的hexo文件夹会出现如下的内容。
4. 使用hexo写博客
4.1. 常用指令
hexo的常用指令如下:
hexo c #clean, 清除缓存
hexo g #generate, 生成静态网页
hexo d #deploy, 部署到git
hexo s #service, 本地服务启动
hexo new "postName" #新建文章
hexo new page "pageName" # 新建页面
4.2. 初始化界面
在git bash(跳转到自己建的hexo文件夹)中分别输入如下指令:
hexo g
hexo s
复制产生的链接进浏览器,会看到如下页面:
这里我的主题已经被我更改成自己喜欢的主题了,一开始是一个landscape主题,我们的第一篇博客都是hello world,可以在建立的hexo的source—_posts目录下看到一个hello-world.md文件,我们也可以新建.md文件来写我们自己的博客。如果成功出现页面的话,说明博客搭建成功了。
4.3 更改博客主题背景
可以根据个人喜欢的风格选择博客的主题,在更换主题前需要对文档_config.yml的内容进行修改,该文档在新建的hexo目录下,可以用sublime、pycharm等集成开发器打开修改。
格式:
deploy:
type: git
repository: git@github.com:username/username.github.io.git
branch: master
部署好后回到git bash窗口,输入命令行
npm install hexo-deployer-git --save
到官方主题下载自己想要的主题,
以mono为例,点击相应主题后会有安装文档,根据安装文档的指示安装即可。
下载后的主题会自动保存在hexo/themes中。
修改_config.yml中的主题。
分别在git bash中执行下列指令生成并上传代码到github:
hexo clean
hexo g
hexo d
hexo s
在上传之前如果github上有代码需要先下载下来,因为github会将原来的代码全部删除。
5. 绑定域名
5.1. 注册域名
绑定一个域名可以使自己和别人能够方便的访问自己的博客。首先需要注册一个域名,我使用的是阿里云的域名,购买链接,新用户的话第一年有优惠(仅限注册后两日内),如果你已经注册了的话也没关系,可以用另外一个手机号重新申请一个,或者将原来的注销重新申请一个,我就是将原来的注销了重新注册(为了薅阿里的羊毛也是不嫌累)。购买完毕之后需要实名认证和邮箱认证,难度不大,但是需要等待很长时间,上面写的是3-5个工作日,但是我的实际上一天就有结果了,一定要按照要求认证,否则后面无法正常解析域名。
5.2. 域名解析
实名认证后,进行域名解析,先win+R,输入cmd打开命令窗口,输入
ping username.github.io
获得IP。
在你购买的域名那里点击“解析”后有一个“新手指导”,输入你ping到的IP。
解析后点击修改,将记录类型改为CNAME,记录值改为username.github.io。
这样阿里云部分就配置好了。接下来配置GitHub,登录github,settings—Options,下拉会看到Github Pages,将注册的域名复制到Custom domain,保存。
在hexo/source目录下新建CMAME.txt,将购买的域名复制后保存,然后将后缀删除。
此时不要忘了执行下列指令:
npm install hexo-deployer-git –save
hexo clean
hexo g
hexo d
在浏览器中输入你的域名,就能够看到你的博客啦,之后每次修改博客的内容或者更换主题时都要执行指令
hexo clean
hexo g
hexo d
写在最后
本文只是记录了自己搭建博客的过程,个人博客的使用后面还有很多地方需要探索,希望大家从写博客的过程中获得乐趣的同时也能够梳理自己的知识。如果写博客的话可以下载一个Markdown编辑器,我用的是typora,个人觉得还不错。
参考
1. https://www.cnblogs.com/liuxianan/p/build-blog-website-by-hexo-github.html
2. https://www.cnblogs.com/trista222/p/8017300.html
3. https://blog.csdn.net/qq_38148394/article/details/79998012