Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/guozimo/taro-bdMark
taro-bdmark支持taro框架下的百度小程序markdown渲染
https://github.com/guozimo/taro-bdMark
Last synced: about 1 month ago
JSON representation
taro-bdmark支持taro框架下的百度小程序markdown渲染
- Host: GitHub
- URL: https://github.com/guozimo/taro-bdMark
- Owner: guozimo
- Created: 2019-03-21T07:37:06.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-03-28T02:24:40.000Z (over 5 years ago)
- Last Synced: 2024-09-21T15:36:43.873Z (3 months ago)
- Language: JavaScript
- Homepage:
- Size: 113 KB
- Stars: 14
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-taro - taro-bdmark - 基于 Taro 的百度小程序 md 解析器
README
#### taro-bdmark:百度小程序版本(taro框架)markdown解析器
![输入图片说明](https://github.com/guozimo/publish/blob/gh-pages/img/md1.png)
![输入图片说明](https://github.com/guozimo/publish/blob/gh-pages/img/md2.png)
![输入图片说明](https://github.com/guozimo/publish/blob/gh-pages/img/md3.png)#### 来源
修改自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中使用:
``````
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日志### 参与贡献
- 开发者:guozimo
- github:(https://github.com/guozimo/taro-bdMark)
- npm:(https://www.npmjs.com/package/taro-bdmark)