Draft: Move to toml
Что необходимо перевести в toml в примерах:
-
Backends -
Applications -
Categories -
Objects -
Diags -
Components -
Editions -
Services
Что ещё необходимо сделать:
-
Обновить документацию в doc/
. -
Обновить скприт alterator-entry
иalterator-entry-sh-functions
для работы с toml.
Дизайн решения
- Соответствие спецификации: https://toml.io/en/v1.0.0.
- В spec добавил секцию
%check
с валидацией с помощьюtaplo
валидности toml файлов версии 1.0.0. - В качестве расширений файлов предлагается оставить указание типа, например,
firefox.component
илиnetwork.diag
. - Пропадает секция [Alterator Entry] -- в toml можно писать глабольные поля без указания секции.
- Везде ставятся пробелы вокруг операторов, в том числе и знака
=
. - Все ключи и секции именуются в
snake_case
. - Маскимальное использование типизации -- если значение является числом, то писать его как число, без кавычек, если полу является списком, то писать его как список, а не строку использующую разделители (например пробелы).
- Для реализации объектов требующих переводы, например,
display_name
в качестве значения по умолчанию используемdisplay_name.en
, в остальных случаяхdisplay_name.<lang>
.
Edited by Michael Chernigin