问题标签 [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.
javascript - 11ty 简码输出菜单
我正在尝试构建一个 11ty 通用短代码,当传递一个集合时输出一个菜单。(我不完全确定这是输出菜单的最佳方法。)到目前为止,我已经尝试过:
这似乎不太正确,因为它让我得到了网址而不是标题。(我也不完全确定我是否以正确的 11ty 方式构建这些。)任何帮助将不胜感激。
javascript - 如何用 EJS 和 11 做组件组合(包含在包含中)?
我正在使用Eleventy,一个静态站点生成器来构建一个网站。它支持很多模板语言,但EJS看起来是最好的,因为它“只是 JavaScript”,除了,我不知道如何进行组件组合,或者它是否可能。可以说,EJS 文档严重缺乏。
我想要实现的目标类似于您在 React 或 Vue 中使用props.children
or执行的操作<slot>
,您可以在其中组合组件,但显然可以在这里使用部分组件来完成。
例如,假设我有一个网格项部分,它接受它可以呈现的大小、它的标签名称和“子项”,例如:
然而,即使是上面的例子也有点限制,所以我真正想要实现的是:
这可能吗?我是从错误的角度接近这个吗?
Eleventy 支持使用 Nunjucks 和 Liquid 的Paired Shortcodes 解决此问题,但是这两种模板语言似乎都受到严重限制,例如您甚至无法创建数据对象。
javascript - 十一怎么有相对路径?
我目前正在从事一个11ty项目,并且非常喜欢它。但是当我部署输出时,链接有问题。我想将它部署到不同服务器上的 2 个不同位置。其中一个位置位于根目录中,另一个位于子文件夹中。
输出中是否可以有相对链接?
我已经尝试过pathPrefix,但要么我没有正确使用它,要么它没有给我我正在寻找的结果。
.eleventy.js:
当我运行时eleventy --config=eleventy.config.js --serve
,会生成一个名为 的附加文件夹_eleventy_redirect
,其中包括一个index.html
文件:
当我运行eleventy --config=eleventy.config.js
(没有--serve
)时,该文件夹不存在。但是,无论哪种方式,所有链接都是绝对的(例如Home是href="/"
),并且该站点无法在服务器上运行。
有没有办法拥有相对链接(例如Home在href="./"
根 index.html 和href="../"
子页面上)或至少在 url 中包含子文件夹(例如Home is href="./subfolder/"
)?
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 中)
谢谢你的帮助。
eleventy - 如何让 110 在输出中包含 CSS 和图片等资产?
我第一次尝试使用 110 静态站点生成器。每当我构建时,内容文件都生成得很好,但没有任何资产(CSS、JS、图像等)最终出现在输出目录中 - 出现的只是 HTML,资产链接断开。
现在我使用默认的目录结构:
- 项目/
- _包括/
- _地点/
- css/
- 索引.html
- 节点模块/
- 包-lock.json
- 包.json
我已经尝试像上面那样构建它,并且尝试将 css 放在 _includes 目录中。我还尝试将 css 放在输出文件夹 (_site/) 中,这很有效,但是必须在输出中编辑源文件似乎是错误的。
我四处搜索,但我发现的教程都没有解决像 CSS 这样的问题。
是否有一种正确的方法可以解决我缺少的问题,或者您真的应该在源和输出中编辑文件?
json - 在 nunjuck 模板中显示特定的 JSON 值
尝试从 JSON 文件中过滤值并显示在 nunjuck 模板中。这是 JSON 文件:
在 nunjuck 模板中添加{{ city }}时,它会显示整个 JSON 文件,但我如何才能仅显示特定值name和zip?
试试这个:
...
还有很多其他的组合。没有任何作用!
git - 从上游 11-base-blog 获取最新更新到我的分叉博客的推荐方法是什么?
我有一个基于eleventy-base-blog
repo克隆的博客。当我克隆它时,我在分支中保留了原始代码master
,并在我自己的分支中进行了所有自定义和内容更改(因此,如果我弄乱了,blog
我可以通过从 pristine 创建一个新分支轻松地从头开始master
事物)。
显然,我自定义并更改了我的版本,随着时间的推移,它与上游版本以及我的本地master
分支不同。
我最近意识到我可能错过了上游的重要错误修复、改进和新功能,所以我研究了如何更新我的 fork 以保持最新状态。
经过大量搜索并试图从那里的所有建议范围( 1、2、3 )中弄清楚,我找到的答案似乎是 use git rebase
,所以我尝试这样做:
(这表明我应该这样做fetch && reset --hard
而不是pull
)
但这最终导致了大量的合并冲突,我不得不煞费苦心地进行手动修复。似乎我的整个提交历史需要再进行一轮编辑,然后
或其他(请参见此处的场景#1 )。我真的不想每次想要获得上游更新时都必须做所有这些。没想到会有这么多冲突。
那么,有什么更好的方法(如果有的话)可以更无缝地升级到最新版本eleventy-base-blog
,而无需手动保留我自己的所有自定义和编辑?我觉得我错过了一些东西,知道如何更好地做到这一点会很好。然后我可能会贡献一个很好的更新过程,以包含在eleventy-base-blog
.
content-management-system - 静态站点生成器的推荐做法是什么:page1/index.md 或 page1.md?
在静态站点生成器中组织源文件以生成页面的推荐方法是什么?(我正在使用 Eleventy,但这可能对其他 SSG 有用)
或者
两种目录结构都应该(或可以)在最终站点中生成以下结构:
json - 使用带有 nunjucks 和 json 的 if/else 循环遍历 for 语句
我正在尝试使用 nunjucks 遍历嵌套的 json 文件,为每个对象类型提供特定的布局并根据日期对所有对象进行排序。
所以就我而言,我有两个收藏活动和视频。这两个系列都将包含一系列活动和视频。
我的文件名为 /content.json,结构如下:
我试图用 if/else 语句分配不同的对象,然后使用 for 循环在数组中循环,但失败了,见下文:
我从来没有尝试按日期对所有内容进行排序,但我发现:
谁能指导我正确的方向?
提前致谢。
AENM