markdown最佳渲染方案
尝试了rich-text
、uparse
、v-html
等渲染方案,总感觉差点意思,没有达到自己真正想要的效果,今天终于找到一个完美的解决方案,如果还有什么欠缺就自行优化咯。
Towxml 是一个可将
HTML
、Markdown
转为微信小程序WXML
(WeiXin Markup Language)的渲染库。用于解决在微信小程序中Markdown
、HTML
不能直接渲染的问题。
markdown最佳渲染方案/image-20211014174114953.png)
markdown最佳渲染方案/image-20211014174125557.png)
从官网上介绍来看,支持的功能还是相对比较全的。
uniapp使用流程
新建个空目录,git clone https://github.com/sbfkcel/towxml.git
在下载的文件目录下安装所需依赖 npm install
构建项目 npm run build
修改dist文件夹下decode.json为下,此处配置各个元素采用的解析方式,后面可以根据配置的路径对不满意的功能进行优化
1
2
3
4
5
6
7
8
9
10
11
12{
"component": true,
"usingComponents": {
"decode": "../towxml/decode",
"audio-player": "../towxml/audio-player/audio-player",
"latex": "../towxml/latex/latex",
"table": "../towxml/table/table",
"todogroup": "../towxml/todogroup/todogroup",
"yuml": "../towxml/yuml/yuml",
"img": "../towxml/img/img"
}
}将修改过的dist文件夹复制到uniapp工程的static目录下,并修改名字为towxml
markdown最佳渲染方案/image-20211014174505817.png)
组件中使用
1 | <template> |
效果图
markdown最佳渲染方案/image-20211014174808491.png)
功能优化
完成上述配置后,页面展示都没问题,不过有一个体验不好的地方在图片。上述组件中图片点击并不能放大,导致用起来会比较蹩脚。
接下来就对图片点击功能进行优化,其实也很简单,就是采用微信原生API对功能进行增强。具体优化如下:
找到img.wxml
文件,这个文件中就是一个bindtap="clickImg"
,在对应的js
文件中条件函数如下
1 | // 增加图片点击事件 |
至此,功能就已经完成。
...
...
Copyright 2021 sunfy.top ALL Rights Reserved