From e693717f2aa2d65f8f0cf6412a01084280fc2c9a Mon Sep 17 00:00:00 2001 From: Hakim El Hattab Date: Sun, 28 Oct 2012 18:09:54 -0400 Subject: [PATCH] update syntax highlight after editing (#210), move markdown and highlight scripts from lib to plugin --- index.html | 7 ++++--- {lib/js => plugin/highlight}/highlight.js | 9 +++++++++ lib/js/data-markdown.js => plugin/markdown/markdown.js | 4 ++++ {lib/js => plugin/markdown}/showdown.js | 0 4 files changed, 17 insertions(+), 3 deletions(-) rename {lib/js => plugin/highlight}/highlight.js (98%) rename lib/js/data-markdown.js => plugin/markdown/markdown.js (87%) rename {lib/js => plugin/markdown}/showdown.js (100%) diff --git a/index.html b/index.html index 45029b50..89398c14 100644 --- a/index.html +++ b/index.html @@ -356,14 +356,15 @@ function linkify( selector ) { // Optional libraries used to extend on reveal.js dependencies: [ - { src: 'lib/js/highlight.js', async: true, callback: function() { window.hljs.initHighlightingOnLoad(); } }, { src: 'lib/js/classList.js', condition: function() { return !document.body.classList; } }, - { src: 'lib/js/showdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } }, - { src: 'lib/js/data-markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } }, + { src: 'plugin/markdown/showdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } }, + { src: 'plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } }, + { src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }, { src: 'plugin/zoom-js/zoom.js', async: true, condition: function() { return !!document.body.classList; } }, { src: 'plugin/notes/notes.js', async: true, condition: function() { return !!document.body.classList; } } ] }); + diff --git a/lib/js/highlight.js b/plugin/highlight/highlight.js similarity index 98% rename from lib/js/highlight.js rename to plugin/highlight/highlight.js index cb27067c..9a4458a2 100644 --- a/lib/js/highlight.js +++ b/plugin/highlight/highlight.js @@ -1,3 +1,12 @@ +// START CUSTOM REVEAL.JS INTEGRATION +[].slice.call( document.querySelectorAll( 'pre code' ) ).forEach( function( element ) { + element.addEventListener( 'focusout', function( event ) { + hljs.highlightBlock( event.currentTarget ); + }, false ); +} ); +// END CUSTOM REVEAL.JS INTEGRATION + + /* Syntax highlighting with language autodetection. http://softwaremaniacs.org/soft/highlight/ diff --git a/lib/js/data-markdown.js b/plugin/markdown/markdown.js similarity index 87% rename from lib/js/data-markdown.js rename to plugin/markdown/markdown.js index 80f8eb01..07ffd808 100644 --- a/lib/js/data-markdown.js +++ b/plugin/markdown/markdown.js @@ -2,6 +2,10 @@ // Modified by Hakim to handle Markdown indented with tabs (function(){ + if( typeof Showdown === 'undefined' ) { + throw 'The reveal.js Markdown plugin requires Showdown to be loaded'; + } + var sections = document.querySelectorAll( '[data-markdown]' ); for( var i = 0, len = sections.length; i < len; i++ ) { diff --git a/lib/js/showdown.js b/plugin/markdown/showdown.js similarity index 100% rename from lib/js/showdown.js rename to plugin/markdown/showdown.js