added slide announcing markdown support (#15)
authorHakim El Hattab <hakim.elhattab@gmail.com>
Tue, 31 Jul 2012 05:35:16 +0000 (01:35 -0400)
committerHakim El Hattab <hakim.elhattab@gmail.com>
Tue, 31 Jul 2012 05:35:25 +0000 (01:35 -0400)
README.md
index.html
js/reveal.js

index c55a30cc2d5996da52aea5b75e1b1392c702e87f..be330433b3cad9d69d7526eb130781540058f089 100644 (file)
--- a/README.md
+++ b/README.md
@@ -182,7 +182,9 @@ You can change the appearance of the speaker notes by editing the file at `plugi
 - New API method ```Reveal.getPreviousSlide()```
 - New API method ```Reveal.getCurrentSlide()```
 - New API method ```Reveal.getIndices()```
-- Fixes bug where the ```.present``` class was sometimes left on the previous slide
+- Fixed bug where the ```.present``` class was sometimes left on the previous slide
+- Added support for slides written using markdown
+- Added helped method ```Reveal.getQueryHash()```
 
 #### 1.4
 - Main ```#reveal container``` is now selected via a class instead of ID
index b66f4f19bdbbb820e8523eff377e0fe0f050efab..420ef4d19f46e648926d67940bb50446853f1b49 100644 (file)
                                        </p>
                                </section>
 
-                               <section>
-                                       <h2>Transition Styles</h2>
-                                       <p>
-                                               You can select from different transitions, like:
-                                       </p>
-                                       <ul>
-                                               <li><a href="http://lab.hakim.se/reveal-js/?transition=cube">Cube</a></li>
-                                               <li><a href="http://lab.hakim.se/reveal-js/?transition=page">Page</a></li>
-                                               <li><a href="http://lab.hakim.se/reveal-js/?transition=concave">Concave</a></li>
-                                               <li><a href="http://lab.hakim.se/reveal-js/?transition=linear">Linear</a></li>
-                                       </ul>
-                               </section>
-
                                <section>
                                        <h2>Marvelous Unordered List</h2>
                                        <ul>
                                        </ol>
                                </section>
 
+                               <section data-markdown>
+                                       ## Markdown support
+                                       
+                                       For those of you who like that sort of thing. Instructions and a bit more info 
+                                       available [here](https://github.com/hakimel/reveal.js#markdown).
+
+                                       <pre><code contenteditable style="margin-top: 20px;">&lt;section data-markdown&gt;
+  ## Markdown support
+  For those of you who like that sort of thing. Instructions and a bit more info available [here](https://github.com/hakimel/reveal.js#markdown).
+&lt;/section&gt;
+                                       </code></pre>
+                               </section>
+
+                               <section>
+                                       <h2>Transition Styles</h2>
+                                       <p>
+                                               You can select from different transitions, like:
+                                       </p>
+                                       <ul>
+                                               <li><a href="http://lab.hakim.se/reveal-js/?transition=cube">Cube</a></li>
+                                               <li><a href="http://lab.hakim.se/reveal-js/?transition=page">Page</a></li>
+                                               <li><a href="http://lab.hakim.se/reveal-js/?transition=concave">Concave</a></li>
+                                               <li><a href="http://lab.hakim.se/reveal-js/?transition=linear">Linear</a></li>
+                                       </ul>
+                               </section>
+
                                <section>
                                        <section data-state="alert">
                                                <h2>Global State</h2>
@@ -259,7 +272,7 @@ function linkify( selector ) {
                <script src="lib/js/head.min.js"></script>
 
                <script>
-                       // All scripts that should be loaded before initializing
+                       // Scripts that should be loaded before initializing
                        var scripts = [];
 
                        // If the browser doesn't support classList, load a polyfill
@@ -273,15 +286,17 @@ function linkify( selector ) {
                                scripts.push( 'lib/js/data-markdown.js' );
                        }
 
-                       scripts.push( 'js/reveal.js' );
+                       // If we're runnning the notes server we need to include some additional JS
+                       // TODO Is there a better way to determine if we're running the notes server?
+                       if( window.location.host === 'localhost:1947' ) {
+                               scripts.push( 'socket.io/socket.io.js' );
+                               scripts.push( 'plugin/speakernotes/client.js' );
+                       }
 
-                       head.js.apply( null, scripts.concat([ function() {
+                       scripts.push( 'js/reveal.js' );
 
-                               // Parse the query string into a key/value object
-                               var query = {};
-                               location.search.replace( /[A-Z0-9]+?=(\w*)/gi, function(a) {
-                                       query[ a.split( '=' ).shift() ] = a.split( '=' ).pop();
-                               } );
+                       // Load the scripts and, when completed, initialize reveal.js
+                       head.js.apply( null, scripts.concat([function() {
 
                                // Fires when a slide with data-state=customevent is activated
                                Reveal.addEventListener( 'customevent', function() {
@@ -300,8 +315,8 @@ function linkify( selector ) {
                                        progress: true,
                                        history: true,
                                        
-                                       theme: query.theme || 'default', // default/neon/beige
-                                       transition: query.transition || 'default' // default/cube/page/concave/linear(2d)
+                                       theme: Reveal.getQueryHash().theme || 'default', // default/neon/beige
+                                       transition: Reveal.getQueryHash().transition || 'default' // default/cube/page/concave/linear(2d)
                                });
 
                        }]));
@@ -310,12 +325,6 @@ function linkify( selector ) {
                        head.js( 'lib/js/highlight.js', function() { 
                                hljs.initHighlightingOnLoad(); 
                        } );
-
-                       // If we're runnning the notes server we need to include some additional JS
-                       // TODO Is there a better way to determine if we're running the notes server?
-                       if( window.location.host === 'localhost:1947' ) {
-                               head.js( 'socket.io/socket.io.js', 'plugin/speakernotes/client.js' );
-                       }
                </script>
                
        </body>
index cbb859ab92431eb59f8f8038cc012ac63262b8df..86af9c07c49adbf9447dd4b6ca5e0748d1ece733 100644 (file)
@@ -1,5 +1,5 @@
 /*!
- * reveal.js 1.5 r4
+ * reveal.js 1.5 r6
  * http://lab.hakim.se/reveal-js
  * MIT licensed
  * 
@@ -1015,6 +1015,17 @@ var Reveal = (function(){
                        return currentSlide
                },
 
+               // Helper method, retrieves query string as a key/value hash
+               getQueryHash: function() {
+                       var query = {};
+
+                       location.search.replace( /[A-Z0-9]+?=(\w*)/gi, function(a) {
+                               query[ a.split( '=' ).shift() ] = a.split( '=' ).pop();
+                       } );
+
+                       return query;
+               },
+
                // Forward event binding to the reveal DOM element
                addEventListener: function( type, listener, useCapture ) {
                        ( dom.wrapper || document.querySelector( '.reveal' ) ).addEventListener( type, listener, useCapture );