markdown refactoring #507
This commit is contained in:
		| @@ -3,7 +3,17 @@ | ||||
|  * markdown inside of presentations as well as loading | ||||
|  * 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' ) { | ||||
| 		throw 'The reveal.js Markdown plugin requires marked to be loaded'; | ||||
| @@ -91,7 +101,7 @@ | ||||
| 	 * Parses a data string into multiple slides based | ||||
| 	 * on the passed in separator arguments. | ||||
| 	 */ | ||||
| 	function slidifyMarkdown( markdown, options ) { | ||||
| 	function slidify( markdown, options ) { | ||||
|  | ||||
| 		options = options || {}; | ||||
| 		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]'), | ||||
| 			section; | ||||
| @@ -187,7 +202,7 @@ | ||||
| 					if( xhr.readyState === 4 ) { | ||||
| 						if ( xhr.status >= 200 && xhr.status < 300 ) { | ||||
|  | ||||
| 							section.outerHTML = slidifyMarkdown( xhr.responseText, { | ||||
| 							section.outerHTML = slidify( xhr.responseText, { | ||||
| 								separator: section.getAttribute( 'data-separator' ), | ||||
| 								verticalSeparator: section.getAttribute( 'data-vertical' ), | ||||
| 								notesSeparator: section.getAttribute( 'data-notes' ), | ||||
| @@ -219,7 +234,7 @@ | ||||
| 			} | ||||
| 			else if( section.getAttribute( 'data-separator' ) ) { | ||||
|  | ||||
| 				section.outerHTML = slidifyMarkdown( getMarkdownFromSlide( section ), { | ||||
| 				section.outerHTML = slidify( getMarkdownFromSlide( section ), { | ||||
| 					separator: section.getAttribute( 'data-separator' ), | ||||
| 					verticalSeparator: section.getAttribute( 'data-vertical' ), | ||||
| 					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]'); | ||||
|  | ||||
| @@ -254,7 +273,10 @@ | ||||
|  | ||||
| 	} | ||||
|  | ||||
| 	loadExternalMarkdown(); | ||||
| 	convertMarkdownToHTML(); | ||||
| 	return { | ||||
| 		processSlides: processSlides, | ||||
| 		convertSlides: convertSlides, | ||||
| 		slidify: slidify | ||||
| 	}; | ||||
|  | ||||
| })(); | ||||
| })); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user