如何在与 11ty 合作的 Nunjucks 中组织数据?

问题描述

我正在使用 11ty 和 Nunjucks 开发一个静态站点。这是一家为认证考试(AWS 等)提供培训的公司,他们拥有约 25 门认证培训课程,每个课程都有自己的数据。

我已经让它工作了,但我强烈地感觉到有一种更简单方便的方法来组织这些数据。每个课程的数据是这样的:

Title:
Subtext:
Date:
Duration:

到目前为止,一切都很好。棘手的部分是课程大纲。它的组织方式如下:

1. Topic Title
    1.1 Subtopic Title
    1.1 Subtopic Description
    1.2 Subtopic Title
    1.2 Subtopic Description

2. Topic Title
    2.1 Subtopic Title
    2.1 Subtopic Description
    2.2 Subtopic Title
    2.2 Subtopic Description

每门课程大约有 4-8 个主题。我目前正在用它们的独立名称来表示这些变量中的每一个,这使得这非常混乱。

agenda_1: 
a1_1: 
a1_1_text: 
a1_2: 
a1_2_text:

agenda_1: 
a1_1: 
a1_1_text: 
a1_2: 
a1_2_text:

请帮助我更好地组织这些数据(可能是通过在此处使用对象或 JSON 文件?)。我本质上是在寻找一种方法将这些作为对象嵌套,以便以后更容易访问。任何帮助将不胜感激。谢谢!

解决方法

如果你使用一个单独的数据文件,或者把它放在每门课程的前面,我更愿意在 YAML 中这样组织它:

topics:
  - title: Topic Title 1
    subtopics:
      - title: Subtopic Title 1
        desc: Subtopic Description 1
      - title: Subtopic Title 2
        desc: Subtopic Description 2

  - title: Topic Title 2
    subtopics:
      - title: Subtopic Title 1
        desc: Subtopic Description 1
      - title: Subtopic Title 2
        desc: Subtopic Description 2