Как избежать символов индикатора (то есть: или -) в YAML

В файле конфигурации у меня есть ключ, к которому я хочу назначить URL. Проблема в том, что YAML интерпретирует: и - символы как для создания сопоставлений, так и для списков, поэтому у него есть проблема с линией

url: http://www.example-site.com/

(оба из-за двоеточия после http и дефиса посередине)

Есть ли явный способ избежать ":" и "-"? Или будет работать, чтобы просто положить все это в одинарные кавычки и назвать это днем?

Ответ 1

Котировки:

"url: http://www.example-site.com/"

Чтобы уточнить, я имел в виду "указать значение" и изначально считал, что все это значение. Если http://www.example-site.com/ - значение, просто укажите его так:

url: "http://www.example-site.com/"

Ответ 2

То, что также работает и даже приятнее для длинных многострочных текстов, помещает ваш текст с отступом на следующей строке, после трубы или знака больше:

text: >
    Op dit plein stond het hoofdkantoor van de NIROM: Nederlands Indische 
    Radio Omroep

Труба сохраняет символы новой строки, символ gt превращает все следующие строки в одну длинную строку.

Ответ 3

Цитаты, но я предпочитаю их только по значению:

url: "http://www.example.com/"

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

Ответ 4

Другой способ работы с парсером YAML, используемым в Jekyll:

title: My Life: A Memoir

Колонны, не сопровождаемые пробелами, по-видимому, не беспокоят Jekyll YAML parser, с другой стороны. Не делайте тире.

Ответ 5

В соответствии с спецификацией YAML ни проблема, ни :, ни -. : - это только разделитель ключей с пробелом после него, а - - только индикатор массива в начале строки с пробелом после него.

Но если у вашей реализации YAML есть проблемы с ней, у вас потенциально есть много вариантов:

- url: 'http://www.example-site.com/'
- url: "http://www.example-site.com/"
- url:
    http://www.example-site.com/
- url: >-
    http://www.example-site.com/

В явном виде не существует возможности ускорения в в обычном стиле".