diff --git a/ox-reveal.el b/ox-reveal.el
index 07c5df8..c3d4ce1 100644
--- a/ox-reveal.el
+++ b/ox-reveal.el
@@ -101,6 +101,7 @@
(:reveal-single-file nil "reveal_single_file" org-reveal-single-file t)
(:reveal-extra-script "REVEAL_EXTRA_SCRIPT" nil org-reveal-extra-script space)
(:reveal-extra-script-src "REVEAL_EXTRA_SCRIPT_SRC" nil org-reveal-extra-script-src split)
+ (:reveal-extra-script-before-src "REVEAL_EXTRA_SCRIPT_BEFORE_SRC" nil org-reveal-extra-script-before-src split)
(:reveal-init-options "REVEAL_INIT_OPTIONS" nil org-reveal-init-options newline)
(:reveal-highlight-css "REVEAL_HIGHLIGHT_CSS" nil org-reveal-highlight-css nil)
(:reveal-reveal-js-version "REVEAL_REVEAL_JS_VERSION" nil nil t)
@@ -321,7 +322,12 @@ Example:
:type 'string)
(defcustom org-reveal-extra-script-src '()
- "Custom script source that will be embedded in a tags
- (let ((src-list (let ((l (plist-get info :reveal-extra-script-src)))
- ;; map to a single string to a list.
- (if (stringp l)
- (list l)
- l))))
- (and src-list
+ ;; Extra tags before the call to Reveal.initialize()
+ (let ((before-src-list (let ((l (plist-get info :reveal-extra-script-before-src)))
+ ;; map to a single string to a list.
+ (if (stringp l)
+ (list l)
+ l))))
+ (and before-src-list
(mapconcat (lambda (src) (format "" src))
- src-list
+ before-src-list
"\n")))
+
;; Reveal.initialize
(let ((reveal-4-plugin-statement (cdr reveal-4-plugin))
(init-options (plist-get info :reveal-init-options))
@@ -829,7 +836,17 @@ Reveal.initialize({
legacy-dependency-statement))
",\n")
;; Extra initialization scripts
- (or (plist-get info :reveal-extra-script) ""))))))
+ (or (plist-get info :reveal-extra-script) "")))
+ ;; Extra tags
+ (let ((src-list (let ((l (plist-get info :reveal-extra-script-src)))
+ ;; map to a single string to a list.
+ (if (stringp l)
+ (list l)
+ l))))
+ (and src-list
+ (mapconcat (lambda (src) (format "" src))
+ src-list
+ "\n"))))))
(defun org-reveal--read-sexps-from-string (s)
(let ((s (string-trim s)))