Как организовать данные в Nunjucks при работе с 11ty?

Я разрабатываю статический сайт, используя 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?). По сути, я ищу способ вложить их как объекты, чтобы он был более доступным в будущем. Любая помощь будет принята с благодарностью. Спасибо!


person Sahej Sahni    schedule 29.12.2020    source источник
comment
Я думаю, добавление вашей структуры папок и то, как вы организовали приведенные выше данные (находятся ли они перед каждым шаблоном?), Может дать дополнительную информацию, которая поможет!   -  person KV88    schedule 29.12.2020
comment
Привет, спасибо @ KV88 Я нашел решение и вижу, как помогла бы моя структура папок lol. Должен ли я добавить сюда решение моего собственного вопроса? Это мой первый вопрос, поэтому я понятия не имею   -  person Sahej Sahni    schedule 30.12.2020
comment
Привет, да, я думаю, что если у вас есть вопрос, у других может быть то же самое, особенно когда проект становится немного сложнее. Думаю, ваше решение принесет большую пользу другим! :)   -  person KV88    schedule 30.12.2020


Ответы (1)


Если вы используете отдельный файл данных или помещаете его в начало каждого курса, я бы предпочел организовать его в 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
person Abhishek    schedule 19.01.2021