Olùṣàtúnṣe Markdown Ọ̀fẹ́

Kọ kí o sì wo Markdown lákòókò gidi. Ó ń ṣètìlẹyìn fún àwọn àkọlé, ọ̀rọ̀ tí ó nípọn, ọ̀rọ̀ tí ó tẹ̀, àwọn báálì kóòdù, àwọn tábìlì, àti àwọn àkójọpọ̀.

Ó ń ṣiṣẹ́ láìsí ìsopọ̀ ní kété tí a bá kó wọlé
115 àwọn ọ̀rọ̀ · 621 ohun kíkọ
Markdown
Àyẹ̀wò
<h2 class="text-2xl font-bold text-slate-900 dark:text-slate-50 mt-6 mb-2">Kábọ̀ sí Olùṣàtúnṣe Markdown</h2> <p class="my-3 text-slate-700 dark:text-slate-300 leading-relaxed">Kọ <strong>Markdown</strong> ní apá òsì, wo àwòṣáájú tí ń ṣiṣẹ́ lẹ́sẹ̀kannáà ní apá ọ̀tún.</p> <h3 class="text-xl font-bold text-slate-900 dark:text-slate-50 mt-6 mb-2">Àwọn ẹ̀yà</h3> <ul class="list-disc list-inside my-3 space-y-0.5 text-slate-700 dark:text-slate-300"><li class="my-0.5"><strong>Ọ̀rọ̀ tí ó nípọn</strong>, <em>ọ̀rọ̀ olójú</em>, àti <del>ọ̀rọ̀ tí a lákọ́rọ̀</del></li><li class="my-0.5"><code class="bg-slate-100 dark:bg-slate-800 text-pink-600 dark:text-pink-400 rounded px-1 py-0.5 text-[0.85em] font-mono">Kóòdù inú ọ̀rọ̀</code> àti àwọn àkọsọ kóòdù</li><li class="my-0.5"><a href="https://libratool.com" target="_blank" rel="noopener noreferrer" class="text-teal-600 dark:text-teal-400 underline underline-offset-2">Àwọn ìjápọ̀</a></li><li class="my-0.5">Àwọn àtòjọ, àwọn àyọlò, àwọn tábìlì, àti síi</li></ul> <h3 class="text-xl font-bold text-slate-900 dark:text-slate-50 mt-6 mb-2">Àpẹẹrẹ kóòdù</h3> <pre class="bg-slate-900 dark:bg-slate-950 text-slate-100 rounded-lg p-4 overflow-x-auto text-sm font-mono my-4"><code class="language-javascript">function greet(name) { return `Hello, ${name}!`; }</code></pre> <blockquote class="border-l-4 border-teal-400 dark:border-teal-600 pl-4 my-3 text-slate-600 dark:text-slate-400 italic">John Gruber ni ó dá Markdown sílẹ̀ ní 2004 láti mú kí kíkọ ọ̀rọ̀ fún ìtàkùn rọrùn síi.</blockquote> <table class="my-4 w-full text-sm border-collapse"><thead><tr><th class="border border-slate-300 dark:border-slate-600 bg-slate-100 dark:bg-slate-800 px-3 py-2 text-left font-semibold">Ẹ̀yà</th><th class="border border-slate-300 dark:border-slate-600 bg-slate-100 dark:bg-slate-800 px-3 py-2 text-left font-semibold">Ni atilẹyin</th></tr></thead><tbody><tr><td class="border border-slate-200 dark:border-slate-700 px-3 py-2 text-left">Àwọn Àkọlé</td><td class="border border-slate-200 dark:border-slate-700 px-3 py-2 text-left">✓</td></tr><tr><td class="border border-slate-200 dark:border-slate-700 px-3 py-2 text-left">Àwọn Àtòkọ</td><td class="border border-slate-200 dark:border-slate-700 px-3 py-2 text-left">✓</td></tr><tr><td class="border border-slate-200 dark:border-slate-700 px-3 py-2 text-left">Àwọn Tábìlì</td><td class="border border-slate-200 dark:border-slate-700 px-3 py-2 text-left">✓</td></tr><tr><td class="border border-slate-200 dark:border-slate-700 px-3 py-2 text-left">Kóòdù</td><td class="border border-slate-200 dark:border-slate-700 px-3 py-2 text-left">✓</td></tr></tbody></table>
Ìtọ́ka Markdown
# Heading 1H1
**bold**Ìwé ńlá
*italic*Italic
`code`Kóòdù inú ìlà
- itemÀkójọ àmì-ọ̀rọ̀
1. itemÀkójọ nọ́mbà
> quoteÀyọkà
[text](url)Ọ̀nà asopọ̀
![alt](url)Àwòrán
---Ìlà pínpín

Bí Ó Ṣe Ń Ṣiṣẹ́

A ń ṣe àkíyèsí náà pẹ̀lú parser Markdown tí a fi ọwọ́ kọ tí a kọ́ sínú irinṣẹ́ náà tààrà — kò sí marked, kò sí remark, kò sí ìwé-ìṣirò ìta. Ó ń pín orísun náà ìlà-lé-ìlà nínú aṣàwákiri, tí ó ń yí gírámà padà sí HTML tí a sì fi sí sanitizer kan kí ó tó fihàn.

  1. 1
    Ìdásí àmì ìlà-lé-ìlà
    Iṣẹ́ renderMarkdown àkànṣe ń pín orísun rẹ lórí ìlà tuntun tí ó sì ń rìn kiri wọn ní ìgbésẹ̀ kan, tí ó ń bá àwọn àkọ́sílẹ̀ kóòdù tí a fi àmì hàn, àwọn àkọlé (H1–H6), àwọn ọ̀rọ̀-àyọkà, àwọn àtòjọ tí a tò àti tí a kò tò, àwọn tábìlì GFM (pẹ̀lú ìtòsí ọ̀wọ̀n), àwọn ìlà onígun, àti àwọn ìpínrọ̀ ní ìtòlẹ́sẹẹsẹ pàtàkì.
  2. 2
    Ìgbòòrò gírámà inú-ìlà
    A ń ṣe ìlà tàbí cell tí a kójọ kọ̀ọ̀kan pẹ̀lú inlineMarkdown, ìdì àwọn ìrọ́pò regex tí ó ń bá dídúdú (** àti __), italic (* àti _), dídúdú-italic (***), strikethrough (~~), kóòdù inú-ìlà (), àwọn àwòrán (![alt](url)), àti àwọn ìjápọ̀ ([text](url)) — àwọn àwòrán ni a yanjú kí ìjápọ̀ tó, nítorí náà a kì í mú ìṣáájú ! ní àṣìṣe.
  3. 3
    Ìmọ́tótó àti ìdí ìpa àwọn ohun-àmúlò jíjìnnà
    A ń fi HTML gan-an tí ẹ̀rọ ìṣe àgbékalẹ̀ náà ṣe jáde sí sanitizer kan (sanitize-html) láti yọ àwọn tags àti àwọn ìhun-ìní tí kò ní ààbò bí i <script>, àwọn olùmú onerror, àti àwọn hrefs javascript: kúrò. Ìgbésẹ̀ kejì kan (neutralizeRemote) ń rọ́pò àwọn iye src àwòrán jíjìnnà pẹ̀lú àwọn àmì-ìdí láifọwọ́kàn, tí ó ń dí ìdíwọ́ fún àkíyèsí náà láti pè sí àwọn sáfà ìta láìsọ kí o tó yàn láti fi kún un.
  4. 4
    Gbé jáde gẹ́gẹ́ bí .md tàbí .html tí ó dá dúró fúnra rẹ̀
    Dídàkọ tàbí gbígbà Markdown ń kọ ọ̀rọ̀ orísun gan-an. Gbígbà HTML ń fi ìtọjade tí a mú ní mímọ́ wé ìwé kan tí ó dá dúró fúnra rẹ̀ pẹ̀lú ìwé-ìṣirò àṣàrò inú-ìlà tirẹ̀ — àwọn kíláàsì Tailwind ń ṣiṣẹ́ nínú ojúlé wẹ́ẹ̀bù náà nìkan, nítorí náà gbígbé jáde náà ń kó àwọn òfin CSS lásán dípò bẹ́ẹ̀, tí ó ń mú fáìlì náà kà ní ibikíbi.

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

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