You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.0 KiB
44 lines
1.0 KiB
var inlineTags = {
|
|
abbr: 1,
|
|
b: 1,
|
|
big: 1,
|
|
code: 1,
|
|
del: 1,
|
|
em: 1,
|
|
i: 1,
|
|
ins: 1,
|
|
label: 1,
|
|
q: 1,
|
|
small: 1,
|
|
span: 1,
|
|
strong: 1
|
|
}
|
|
module.exports = {
|
|
// 从顶层标签的样式中取出一些给 rich-text
|
|
getStyle: function(style) {
|
|
if (style) {
|
|
var i, j, res = '';
|
|
if ((i = style.indexOf('display')) != -1)
|
|
res = style.substring(i, (j = style.indexOf(';', i)) == -1 ? style.length : j);
|
|
if ((i = style.indexOf('float')) != -1)
|
|
res += ';' + style.substring(i, (j = style.indexOf(';', i)) == -1 ? style.length : j);
|
|
return res;
|
|
}
|
|
},
|
|
// 处理懒加载
|
|
getNode: function(item, imgLoad) {
|
|
if (!imgLoad && item.attrs.i != '0') {
|
|
var img = {
|
|
name: 'img',
|
|
attrs: JSON.parse(JSON.stringify(item.attrs))
|
|
}
|
|
delete img.attrs.src;
|
|
img.attrs.style += ';width:20px;height:20px';
|
|
return [img];
|
|
} else return [item];
|
|
},
|
|
// 是否通过 rich-text 显示
|
|
useRichText: function(item) {
|
|
return !item.c && !inlineTags[item.name] && (item.attrs.style || '').indexOf('display:inline') == -1;
|
|
}
|
|
}
|
|
|