一键采集上传常见的细节问题(导出成Word再导入该不会有这个问题了吧?)

优采云 发布时间: 2022-01-26 03:02

  一键采集上传常见的细节问题(导出成Word再导入该不会有这个问题了吧?)

  首先,让我们吐槽一下知乎的编辑器。虽然我个人博客的很多内容都想过要移到知乎,但是知乎的编辑器真的很难用。虽然现在可以使用文件导入功能来导入md文件和Word文档,并且支持一些简单的Markdown语法,但是每种方式都有无法避免的缺点,结果要么是强行接受,要么是不完善。格式或大量手动和重复的图像上传。

  Typora 中央文件

  

  这个测试文件虽然很短,但基本上收录了几个常见的元素:标题、文字、图片、表格、代码和公式。我们来看看知乎支持的几种上传方式的效果:

  1. 将 Typora 的内容直接复制到 知乎 编辑器

  

  可以看到,标题和正文是分开的,但是所有的标题都变成了一级标题。另外,本地图片无法导入,展览占位仅剩一张。表格都乱了,公式就消失了。但是代码突出显示仍然是 C++,正确的。

  2. 直接导入 Markdown 文件

  您可以在编辑器的此位置导入文件:

  

  

  导入我们刚才看到的原创测试文件的效果如下:

  

  和之前一样,头衔和正文是分开的,但所有的头衔都变成了一级头衔。另外,无法导入本地图片,只剩下一个占位符。表格全乱了,公式没有消失,但也没有被渲染。代码突出显示仍然是 C++,正确的。

  3. 先用 Typora 导出到 Word,再用 知乎 编辑器导入到 Word

  上面两种最直观的方法的一个大问题是无法导入图像。对于一些长篇科技文章来说,图片很多,也很重要。手动一一添加容易出错,浪费研究人员的时间和热情。当然,我知道在导入 Markdown 的时候,图片本身并没有被导入,但我还是觉得这是 知乎 团队应该做的工作,而且是相当基础的工作。好吧,既然现在不可行,那么导出到Word再导入应该不会有这个问题,我们来看看:

  

  好家伙,图片导入了,表格直接炸了,更烦人的是代码高亮没了,格式也有问题。至于其他的,就难看了。乍一看,公式好像没有了,中间多了一堆空行。当然,标题级别的问题仍未解决。

  这对 Typora 导出 Word 导出不利吗?我打开了导出的 Word 文件:

  

  公式在那里,突出显示正确,标题级别正确,表格正确,没有奇怪的空行。虽然和 Markdown 渲染的结果相比看起来不太好,但至少是对的,知乎 编辑器是错的。

  那么,你如何拯救你的双手和灵魂呢?首先调整你的 Markdown 编辑器

  为什么要首先调整编辑器?我这里说的调整主要是指图像管理方式的调整。如果你使用 Typora,建议将偏好设置页面中的相关参数调整为与下图完全相同,以防后期出现问题。

  这里的主要工作是自动将所有来源的图片保存到同名文件夹中,并存储在相对路径中。使用其他 Markdown 编辑器的朋友也可以做相应的调整。这样做的目的主要是为了方便后期批量上传和转换图片。

  

  相信很多同学看到这里都会提出问题。为什么不用iPic之类的图床软件直接上传到图床呢?方便舒适。我的回答是,因为我受过苦。我的内容之前是专门发在我的个人博客上的,但是今年年中,突然整个网站图片掉了一个占位符和无法访问的提示,然后我发现之前的使用的新浪地图床有防盗链,所以是GG。当然,后来我又用Python解决了这个问题,有兴趣解决的图形可以移到这里。但是,这次的教训让我明白了这些图形床是不可控的。他们可以随时拿走你博客里的所有图片,你无能为力。

  之后我选择了本地存储+Github备份的模式,这样就可以安心拥有永久的本地文件,而且Github链接也好用,可以说是既方便又安全。

  解决图片上传问题后

  最方便的解决方案是充分利用 GitHub 资源。创建一个Public GitHub仓库,这里我命名为Markdown4知乎,必须是Public,否则知乎无法访问这些图片。

  

  当然,如果觉得麻烦,可以直接按照我搭建的仓库来。我们后面会提到的“一键 Markdown知乎 适配脚本”也会在这个仓库中。你只需要把你的文件和对应的图片文件夹放到这个Data子目录下,就可以调用脚本一键转换,自动将涉及到的图片推送到你对应的GitHub仓库。

  

  这是我们使用脚本一键转换的结果。很好的解决了上传图片的问题,也保证了代码段的高亮。同时,所有内联公式和多行公式都进行了转换。通过知乎 上传文件后,转换后的公式是交互式的,即您可以在上传后在知乎 编辑器中修改您的公式,而无需重新进行。

  至于表单,这真的很糟糕,因为 知乎 根本不支持表单。但是没有其他选择。如果表不多,可以直接截图,删掉原代码,贴上截图。然后它将与图片模式兼容。如果不想截图,做相应的操作后可以得到上图的结果,对于少量的表也是可以的。你可以在这里看到上传到 知乎 后的结果。

  最后,具体使用流程

  这里我们假设你的文件名是一个测试文件.md,把它和图片同名的文件夹放到Data目录下(直接在Data里面新建文件会更方便),然后打开终端(Linux/MacOS) 或 Git Bash (Windows)(或其他任何支持 Git 命令的终端),cd 到项目的根目录,也就是 Markdown4知乎 目录,然后输入以下命令:

  python 知乎-publisher.py --input="./Data/a test document.md"

  好的,一切就绪。在Data目录下可以看到一个测试文档_for_知乎.md文件,上传到知乎编辑器。

  PS:脚本使用Python3,Python2可能存在潜在问题。另外,知乎对GitHub的访问有时不稳定,会导致部分图片上传失败。大多数情况下,直接点击图片上的重新上传按钮即可解决。如果尝试两次都失败了,可以使用少量的直接本地上传。

  最后的话

  知乎 的开发者的逻辑实际上让我很困惑。我们大学生团队的自建论坛可以完美支持原生Markdown和公式。不过知乎一直说这个功能不是必须的,强调开发。困难。搜索 知乎 也很不舒服。这么多年过去了,非热门话题还是一如既往的难用,搜索还是靠谷歌的“问题+知乎”。不知道为什么会这样,但是还是希望知乎团队先做这些很基础的事情,再谈用户体验。

  这次的解决方案需要对 GitHub 和命令行有基本的了解,但考虑到会来看这个文章的人应该多是程序员,问题应该不会很大。脚本还是比较新的,如果有bug请提交。最后放上GitHub链接。如果对你有帮助,希望你能给个star,谢谢!Markdown4知乎

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线