之前的博客是直接克隆自他人的博客代码再进行修改,不太好意思。而且不自己从开始建的话,很多配置用不了、不知道如何更改,因此趁周末闲暇
从新用hexo建站并上传至GitHub Pages,并配置好了主题等,特地记录一下踩过的、好的文章和添加的功能。
搭建过程及相关教程
下载hexo
在桌面右键选择Git Bash here
,并输入
npm install -g hexo-cli
等待安装,找个网络比较好的地方等吧……
接下来具体的部署内容详见这个教程,算是见得比较全的一篇教程了。
添加主题NexT
将主题下载然后放进/theme
,我这里用的是NexT主题。具体参见NexT项目,以及使用文档
添加的功能
- RSS订阅
- 添加分类页
- 背景动画
- 站内搜索
- 访问量统计
- 使用Gitment添加评论
- 支持markdown代码高亮
踩过的坑
markdown编辑器的选择
一开始用的NotePad++
,首先是不支持预览,其次是它的front-matter
添加后会被当成普通的markdown语法。因此现在改用vscode
进行markdown的编辑器。
具体的使用方法:打开.md
文件进行编辑,按Ctrl+k
再按v
即可打开预览窗口,效果如下:
使用Gitment添加评论
NexT预置Gitment:
一开始使用Gitment添加时找到的是过去版本的教程,需要修改代码,但是在修改的过程中突然发现原本的文件已经包含了Gitment模块,这才知道NexT的新版本已经预置了Gitment,配置方法参考自这里。关于
Error: Not Found
:
配置时要注意仓库名称要是该仓库本名,而非SSH或HTTPS,例如我的就是Skyraker.github.io
。关于
Error:validation failed
:
Gitment的原理就是在关联你的项目,每一个页面下的评论对应一个issue,并给那个issue建立标签gitment
和id
,其中id是Gitment唯一确定评论显示于哪个位置的特征。而出现Error:validation failed
是因为id
超出了issue的50个字符的限制。这个id是怎么来的呢?在相应的主题中搜索
Gitment
即可定位至gitment.swig
,打开找到id
可以看到:id: window.location.pathname,
即当前id为这个页面在本站中的路径。当文章title为中文时,转码会导致id过长。我们可以改路径名(即
permlink
),具体详见这里,或者改id为id: '{{ page.date }}'
或
id: '{{ page.title }}'
以缩短id,但注意这两个数据必须是唯一的,不能重复,否则评论会在多个页面共享。参考并修改自这里
初始化本页页面后,可能没那么快加载出来,不要重复初始化,否则会出现两个相同的issue
代码高亮
在站点配置文件
中,修改配置:
highlight:
enable: true
auto_detect: true
line_number: true
tab_replace:
即可打开代码高亮的自动探测、行号显示。
在主题配置文件
中,修改配置选择高亮风格:
1 | Code Highlight theme |
最后在编辑markdown时,引用代码,
可以得到如下效果:1
2
3
4
5
6
using namespace std;
int main(){
cout<<"Hello world!"<<endl;
return 0;
}