Olùyí HTML sí Markdown Ọ̀fẹ́

Yí HTML padà sí Markdown tí ó mọ́. Ó ń mójútó àwọn àkọlé, àkójọpọ̀, ìjápọ̀, àwòrán, báálì kóòdù, àti àwọn tábìlì. Dáadáa fún gbígbé àkóónú kúrò lára àwọn CMS.

Ó ń ṣiṣẹ́ láìsí ìsopọ̀ ní kété tí a bá kó wọlé

Fi HTML sí apá òsì; Markdown mímọ́ yóò farahàn ní apá ọ̀tún. Markdown rọrùn ju HTML lọ, nítorí náà àwọn àṣàyàn, àwọn scripts, àti àwọn tábìlì tí ó díjú ni a ó mú rọrùn tàbí kí a yọ wọ́n kúrò.

Ìmọ̀ràn: lẹ̀mọ́ ọ̀rọ̀ tí a ṣètò tí a dà kọ́pi láti orí ojú-ewé, Word, tàbí Google Docs - a máa mú HTML rẹ̀ ní àdánidá.

Ìyọrisí Markdown
Ìyọrisí Markdown yóò farahàn níbí…

Bí Ó Ṣe Ń Ṣiṣẹ́

A kọ́ olùyípadà yìí yíká pípọ̀nà regex tí a fi ọwọ́ kọ, tí kò ní ìgbẹ́kẹ̀lé lórí ohunkóhun mìíràn — a kò gbé ìwé-ìṣirò ẹnì kẹta kankan wọlé. Gbogbo ìyípadà náà ń ṣiṣẹ́ nínú aṣàwákiri rẹ nípasẹ̀ ìpè useMemo React kan, tí ó ń ṣàtúnṣe ìtọjade láàyè bí o ṣe ń kọ.

  1. 1
    Ìdámọ̀ lẹ̀ ń dá ọ̀rọ̀ ọlọ́rọ̀ mú
    Olùmú ìṣẹ̀lẹ̀ ClipboardEvent kan ń ka ẹ̀dà text/html láti inú clipboard náà kí aṣàwákiri tó lè lẹ̀ ọ̀rọ̀ lásán. Èyí ń túmọ̀ sí pé lílẹ̀ tààrà láti ojú-ìwé wẹ́ẹ̀bù kan, Google Docs, tàbí Word ń mú àmì HTML gan-an náà láifọwọ́kàn — o kò nílò láti wo orísun kóòdù náà kọ́kọ́.
  2. 2
    Ìpọ̀nà regex ọ̀pọ̀-ìgbésẹ̀ ń yọ àti yí àwọn tags padà
    Olùyípadà náà ń ṣiṣẹ́ ìtòlẹ́sẹẹsẹ tí ó le ti àwọn ìgbésẹ̀ regex: ó kọ́kọ́ yọ <head>, <script>, <style>, àti àwọn ọ̀rọ̀-àsọyé HTML kúrò, kí ó sì fi àwọn ọ̀wọ́ kóòdù tí a fi àmì hàn pamọ́ lẹ́yìn àwọn àmì-ìdí null-byte láti dí ìdíwọ́ fún àwọn ìgbésẹ̀ tí ó tẹ̀lé láti bàjẹ́ àkóónú kóòdù. Àwọn ìgbésẹ̀ tí ó tẹ̀lé ń mú àwọn àkọlé (h1–h6), àwọn ọ̀rọ̀-àyọkà, àwọn àwòrán, àwọn ìjápọ̀, dídúdú/italic/strikethrough, àwọn àtòjọ tí a tò àti tí a kò tò, àti àwọn tábìlì pipe GFM ìpìlẹ̀ — ìgbésẹ̀ kọ̀ọ̀kan ń fojúsùn ẹbí tag pàtó kan.
  3. 3
    Ìtúpalẹ̀ ohun àti ìjọ́wọ́ àyè
    Lẹ́yìn tí a ti yọ gbogbo tags kúrò, iṣẹ́ decodeEntities pàtàkì kan ń yanjú àwọn ohun-orúkọ (&amp;, &lt;, àti bẹ́ẹ̀ bẹ́ẹ̀ lọ) àti àwọn ìtọ́ka àmì decimal àti hex nọ́mbà (&#39;, &#x27;) ní lílo String.fromCodePoint. Àwọn codepoint tí kò bá mu tàbí tí ó wà lóde àyè ni a rọ́pò pẹ̀lú àmì-ìrọ́pò Unicode dípò kí ó dá àṣìṣe. A sì ń jọ̀wọ́ àyè ìparí, àwọn ìṣàn ìlà-òfìfo tí a kó pọ̀, àti àyè àṣejù lẹ́yìn náà.
  4. 4
    A tún àwọn apá kóòdù tí a dáàbò bò padà
    A ń tú ìlànà àmì-ìdí (àwọn ìdí tí a fi null-byte pín) palẹ̀ ní ìkẹyìn, lẹ́yìn tí a ti parí yíyọ, ìtúpalẹ̀, àti ìjọ́wọ́ àyè. Èyí ń dí ìdíwọ́ fún àwọn ìtẹ̀síwájú ohun-orúkọ nínú àwọn àmì kóòdù láti tú palẹ̀ lẹ́ẹ̀mejì — àṣìṣe ìtúpalẹ̀-méjì tí ó wọ́pọ̀ nínú àwọn olùyípadà HTML-sí-Markdown lásán.

Àwọn Irinṣẹ Tó Jọra

Àwọn Ìbéèrè Tí A Máa Ń Béèrè