微信小程序将本地md文件转js以方便集成在小程序代码中,其中md使用towxml渲染

微信小程序将本地md文件转js以方便集成在小程序代码中,其中md使用towxml渲染

说明:因为微信小程序编写代码不支持读取本地md文件,但几个md文件使用在线读取也太浪费资源了。
因此尝试通过转为js文件绕开限制

本文章使用towxml开源库渲染MD文件:https://github.com/sbfkcel/towxml

方法:把markdown文件以字符串读取出来,经过python文件处理,转为一个可以在微信小程序代码中可以读取的js文件

也可以使用其他语言编写,只有转换为正确的js文件就可以

import json
'''
把 # 标题1
  ## 标题2 转为
  
  md

'''
with open('README.md', 'r', encoding='utf-8') as f:
    s = f.read()

md_dict = {"md": s}

# json字典转json字符串
md_dict_str = json.dumps(md_dict)

b = "var localData = "

c = '''
module.exports = {
    postData: localData
}
'''
d = b+md_dict_str+c
with open('test.js', 'w', encoding='utf-8') as f1:
    f1.write(d)


js文件使用示例

js文件示例

// # 喝了  ## 吗 
//中文显示的是16进制码字
var localData = {"md": "# \u559d\u4e86\n## \u5417"}
module.exports = {
    postData: localData
}

在微信小程序页面js导入test.js

var pastData = require('../../utils/data.js')

使用

// 渲染,index.js
const app = getApp();
var pastData = require('../../utils/data.js')
Page({
	data: {
		isLoading: true,
		article: {}
	},
	onLoad: function () {
		// console.log(pastData.postData.md)
		// 离线使用
		let obj = app.towxml(pastData.postData.md,'markdown',{
			events:{
				tap:e => {
					console.log('tap',e);
				},
				change:e => {
					console.log('todo',e);
				}
			}
		});
		this.setData({
				article:obj,
				isLoading: false
			});

	}
})



一般是不推荐使用本地Markdown文件,因为微信对本地文档不支持了(推荐网络传输),使用起来太麻烦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值