diff --git a/R/utils.R b/R/utils.R
index f681e24..52381a2 100644
--- a/R/utils.R
+++ b/R/utils.R
@@ -6,4 +6,25 @@
 }
 
 # Convert boolean from R to JS boolean
-jsbool <- function(value) ifelse(value, "true", "false")
\ No newline at end of file
+jsbool <- function(value) ifelse(value, "true", "false")
+
+# transfrom reveal option as pandoc variable
+process_reveal_option <- function(option, value) {
+  if (is.logical(value)) {
+    value <- jsbool(value)
+  } else if (is.character(value)) {
+    # Special handling for some chalkboard plugin options
+    # e.g: color: [ 'rgba(0,0,255,1)', 'rgba(255,255,255,0.5)' ]
+    if (grepl("chalkboard-(background|color|draw|pen)", option)) {
+      value <- sprintf("[%s]", paste(paste0("'", value, "'"), collapse = ", "))
+    }
+    # Add quotes around some config that can be several type
+    # like number or percent unit or slideNumber = true or slideNumber = 'c/t'
+    if (
+      option %in% c("slideNumber") ||
+      (option %in% c("width", "height") && grepl("%$", value))) {
+      value <- paste0("'", value, "'")
+    }
+  }
+  pandoc_variable_arg(option, value)
+}
\ No newline at end of file
