花糕

[开源]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';
\`\`\`

![图片](https://example.com/img.png)
`);


图片自动上传

如需自动上传图片到 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"}
  • ![alt](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