Quellcode durchsuchen

Merge branch 'markdown-in-notes' of https://github.com/technicalpickles/reveal.js

Hakim El Hattab vor 12 Jahren
Ursprung
Commit
c5fe9bd3c4
3 geänderte Dateien mit 14 neuen und 3 gelöschten Zeilen
  1. 3 1
      README.md
  2. 3 1
      plugin/speakernotes/client.js
  3. 8 1
      plugin/speakernotes/notes.html

+ 3 - 1
README.md

@@ -205,6 +205,8 @@ If you're interested in using speaker notes, reveal.js comes with a Node server
 
 To include speaker notes in your presentation, simply add an `<aside class="notes">` element to any slide. These notes will be hidden in the main presentation view.
 
+It's also possible to write your notes with Markdown. To enable Markdown, simply add the ```data-markdown``` attribute to your ```<aside>``` elements and reveal.js will automatically load the JavaScript parser.
+
 You'll also need to [install Node.js](http://nodejs.org/); then, install the server dependencies by running `npm install`.
 
 Once Node.js and the dependencies are installed, run the following command from the root directory:
@@ -229,4 +231,4 @@ You can change the appearance of the speaker notes by editing the file at `plugi
 
 MIT licensed
 
-Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se
+Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se

+ 3 - 1
plugin/speakernotes/client.js

@@ -28,7 +28,9 @@
 			indexv : event.indexv,
 			nextindexh : nextindexh,
 			nextindexv : nextindexv,
-			socketId : socketId
+			socketId : socketId,
+			markdown : notes ? notes.getAttribute('data-markdown') != null : false
+
 		};
 
 		socket.emit('slidechanged', slideData);

+ 8 - 1
plugin/speakernotes/notes.html

@@ -87,6 +87,7 @@
 		<div id="notes"></div>
 
 		<script src="/socket.io/socket.io.js"></script>
+                <script src="/lib/js/showdown.js"></script>
 
 		<script>
 		var socketId = '{{socketId}}';
@@ -99,7 +100,13 @@
 			// ignore data from sockets that aren't ours
 			if (data.socketId !== socketId) { return; }
 
-			notes.innerHTML = data.notes;
+                        if (data.markdown) {
+                          notes.innerHTML = (new Showdown.converter()).makeHtml(data.notes);
+                        }
+                        else {
+                          notes.innerHTML = data.notes;
+                        }
+
 			currentSlide.contentWindow.Reveal.navigateTo(data.indexh, data.indexv);
 			nextSlide.contentWindow.Reveal.navigateTo(data.nextindexh, data.nextindexv);
 		});