Format YAML do TOML — Numio
Konwertuje jeden dokument YAML na TOML. Zagnieżdżone mapowania stają się sekcjami [table.sub], listy mapowań stają się [[tablica tabel]], a klucze z wartościami null (~) są usuwane.
Przepisanie konfiguracji YAML na TOML, gdy projekt zostanie przeniesiony do ustawień pyproject.toml, Cargo, Hugo lub Netlify TOML.
YAML
TOML
Kiedy go używać
- Przepisanie konfiguracji YAML na TOML, gdy projekt zostanie przeniesiony do ustawień pyproject.toml, Cargo, Hugo lub Netlify TOML.
- Sprawdzenie, jak zagnieżdżona struktura YAML będzie wyglądać jako tabela TOML przed wybraniem formatu konfiguracji.
Jak używać
- Wklej pojedynczy dokument YAML z mapowaniem na najwyższym poziomie do lewego edytora lub użyj przycisku ładowania pliku, aby otworzyć plik UTF-8.
- Napraw każdy zgłoszony błąd YAML (wcięcia, wiele dokumentów lub lista najwyższego poziomu).
- Sprawdź daty, wartości null i listy w TOML, a następnie skopiuj je.
YAML
# docker-compose style
version: "3.9"
services:
web:
image: nginx:1.27
ports:
- "8080:80"
environment:
DEBUG: false
WORKERS: 4
db:
image: postgres:16TOML
version = "3.9" [services.web] image = "nginx:1.27" ports = [ "8080:80" ] [services.web.environment] DEBUG = false WORKERS = 4 [services.db] image = "postgres:16"
Szczegóły i ograniczenia
YAML jest odczytywany jako YAML 1.2: yes pozostaje ciągiem "yes", 0o17 staje się 15, a daty bez cudzysłowów, np. 2024-01-05, stają się ciągami TOML, nie datami TOML.
Komentarze i kotwice nie są zachowywane jako takie: aliasy (*name) i <<: *klucze scalania kotwic są rozwijane do wartości, do których się odnoszą.
Akceptowany jest tylko jeden dokument; wejście z --- separatorami kończy się niepowodzeniem z powodu błędu wielu dokumentów. Lista najwyższego poziomu lub lista zawierająca mapowania ze zwykłymi wartościami jest odrzucana z wyjaśnieniem.
Działa w Twojej przeglądarce (yaml + @iarna/toml). Tabele podrzędne, takie jak [services.web.environment], są wcięte dwiema spacjami; TOML ignoruje to wcięcie.
FAQ
Czy mogę przekonwertować plik docker-compose.yml na TOML?
Struktura jest konwertowana, jak w przykładzie, ale Docker Compose czyta tylko YAML. Użyj tej opcji, aby sprawdzić lub ponownie wykorzystać dane, a nie jako plik tworzenia wiadomości.
Co się dzieje z wartościami null?
Klucze, których wartość wynosi ~ lub null, są pomijane, ponieważ TOML nie ma typu null.
Czy obsługiwane są kotwice i klucze scalające YAML?
Tak. Aliasy (*name) są rozwijane, a <<: *base kopiuje klucze base do mapowania, przy czym klucze zapisane obok nich mają pierwszeństwo. TOML pokazuje scalone wartości.