Markdown 预览
文本处理所有处理都在浏览器本地完成,数据不上传服务器
Markdown
预览
渲染在浏览器本地完成,内容不会上传。图片语法只显示替代文字,不会向你粘贴的地址发起请求。
左边写,右边实时出结果。渲染器只实现一个安全子集:先把所有 HTML 转义,再处理 Markdown 语法,所以你粘进来的脚本标签只会原样显示,不会被执行;链接里的 javascript: 协议会被拦下并标红。图片语法刻意不渲染成图片标签 —— 那会让浏览器去请求你粘贴的地址,等于把你正在看这份文档这件事告诉了对方服务器。
功能
- 支持标题、段落、粗体、斜体、删除线、行内代码、围栏代码块、链接、有序与无序列表、引用、分隔线
- 所有 HTML 先转义再解析,粘贴进来的标签只会作为文本显示
- 链接过滤协议:javascript:、data: 等一律不生成可点击的锚点,而是标红显示原地址
- 外部链接带 rel="noopener noreferrer",防反向 tabnabbing
- 图片语法只显示替代文字,不向任何地址发起请求
- 列表支持两级嵌套(缩进两格)
- 下划线强调(_x_)刻意不解析,避免误伤 foo_bar_baz 与 __init__
- 内容超过 20 万字符时截断预览并如实提示
使用方法
- 在左栏粘贴或输入 Markdown
- 右栏实时显示渲染结果
- 点「载入示例」查看一份覆盖全部支持语法的样例
常见问题
- 会支持表格、脚注、HTML 混排吗?
- 暂时不会。表格与脚注需要大得多的解析器,而 HTML 混排直接与「任何用户输入都先转义」这条底线冲突 —— 那等于允许用户注入标签。需要完整 CommonMark 的场合,建议在本地编辑器里预览。
- 为什么不解析 _斜体_?
- 因为代价太大:下划线在标识符里出现得太频繁,foo_bar_baz、__init__、snake_case 都会被解析成斜体。星号写法 *斜体* 没有这个问题,请用它。
- 图片为什么不显示?
- 显示图片意味着你的浏览器会去请求那个地址。对一份还没公开的文档来说,这等于把「我正在看它」告诉了对方服务器,与「内容不上传」的承诺冲突。所以只显示替代文字。
- 单个换行会被合并吗?
- 不会。段落内单个换行按换行处理(与 GitHub 评论区的行为一致),空行才分段。这样粘贴进来的排版不会在预览里被悄悄改掉。
相关工具
正则测试
文本处理在浏览器里调试正则:匹配实时高亮、捕获组连名字一起列出、替换结果即时预览,并挡住灾难性回溯。文本与正则都在本机处理,不上传。
文本对比
文本处理把两份文本逐行对比,高亮标出新增、删除与未改动的行,改动按最小差异对齐,而不是整段标成变了。全部在浏览器本地完成,内容不上传。
字数统计
文本处理中英混排的文本到底有多长?中文按字、英文按词分开统计,再给出字符数、行数、字节数与阅读时长。全部在浏览器本地完成,不上传。
文本清洗
文本处理清洗从日志或表格里复制出来的一列内容:去重行、排序、去空行、去首尾空白、去行号、合并多空格,规则逐条开关。粘贴的内容只在本机处理。
命名风格转换
文本处理在八种命名风格之间转换标识符,拆词时认得 fooBarBaz 与 FOO_BAR 这类混写,连续大写也会按词拆开。全部在浏览器本地完成,不上传。
简繁转换
文本处理在简体与繁体之间互转中文,常用词整词替换,其余字取最常见写法,因此个别字词仍需人工核对。全部在浏览器本地完成,不上传。