ปลั๊กอินและส่วนขยาย 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 Markdownremark-math- สมการคณิตศาสตร์remark-toc- สารบัญremark-frontmatter- การสนับสนุน frontmatter
แนวทางปฏิบัติที่ดีที่สุด
- ประสิทธิภาพ: ใช้เฉพาะปลั๊กอินที่จำเป็น
- ความเข้ากันได้: ตรวจสอบความเข้ากันได้ของเวอร์ชัน
- ความปลอดภัย: ตรวจสอบปลั๊กอินสำหรับช่องโหว่
- เอกสาร: จัดทำเอกสารปลั๊กอินที่ใช้
- การบำรุงรักษา: อัปเดตปลั๊กอินเป็นประจำ
สรุป
ปลั๊กอิน Markdown ให้ความยืดหยุ่นอย่างไม่มีที่สิ้นสุดในการปรับแต่งการประมวลผลและการเรนเดอร์ Markdown ของคุณ เลือกปลั๊กอินที่ตรงกับความต้องการของคุณและปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดเพื่อผลลัพธ์ที่ดีที่สุด