2013-10-26 3 views
5

Есть ли способ создать многострочный скаляр в YAML, который сохранит ведущие пространства для все строк?Многострочная линия с линиями, начинающимися с пробела

Например, этот текст:

* apples 
* oranges 
* lemons 

намеренно начинает каждую строку с пространством. Что делать, если я хочу, чтобы иметь точно над строку (т.е. " * apples\n * oranges\n * lemons" где-то определена в YAML документе? Можно ли обойтись без потери пространства и в наиболее читаемым образом?

Обычный способ с использованием | не работает как он раздевает пробелы перед звездочками:

data: 
    maybe_a_bulleted_list: | 
     * apples 
     * oranges 
     * lemons 

, но если я мог бы просто сказать, что следующий блок с отступом четырьмя пробелами вместо пяти (вычитая предыдущий отступа, который уже известен), это было бы почти что мне нужно.

Есть ли способ достичь этого с элегантным YAML?


Справочная информация: Я пытаюсь создать человека редактироваться файл, который содержит небольшие участки свободного текста, которые будут в конечном итоге преобразуется в HTML. Я хотел бы использовать Markdown для этого, но поскольку разделы будут только простыми (un) упорядоченными списками, я думаю о поддержке Markdown и TracWiki. Проблема в том, что формат TracWiki для правильной работы требует, чтобы каждый элемент списка маркеров начинался с пробела (в противном случае многострочные элементы не складываются должным образом).

ответ

5

Вы должны изучить Block Chomping Indicator spec.

В вашем случае это будет выглядеть так:

data: 
    maybe_a_bulleted_list: |4+ 
     * apples 
     * oranges 
     * lemons 
Смежные вопросы