Fix possible unclose HTML and leaked html tags when fail to parse diagrams
This commit is contained in:
		
							parent
							
								
									b6ce7a6ab1
								
							
						
					
					
						commit
						dae141a9d3
					
				| @ -315,6 +315,7 @@ function finishView(view) { | |||||||
|             svg[0].setAttribute('viewBox', '0 0 ' + svg.attr('width') + ' ' + svg.attr('height')); |             svg[0].setAttribute('viewBox', '0 0 ' + svg.attr('width') + ' ' + svg.attr('height')); | ||||||
|             svg[0].setAttribute('preserveAspectRatio', 'xMidYMid meet'); |             svg[0].setAttribute('preserveAspectRatio', 'xMidYMid meet'); | ||||||
|         } catch (err) { |         } catch (err) { | ||||||
|  |             $value.unwrap(); | ||||||
|             console.warn(err); |             console.warn(err); | ||||||
|         } |         } | ||||||
|     }); |     }); | ||||||
| @ -337,6 +338,7 @@ function finishView(view) { | |||||||
|             $ele.addClass('flow-chart'); |             $ele.addClass('flow-chart'); | ||||||
|             $value.children().unwrap().unwrap(); |             $value.children().unwrap().unwrap(); | ||||||
|         } catch (err) { |         } catch (err) { | ||||||
|  |             $value.unwrap(); | ||||||
|             console.warn(err); |             console.warn(err); | ||||||
|         } |         } | ||||||
|     }); |     }); | ||||||
| @ -354,6 +356,7 @@ function finishView(view) { | |||||||
|             $ele.addClass('graphviz'); |             $ele.addClass('graphviz'); | ||||||
|             $value.children().unwrap().unwrap(); |             $value.children().unwrap().unwrap(); | ||||||
|         } catch (err) { |         } catch (err) { | ||||||
|  |             $value.unwrap(); | ||||||
|             console.warn(err); |             console.warn(err); | ||||||
|         } |         } | ||||||
|     }); |     }); | ||||||
| @ -374,9 +377,11 @@ function finishView(view) { | |||||||
|                 $ele.html($value.text()); |                 $ele.html($value.text()); | ||||||
|                 mermaid.init(undefined, $ele); |                 mermaid.init(undefined, $ele); | ||||||
|             } else { |             } else { | ||||||
|  |                 $value.unwrap(); | ||||||
|                 console.warn(mermaidError); |                 console.warn(mermaidError); | ||||||
|             } |             } | ||||||
|         } catch (err) { |         } catch (err) { | ||||||
|  |             $value.unwrap(); | ||||||
|             console.warn(err); |             console.warn(err); | ||||||
|         } |         } | ||||||
|     }); |     }); | ||||||
| @ -476,16 +481,17 @@ function finishView(view) { | |||||||
|                 var code = ""; |                 var code = ""; | ||||||
|                 if (codeDiv.length > 0) code = codeDiv.html(); |                 if (codeDiv.length > 0) code = codeDiv.html(); | ||||||
|                 else code = langDiv.html(); |                 else code = langDiv.html(); | ||||||
|                 code = S(code).unescapeHTML().s; |  | ||||||
|                 if (!reallang) { |                 if (!reallang) { | ||||||
|                     var result = { |                     var result = { | ||||||
|                         value: S(code).escapeHTML().s |                         value: code | ||||||
|                     }; |                     }; | ||||||
|                 } else if (reallang == "tiddlywiki" || reallang == "mediawiki") { |                 } else if (reallang == "tiddlywiki" || reallang == "mediawiki") { | ||||||
|  |                     code = S(code).unescapeHTML().s; | ||||||
|                     var result = { |                     var result = { | ||||||
|                         value: Prism.highlight(code, Prism.languages.wiki) |                         value: Prism.highlight(code, Prism.languages.wiki) | ||||||
|                     }; |                     }; | ||||||
|                 } else { |                 } else { | ||||||
|  |                     code = S(code).unescapeHTML().s; | ||||||
|                     var languages = hljs.listLanguages(); |                     var languages = hljs.listLanguages(); | ||||||
|                     if (languages.indexOf(reallang) == -1) { |                     if (languages.indexOf(reallang) == -1) { | ||||||
|                         var result = hljs.highlightAuto(code); |                         var result = hljs.highlightAuto(code); | ||||||
| @ -827,6 +833,7 @@ function scrollToHash() { | |||||||
| function highlightRender(code, lang) { | function highlightRender(code, lang) { | ||||||
|     if (!lang || /no(-?)highlight|plain|text/.test(lang)) |     if (!lang || /no(-?)highlight|plain|text/.test(lang)) | ||||||
|         return; |         return; | ||||||
|  |     code = S(code).escapeHTML().s | ||||||
|     if (lang == 'sequence') { |     if (lang == 'sequence') { | ||||||
|         return '<div class="sequence-diagram raw">' + code + '</div>'; |         return '<div class="sequence-diagram raw">' + code + '</div>'; | ||||||
|     } else if (lang == 'flow') { |     } else if (lang == 'flow') { | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user