[开源]Markdown转换喵御宅文章正文, markdown-to-mfuns-json 使用文档
100浏览 • 2天前 •
科技综合
• MA116308
用于将 Markdown 转换为喵御宅定制的 Quill Delta JSON 格式,支持通过 API 进行内容投稿。
安装
npm install markdown-to-mfuns-json
核心 API
markdownToQuillDelta(markdown, options?, uploadOptions?)
将 Markdown 转换为 Quill Delta JSON 字符串。
import { markdownToQuillDelta } from "markdown-to-mfuns-json";
const deltaJson = await markdownToQuillDelta(`
## 标题
**粗体** *斜体* ~~删除线~~ <u>下划线</u>
- 无序列表
- 无序列表
1. 有序列表
2. 有序列表
\`\`\`javascript
const code = 'block';
\`\`\`

`);
图片自动上传
如需自动上传图片到 Mfuns 服务器,提供 token:
const deltaJson = await markdownToQuillDelta(
markdown,
{},
{
token: "session-token",
deviceInfo: { clientType: "web" },
},
);
处理逻辑:
- 网络图片 URL:下载 → 上传 → 替换为 CDN 地址
- Base64 图片:解码 → 上传 → 替换为 CDN 地址
- 无 token 时:Base64 会报错(Mfuns 禁止 base64),网络图片保留原 URL
支持的 Markdown 语法
块级
## 标题→{"header": 2}### 标题→{"header": 3}- 列表→{"list": "bullet"}1. 列表→{"list": "ordered"}\\\code\\\→{"code-block": true}---/***→{"divider": true}
行内
**粗体**→{"bold": true}*斜体*→{"italic": true}~~删除~~→{"strike": true}<u>下划</u>→{"underline": true}\code\→{"code": true}[文本](url)→{"link": "url"}→{"image": "url"}
ParserOptions
interface ParserOptions {
skipH1?: boolean; // 默认 true,跳过一级标题(避免页面多个 h1)
skipHighLevelHeaders?: boolean; // 默认 true,跳过 4-6 级标题(平台不支持)
preserveEmptyLines?: boolean; // 默认 false,跳过空行(避免排版问题)
}
单独上传图片
如需单独使用图片上传功能:
import { uploadImageToMfuns } from "markdown-to-mfuns-json";
const url = await uploadImageToMfuns(file, {
token: "session-token",
});
类型定义
TypeScript 类型完整导出:
import type {
QuillDelta,
DeltaOp,
ParserOptions,
UploadOptions,
} from "markdown-to-mfuns-json";
源码
GitHub: https://github.com/Amoyens1s/markdown-to-mfuns-json
MIT 协议。
未经作者允许,禁止转载
#花糕
#markdown
#喵御宅
#工具
#开发
20
4
6