Документ Markdown (.md)

CommonMark Standardno

Markdown (MD) je najpopularniji laki jezik za označavanje na svetu, koji je dizajnirao Džon Gruber (John Gruber) da bude izuzetno lako čitljiv i pišljiv kao običan tekst, uz čisto pretvaranje u struktuirani HTML.

Pregledaj i metapodaci

Operativni sistemi i analizatori datoteka identifikuju Markdown datoteke proverom početnog binarnog niza bajtova:

Изаберите или превуците датотеке овде

100% приватна конверзија у прегледачу – датотеке никада не напуштају ваш уређај

или налепите Ctrl+V
100% Локална обрада у прегледачу 0 бајтова послато спољним серверима. Сва обрада је извршена локално у безбедном окружењу вашег прегледача.

Potpis zaglavlja na nivou bajtova (Magic Bytes)

Operativni sistemi i analizatori datoteka identifikuju Markdown datoteke proverom početnog binarnog niza bajtova:

HEX POTPIS (OFFSET 0):

23 20 / 2D 2D 2D

ASCII REPREZENTACIJA: # / ---

Standardizacija: CommonMark Specification / GitHub Flavored Markdown (GFM)

Tehničke specifikacije

Arhitektura kontejneraPlain UTF-8 text file utilizing lightweight punctuation formatting (headings, lists, bold, italics, code blocks)
KompresijaUncompressed text (readily compressed with Gzip or Brotli)
Bajtni redosled (Endianness)UTF-8 / Unicode text stream
Prostori bojaN/A (Plaintext Markup)
Kanali i strukturaHeadings, blockquotes, unordered/ordered lists, code fences, hyperlinks, images, and tables
Maksimalne dimenzijeUnbounded text document length
TransparentnostNone (pure text)
Strimovanje i progresivno učitavanjeStreaming line-by-line block and inline tokenization

Tehnička matrica poređenja: Markdown vs Konkurenti

Tehnički atributMarkdown (Trenutno)HTMLTXTPDF
Jednostavnost pisanjaIzuzetno brzo kucanje običnog tekstaOpširna sintaksa tagova (<p>, <div>)Brzo kucanje (bez formatiranja)Zahteva grafički uređivač rasporeda
Čitljivost za ljude (sirovi tekst)Netaknuta prirodna čitljivost tekstaZagušeno tagovima i zagradamaNetaknuta čitljivost tekstaBinarni nečitljivi sirovi bajtovi
HTML KonverzijaDirektan deterministički izlaz 1 na 1Maternji veb jezikZahteva ručno formatiranjeFiksni grafički izlaz
Alati za programereUniverzalno u Git-u, GitHub-u, dokumentimaUniverzalno u veb razvojuUniverzalno osnovno skladišteDistribucija dokumenata

Uobičajeni režimi oštećenja i vodič za heksadecimalni oporavak

Blokovi koda se prikazuju kao obični pasusi ili se zaglavlja ne formatiraju.

Osnovni uzrok: Nedostaje razmak nakon simbola '#' za zaglavlje ili zatvorene trostruke obrnute apostrofe (```) za blokove koda.

Oporavak: Validirajte i ponovo formatirajte Markdown sintaksu pomoću File2File Markdown Linter alata.

Bezbednosna analiza i vektori napada parsera

Markdown konverteri često podrazumevano dozvoljavaju sirovi ugrađeni HTML, što može uvesti skriptovanje na više lokacija (XSS) ako se ne očisti.

Poznati vektori napada

  • XSS injekcija kroz sirove HTML elemente (npr. '<script>' ili '<img onerror=...>') ugrađene unutar Markdown teksta.
  • Uskaćivanje usluge (DoS) kroz duboko ugnežđene strukture blok-citatâ ili lista u neusklađenim parserima.
  • Zlonamerne šeme hiperveza ('javascript:') unutar sintakse Markdown veza.

Defanzivne najbolje prakse:

Istorijat i prekretnice

2017GitHub Flavored Markdown (GFM) je standardizovan na osnovu formalne CommonMark specifikacije.
2014Inicijativu CommonMark pokrenuli Džef Atvud (Jeff Atwood) i Džon Makfarlan (John MacFarlane) radi standardizacije dvosmislenih graničnih slučajeva Markdowna.
2004Džon Gruber i Aron Švarc (Aaron Swartz) izdaju originalnu Markdown 1.0 specifikaciju i Perl skriptu za konverziju.

Ključne prednosti

  • Maksimalna čitljivost za ljude: formatirani tekst izgleda čisto i prirodno čak i kada se gleda u osnovnom terminalu ili uređivaču običnog teksta.
  • Univerzalni standard u industriji softvera: pokreće GitHub README datoteke, Discord poruke, Reddit komentare, dokumentaciju (Obsidian, Notion) i generatore statičkih sajtova.
  • Nema zaključavanja kod određenog dobavljača (vendor lock-in): datoteke sa običnim tekstom ostat će čitljive vekovima bez vlasničkog softvera za pregled.

Tehnička ograničenja i nedostaci

  • Originalna specifikacija iz 2004. imala je dvosmislena pravila parsiranja, što je dovelo do suptilne fragmentacije dijalkata (CommonMark vs GFM vs Kramdown).
  • Nema izvornu podršku za složene funkcije preloma stranice, kao što su višestruki stubci u stilu časopisa, prelamanje teksta ili brojevi stranica.
  • Ugrađene slike se povezuju spolja umesto da se čuvaju unutar datoteke dokumenta.

Zanimljivosti

  • Aron Švarc, koji je sa Džonom Gruberom razvio Markdown sa 17 godina, takođe je suosnivač Reddita i tvorac RSS 1.0.
  • Svaki pojedinačni GitHub repozitorijum na svetu koristi 'README.md' datoteku da predstavi svoj izvorni kod programerima.
  • Filozofija dizajna Markdowna navodi: 'Glavni cilj dizajna za Markdown sintaksu formatiranja jeste da ona bude što čitljivija.'

Često postavljana tehnička pitanja

Čemu služi Markdown?

Markdown se koristi za pisanje dokumentacije, GitHub README fajlova, objava na blogu, hvatanje beleški u aplikacijama kao što su Obsidian i Notion, kao i za pisanje poruka na platformama poput Discord-a i Slack-a.

Kako mogu da konvertujem Markdown u PDF ili HTML?

Možete da konvertujete Markdown (.md) fajlove u stilizovane PDF dokumente ili čist HTML kod jednim klikom pomoću File2File.app direktno u veb pretraživaču.

Šta je GitHub Flavored Markdown (GFM)?

GFM je GitHub-ova proširena verzija Markdown-a koja dodaje podršku za tabele, liste zadataka sa poljima za potvrdu ([x]), precrtani tekst (~~text~~) i blokove koda sa istaknutom sintaksom.