Синтаксис YAML⚓︎
Введение⚓︎
YAML означает YAML Ain't Markup Language, и он широко используется в Grav для его файлов конфигурации, чертежей, а также в настройках страницы.
YAML для конфигурации - это то же самое, что Markdown для разметки. По сути, это формат структурированных данных, удобочитаемый человеком. Он менее сложен и неуклюж, чем XML или JSON, но предоставляет аналогичные возможности. По сути, это позволяет вам предоставлять мощные настройки конфигурации без необходимости изучать более сложный тип кода, такой как CSS, JavaScript и PHP.
YAML построен с нуля, чтобы его было легко использовать. По сути, файл YAML используется для описания данных. Одним из преимуществ использования YAML является то, что информацию в одном файле YAML можно легко перевести на несколько типов языков.
По сути, данные, которые вы вводите в файл YAML, используются вместе с библиотекой для создания страниц, которые вы видите в Grav.
Основные правила YAML⚓︎
Есть некоторые правила, которые использует YAML, чтобы избежать проблем, связанных с двусмысленностью в отношении различных языков и программ редактирования. Эти правила позволяют интерпретировать один файл YAML согласованно, независимо от того, какое приложение и/или библиотека используются для его интерпретации.
- Файлы YAML должны заканчиваться на
.yaml
, если это возможно в Grav. - YAML чувствителен к регистру.
- YAML не позволяет использовать табуляцию. Вместо этого используются пробелы, поскольку табуляция не поддерживаются повсеместно.
Основные типы данных⚓︎
YAML превосходно работает с сопоставлениями (хешами/словарями), последовательностями (массивами/списками) и скалярами (строками/числами). Хотя его можно использовать с большинством языков программирования, лучше всего он работает с языками, построенными на этих типах структур данных. Сюда входят: PHP, Python, Perl, JavaScript и Ruby.
Скаляры⚓︎
Скаляры — довольно простое понятие. Это строки и числа, из которых состоят данные на странице. Скаляр может быть логическим свойством, например Yes
, целым числом (числом), например 5
, или строкой текста, например предложением или заголовком вашего веб-сайта.
Скаляры в программировании часто называют переменными. Если бы вы составляли список типов животных, они бы были названы этими животными.
Большинство скаляров не заключены в кавычки, но если вы вводите строку, в которой используются знаки препинания и другие элементы, которые можно спутать с синтаксисом YAML (тире, двоеточия и т. д.), вы можете захотеть заключить эти данные в кавычки, используя одинарные '
или двойные "
кавычки. Двойные кавычки позволяют использовать экранирование для представления символов ASCII и Unicode.
Слова true
, false
, null
, ~
и даты имеют особое значение в YAML. Пожалуйста, укажите их в кавычках, если вы не хотите использовать их в качестве логического типа, типа null или типа datetime. То же самое и с номерами версий, они должны быть заключены в кавычки, чтобы отделить их от значений с плавающей запятой.
Последовательности⚓︎
Вот простая последовательность, которую вы можете найти в Grav. Это базовый список, в котором каждый элемент находится в отдельной строке с открывающим тире.
Эта последовательность размещает каждый элемент в списке на одном уровне. Если вы хотите создать вложенную последовательность с элементами и подпунктами, вы можете сделать это, поместив один пробел перед каждым тире в подпунктах. YAML использует пробелы, НЕ табуляцию для отступов. Вы можете увидеть пример этого ниже.
Если вы хотите вложить свои последовательности ещё глубже, вам просто нужно добавить больше уровней.
Последовательности могут быть добавлены к другим типам структур данных, таким как сопоставления или скаляры.
Сопоставления⚓︎
Сопоставление дает вам возможность перечислять ключи со значениями. Это полезно в случаях, когда вы назначаете имя или свойство конкретному элементу.
В этом примере значение pets
сопоставляется с ключом animal
. При использовании в сочетании с последовательностью вы можете увидеть, что начинаете составлять список pets
. В следующем примере тире, используемое для обозначения каждого элемента, считается отступом, делая элементы строк дочерними, а линия сопоставления pets
- родительскими.
Ресурсы и дополнительная документация⚓︎
Для получения дополнительной информации о YAML, включая подробную документацию о том, как это работает, посетите ресурсы, указанные ниже.