fix issue with notes on last slide of external markdown #589
This commit is contained in:
parent
a3e6c95e79
commit
ef9168c7c4
1 changed files with 28 additions and 5 deletions
|
@ -27,6 +27,10 @@
|
|||
});
|
||||
}
|
||||
|
||||
var DEFAULT_SLIDE_SEPARATOR = '^\n---\n$',
|
||||
DEFAULT_NOTES_SEPARATOR = 'note:';
|
||||
|
||||
|
||||
/**
|
||||
* Retrieves the markdown contents of a slide section
|
||||
* element. Normalizes leading tabs/whitespace.
|
||||
|
@ -82,11 +86,28 @@
|
|||
|
||||
}
|
||||
|
||||
/**
|
||||
* Inspects the given options and fills out default
|
||||
* values for what's not defined.
|
||||
*/
|
||||
function getSlidifyOptions( options ) {
|
||||
|
||||
options = options || {};
|
||||
options.separator = options.separator || DEFAULT_SLIDE_SEPARATOR;
|
||||
options.notesSeparator = options.notesSeparator || DEFAULT_NOTES_SEPARATOR;
|
||||
options.attributes = options.attributes || '';
|
||||
|
||||
return options;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper function for constructing a markdown slide.
|
||||
*/
|
||||
function createMarkdownSlide( content, options ) {
|
||||
|
||||
options = getSlidifyOptions( options );
|
||||
|
||||
var notesMatch = content.split( new RegExp( options.notesSeparator, 'mgi' ) );
|
||||
|
||||
if( notesMatch.length === 2 ) {
|
||||
|
@ -103,10 +124,7 @@
|
|||
*/
|
||||
function slidify( markdown, options ) {
|
||||
|
||||
options = options || {};
|
||||
options.separator = options.separator || '^\n---\n$';
|
||||
options.notesSeparator = options.notesSeparator || 'note:';
|
||||
options.attributes = options.attributes || '';
|
||||
options = getSlidifyOptions( options );
|
||||
|
||||
var separatorRegex = new RegExp( options.separator + ( options.verticalSeparator ? '|' + options.verticalSeparator : '' ), 'mg' ),
|
||||
horizontalSeparatorRegex = new RegExp( options.separator );
|
||||
|
@ -232,7 +250,7 @@
|
|||
}
|
||||
|
||||
}
|
||||
else if( section.getAttribute( 'data-separator' ) ) {
|
||||
else if( section.getAttribute( 'data-separator' ) || section.getAttribute( 'data-vertical' ) || section.getAttribute( 'data-notes' ) ) {
|
||||
|
||||
section.outerHTML = slidify( getMarkdownFromSlide( section ), {
|
||||
separator: section.getAttribute( 'data-separator' ),
|
||||
|
@ -242,6 +260,11 @@
|
|||
});
|
||||
|
||||
}
|
||||
else {
|
||||
|
||||
section.innerHTML = createMarkdownSlide( getMarkdownFromSlide( section ) );
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue