Markdown 转 HTML — 源代码与预览
将 Markdown 草稿转换为适用于现有页面或发布系统的 HTML。主动执行转换,检查完整源代码,并使用不会加载图片或打开链接的格式预览。复制和下载得到的是同一个 HTML 片段。
转换一份草稿并导出源代码
- 粘贴或输入 Markdown,或导入一个 UTF-8 编码的 Markdown/文本文件。CRLF 和 CR 会变为 LF;内容不会被裁剪或进行 Unicode 规范化。导入文件后需点击“转换”,修改草稿会移除之前的结果。
- 点击“转换”以解析并检查支持的配置。原始 HTML 保持为文本;禁止的链接或图片目标地址会终止转换,而不是被悄悄删除。可在“源代码”中检查完整 HTML,或在单独的预览限制允许时查看惰性格式预览。
- 复制源代码或下载 converted.html。两者使用完全相同的 UTF-8 片段,不添加页面包装、CSS 或字节顺序标记。预览不会导出,下载的 HTML 也不会自动打开。
了解格式和预览
本工具使用 markdown-it 15.0.3 默认配置,包含表格和删除线,并施加明确的输入、嵌套和 URL 限制。它支持普通标题、列表、引用、强调和转义代码,但并非完整的 GitHub 风格 Markdown。没有任务列表、数学公式、图表、脚注或高亮插件。
原始 HTML 会作为文本呈现,而不会启用。例如,草稿中的 script 标签不会作为脚本在预览中运行。这不是用于任意 HTML 的通用净化器;格式不正确的 Markdown 可能仍显示为普通文本,而不会引发语法错误。
通过检查的链接和图片引用会保留在源片段中。预览中的链接是不可交互的 span,图片则是带标签的占位内容;预览不会获取资源。大型预览可能被完全省略,但完整源代码、复制和下载仍然可用。预览并非对实际发布页面的逐像素还原。
相对引用不会以本网站或导入文件的位置为基准解析,其最终基准由发布页面决定。因此,打开或重新托管导出的片段时,可能会加载其中通过检查的图片或跟随链接;这与本工具内的惰性预览不同。
结构、引用与空输出示例
“使用示例”会填入标题 A、一个空行以及 Hello 和加粗的 world,但不会自动转换。转换后应得到 h1 标题和包含 strong 强调的段落。结果详情说明所用配置、字节数和独立预览的行为。
例如 ../guide?q=x#part 这样的相对链接可以保留为相对 HTML 引用。HTTPS 图片可以保留在源代码中,但在预览中只显示为带替代文本的占位内容。mailto 地址允许用于链接,不允许用于图片;data 图片、脚本协议和协议相对引用会被拒绝。
只包含未使用的引用定义的非空文档可以合法地生成零字节 HTML 片段。这与未完成的空输入不同。结果会解释空输出,仍可准确复制或下载这零个字节,而不会凭空添加段落。
明确的语法、资源和导出边界
接收的草稿不超过 200000 个 UTF-16 代码单元;规范 UTF-8 表示和任何导入文件均不超过 512 KiB,最多 20000 行。NUL、无效 UTF-8 和未配对的代理项会被拒绝。仅移除 UTF-8 文件开头的一个 BOM;之后的 U+FEFF 会保留。超限编辑会被拒绝,不会部分截断。
嵌套保护、100000 个已解析令牌、目标地址和代码围栏字符串的长度限制、4 MiB 源输出上限以及 15 秒操作时限共同约束任务。预览另有 256 KiB、20000 个令牌和 10000 个生成元素的上限。这些是产品控制,不是速度、堆内存或设备性能保证;转换失败不会产生部分成功的结果。
链接仅允许明确规定的 HTTP(S)、mailto 和相对引用;图片需要 HTTP(S) 或相对路径。不支持的协议、凭据、有歧义的 authority 以及禁止的控制字符或反斜杠编码会终止转换。允许目标地址并不表示链接网站或下载的片段值得信任。
不提供完整页面导出、用户 CSS、原始 HTML 模式、实时编辑器、云端/URL 导入、持久保存或批量转换。复制和下载始终使用已保存的当前片段,而非预览。修改输入或取消操作会使旧操作失效;已经交给操作系统的剪贴板写入或下载无法撤回。
本地草稿处理与当前结果
解析和渲染在本地 worker 中运行。本工具不会额外上传草稿或文件、获取 URL、生成含输入内容的地址、保存历史或发送内容遥测。隔离的预览不加载图片,也不激活链接。网站现有服务仍然存在;本地处理不是对分析服务商或已部署行为的认证。
Markdown 转换常见问题
来源和格式参考
- spec.commonmark.orgCommonMark 0.31.2CommonMark 描述了基础 Markdown 语法;本工具使用指定的 markdown-it 配置及额外限制。
- github.github.comGitHub Flavored MarkdownGitHub Flavored Markdown 描述了扩展;本工具未实现完整的 GFM 配置。
- github.commarkdown-it 15.0.3固定版本的解析器提供默认配置,包括表格和删除线,并禁用原始 HTML。
- html.spec.whatwg.orgHTML StandardHTML 标准描述 iframe 沙箱的功能;沙箱本身不能禁止所有网络请求或导航。
- w3c.github.ioContent Security PolicyContent Security Policy 描述了与隔离机制共同用于惰性预览的限制。
- encoding.spec.whatwg.orgEncoding StandardEncoding 标准描述 UTF-8 解码和字节顺序标记。
