logo头像

凡是过往,皆为序章

博客跳坑二三事

已经有很多详细步骤的文章了,所以只记录我安装的插件和一些坑点。

安装阶段

省略安装步骤

百度搜索 hexo github pages 皮一下很开心

如果有疑问可以看看 hexo 文档

同步到GitHub Pages

我用了这个插件 hexo-deployer-git

美化主题

我选择的主题是 hexo-theme-snippet 。配置评论区很省心。

配置怎么写:hexo-theme-snippet README

我是本地跑一下然后看到想改哪里就去配置文件里面找。大多数都是文字填空啦。

文章分类与标签

也就是 categories 与 tags。一个教程

我在操作的时候有一个误解,site\source\categories\index.md 文档不需要自己手动写有哪些分类,这个文件直接抄模板就好了。最后网站有哪些分类是 hexo 根据所有文章里面的 categories 自动统计生成的。标签同理。

一篇文章只能由一个分类,可以有多个标签。多个分类,则会被依次视为父分类和子分类。

支持RSS

参考教程 hexo rss ,无坑点。

安装插件 hexo-generator-feed

1
npm add hexo-generator-feed

在 hexo 根目录下的 _config.yml 文件中添加配置

1
2
3
4
feed:
type: atom
path: atom.xml
limit: 20

在 theme 目录下的 _config.yml 文件中添加配置

1
rss: /atom.xml

重新生成博客

1
hexo clean && hexo g

public 文件夹中就会生成 atom.xml 文件,部署后直接在根目录中访问该文件即可

开通评论区

方案来自 valine 。我使用的主题是 hexo-theme-snippet,它在配置文件里提供了对这个方案的支持,可以很方便地开启评论区。没发现坑,就不抄一遍了。

注意,hexo-theme-snippet 默认就开启了这个评论区,但是因为没有修改 appID 和 appKey,并不能用。(也不应该用,那是别人注册的服务)

文章插入图片

有多种做法。

  • 按照图片存储位置分有:图床;hexo 的 images 文件夹;md 文件同名文件夹;Base64 编码嵌入图片。
  • 按照插入方法有 ![]();hexo 官方推荐“标签插件语法”;插入 html 标签;HTML标签+Base64 格式插入小图片。

“标签插件语法”是官方推荐写法,看起来并不优雅。

1
{% asset_img image.jpg This is an image %}

下面是用插件解决。这种方法的图片放在 md 文件同名文件夹,md 中插入图片使用 ![]() 语法。插件自动管理生成网站时的图片路径问题,最后可正常在 md 编辑器、博客网页文章内和博客网页首页上显示图片。

首先打开博客根目录 _config.yml 配置选项 post_asset_folder: 这个选项设置为 true。效果是:以后使用新建文章命令,hexo n "filename",会在目录下同时创建 filename.md 文件和 filename 文件夹。

然后安装插件hexo-asset-image。(参考 Hexo自动生成的RSS中出现中文乱码 ,以下省略掉 0.0.2 版本的中文乱码坑)

1
npm install git+ssh://git@github.com:CodeFalling/hexo-asset-image.git

准备工作做好了。将图片复制到文件夹 filename 中,写 filename.md 文件可以写成如下格式。现在可以正常在md编辑器、博客网页文章内和博客网页首页上显示图片了。

1
![图1](filename/pic.jpg)

效果测试

插入图片

图1

图2

图2

测试一下代码高亮:Python

1
2
3
def jump_step(n):
result = lambda n: n if n < 2 else 2 * jump_step(n - 1)
return result(n)

C语言

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
int main(void)
{
int i, n, t1 = 0, t2 = 1, nextTerm;
printf("输出几项: ");
scanf("%d", &n);
printf("斐波那契数列: ");
for (i = 1; i <= n; ++i)
{
printf("%d, ", t1);
nextTerm = t1 + t2;
t1 = t2;
t2 = nextTerm;
}
return 0;
}

日常命令

日常

1
2
3
4
hexo new post "asm"
hexo clean && hexo g
hexo s -p 4000
hexo d

卸载某个插件

1
npm uninstall hexo-asset-image --save

Todo

如果我加入了这些功能大概会更新在这篇文章里。咕咕咕。

  • 数学公式渲染
  • gulp 压缩空行与图片
  • 持续集成
  • Gitlab 可以试试