Naar de inhoud

YAML naar TOML-indeling — Numio

Converteert één YAML-document naar TOML. Geneste toewijzingen worden [table.sub]-secties, lijsten met toewijzingen worden [[array van tabellen]] en sleutels met nulwaarden (~) worden verwijderd.

Een YAML-configuratie herschrijven als TOML wanneer een project wordt verplaatst naar de instellingen pyproject.toml, Cargo, Hugo of Netlify TOML.

YAML

TOML

Wanneer gebruik je dit?

  • Een YAML-configuratie herschrijven als TOML wanneer een project wordt verplaatst naar de instellingen pyproject.toml, Cargo, Hugo of Netlify TOML.
  • Controleren hoe een geneste YAML-structuur eruit zou zien als TOML-tabellen voordat een configuratieformaat wordt gekozen.

Hoe werkt het

  1. Plak een enkel YAML-document met een mapping op het hoogste niveau in de linkereditor, of gebruik de knop Bestand laden om een UTF-8-bestand te openen.
  2. Los eventuele gerapporteerde YAML-fouten op (inspringen, meerdere documenten of een lijst op het hoogste niveau).
  3. Controleer datums, nulwaarden en lijsten in de TOML en kopieer deze vervolgens.

YAML

# docker-compose style
version: "3.9"
services:
  web:
    image: nginx:1.27
    ports:
      - "8080:80"
    environment:
      DEBUG: false
      WORKERS: 4
  db:
    image: postgres:16

TOML

version = "3.9"

[services.web]
image = "nginx:1.27"
ports = [ "8080:80" ]

  [services.web.environment]
  DEBUG = false
  WORKERS = 4

[services.db]
image = "postgres:16"

Details en beperkingen

YAML wordt gelezen als YAML 1.2: ja blijft de string "ja", 0o17 wordt 15, en datums zonder aanhalingstekens zoals 05-01-2024 worden TOML-strings, geen TOML-datums.

Opmerkingen en ankers worden niet als zodanig bewaard: aliassen (*name) en <<: *anchor-samenvoegsleutels worden uitgebreid naar de waarden waarnaar ze verwijzen.

Er wordt slechts één document geaccepteerd; invoer met --- scheidingstekens mislukt met een fout met meerdere documenten. Een lijst op het hoogste niveau, of een lijst die toewijzingen combineert met gewone waarden, wordt afgewezen met een uitleg.

Draait in uw browser (yaml + @iarna/toml). Subtabellen zoals [services.web.environment] zijn ingesprongen met twee spaties; TOML negeert deze inspringing.

FAQ

Kan ik een docker-compose.yml converteren naar TOML?

De structuur converteert, zoals in het voorbeeld, maar Docker Compose leest alleen YAML. Gebruik dit om de gegevens te inspecteren of opnieuw te gebruiken, niet als een Compose-bestand.

Wat gebeurt er met nulwaarden?

Sleutels waarvan de waarde ~ of null is, worden weggelaten omdat TOML geen null-type heeft.

Worden YAML-ankers en samenvoegsleutels ondersteund?

Ja. Aliassen (*naam) worden uitgevouwen, en <<: *base kopieert de sleutels van base naar de mapping, waarbij de sleutels ernaast voorrang krijgen. De TOML toont de samengevoegde waarden.

Specificaties en referenties