问题标签 [eleventy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
190 浏览

javascript - 11ty 简码输出菜单

我正在尝试构建一个 11ty 通用短代码,当传递一个集合时输出一个菜单。(我不完全确定这是输出菜单的最佳方法。)到目前为止,我已经尝试过:

这似乎不太正确,因为它让我得到了网址而不是标题。(我也不完全确定我是否以正确的 11ty 方式构建这些。)任何帮助将不胜感激。

0 投票
1 回答
611 浏览

javascript - 如何用 EJS 和 11 做组件组合(包含在包含中)?

我正在使用Eleventy,一个静态站点生成器来构建一个网站。它支持很多模板语言,但EJS看起来是最好的,因为它“只是 JavaScript”,除了,我不知道如何进行组件组合,或者它是否可能。可以说,EJS 文档严重缺乏。

我想要实现的目标类似于您在 React 或 Vue 中使用props.childrenor执行的操作<slot>,您可以在其中组合组件,但显然可以在这里使用部分组件来完成。

例如,假设我有一个网格项部分,它接受它可以呈现的大小、它的标签名称和“子项”,例如:

然而,即使是上面的例子也有点限制,所以我真正想要实现的是:

这可能吗?我是从错误的角度接近这个吗?

Eleventy 支持使用 Nunjucks 和 Liquid 的Paired Shortcodes 解决此问题,但是这两种模板语言似乎都受到严重限制,例如您甚至无法创建数据对象。

0 投票
2 回答
1884 浏览

javascript - 十一怎么有相对路径?

我目前正在从事一个11ty项目,并且非常喜欢它。但是当我部署输出时,链接有问题。我想将它部署到不同服务器上的 2 个不同位置。其中一个位置位于根目录中,另一个位于子文件夹中。

输出中是否可以有相对链接?

我已经尝试过pathPrefix,但要么我没有正确使用它,要么它没有给我我正在寻找的结果。

.eleventy.js

当我运行时eleventy --config=eleventy.config.js --serve,会生成一个名为 的附加文件夹_eleventy_redirect,其中包括一个index.html文件:

当我运行eleventy --config=eleventy.config.js(没有--serve)时,该文件夹不存在。但是,无论哪种方式,所有链接都是绝对的(例如Homehref="/"),并且该站点无法在服务器上运行。

有没有办法拥有相对链接(例如Homehref="./"根 index.html 和href="../"子页面上)或至少在 url 中包含子文件夹(例如Home is href="./subfolder/")?

0 投票
1 回答
1042 浏览

nunjucks - 在 nunjucks + 十一中的标签内使用变量和过滤器

我是一个 nunjucks 新手 - 和 110 一起尝试。

简短版:我可以在 nunjucks 的标签中使用变量和过滤器吗?例如:

{% 设置 myVar = {{ 标题 | 降低 }} %}

(假设 {{ title }} 变量设置正确)

更长的版本/我的具体用例:

我正在尝试创建一个名为 section.njk 的布局文件并将其用于多个页面(基本上是我网站每个部分的部分首页 - 类似于 Hugo 中的 section.html 布局文件的想法)我每个部分都有一个数据文件,包含该部分的菜单。

给定以下文件:

  • guides.json
  • 带有 frontmatter 的 index.md,包括标题:“指南”

这不起作用:

这有效:

所以我想知道问题是否出在 Nunjucks 的标签中使用变量,如果是这样,是否有办法解决它?

整个项目源代码在这里:https ://github.com/StarfallProjects/tech-writer-toolkit/tree/11ty (11ty 的东西在 src 中)

谢谢你的帮助。

0 投票
1 回答
1020 浏览

eleventy - 如何让 110 在输出中包含 CSS 和图片等资产?

我第一次尝试使用 110 静态站点生成器。每当我构建时,内容文件都生成得很好,但没有任何资产(CSS、JS、图像等)最终出现在输出目录中 - 出现的只是 HTML,资产链接断开。

现在我使用默认的目录结构:

  • 项目/
    • _包括/
    • _地点/
    • css/
    • 索引.html
    • 节点模块/
    • 包-lock.json
    • 包.json

我已经尝试像上面那样构建它,并且尝试将 css 放在 _includes 目录中。我还尝试将 css 放在输出文件夹 (_site/) 中,这很有效,但是必须在输出中编辑源文件似乎是错误的。

我四处搜索,但我发现的教程都没有解决像 CSS 这样的问题。

是否有一种正确的方法可以解决我缺少的问题,或者您真的应该在源和输出中编辑文件?

0 投票
1 回答
584 浏览

javascript - Eleventy(11ty)可以有父子集合吗?

我希望能够使用Eleventy拥有父集合和子集合,然后我可以循环创建导航。

我目前在一个名为 的集合中有一些帖子,continents前面的内容显示如下:

我循环创建链接列表:

是否可以有一个子集合continents?例如countries?如果是这样,这些数据需要在哪里添加到我的主题中?

能够像这样遍历集合会很棒:

我知道有110 个导航,但看起来你也只能有一个级别的导航。

0 投票
1 回答
46 浏览

json - 在 nunjuck 模板中显示特定的 JSON 值

尝试从 JSON 文件中过滤值并显示在 nunjuck 模板中。这是 JSON 文件:

在 nunjuck 模板中添加{{ city }}时,它会显示整个 JSON 文件,但我如何才能仅显示特定值namezip

试试这个:

...

还有很多其他的组合。没有任何作用!

0 投票
0 回答
87 浏览

git - 从上游 11-base-blog 获取最新更新到我的分叉博客的推荐方法是什么?

我有一个基于eleventy-base-blog repo克隆的博客。当我克隆它时,我在分支中保留了原始代码master,并在我自己的分支中进行了所有自定义和内容更改(因此,如果我弄乱了,blog我可以通过从 pristine 创建一个新分支轻松地从头开始master事物)。

显然,我自定义并更改了我的版本,随着时间的推移,它与上游版本以及我的本地master分支不同。

我最近意识到我可能错过了上游的重要错误修复、改进和新功能,所以我研究了如何更新我的 fork 以保持最新状态。

经过大量搜索并试图从那里的所有建议范围( 123 )中弄清楚,我找到的答案似乎是 use git rebase,所以我尝试这样做:

表明我应该这样做fetch && reset --hard而不是pull

但这最终导致了大量的合并冲突,我不得不煞费苦心地进行手动修复。似乎我的整个提交历史需要再进行一轮编辑,然后

或其他(请参见此处的场景#1 )。我真的不想每次想要获得上游更新时都必须做所有这些。没想到会有这么多冲突。

那么,有什么更好的方法(如果有的话)可以更无缝地升级到最新版本eleventy-base-blog,而无需手动保留我自己的所有自定义和编辑?我觉得我错过了一些东西,知道如​​何更好地做到这一点会很好。然后我可能会贡献一个很好的更新过程,以包含在eleventy-base-blog.

0 投票
1 回答
369 浏览

content-management-system - 静态站点生成器的推荐做法是什么:page1/index.md 或 page1.md?

在静态站点生成器中组织源文件以生成页面的推荐方法是什么?(我正在使用 Eleventy,但这可能对其他 SSG 有用)

或者

两种目录结构都应该(或可以)在最终站点中生成以下结构:

0 投票
2 回答
641 浏览

json - 使用带有 nunjucks 和 json 的 if/else 循环遍历 for 语句

我正在尝试使用 nunjucks 遍历嵌套的 json 文件,为每个对象类型提供特定的布局并根据日期对所有对象进行排序。

所以就我而言,我有两个收藏活动和视频。这两个系列都将包含一系列活动和视频。

我的文件名为 /content.json,结构如下:

我试图用 if/else 语句分配不同的对象,然后使用 for 循环在数组中循环,但失败了,见下文:

我从来没有尝试按日期对所有内容进行排序,但我发现:

谁能指导我正确的方向?

提前致谢。

AENM