Utilia

HTML-i ja Markdowni teisendaja

Teisenda HTML Markdowniks ja Markdown HTML-iks oma brauseris, GitHubi tabelite, läbikriipsutuse, ülesandeloendite ja turvalise eelvaatega.

Teisendus

Eelvaade

Eelvaade on puhastatud: skriptid, vormid ja sündmuste käitlejad eemaldatakse ning kaugpilte ei laadita kunagi.

Kuidas HTML-i Markdowniks teisendada

  1. Vali suund: HTML → Markdown või Markdown → HTML.
  2. Kleebi kood sisendkasti või klõpsa nuppu Ava fail, et laadida oma arvutist .html-, .htm-, .md- või .txt-fail (kuni 10 MB).
  3. Kohanda valikuid. HTML → Markdown puhul saad valida Pealkirjad stiili, Loendimärgi ja Koodiplokid stiili. Markdown → HTML puhul on Puhasta HTML (eemalda skriptid ja sündmuste käitlejad) vaikimisi sisse lülitatud.
  4. Klõpsa Teisenda. Tulemus uueneb ka kirjutamise ajal.
  5. Kopeeri tulemus või laadi see alla. Vaheta suund liigutab tulemuse tagasi sisendisse, et saaksid teisendada vastupidi ja kontrollida edasi-tagasi teisendust.

Eelvaade tulemuse all näitab, kuidas Markdown renderdub, nii et saad teisendust ühe pilguga kontrollida.

Mida HTML → Markdown teisendus teeb

Teisendaja loeb sinu HTML-i brauseri enda parseriga, inertses dokumendis: skripte ei käivitata ja pilte ei laadita alla. Seejärel käib see läbi lehe struktuuri ja kirjutab iga elemendi Markdowni vaste:

  • <h1> kuni <h6> muutuvad pealkirjadeks. ATX (# Pealkiri) kirjutab # kuni ######; Setext (allakriipsutatud) kriipsutab 1. ja 2. taseme pealkirjad alla märkidega === või --- (tasemed 3 kuni 6 kasutavad alati #).
  • <strong> ja <b> muutuvad kujuks **paks**, <em> ja <i> kujuks _kaldkiri_, reasisene <code> muutub tagurpidi ülakomadeks.
  • Lingid muutuvad kujuks [tekst](url "tiitel") ja pildid kujuks ![alt](src).
  • Loendid kasutavad valitud märki (-, * või +); järjestatud loendid säilitavad oma start-numbri ja pesastatud loendid taandatakse.
  • <pre><code> muutub koodiplokiks, kas Aedadega (```) või Taandega (4 tühikut).
  • <blockquote>, <hr> ja reavahetused teisendatakse samuti.
  • <script>, <style>, <iframe>, <noscript> ja sarnased elemendid eemaldatakse koos sisuga.

Märgid, mida muidu loetaks Markdowni süntaksiks, näiteks * või # rea alguses, escape’itakse langjoonega, et tekst jääks sõnasõnaliseks.

GitHub Flavored Markdown

Kui GitHub Flavored Markdown (tabelid, ~~läbikriipsutus~~, ülesandeloendid) on märgitud:

  • Tabelid muutuvad püstkriipsutabeliteks joondatud veergudega. Päis tuleb <thead> reast või reast, mis koosneb ainult <th> lahtritest; kui seda pole, lisatakse tühi päiserida, sest GFM nõuab seda. Veeru joondus loetakse atribuudist align="right" või style="text-align: center". Püstkriipsud lahtrites escape’itakse kujul \|, reavahetused muutuvad kujuks <br> ja colspan täidetakse tühjade lahtritega. <caption> kirjutatakse lõiguna tabeli kohale.
  • <del>, <s> ja <strike> muutuvad kujuks ~~läbikriipsutus~~.
  • Märkeruudud loendiüksuste alguses muutuvad ülesandeloendi üksusteks: - [x] tehtud, - [ ] teha.

Markdownis puudub vaste pesastatud tabelitele, liidetud ridadele ja lahtrite stiilidele. Tabel, mis sisaldab teist tabelit, jäetakse toor-HTML-ina, mida enamik Markdowni renderdajaid aktsepteerib. Ilma GFM-valikuta jäetakse iga tabel HTML-ina.

Markdown → HTML

Vastupidises suunas renderdatakse Markdown CommonMarkiga ühilduva parseriga, valiku sisselülitamisel GFM-laiendustega. Väljund on HTML-lõigud, mis on valmis CMS-i, e-posti malli või veebilehele kleepimiseks. Kui Puhasta HTML (eemalda skriptid ja sündmuste käitlejad) on märgitud, puhastatakse Markdowni põimitud toor-HTML: <script> sildid, onclick-atribuudid ja javascript:-lingid eemaldatakse. Võta märge maha ainult enda kirjutatud Markdowni puhul.

Korduma kippuvad küsimused

Kas minu HTML saadetakse serverisse?

Ei. Mõlemad teisendused toimuvad täielikult sinu brauseris ning leht ei lae kunagi üles seda, mida kleebid või avad. Saad turvaliselt teisendada sisemist dokumentatsiooni või mustandeid.

Kas eelvaade on mitteusaldusväärse HTML-i puhul turvaline?

Jah. Eelvaade läbib alati DOMPurify: skriptid, vormid, raamid ja sündmuste käitlejad eemaldatakse, lingid avatakse uuel vahekaardil ilma juurdepääsuta sellele lehele ning kaugpilte ei laadita kunagi. Kuvatakse ainult data: URL-idena põimitud pilte.

Miks mõned osad minu lehest kaovad?

Markdown kirjeldab ainult sisu struktuuri. Paigutuselementidel, CSS-klassidel, reasisestel stiilidel, vormidel ja põimitud vidinatel pole Markdowni kuju, seega säilib ainult nende tekst. Skriptid ja stiilid eemaldatakse täielikult.

Kas saan teisendada terve veebilehe?

Jah. Kleebi kogu lähtekood, sealhulgas <html> ja <head>: teisendatakse ainult <body> sisu. Puhtama Markdowni jaoks kleebi ainult artikli osa, mitte navigatsiooni ja jalust.

Millist Markdowni varianti väljund kasutab?

Väljund järgib CommonMarki, mida toetavad GitHub, GitLab, Obsidian, enamik staatilisi saidigeneraatoreid ja paljud CMS-i redaktorid. Tabelid, läbikriipsutus ja ülesandeloendid järgivad GitHub Flavored Markdowni spetsifikatsiooni.