教程 · Google 文档 → Markdown

从 Google 文档里拿到 Markdown

两条路,不等价。粘贴两秒钟,图片会丢;导出 .docx 多点几下,图片能留。

两条都完全在你的浏览器里跑,都不问你的 Google 账号。这儿没有任何东西能看到你的云端硬盘。

去转换器

要复制内容,不是复制链接

这是最先卡住人的一步。复制文档的网址、或者用「复制链接」,你拿到的是一个地址 —— 那里面没有可转的东西。

你要的是内容进剪贴板。在文档里选中文字再复制,剪贴板里除了纯文本还会有一份富文本 HTML,标题、列表和表格都在那份 HTML 里。

  1. 01打开文档选中你要的部分。整篇就 Ctrl+A。
  2. 02Ctrl+C 复制。
  3. 03在转换器页面上随便哪儿按 Ctrl+V。不用找输入框,也不用点按钮 —— 粘贴由页面自己接住。

剪贴板里的 HTML 长什么样

Google 的剪贴板 HTML 不干净。几乎每个元素都带一个生成的类名,像 c1 或者 c17,列表项还带 lst-kix_ 开头的名字,而且整段选区被包在一个 <b> 标签里,那个标签把 font-weight 设成 normal —— 一个把粗体关掉的粗体标签,这是编辑器内部记录文档级格式的方式。

这些都到不了 Markdown。class、id 和 style 属性由净化器剥掉,因为 Markdown 表达不了它们,而来自任意网页的剪贴板 HTML 本来就不该信。那个 <b> 外壳是另外单独拆的:留着它,你的文档上下会各多出一个孤零零的 **。

链接也会被还原。Google 把外链绕一层 google.com/url?q=… 做编辑器内的点击统计,utm_source 这类跟踪参数常常一起搭车。两样都会摘掉,链接指到它写的那个地方。发生了这件事输出会告诉你 —— 改了一个链接的目标,是该提一句的。

剪贴板里
<a href="https://www.google.com/url?q=
  https://example.com/a%3Futm_source%3Ddocs">figures</a>
Markdown
[figures](https://example.com/a)

粘贴为什么会丢图片

文档里的图片存在 Google 的服务器上。剪贴板 HTML 只用一个 URL 指向它们,不带图片本身的字节,而那些 URL 跟你的会话绑着 —— 会过期,换个人也打不开。

所以粘贴过来的文档文字完整,图没了。这是格式的边界,不是某个开关。

图片要紧的话走另一条路。

.docx 导出:为了图片,也为了长文档

这条路更完整,篇幅长的东西都值得走它。.docx 带着真的样式信息,标题从 Word 样式来,而不是靠剪贴板尽力猜,长文档的结构也保得更稳。

这也意味着 Google 文档那一页和 Word 那一页跑的是同一个转换器、处理的是同一种文件。对一边成立的事对另一边也成立。

  1. 01在文档里:文件 → 下载 → Microsoft Word (.docx)。
  2. 02把那个文件拖到转换器页面的框上。一次拖好几个也行 —— 会打成一个 zip 回来。
  3. 03复制结果之前先选图片怎么处理:内嵌进文件、留成 ./images/ 引用、或者删掉。

两条路都带不过来的东西

批注和建议修改会丢 —— 你拿到的是文档本身,不是它页边上的东西。要紧的话导出前先解决或者接受掉。

图表、绘图、智能画布组件,最好的情况是变成纯文字。它们是编辑器渲染出来的对象,大部分根本没有文字等价物。

页眉、页脚、页码会没。它们属于印出来的一张纸,而 Markdown 没有页。

为什么不做云端硬盘授权

连云端硬盘意味着要向你申请文件访问权限,还要跑一个服务器替你存着那个令牌。那是拿一份实实在在的长期风险,换你少按一次 Ctrl+C。

复制粘贴交出去的就是你选中的那几段,别的什么都没有。没有账号、没有授权页、没有插件要装,我们这边也没有什么能泄露的东西,因为根本没有「我们这边」—— 转换在你的浏览器里发生。

Google 文档现在自己也能导出 Markdown。那个结果合你用就用它。这个工具存在,是为了你想自己选项目符号字符、围栏写法、图片怎么处理的那些情况,以及只想粘一小段而不是导出一整篇的时候。

选中、复制、粘贴 —— 要图片就导出 .docx。剪贴板在你的浏览器里读,什么都不往外发。

Google Docs → MD