Одиннадцатая (одиннадцатая) пагинация данных - название из данных - PullRequest
1 голос
/ 08 апреля 2020

Попытка настроить разбиение на страницы с данными, где {{ title }} in <head><title>{{ title }}</title></head> - это заголовок текущей страницы, как определено в проектах. json

Предполагается, что это можно сделать:

# main.njk

<head>
 <title>{{ title }}</title>
</head>
# page.njk
---
layout: main.njk
pagination:
    data: projects
    size: 1
    alias: project
permalink: "work/{{ project.title | slug }}/"
title: {{ project.title }}

Возможно, неправильно поняли некоторые основы, но вместо этого {{ title }} отображается как [object, object]. Постоянная ссылка работает отлично ...

1 Ответ

0 голосов
/ 11 апреля 2020

В файле njk вы обычно не можете использовать переменные данных или синтаксис шаблона в frontmatter.

Переменная permalink является исключением.

См. Официальную документацию Eleventy . о permalink


Чтобы решить вашу проблему, вы можете:

  • жестко кодировать title в своем page.njk
  • использовать файл шаблонов javascript .11ty.js либо для замены page.njk или main.njk, либо в качестве макета для main.njk.

.11ty.js. Файлы обычно могут использовать данные переменные в frontmatter.

например, файла .11ty.js с переменной в frontmatter:

let thing = "whatever";

class Sample {
    data() {// data() is the .11ty.js equivalent of frontmatter
        return {
        myCustomFrontmatterVariable: thing,
        };
    }
    render(data){
        return data.content;
    }
}

module.exports = Sample;
...