Hello blog again

之前的博客是直接克隆自他人的博客代码再进行修改,不太好意思。而且不自己从开始建的话,很多配置用不了、不知道如何更改,因此趁周末闲暇
从新用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即可打开预览窗口,效果如下:

vscode编辑预览markdown

使用Gitment添加评论

  1. NexT预置Gitment:
    一开始使用Gitment添加时找到的是过去版本的教程,需要修改代码,但是在修改的过程中突然发现原本的文件已经包含了Gitment模块,这才知道NexT的新版本已经预置了Gitment,配置方法参考自这里

  2. 关于Error: Not Found:
    配置时要注意仓库名称要是该仓库本名,而非SSH或HTTPS,例如我的就是Skyraker.github.io

  3. 关于Error:validation failed:
    Gitment的原理就是在关联你的项目,每一个页面下的评论对应一个issue,并给那个issue建立标签gitmentid,其中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,但注意这两个数据必须是唯一的,不能重复,否则评论会在多个页面共享。参考并修改自这里

  4. 初始化本页页面后,可能没那么快加载出来,不要重复初始化,否则会出现两个相同的issue

代码高亮

站点配置文件中,修改配置:

highlight:
    enable: true 
    auto_detect: true 
    line_number: true
    tab_replace:

即可打开代码高亮的自动探测、行号显示。

主题配置文件中,修改配置选择高亮风格:

1
2
3
4
5
# Code Highlight theme
# Available value:
# normal | night | night eighties | night blue | night bright
# https://github.com/chriskempson/tomorrow-theme
highlight_theme: night

最后在编辑markdown时,引用代码,
可以得到如下效果:

1
2
3
4
5
6
#include <iostream>
using namespace std;
int main(){
cout<<"Hello world!"<<endl;
return 0;
}