support for custom slide number formatting #965
This commit is contained in:
parent
817bb3bf43
commit
5fb81b1b3c
2 changed files with 28 additions and 5 deletions
|
@ -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.
|
||||
|
||||
```javascript
|
||||
// Shows the slide number using default formatting
|
||||
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.
|
||||
*
|
||||
* 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() {
|
||||
|
||||
// Update slide number if enabled
|
||||
if( config.slideNumber && dom.slideNumber) {
|
||||
|
||||
// Display the number of the page using 'indexh - indexv' format
|
||||
var indexString = indexh;
|
||||
if( indexv > 0 ) {
|
||||
indexString += ' - ' + indexv;
|
||||
// Default to only showing the current slide number
|
||||
var format = 'c';
|
||||
|
||||
// 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 );
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue