markdown refactoring #507
This commit is contained in:
parent
e9b0f5b481
commit
d9c9474938
|
@ -3,7 +3,17 @@
|
||||||
* markdown inside of presentations as well as loading
|
* markdown inside of presentations as well as loading
|
||||||
* of external markdown documents.
|
* of external markdown documents.
|
||||||
*/
|
*/
|
||||||
(function(){
|
(function( root, factory ) {
|
||||||
|
if( typeof exports === 'object' ) {
|
||||||
|
module.exports = factory( require( './marked' ) );
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
// Browser globals (root is window)
|
||||||
|
root.returnExports = factory( root.marked );
|
||||||
|
root.returnExports.processSlides();
|
||||||
|
root.returnExports.convertSlides();
|
||||||
|
}
|
||||||
|
}( this, function( marked ) {
|
||||||
|
|
||||||
if( typeof marked === 'undefined' ) {
|
if( typeof marked === 'undefined' ) {
|
||||||
throw 'The reveal.js Markdown plugin requires marked to be loaded';
|
throw 'The reveal.js Markdown plugin requires marked to be loaded';
|
||||||
|
@ -91,7 +101,7 @@
|
||||||
* Parses a data string into multiple slides based
|
* Parses a data string into multiple slides based
|
||||||
* on the passed in separator arguments.
|
* on the passed in separator arguments.
|
||||||
*/
|
*/
|
||||||
function slidifyMarkdown( markdown, options ) {
|
function slidify( markdown, options ) {
|
||||||
|
|
||||||
options = options || {};
|
options = options || {};
|
||||||
options.separator = options.separator || '^\n---\n$';
|
options.separator = options.separator || '^\n---\n$';
|
||||||
|
@ -162,7 +172,12 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function loadExternalMarkdown() {
|
/**
|
||||||
|
* Parses any current data-markdown slides, splits
|
||||||
|
* multi-slide markdown into separate sections and
|
||||||
|
* handles loading of external markdown.
|
||||||
|
*/
|
||||||
|
function processSlides() {
|
||||||
|
|
||||||
var sections = document.querySelectorAll( '[data-markdown]'),
|
var sections = document.querySelectorAll( '[data-markdown]'),
|
||||||
section;
|
section;
|
||||||
|
@ -187,7 +202,7 @@
|
||||||
if( xhr.readyState === 4 ) {
|
if( xhr.readyState === 4 ) {
|
||||||
if ( xhr.status >= 200 && xhr.status < 300 ) {
|
if ( xhr.status >= 200 && xhr.status < 300 ) {
|
||||||
|
|
||||||
section.outerHTML = slidifyMarkdown( xhr.responseText, {
|
section.outerHTML = slidify( xhr.responseText, {
|
||||||
separator: section.getAttribute( 'data-separator' ),
|
separator: section.getAttribute( 'data-separator' ),
|
||||||
verticalSeparator: section.getAttribute( 'data-vertical' ),
|
verticalSeparator: section.getAttribute( 'data-vertical' ),
|
||||||
notesSeparator: section.getAttribute( 'data-notes' ),
|
notesSeparator: section.getAttribute( 'data-notes' ),
|
||||||
|
@ -219,7 +234,7 @@
|
||||||
}
|
}
|
||||||
else if( section.getAttribute( 'data-separator' ) ) {
|
else if( section.getAttribute( 'data-separator' ) ) {
|
||||||
|
|
||||||
section.outerHTML = slidifyMarkdown( getMarkdownFromSlide( section ), {
|
section.outerHTML = slidify( getMarkdownFromSlide( section ), {
|
||||||
separator: section.getAttribute( 'data-separator' ),
|
separator: section.getAttribute( 'data-separator' ),
|
||||||
verticalSeparator: section.getAttribute( 'data-vertical' ),
|
verticalSeparator: section.getAttribute( 'data-vertical' ),
|
||||||
notesSeparator: section.getAttribute( 'data-notes' ),
|
notesSeparator: section.getAttribute( 'data-notes' ),
|
||||||
|
@ -231,7 +246,11 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function convertMarkdownToHTML() {
|
/**
|
||||||
|
* Converts any current data-markdown slides in the
|
||||||
|
* DOM to HTML.
|
||||||
|
*/
|
||||||
|
function convertSlides() {
|
||||||
|
|
||||||
var sections = document.querySelectorAll( '[data-markdown]');
|
var sections = document.querySelectorAll( '[data-markdown]');
|
||||||
|
|
||||||
|
@ -254,7 +273,10 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
loadExternalMarkdown();
|
return {
|
||||||
convertMarkdownToHTML();
|
processSlides: processSlides,
|
||||||
|
convertSlides: convertSlides,
|
||||||
|
slidify: slidify
|
||||||
|
};
|
||||||
|
|
||||||
})();
|
}));
|
||||||
|
|
Loading…
Reference in New Issue