Как избежать символов индикатора (то есть: или -) в 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/
В явном виде не существует возможности ускорения в в обычном стиле".