TOML’u YAML’e donusturmek icin en hizli yol yq -oy '.' file.toml komutudur. Manuel donusum icin, TOML [table] basliklarini YAML girintili bloklarla eslestirin, TOML dizilerini tire onekli listelere donusturun ve “Norveç Sorunu”ndan kacinmak icin belirsiz dizeleri her zaman tirnak icine alin.
Hizli Donusum: yq CLI Kullanimi
TOML (Tom’s Obvious, Minimal Language) Aralik 2025’te v1.1.0 surumune ulasti, ancak YAML hala CI/CD boru hatlari ve Kubernetes manifestlari icin standart olmaya devam ediyor. yq araci donusumu tek bir komutla halleder.
yq Kurulumu
| Platform | Komut |
|---|---|
| macOS/Linux | brew install yq |
| Windows | choco install yq |
| Python (pip) | pip install yq |
Mike Farah’in Go tabanli surumu hiz acisindan tercih edilir. Mike Farah’in yq belgelerinde belirtildigi uzere, arac TOML yapisini cozer ve temiz YAML olarak yeniden kodlar.
Donusumu Calistirin
Terminalde goster:
yq -oy '.' your-config.toml
Dosyaya kaydet:
yq -oy '.' your-config.toml > your-config.yaml
-oy bayragi cikti bicimini YAML olarak ayarlar. Bu, anahtar-deger ciftlerini, ic ice tablolari ve dizileri isler.

Sozdizimi Ceviri Haritasi: TOML Yapisindan YAML’e
Gelistirici Drew DeVault, TOML populer olsa da YAML’in derin ic ice gecmeyi daha temiz isledigini belirtmistir. Iste tam eslestirme:
Tablolar Girintili Anahtarlara
TOML ayraç basliklari kullanir; YAML girinti kullanir.
| TOML | YAML |
|---|---|
[server] |
server: |
host = "127.0.0.1" |
host: 127.0.0.1 |
port = 8080 |
port: 8080 |
Kritik fark: TOML’de girinti sadece görseldir. YAML’de girinti yapisaldır — tek bir yanlis bosluk tum yapilandirmayi bozar.
Diziler Tire Onekli Listelere
TOML: ports = [ 8000, 8001 ]
YAML:
ports:
- 8000
- 8001

Knightli.com’un acikladigi gibi, YAML’in “blok stili” listeleri okunabilir kilar, dikey hizalamanin tutarli olmasi kosulunda.
Satir Ici Tablolar ve Noktali Anahtarlar
| TOML Yapisi | YAML Esdeğeri |
|---|---|
[a.b.c] (noktali baslik) |
a: → b: → c: (ic ice girinti) |
point = { x = 1, y = 2 } (satir ici tablo) |
point: → x: 1 → y: 2 |
Gercek Dunya Kullanim Senaryoları
Hugo Statik Site Yapilandirmasi
Hugo hugo.toml, hugo.yaml veya hugo.json kabul eder. Projelerin cogu TOML ile baslar (varsayilan), ardindan yapilandirmanin Netlify veya GitHub Actions gibi dagitim platformlariyla uyumlu hale getirilmesi gerektiginde YAML’e gecis yapar. Hammer Europe, hugo komutunun bu dosyalari okuyarak Markdown’un canli bir siteye nasil donusecegini belirledigini belirtir.
Python Paketleme: pyproject.toml’den CI/CD YAML’e
Python toplulugu pyproject.toml’i PEP 518 araciligiyla standartlastirdi. Bu ayarlarin genellikle GitHub Actions CI/CD is akislari icin YAML’e cevrilmesi gerekir. AI ajan is akislari icin, CocoIndex, optimize edilmis YAML yapilandirmalarinin token kullanimini %70’e kadar azaltabilecegini raporlamaktadir.
Norveç Sorunu ve Diger Donusum Tuzaklari
NO Ulke Kodu Hatasi
YAML 1.1’de, NO, OFF ve YES gibi ciltsiz dizgeler otomatik olarak boolean false veya true degerlerine donusturulur. TOML bunu tum dizgeler icin tirnak isaretini zorunlu kilarak onler. Donusum sirasinda, belirsiz degerleri YAML’de her zaman tirnak icine alin:
| Deger | YAML 1.1 Yorumu | Cozum |
|---|---|---|
NO |
false |
"NO" |
OFF |
false |
"OFF" |
YES |
true |
"YES" |
On |
true |
"On" |
YAML 1.2 (guncel belirtim) bu zorla donusumlerin cogunu duzeltir, ancak bircok ayristirici hala varsayilan olarak 1.1 davranisini kullanir.

Girinti Hatalari
YAML ayristiriclari tutarsiz girintili dosyalari reddeder. Yaygin hatalar:
- Sekme ve bosluklari karistirmak (YAML sekmeleri yasaklar)
- Bir blokta 3 bosluk ve digerinde 2 kullanmak
- Hizasiz liste ogeleri
AI Destekli Uretim
AgentBuilder gibi araclar yapilandirmayi duz Ingilizceyle anlatmaniza ve dogrulanmis YAML ciktisi almaniza olanak tanir. Bu “tanimla → uret → dogrula” dongusu hem girinti hatalarini hem de Norveç Sorunu’nu onlemeye yardimci olur.
Sonuc
Otomatik donusum icin yq -oy '.' file.toml kullanin. Manuel calisma icin, TOML tablolarini YAML girintisine eslestirin, dizileri tire onekli listelere donusturun ve boolean olarak yanlis anlasilabilecek dizgeleri her zaman tirnak icine alin. Herhangi bir donusumden sonra, dagitim oncesi YAML ciktisini dogrulayin — tek bir yanlis hizalanmis bosluk veya tirnaksiz bir NO tum boru hattinizi bozabilir.
SSS
YAML TOML gibi yorumlari destekler mi?
Evet. Her ikisi de tek satirlik yorumlar icin # kullanir. YAML yorumlari cok satirli dizgi ayristirmasini bozabilir, bu yuzden supheye dustugunuzde bunlari ayri satirlara yerlestirin.
YAML’de Norveç Sorunu nedir?
YAML 1.1’de, NO (Norveç ulke kodu) gibi ciltsiz dizgeler otomatik olarak boolean false degerine donusturulur. TOML bunu tum dize degerlerinde tirnak isaretini zorunlu kilarak onler. TOML’u YAML’e cevirirken, potansiyel olarak belirsiz olan herhangi bir dizeyi tirnak icine alin.
Hangi bicim derin ic ice gecmeyi daha iyi isler?
YAML. TOML her seviye icin [table.subtable.subsubtable] gibi uzun basliklarin tekrar edilmesini gerektirir, bu da fazla uzayabilir. YAML ayni hiyerarsiyi girinti ile temsil eder — daha kompakt ve derinliklerde daha okunabilir.

Bir yanıt yazın