nunjucks 相关问题

一种丰富而强大的JavaScript模板语言

使 JavaScript 函数可用于 Nunjucks 模板

使用 Eleventy 构建网站时,如何为我的 Nunjucks 模板提供 JavaScript 函数? 假设我在 _includes 文件夹中有一个 Nunjucks 布局文件 my_layout.njk: 使用 Eleventy 构建网站时,如何为我的 Nunjucks 模板提供 JavaScript 函数? 假设我在文件夹my_layout.njk中有一个Nunjucks布局文件_includes: <!doctype html> {% set targetItem = findItemById(items, itemId) %} <p>The value of the item with id {{ itemId }} is {{ targetItem.val }}.</p> 被调用的函数findItemById(items, id)在项目根文件夹的配置文件.eleventy.js中定义。我正在使用方法 addJavaScriptFunction(),如 Eleventy 的文档中有关 添加 JS 函数中所述。 module.exports = function(eleventyConfig) { eleventyConfig.addJavaScriptFunction("findItemById", function(items, id) { return items.find(item => item.id === id); }); }; 要处理的项目数组存储在文件夹items.json中的文件_data中: [ { "id": "a", "val": "foo" }, { "id": "b", "val": "bar" } ] 最后,我在项目的根文件夹中有一个液体模板文件item_b.liquid,用于使用 items 数组中的数据构建静态 html 页面。在构建网站时,我知道一个项目的 id 并且需要获取它的值。 --- layout: my_layout.njk itemId: b --- “_site”文件夹中所需的输出将是一个包含内容的 html 文件item_b/index.html <!doctype html> <p>The value of item with id b is bar.</p> 但是,Eleventy 找不到该函数findItemById。运行时 npx @11ty/eleventy 我收到错误消息: [11ty] Problem writing Eleventy templates: (more in DEBUG output) [11ty] 1. Having trouble writing to "_site/item_b/index.html" from "./item_b.liquid" (via EleventyTemplateError) [11ty] 2. (./_includes/my_layout.njk) [Line 1, Column 32] [11ty] Error: Unable to call `findItemById`, which is undefined or falsey (via Template render error) 我在 Fedora 38 Linux 上使用 Eleventy 版本 2.0.1。 据我所知,addJavaScriptFunction 不是 Eleventy 中的东西。但您可以创建一个过滤器来完成您想要的任务。假设 items 是一个数组,您可以创建一个过滤器,并在 Nunjucks 中调用它,如下所示: {% 设置 targetItem = 项目 | findItemById(itemId) %} 请参阅此页面了解更多信息: https://www.11ty.dev/docs/filters/ 此外,他们的 Discord 服务器上有大量 Eleventy 帮助,并且该网站上有 1,000 多篇关于 Eleventy 的博客文章。这里有一个专门关于过滤器的部分: https://11tybundle.dev/categories/filters/

回答 1 投票 0

Lume 省略文档类型?

在 Lume 中,使用 Nunjucks 是否可以避免渲染文档类型? 我正在使用 Lume 创建 HTML 片段,用于另一个系统。 (我不会渲染整个 HTML 页面。) doctype

回答 1 投票 0

Eleventy 网站构建器:使 JavaScript 功能可用于 Nunjucks 模板

使用 Eleventy 构建网站时,如何为我的 Nunjucks 模板提供 JavaScript 函数? 假设我在 _includes 文件夹中有一个 Nunjucks 布局文件 my_layout.njk: 使用 Eleventy 构建网站时,如何为我的 Nunjucks 模板提供 JavaScript 函数? 假设我在文件夹my_layout.njk中有一个Nunjucks布局文件_includes: <!doctype html> {% set targetItem = findItemById(items, itemId) %} <p>The value of the item with id {{ itemId }} is {{ targetItem.val }}.</p> 被调用的函数findItemById(items, id)在项目根文件夹的配置文件.eleventy.js中定义: module.exports = function(eleventyConfig) { eleventyConfig.addJavaScriptFunction("findItemById", function(items, id) { return items.find(item => item.id === id); }); }; 要处理的项目数组存储在文件夹items.json中的文件_data中: [ { "id": "a", "val": "foo" }, { "id": "b", "val": "bar" } ] 最后,我在项目的根文件夹中有一个液体模板文件item_b.liquid,用于使用 items 数组中的数据构建静态 html 页面。在构建网站时,我知道一个项目的 id 并且需要获取它的值。 --- layout: my_layout.njk itemId: b --- “_site”文件夹中所需的输出将是一个包含内容的 html 文件item_b/index.html <!doctype html> <p>The value of item with id b is bar.</p> 但是,Eleventy 找不到该函数findItemById。运行时 npx @11ty/eleventy 我收到错误消息: [11ty] Problem writing Eleventy templates: (more in DEBUG output) [11ty] 1. Having trouble writing to "_site/item_b/index.html" from "./item_b.liquid" (via EleventyTemplateError) [11ty] 2. (./_includes/my_layout.njk) [Line 1, Column 32] [11ty] Error: Unable to call `findItemById`, which is undefined or falsey (via Template render error) 我在 Fedora 38 Linux 上使用 Eleventy 版本 2.0.1。 据我所知,addJavaScriptFunction 不是 Eleventy 中的东西。但您可以创建一个过滤器来完成您想要的任务。假设 items 是一个数组,您可以创建一个过滤器,并在 Nunjucks 中调用它,如下所示: {% 设置 targetItem = 项目 | findItemById(itemId) %} 请参阅此页面了解更多信息: https://www.11ty.dev/docs/filters/ 此外,他们的 Discord 服务器上有大量 Eleventy 帮助,并且该网站上有 1,000 多篇关于 Eleventy 的博客文章。这里有一个专门关于过滤器的部分: https://11tybundle.dev/categories/filters/

回答 1 投票 0

如何在 Eleventy + Nunjucks 中设置[未来、非当前]日期的格式?

我正在为当地乐队建立一个带有 CMS (Netlify) 的网站,他们将把未来的演出日期放在该网站上。到目前为止,日期显示为非常长的非格式化字符串,其中包括时间...

回答 2 投票 0

如果变量为空,如何显示默认值? [重复]

我是菜鸟。我正在使用 Prototype.KIT 框架使用 nunjucks 创建交互式 HTML 原型。 通常,我们使用以下方法将某些属性分配给 HTML 页面上的元素: 标签: { ...

回答 1 投票 0

如何防止eleventy/nunjucks在for循环中转义内容

当在 11ty 中包含的 nunjucks 模板(例如 {% include ... %})中使用 {% for ... %} 循环时,循环生成的内容将在 ... 中呈现 当在 11ty 中包含的 nunjucks 模板(例如 {% for ... %})内使用 {% include ... %} 循环时,循环生成的内容将呈现在 <pre><code>...</code></pre> 块内。 以下是包含的内容: src/includes/recipe-ingredients.html <aside id="ingredients" aria-label="ingredients"> <h3>Ingredients</h3> <ul> {% for ingredientData in recipe.ingredients %} <li><span class="measure">{{ ingredientData.displayQty }}</span> <span class="ingredient">{{ ingredientData.ingredient }}</span></li> {% endfor %} </ul> </aside> ...这就是生成的内容: <!-- Rest of generated HTML --> <aside id="ingredients" aria-label="ingredients"> <h3>Ingredients</h3> <ul> <pre><code>&lt;li&gt;&lt;span class=&quot;measure&quot;&gt;2&lt;/span&gt; &lt;span class=&quot;ingredient&quot;&gt;cinnamon&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&lt;span class=&quot;measure&quot;&gt;3/4&lt;/span&gt; &lt;span class=&quot;ingredient&quot;&gt;sugar&lt;/span&gt;&lt;/li&gt; </code></pre> </ul> </aside> <!-- Rest of generated HTML --> 为什么会发生这种情况以及如何预防? <aside id="ingredients" aria-label="ingredients"> <h3>Ingredients</h3> <ul> {% for ingredientData in recipe.ingredients %} <li> <span class="measure">{{ ingredientData.displayQty | safe }}</span> <span class="ingredient">{{ ingredientData.ingredient | safe }}</span> </li> {% endfor %} </ul> </aside>

回答 1 投票 0

Nunjucks 和 Eleventy 短代码无法相互连接

我编写了一个 Eleventy 短代码来获取图像的文件名(以及 alt 标签的文本等),并输出整个 srcset,使其成为响应式图像。 该网站是使用 Nunju 编写的...

回答 1 投票 0

在Eleventy网站中添加Google for Jobs

我想将 Google for Jobs 添加到我的 11ty (11ty) 网站。我使用 Google Jobposting 架构作为参考,并将代码添加到 json 文件中。 json 文件: { “布局”:“jobpost.nj...

回答 1 投票 0

11ty - 如何显示帖子/页面年份?

我正在使用 Eleventy 并使用 Posts。我已经使用以下格式在元数据中设置了日期 日期:2021年9月10日。 我可以使用显示完整日期 {{ 页面.日期 |可读日期 }} 但我想展示一下...

回答 2 投票 0

迭代 Eleventy / 11ty 中的全局数据子文件夹

我正在使用 Eleventy 并在我的全局数据文件夹中创建了子文件夹 yummy,其中包含以下文件: \src\_data\yummy\drinks.json \src\_data\yummy ood.json 当我使用 {{ yummy | d...

回答 1 投票 0

11 个 Nunjucks 扩展模板块渲染空白空间

你好:)我已经建立了一个基本的@11ty项目。我的模板是 .html,我的模板引擎是 njk。 虽然部分部分的 {% include %} 和布局的 {% Extend %} 按预期工作,但我无法得到 {% ...

回答 1 投票 0

有条件地将字段添加到后台脚手架模板中的步骤

如何根据用户是否提供了输入参数向步骤添加可选字段?我并不是在寻找要跳过的整个步骤,而只是在寻找一个参数。 在下面的例子中,我想要...

回答 1 投票 0

树枝和 Nunjucks 问题

我是编程新手,我正在使用PHP作为后端并学习MVC,请问如果我们使用Twig,我们还需要像Nunjucks这样的前端模板引擎吗?据我所知,Nunjucks 是模板 e...

回答 1 投票 0

嵌套包含 nunjucks 中传递的数据

在反应中,我会将道具传递给模板。我该如何在 nunjucks 中做到这一点。例如,我想执行以下操作: 页: {% 设置幻灯片 = [ { "alt": "标记化可视化...

回答 1 投票 0

在nunjucks宏的set语句中使用变量值

当我在此 nunjucks 宏的 set 语句中使用 collections.pages 时,以下代码有效。 collection_name 是/打印 collections.pages。如何在 las 中使用 collection_name 的值...

回答 1 投票 0

Nunjucks:带有多个“and”或“or”条件的“if”

今天我的队友正在努力解决如何在 Nunjucks 模板的 if 语句中添加带有“and”或“or”的多个条件。经过大量搜索后,他找到了答案,但在 Stackoverflow 上却找不到。我...

回答 2 投票 0

循环对象属性nunjucks

我有以下型号: 项目: { 一些Id1: { 属性1.... }, 一些Id2:{...}, 一些IdN:{...} } 我想在我的模板(nunjucks)中获得一个 for 循环...

回答 3 投票 0

选择带有扩展、插槽并包含参数的模板引擎

我正在构建一个中等大小的 html/scss/ts 网站。由于它相当复杂,有很多重复元素(布局、重复块),我开始研究好的 SSG 选项(最终使用了 11ty...

回答 1 投票 0

如何自动化函数式编程,并避免重复自己

在我的 gulpfile.js 中,我有以下两个函数,它们利用 gulp-nun-jucks 渲染 2 个不同的视图...... 函数 genNunJucks(cb) { 返回 src(paths.views.src) ...

回答 1 投票 0

nunjucks 不是函数

我使用 vite 创建了一个项目,并在该项目上添加了 tailwind css。现在我想为模板添加 nunjucks。我在 vite.congig.js 文件上使用了 nunjucks 插件。这是这个。 导入 nunju...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.