实现jekyll分类目录

  张一帆   2017年04月15日


jekyllserve

  首先,感谢作者sverrirs的开源项目jekyll-paginate-v2

  自打我这个博客建立到现在已经有半年的时光了,从简单的jekyll本机跑起来,到实现各种rb的插件,再到部署到github-pages服务器上,然后又研究了如何让page可以实现插件功能,之后又发现百度蜘蛛抓被github-pages禁止后转向了CDN服务,现如今又解决了jekyll的分类的分页。可以说,从现在开始我的博客终于实现了作为一个博客的最基础的功能。当刚才实现了分类的分页让我欣喜若狂,我终于不用担心着自己的文章多的只能在一个html中不够地方展现了。

  接下来介绍一下实现方法吧,现在都夜里1点了,今天(周六)早上还要上班呢,赶紧在睡觉之前把这篇文章写完吧。

  jekyll-paginate-v2是一个专给jekyll博客系统开发出的一个分页类,他继承了jekyll的原始paginator方法,并且将每个目录中的paginator.posts替换成YAML中所指定的聚合类(collectoion,category,tag),最终达到只要在YAML中规定好目录的所属分类即可实现分类中的分页效果。

  由于,jekyll的源代码中是不支持分类的分页的,可以从官方的说明文档中看到:

不支持对“标签”和“类别”分页
分页功能仅仅遍历文章列表并计算出结果,并无读取 YAML 头信息,现在不支持对“标签”和“类别”分页。

  就因为jekyll本身不支持这样的操作,所以引来了很多的开发者致力于实现这个功能,虽然很多开发者都在试图开发出这个功能,但是也许是因为jekyll过于小众,所以从进展上来说,没有一个可以兼容的实现此功能的。但是,16年12月sverrirs却开发出了jekyll-paginate-v2分页类,终于实现了这个功能。其实,我也是半年以后才发现他这个插件的。通过它的帮助文档,虽然有一些小小的问题,但是最终还是实现了我梦寐以求的功能。不得不说这个开发者为我们jekyll用户造福了。

  就像说明文档说的一样,我们只需要安装好了这个插件,然后在_config.yml以及Gemfile中配置完成即可以应用了。然后,你再在每个分类index.html页面中规定好YAML信息就可以最终实现了。

  比如,我的深思默想分类,thinking是这个分类的文件夹,置于root下,然后在这个文件夹中建立index.html,index.html中配置即可。

---
title: 拿饭-沈思默想
pagination: 
  enabled: true
  category: thinking
---