diff --git a/css/reveal.css b/css/reveal.css index d79024c838b..bc96e1e12d9 100644 --- a/css/reveal.css +++ b/css/reveal.css @@ -460,6 +460,9 @@ body { background-color: rgba(0, 0, 0, 0.4); padding: 5px; } +.reveal .slide-number a { + color: currentColor; } + .reveal .slide-number-delimiter { margin: 0 3px; } diff --git a/css/reveal.scss b/css/reveal.scss index 6fb54199676..5992250c2d7 100644 --- a/css/reveal.scss +++ b/css/reveal.scss @@ -553,6 +553,10 @@ $controlsArrowAngleActive: 36deg; padding: 5px; } +.reveal .slide-number a { + color: currentColor; +} + .reveal .slide-number-delimiter { margin: 0 3px; } diff --git a/js/reveal.js b/js/reveal.js index a953fe216a0..477a1ea2c06 100644 --- a/js/reveal.js +++ b/js/reveal.js @@ -68,7 +68,7 @@ // Display the page number of the current slide slideNumber: false, - + // Use 1 based indexing for # links to match slide number (default is zero // based) hashOneBasedIndex: false, @@ -1259,7 +1259,7 @@ document.removeEventListener( 'keypress', onDocumentKeyPress, false ); window.removeEventListener( 'hashchange', onWindowHashChange, false ); window.removeEventListener( 'resize', onWindowResize, false ); - + dom.wrapper.removeEventListener( 'pointerdown', onPointerDown, false ); dom.wrapper.removeEventListener( 'pointermove', onPointerMove, false ); dom.wrapper.removeEventListener( 'pointerup', onPointerUp, false ); @@ -2255,41 +2255,41 @@ return overview; } - + /** * Return a hash URL that will resolve to the current slide location. */ - function locationHash() { - - var url = '/'; - // Attempt to create a named link based on the slide's ID + var url = '/'; + + // Attempt to create a named link based on the slide's ID var id = currentSlide ? currentSlide.getAttribute( 'id' ) : null; - if( id ) { - id = encodeURIComponent( id ); - } - - var indexf; - if( config.fragmentInURL ) { - indexf = getIndices().f; - } - - // If the current slide has an ID, use that as a named link, - // but we don't support named links with a fragment index - if( typeof id === 'string' && id.length && indexf === undefined ) { - url = '/' + id; - } - // Otherwise use the /h/v index - else { - if( indexh > 0 || indexv > 0 || indexf !== undefined ) url += indexh + config.hashOneBasedIndex; - if( indexv > 0 || indexf !== undefined ) url += '/' + (indexv + config.hashOneBasedIndex); - if( indexf !== undefined ) url += '/' + indexf; - } - - return url; - } - + if( id ) { + id = encodeURIComponent( id ); + } + + var indexf; + if( config.fragmentInURL ) { + indexf = getIndices().f; + } + + // If the current slide has an ID, use that as a named link, + // but we don't support named links with a fragment index + if( typeof id === 'string' && id.length && indexf === undefined ) { + url = '/' + id; + } + // Otherwise use the /h/v index + else { + if( indexh > 0 || indexv > 0 || indexf !== undefined ) url += indexh + config.hashOneBasedIndex; + if( indexv > 0 || indexf !== undefined ) url += '/' + (indexv + config.hashOneBasedIndex); + if( indexf !== undefined ) url += '/' + indexf; + } + + return url; + + } + /** * Checks if the current or specified slide is vertical * (nested within another slide). @@ -3009,6 +3009,7 @@ * @return {string} HTML string fragment */ function formatSlideNumber( a, delimiter, b ) { + var url = '#' + locationHash(); if( typeof b === 'number' && !isNaN( b ) ) { return '' + @@ -3839,10 +3840,10 @@ } else { // Read the index components of the hash - var h = parseInt( bits[0], 10 ) || 0 - config.hashOneBasedIndex, v = parseInt( bits[1], 10 ) || 0 - config.hashOneBasedIndex, f; + if( config.fragmentInURL ) { f = parseInt( bits[2], 10 ); if( isNaN( f ) ) { @@ -3856,7 +3857,7 @@ } } - + /** * Updates the page URL (hash) to reflect the current * state.