Formater YAML
Wejście YAML
Wklej kod YAML zawierający do 1 000 000 znaków i do 100 dokumentów. Formatowanie odbywa się w tej przeglądarce.
YAML wybacza błędy składni, ale nie wybacza błędów wcięć. Jedna spacja w złym miejscu potrafi po cichu zamienić klucz w element listy, a mieszane wcięcia zamieniają code review w mękę. Ten formater parsuje wejście silnikiem js-yaml (schemat core YAML 1.2) bezpośrednio w przeglądarce, a następnie zapisuje je ponownie z wybranym wcięciem, stylem kolekcji, cudzysłowami, kolejnością kluczy i szerokością linii, dzięki czemu configi dają czyste diffy w systemie kontroli wersji i pozostają czytelne dla całego zespołu.
Jak sformatować YAML
-
1
Wklej YAML
Do 1 000 000 znaków i do 100 dokumentów w jednym strumieniu. Nic nie jest wysyłane: parsowanie działa w Twojej przeglądarce.
-
2
Wybierz opcje
Szerokość wcięcia, styl blokowy lub przepływowy, cudzysłowy, sortowanie kluczy i szerokość linii.
-
3
Sformatuj
Narzędzie przebudowuje każdy dokument z kanonicznymi odstępami i wybranym stylem.
-
4
Skopiuj i zacommituj
Wynik to strukturalnie identyczny YAML, gotowy do wklejenia z powrotem do konfiguracji.
Przed i po
Nieuporządkowane wejście:
server:
port: 8080
hosts: ["api.example.com", "api2.example.com"]
timeout: 30
debug: true
Sformatowane (2 spacje, styl blokowy):
server:
port: 8080
hosts:
- api.example.com
- api2.example.com
timeout: 30
debug: true
Opcje formatowania
| Opcja | Wartości | Domyślnie |
|---|---|---|
| Szerokość wcięcia | 2, 4 | 2 |
| Styl kolekcji | Blokowy, przepływowy | Blokowy |
| Cudzysłowy | Minimalne, podwójne, pojedyncze | Minimalne |
| Sortowanie kluczy | Oryginalna, alfabetyczna | Oryginalna |
| Szerokość linii | 80, 120, bez limitu | 120 |
Zasady cudzysłowów
Cudzysłowy minimalne to zwykle to, czego chcesz: łańcuchy zostają bez cudzysłowów, chyba że byłoby to niebezpieczne. Formater dodaje cudzysłowy automatycznie dla:
- Starych booleanów zapisanych jako łańcuchy:
yes,no,on,off,y,n. YAML 1.2 czyta je już jako łańcuchy, ale wiele parserów wciąż trzyma się YAML 1.1, gdzienobez cudzysłowu staje sięfalse. Formater zawsze bierze je w cudzysłowy w wyniku, więc słynny norweski błąd (NOodczytane jakofalsena liście krajów) nie ugryzie nikogo, kto wczyta Twój plik. - Liczb zapisanych jako łańcuchy:
'007','3.14'. Bez cudzysłowów zostałyby sparsowane jako liczby całkowite lub zmiennoprzecinkowe. - Łańcuchów zawierających znaki takie jak
:,#,[,{lub zaczynających się od spacji, gdzie goły zapis zmieniłby strukturę.
Porządki przy każdym uruchomieniu
- Spacje na końcu linii. Usuwane.
- Mieszane lub nierówne wcięcia. Normalizowane do wybranej szerokości wcięcia.
- Puste linie wewnątrz kolekcji. Usuwane.
- Tabulatory we wcięciach. YAML ich zabrania; parser odrzuca wejście z czytelnym błędem wskazującym linię, więc możesz go poprawić, zamiast wypuścić plik, który inne parsery odrzucą.
Komentarze, kotwice i klucze scalające
Formatowanie normalizuje model dokumentu, co ma ograniczenia, które warto znać przed commitem:
- Komentarze są usuwane. Parser sprowadza dokument do danych, więc komentarze
#nie przetrwają formatowania. Zachowaj kopię, jeśli komentarze są dla Ciebie ważne. - Kotwice i aliasy są rozwiązywane. Węzły współdzielone przez alias pozostają współdzielone, ale są zapisywane ponownie z wygenerowanymi nazwami, np.
&ref_0; oryginalne nazwy kotwic nie są zachowywane. - Klucze scalające (
<<:) są rozwiązywane do zwykłych map z już scalonymi wartościami.
Strumienie wielodokumentowe
Strumienie z wieloma dokumentami są obsługiwane: każdy dokument jest formatowany niezależnie i łączony z powrotem separatorem ---, do 100 dokumentów na jedno uruchomienie.
Najczęściej zadawane pytania
Struktura i wartości pozostają identyczne: zmienia się tylko zapis (wcięcia, cudzysłowy, styl przepływowy lub blokowy, kolejność kluczy przy włączonym sortowaniu). Dwie rzeczy celowo nie są zachowywane: komentarze są usuwane, a nazwy kotwic generowane od nowa.
Gdy goły łańcuch zostałby sparsowany jako coś innego, cudzysłowy są konieczne dla bezpieczeństwa. Typowe przypadki: klucze lub wartości złożone z samych cyfr, łańcuchy zawierające : lub # oraz stare booleany jak yes i no, które parsery YAML 1.1 odczytałyby jako true/false.
Nie. Opcja stylu dotyczy całego dokumentu: styl blokowy rozpisuje każdą kolekcję w osobnych liniach, przepływowy zapisuje kolekcje w jednej linii. Sformatuj dwa razy z różnymi opcjami, jeśli chcesz porównać.
Nie. Parsowanie i formatowanie działają w Twojej przeglądarce z wbudowanym silnikiem js-yaml. Twój YAML nie przechodzi przez serwer, nie jest zapisywany i nigdy nie trafia do adresu strony; żyje tylko w tej sesji przeglądarki, aby widok wielokrokowy mógł pokazać wynik.
Powiązane narzędzia
Referencja znaków HTML
Przeszukiwalna lista encji HTML wraz z ich kodami nazwanymi i liczbowymi oraz kopiowaniem jednym kliknięciem specjalnych znaków i symboli.
Tabela ASCII
Pełna tabela ASCII od 0 do 127 z zapisem dziesiętnym, szesnastkowym, ósemkowym i binarnym oraz notacją numerycznych odwołań HTML, w tym kodami sterującymi NUL, LF i DEL.
Konwerter ASCII na binarny
Konwertuj dowolny ciąg ASCII na reprezentację binarną. Każdy znak staje się ośmioma bitami, rozdzielonymi spacjami, gotowymi do wklejenia w ślad protokołu albo zadanie domowe.
Generator losowych liter
Generuj losowe litery A-Z. Wybierz liczbę, wielkie litery, małe litery lub zapis mieszany i użyj wyniku w grach, zadaniach lub lekcjach.
Próbnik kolorów HEX
Wybierz lub wpisz kolor HEX i sprawdź RGB, HSL, przybliżone CMYK, luminancję względną oraz kontrast z bielą i czernią.
Generator losowych kolorów
Wygeneruj od 1 do 50 losowych kolorów HEX z próbkami do podglądu, kopiowania i użycia w CSS, testach lub tworzeniu palet.