文本

Markdown 转 HTML

0次调用
1 积分/次

直接调用这个接口,就可以把 Markdown 文本转换成带样式的 HTML,而且它不只适合程序里动态注入,也适合在开发阶段直接预览。

POST
uapis.cn
/api/v1/text/markdown-to-html
Body
text
string
required

原始 Markdown 字符串,最大不超过 1MB。

format
string

响应格式。传 json 时返回 JSON 包裹的 HTML 片段;传 html 时直接返回 text/html,并且响应内容会自动带完整的网页结构,适合浏览器预览或直接保存为网页文件。默认是 json

sanitize
boolean

是否开启安全模式,过滤掉用户输入中的风险脚本。默认是 true

如何使用与预览

  • 默认模式:返回 JSON 里的 HTML 片段:不传 format 时,接口会返回 JSON。您只需要读取响应里的 data.html,再赋值给前端容器,例如 element.innerHTML = data.html、Vue 的 v-html,或者 React 里配合 dangerouslySetInnerHTML 使用。
  • 预览模式:直接返回完整 HTML 网页:如果您想在浏览器里直接打开结果,或者想把响应保存成一个独立的 .html 文件,请传 format="html"。这个模式下,接口会直接返回带 <!DOCTYPE html><html>... 的完整网页源码。

功能概述

  • 自带精美排版,无需手写 CSS:返回结果已经内置样式,标题、引用、表格、任务列表和代码块都可以直接显示。
  • 支持丰富的排版元素:除了标准 Markdown,这个接口也可以正确处理 GFM 常见语法,例如表格、任务列表和带语言标记的代码块。
  • 安全处理用户内容:默认开启安全模式,会自动过滤原始 HTML 里的风险脚本。如果内容来源绝对可信,并且您确实需要保留原始 HTML,可以把 sanitize 设为 false

请求体

请求体使用 application/jsontext 必填;formatsanitize 可选。

text
string必填

原始 Markdown 字符串,最大不超过 1MB。

format
string可选

响应格式。传 json 时返回 JSON 包裹的 HTML 片段;传 html 时直接返回 text/html,并且响应内容会自动带完整的网页结构,适合浏览器预览或直接保存为网页文件。默认是 json

sanitize
boolean可选

是否开启安全模式,过滤掉用户输入中的风险脚本。默认是 true

响应

200 / 请求成功

转换成功。具体返回 JSON 还是纯 HTML,由 format 参数决定。

格式 1application/json
JSON
{
  "data": {
    // 转换后的 HTML 字符串,内容是带样式的 HTML 片段。
    "html": "<style>...</style><div class=\"uapi-markdown\"><h1 id=\"coffee\">咖啡</h1><p>...</p></div>"
  }
}
格式 2text/html
HTML
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" /><title>Markdown Preview</title></head><body><main><style>...</style><div class="uapi-markdown"><h1 id="coffee">咖啡</h1><p>...</p></div></main></body></html>

400 / 错误的请求

请求参数错误。可能是请求体格式错误、text 为空,或者 format 取值不合法。

格式 1请求体格式错误
JSON
{
  "code": "INVALID_PARAMETER",
  "message": "请求体格式不正确,请传标准 JSON"
}
格式 2缺少 Markdown 文本
JSON
{
  "code": "INVALID_PARAMETER",
  "message": "text 不能为空"
}
格式 3响应格式错误
JSON
{
  "code": "INVALID_PARAMETER",
  "message": "format 只允许 json 或 html"
}

413 / 请求实体太大

Markdown 文本超过当前大小限制。

JSON
{
  "code": "TEXT_TOO_LARGE",
  "message": "Markdown 内容不能超过 1MB"
}

500 / 服务器内部错误

转换过程中发生错误,请稍后再试。

JSON
{
  "code": "REQUEST_FAILED",
  "message": "Markdown 转 HTML 失败,请稍后再试"
}

503 / 服务不可用

服务暂时不可用。

JSON
{
  "code": "SERVICE_TEMPORARILY_UNAVAILABLE",
  "message": "Markdown 转 HTML 服务暂时不可用,请稍后再试"
}