This commit is contained in:
Hakim El Hattab 2015-07-07 12:15:43 +02:00
parent 399d4f652d
commit d44125d789

View file

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