added slide announcing markdown support (#15)

This commit is contained in:
Hakim El Hattab 2012-07-31 01:35:16 -04:00
parent 19852772fe
commit 696346dccb
3 changed files with 53 additions and 31 deletions

View file

@ -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.getPreviousSlide()```
- New API method ```Reveal.getCurrentSlide()``` - New API method ```Reveal.getCurrentSlide()```
- New API method ```Reveal.getIndices()``` - 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 #### 1.4
- Main ```#reveal container``` is now selected via a class instead of ID - Main ```#reveal container``` is now selected via a class instead of ID

View file

@ -100,19 +100,6 @@
</p> </p>
</section> </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>
<h2>Marvelous Unordered List</h2> <h2>Marvelous Unordered List</h2>
<ul> <ul>
@ -132,6 +119,32 @@
</ol> </ol>
</section> </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>
<section data-state="alert"> <section data-state="alert">
<h2>Global State</h2> <h2>Global State</h2>
@ -259,7 +272,7 @@ function linkify( selector ) {
<script src="lib/js/head.min.js"></script> <script src="lib/js/head.min.js"></script>
<script> <script>
// All scripts that should be loaded before initializing // Scripts that should be loaded before initializing
var scripts = []; var scripts = [];
// If the browser doesn't support classList, load a polyfill // If the browser doesn't support classList, load a polyfill
@ -273,16 +286,18 @@ function linkify( selector ) {
scripts.push( 'lib/js/data-markdown.js' ); scripts.push( 'lib/js/data-markdown.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' );
}
scripts.push( 'js/reveal.js' ); scripts.push( 'js/reveal.js' );
// Load the scripts and, when completed, initialize reveal.js
head.js.apply( null, scripts.concat([function() { head.js.apply( null, scripts.concat([function() {
// 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();
} );
// Fires when a slide with data-state=customevent is activated // Fires when a slide with data-state=customevent is activated
Reveal.addEventListener( 'customevent', function() { Reveal.addEventListener( 'customevent', function() {
console.log( '"customevent" has fired' ); console.log( '"customevent" has fired' );
@ -300,8 +315,8 @@ function linkify( selector ) {
progress: true, progress: true,
history: true, history: true,
theme: query.theme || 'default', // default/neon/beige theme: Reveal.getQueryHash().theme || 'default', // default/neon/beige
transition: query.transition || 'default' // default/cube/page/concave/linear(2d) 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() { head.js( 'lib/js/highlight.js', function() {
hljs.initHighlightingOnLoad(); 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> </script>
</body> </body>

View file

@ -1,5 +1,5 @@
/*! /*!
* reveal.js 1.5 r4 * reveal.js 1.5 r6
* http://lab.hakim.se/reveal-js * http://lab.hakim.se/reveal-js
* MIT licensed * MIT licensed
* *
@ -1015,6 +1015,17 @@ var Reveal = (function(){
return currentSlide 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 // Forward event binding to the reveal DOM element
addEventListener: function( type, listener, useCapture ) { addEventListener: function( type, listener, useCapture ) {
( dom.wrapper || document.querySelector( '.reveal' ) ).addEventListener( type, listener, useCapture ); ( dom.wrapper || document.querySelector( '.reveal' ) ).addEventListener( type, listener, useCapture );