Hexo: Hexo生成的Markdown高亮代码,复制到微信公众号编辑器缩进丢失

Created on 28 Sep 2016  ·  5Comments  ·  Source: hexojs/hexo

在网上搜索了很久,也尝试了各种方法都没办法解决,希望有人能解答。

问题描述

我希望拷贝我的博客到微信公众号中发布,博客里有一些代码,测试链接在这里,当我把内容复制后粘贴到微信编辑器中代码缩进就完全丢失了。大家可以看前后对比。

粘贴前的样子

indent-lost-before

粘贴后的样子

indent-lost

一些发现

  • 我尝试过使用Markdown here插件直接从公众号编辑窗口生成html,所有的段落和引用格式都是好的,唯独高亮代码格式到手机上看会错乱,根本没法看。
  • 上面这个问题其实已经有人发现了,原因是markdown here生成的html中代码的换行\n 在提交时被微信过滤了,你可能需要手动将换行符替换成<br>才能正常显示。其实这样表述并不完全准确,我的发现是微信手机客户端才会多html中多余的空白和空行处理掉,在电脑上打开同样的文章并不会错乱。
  • 小胡子哥的hexo博客说的就是上面这个问题,他给出的解决方案是hexo自动生成的静态页面能自动解决换行问题。但是问题来了,它的hexo博客生成的代码复制到公众号编辑器样式没有问题,我的hexo博客生成的高亮代码复制过去缩进丢失了!(看问题描述)
  • 在SF上也有人遇到类似问题,到目前还是没有人回答。https://segmentfault.com/q/1010000005830783

    测试方法

  • 如果你没有公众号编辑器,可以打开这个页面,里面有一个模拟微信编辑器的排版窗口。尝试把下面这两个页面的代码粘贴过去。

  • 以上两个页面都是hexo生成的,除了主题不一样,估计hexo版本也不太一样。
  • 但是无论如何,这个现象应该是不会发生的,不是吗?
enhancement

Most helpful comment

Mark,后续会抽空开发一个插件,帮助大家解决这个问题。微信公众号对代码的拷贝确实很不和谐。

All 5 comments

@barretlee, please take a look.

复制gist到上面也是各种乱。

可以复制以下代码:
https://gist.github.com/beardmikle/d1be06bd4c5814edafb6

个人觉得这应该是style方面的问题。

Mark,后续会抽空开发一个插件,帮助大家解决这个问题。微信公众号对代码的拷贝确实很不和谐。

http://md.barretlee.com/ 最近抽空开发好了,大家可以尝试下。

@barretlee 这个的原理是什么?一开始在 hexo 复制不行,然后尝试用 marxi.io, 复制进编辑器后,code 高亮时可以的,但是发布后,code的高亮就都没了。

Was this page helpful?
0 / 5 - 0 ratings

Related issues

19uni94 picture 19uni94  ·  3Comments

awulkan picture awulkan  ·  3Comments

cxgreat2014 picture cxgreat2014  ·  3Comments

hgDendi picture hgDendi  ·  3Comments

ghost picture ghost  ·  3Comments