Подтвердить что ты не робот

Jekyll/Liquid - как добавить большие блоки текста в передний элемент YAML?

Я пытаюсь реализовать каталог сервисов в Jekyll, в котором каждая из 20 или 30 страниц будет содержать таблицу 7x2. Левый столбец будет содержать метки, например. Обзор, Доступный и т.д., В то время как правый столбец будет содержать одну строку и несколько абзацев текста. Я надеялся охарактеризовать правую колонку с помощью жидких переменных, например. {overview}, {availableTo}

Я заметил, что YAML кажется очень придирчивым к разрыву строк, и поэтому мне пришлось вводить эти параграфы и их разметку на одну строку, которая может продолжаться для нескольких экранов. Это проблема, потому что это раздражает, а также потому, что я хотел бы, чтобы эти фронт файлы редактировались техническими, но не веб-пользователями. Есть ли способ, чтобы передний предмет терпел перерывы?

В качестве альтернативы, есть ли способ, которым я мог бы заполнить эту таблицу секцией {content}, не переделывая таблицу в нее каждый раз?

4b9b3361

Ответ 1

Янтальный синтаксис для многострочных строк это один:

body: |
  This is a multi-line string.
  "special" metacharacters may
  appear here. The extent of this string is
  indicated by indentation. 

Обратите внимание, что первая строка должна быть пробелом, за которым следует символ | и новая строка. Затем вы должны отделить текст на один уровень больше, чем его родитель.

Следовательно, вы можете создать один элемент таким образом:

item1:
  overview: |
    overview text
    more overview text
  available_to: 2012-01-01
  foo: |
    foo text
    more foo text

Мне кажется, что вы также хотите упорядочить свои предметы. Вы можете использовать список yaml для этого:

catalog:
  - id: item 1
    overview: |
      overview text
      more overview text
    available_to: 2012-01-01
    foo: |
      foo text
      more foo text
    ...
  - id: item2
    overview: <similar to above>

Надеюсь, это поможет!