Cum lipești Markdown în Word sau Google Docs cu formatarea intactă
Reducerea Markdownului la caractere este răspunsul corect pentru un câmp de formular. Este răspunsul greșit pentru un document. Dacă lipești în Word sau în Google Docs, vrei ca titlurile să fie titluri și tabelul să fie tabel.
Aceasta este o altă conversie, și funcționează prin o parte a clipboardului la care aproape nimeni nu se gândește.
Clipboardul ține mai mult de un lucru
O singură operație de copiere poate purta același conținut în mai multe formate deodată. Când
copiezi dintr-un procesor de text, clipboardul primește text/html și text/plain.
Aplicația în care lipești ia ce înțelege: Word ia HTML-ul și reconstruiește formatarea; un
terminal ia textul simplu și ignoră restul.
De aceea lipirea dintr-un browser în Word păstrează aldinele, iar lipirea aceluiași lucru într-un editor de cod nu. Nimic nu s-a pierdut — două versiuni au călătorit împreună și fiecare destinație a ales una.
Conversia în text formatat de aici le scrie pe amândouă. Alege Text formatat ca format de ieșire și apasă Copiază: clipboardul primește HTML-ul randat alături de o variantă de rezervă în text simplu. Lipește în Word, Docs, Gmail sau Outlook și formatarea ajunge. Lipește într-un terminal și primești text lizibil, nu marcaj.
Ce trece
Titluri, aldine și cursive, liste ordonate și neordonate cu imbricarea lor, tabele cu celule adevărate, linkuri ca linkuri adevărate, cod în rând și blocuri de cod, citate, și imagini acolo unde destinația le poate atinge.
Listele de sarcini trec drept casete de bifat. Notele de subsol trec drept linkuri către definițiile lor.
Unde devine stânjenitor
Firefox ține în spatele unei preferințe API-ul de clipboard care scrie mai multe formate, deci calea automată nu este disponibilă acolo. Varianta de rezervă selectează previzualizarea randată, astfel încât un Ctrl/⌘+C manual să ducă în continuare formatarea — copierea proprie a browserului se descurcă cu cele două variante chiar și când API-ul nu vrea.
Imaginile sunt referințe, nu date. Dacă Markdownul indică
https://example.com/grafic.png, documentul lipit indică același URL. Se afișează unde adresa
aceea este accesibilă și se rupe unde nu este. Dacă imaginea trebuie să călătorească împreună cu
documentul, descarcă HTML-ul și ține imaginea lângă el, sau inserează tu însuți poza în
destinație.
Google Docs este mai strict decât Word în privința HTML-ului pe care îl acceptă și simplifică ocazional o structură imbricată. Listele adânc imbricate sunt victima obișnuită.
Setările se aplică în continuare
O presupunere frecventă este că textul formatat ignoră setările de conversie, dat fiind că HTML are un element adevărat pentru orice. În mare parte adevărat — dar nu întru totul. Câteva setări schimbă documentul însuși, nu felul în care este desenat:
- Linkurile pot păstra doar textul, pot arăta adresa, sau pot deveni adresa.
- Imaginile pot fi păstrate sau eliminate.
- Blocurile de cod, citatele și notele de subsol pot fi eliminate.
- Titlurile pot fi trecute în majuscule.
- Punctuația poate fi normalizată la ASCII.
Acestea se aplică textului formatat și HTML-ului la fel de mult ca textului simplu. Cele care într-adevăr nu se aplică sunt cele care dau formă caracterelor — semnul de listă, așezarea tabelelor, marcajele listelor de sarcini, comasarea rândurilor goale — pentru că unei liste HTML nu trebuie să i se aleagă un caracter de marcator. Acelea se dezactivează când ieși din modul text simplu, iar panoul spune de ce.
Dacă ai nevoie de un fișier și nu de o lipire
Aceeași randare se descarcă drept un .html de sine stătător, cu stilurile incluse, deci se
deschide corect fără conexiune la rețea — sau se tipărește în
PDF.