Markdown Document (.md)

CommonMark Standartinis

Markdown (MD) yra populiariausia pasaulyje lengvoji žymėjimo kalba, sukurta John Gruber, kad būtų lengvai skaitoma ir rašoma kaip paprastas tekstas, kartu švariai konvertuojant į struktūrizuotą HTML.

Tikrinti ir metaduomenys

Operacinės sistemos ir failų analizatoriai atpažįsta Markdown failus tikrindami pradinę dvejetainę baitų seką:

Pasirinkite arba nuvilkite failus čia

100% privatus konvertavimas naršyklėje - failai niekada nepalieka jūsų įrenginio

arba įklijuokite Ctrl+V
Nulinio tinklo perdavimo privatumo garantija: 0 baitų įkelta į išorinius serverius. Visas apdorojimas vyko vietoje, jūsų naršyklės smėlio dėžėje (sandbox).

Baitų lygio antraštės parašas (magiškieji baitai)

Operacinės sistemos ir failų analizatoriai atpažįsta Markdown failus tikrindami pradinę dvejetainę baitų seką:

ŠEŠIOLIKTAINIS PARAŠAS (POSLINKIS 0):

23 20 / 2D 2D 2D

ASCII ATVAIZDAVIMAS: # / ---

Standartizacija: CommonMark Specification / GitHub Flavored Markdown (GFM)

Techninės specifikacijos

Konteinerio architektūraPlain UTF-8 text file utilizing lightweight punctuation formatting (headings, lists, bold, italics, code blocks)
GlaudinimasUncompressed text (readily compressed with Gzip or Brotli)
Baitų seka (Endianness)UTF-8 / Unicode text stream
Spalvų erdvėsN/A (Plaintext Markup)
Kanalai ir struktūraHeadings, blockquotes, unordered/ordered lists, code fences, hyperlinks, images, and tables
Maksimalūs matmenysUnbounded text document length
SkaidrumasNone (pure text)
Srautas ir progresyvusis įkėlimasStreaming line-by-line block and inline tokenization

Techninė palyginimo matrica: Markdown vs konkurentai

Techninis atributasMarkdown (Dabartinis)HTMLTXTPDF
Kūrimo paprastumasYpatingai greitas paprasto teksto rinkimasDaugiažodė žymų sintaksė (<p>, <div>)Greitas rinkimas (be formatavimo)Reikalauja grafinio išdėstymo redaktoriaus
Žmonėms skaitomumas (Neapdorotas)Nepriekaištingas natūralaus teksto skaitomumasUžgriozdintas žymomis ir skliaustaisNepriekaištingas teksto skaitomumasDvejetainiai neskaitomi neapdoroti baitai
HTML konvertavimasTiesioginis 1 su 1 deterministinis išvedimasGimtoji žiniatinklio kalbaReikalauja rankinio formatavimoFiksuotas grafinis išvedimas
Kūrėjo įrankiaiUniversalu Git, GitHub, DocsUniversalu žiniatinklio kūrimeUniversali bazinė saugyklaDokumentų platinimas

Dažni sugadinimo režimai ir šešioliktainio atkūrimo vadovas

Kodo blokai rodomi kaip įprastos pastraipos arba antraštės nesiformatuoja.

Pirminė priežastis: Trūksta tarpo po antraštės '#' simbolio arba neužvertos trys atvirkštinės kabutės (```) kodo ribos.

Atkūrimas: Patvirtinkite ir iš naujo suformatuokite „Markdown" sintaksę naudodami „File2File Markdown Linter".

Saugumo analizė ir analizatoriaus atakos vektoriai

„Markdown" keitikliai pagal numatytuosius nustatymus dažnai leidžia naudoti neapdorotą vidinį HTML, kuris gali sukelti svetainių tarpinio skripto vykdymą (XSS), jei nėra išvalytas.

Žinomi atakos vektoriai

  • XSS injekcija per neapdorotus HTML elementus (pvz., '<script>' arba '<img onerror=...>'), įterptus į „Markdown" tekstą.
  • Paslaugos trikdymas per giliai įdėtas citatos ar sąrašo struktūras neatitinkančiose analizavimo priemonėse.
  • Kenksmingos hipersaitų schemos ('javascript:') „Markdown" nuorodos sintaksėje.

Geriausia apsaugos praktika:

Istorinė kilmė ir svarbiausi etapai

2017Standartizuotas „GitHub Flavored Markdown" (GFM), remiantis oficialia „CommonMark" specifikacija.
2014Jeff Atwood ir John MacFarlane pradėjo „CommonMark" iniciatyvą, skirtą standartizuoti dviprasmiškus „Markdown" atvejus.
2004John Gruber ir Aaron Swartz išleidžia pradinę „Markdown 1.0" specifikaciją ir „Perl" konvertavimo scenarijų.

Pagrindiniai privalumai

  • Maksimalus žmonėms skaitomumas: suformatuotas tekstas atrodo švarus ir natūralus net žiūrint pagrindiniame terminale ar paprasto teksto redaktoriuje.
  • Universalus programinės įrangos pramonės standartas: naudojamas „GitHub" README failams, „Discord" žinutėms, „Reddit" komentarams, dokumentacijai („Obsidian", „Notion") ir statinių puslapių generatoriams.
  • Jokio pririšimo prie tiekėjo: paprasto teksto failai išliks skaitomi šimtmečius be specialios peržiūros programinės įrangos.

Techniniai apribojimai ir trūkumai

  • Pradinė 2004 m. specifikacija turėjo dviprasmiškas analizės taisykles, todėl atsirado subtilus dialektų susiskaldymas („CommonMark" vs GFM vs „Kramdown").
  • Nėra gimtojo palaikymo sudėtingoms puslapio išdėstymo funkcijoms, tokioms kaip kelių stulpelių žurnalų išdėstymas, teksto apliejimas ar puslapių numeriai.
  • Įterpti paveikslėliai yra susieti išorėje, o ne saugomi dokumento faile.

Įdomūs techniniai faktai

  • Aaron Swartz, kuris būdamas 17 metų kartu su John Gruber kūrė „Markdown", taip pat buvo vienas iš „Reddit" įkūrėjų ir sukurė RSS 1.0.
  • Kiekviena „GitHub" saugykla pasaulyje naudoja „README.md" failą, kad supažindintų kūrėjus su savo kodo baze.
  • „Markdown" dizaino filosofija teigia: „Pagrindinis „Markdown" formatavimo sintaksės dizaino tikslas - padaryti jį kuo įskaitomesnį."

Dažniausiai užduodami techniniai klausimai

Kam naudojamas Markdown?

Markdown naudojamas dokumentacijai, GitHub README failams, tinklaraščio įrašams rašyti, užrašams tokiose programose kaip Obsidian ir Notion daryti bei pranešimams kurti tokiose platformose kaip Discord ir Slack.

Kaip galiu konvertuoti Markdown į PDF arba HTML?

Naudodami File2File.app tiesiogiai interneto naršyklėje, vienu paspaudimu galite konvertuoti Markdown (.md) failus į stilizuoja PDF dokumentus arba švarų HTML kodą.

Kas yra GitHub Flavored Markdown (GFM)?

GFM yra išplėstinė Markdown versija, sukurta GitHub, kuri suteikia palaikymą lentelėms, užduočių sąrašams su žymimaisiais langeliais ([x]), perbrauktam tekstui (~~tekstas~~) ir sintaksės paryškintiems kodo blokams.