support for data-markdown (#15)
This commit is contained in:
		
							
								
								
									
										22
									
								
								index.html
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								index.html
									
									
									
									
									
								
							| @@ -259,9 +259,23 @@ function linkify( selector ) { | |||||||
| 		<script src="lib/js/head.min.js"></script> | 		<script src="lib/js/head.min.js"></script> | ||||||
|  |  | ||||||
| 		<script> | 		<script> | ||||||
| 			// Load reveal.js as well as a classList polyfill if needed | 			// All scripts that should be loaded before initializing | ||||||
| 			head.js( !document.body.classList ? 'lib/js/classList.js' : null ) | 			var scripts = []; | ||||||
| 				.js( 'js/reveal.js', function() { |  | ||||||
|  | 			// If the browser doesn't support classList, load a polyfill | ||||||
|  | 			if( !document.body.classList ) { | ||||||
|  | 				scripts.push( 'lib/js/classList.js' ); | ||||||
|  | 			} | ||||||
|  |  | ||||||
|  | 			// Load markdown parser if there are slides defined using markdown | ||||||
|  | 			if( document.querySelector( '[data-markdown]' ) ) { | ||||||
|  | 				scripts.push( 'lib/js/showdown.js' ); | ||||||
|  | 				scripts.push( 'lib/js/data-markdown.js' ); | ||||||
|  | 			} | ||||||
|  |  | ||||||
|  | 			scripts.push( 'js/reveal.js' ); | ||||||
|  |  | ||||||
|  | 			head.js.apply( null, scripts.concat([ function() { | ||||||
|  |  | ||||||
| 				// Parse the query string into a key/value object | 				// Parse the query string into a key/value object | ||||||
| 				var query = {}; | 				var query = {}; | ||||||
| @@ -290,7 +304,7 @@ function linkify( selector ) { | |||||||
| 					transition: query.transition || 'default' // default/cube/page/concave/linear(2d) | 					transition: query.transition || 'default' // default/cube/page/concave/linear(2d) | ||||||
| 				}); | 				}); | ||||||
|  |  | ||||||
| 			} ); | 			}])); | ||||||
| 			 | 			 | ||||||
| 			// Load highlight.js for syntax highlighting of code samples | 			// Load highlight.js for syntax highlighting of code samples | ||||||
| 			head.js( 'lib/js/highlight.js', function() {  | 			head.js( 'lib/js/highlight.js', function() {  | ||||||
|   | |||||||
| @@ -1,5 +1,5 @@ | |||||||
| /*! | /*! | ||||||
|  * reveal.js 1.5 r3 |  * reveal.js 1.5 r4 | ||||||
|  * http://lab.hakim.se/reveal-js |  * http://lab.hakim.se/reveal-js | ||||||
|  * MIT licensed |  * MIT licensed | ||||||
|  *  |  *  | ||||||
|   | |||||||
							
								
								
									
										19
									
								
								lib/js/data-markdown.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								lib/js/data-markdown.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | |||||||
|  | // From https://gist.github.com/1343518, modified to not load showdown | ||||||
|  | (function boom(){ | ||||||
|  |  | ||||||
|  |   [].forEach.call( document.querySelectorAll('[data-markdown]'), function  fn(elem){ | ||||||
|  |        | ||||||
|  |     // strip leading whitespace so it isn't evaluated as code | ||||||
|  |     var text      = elem.innerHTML.replace(/\n\s*\n/g,'\n'), | ||||||
|  |         // set indentation level so your markdown can be indented within your HTML | ||||||
|  |         leadingws = text.match(/^\n?(\s*)/)[1].length, | ||||||
|  |         regex     = new RegExp('\\n?\\s{' + leadingws + '}','g'), | ||||||
|  |         md        = text.replace(regex,'\n'), | ||||||
|  |         html      = (new Showdown.converter()).makeHtml(md); | ||||||
|  |  | ||||||
|  |     // here, have sum HTML | ||||||
|  |     elem.innerHTML = html; | ||||||
|  |  | ||||||
|  |   }); | ||||||
|  |  | ||||||
|  | }()); | ||||||
							
								
								
									
										1341
									
								
								lib/js/showdown.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1341
									
								
								lib/js/showdown.js
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Reference in New Issue
	
	Block a user