十一:创建“查看收藏中的所有帖子”链接
Posted
技术标签:
【中文标题】十一:创建“查看收藏中的所有帖子”链接【英文标题】:Eleventy: Create "View all posts in collection" link 【发布时间】:2021-11-17 00:14:51 【问题描述】:我正在尝试在 Eleventy 中建立一个站点。该网站有两个集合中的博客帖子:A 和 B。当我阅读集合 A 中的帖子时,我希望在帖子内容之后有一个链接,上面写着“查看所有 A 帖子”。当我阅读收藏 B 中的帖子时,我希望看到“查看所有 B 帖子”链接。
博客文章共享相同的 _includes 模板 post.html。在那个模板中,我应该能够在 nunjucks 中创建一个类似这样的 if 语句:
% if post in collections.A %<a href="/a">View all A posts</a>
% elif post in collections.B %<a href="/b">View all B posts</a>
% endif %
虽然该代码 sn-p 不起作用。有什么想法吗?
【问题讨论】:
如何在 A 或 B 中关联博客条目? MD 文件位于不同的文件夹中。把它想象成在一个站点上有两个博客。导航包含指向每个博客存档页面的链接。 【参考方案1】:鉴于您的博客文章按文件夹分隔,您可以创建一个目录数据文件,为目录(A,B)指定一个值。像这样:
"blogtype":"a"
在您想要链接的帖子模板中,您可以检查blogtype
值来链接。
这有意义吗?需要明确的是,您可以使用过滤器执行“如果这篇文章在某某某收藏中”的逻辑,但我认为指定目录数据文件(可能)会更简单。
【讨论】:
谢谢雷蒙德!【参考方案2】:我在那里得到答案https://www.webstoemp.com/blog/multilingual-sites-eleventy/
module.exports = function (eleventyConfig)
eleventyConfig.addCollection("posts_en", function (collection)
return collection.getFilteredByGlob("./src/en/posts/*.md");
);
;
module.exports = function (eleventyConfig)
eleventyConfig.addCollection("posts_fr", function (collection)
return collection.getFilteredByGlob("./src/fr/posts/*.md");
);
;
【讨论】:
以上是关于十一:创建“查看收藏中的所有帖子”链接的主要内容,如果未能解决你的问题,请参考以下文章