Skip to content

taro-bdmark支持taro框架下的百度小程序markdown渲染

Notifications You must be signed in to change notification settings

guozimo/taro-bdMark

Repository files navigation

taro-bdmark:百度小程序版本(taro框架)markdown解析器

输入图片说明 输入图片说明 输入图片说明

来源

修改自TooBug的wemark,由于不支持百度小程序使用,所以改造了一下,原wemark作者github地址:https://github.com/TooBug/wemark

介绍

用于在百度小程序(taro框架)中渲染Markdown文本。 在小程序诞生之前,Markdown的渲染一般需要解析成HTML,然后渲染解析后的HTML。然而小程序并没有提供HTML渲染的功能,因此在wemark诞生之前,几乎所有的Markdown渲染库全部无法在小程序下正常工作。

bdmark可以实现在百度小程序下渲染Markdown内容,支持图片、表格在内的大部分Markdown特性。 taro-bdmark支持taro框架下的百度小程序md渲染。

特性

  • 以小程序自定义组件形式提供,可直接引入使用
  • 支持大部分markdown标记的解析、渲染(详细支持情况见下方附录)
  • 支持代码表格、代码高亮、HTML视频等特性
  • 支持使用原生rich-text进行渲染
  • 新增了markdown图片点击放大预览的能力

使用教程

1、npm i taro-bdmark

2、在页面的配置文件中引用bdmark组件

{
	"usingComponents": {
		"bdmark": "/bdmark/bdmark"
	}
}

3、swan中使用:

<bdmark md="{{md}}" link highlight type="bdmark"></bdmark>

4、快速开始:

npm run dev:swan

参数说明:

  • md,必填,需要渲染的Markdown字符串;
  • link,是否解析链接,如果解析,会使用小程序navigator组件展现,可在小程序内跳转,默认为false;
  • highlight,是否对代码进行高亮处理,默认为false;
  • type,渲染方式,bdmark会使用bdmark的数据结构和模板进行渲染,rich-text会使用小程序内置的rich-text组件进行渲染(不支持链接跳转、视频)。

注:代码高亮会使标签数量和解析后的数据量增大,不排除产生渲染性能问题,请根据实际需要酌情使用。

不足之处

对原作者的css做了部分调整,在bdmark.css下新增代码:

.wemark_block_code text{
	display: inline;
	white-space: normal;
}

增加white-space: normal;是为了防止对父css的white-space: pre的继承,父css造成换行问题,很不美观,但是改成white-space: normal之后,会造成代码片段的空格消失,希望大家想办法支持改造一下!

修改部分

  • 1、修改wemark目录下的wxml为swan,修改wxss为css
  • 2、修改wemark.js中的wx:for,wx:if wx:index等兼容百度小程序
  • 3、新增部分css,并注释掉css中所有:last的css
  • 3、修改remarkable.js源码中void js保留字对taro 的支持程度 taro对void this.tokenize(s,s.line,s.lineMax)函数敏感并不会进入,原生百度小程序和微信小程序皆不会阻塞 去掉void 保留字以支持taro框架

commit 代码提交规范(提交时提示)

  • Commit message格式 : (type 和 subject 之前有个英文冒号以及个空格!) 用于说明 commit 的类别,只允许使用下面7个标识。 feat:新功能(feature) fix:修补bug docs:文档(documentation) style: 格式(不影响代码运行的变动) refactor:重构(即不是新增功能,也不是修改bug的代码变动) test:增加测试 chore:构建过程或辅助工具的变动 如果type为feat和fix,则该 commit 将肯定出现在 Change log中.
  • npm run changelog 查看changelog日志

参与贡献

About

taro-bdmark支持taro框架下的百度小程序markdown渲染

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published