Towxml 是一個可將HTML
、Markdown
轉爲微信小程序WXML
(WeiXin Markup Language)的渲染庫。javascript
用於解決在微信小程序中Markdown
、HTML
不能直接渲染的問題。css
如下截圖即demo
目錄編譯的效果html
1. 克隆TOWXML到小程序根目錄java
git clone https://github.com/sbfkcel/towxml.git
2. 在小程序app.js
中引入庫node
//app.js const Towxml = require('/towxml/main'); //引入towxml庫 App({ onLaunch: function () { }, towxml:new Towxml() //建立towxml對象,供小程序頁面使用 })
3. 在小程序頁面文件中引入模版git
<!--pages/index.wxml--> <!--引入towxml模版入口文件,並使用模版--> <import src="/towxml/entry.wxml"/> <template is="entry" data="{{...article}}"/>
4. 在小程序對應的js中請求數據github
//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. 引入對應的WXSSnpm
/**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