原創聲明:本文為作者原創,未經允許不得轉載,經授權轉載需注明作者和出處
分享一個小程序Markdown和HTML解析庫,支持Wepy。
Towxml 是一個可將HTML
、Markdown
轉為微信小程序WXML
(WeiXin Markup Language)的渲染庫。
用于解決在微信小程序中Markdown
、HTML
不能直接渲染的問題。
以下截圖即demo
目錄編譯的效果
1. 克隆TOWXML到小程序根目錄
git clone https://github.com/sbfkcel/towxml.git
2. 在小程序app.js
中引入庫
//app.js
const Towxml = require('/towxml/main'); //引入towxml庫
App({
onLaunch: function () {
},
towxml:new Towxml() //創建towxml對象,供小程序頁面使用
})
3. 在小程序頁面文件中引入模版
<!--pages/index.wxml-->
<!--引入towxml模版入口文件,并使用模版-->
<import src="/towxml/entry.wxml"/>
<template is="entry" data="{{...article}}"/>
4. 在小程序對應的js中請求數據
//pages/index.js
const app = getApp();
Page({
data: {
//article將用來存儲towxml數據
article:{}
},
onLoad: function () {
const _ts = this;
//請求markdown文件,并轉換為內容
wx.request({
url: 'http://xxx/doc.md',
header: {
'content-type': 'application/x-www-form-urlencoded'
},
success: (res) => {
//將markdown內容轉換為towxml數據
let data = app.towxml.toJson(res.data,'markdown');
//設置文檔顯示主題,默認'light'
data.theme = 'dark';
//設置數據
_ts.setData({
article: data
});
}
});
}
})
5. 引入對應的WXSS
/**pages/index.wxss**/
/**基礎風格樣式**/
@import '/towxml/style/main.wxss';
/**如果頁面有動態主題切換,則需要將使用到的樣式全部引入**/
/**主題配色(淺色樣式)**/
@import '/towxml/style/theme/light.wxss';
/**主題配色(深色樣式)**/
@import '/towxml/style/theme/dark.wxss';
OK,大功告成~~
如果為了追求極致的體驗,建議將markdown
、html
轉換為towxml數據的過程放在服務器上,在小程序中直接請求數據即可。
1. 依賴環境
需要 Node.js 環境。(已經安裝請忽略)
2. 安裝towxml
npm install towxml
3. 接口使用
const Towxml = require('towxml');
const towxml = new Towxml();
//Markdown轉WXML
let wxml = towxml.md2wxml('# Article title');
//html轉WXML
let wxml = towxml.html2wxml('<h1>Article title</h1>');
//Markdown轉towxml數據
let data = towxml.toJson('# Article title','markdown');
//htm轉towxml數據
let data = towxml.toJson('# Article title');
towxml/demo
添加為小程序工程towxml
到demo
目錄MIT