cyk 发表于 2017-1-19 16:37:38

实用组件:Markdown渲染库:在小程序中渲染Markdown文本

1. 背景和功能用于在小程序中渲染Markdown文本。众所周知,Markdown的渲染一般需要解析成HTML来渲染。然而小程序并没有提供HTML渲染的功能,甚至连利用JS动态创建UI元素都不可能。因此所有的Markdown渲染库全部无法在小程序下正常工作。本库可以实现在小程序下渲染Markdown内容,支持图片、表格在内的大部分Markdown特性。使用方式1. 准备工作:
[*]下载并拷贝wemark目录到小程序根目录
[*]WXSS中引用样式:@import '../wemark/wemark.wxss'
[*]WXML中引用结构:<import src="../wemark/wemark.wxml"/>
[*]JS中引用wemark:var wemark = require('wemark')
2. JS部分首先需要确定一个用于wemark渲染使用的数据名称(默认情况下为wemark),然后在页面的data中指定:page({    data:{      // 确定一个数据名称      wemark:{}    }});
接下来在Page的生命周期函数(如onReady)中,调用wemark.parse(md, this, options)即可。具体的参数说明:
[*]md,必填,需要渲染的Markdown字符串
[*]this,必填,Page实例
[*]options,其它的参数

[*]imageWidth,图片的宽度,如包含图片,则为必填,以px为单位
[*]name,对应上面指定的数据名称,默认为wemark
3. WXML部分
// data中的参数和上方确定的数据名称保持一致
<tempalte is="wemark" data="{{...wemark}}"></tempalte>
实例
// 引入wemark
var wemark = require('../wemark/wemark');
// 需要渲染的Markdown文本
var md = '# hello, world\n\nI love you, wemark!';


Page({
    data: {
      // 确定一个数据名称
      wemark:{}
    },
    onReady: function(){
      wemark.parse(md, this, {
            imageWidth: wx.getSystemInfoSync().device.windowWidth - 40,
            name: 'wemark'
      })
    }
});

特性
[*]标题
[*]段落
[*]代码段
[*]引用
[*]无序列表
[*]有序列表
[*]粗体
[*]强调(斜体)
[*]行内代码
[*]图片
[*]表格



附件下载:
**** Hidden Message *****

小程序hi 发表于 2017-2-7 09:33:04

啥也不说了,感谢楼主分享哇!

芒果K上校 发表于 2017-5-9 05:37:17

haoxianbucuo

jack56846 发表于 2020-4-24 14:05:56

专注于与个人游戏开发者合作,有产品的朋友联系微,信,号j i m 2 0 1 8 0 6 8 8,详聊
页: [1]
查看完整版本: 实用组件:Markdown渲染库:在小程序中渲染Markdown文本