Hakim El Hattab пре 9 година
родитељ
комит
d44125d789
1 измењених фајлова са 11 додато и 4 уклоњено
  1. 11 4
      plugin/markdown/markdown.js

+ 11 - 4
plugin/markdown/markdown.js

@@ -31,6 +31,8 @@
 		DEFAULT_ELEMENT_ATTRIBUTES_SEPARATOR = '\\\.element\\\s*?(.+?)$',
 		DEFAULT_SLIDE_ATTRIBUTES_SEPARATOR = '\\\.slide:\\\s*?(\\\S.+?)$';
 
+	var SCRIPT_END_PLACEHOLDER = '__SCRIPT_END__';
+
 
 	/**
 	 * Retrieves the markdown contents of a slide section
@@ -42,8 +44,10 @@
 
 		// strip leading whitespace so it isn't evaluated as code
 		var text = ( template || section ).textContent;
-		// restore script end tag
-		text = text.replace(/__SCRIPT_END__/g, '</script>');
+
+		// restore script end tags
+		text = text.replace( new RegExp( SCRIPT_END_PLACEHOLDER, 'g' ), '</script>' );
+
 		var leadingWs = text.match( /^\n?(\s*)/ )[1].length,
 			leadingTabs = text.match( /^\n?(\t*)/ )[1].length;
 
@@ -115,8 +119,11 @@
 		if( notesMatch.length === 2 ) {
 			content = notesMatch[0] + '<aside class="notes" data-markdown>' + notesMatch[1].trim() + '</aside>';
 		}
-		//handle script end tag bug
-		content = content.replace(/<\/script>/g, '__SCRIPT_END__');
+
+		// prevent script end tags in the content from interfering
+		// with parsing
+		content = content.replace( /<\/script>/g, SCRIPT_END_PLACEHOLDER );
+
 		return '<script type="text/template">' + content + '</script>';
 
 	}