美文网首页微信小程序从基础到进阶小码消息微信小程序开发
微信小程序富文本解析wxParse Alpha0.1-支持HTM

微信小程序富文本解析wxParse Alpha0.1-支持HTM

作者: Dicn | 来源:发表于2016-10-25 10:04 被阅读1833次

本项目由微信小程序开发论坛-WeAppDev http://weappdev.com/ 会员开发

原文地址: http://weappdev.com/t/wxparse-alpha0-1-html-markdown/184

垂直微信小程序开发交流社区

wxParse

微信小程序富文本解析自定义组件,支持HTML及markdown解析,可能是第一个微信小程序富文本解析组件

wxParse.gif

代码库

github地址: https://github.com/icindy/wxParse

示例

  • cnode版wxParse使用

github地址:https://github.com/icindy/wechat-webapp-cnode

现状

版本号: Alpha0.1-目前还不太适合直接使用

目前项目不属于完整版,只是大概完成了基础的构思项目,能够解析基本的html,基础的markdown。
希望大家能够发现问题,提交问题,也可以foke提交您的修改代码

  • 项目目前在只是测试版,需要进一步完善
  • 需要完善样式wxParse,wxss
  • 需要加强markdown解析html
  • 其他

组成

-wxParse
--wxParse.js(工具类入口输出口)
--wxParse.wxml(模版文件)
--wxParse.wxss(定义css)

使用方法

  • 复制整个文件夹wxParse/到根目录
  • 把样式文件wxParse.wxss引入到您调用本插件的作用域喜爱
@import "你的路径/wxParse/wxParse.wxss";
  • 在需要使用的模版的x.wxml中引入模版文件wxParse.wxml
<import src="你的路径/wxParse/wxParse.wxml"/>
<view class="wxParse">
<template is="wxParse" data="{{wxParseData}}"/>
</view>
  • 在对应的js中引入wxParse.js文件
var WxParse = require('你的路径/wxParse/wxParse.js');
  • 设置对应data值数组wxParseData(必须使用wxParseData),并设置

// html解析

onLoad: function () {
    console.log('onLoad')
    var html = '<div class="content mousetrap"><h1 id="wxparse">wxParse-微信小程序富文本解析自定义组件,支持HTML及markdown解析</h1> <blockquote><p>微信小程序富文本解析自定义组件,支持HTML及markdown解析</p></blockquote> <h2 id="-">功能列表</h2> <ul> <li>动态加载代码</li> <li>html转json</li> <li>markdown转html转json</li> <li>富文本markdown解析</li> <li>自定义层级解析</li> <li>自定义样式表</li> </ul> <h2 id="-">文件作用</h2> <pre class="hljs scala"><code class="scala"><span class="hljs-comment">// wxParse.wxml</span> <span class="hljs-comment">//用于解析使用的模版</span> .css{ text-align:center; } <div>test div</div></code></pre> <h2 id="-">开发信息</h2> <p><a href="http://weappdev.com" target="_blank">微信小程序开发论坛</a></p> <div class="image-package">![](http:https://img.haomeiwen.com/i124323/0fcc9ec8528461d7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)<br><div class="image-caption">微信小程序logo</div></div> </div>';

    var that = this
    //更新数据
    that.setData({
      wxParseData:WxParse('html',html)
    })
  }


// markdown解析

onLoad: function () {
    console.log('onLoad')
    var text = '# wxParse-微信小程序富文本解析自定义组件,支持HTML及markdown解析 \n'
    +' > 微信小程序富文本解析自定义组件,支持HTML及markdown解析 \n\n' 
    +'## 功能列表 \n * 动态加载代码  \n * html转json \n * markdown转html转json \n * 富文本markdown解析 \n * 自定义层级解析 \n * 自定义样式表 \n'
    +'## 文件作用 \n'
    +' ``` // wxParse.wxml //用于解析使用的模版 ``` \n'
    +'## 开发信息 \n '
    +' [微信小程序开发论坛](http://weappdev.com) \n'
    +' ![微信小程序logo](http:https://img.haomeiwen.com/i124323/0fcc9ec8528461d7.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)';

    var that = this
    //更新数据
    that.setData({
      wxParseData:WxParse('md',text)
    })
  }

功能列表

  • 动态加载代码
  • html转json
  • markdown转html转json
  • 富文本markdown解析
  • 自定义层级解析
  • 自定义样式表

TODO

  • 添加更多标签的解析
  • 去重与定制样式
  • 解决组件中的问题

第三方引用

开发信息

微信小程序开发论坛
垂直微信小程序开发交流社区

微信小程序logo

Time

  • 2016.10.24 Alpha0.1 发布

相关文章

网友评论

  • 左耳右耳记得忘却:html怎么循环解析出来
  • StormLiu:域名加图片相对路径改<template name="wxParseImg">
    <image class="{{item.classStr}} wxParse-{{item.tag}}" data-from="{{item.from}}" data-src="https://XXXXX.com/{{item.attr.src}}" data-idx="{{item.imgIndex}}" src="{{item.attr.src}}" mode="aspectFit" bindload="wxParseImgLoad" bindtap="wxParseImgTap" style="width:{{item.width}}px;height:{{item.height}}px;{{item.attr.style}}" />
    </template>这个没用啊,,求大神指点
    StormLiu: @Dicn 已解决,,谢谢
    Dicn:https://github.com/icindy/wxParse/pull/71

    是这个问题吗
  • 1562678ab995:标签的样式咋整,。。。貌似还没处理啊
    Dicn:@1562678ab995 样式已经处理,记得将wxParse.wxss引入到app.wxss 或者页面所属的wxss中
  • 24766daf1aa4:我其实想问富文本的图片,视频,图文混排能解决吗?还有图片高度自适应有想法吗?欢迎探讨一下!
    Dicn:@桌面君 我原计划是想加入image 可能后续后加入相册功能。 理论上讲,各种复杂的排版应该可以进行,这也是下一步的计划

    谢谢支持

本文标题:微信小程序富文本解析wxParse Alpha0.1-支持HTM

本文链接:https://www.haomeiwen.com/subject/voshuttx.html