1

我已经创建了一个基于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 相关联,然后能够生成页面准确地迭代这些帖子集。我需要网站的组织从一般到具体。

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

4

1 回答 1

3

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

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


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

于 2012-02-18T02:22:02.760 回答