Dokument Markdown (.md)

CommonMark Standard

Markdown (MD) je najbolj priljubljen lahek označevalni jezik na svetu, ki ga je zasnoval John Gruber z namenom, da je enostavno berljiv in pisljiv kot navadno besedilo, hkrati pa se čisto pretvarja v strukturiran HTML.

Pregled in metapodatki

Operacijski sistemi in analizatorji datotek identificirajo datoteke Markdown s pregledom vodilnega binarnega zaporedja bajtov:

Izberite ali povlecite datoteke sem

100-odstotno zasebna pretvorba v brskalniku - datoteke nikoli ne zapustijo vaše naprave

ali prilepi Ctrl+V
Jamstvo o zasebnosti brez prenosa podatkov v omrežje: 0 bajtov naloženih na zunanje strežnike. Vsa obdelava je potekala lokalno v varnem območju vašega brskalnika.

Podpis glave na ravni bajtov (Čarobni bajti)

Operacijski sistemi in analizatorji datotek identificirajo datoteke Markdown s pregledom vodilnega binarnega zaporedja bajtov:

PODPIS HEX (ZAMIK 0):

23 20 / 2D 2D 2D

REPREZENTACIJA ASCII: # / ---

Standardizacija: CommonMark Specification / GitHub Flavored Markdown (GFM)

Tehnične specifikacije

Arhitektura vsebnikaPlain UTF-8 text file utilizing lightweight punctuation formatting (headings, lists, bold, italics, code blocks)
StiskanjeUncompressed text (readily compressed with Gzip or Brotli)
Vrstni red bajtovUTF-8 / Unicode text stream
Barvni prostoriN/A (Plaintext Markup)
Kanali in strukturaHeadings, blockquotes, unordered/ordered lists, code fences, hyperlinks, images, and tables
Največje dimenzijeUnbounded text document length
ProsojnostNone (pure text)
Pretočno in progresivno predvajanjeStreaming line-by-line block and inline tokenization

Tehnična primerjalna matrika: Markdown proti konkurenci

Tehnični atributMarkdown (Trenutno)HTMLTXTPDF
Enostavnost pisanjaIzjemno hitro tipkanje navadnega besedilaBesedna sintaksa značk (<p>, <div>)Hitro tipkanje (brez oblikovanja)Zahteva grafični urejevalnik postavitve
Berljivost za človeka (surovo)Pridih naravne berljivosti besedilaZatrpano z značkami in oklepajiPridih berljivosti besedilaBinarni nerazbrani surovi bajti
Pretvorba v HTMLNeposreden deterministični izpis 1 proti 1Izvorni spletni jezikZahteva ročno oblikovanjeFiksni grafični izpis
Orodja za razvijalceUniverzalno v Git, GitHub, DocsUniverzalno pri spletnem razvojuUniverzalna osnovna hrambaDistribucija dokumentov

Pogosti načini okvar in vodič za heksadecimalno obnovo

Bloki kode se izrišejo kot običajni odstavki ali pa se naslovi ne oblikujejo.

Glavni vzrok: Manjkajoč presledek za znakom za naslov '#' ali nezaključene trojne enojne narekovaje (```) za ograde kode.

Sanacija: Preverite in ponovno oblikujte sintakso Markdown z uporabo orodja File2File Markdown Linter.

Varnostna analiza in napadalni vektorji razčlenjevalnika

Pretvarjalniki Markdown pogosto privzeto dovoljujejo surov vgrajeni HTML, kar lahko povzroči navzkrižno izvajanje skript (XSS), če ni očiščeno.

Znani vektorji napada

  • Injekcija XSS prek surovih elementov HTML (npr. '<script>' ali '<img onerror=...>') vstavljenih v besedilo Markdown.
  • Zavrnitev storitve prek globoko gnezdenih struktur citatov ali seznamov v nezdružljivih razčlenjevalnikih.
  • Zlonamerne sheme hiperpovezav ('javascript:') znotraj sintakse povezav Markdown.

Obrambne najboljše prakse:

Zgodovinski izvor in mejniki

2017GitHub Flavored Markdown (GFM) je standardiziran na podlagi uradne specifikacije CommonMark.
2014Pobudo CommonMark sta sprožila Jeff Atwood in John MacFarlane z namenom standardizacije dvomljivih robnih primerov Markdowna.
2004John Gruber in Aaron Swartz izdata izvirno specifikacijo Markdown 1.0 in skripto za pretvorbo v Perl.

Ključne prednosti

  • Največja berljivost za človeka: oblikovano besedilo je videti čisto in naravno tudi, ko si ga ogledate v osnovnem terminalu ali urejevalniku besedila.
  • Univerzalni standard v industriji programske opreme: poganja datoteke README na GitHubu, sporočila na Discordu, komentarje na Redditu, dokumentacijo (Obsidian, Notion) in generatorje statičnih spletnih mest.
  • Brez vezave na ponudnika (zero vendor lock-in): datoteke z navadnim besedilom bodo ostale berljive stoletja brez lastniške programske opreme za ogled.

Tehnične omejitve in slabosti

  • Izvirna specifikacija iz leta 2004 je imela nedoločena pravila razčlenjevanja, kar je privedlo do subtilnega drobljenja narečij (CommonMark vs. GFM vs. Kramdown).
  • Brez izvorne podpore za funkcije zapletenega postavitve strani, kot so večstolpčne revijalne postavitve, prelom besedila ali številke strani.
  • Vstavljene slike so zunanje povezane, namesto da bi bile shranjene znotraj datoteke dokumenta.

Zanimive tehnične malenkosti

  • Aaron Swartz, ki je pri 17 letih sooblikoval Markdown z Johnom Gruberjem, je bil tudi sooustvarjalec Reddita in avtor RSS 1.0.
  • Vsak posamezen repozitorij GitHub na svetu uporablja datoteko 'README.md' za predstavitev svoje kode razvijalcem.
  • Filozofija oblikovanja Markdowna pravi: 'Glavni cilj oblikovanja za sintakso Markdowna je, da je čim bolj berljiva.'

Pogosta tehnična vprašanja

Za kaj se uporablja Markdown?

Markdown se uporablja za pisanje dokumentacije, datotek README za GitHub, objav v spletnih dnevnikih, zapisovanje zapiskov v aplikacijah, kot sta Obsidian in Notion, ter sestavljanje sporočil na platformah, kot sta Discord in Slack.

Kako lahko pretvorim Markdown v PDF ali HTML?

Datoteke Markdown (.md) lahko z enim klikom in z uporabo File2File.app neposredno v spletnem brskalniku pretvorite v oblikovane dokumente PDF ali čisto kodo HTML.

Kaj je GitHub Flavored Markdown (GFM)?

GFM je razširjena različica Markdowna s strani GitHuba, ki dodaja podporo za tabele, sezname opravil s potrditvenimi polji ([x]), prečrtano besedilo (~~besedilo~~) in kodne bloke s poudarjanjem sintakse.