Просмотр исходного кода

Merge branch 'refs/heads/fix-fragments-in-speakernotes' into fragments-in-notes-server

Conflicts:
	js/reveal.min.js

Need to generate a new minified version afterwards.
Michael Kühnel 11 лет назад
Родитель
Сommit
5af915adaf
6 измененных файлов с 49 добавлено и 13 удалено
  1. 2 0
      README.md
  2. 2 0
      js/reveal.js
  3. 2 3
      js/reveal.min.js
  4. 21 2
      plugin/notes-server/client.js
  5. 4 1
      plugin/notes-server/index.js
  6. 18 7
      plugin/notes-server/notes.html

+ 2 - 0
README.md

@@ -132,6 +132,8 @@ Reveal.up();
 Reveal.down();
 Reveal.prev();
 Reveal.next();
+Reveal.prevFragment();
+Reveal.nextFragment();
 Reveal.toggleOverview();
 
 // Retrieves the previous and current slide elements

+ 2 - 0
js/reveal.js

@@ -1316,6 +1316,8 @@ var Reveal = (function(){
 		down: navigateDown,
 		prev: navigatePrev,
 		next: navigateNext,
+		prevFragment: previousFragment,
+		nextFragment: nextFragment,
 
 		// Deprecated aliases
 		navigateTo: slide,

Разница между файлами не показана из-за своего большого размера
+ 2 - 3
js/reveal.min.js


+ 21 - 2
plugin/notes-server/client.js

@@ -6,8 +6,27 @@
 	var socketId = Math.random().toString().slice(2);
 	
 	console.log('View slide notes at ' + window.location.origin + '/notes/' + socketId);
-	window.open(window.location.origin + '/notes/' + socketId, 'notes-' + socketId)
+	window.open(window.location.origin + '/notes/' + socketId, 'notes-' + socketId);
 
+	// Fires when a fragment is shown
+	Reveal.addEventListener( 'fragmentshown', function( event ) {
+		var fragmentData = {
+			fragment : 'next',
+			socketId : socketId
+		};
+		socket.emit('fragmentchanged', fragmentData);
+	} );
+
+	// Fires when a fragment is hidden
+	Reveal.addEventListener( 'fragmenthidden', function( event ) {
+		var fragmentData = {
+			fragment : 'previous',
+			socketId : socketId
+		};
+		socket.emit('fragmentchanged', fragmentData);
+	} );
+
+	// Fires when slide is changed
 	Reveal.addEventListener( 'slidechanged', function( event ) {
 		var nextindexh;
 		var nextindexv;
@@ -35,4 +54,4 @@
 
 		socket.emit('slidechanged', slideData);
 	} );
-}());
+}());

+ 4 - 1
plugin/notes-server/index.js

@@ -18,6 +18,9 @@ io.sockets.on('connection', function(socket) {
 	socket.on('slidechanged', function(slideData) {
 		socket.broadcast.emit('slidedata', slideData);
 	});
+	socket.on('fragmentchanged', function(fragmentData) {
+		socket.broadcast.emit('fragmentdata', fragmentData);
+	});
 });
 
 app.configure(function() {
@@ -52,4 +55,4 @@ var slidesLocation = "http://localhost" + ( opts.port ? ( ':' + opts.port ) : ''
 console.log( brown + "reveal.js - Speaker Notes" + reset );
 console.log( "1. Open the slides at " + green + slidesLocation + reset );
 console.log( "2. Click on the link your JS console to go to the notes page" );
-console.log( "3. Advance through your slides and your notes will advance automatically" );
+console.log( "3. Advance through your slides and your notes will advance automatically" );

+ 18 - 7
plugin/notes-server/notes.html

@@ -112,17 +112,28 @@
 			// ignore data from sockets that aren't ours
 			if (data.socketId !== socketId) { return; }
 
-                        if (data.markdown) {
-                          notes.innerHTML = (new Showdown.converter()).makeHtml(data.notes);
-                        }
-                        else {
-                          notes.innerHTML = data.notes;
-                        }
+			if (data.markdown) {
+				notes.innerHTML = (new Showdown.converter()).makeHtml(data.notes);
+			}
+			else {
+				notes.innerHTML = data.notes;
+			}
 
 			currentSlide.contentWindow.Reveal.slide(data.indexh, data.indexv);
 			nextSlide.contentWindow.Reveal.slide(data.nextindexh, data.nextindexv);
 		});
+		socket.on('fragmentdata', function(data) {
+			// ignore data from sockets that aren't ours
+			if (data.socketId !== socketId) { return; }
+
+			if (data.fragment === 'next') {
+				currentSlide.contentWindow.Reveal.nextFragment();
+			}
+			else if (data.fragment === 'previous') {
+				currentSlide.contentWindow.Reveal.prevFragment();
+			}
+		});
 		</script>
 
 	</body>
-</html>
+</html>

Некоторые файлы не были показаны из-за большого количества измененных файлов