一、第二版做了什么?
mark
痛点:Markdown转小程序页面很难受,小程序页面并不能识别Markdown标记。
mark
遇到的问题,发现复制的HTML代码都不包含样式,而用小程序富文本组件后,在WXSS文件定义样式对富文本里面的标签元素是不生效的。于是只能自己加样式,那就用正则匹配标签来加style吧。写着写着发现好多style要加。比如h1,h2,image。最坑的是Markdown转为html是code标签,小程序不识别code标签,所以将code标签转为div标签,然后还得处理换行,而且针对代码需要有不同的高亮显示,这太麻烦了。但基本上已经不影响阅读了。
mark
找到一个开源组件可以将markdown 标记转为小程序元素,叫做wemark。
于是就把markdown 内容复制到数据库中,但发现存到数据库的是没有换行的,所以读取之后需要做换行处理,这里就又用到正则表达式了。处理完了也能正常显示了,但图片不能放大看,这个就比较难受了。
这里是将文件上传到小程序云开发的存储里面,而且小程序提供了对应的下载云存储文件的SDK,非常方便。
然后使用towxml开源组件将markdown转为小程序元素,和wemark相比优势如下:
1.支持自定义towxml组件哪些功能开放,比如转换markdown的图表、数学公式等
2.支持自定义towxml 支持哪些code格式高亮
3.支持绑定小程序元素事件(这个功能太棒了)
大战一天一晚完美解决Markdown转小程序的问题
貌似直接用小程序云开发就够用了,但云开发的访问次数,存储空间有限制。另外直接操作云开发控制台不方便,做个后台操作起来更方便、更安全。之前搭建的一个服务器因到期被回收了,又得重新搭一套了。另外会先在本地把后端服务和Portal先跑起来。