谈谈jekyll的category和tag << 上一篇下一篇 >>

虽然Github出于安全原因不允许使用jekyll的插件,在使用category分类和tag上确实很不方便,不过对我来说这些倒不是太大的问题。

当然也有一些方法可以解决这个问题,但是我懒嘛,懒人自有笨办法……

记得某个插件可以在生成网页的时候自动把日志按照category分类创建,并且在每个category文件夹下创建index.html。既然不能用,这个思路还是可以照搬的,于是我手动创建了一个topic文件夹,在这个文件夹里分别给每个category创建文件夹及其index.html。

是的,看起来很笨很麻烦,多一个分类的时候都不会自动创建相应的index.html。但是我的思路是,把category当做专题分类来用,就是右边的那一列。只要为专题创建一个模板,每个category里的index.html直接套用这个模板就行,虽然没插件自动的方便,不过也差不了多少,另外我也为每个分类设计了不同的图片。

可能你会说这就不是普通的分类吗,其实是有点不一样的,所谓的专题分类本来就是我想要手动创建的大的分类,比如日志(blog)分类用来存放所有的日志,MMD分类用来展示所有的MMD作品,等……这种专题分类要是自动创建了我反而会很困扰,比如我在打category的时候如果不小心打错了,那么页面右边就会多出一张显示为X的图片,因为我没给这个错误的专题名字设计图片……

而tag这个东西原本我就是拿来当摆设的,之前在歪酷写tag都是不写或者瞎写的,所以tag列表看起来杂乱无章而且毫无意义。现在既然category当做专题分类了,tag正好可以拿来做小分类用。

比如我的日志专题分类blog里面,还可以按照tag小分类来排序,并且tag是可以用中文的,反正跳转的时候是书签形式嘛,而且我完全可以随意添加和更改tag。

另外据说jekyll对中文支持不太好,所以像site.tags.建站日记这样的筛选语句估计是用不来的,但还是有笨办法的嘛,因为Liquid似乎是支持的,至少我本地是可以的,像这样:

最后分享一个只显示在某个category下所有tag的方法,虽然不难,但是我自己也是捣鼓了半天才弄出来的,网上资料难找啊……具体效果可以去右边的专题分类里面看:

这是模板,所以第一行的page.title具体指的就是每个category的名称,举个例子:我的blog专题分类就是在topic/blog文件夹下创建index.html,内容是:

layout: topic
title: blog

以及专题的文字简介。

另外tag[0]指的是tag名,tag[1]指的是该tag下的所有post列表。

当然我只是提供一下我的这种思路,jekyll虽然有很多局限性,但是思想是没有局限的~

<< 上一篇:PMX模型导入C4D的心得 下一篇:2.4小记 >>