Przejdź do treści

Format TOML do YAML — Numio

Konwertuje dokument TOML na YAML. Tabele stają się zagnieżdżonymi mapowaniami, [[tablica tabel]] stają się listami mapowań, a cudzysłowy są dodawane tylko tam, gdzie YAML ich potrzebuje (na przykład „2021” pozostaje ciągiem znaków).

Przenoszenie ustawień z konfiguracji TOML (Cargo, pyproject, Hugo) do narzędzia opartego na YAML, takiego jak przepływ pracy CI lub manifest Kubernetes.

TOML

YAML

Kiedy go używać

  • Przenoszenie ustawień z konfiguracji TOML (Cargo, pyproject, Hugo) do narzędzia opartego na YAML, takiego jak przepływ pracy CI lub manifest Kubernetes.
  • Odczyt długiego pliku TOML z tabelami kropkowanymi i zagnieżdżonymi w postaci drzewa z wcięciem.

Jak używać

  1. Wklej dokument TOML do lewego edytora lub użyj przycisku ładowania pliku, aby otworzyć plik UTF-8.
  2. Jeśli pojawi się błąd, użyj zgłoszonego wiersza i kolumny, aby znaleźć zduplikowane klucze lub problemy ze składnią.
  3. Sprawdź daty i godziny w cytowanych wartościach w YAML, a następnie skopiuj je.

TOML

# Cargo-style manifest
[package]
name = "demo"
version = "0.1.0"
edition = "2021"

[dependencies]
serde = { version = "1.0", features = ["derive"] }

[[bin]]
name = "cli"
path = "src/main.rs"

YAML

package:
  name: demo
  version: 0.1.0
  edition: "2021"
dependencies:
  serde:
    version: "1.0"
    features:
      - derive
bin:
  - name: cli
    path: src/main.rs

Szczegóły i ograniczenia

Komentarze są usuwane. Przesunięcia daty i godziny są konwertowane na UTC (2024-01-05T10:00:00+09:00 staje się 2024-01-05T01:00:00.000Z) i dodawane są milisekundy.

Dane wyjściowe są zgodne z YAML 1.2, więc ciągi takie jak tak i dalej są zapisywane bez cudzysłowów. Parsery YAML 1.1 (na przykład PyYAML) mogą czytać je jako wartości logiczne; w razie potrzeby zacytuj je ręcznie.

Czasy lokalne, takie jak 09:00:00, są zapisywane w milisekundach (09:00:00.000); Lokalne daty i godziny nie uwzględniają strefy czasowej.

Działa w Twojej przeglądarce (@iarna/toml, yaml, Prettier); inf i nan stają się .inf i .nan.

FAQ

Czy komentarze są zachowywane?

Nie. TOML jest najpierw analizowany w danych, więc komentarze i puste linie zostaną utracone. Skopiuj ważne komentarze ręcznie.

W jaki sposób konwertowane są [[tablica tabel]]?

Każdy blok [[bin]] staje się jedną pozycją na liście YAML w obszarze bin, jak pokazano w przykładzie.

Dlaczego pojawia się komunikat "Can't redefine existing key"?

Ten sam klucz lub tabela jest zdefiniowana dwukrotnie, czego zabrania TOML. Błąd podaje wiersz i kolumnę drugiej definicji.

Specyfikacje i referencje