A lightweight TypeScript library for converting Markdown to HTML with support for CommonMark and GitHub Flavored Markdown features
npm install simple-markdown-to-html一个轻量级的 TypeScript 库,用于将 Markdown 转换为 HTML,支持 CommonMark 和 GitHub Flavored Markdown 特性。
- ✅ CommonMark 基础语法:标题、段落、粗体、斜体、链接、图片、代码块、引用、列表等
- ✅ GitHub Flavored Markdown:表格、任务列表、删除线、自动链接等
- ✅ HTML 标签保留:原文中的 HTML 标签会被原样保留
- ✅ TypeScript 支持:完整的类型定义
- ✅ 轻量级:无外部依赖,体积小巧
- ✅ 高性能:基于正则表达式的快速解析
``bash`
npm install simple-markdown-to-html
或使用 yarn:
`bash`
yarn add simple-markdown-to-html
或使用 pnpm:
`bash`
pnpm add simple-markdown-to-html
`typescript
import { md2html } from 'simple-markdown-to-html';
const markdown =
这是一个 粗体 和 斜体 的示例。
- 列表项 1
- 列表项 2
- 嵌套列表
| 表头1 | 表头2 |
|-------|-------|
| 单元格1 | 单元格2 |;
const html = md2html(markdown);
console.log(html);
`
`javascript
const { md2html } = require('simple-markdown-to-html');
const html = md2html('# Hello World\n\nThis is bold text.');
console.log(html);
`
`typescript
import md2html from 'simple-markdown-to-html';
const html = md2html('# Hello World');
`
- 标题:# H1 到 ###### H6粗体
- 段落:普通文本段落
- 粗体: 或 __粗体__斜体
- 斜体: 或 _斜体_粗斜体
- 粗斜体: 或 ___粗斜体___
- 行内代码: 代码 `
- 代码块:
`
javascript`
console.log('Hello World');
`
链接文本
- 链接:!替代文本
- 图片:> 引用文本
- 引用:- 项目
- 无序列表: 或 * 项目 或 + 项目1. 项目
- 有序列表:---
- 水平分割线: 或 * 或 ___
- 删除线:~~删除的文本~~`
- 任务列表:
`
- [ ] 未完成任务
- [x] 已完成任务
`
- 表格:
`
| 表头1 | 表头2 |
|-------|-------|
| 单元格1 | 单元格2 |
- 自动链接: 或
将 Markdown 字符串转换为 HTML 字符串。
参数:
- markdown (string): 要转换的 Markdown 文本
返回值:
- (string): 转换后的 HTML 文本
示例:
` This is bold.typescript`
const html = md2html('# Hello\n\nThis is bold.');
// 输出: 'Hello
\n
1. HTML 标签保留:原文中的 HTML 标签会被原样保留,不会被转义
2. 代码安全:代码块和行内代码中的 HTML 字符会被正确转义
3. 嵌套支持:支持列表嵌套和其他复杂结构
4. 性能优化:使用占位符机制保护代码块,避免误处理
`bash克隆仓库
git clone https://github.com/username/simple-markdown-to-html.git
cd simple-markdown-to-html
MIT License
欢迎提交 Issue 和 Pull Request!
- 初始版本
- 支持 CommonMark 基础语法
- 支持 GitHub Flavored Markdown
- TypeScript 支持