Skip to content

ปลั๊กอินและส่วนขยาย Markdown

ปลั๊กอินขยายฟังก์ชัน Markdown ช่วยให้คุณเพิ่มฟีเจอร์ที่กำหนดเอง ปรับปรุงการประมวลผล และสร้างประสบการณ์เนื้อหาที่เป็นเอกลักษณ์

ระบบปลั๊กอินยอดนิยม

markdown-it (JavaScript)

javascript
const MarkdownIt = require('markdown-it');
const md = new MarkdownIt();

// เปิดใช้งานปลั๊กอิน
md.use(require('markdown-it-emoji'));
md.use(require('markdown-it-footnote'));
md.use(require('markdown-it-abbr'));
md.use(require('markdown-it-container'), 'warning');

const html = md.render('# สวัสดี :smile:');

Remark (JavaScript)

javascript
import {unified} from 'unified';
import remarkParse from 'remark-parse';
import remarkGfm from 'remark-gfm';
import remarkHtml from 'remark-html';

unified()
  .use(remarkParse)
  .use(remarkGfm)
  .use(remarkHtml)
  .process('# สวัสดี');

Python-Markdown

python
import markdown

md = markdown.Markdown(extensions=[
    'extra',
    'codehilite',
    'toc',
    'tables'
])

html = md.convert('# สวัสดี')

ประเภทปลั๊กอินยอดนิยม

อิโมจิและไอคอน

javascript
// markdown-it-emoji
md.use(require('markdown-it-emoji'));

// การใช้งาน
ฉันรัก Markdown! :heart: :rocket:

ตารางและไดอะแกรม

javascript
// การสนับสนุน mermaid
md.use(require('markdown-it-mermaid'));
markdown
\`\`\`mermaid
graph TD
  A[เริ่มต้น] --> B[กระบวนการ]
  B --> C[สิ้นสุด]
\`\`\`

กล่องคอนเทนเนอร์ที่กำหนดเอง

javascript
md.use(require('markdown-it-container'), 'warning', {
  render: function (tokens, idx) {
    if (tokens[idx].nesting === 1) {
      return '<div class="warning">\n';
    } else {
      return '</div>\n';
    }
  }
});
markdown
::: warning
นี่คือคำเตือนสำคัญ!
:::

การสร้างปลั๊กอินที่กำหนดเอง

markdown-it Plugin

javascript
function customPlugin(md, options) {
  // กฎที่กำหนดเอง
  md.inline.ruler.before('emphasis', 'custom', function(state, silent) {
    // ตรรกะการประมวลผลที่กำหนดเอง
  });

  // ตัวเรนเดอร์ที่กำหนดเอง
  md.renderer.rules.custom = function(tokens, idx) {
    return '<span class="custom">' + tokens[idx].content + '</span>';
  };
}

module.exports = customPlugin;

ปลั๊กอินที่แนะนำ

markdown-it

  • markdown-it-emoji - การสนับสนุนอิโมจิ
  • markdown-it-footnote - เชิงอรรถ
  • markdown-it-abbr - ตัวย่อ
  • markdown-it-deflist - รายการคำจำกัดความ
  • markdown-it-container - คอนเทนเนอร์ที่กำหนดเอง
  • markdown-it-table-of-contents - สารบัญ

Remark

  • remark-gfm - การสนับสนุน GitHub Flavored Markdown
  • remark-math - สมการคณิตศาสตร์
  • remark-toc - สารบัญ
  • remark-frontmatter - การสนับสนุน frontmatter

แนวทางปฏิบัติที่ดีที่สุด

  1. ประสิทธิภาพ: ใช้เฉพาะปลั๊กอินที่จำเป็น
  2. ความเข้ากันได้: ตรวจสอบความเข้ากันได้ของเวอร์ชัน
  3. ความปลอดภัย: ตรวจสอบปลั๊กอินสำหรับช่องโหว่
  4. เอกสาร: จัดทำเอกสารปลั๊กอินที่ใช้
  5. การบำรุงรักษา: อัปเดตปลั๊กอินเป็นประจำ

สรุป

ปลั๊กอิน Markdown ให้ความยืดหยุ่นอย่างไม่มีที่สิ้นสุดในการปรับแต่งการประมวลผลและการเรนเดอร์ Markdown ของคุณ เลือกปลั๊กอินที่ตรงกับความต้องการของคุณและปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดเพื่อผลลัพธ์ที่ดีที่สุด

แหล่งข้อมูลเพิ่มเติม

สร้างโดย www.markdownlang.com