标签: eleventy

十一 (11ty) 数据分页 - 数据标题

尝试使用数据设置分页,其中{{ title }}in是projects.json中定义的当前<head><title>{{ title }}</title></head>页面的标题

假设可以这样做:

# main.njk

<head>
 <title>{{ title }}</title>
</head>
Run Code Online (Sandbox Code Playgroud)
# page.njk
---
layout: main.njk
pagination:
    data: projects
    size: 1
    alias: project
permalink: "work/{{ project.title | slug }}/"
title: {{ project.title }}
Run Code Online (Sandbox Code Playgroud)

可能误解了一些基本原理,但{{ title }}结果却是[object, object]这样。固定链接工作正常...

pagination nunjucks yaml-front-matter eleventy

10
推荐指数
2
解决办法
2016
查看次数

如何使用 rollup 导入 javascript 模块并捆绑到单个 js 文件中?

我有 javascript 函数,我想同时运行服务器端和客户端。服务器端使用node.js并可以很好地处理导入。

然而,客户端我想要一个带有内联 JavaScript 的单个脚本标签。为了实现这个目标,我知道我需要一个捆绑器将模块拉入主脚本文件中。我选择 rollup 来完成这项工作。

这是我尝试过的示例。我做了一个模块test.js。这是一个返回字符串的简单函数:

// test.js

const test = () => {
    return 'testing'
}

module.exports = test
Run Code Online (Sandbox Code Playgroud)

这是主要的 javascript 文件,main.js. 我想要将函数拖入的文件test.js

// main.js

import test from "/test.js"

console.log(test())
Run Code Online (Sandbox Code Playgroud)

这是我希望main.js捆绑后的样子:

// main.js

const test = () => {
    return 'testing'
}

console.log(test())

Run Code Online (Sandbox Code Playgroud)

我想简单地将函数拉入文件中。

相反,汇总会产生以下结果:

(function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('../../../../../../../js/test.js')) :
    typeof define === 'function' && …
Run Code Online (Sandbox Code Playgroud)

javascript node-modules rollupjs jamstack eleventy

8
推荐指数
1
解决办法
5430
查看次数

十一怎么有相对路径?

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

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

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

.eleventy.js

module.exports = eleventyConfig => {

    ...

    // Include our static assets
    eleventyConfig.addPassthroughCopy("images")

    return {
        pathPrefix: "/subfolder/",
        templateFormats: ["md", "njk"],
        markdownTemplateEngine: 'njk',
        htmlTemplateEngine: 'njk',
        passthroughFileCopy: true,

        dir: {
            input: 'site',
            output: 'dist',
            includes: 'includes',
            data: 'globals',
        }
    }

}

Run Code Online (Sandbox Code Playgroud)

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

<!doctype html>
  <meta http-equiv="refresh" content="0; url=/subfolder/">
  <title>Browsersync pathPrefix Redirect</title>
  <a href="/subfolder/">Go to /subfolder/</a>

Run Code Online (Sandbox Code Playgroud)

当我运行eleventy --config=eleventy.config.js(没有--serve)时,该文件夹不存在。但是,无论哪种方式,所有链接都是绝对链接(例如,主页是 …

javascript static-site eleventy

7
推荐指数
1
解决办法
1387
查看次数

你如何为 110 中的所有页面指定默认布局?

似乎您应该能够使用全局数据文件数据级联为 11ty 站点中的所有页面指定后备布局,但我不知道如何。

我在多个位置尝试了以下 JSON:

{
  "layout": "layouts/page.njk"
}
Run Code Online (Sandbox Code Playgroud)

我已经把这个 JSON 放在:

  • _data/default.json
  • _data/site.json
  • _data/site.11tydata.json
  • _data/11tydata.json

到目前为止没有运气。

eleventy

6
推荐指数
1
解决办法
461
查看次数

11ty/eleventy中yaml文件的数据

在我的 11ty 网站(skeleventy-starter)上,我想解析数百条评论。这些评论作为单独的 yaml 文件(命名如下:“entry-7128372832.yml”)存储在我的数据文件夹中名为 Reviews 的文件夹中。每个 yaml 文件如下所示:

_id: 84494a00-b086-11ea-94d5-7f955bef1b4e
rating: 5
name: Name
review: "review body"
date: "2019-05-12T12:12:31.116Z"
Run Code Online (Sandbox Code Playgroud)

我将自定义数据文件格式添加到 11ty 配置中,如文档中所述:

const yaml = require("js-yaml");

module.exports = (eleventyConfig) => {
  
// Yaml
 eleventyConfig.addDataExtension("yaml", (contents) =>
        yaml.safeLoad(contents)
 );
};
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试循环 .njk 文件中的评论数据时:

{% for review in reviews %}
    <p>{{ review.name }}</p>
    <p>{{ review.rating }}</p>
    <p>{{ review.review }}</p>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

我似乎既无法访问数据,也无法在控制台中收到错误。我在这里缺少什么?任何帮助表示赞赏。谢谢!

javascript yaml eleventy

6
推荐指数
1
解决办法
1506
查看次数

如何使 Eleventy 在输出中包含 CSS 和图像等资源?

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

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

  • 项目/
    • _包括/
    • _地点/
    • CSS/
    • 索引.html
    • 节点模块/
    • 包锁.json
    • 包.json

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

我到处搜索过,但我发现的教程都没有涉及包括 CSS 之类的内容。

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

eleventy

5
推荐指数
1
解决办法
1949
查看次数

无法使用 Eleventy 和 Sass @apply Tailwind 状态变体类

问题:

\n

I\xe2\x80\x99m 使用 11ty 与 Tailwind 和 Sass。每当我在 .scss 文件中使用 Tailwind 状态变体类(例如.class { @apply sm:flex })时,它都会否定整个 CSS 规则,包括用它声明的所有其他类。

\n

我希望能够在 .scss 文件中@applyTailwind 状态变体类(sm:*hover:*、 )group-hover:*

\n
\n

背景:

\n

我使用 11ty 和 Tailwind 开始了我的项目。I\xe2\x80\x99d 能够@apply毫无问题地编写 Tailwind 状态变体类:

\n
.class {\n  @apply flex sm:flex-col;\n}\n
Run Code Online (Sandbox Code Playgroud)\n

这将定义display: flex;宽屏幕和flex-direction: column;小屏幕尺寸的定义(我翻转了 Tailwind\xe2\x80\x99s 移动优先方法,请不要\xe2\x80\x99t 判断:))。

\n

一切工作正常,但我想要嵌套和其他一些 Sass 功能,所以我安装了这个 Sass 插件。之后,我\xe2\x80\x99m 仍然能够@apply在没有 a 的情况下使用 Tailwind …

sass tailwind-css eleventy

5
推荐指数
1
解决办法
195
查看次数

我如何使用 Eleventy 的灰质的摘录?

目标:为 Eleventy 博客的帖子列表中的每个帖子显示帖子摘录

我正在将此入门项目改编为我自己的博客。我指的是这个 Eleventy 文档 来获取帖子摘录。

我的代码:

我首先编辑我的.eleventy.js以启用灰质摘录,根据上述文档,如下所示:

module.exports = function(eleventyConfig) {
  eleventyConfig.addPlugin(pluginRss);
  eleventyConfig.addPlugin(pluginSyntaxHighlight);
  eleventyConfig.addPlugin(pluginNavigation);

  eleventyConfig.setDataDeepMerge(true);
  eleventyConfig.setFrontMatterParsingOptions({ excerpt: true
                                              });
  /* file continues below */
Run Code Online (Sandbox Code Playgroud)

接下来,根据示例,我在一些博客文章的第一段之后添加了“---”。

最后,我更新了/_includes/postslist.njk以包含对每个帖子的摘录的引用,因此我的新文件现在显示为:

<ol reversed class="postlist" style="counter-reset: start-from {{ (postslistCounter or postslist.length) + 1 }}">
{% for post in postslist | reverse %}
  <li class="postlist-item{% if post.url == url %} postlist-item-active{% endif %}">
    <a href="{{ post.url | url }}" class="postlist-link">{% if post.data.title %}{{ post.data.title }}{% else %}<code>{{ post.url …
Run Code Online (Sandbox Code Playgroud)

javascript yaml-front-matter eleventy

4
推荐指数
1
解决办法
438
查看次数

11ty 中的搜索功能

我正在根据本教程在 11ty 网站上构建基本搜索功能。我的问题是,当我键入表单并提交它时,即使我包含preventDefault()在代码中,它也会将我带到另一个站点。我是否错过了这些步骤,或者是否有更好的方法在网站中实现该功能?

这是我的代码和演示网站的链接:

(function (window, document, undefined) {
    'use strict';
    let form = document.querySelector('#form-search');
    let input = document.querySelector('#search-input');
    let resultList = document.querySelector('#search-results');

    /**
     * Create the HTML for each result
     * @param  {Object} article The article
     * @param  {Number} id      The result index
     * @return {String}         The markup
     */
    let createHTML = function (article, id) {
        let html =
            '<div id="search-result-' + id + '">' +
                '<a href="' + article.url + '">' +
                    '<aside>' + …
Run Code Online (Sandbox Code Playgroud)

html javascript eleventy

4
推荐指数
1
解决办法
324
查看次数

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

我正在使用 Eleventy 并使用 Posts。我已经使用以下格式在元数据中设置了日期

date: 2021-09-10

我可以使用显示完整日期

{{ page.date | readableDate }}

但我想在帖子内容中仅显示年份(YYYY)。我正在使用 Nunjucks。

我该怎么做呢?

我试过了

{{ page.date.getFullYear }}

这会产生以下错误:

function () { for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } return obj[val].apply(obj, args); }

任何帮助将不胜感激 - 谢谢!

date nunjucks eleventy

3
推荐指数
1
解决办法
975
查看次数