Povestea din spatele editorului Markdown

Markdown este un mod de a scrie text formatat care se citește firesc și ca text simplu. Asteriscurile pentru accent, diezii pentru titluri și liniuțele pentru liste au fost preluate din felul în care oamenii scriau deja e-mailuri. Această pagină povestește cum ideea simplă a devenit limbajul fișierelor README, al notițelor și al documentației.

Un caiet deschis și un ecran împărțit luminos cu text simplu pe o parte și text formatat pe cealaltă, pe un birou întunecat
Un caiet deschis și un ecran împărțit luminos cu text simplu pe o parte și text formatat pe cealaltă, pe un birou întunecat

Născut din e-mail

În 2004 John Gruber a publicat Markdown pe site-ul său Daring Fireball, cu ajutorul lui Aaron Swartz. Scopul era un text ușor de citit și de scris așa cum este, dar care să se transforme curat în HTML. Multe convenții veneau din e-mail și din formate text mai vechi precum Setext: sublinierea unui rând cu semne egal pentru un titlu, încadrarea unui cuvânt cu asteriscuri pentru accent și începerea rândurilor cu o liniuță pentru o listă. Primul convertor era un singur script Perl.

Prea multe dialecte

Descrierea originală lăsa deschise multe cazuri limită, de exemplu cât de mult trebuie indentată o listă imbricată sau când un rând gol încheie un bloc. Fiecare implementare nouă a decis altfel, așa că același text putea arăta diferit pe site-uri diferite. În 2014 John MacFarlane, Jeff Atwood și alții au publicat o specificație precisă cu sute de exemple. S-a numit mai întâi Standard Markdown și, după obiecțiile lui Gruber, a fost redenumită CommonMark.

GitHub Flavored Markdown

GitHub a făcut din Markdown o parte a muncii zilnice a programatorilor prin fișiere README, tichete și comentarii. În 2017 a publicat o specificație formală pentru GitHub Flavored Markdown ca extensie strictă a CommonMark. Ea adaugă tabele cu alinierea coloanelor, liste de sarcini cu casete de bifat, text tăiat cu două tilde și linkuri recunoscute automat. Blocurile de cod delimitate cu numele limbajului, deja populare, au permis evidențierea sintaxei.

De ce sunt curățate previzualizările

Markdown permite HTML brut, ceea ce e comod, dar riscant. Dacă o pagină afișează Markdown de la altcineva, o etichetă script ascunsă, un atribut onerror pe o imagine sau un link javascript ar putea rula cod în browserul cititorului, un atac numit cross site scripting. De aceea acest editor afișează HTML-ul brut ca text, elimină schemele de linkuri nesigure și filtrează rezultatul printr-o listă de elemente și atribute permise înainte de afișare.

Întrebări frecvente

Cine a inventat Markdown?

John Gruber a creat Markdown în 2004, cu Aaron Swartz drept colaborator și tester important de la început.

Care este diferența dintre CommonMark și GFM?

CommonMark este o specificație precisă a nucleului Markdown. GitHub Flavored Markdown se bazează pe ea și adaugă tabele, liste de sarcini, text tăiat și linkuri automate.

De ce este afișat HTML-ul meu ca text?

Pentru siguranță. HTML-ul brut poate conține scripturi, așa că editorul îl afișează ca text și produce doar elemente despre care știe că sunt inofensive.

Eşti gata să încerci?

Deschide PictorX în browser-ul tău

Deschideți editorul Markdown