use updated pandoc tempalte
diff --git a/R/revealjs_presentation.R b/R/revealjs_presentation.R
index d1f5edb..29628df 100644
--- a/R/revealjs_presentation.R
+++ b/R/revealjs_presentation.R
@@ -84,6 +84,7 @@
                                   theme = "simple",
                                   transition = "default",
                                   background_transition = "default",
+                                  history = TRUE,
                                   highlight = "default",
                                   mathjax = "default",
                                   template = "default",
@@ -119,8 +120,8 @@
     args <- c(args, "--incremental")
   
   # centering
-  if (center)
-    args <- c(args, "--variable", "center")
+  jsbool <- function(value) ifelse(value, "true", "false")
+  args <- c(args, pandoc_variable_arg("center", jsbool(center)))
   
   # theme
   theme <- match.arg(theme, revealjs_themes())
@@ -139,7 +140,10 @@
   
   # background_transition
   background_transition <- match.arg(background_transition, revealjs_transitions())
-  args <- c(args, "--variable", paste("background_transition=", background_transition, sep=""))
+  args <- c(args, "--variable", paste("backgroundTransition=", background_transition, sep=""))
+  
+  # history
+  args <- c(args, pandoc_variable_arg("history", jsbool(history)))
   
   # content includes
   args <- c(args, includes_to_pandoc_args(includes))
diff --git a/inst/rmarkdown/templates/revealjs_presentation/resources/default.html b/inst/rmarkdown/templates/revealjs_presentation/resources/default.html
index a8846e5..ef9c50e 100644
--- a/inst/rmarkdown/templates/revealjs_presentation/resources/default.html
+++ b/inst/rmarkdown/templates/revealjs_presentation/resources/default.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html$if(lang)$ lang="$lang$"$endif$>
+<html$if(lang)$ lang="$lang$"$endif$$if(dir)$ dir="$dir$"$endif$>
 <head>
   <meta charset="utf-8">
   <meta name="generator" content="pandoc">
@@ -9,9 +9,12 @@
 $if(date-meta)$
   <meta name="dcterms.date" content="$date-meta$" />
 $endif$
-  <title>$if(title-prefix)$$title-prefix$ - $endif$$pagetitle$</title>
-  <meta name="apple-mobile-web-app-capable" content="yes" />
-  <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
+$if(keywords)$
+  <meta name="keywords" content="$for(keywords)$$keywords$$sep$, $endfor$">
+$endif$
+  <title>$if(title-prefix)$$title-prefix$ – $endif$$pagetitle$</title>
+  <meta name="apple-mobile-web-app-capable" content="yes">
+  <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
   <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui">
   <link rel="stylesheet" href="$revealjs-url$/css/reveal.css"/>
 
@@ -128,7 +131,9 @@
 $for(author)$
     <h2 class="author">$author$</h2>
 $endfor$
+$if(date)$
     <h3 class="date">$date$</h3>
+$endif$
 </section>
 $endif$
 $if(toc)$
@@ -140,29 +145,148 @@
 $body$
     </div>
   </div>
-$for(include-after)$
-$include-after$
-$endfor$
 
   <script src="$revealjs-url$/lib/js/head.min.js"></script>
   <script src="$revealjs-url$/js/reveal.js"></script>
 
   <script>
 
-      // Full list of configuration options available here:
+      // Full list of configuration options available at:
       // https://github.com/hakimel/reveal.js#configuration
       Reveal.initialize({
-        controls: true,
-        progress: true,
-        history: true,
-        center: $if(center)$true$else$false$endif$,
-        transition: '$transition$',
-        backgroundTransition: '$background_transition$',
-        
-        // Optional libraries used to extend on reveal.js
-        dependencies: []});
-    </script>
+$if(controls)$
+        // Display controls in the bottom right corner
+        controls: $controls$,
+$endif$
+$if(progress)$
+        // Display a presentation progress bar
+        progress: $progress$,
+$endif$
+$if(slideNumber)$
+        // Display the page number of the current slide
+        slideNumber: $slideNumber$,
+$endif$
+$if(history)$
+        // Push each slide change to the browser history
+        history: $history$,
+$endif$
+$if(keyboard)$
+        // Enable keyboard shortcuts for navigation
+        keyboard: $keyboard$,
+$endif$
+$if(overview)$
+        // Enable the slide overview mode
+        overview: $overview$,
+$endif$
+$if(center)$
+        // Vertical centering of slides
+        center: $center$,
+$endif$
+$if(touch)$
+        // Enables touch navigation on devices with touch input
+        touch: $touch$,
+$endif$
+$if(loop)$
+        // Loop the presentation
+        loop: $loop$,
+$endif$
+$if(rtl)$
+        // Change the presentation direction to be RTL
+        rtl: $rtl$,
+$endif$
+$if(fragments)$
+        // Turns fragments on and off globally
+        fragments: $fragments$,
+$endif$
+$if(embedded)$
+        // Flags if the presentation is running in an embedded mode,
+        // i.e. contained within a limited portion of the screen
+        embedded: $embedded$,
+$endif$
+$if(help)$
+        // Flags if we should show a help overlay when the questionmark
+        // key is pressed
+        help: $help$,
+$endif$
+$if(autoSlide)$
+        // Number of milliseconds between automatically proceeding to the
+        // next slide, disabled when set to 0, this value can be overwritten
+        // by using a data-autoslide attribute on your slides
+        autoSlide: $autoSlide$,
+$endif$
+$if(autoSlideStoppable)$
+        // Stop auto-sliding after user input
+        autoSlideStoppable: $autoSlideStoppable$,
+$endif$
+$if(mouseWheel)$
+        // Enable slide navigation via mouse wheel
+        mouseWheel: $mouseWheel$,
+$endif$
+$if(hideAddressBar)$
+        // Hides the address bar on mobile devices
+        hideAddressBar: $hideAddressBar$,
+$endif$
+$if(previewLinks)$
+        // Opens links in an iframe preview overlay
+        previewLinks: $previewLinks$,
+$endif$
+$if(transition)$
+        // Transition style
+        transition: '$transition$', // none/fade/slide/convex/concave/zoom
+$endif$
+$if(transitionSpeed)$
+        // Transition speed
+        transitionSpeed: '$transitionSpeed$', // default/fast/slow
+$endif$
+$if(backgroundTransition)$
+        // Transition style for full page slide backgrounds
+        backgroundTransition: '$backgroundTransition$', // none/fade/slide/convex/concave/zoom
+$endif$
+$if(viewDistance)$
+        // Number of slides away from the current that are visible
+        viewDistance: $viewDistance$,
+$endif$
+$if(parallaxBackgroundImage)$
+        // Parallax background image
+        parallaxBackgroundImage: '$parallaxBackgroundImage$', // e.g. "'https://s3.amazonaws.com/hakim-static/reveal-js/reveal-parallax-1.jpg'"
+$endif$
+$if(parallaxBackgroundSize)$
+        // Parallax background size
+        parallaxBackgroundSize: '$parallaxBackgroundSize$', // CSS syntax, e.g. "2100px 900px"
+$endif$
+$if(parallaxBackgroundHorizontal)$
+        // Amount to move parallax background (horizontal and vertical) on slide change
+        // Number, e.g. 100
+        parallaxBackgroundHorizontal: '$parallaxBackgroundHorizontal$',
+$endif$
+$if(parallaxBackgroundVertical)$
+        parallaxBackgroundVertical: '$parallaxBackgroundVertical$',
+$endif$
+$if(width)$
+        // The "normal" size of the presentation, aspect ratio will be preserved
+        // when the presentation is scaled to fit different resolutions. Can be
+        // specified using percentage units.
+        width: $width$,
+$endif$
+$if(height)$
+        height: $height$,
+$endif$
+$if(margin)$
+        // Factor of the display size that should remain empty around the content
+        margin: $margin$,
+$endif$
+$if(minScale)$
+        // Bounds for smallest/largest possible scale to apply to content
+        minScale: $minScale$,
+$endif$
+$if(maxScale)$
+        maxScale: $maxScale$,
+$endif$
 
+        // Optional reveal.js plugins
+        dependencies: []
+      });
+    </script>
 $if(mathjax-url)$
   <!-- dynamically load mathjax for compatibility with self-contained -->
   <script>
@@ -186,5 +310,9 @@
   })();
 </script>
 
+$for(include-after)$
+$include-after$
+$endfor$
+
   </body>
 </html>