ruby - 解析 Jekyll 的类别

标签 ruby blogs jekyll blog-engine

我基于 Jekyll 创建了一个简单的博客引擎,但我还需要一个功能才能真正完成。

在 Jekyll 中,帖子的父目录是隐式的“标签”或“类别”。所以,如果我要在目录结构下创建一个帖子

/computers/scm/git 

它最终会有 3 个标签(计算机、scm、git)

在我的博客中,我创建了几个页面:

/computers/index.html
/computers/scm/index.html
/computers/scm/git/index.html

并且这些页面明确列出了各自类别中的帖子,例如/computers/index.html 显示指向/computers、/computers/sc 和/computers/scm/git 中每个帖子的链接 ... .不幸的是,类别在 Jekyll 中不是复合的,因此,“/computers/scm/index.html”迭代了与“/sandwiches/scm/index.html”相同的帖子集......

现在,我想自动生成一个站点地图,列出所有类别,提供指向我创建的所有页面的链接。 Jekyll 包含一个结构“site.categories”,我可以对其进行迭代,它适用于所有顶级类别。问题是当“scm”出现时,没有“/scm/index.html”——它需要是“/computers/scm/index.html”。

我不确定我是否可以解决此问题 - 我可以编写什么类型的扩展程序来获取分层类别并自动为我的列表页面生成站点地图?

在我最疯狂的梦想中,我希望能够将帖子标记为/a/b/c 并将其与标签/a、/a/b 和/a/b/c 相关联,然后能够生成完全迭代这些帖子集的页面。我需要网站的组织结构从一般到具体。

我需要尝试不同的静态生成引擎吗?

最佳答案

你需要使用 Jekyll 的插件。对于我博客中的类别支持,我使用 this 之一.

如果您是 Github Pages 用户,您必须注意,出于安全原因,GP 不支持插件。为避免这种情况,您可以使用来自 this 的想法。博文。


作为替代方案,您可以使用 Octopress ,这是基于 Jekyll 的。

关于ruby - 解析 Jekyll 的类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8846568/

相关文章:

ruby-on-rails - 使用 Twitter Bootstrap Carousel 激活第一个项目的类

Github 页面上的 Jekyll 不显示图像并且链接已损坏

ruby - 使用 ruby​​ 和 sinatra 为我的博客提供简单的搜索表单

ruby-on-rails - Rails created_at 查找条件

ruby-on-rails - Active Record 查询 JSONB 列上存储数组中的第一个值

blogs - 如何让 Wintersmith 中的文章不在其自己的子目录中?

html - 如何在屏幕中间移动博客标题?

ios - 如何将我的 WordPress 博客整合到 iOS 应用程序中?

javascript - 将 jekyll 添加到 yeogurt 生成的 gruntjs 设置后发生堆栈溢出

css - 杰基尔不再生