|
@@ -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>';
|
|
|
|
|
|
}
|
|
}
|