十一:创建“查看收藏中的所有帖子”链接

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");
  );
;

【讨论】:

以上是关于十一:创建“查看收藏中的所有帖子”链接的主要内容,如果未能解决你的问题,请参考以下文章

Axure RP从入门到精通(五十一)案例 - 超链接

第十一章 链接查询和分组查询

从零开始的linux 第二十一章(Inode以及Block详解其二与软链接)

[蓝桥杯]看一看,国二变国一,第十一届决赛B组试题解析

嵌入式 Linux C语言——静态库函数和动态库函数

CTF---Web入门第十一题 PHP大法