Ce aruncă un eliminator de Markdown și cum îl păstrezi
„Scoate Markdownul” sună ca o singură operație. În realitate este o serie de decizii mărunte, și un convertor le ia pe toate în locul tău, fie că o recunoaște, fie că nu.
Iată ce se decide de obicei prost.
Numerotarea listelor
Cea cu cele mai mari consecințe. Bibliotecile obișnuite tratează o listă ca pe o construcție de
formatare și o aplatizează, ceea ce elimină 1. 2. 3. împreună cu caracterele de marcator.
Pentru o listă cu buline se poate discuta. Pentru una numerotată, distruge sensul: numerele se refereau la ceva. Răspunsuri la un chestionar numerotat, pași într-o succesiune, elemente clasificate — totul devine o grămadă neordonată.
Numerotarea se păstrează aici, inclusiv listele care încep de la 7 și o listă numerotată imbricată în alta.
Adresa din spatele unui link
[documentația](https://example.com/ghid) are două informații. Textul simplu nu are unde să
pună a doua, deci un convertor trebuie ori să o scrie, ori să o lase la o parte.
A o lăsa la o parte se face în tăcere și se face des. Cititorul primește „documentația” și
niciun mod de a ajunge la ea. Setarea implicită de aici le scrie pe amândouă —
documentația (https://example.com/ghid) — pentru că un cititor care nu poate urma linkul a
pierdut ceva. Doar text și doar adresă sunt disponibile atunci când știi că linkul nu contează.
Limbajul unui bloc de cod
Un bloc marcat ```java poartă un fapt: acesta este Java. Scoate marcajul și faptul
acela pleacă odată cu el, lăsând un bloc de simboluri neexplicate care ar putea fi orice.
Limbajul este emis ca etichetă — [java] — ca cititorul să își dea seama. Oprit, sau păstrat ca
marcaj original, dacă preferi.
Textul alternativ al unei imagini
O imagine nu poate supraviețui ca imagine. Dar textul ei alternativ este o propoziție pe care cineva a scris-o ca să o descrie, și adesea este singura descriere a acelui conținut din document. A arunca imaginea și a păstra descrierea este de obicei mai bine decât a le arunca pe amândouă.
Note de subsol, citate, separatoare, frontmatter
Fiecare este conținut pe care un eliminator îl poate șterge în tăcere. Fiecare este păstrat implicit aici și poate fi dezactivat individual.
De ce varianta fără pierderi este setarea implicită corectă
Testul care lămurește majoritatea acestor cazuri: ar putea un cititor care nu a văzut niciodată intrarea să înțeleagă tot ce spunea, doar din rezultat?
Dacă răspunsul este nu, convertorul a aruncat informație în numele cititorului fără să întrebe. Un convertor care lasă ceva ce trebuie să ștergi tu este agasant zece secunde. Unul care șterge ceva de care aveai nevoie este o problemă pe care poate n-o observi până când contează.
Așa că setările implicite păstrează totul, iar fiecare eliminare este un comutator pe care îl alegi. O presetare — Raport și tabele — încalcă intenționat regula aceea și scoate blocurile de cod și imaginile, pentru că există ca să ridice un tabel comparativ într-un raport în care un fragment rătăcit este zgomot. Este excepția, o și spune, iar presetarea Implicită nu scoate absolut nimic.
Lucrurile care într-adevăr nu au un răspuns
Unele decizii nu au o setare implicită corectă, doar un context:
- Cum arată un titlu când nimic nu îl poate face titlu? Simplu, majuscule, sau cu
#păstrat. - Cum arată un tabel fără tabel? Coloane aliniate, taburi, sau etichetă și valoare.
- Cum arată o listă de sarcini?
[ ],☐, sau nimic.
De asta există presetările. În loc să aleagă una și să o declare universală, fiecare presetare răspunde la toate aceste întrebări pentru o destinație anume — un program de e-mail, un calcul tabelar, o fereastră de chat, o pagină de documentație, un formular web — și îți arată un exemplu, ca să vezi răspunsurile înainte să te încrezi în ele.