使用Hexo以及GithubPage搭建个人博客历程
简介
暑假开始了,自己打算在暑假自学的同时写点博客,为的是能够再以后想要回忆一些学过的东西的时候有一个可以翻看的地方,感觉之前学习的时候没有记录的原因,很多东西学完许久不用之后再学习成本还是很高,若是有一个博客的话,应该可以解决这个问题。再一个以这种方式来自学可以更好的梳理一些内容。
所以在开始之前就先来搭一个博客,自己选择的是Hexo以及GithubPage的方式来搭建博客,Hexo的安装以及使用都很方便,可以直接使用的主题也能够满足我的需求,GithubPage也省去了自己买服务器的钱以及搭建环境的时间。
开始-环境准备
安装Node.js
安装Node.js还是很简单的,到Node.js官网下载系统对应的安装包然后选择默认一路安装下来就好。
安装Git
Git是早已经安装好了的,可以查阅官方自带的教程 下载可执行文件安装之后配置一下Path路径,在cmd中可以启动git就可以了。
安装Visual Studio Code
在这之前我都还是主要在使用sublime来写代码,但是发现vs code还是挺好用的,而且对于Markdown的自带支持也比较好,就选择用vs code来作为写博客的工具了。
下载地址贴在这里,直接一路安装就好。
Github
- 在Github官网注册一个Github帐号
- 在帐号下创建一个代码仓库,格式为github用户名.github.io(有些教程中创建的仓库为com结尾的,现在github好像只支持io结尾的网址了)
- 添加SSH公钥到git账户(具体操作方式查看Github官方提供的说明)
生成的SSHKey默认会在User目录当前用户的.ssh文件夹下(文件夹为隐藏文件夹),也可以在生成的时候指定生成到指定目录,但是我直接生成在.ssh文件夹下了。然后将SSHKey添加到Git账户中就好了。
安装Hexo
在cmd中直接输入
$ npm install -g hexo-cli
进行安装
之后在本地创建一个文件夹来存放Hexo初始化的文件,如:
hexo init hexo
或者创建文件夹之后在里面运行
hexo init
生成静态页面
在安装结束之后cd进入文件夹执行
hexo g 或者 hexo generate
执行之后会生成一个public的目录,里面存放的就是博客的内容。
然后执行
npm install
就可以新建完成。
本地测试
hexo s 或者 hexo server
执行上述命令便可以在本地的_localhost:4000/_端口启动一个服务器,可以看到一个hexo自带的博客页面。
自己踩的坑
在服务启动之后在4000端口始终无法访问到博客的页面,后来才发现是因为4000端口已经被占用了!!略坑
在cmd中输入
netstat -ano|findstr “4000”
可以查看是哪个进程占用了4000端口,然后打开任务管理器找到对应pid的进程,先打开所在文件夹确定是什么软件占用的,然后直接结束进程就好,之后在启动项管理里面找到了这个应用的启动服务,直接禁止启动(我找到的是福昕阅读器的启动项服务占了4000端口)。之后再重新开启服务应该就可以在4000端口看到博客页面了。
还有一个解决办法是在启动hexo服务的时候更换端口,但是这样可能遇到别的端口冲突问题。启动方式如下:
hexo server -p 5000(自己修改端口)
开始写文章
现在就可以开始写文章了,最基本的命令是
hexo new “文章名”
这样就会生成一个对应文章名称的Markdown文件,就可以开始写东西了。
_config.yml配置文件
关于_config.yml配置文件的详细信息可以直接在官方文档中查看,配置文件里也有详细的注释。
关于站点信息的配置文件
1 | # Site |
关于生成的public目录中文件夹名的配置
1 | # Directory |
主题安装
主题可以在Hexo官方的Theme中自己来找喜欢的主题安装。
安装命令:
git clone https://github.com/A-limon/pacman.git themes/pacman
安装成功之后将_config.yml配置文件中的theme改成对应主题的名字
1
2
3
4
# Extensions
## Plugins: https://hexo.io/plugins/
## Themes: https://hexo.io/themes/
theme: pacman
自己踩的坑
1 | # Extensions |
主要是主题的坑
第一个是主题的author图片加载不出来将_themes/pacman/_config.yml_文件中的author_img修改成如下:
author_img: ../img/author.jpg ## size:220px*220px.
第二个是代码高亮没有显示在上面的配置文件里面添加:
1 | highlight: |
即可。
一些主题配置文件中的配置
官方给的介绍和配置文件中的注释都写的很详细了,就不再做过多的描述,贴一下配置文件(主要是社交帐号的)
1 | author: |
404页面
这个用来做一下公益,看过的博客里面都提到过,在public目录下面创建404.html文件然后引入js即可。
腾讯公益
图床
图床选择了七牛云,现在实名认证之后可以几乎免费使用,而且速度也非常不错。
在官网注册好之后创建一个对象存储(记得选公开的仓库),windows端可以下载官方提供的同步工具来将本地文件夹中的图片同步到七牛云,要使用的时候只需要点击内容管理中对应图片的操作,然后选择复制外链,就可以直接填写在Markdown的DataUrl里面。
自己申请域名
现在我使用的是腾讯云,购买域名很优惠,我领券之后可以免费使用一年,解析也可以直接在腾讯云里面进行,很方便。
github.io绑定自己的域名
- 首先来将Hexo写的博客push到自己的github.io的仓库。
只需要在_config.yml文件里添加
1 | deploy: |
repo填写自己的github仓库对应的地址就可以。
接着在hexo的博客目录下面输入
hexo d
就可以将本地的博客文件上传到对应的github.io仓库
小坑
要先安装一个插件
npm install hexo-deployer-git —save
接下来就可以通过自己的域名来访问博客页面了。
注: 之后可以在写完博客之后使用hexo s -g
调试或者hexo d -g
来提交,可以少敲一行代码。
自己的搭建体会以及注意点
一开始的时候被4000端口先整了一下,排除问题之后在写CNAME的时候将域名写错了,又小坑了一下,所以域名还是直接复制比较好!!。接着在配置hexo d命令的时候,在配置文件写的时候少加了一个空格,命令总是没用,之后又爬了出来,接下来关于七牛云自带的同步软件也是略坑,第一次同步结束之后自己就停止运行了,但是之后还好没有出现问题,但是每次打开这个软件只能同步一次,第二次报错获取空间列表时出错,现在还没有找到问题所在。再然后,其实github的仓库根本是不需要clone下来的,也就是在hexo init 的时候文件夹一定要是空的,不然init不了。在这些都解决之后,现在勉强可以开始写博客了,但是可能还是会有一些小问题。之后会仔细看一下hexo和主题的配置文件,尽量把网站做的鲁棒一点。
参考链接(特别鸣谢)
手把手教你使用Hexo + Github Pages搭建个人独立博客
hexo你的博客
Window 通过cmd查看端口占用、相应进程、杀死进程等的命令
Pacman主题介绍(以及对应的github主页)
神秘的程序员们表情包和头像包
写在后面
这也算是暑假的开始了,用了两天时间把博客搭了起来,希望自己可以坚持写下去,能在暑假给自己更多的收获吧。