mermaid图表支持html标签,分享一个把 HTML 转换成印象笔记格式的库,支持代码高亮和把 ECharts、mermaid 转成印象笔记支持的图片,另外:MWeb 半价促销一周。...

这个库是由 cyhhao 特意为 MWeb 做的,但是我觉得对于有分享到印象笔记功能需求的朋友非常有用,所以分享出来。

这个库的原理和用法在作者的 github 中有详细说明了,我这里主要说说在套进 MWeb 过程中遇到的小问题的解决方案。

第一个问题是 SVG 问题,Mermaid 是用 SVG 而不是 Canvas 画图的,不能直接像 Canvas 这样转。解决这个问题花了不少时间,但是其实很简单。只需要在增加 inline 样式后,再用以下代码就可以搞定了:

$('svg').each(function(){

var ele = $(this);

var w = ele.width();

var serializer = new XMLSerializer();

var source = serializer.serializeToString(this);

$('').whith(w).insertAfter(ele);

ele.parent().removeAttr('data-processed');

ele.remove();

});

另外就是,印象笔记的 enml 格式实际上是一个 xml,但是一般的 html 都不会严格按照 xml 格式,这就要转化为 xml 格式,测试下来,我发现以下代码的方法非常合适而且好用,代码如下:

var html = $('body').html();

var bodyStyle = $('body').attr('style'); if(!bodyStyle) bodyStyle = '';

var htmlString = "

" + html + "
";

var doc = new DOMParser().parseFromString(htmlString, 'text/html');

var result = new XMLSerializer().serializeToString(doc);

最后做一下广告:MWeb 半价促销一周 (9/5~9/11),¥98 --> ¥50!这次应该是今年最后一次促销了,需要的朋友不要错过了!

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值