Cookies para estatística e publicidade
Usamos cookies de estatística e de publicidade, ambos enviados ao Google. Recusar não muda nada do que você vê.Ler a página de privacidade
Aqui você converte TOML para YAML de graça e sem conta: solte o arquivo acima e em poucos segundos o resultado está pronto para baixar. A conversão acontece dentro do seu próprio navegador, então o arquivo nunca é enviado. Funciona igual no Windows, no macOS e no Linux e também no iPhone e no Android, e continua funcionando mesmo se você cortar a conexão.
Até 100 arquivos de uma vez. Formatos misturados não são problema.
Eles são convertidos um após o outro e baixados juntos em um ZIP.
TOML para YAML
Os fatos sobre um projeto cada vez mais vivem num arquivo TOML — o nome do pacote, as versões suportadas, os sinalizadores de recurso. O que consome esses fatos é, com igual consistência, YAML: um workflow do GitHub Actions, um arquivo de valores do Helm.
Então o trabalho normalmente não é uma migração, é uma transcrição: colocar os valores em sintaxe YAML com precisão, depois mover as partes que você precisa para um arquivo com forma própria.
TOML é incomum entre formatos de configuração por ter tipos reais de data e datahora, escritos sem aspas. Elas chegam no YAML da mesma forma, sem aspas nenhuma — o que YAML reserva para um timestamp.
O que isso compra depende inteiramente do leitor. Lida de volta com a mesma biblioteca que escreveu, que segue o schema núcleo do YAML 1.2, todos esses valores voltam como string: 1.2 não tem resolvedor de timestamp. Lida com PyYAML, ainda em YAML 1.1, os dois primeiros viram objetos de data.
Os dois alvos escrevem os mesmos caracteres para uma data, então o argumento é sobre onde o tipo mora. No YAML o valor está sem aspas e é autodescritivo o bastante para um leitor 1.1 tipar sem ser instruído.
Isso corta dos dois lados. Um schema é um mecanismo de aplicação, e se o sistema receptor tem um, uma data mal tipada é pega na porta em vez de três passos dentro de um pipeline.
Um cabeçalho [package] vira uma chave de nível superior com seus valores indentados dois espaços abaixo. Um cabeçalho [tool.black] vira tool: contendo black: contendo as configurações.
A ordem é a ordem que o parser viu, o que para TOML significa que os valores soltos no topo do arquivo vêm primeiro e cada tabela segue na ordem em que foi escrita.
Esse é o real câmbio de regime, e é fácil de perder porque a saída parece tão parecida. Em TOML, enabled = true é booleano porque a sintaxe diz. Em YAML, um escalar sem aspas é o que o parser decidir que é.
O escritor faz isso onde importa: uma string de dígitos sai entre aspas, então version = "1.0" continua version: "1.0" e não o número 1. O que não fica entre aspas é NO, yes, on e off, porque sob YAML 1.2 essas são strings comuns.
Um bloco [[bin]] repetido é a forma TOML de lista-de-registros, e converte para o formato que todo mundo escreve à mão em YAML: um traço por entrada, chaves indentadas abaixo.
Essa forma em bloco é o que a maioria das ferramentas YAML documenta, então entradas normalmente colam num workflow ou arquivo de valores sem reformatação.
Uma string TOML entre aspas triplas guardando um script ou descrição mantém sua estrutura de linha. O escritor emite isso como um bloco escalar — a chave, um pipe, depois as linhas reais indentadas.
Valores de linha única longos são tratados de forma diferente: uma string sem quebras mas com bastante comprimento é dobrada em linhas de continuação por volta da coluna oitenta, e YAML lê essas dobras como espaços.
TOML e YAML suportam comentários com #, e um manifesto costuma estar cheio deles: por que uma dependência está fixada numa versão de patch, o que um número mágico significa. Nada disso sobrevive.
Para um fragmento que você vai colar isso não chama atenção. Para qualquer coisa que você pretende manter, é o motivo de o TOML continuar sendo a fonte da verdade e o YAML ser gerado.
A conversão é JavaScript nesta aba: o navegador interpreta o TOML, um pequeno escritor produz o YAML, e nenhuma requisição carrega o documento a lugar nenhum. Não há cadastro, fila nem limite diário.
Manifestos são pequenos o bastante para o teto gratuito de 100 MB ser teórico, mas nem sempre são públicos. A lista de dependências de um repositório privado nomeia pacotes e registros internos.
| TOML | YAML | |
|---|---|---|
| Nome completo | Tom's Obvious Minimal Language | YAML Ain't Markup Language |
| Extensão do arquivo | .toml | .yaml, .yml |
| Tipo de mídia | application/toml | application/yaml |
| Publicado pela primeira vez | 2013 | 2001 |
| Especificação | TOML 1.0 | YAML 1.2 |
| Licença | Padrão aberto | Padrão aberto |
| Situação hoje | Atual | Atual |
| Abre no navegador | Nenhum navegador | Nenhum navegador |
| Considerado no lugar | JSON, INI | JSON |
Nada é descartado. TOML e YAML guardam o conteúdo sem perda, então a conversão troca a embalagem e não a qualidade — e pode ser repetida sem que o estrago se acumule.
Os comentários passam. TOML e YAML têm sintaxe de comentário, então as notas para quem cuidar do arquivo depois não são jogadas fora em silêncio.
Visual Studio Code lê tanto TOML quanto YAML, então dá para comparar o resultado com o original sem um segundo programa.
TOML foi publicado em 2013. Está descrito em TOML 1.0, e vale conhecer se o arquivo precisa sobreviver à ferramenta que o escreveu.
YAML e de 2001, descrito em YAML 1.2. Visual Studio Code e yq leem o formato.
Não. Esta conversão acontece inteiramente no seu navegador, então o arquivo não sai do seu aparelho. Você mesmo pode conferir: abra a aba de rede das ferramentas de desenvolvedor e converta alguma coisa. Você verá a própria página e as requisições de estatística e de publicidade com que este serviço é pago, e nenhuma que leve o seu arquivo.
É. Sem conta, sem marca d’água e sem cota diária para gastar: roda no seu próprio aparelho, então você pode voltar quantas vezes quiser. O navegador processa arquivos de até 100 MB, 100 por vez.
Não. YAML guarda o mesmo conteúdo sem jogar nada fora: o resultado é idêntico em qualidade ao original.
Nada é descartado. TOML e YAML guardam o conteúdo sem perda, então a conversão troca a embalagem e não a qualidade — e pode ser repetida sem que o estrago se acumule.