ข้ามไปยังเนื้อหาหลัก

ตัวแก้ไข Markdown ฟรี

เขียนและดูตัวอย่าง Markdown แบบเรียลไทม์ รองรับหัวเรื่อง ตัวหนา ตัวเอียง บล็อกโค้ด ตาราง และรายการ

ใช้งานได้แบบออฟไลน์เมื่อโหลดแล้ว
70 คำ · 548 ตัวอักษร
Markdown
ตัวอย่าง
<h2 class="text-2xl font-bold text-slate-900 dark:text-slate-50 mt-6 mb-2">ยินดีต้อนรับเข้าสู่ตัวแก้ไข Markdown</h2> <p class="my-3 text-slate-700 dark:text-slate-300 leading-relaxed">เขียน <strong>Markdown</strong> ทางด้านซ้าย ดูตัวอย่างสดทางด้านขวา</p> <h3 class="text-xl font-bold text-slate-900 dark:text-slate-50 mt-6 mb-2">คุณสมบัติ</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>ตัวหนา</strong> <em>ตัวเอียง</em> และ <del>ขีดทับ</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">โค้ดอินไลน์</code> และบล็อกโค้ดที่ล้อมรอบ</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">ลิงก์</a></li><li class="my-0.5">รายการ บล็อกอ้างอิง ตาราง และอื่นๆ อีกมากมาย</li></ul> <h3 class="text-xl font-bold text-slate-900 dark:text-slate-50 mt-6 mb-2">ตัวอย่างโค้ด</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">Markdown ถูกสร้างโดย John Gruber ในปี 2004 เพื่อให้การเขียนสำหรับเว็บง่ายขึ้น</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">คุณสมบัติ</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">รองรับ</th></tr></thead><tbody><tr><td class="border border-slate-200 dark:border-slate-700 px-3 py-2 text-left">หัวเรื่อง</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">รายการ</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">ตาราง</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">โค้ด</td><td class="border border-slate-200 dark:border-slate-700 px-3 py-2 text-left">✓</td></tr></tbody></table>
สูตรโกง Markdown
# Heading 1H1
**bold**ตัวหนา
*italic*ตัวเอียง
`code`โค้ด inline
- itemรายการหัวข้อ
1. itemรายการลำดับ
> quoteบล็อกอ้างอิง
[text](url)ลิงก์
![alt](url)รูปภาพ
---เส้นแบ่ง

การใช้งานทั่วไป

  • เขียนเอกสาร API ใน Markdownร่างคำอธิบายเอนด์พอยต์ ตัวอย่างคำขอ/การตอบสนอง และตารางพารามิเตอร์ใน Markdown
  • จดบันทึกใน Markdownเขียนบันทึกที่มีโครงสร้างใน Markdown ซึ่งสามารถวางลงใน Notion, Obsidian, Bear หรือแอป Markdown ใดๆ ได้
  • เขียน GitHub README ใน Markdownร่างและแสดงตัวอย่าง GitHub README ของที่เก็บของคุณด้วยการแสดงผล Markdown แบบสด
  • เขียนเอกสารทางเทคนิคเขียนและแสดงตัวอย่างเอกสาร API วิกิ และคู่มือเทคนิคใน Markdown ก่อนเผยแพร่
  • เขียนโพสต์บล็อกใน Markdownร่างโพสต์บล็อกใน Markdown สำหรับ Ghost Jekyll Hugo Hashnode และแพลตฟอร์มการเผยแพร่ที่ใช้ Markdown อื่น ๆ

วิธีการทำงาน

ตัวอย่างเรนเดอร์ด้วยตัวแยกวิเคราะห์ Markdown ที่เขียนขึ้นเองในเครื่องมือโดยตรง — ไม่มี marked ไม่มี remark ไม่มีไลบรารีภายนอก แบ่งโทเค็นซอร์สทีละบรรทัดในเบราว์เซอร์ แปลงไวยากรณ์เป็น HTML แล้วส่งผ่านตัวกรองความปลอดภัยก่อนแสดง

  1. 1
    แบ่งโทเค็นทีละบรรทัด
    ฟังก์ชัน renderMarkdown ที่กำหนดเองแบ่งซอร์สตามบรรทัดใหม่และไล่ผ่านในรอบเดียว จับคู่บล็อกโค้ด หัวเรื่อง (H1–H6) blockquote รายการแบบมีลำดับและไม่มีลำดับ ตาราง GFM (พร้อมการจัดแนวคอลัมน์) เส้นคั่นแนวนอน และย่อหน้าตามลำดับความสำคัญ
  2. 2
    ขยายไวยากรณ์ในบรรทัด
    แต่ละบรรทัดหรือเซลล์ที่รวบรวมได้จะถูกประมวลผลโดย inlineMarkdown ชุดการแทนที่ regex ที่จัดการตัวหนา (** และ __) ตัวเอียง (* และ _) ตัวหนาเอียง (***) ขีดฆ่า (~~) โค้ดในบรรทัด () ภาพ (![alt](url)) และลิงก์ ([text](url)) — ภาพถูกแปลงก่อนลิงก์เพื่อไม่ให้คำนำหน้า ! ถูกใช้ผิด
  3. 3
    กรองความปลอดภัยและบล็อกทรัพยากรภายนอก
    HTML ดิบที่ตัวเรนเดอร์สร้างถูกส่งผ่านตัวกรอง (sanitize-html) เพื่อตัดแท็กและแอตทริบิวต์ที่ไม่ปลอดภัย เช่น <script> ตัวจัดการ onerror และ href แบบ javascript: รอบที่สอง (neutralizeRemote) แทนค่า src ของภาพภายนอกด้วยตัวแทนโดยค่าเริ่มต้น ป้องกันไม่ให้ตัวอย่างติดต่อเซิร์ฟเวอร์ภายนอกโดยไม่แจ้งก่อนที่คุณจะเลือกอนุญาต
  4. 4
    ส่งออกเป็น .md หรือ .html แบบสมบูรณ์ในตัว
    การคัดลอกหรือดาวน์โหลด Markdown เขียนข้อความซอร์สดิบ การดาวน์โหลด HTML ห่อผลลัพธ์ที่กรองแล้วในเอกสารที่สมบูรณ์ในตัวพร้อมสไตล์ชีตในตัว — คลาส Tailwind ใช้ได้เฉพาะในเว็บไซต์ การส่งออกจึงรวมกฎ CSS ธรรมดาแทน ไฟล์จึงอ่านได้ทุกที่

เครื่องมือที่เกี่ยวข้อง

คำถามที่พบบ่อย