support for custom slide number formatting #965
This commit is contained in:
		| @@ -572,7 +572,16 @@ By default, Reveal is configured with [highlight.js](http://softwaremaniacs.org/ | |||||||
| 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``` configuration value. | ||||||
|  |  | ||||||
| ```javascript | ```javascript | ||||||
|  | // Shows the slide number using default formatting | ||||||
| Reveal.configure({ slideNumber: true }); | Reveal.configure({ slideNumber: true }); | ||||||
|  |  | ||||||
|  | // Slide number formatting can be configured using these variables: | ||||||
|  | //  h: current slide's horizontal index | ||||||
|  | //  v: current slide's vertical index | ||||||
|  | //  c: current slide index (flattened) | ||||||
|  | //  t: total number of slides (flattened) | ||||||
|  | Reveal.configure({ slideNumber: 'c / t' }); | ||||||
|  |  | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										24
									
								
								js/reveal.js
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								js/reveal.js
									
									
									
									
									
								
							| @@ -2331,19 +2331,33 @@ | |||||||
|  |  | ||||||
| 	/** | 	/** | ||||||
| 	 * Updates the slide number div to reflect the current slide. | 	 * Updates the slide number div to reflect the current slide. | ||||||
|  | 	 * | ||||||
|  | 	 * Slide number format can be defined as a string using the | ||||||
|  | 	 * following variables: | ||||||
|  | 	 *  h: current slide's horizontal index | ||||||
|  | 	 *  v: current slide's vertical index | ||||||
|  | 	 *  c: current slide index (flattened) | ||||||
|  | 	 *  t: total number of slides (flattened) | ||||||
| 	 */ | 	 */ | ||||||
| 	function updateSlideNumber() { | 	function updateSlideNumber() { | ||||||
|  |  | ||||||
| 		// Update slide number if enabled | 		// Update slide number if enabled | ||||||
| 		if( config.slideNumber && dom.slideNumber) { | 		if( config.slideNumber && dom.slideNumber) { | ||||||
|  |  | ||||||
| 			// Display the number of the page using 'indexh - indexv' format | 			// Default to only showing the current slide number | ||||||
| 			var indexString = indexh; | 			var format = 'c'; | ||||||
| 			if( indexv > 0 ) { |  | ||||||
| 				indexString += ' - ' + indexv; | 			// Check if a custom slide number format is available | ||||||
|  | 			if( typeof config.slideNumber === 'string' ) { | ||||||
|  | 				format = config.slideNumber; | ||||||
| 			} | 			} | ||||||
|  |  | ||||||
| 			dom.slideNumber.innerHTML = indexString; | 			var totalSlides = getTotalSlides(); | ||||||
|  |  | ||||||
|  | 			dom.slideNumber.innerHTML = format.replace( /h/g, indexh ) | ||||||
|  | 												.replace( /v/g, indexv ) | ||||||
|  | 												.replace( /c/g, Math.round( getProgress() * totalSlides ) + 1 ) | ||||||
|  | 												.replace( /t/g, totalSlides + 1 ); | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 	} | 	} | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user