Blame view

uview-ui/components/u-parse/libs/config.js 2.48 KB
290144e9   易尊强   第一次
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
  /* 配置文件 */
  var cfg = {
  	// 出错占位图
  	errorImg: null,
  	// 过滤器函数
  	filter: null,
  	// 代码高亮函数
  	highlight: null,
  	// 文本处理函数
  	onText: null,
  	// 实体编码列表
  	entities: {
  		quot: '"',
  		apos: "'",
  		semi: ';',
  		nbsp: '\xA0',
  		ensp: '\u2002',
  		emsp: '\u2003',
  		ndash: '–',
  		mdash: '—',
  		middot: '·',
  		lsquo: '‘',
  		rsquo: '’',
  		ldquo: '“',
  		rdquo: '”',
  		bull: '•',
  		hellip: '…'
  	},
  	blankChar: makeMap(' ,\xA0,\t,\r,\n,\f'),
  	boolAttrs: makeMap('allowfullscreen,autoplay,autostart,controls,ignore,loop,muted'),
  	// 块级标签,将被转为 div
  	blockTags: makeMap('address,article,aside,body,caption,center,cite,footer,header,html,nav,pre,section'),
  	// 将被移除的标签
  	ignoreTags: makeMap('area,base,canvas,frame,iframe,input,link,map,meta,param,script,source,style,svg,textarea,title,track,wbr'),
  	// 只能被 rich-text 显示的标签
  	richOnlyTags: makeMap('a,colgroup,fieldset,legend'),
  	// 自闭合的标签
  	selfClosingTags: makeMap('area,base,br,col,circle,ellipse,embed,frame,hr,img,input,line,link,meta,param,path,polygon,rect,source,track,use,wbr'),
  	// 信任的标签
  	trustTags: makeMap('a,abbr,ad,audio,b,blockquote,br,code,col,colgroup,dd,del,dl,dt,div,em,fieldset,h1,h2,h3,h4,h5,h6,hr,i,img,ins,label,legend,li,ol,p,q,source,span,strong,sub,sup,table,tbody,td,tfoot,th,thead,tr,title,ul,video'),
  	// 默认的标签样式
  	userAgentStyles: {
  		address: 'font-style:italic',
  		big: 'display:inline;font-size:1.2em',
  		blockquote: 'background-color:#f6f6f6;border-left:3px solid #dbdbdb;color:#6c6c6c;padding:5px 0 5px 10px',
  		caption: 'display:table-caption;text-align:center',
  		center: 'text-align:center',
  		cite: 'font-style:italic',
  		dd: 'margin-left:40px',
  		mark: 'background-color:yellow',
  		pre: 'font-family:monospace;white-space:pre;overflow:scroll',
  		s: 'text-decoration:line-through',
  		small: 'display:inline;font-size:0.8em',
  		u: 'text-decoration:underline'
  	}
  }
  
  function makeMap(str) {
  	var map = Object.create(null),
  		list = str.split(',');
  	for (var i = list.length; i--;)
  		map[list[i]] = true;
  	return map;
  }
  
  // #ifdef MP-WEIXIN
  if (wx.canIUse('editor')) {
  	cfg.blockTags.pre = void 0;
  	cfg.ignoreTags.rp = true;
  	Object.assign(cfg.richOnlyTags, makeMap('bdi,bdo,caption,rt,ruby'));
  	Object.assign(cfg.trustTags, makeMap('bdi,bdo,caption,pre,rt,ruby'));
  }
  // #endif
  
  // #ifdef APP-PLUS
  cfg.ignoreTags.iframe = void 0;
  Object.assign(cfg.trustTags, makeMap('embed,iframe'));
  // #endif
  
  module.exports = cfg;