尝试使用数据设置分页,其中{{ 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]这样。固定链接工作正常...
我有 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) 我目前正在做一个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)时,该文件夹不存在。但是,无论哪种方式,所有链接都是绝对链接(例如,主页是 …
似乎您应该能够使用全局数据文件和数据级联为 11ty 站点中的所有页面指定后备布局,但我不知道如何。
我在多个位置尝试了以下 JSON:
{
"layout": "layouts/page.njk"
}
Run Code Online (Sandbox Code Playgroud)
我已经把这个 JSON 放在:
到目前为止没有运气。
在我的 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)
我似乎既无法访问数据,也无法在控制台中收到错误。我在这里缺少什么?任何帮助表示赞赏。谢谢!
我是第一次尝试 110 个静态站点生成器。每当我构建时,内容文件都会生成得很好,但没有任何资产(CSS、JS、图像等)最终出现在输出目录中 - 出现的只是 HTML,其中资产的链接已损坏。
现在我使用默认的目录结构:
我尝试像上面一样构建它,并且尝试将 css 放入 _includes 目录中。我还尝试将 css 放入输出文件夹 (_site/) 中,这有效,但必须在输出中编辑源文件似乎是错误的。
我到处搜索过,但我发现的教程都没有涉及包括 CSS 之类的内容。
有没有一种正确的方法可以解决我所缺少的问题,或者您真的应该在源文件和输出中编辑文件吗?
I\xe2\x80\x99m 使用 11ty 与 Tailwind 和 Sass。每当我在 .scss 文件中使用 Tailwind 状态变体类(例如.class { @apply sm:flex })时,它都会否定整个 CSS 规则,包括用它声明的所有其他类。
我希望能够在 .scss 文件中@applyTailwind 状态变体类(sm:*、hover:*、 )group-hover:*。
我使用 11ty 和 Tailwind 开始了我的项目。I\xe2\x80\x99d 能够@apply毫无问题地编写 Tailwind 状态变体类:
.class {\n @apply flex sm:flex-col;\n}\nRun Code Online (Sandbox Code Playgroud)\n这将定义display: flex;宽屏幕和flex-direction: column;小屏幕尺寸的定义(我翻转了 Tailwind\xe2\x80\x99s 移动优先方法,请不要\xe2\x80\x99t 判断:))。
一切工作正常,但我想要嵌套和其他一些 Sass 功能,所以我安装了这个 Sass 插件。之后,我\xe2\x80\x99m 仍然能够@apply在没有 a 的情况下使用 Tailwind …
我正在将此入门项目改编为我自己的博客。我指的是这个 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) 我正在根据本教程在 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) 我正在使用 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); }
任何帮助将不胜感激 - 谢谢!
eleventy ×10
javascript ×5
nunjucks ×2
date ×1
html ×1
jamstack ×1
node-modules ×1
pagination ×1
rollupjs ×1
sass ×1
static-site ×1
tailwind-css ×1
yaml ×1