From da23d682c63a4f3ee04a42ae70222950b2888daa Mon Sep 17 00:00:00 2001
From: Malcolm Young <malcolm@rubydesign.co.uk>
Date: Fri, 17 Feb 2017 15:08:57 +0000
Subject: [PATCH] allow configuration of which view slide number appears on -
 fixes #1791

---
 README.md    |  7 ++++++-
 js/reveal.js | 16 +++++++++++++++-
 2 files changed, 21 insertions(+), 2 deletions(-)

diff --git a/README.md b/README.md
index 76ca3219..3d520929 100644
--- a/README.md
+++ b/README.md
@@ -749,7 +749,7 @@ By default, Reveal is configured with [highlight.js](https://highlightjs.org/) f
 ```
 
 ### Slide number
-If you would like to display the page number of the current slide you can do so using the ```slideNumber``` configuration value.
+If you would like to display the page number of the current slide you can do so using the ```slideNumber``` and ```showSlideNumber``` configuration values.
 
 ```javascript
 // Shows the slide number using default formatting
@@ -762,6 +762,11 @@ Reveal.configure({ slideNumber: true });
 //  "c/t": 	flattened slide number / total slides
 Reveal.configure({ slideNumber: 'c/t' });
 
+// Control which views the slide number displays on using the "showSlideNumber" value.
+// "all": show on all views (default)
+// "notes": only show slide numbers on speaker notes view
+Reveal.configure({ slideNumberFormat: 'notes' });
+
 ```
 
 
diff --git a/js/reveal.js b/js/reveal.js
index 9251dc0e..574c943c 100644
--- a/js/reveal.js
+++ b/js/reveal.js
@@ -57,6 +57,9 @@
 
 			// Display the page number of the current slide
 			slideNumber: false,
+		  
+		  	// Determine which displays to show the slide number on
+		  	showSlideNumber: 'all',
 
 			// Push each slide change to the browser history
 			history: false,
@@ -977,7 +980,18 @@
 
 		dom.controls.style.display = config.controls ? 'block' : 'none';
 		dom.progress.style.display = config.progress ? 'block' : 'none';
-		dom.slideNumber.style.display = config.slideNumber && !isPrintingPDF() ? 'block' : 'none';
+		
+		var slideNumberDisplay = 'none';
+		if (config.slideNumber && !isPrintingPDF()) {
+			if (config.showSlideNumber === 'all') {
+				slideNumberDisplay = 'block';
+			}
+		  	else if (config.showSlideNumber === 'notes' && isSpeakerNotes()) {
+              	slideNumberDisplay = 'block';
+            }
+		}
+		
+		dom.slideNumber.style.display = slideNumberDisplay;
 
 		if( config.shuffle ) {
 			shuffle();
-- 
GitLab