| 123456789101112131415161718192021222324252627282930313233343536373839 | /** * Touch-based remote controller for your presentation courtesy  * of the folks at http://remotes.io */(function(window){    /**     * Detects if we are dealing with a touch enabled device (with some false positives)     * Borrowed from modernizr: https://github.com/Modernizr/Modernizr/blob/master/feature-detects/touch.js        */    var hasTouch  = (function(){        return ('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch;    })();    /**     * Detects if notes are enable and the current page is opened inside an /iframe     * this prevents loading Remotes.io several times     */    var remotesAndIsNotes = (function(){      return !(window.RevealNotes && self == top);    })();    if(!hasTouch && !remotesAndIsNotes){        head.ready( 'remotes.ne.min.js', function() {            new Remotes("preview")                .on("swipe-left", function(e){ Reveal.right(); })                .on("swipe-right", function(e){ Reveal.left(); })                .on("swipe-up", function(e){ Reveal.down(); })                .on("swipe-down", function(e){ Reveal.up(); })                .on("tap", function(e){ Reveal.next(); })                .on("zoom-out", function(e){ Reveal.toggleOverview(true); })                .on("zoom-in", function(e){ Reveal.toggleOverview(false); })            ;        } );        head.js('https://raw.github.com/Remotes/Remotes/master/dist/remotes.ne.min.js');    }})(window);
 |