|
|
- # Local IspellDict: en
- #+Title: Introduction to org-re-reveal
- #+Author: Yujie Wen and others
-
- #+KEYWORDS: org mode, reveal.js, presentation, HTML, slide show, org-re-reveal, emacs-reveal, OER
- #+DESCRIPTION: Readme for org-re-reveal to generate HTML/reveal.js presentations from Org mode source files.
-
- # SPDX-License-Identifier: GPL-3.0-or-later
- # Authors: Yujie Wen <yjwen.ty@gmail.com> and contributors to
- # org-reveal and org-re-reveal, see there:
- # https://github.com/yjwen/org-reveal/commits/master
- # https://gitlab.com/oer/org-re-reveal/commits/master
-
- # Copyright (C) 2013-2018 Yujie Wen and contributors to org-reveal, see:
- # https://github.com/yjwen/org-reveal/commits/master
- # Copyright (C) 2017-2019 Jens Lechtenbörger
- # Copyright (C) 2019 Ayush Goyal <perfectayush@gmail.com>
-
- #+OPTIONS: reveal_center:t reveal_progress:t reveal_history:nil reveal_control:t
- #+OPTIONS: reveal_rolling_links:t reveal_keyboard:t reveal_overview:t num:nil
- #+OPTIONS: reveal_width:1400 reveal_height:1000
- #+OPTIONS: toc:1
- #+OPTIONS: reveal_klipsify_src:t
- #+REVEAL_MIN_SCALE: 1.0
- #+REVEAL_MAX_SCALE: 1.0
- #+REVEAL_PLUGINS: (notes search zoom)
- #+REVEAL_MARGIN: 0.1
- #+REVEAL_TRANS: cube
- #+REVEAL_THEME: black
- #+REVEAL_HLEVEL: 2
- #+REVEAL_HEAD_PREAMBLE: <meta name="description" content="Org-re-reveal Introduction.">
- #+REVEAL_POSTAMBLE: <p> Based upon work by yjwen. </p>
- #+REVEAL_EXTRA_CSS: ./local.css
-
- * Note
-
- The project /org-re-reveal/ is a
- [[https://github.com/lechten/org-reveal][fork of org-reveal]].
- It provides an export back-end for HTML presentations with
- [[https://revealjs.com/][reveal.js]] from
- [[https://orgmode.org/][Org mode]] source files.
-
- For a /reveal.js/ presentation for
- [[https://gitlab.com/oer/org-re-reveal/blob/master/Readme.org][this Readme (which is written in the lightweight markup language Org mode)]],
- see there: [[https://oer.gitlab.io/org-re-reveal/]]
-
- ** Emacs-reveal
- If you are interested in /org-re-reveal/, I suggest that you take
- a look at [[https://gitlab.com/oer/emacs-reveal][emacs-reveal]], which
- embeds /org-re-reveal/, /reveal.js/, and useful
- plugins as submodules, combined with suitable Emacs configuration.
- A [[https://gitlab.com/oer/emacs-reveal-howto][Howto for the generation of reveal.js presentations (slides with audio) with emacs-reveal]]
- exists as well.
-
- I use /emacs-reveal/ to generate Open Educational Resources (OER), and
- macros coming with /emacs-reveal/ simplify license attribution for
- embedded figures considerably:
- [[https://oer.gitlab.io/OS/][OER presentations for a course on operating systems]]
-
- ** Relationships between packages
-
- | Package | Description |
- |-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------|
- | [[https://github.com/yjwen/org-reveal][org-reveal]] | Origin of org-re-reveal |
- | [[https://gitlab.com/oer/org-re-reveal][org-re-reveal]] | Fork of org-reveal, initially to add audio fragments, now with [[https://gitlab.com/oer/org-re-reveal/blob/master/CHANGELOG.org][various changes]] |
- | [[https://gitlab.com/oer/org-re-reveal-ref][org-re-reveal-ref]] | Addon to org-re-reveal for bibliography slide based on [[https://github.com/jkitchin/org-ref][org-ref]] |
- | [[https://gitlab.com/oer/oer-reveal][oer-reveal]] | Export backend derived from org-re-reveal; functionality for installation of reveal.js and plugins; simplification of licensing for OER |
- | [[https://gitlab.com/oer/emacs-reveal/][emacs-reveal]] | Bundling of org-re-reveal, org-re-reveal-ref, and oer-reveal |
-
- Originally, /emacs-reveal/ was created to enhance /org-reveal/, and it
- contained the code of what is now maintained separately as
- /org-re-reveal-ref/ and /oer-reveal/. Those packages were separated
- to make as much of /emacs-reveal/ available on MELPA as possible.
- Whether anyone wants to use those package in isolation is up to them.
-
- ** Changelog
- See file [[https://gitlab.com/oer/org-re-reveal/tree/master/CHANGELOG.org][CHANGELOG]]
- for changes of org-re-reveal compared to org-reveal and onward
-
- ** Side note: Customization of variables
- - GNU Emacs can be customized in various ways, and /org-re-reveal/
- is no exception in that regard.
- - This Readme frequently suggests “to customize” some variables.
- - You may want to read the
- [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Customization.html][manual entry on customization]].
- - As shortcut
- - Type ~C-h v~ (which means press the ~Ctrl~ key and ~h~
- simultaneously, then ~v~). You are asked for a variable name.
- Enter it, e.g., ~org-re-reveal-script-files~. You wind up in a
- help buffer, showing the current value and a “customize” link.
- Enter/press the link, leading to a customization buffer, where
- you can change the value and “Apply” (or “Apply and
- Save”) it.
-
- * Reveal.js and org-re-reveal
-
- - [[https://revealjs.com/][Reveal.js]] is a tool for creating
- good-looking HTML presentations, authored by
- [[https://hakim.se/][Hakim El Hattab]].
- - Org-re-reveal exports your [[https://orgmode.org/][Org mode]]
- documents to reveal.js presentations.
-
- With org-re-reveal, you can create beautiful presentations with 3D
- effects from simple but powerful Org contents.
-
- * Requirements and Installation
-
- - Reveal.js
- - GNU Emacs, version 24.4 or later
- - Org mode
- - Org-re-reveal
- - Htmlize or highlight.js
- - For source code highlighting, which is explained below
- - Depending on your version of Org mode, htmlize.el may be
- necessary even if you want to use highlight.js
-
- ** Install reveal.js
-
- *Note:* This is only necessary if you do not use [[https://gitlab.com/oer/emacs-reveal][emacs-reveal]],
- which installs and configures reveal.js with several of it plugins.
-
- Download reveal.js packages from [[https://github.com/hakimel/reveal.js/][here]].
-
- Extract reveal.js folders from the downloaded zip file.
-
- If you do not wish to download reveal.js yourself and would rather get a copy from a CDN,
- see the section [[https://gitlab.com/oer/org-re-reveal#set-the-location-of-revealjs][Set the location of reveal.js]]
-
- ** Install org-re-reveal from MELPA
-
- Package org-re-reveal is available on MELPA. Use of MELPA requires
- some setup code in your ~.emacs~ file.
- See [[https://melpa.org/#/getting-started][here how to get started with MELPA]].
-
- This package defines the Org export back-end ~re-reveal~. As usual
- for export back-ends, you can either customize
- ~org-export-backends~ to include ~re-reveal~ or add the following
- to your ~.emacs~ file.
- #+BEGIN_SRC lisp
- (require 'org-re-reveal)
- #+END_SRC
-
- ** Install org-re-reveal from GitLab
-
- You can download org-re-reveal as archive from GitLab
- ([[https://gitlab.com/oer/org-re-reveal/-/archive/master/org-re-reveal-master.zip][zip archive]]
- and several ~tar~ variants; note the download icon on the
- [[https://gitlab.com/oer/org-re-reveal][project page]]).
-
- Alternatively, you can clone the
- [[https://gitlab.com/oer/org-re-reveal][repository of org-re-reveal]]:
- #+BEGIN_SRC sh
- git clone https://gitlab.com/oer/org-re-reveal.git
- #+END_SRC
-
- Add the directory of =org-re-reveal.el= to your Emacs's ~load-path~, and add the
- following statement to your =.emacs= file.
- #+BEGIN_SRC lisp
- (require 'org-re-reveal)
- #+END_SRC
-
- *Note*: It is suggested to use a recent version of Org mode with
- org-re-reveal. [[https://orgmode.org/][Installation of Org mode.]]
-
- * Configuration
-
- ** Options and Plug-ins
-
- All options, keywords, and customizable variables of org-re-reveal are
- shown in the following table, with hints on the next slide.
-
- | Option | Keyword | Variable |
- |-----------------------------------+----------------------------------------------+------------------------------------------|
- | ~reveal_center~ | ~nil~ | ~org-re-reveal-center~ |
- | ~reveal_control~ | ~nil~ | ~org-re-reveal-control~ |
- | ~reveal_defaulttiming~ | ~nil~ | ~org-re-reveal-defaulttiming~ |
- | ~reveal_fragmentinurl~ | ~nil~ | ~org-re-reveal-fragmentinurl~ |
- | ~reveal_generate_ids~ | ~nil~ | ~org-re-reveal-generate-custom-ids~ |
- | ~reveal_hashonebasedindex~ | ~nil~ | ~org-re-reveal-hashonebasedindex~ |
- | ~reveal_height~ | ~nil~ | ~org-re-reveal-height~ |
- | ~reveal_history~ | ~nil~ | ~org-re-reveal-history~ |
- | ~reveal_inter_presentation_links~ | ~nil~ | ~org-re-reveal-inter-presentation-links~ |
- | ~reveal_keyboard~ | ~nil~ | ~org-re-reveal-keyboard~ |
- | ~reveal_klipsify_src~ | ~nil~ | ~org-re-reveal-klipsify-src~ |
- | ~reveal_mousewheel~ | ~nil~ | ~org-re-reveal-mousewheel~ |
- | ~reveal_overview~ | ~nil~ | ~org-re-reveal-overview~ |
- | ~reveal_pdfseparatefragments~ | ~nil~ | ~org-re-reveal-pdfseparatefragments~ |
- | ~reveal_progress~ | ~nil~ | ~org-re-reveal-progress~ |
- | ~reveal_rolling_links~ | ~nil~ | ~org-re-reveal-rolling-links~ |
- | ~reveal_single_file~ | ~nil~ | ~org-re-reveal-single-file~ |
- | ~reveal_global_footer~ | ~nil~ | ~org-re-reveal-global-footer~ |
- | ~reveal_global_header~ | ~nil~ | ~org-re-reveal-global-header~ |
- | ~reveal_slide_number~ | ~nil~ | ~org-re-reveal-slide-number~ |
- | ~reveal_toc_footer~ | ~nil~ | ~org-re-reveal-toc-footer~ |
- | ~reveal_subtree_with_title_slide~ | ~nil~ | ~org-re-reveal-subtree-with-title-slide~ |
- | ~reveal_width~ | ~nil~ | ~org-re-reveal-width~ |
- | ~nil~ | ~REVEAL_ACADEMIC_TITLE~ | ~nil~ |
- | ~nil~ | ~REVEAL_CODEMIRROR_CONFIG~ | ~org-re-reveal-klipse-codemirror~ |
- | ~nil~ | ~REVEAL_DEFAULT_FRAG_STYLE~ | ~org-re-reveal-default-frag-style~ |
- | ~nil~ | ~REVEAL_DEFAULT_SLIDE_BACKGROUND~ | ~nil~ |
- | ~nil~ | ~REVEAL_DEFAULT_SLIDE_BACKGROUND_SIZE~ | ~nil~ |
- | ~nil~ | ~REVEAL_DEFAULT_SLIDE_BACKGROUND_POSITION~ | ~nil~ |
- | ~nil~ | ~REVEAL_DEFAULT_SLIDE_BACKGROUND_REPEAT~ | ~nil~ |
- | ~nil~ | ~REVEAL_DEFAULT_SLIDE_BACKGROUND_TRANSITION~ | ~nil~ |
- | ~nil~ | ~REVEAL_EXTERNAL_PLUGINS~ | ~org-re-reveal-external-plugins~ |
- | ~nil~ | ~REVEAL_EXTRA_ATTR~ | ~org-re-reveal-extra-attr~ |
- | ~nil~ | ~REVEAL_EXTRA_CSS~ | ~org-re-reveal-extra-css~ |
- | ~nil~ | ~REVEAL_EXTRA_JS~ | ~org-re-reveal-extra-js~ |
- | ~nil~ | ~REVEAL_EXTRA_OPTIONS~ | ~org-re-reveal-extra-options~ |
- | ~nil~ | ~REVEAL_EXTRA_SCRIPTS~ | ~org-re-reveal-extra-scripts~ |
- | ~nil~ | ~REVEAL_HEAD_PREAMBLE~ | ~org-re-reveal-head-preamble~ |
- | ~nil~ | ~REVEAL_INIT_SCRIPT~ | ~org-re-reveal-init-script~ |
- | ~nil~ | ~REVEAL_HIGHLIGHT_CSS~ | ~org-re-reveal-highlight-css~ |
- | ~nil~ | ~REVEAL_HIGHLIGHT_URL~ | ~org-re-reveal-highlight-url~ |
- | ~nil~ | ~REVEAL_HLEVEL~ | ~nil~ |
- | ~nil~ | ~REVEAL_KLIPSE_CSS_URL~ | ~org-re-reveal-klipse-css~ |
- | ~nil~ | ~REVEAL_KLIPSE_EXTRA_CONFIG~ | ~org-re-reveal-klipse-extra-config~ |
- | ~nil~ | ~REVEAL_KLIPSE_JS_URL~ | ~org-re-reveal-klipse-js~ |
- | ~nil~ | ~REVEAL_KLIPSE_SETUP~ | ~org-re-reveal-klipse-setup~ |
- | ~nil~ | ~REVEAL_MARGIN~ | ~org-re-reveal-margin~ |
- | ~nil~ | ~REVEAL_MATHJAX_URL~ | ~org-re-reveal-mathjax-url~ |
- | ~nil~ | ~REVEAL_MAX_SCALE~ | ~org-re-reveal-max-scale~ |
- | ~nil~ | ~REVEAL_MIN_SCALE~ | ~org-re-reveal-min-scale~ |
- | ~nil~ | ~REVEAL_MISCINFO~ | ~nil~ |
- | ~nil~ | ~REVEAL_MULTIPLEX_ID~ | ~org-re-reveal-multiplex-id~ |
- | ~nil~ | ~REVEAL_MULTIPLEX_SECRET~ | ~org-re-reveal-multiplex-secret~ |
- | ~nil~ | ~REVEAL_MULTIPLEX_SOCKETIO_URL~ | ~org-re-reveal-multiplex-socketio-url~ |
- | ~nil~ | ~REVEAL_MULTIPLEX_URL~ | ~org-re-reveal-multiplex-url~ |
- | ~nil~ | ~REVEAL_PLUGINS~ | ~org-re-reveal-plugins~ |
- | ~nil~ | ~REVEAL_POSTAMBLE~ | ~org-re-reveal-postamble~ |
- | ~nil~ | ~REVEAL_PREAMBLE~ | ~org-re-reveal-preamble~ |
- | ~nil~ | ~REVEAL_ROOT~ | ~org-re-reveal-root~ |
- | ~nil~ | ~REVEAL_SCRIPT_FILES~ | ~org-re-reveal-script-files~ |
- | ~nil~ | ~REVEAL_SLIDE_HEADER~ | ~org-re-reveal-slide-header~ |
- | ~nil~ | ~REVEAL_SLIDE_FOOTER~ | ~org-re-reveal-slide-footer~ |
- | ~nil~ | ~REVEAL_SPEED~ | ~org-re-reveal-transition-speed~ |
- | ~nil~ | ~REVEAL_TALK_QR_CODE~ | ~nil~ |
- | ~nil~ | ~REVEAL_TALK_URL~ | ~nil~ |
- | ~nil~ | ~REVEAL_THEME~ | ~org-re-reveal-theme~ |
- | ~nil~ | ~REVEAL_TITLE_SLIDE~ | ~org-re-reveal-title-slide~ |
- | ~nil~ | ~REVEAL_TITLE_SLIDE_BACKGROUND~ | ~nil~ |
- | ~nil~ | ~REVEAL_TITLE_SLIDE_STATE~ | ~nil~ |
- | ~nil~ | ~REVEAL_TITLE_SLIDE_TIMING~ | ~nil~ |
- | ~nil~ | ~REVEAL_TITLE_SLIDE_BACKGROUND_SIZE~ | ~nil~ |
- | ~nil~ | ~REVEAL_TITLE_SLIDE_BACKGROUND_POSITION~ | ~nil~ |
- | ~nil~ | ~REVEAL_TITLE_SLIDE_BACKGROUND_REPEAT~ | ~nil~ |
- | ~nil~ | ~REVEAL_TITLE_SLIDE_BACKGROUND_TRANSITION~ | ~nil~ |
- | ~nil~ | ~REVEAL_TOC_SLIDE_STATE~ | ~nil~ |
- | ~nil~ | ~REVEAL_TOC_SLIDE_CLASS~ | ~nil~ |
- | ~nil~ | ~REVEAL_TOC_SLIDE_TITLE~ | ~org-re-reveal-toc-slide-title~ |
- | ~nil~ | ~REVEAL_TRANS~ | ~org-re-reveal-transition~ |
-
- #+REVEAL: split
- For documentation of variables, see their doc strings. E.g.,
- either invoke ~C-h v~ followed by the name of the variable or
- browse the customization group ~org-export-re-reveal~: enter
- ~M-x customize-group~, then ~org-export-re-reveal~.
-
- For examples, please refer to the heading part of this document
- and to [[https://gitlab.com/oer/org-re-reveal/tree/master/test-cases][test-cases in the GitLab repository]].
-
- Options and keywords that do not have a variable documenting their
- effects are explained in this document. Search in reveal.js
- presentations is invoked with ~C-S-f~ (which means “Control” and
- “Shift” and “f”; curiously, “f” is shown as “F” on keyboards, which
- actually is “Shift f”).
-
- Note that =#+REVEAL_EXTRA_OPTIONS: your_comma_separated_options=
- and =org-re-reveal-extra-options= allow to specify all
- [[https://github.com/hakimel/reveal.js/#configuration][configuration options of reveal.js]].
-
-
- ** Set the location of reveal.js
-
- org-re-reveal must know where reveal.js is on your computer before
- exporting Org contents. You do not have to worry about any of this with
- [[https://gitlab.com/oer/emacs-reveal][emacs-reveal]].
-
- The location of reveal.js is the path to
- the top directory of the reveal.js packages, the directory which contains
- file ~README.md~, but *not* the one that contains the file reveal.js.
-
- The default location is =./reveal.js=, relative to the Org file.
-
- Customize =org-re-reveal-root= to change the location
- globally, or use keyword =REVEAL_ROOT= in an individual Org file.
- For example, add the following statement to your .emacs file:
- #+BEGIN_SRC lisp
- (setq org-re-reveal-root "file:///d:/reveal.js")
- #+END_SRC
-
- #+REVEAL: split
- *IMPORTANT*: If you use absolute paths to reveal.js as illustrated
- above, they should be in URL form,
- ~file:///path_to_reveal.js~.
-
- #+BEGIN_SRC org
- ,#+REVEAL_ROOT: file:///d:/reveal.js
- #+END_SRC
-
- You can also set =REVEAL_ROOT= to a URL to use reveal.js from
- the web instead of downloading a local copy. The reveal.js
- documentation does not recommend this, though.
-
- #+BEGIN_SRC org
- ,#+REVEAL_ROOT: https://revealjs.com/
- #+END_SRC
-
-
- *** URL form for file location
-
- For example if you cloned this repository to your home directory,
- this file in Mac OS X might be referred to as
- ~file:///Users/username/org-re-reveal/Readme.org~. This file in
- GNU/Linux could be ~file:///home/username/org-re-reveal/Readme.org~,
- in Windows
- ~file:///c:/Users/username/org-re-reveal/Readme.org~. For more
- details on this standard please refer to
- [[https://en.wikipedia.org/wiki/File_URI_scheme]].
-
- ** First Try
-
- The library org-re-reveal needs to be loaded first. That can happen
- either by adding ~(require 'org-re-reveal)~ to your ~.emacs~ file or
- manually: Type "M-x load-library", then "org-re-reveal".
-
- Now you can export this manual, ~Readme.org~, into a reveal.js
- presentation by typing "C-c C-e v v". That key binding can be
- changed by customizing ~org-re-reveal-keys~.
-
- Open the generated "Readme.html" in your browser and enjoy the
- cool slides. (Of course, the location of reveal.js must be
- configured properly, as explained earlier.)
-
- ** Error about head.min.js
- Older versions of reveal.js included an initialization file
- ~head.min.js~, which does not exist with newer versions. By
- default, ~org-re-reveal~ tries to load all files of
- ~org-re-reveal-script-files~. If you see an error (in the
- browser’s console) that ~lib/js/head.min.js~ does not exist,
- customize ~org-re-reveal-script-files~ to remove it.
-
- ** The HLevel
-
- org-re-reveal maps each heading and its contents to one reveal.js
- slide. Since reveal.js arranges slides into a 2-dimensional matrix,
- org-re-reveal use a *HLevel* value to decide whether to map headings to horizontal
- or vertical slides.
-
- * Headings of level less than or equal to *HLevel* are mapped to horizontal
- slides.
- * Headings with a deeper level are mapped to vertical slides.
-
- HLevel's default value is 1, means only level 1 headings are arranged
- horizontally. Deeper headings are mapped to vertical slides below their
- parent level 1 heading.
-
- *** HLevel's Effects on Slides Layout
-
- Assume we have a simple Org file as below:
- #+BEGIN_SRC org
- ,* H1
- ,* H2
- ,** H2.1
- ,*** H2.1.1
- ,* H3
- #+END_SRC
-
- If HLevel is 1, the default value, headings H2.1 and H2.1.1 will
- be mapped to vertical slides below the slides of heading H2.
-
- [[./images/hlevel.png]]
-
- #+REVEAL: split
-
- If HLevel is changed to 2, slides of heading H2.1 will be changed
- to the main horizontal queue, and slides of heading H2.1.1 will be
- a vertical slide below it.
-
- [[./images/hlevel2.png]]
-
- *** Configure HLevel's Value
-
- * Change variable =org-re-reveal-hlevel='s value to set HLevel globally.
- For example, add the following statement to your =.emacs= file.
- #+BEGIN_SRC lisp
- (setq org-re-reveal-hlevel 2)
- #+END_SRC
-
- * Set HLevel within individual Org file with option =REVEAL_HLEVEL=:
- #+BEGIN_SRC org
- ,#+REVEAL_HLEVEL: 2
- #+END_SRC
-
- ** Subheadings
-
- If you want one slide to have its usual heading followed by a
- subheading, you can add a ~NOSLIDE~ property (and make sure that
- the subheading does not appear in the table of contents):
- #+BEGIN_SRC org
- ,* A normal slide
- ,** A subheading
- :PROPERTIES:
- :UNNUMBERED: notoc
- :NOSLIDE: t
- :END:
- #+END_SRC
-
- ** Force Split
-
- If one heading has too many things to fit into one slide, you can
- split the contents into multiple vertical slides manually, by inserting
-
- #+BEGIN_SRC org
- ,#+REVEAL: split
- #+END_SRC
-
- #+REVEAL: split data-background="#555555"
-
- Now a new slide begins after the ~#+REVEAL~ keyword.
-
- By default, any background attributes of a slide should remain in
- effect for the split parts. In addition, you can
- add HTML attributes after ~#+REVEAL: split~, e.g., this slide
- uses ~#+REVEAL: split data-background="#555555"~ to set a
- background color.
-
- ** Select Theme and Transition
-
- Themes and transition styles are set globally throughout the whole
- file by setting options =REVEAL_THEME=, =REVEAL_TRANS=, and =REVEAL_SPEED=.
-
- For an example, please check the heading part of this document.
- Note that some themes access remote servers to download fonts.
- Your privacy policy should explain this.
-
- Available themes can be found in "css/theme/" in the reveal.js
- directory and customized via ~org-re-reveal-theme~.
-
- Available transitions can be found in the
- [[https://github.com/hakimel/reveal.js/blob/master/README.md][README of reveal.js]]
- and customized via ~org-re-reveal-transition~.
-
- ** Set The Title Slide
- By default, org-re-reveal generates a title slide displaying the
- title, the author, the Email, the date and the time-stamp of the
- Org document, controlled by Org's [[https://orgmode.org/org.html#Export-settings][export settings]].
-
- To avoid a title slide, set variable
- ~org-re-reveal-title-slide~ to ~nil~ or add the following header line:
- ~#+REVEAL_TITLE_SLIDE:~
-
- *** Customize the Title Slide
-
- To customize the title slide, set ~org-re-reveal-title-slide~
- to a string with HTML code. Escape sequences are documented for
- variable ~org-re-reveal-title-slide~; they can be used to retrieve
- document information. See
- [[https://gitlab.com/oer/org-re-reveal/blob/master/test-cases/test-title-slide.org][test-title-slide.org]]
- for an example including ~REVEAL_ACADEMIC_TITLE~,
- ~REVEAL_TALK_URL~, ~REVEAL_TALK_QR_CODE~
-
- Alternatively, you can also write the title slide's HTML code
- (with escape sequences) into a separate file and
- set ~org-re-reveal-title-slide~ to the name of that file.
-
- ** Set Slide Background
-
- Slide background can be set to a color, an image, or a repeating image
- array by setting heading properties.
-
- Keywords ~REVEAL_DEFAULT_SLIDE_BACKGROUND~, ~REVEAL_DEFAULT_SLIDE_BACKGROUND_POSITION~,
- ~REVEAL_DEFAULT_SLIDE_BACKGROUND_REPEAT~, ~REVEAL_DEFAULT_SLIDE_BACKGROUND_SIZE~, and
- ~REVEAL_DEFAULT_SLIDE_BACKGROUND_TRANSITION~ can be used to specify
- default values for options explained subsequently for individual
- slides. Additional keywords ~REVEAL_TITLE_SLIDE_BACKGROUND~,
- ~REVEAL_TITLE_SLIDE_BACKGROUND_POSITION~,
- ~REVEAL_TITLE_SLIDE_BACKGROUND_REPEAT~,
- ~REVEAL_TITLE_SLIDE_BACKGROUND_SIZE~,
- ~REVEAL_TITLE_SLIDE_BACKGROUND_TRANSITION~ set those options for
- the title slide.
-
- *** Colored Background
- :PROPERTIES:
- :reveal_background: linear-gradient(to left, #910830, #521623)
- :END:
-
- Set property =reveal_background= to either an RGB color value, or any
- supported CSS color format.
-
- #+BEGIN_SRC org
- ,*** Colored Background
- :PROPERTIES:
- :reveal_background: linear-gradient(to left, #910830, #521623)
- :END:
- #+END_SRC
-
- *** Single Image Background - Instructions
-
- Set property =reveal_background= to an URL of background image.
- Set property =reveal_background_trans= to =slide= to make background image
- sliding rather than fading.
- #+BEGIN_SRC org
- ,*** Single Image Background - Result
- :PROPERTIES:
- :reveal_background: ./images/adult-education-3258944_640.jpg
- :reveal_background_trans: slide
- :END:
- #+END_SRC
-
- *** Single Image Background - Result
- :PROPERTIES:
- :reveal_background: ./images/adult-education-3258944_640.jpg
- :reveal_background_trans: slide
- :END:
-
- *** Repeating Image Background - Instructions
-
- Resize background image by setting property
- =reveal_background_size= to a number.
-
- Set property =reveal_background_repeat= to =repeat= to repeat
- image on the background.
- #+BEGIN_SRC org
- ,*** Repeating Image Background - Result
- :PROPERTIES:
- :reveal_background: ./images/adult-education-3258944_640.jpg
- :reveal_background_size: 200px
- :reveal_background_repeat: repeat
- :END:
- #+END_SRC
-
- *** Repeating Image Background - Result
- :PROPERTIES:
- :reveal_background: ./images/adult-education-3258944_640.jpg
- :reveal_background_size: 200px
- :reveal_background_repeat: repeat
- :END:
-
- *** Title Slide Background Image
-
- To set the title slide's background image, please specify the
- following options:
-
- * =REVEAL_TITLE_SLIDE_BACKGROUND=: A URL to the background image.
- * =REVEAL_TITLE_SLIDE_BACKGROUND_SIZE=: HTML size specification, e.g. ~200px~.
- * =REVEAL_TITLE_SLIDE_BACKGROUND_REPEAT=: set to ~repeat~ to repeat the image.
-
- ** Slide Size
-
- Reveal.js scales slides to best fit the display resolution, but you can
- also specify the desired size by settings the option tags =width= and =height=.
-
- The scaling behavior can also be constrained by setting following
- options:
- * =#+REVEAL_MARGIN:= :: a float number, the factor of empty area
- surrounding slide contents.
- * =#+REVEAL_MIN_SCALE:= :: a float number, the minimum scaling down
- ratio.
- * =#+REVEAL_MAX_SCALE:= :: a float number, the maximum scaling up
- ratio.
-
- ** Slide Numbering
-
- By default, the slide number is showed at the lower-right corner of each slide.
-
- To disable slide numbering, please add ~reveal_slide_number:nil~ to the
- ~#+OPTIONS:~ line.
-
- From reveal.js 3.1.0, slide numbering can have several custom
- formats. To choose one format, please set ~reveal_slide_number~ to
- its proper string. For example, ~reveal_slide_number:h/v~.
-
- Supported format strings can be found in the [[https://github.com/hakimel/reveal.js/#slide-number][reveal.js manual]].
-
-
- ** Slide Header/Footer
- Specify slide header/footer by =#+REVEAL_SLIDE_HEADER:= and
- =#+REVEAL_SLIDE_FOOTER:=. The option content will be put into
- divisions of class =slide-header= and =slide-footer=, so you can
- control their appearance in custom CSS file (see [[Extra Stylesheets]]).
- By default header/footer content will only display on content
- slides. To show them also on the title and toc slide you can add
- ~reveal_global_header:t~ and ~reveal_global_footer:t~ to
- ~#+OPTIONS:~ line. To show the footer on the toc slide but not on
- the title slide, use option ~reveal_toc_footer:t~.
-
- ** Fragmented Contents
-
- Make contents fragmented (show up one-by-one) by setting option
- =ATTR_REVEAL= with property ":frag frag-style", as illustrated
- below.
-
- #+ATTR_REVEAL: :frag roll-in
- Paragraphs can be fragmented.
-
- #+ATTR_REVEAL: :frag roll-in
- - Lists can
- - be fragmented.
-
- #+ATTR_REVEAL: :frag roll-in
- Pictures, tables and many other HTML elements can be fragmented.
-
- *** Fragment Styles
- Available fragment styles are:
- #+ATTR_REVEAL: :frag t
- * grow
- * shrink
- * roll-in
- * fade-out
- * highlight-red
- * highlight-green
- * highlight-blue
- * appear
-
- Setting ~:frag t~ will use reveal.js default fragment style, which
- can be overridden by local option ~#+REVEAL_DEFAULT_FRAG_STYLE~ or
- global variable ~org-re-reveal-default-frag-style~.
-
- *** Fragment Index
- Fragment sequence can be changed by assigning adding ~:frag_idx~
- property to each fragmented element.
-
- #+ATTR_REVEAL: :frag t :frag_idx 3
- And, this paragraph shows at last.
-
- #+ATTR_REVEAL: :frag t :frag_idx 2
- This paragraph shows secondly.
-
- #+ATTR_REVEAL: :frag t :frag_idx 1
- This paragraph shows at first.
-
- *** List Fragments
-
- ~#+ATTR_REVEAL: :frag frag-style~ above a list defines fragment
- style for the list as a whole.
- #+ATTR_REVEAL: :frag grow
- 1. All items grow.
- 2. As a whole.
-
- To define fragment styles for every list item, please enumerate
- each item's style in a lisp list.
-
- ~none~ in the style list will disable fragment for the
- corresponding list item.
-
- Custom fragment sequence should also be enumerated for each list
- item.
-
- #+REVEAL: split
- An example:
-
- #+BEGIN_SRC org
- ,#+ATTR_REVEAL: :frag (grow shrink roll-in fade-out none) :frag_idx (4 3 2 1 -)
- * I will grow.
- * I will shrink.
- * I rolled in.
- * I will fade out.
- * I don't fragment.
- #+END_SRC
-
- #+ATTR_REVEAL: :frag (grow shrink roll-in fade-out none) :frag_idx (4 3 2 1 -)
- * I will grow.
- * I will shrink.
- * I rolled in.
- * I will fade out.
- * I don't fragment.
- #+REVEAL: split
- When there is ~:frag_idx~ specified, insufficient fragment style
- list will be extended by its last element. So a ~:frag (appear)~
- assigns each item of a list the ~appear~ fragment style.
- #+BEGIN_SRC org
- ,#+ATTR_REVEAL: :frag (appear)
- * I appear.
- * I appear.
- * I appear.
- #+END_SRC
- #+ATTR_REVEAL: :frag (appear)
- * I appear.
- * I appear.
- * I appear.
-
- *** List Fragments with Audio
-
- You can also use org-re-reveal in combination with the
- audio-slideshow plugin of
- [[https://github.com/rajgoel/reveal.js-plugins][reveal.js-plugins]].
- For example, when the audio-slideshow plugin is configured
- properly, the following plays ~1.ogg~ when the first list item
- appears, ~2.ogg~ for the second list item, and no audio for the
- third. (You need to add suitable audio files to the current
- directory first.)
-
- #+BEGIN_SRC org
- ,#+ATTR_REVEAL: :frag (appear) :audio (1.ogg 2.ogg none)
- * I appear with audio 1.ogg.
- * I appear with audio 2.ogg.
- * I appear without audio.
- #+END_SRC
-
- #+ATTR_REVEAL: :frag (appear) :audio (1.ogg 2.ogg none)
- * I appear with audio 1.ogg.
- * I appear with audio 2.ogg.
- * I appear without audio.
-
- ** Data State and Classes for Headlines and Slides, including generated ones
- :PROPERTIES:
- :reveal_data_state: alert
- :END:
-
- Set property =reveal_data_state= to a headline to change this
- slide's display style. (In the past, ~reveal.min.css~ defined
- classes ~alert~, ~blackout~, ~soothe~, which were activated by the
- data state.) In any case, property =reveal_data_state= adds a
- ~data-state~ attribute to the slide's ~section~ element, which is
- called “Slide State” by reveal.js; this might also be useful with
- reveal.js plugins.
-
- #+REVEAL: split
- To add a ~data-state~ attribute to a generated title slide or
- table of contents slide, you can use the following options:
-
- * =REVEAL_TITLE_SLIDE_STATE=
- * =REVEAL_TOC_SLIDE_STATE=
-
- To add a ~class~ attribute to a ~section~ element, use
- an [[*Extra Slide Attribute][Extra Slide Attribute]]
- (e.g., property ~:reveal_extra_attr: class="my-class"~).
-
- To add a ~class~ attribute to the ~section~ element of a generated
- table of contents slide, you can use the option
- =REVEAL_TOC_SLIDE_CLASS=.
-
- To add a ~class~ attribute to a slide's ~h~-element, add property
- =html_headline_class= to the headline.
-
-
- ** Third-Party Plugins
- Reveal.js is also extensible through third-party plugins, which can
- be loaded with org-re-reveal. Several plugins are included and
- configured with [[https://gitlab.com/oer/emacs-reveal][emacs-reveal]].
-
- The paths to javascript loading code
- need to be customized in the variable
- ~org-re-reveal-external-plugins~. This variable can be an
- associative list or a filename. If it is an associative list the first
- element of each Assoc cell is a symbol -- the name of the plugin --
- and the second is a string that will be expanded by the ~format~
- function when the plugin is loaded. So, this second element should
- have the form:
-
- ~" {src: \"%srelative/path/toplugin/from/reveal/root.js\"}"~
-
- If you need the async or callback parameters, include those too.
-
- #+REVEAL: split
-
- If ~org-re-reveal-external-plugins~ is a filename, that file must
- contain strings of the above format, one per line (without names of
- plugins, just the ~src~ information embedded in braces); this can
- also be configured within your Org presentation with a line like
- this:
-
- =#+REVEAL_EXTERNAL_PLUGINS: external_plugins.js=
-
- In any case, org-re-reveal will add the plugins to the dependencies
- parameter when Reveal is initialized.
-
-
- ** Highlight Source Code
-
- There are three options to highlight source code (or not), see doc
- string of customizable variable ~org-re-reveal-no-htmlize-src~.
- 1. Use your Emacs theme with ~htmlize.el~
- 2. Use highlight.js
- 3. Disable htmlize with above variable, enable on selected source
- code blocks
-
- To use your Emacs theme, please make sure ~htmlize.el~ is
- installed. Then no more setup is necessary.
-
- If indentation is wrong, maybe set variable =org-html-indent=
- to =nil= and/or =org-src-preserve-indentation= to =t=. Then export again.
-
- *** Using highlight.js
-
- You can also use [[https://highlightjs.org][highlight.js]], by adding ~highlight~ to the reveal.js
- plugin list.
- #+BEGIN_SRC org
- ,#+REVEAL_PLUGINS: (highlight)
- #+END_SRC
-
- The default highlighting theme is ~zenburn.css~ brought with
- reveal.js. To use other themes, please specify the CSS file name by
- ~#+REVEAL_HIGHLIGHT_CSS~ or the variable ~org-re-reveal-highlight-css~.
-
- The "%r" in the given CSS file name will be replaced by reveal.js'
- URL.
-
- #+MACRO: klipse-languages (eval (message "%s" (mapconcat #'identity org-re-reveal-klipse-languages ", ")))
- ** Editable and Executable Source Code
- Thanks to [[https://github.com/viebel/klipse][klipse]], it is
- possible to embed code blocks in CodeMirror instance in order to
- edit and execute code during a presentation. Note that klipse
- support has been rewritten in org-re-reveal 1.1.11. Previously,
- code was displayed in iframes, which does not allow to share state
- between different pieces of code; in particular, SQL did not work
- (see [[https://gitlab.com/oer/org-re-reveal/issues/23][this issue]]).
-
- Now, without iframes, some CSS settings of klipse and reveal.js are
- in conflict. In particular, scaling needs to be disabled with
- klipse. See settings of this Readme and examples in the Tips
- section under [[Executable Source Blocks]] as well as that
- [[https://gitlab.com/oer/org-re-reveal/blob/master/test-cases/test-klipsify.org][test file]]
- to get started.
-
- At present code editing is supported in: {{{klipse-languages}}}
-
- ** MathJax
- :PROPERTIES:
- :CUSTOM_ID: my-heading
- :END:
-
- ${n! \over k!(n-k)!} = {n \choose k}$
-
- LaTeX equations are rendered in native HTML5 contents.
-
- *IMPORTANT*: Displaying equations requires an internet connection
- to load JavaScript or a local MathJax installation.
- For the latter, set option =REVEAL_MATHJAX_URL= to
- the URL pointing to the local MathJax location.
-
- If you use MathJax from a remote location, your privacy policy
- should explain this.
-
- ** Preamble and Postamble
-
- You can define preamble and postamble contents which will not be
- shown as slides, but will be exported into the body part of the
- generated HTML file, at just before and after the slide contents.
-
- Change preamble and postamble contents globally by setting variable
- =org-re-reveal-preamble= and =org-re-reveal-postamble=.
-
- Change preamble and postamble contents locally by setting options
- =REVEAL_PREAMBLE= and =REVEAL_POSTAMBLE=, as illustrated at the
- heading part of this document.
-
- To add custom contents into HTML =<head>= parts, set contents to
- variable =org-re-reveal-head-preamble= or option
- =REVEAL_HEAD_PREAMBLE=.
-
- *** Generating Pre/Postamble by Emacs-Lisp Functions
-
- If the contents of pre/postamble is the name of an evaluated
- Emacs-Lisp function, which must accept an argument of Org mode
- info and return a string, the returned string will be taken
- as pre/postamble contents.
-
- So you can embed the Emacs-Lisp function as an Org Babel source
- block and mark it to be evaluated when exporting the document.
-
- ** Raw HTML in Slides
-
- Besides the Org contents, you can embed raw HTML contents
- into slides by placing a =#+REVEAL_HTML= keyword.
-
- A talk by Linus Torvalds on Git (the source code to embed that
- video makes use of attribute ~data-src~ for lazy loading of the
- video):
- #+REVEAL_HTML: <video controls width="400" height="300" data-src="https://archive.org/download/LinusTorvaldsOnGittechTalk/LinusTorvaldsOnGittechTalk.ogv"></video>
-
- ** Speaker Notes
- Reveal.js supports speaker notes, which are displayed in a separate
- browser window. Pressing 's' on slide's windows opens a popup
- window (or indicates if you need to enable this browser feature)
- displaying the current slide with its speaker notes, a timer, and a preview
- of upcoming contents. To configure timing, see
- ~org-re-reveal-defaulttiming~.
- The following example shows how to define speaker notes for a slide
- with an estimated talk time of 120s.
-
- #+BEGIN_SRC org
- ,* Heading 1
- :PROPERTIES:
- :reveal_extra_attr: data-timing="120"
- :END:
- Some contents.
- ,#+BEGIN_NOTES
- Enter speaker notes here.
- - With bullet points
- - If necessary
- ,#+END_NOTES
- #+END_SRC
-
- #+REVEAL: split
- Speaker note functionality requires that ~notes~ is configured as
- plugin (which is true by default with ~org-re-reveal-plugins~) and
- that popup windows are permitted.
-
- Due to a bug in reveal.js, sometimes the speaker notes window does
- not initialize properly. As workaround, close the speaker notes
- windows and press ’s’ again; notes should be working then.
- If this does not work, you may need to put the presentation HTML
- file into the reveal.js root directory and reopen it in the browser.
-
- *** Easy-Template for Speaker Notes
-
- Org-re-reveal registers 'n' as key for the speaker notes template:
- You can press '<' followed by 'n' and then press TAB, which
- inserts ~#+begin_notes~ and ~#+end_notes~. For this to work with
- Org version 9.2 or newer, you need to place ~(require 'org-tempo)~
- into your ~.emacs~ or add ~org-tempo~ to ~org-modules~. (Besides,
- function ~org-insert-structure-template~ allows to insert different
- kinds of block structures.)
-
- Customize ~org-re-reveal-note-key-char~ to change the default key
- 'n'. Set to nil to avoid auto-completion for speaker notes.
-
- ** Multiplexing
- Reveal.js supports multiplexing, which allows allows your audience to view
- the slides of the presentation you are controlling on their own phone, tablet
- or laptop. As the master presentation navigates the slides, all client
- presentations will update in real time.
-
- Please see
- [[https://gitlab.com/oer/org-re-reveal/blob/master/test-cases/test-multiplex.org][this sample presentation for instructions]].
- Briefly, you need to configure ~multiplex~ as plugin, with
- URL, ID and Secret of a socket.io server. Then, generate master
- (with Secret) and client presentations and publish the client
- presentation for your audience.
-
- ** Extra Stylesheets
-
- Set =REVEAL_EXTRA_CSS= to a stylesheet file path in order to load extra custom
- styles after loading a theme.
-
- #+BEGIN_SRC org
- ,#+REVEAL_EXTRA_CSS: url-to-custom-stylesheet.css
- #+END_SRC
-
- ** Select Built-In Scripts
-
- Set option =REVEAL_PLUGINS= or variable =org-re-reveal-plugins= to a
- lisp list to activate additional reveal.js functionality.
-
- Variable =org-re-reveal-plugins= allows to select among available plugins.
-
- The following example selects /markdown/, /highlight/, and /search/.
- #+BEGIN_SRC org
- ,#+REVEAL_PLUGINS: (markdown highlight search)
- #+END_SRC
-
- ** Extra JavaScript Libraries
-
- Set =REVEAL_EXTRA_SCRIPTS= to a list of extra JavaScript
- libraries of script elements.
- #+BEGIN_SRC org
- ,#+REVEAL_EXTRA_SCRIPTS: ("filename.js" "<script>Your code here\n</script>")
- #+END_SRC
-
- ** Extra Slide Attribute
-
- Set =REVEAL_EXTRA_ATTR= to add any additional attributes to all slides if
- required.
- #+BEGIN_SRC org
- ,#+REVEAL_EXTRA_ATTR: data-autoslide=20000
- #+END_SRC
-
- This global default value can also be overridden per heading by setting
- =reveal_extra_attr= property on the headings.
- #+BEGIN_SRC org
- ,*** Heading with overriden autoslide
- :PROPERTIES:
- :reveal_extra_attr: data-autoslide=10000
- :END:
- #+END_SRC
-
- ** Export into Single File
-
- By setting option =reveal_single_file= to ~t~, images and basic
- reveal.js scripts will be embedded into the exported HTML file, to make
- a portable HTML. Please note that remote images will /not/ be included in the
- single file, so presentations with remote images will still require an Internet
- connection.
-
- Attention: This needs locally available reveal.js files!
-
- #+BEGIN_SRC org
- ,#+OPTIONS: reveal_single_file:t
- #+END_SRC
-
- #+REVEAL: split
-
- *Limitations* of single file export
- * Some functions provided by reveal.js libraries will be
- *disabled*, including PDF export, Markdown support, zooming,
- speaker notes, and remote control.
- * Code highlighting by highlight.js is also disabled, but *code
- highlighting by Emacs is not affected.*
- * Plugins are *not* enabled.
- * CSS needs to be *self-contained*. Neither ~@import~ rules nor
- other forms of URLs work (images need to be embedded as
- data URIs).
- * If you use ~org-re-reveal-title-slide~ with custom HTML code and
- images, you need to embed images in the form of data URIs
- yourself.
-
-
- ** Export Current Subtree
-
- Use menu entry "C-c C-e v s" to export only current subtree,
- without the title slide and the table of content, for a quick preview
- of your current edition.
-
- Customize ~org-re-reveal-subtree-with-title-slide~ to also export a
- title slide.
-
- * Tips
-
- ** En-/Disable Heading Numbers
-
- Use Org export option =num=, e.g., =num:t= or =num:nil=:
- #+BEGIN_SRC org
- ,#+OPTIONS: num:nil
- #+END_SRC
-
- With heading numbers (i.e., without ~num:nil~), depending on
- ~org-re-reveal-generate-custom-ids~, (more) stable slide IDs can be
- generated (instead of hash values that change with content
- changes). See doc string (~C-h v~) of variable
- ~org-re-reveal-generate-custom-ids~ for more details.
-
- ** Disable Table of Contents
-
- Add =toc:nil= to =#+OPTIONS= to disable the table of contents:
- #+BEGIN_SRC org
- ,#+OPTIONS: toc:nil
- #+END_SRC
-
- This is actually an option recognized by =org-export=.
-
- ** Table of Contents at Specified Position
- When using option =toc:nil=, you can also insert a slide with the table
- of contents at a position of your choice with keyword =REVEAL_TOC=
- (where the number after =headlines= defines the depth of headlines
- to include) in a section of its own (see this
- [[https://gitlab.com/oer/org-re-reveal/blob/master/test-cases/test-slide-numbers-reveal-toc.org][test file]]):
-
- #+BEGIN_SRC org
- ,** Table of Contents
- :PROPERTIES:
- :UNNUMBERED: notoc
- :END:
- ,#+REVEAL_TOC: headlines 1
- #+END_SRC
-
- *WARNING:* Previous versions of org-re-reveal used keyword =TOC= (which
- generates the table of contents in a section with default headline)
- instead of =REVEAL_TOC=. Keyword =TOC= may or may not work for you.
- Its use is discouraged as it may break some presentations.
-
- ** Internal Links
-
- Reveal.js only supports jumps to entire slides, but not to specific
- elements on slides. Thus, we can only link to headlines in an Org
- document.
-
- You can create links pointing to a headline's text, or its
- custom-id, as in the examples below:
-
- * [[Tips]].
- * [[#my-heading][Heading]] with a =CUSTOM_ID= property.
-
- #+REVEAL: split
- If you add =reveal_inter_presentation_links:t= to =#+OPTIONS=, such
- links also work between presentations on the same server, e.g.,
- =[[file:somefile.org::#anchor][link text]]=.
-
- Reveal.js [[https://github.com/hakimel/reveal.js#internal-links][advertises]]
- to use broken internal links, which are used in org-re-reveal by
- default. (Those links work with reveal.js, but are not understood
- by search engines.) If you change ~org-re-reveal--href-fragment-prefix~
- from its default to the value of ~org-re-reveal--slide-id-prefix~,
- valid links are generated:
- #+BEGIN_SRC lisp
- (setq org-re-reveal--href-fragment-prefix org-re-reveal--slide-id-prefix)
- #+END_SRC
- Whether this change is a good idea might be discussed under this
- [[https://github.com/hakimel/reveal.js/issues/2276][reveal.js issue]].
-
- ** Custom JS
-
- To pass custom JS code to ~Reveal.initialize~, state the code by
- ~#+REVEAL_INIT_SCRIPT~ (multiple statements are concatenated) or by
- custom variable ~org-re-reveal-init-script~.
-
- ** Executable Source Blocks
- To allow live execution of code in some languages, enable the
- klipse plugin
- with variable ~org-re-reveal-klipsify-src~ (or with option ~reveal_klipsify_src:t~)
-
- Src blocks with the languages contained in
- ~org-re-reveal-klipse-setup~ will be executed with output shown in
- a console-like environment. See
- [[https://github.com/viebel/klipse#klipse][the README of klipse]]
- for more details.
-
- Additional examples (e.g., Python and SQL) can be found in a
- [[https://gitlab.com/oer/org-re-reveal/blob/master/test-cases/test-klipsify.org][test file]].
-
- *** HTML Src Block
- #+BEGIN_SRC html
- <h1 class="whatever">hello, what's your name</h1>
- #+END_SRC
-
- *** Javascript Src Block
- #+BEGIN_SRC js
- console.log("success");
- var x='string using single quote';
- x
- #+END_SRC
-
- *** Perl Src Block (not klipsified)
- #+BEGIN_SRC perl
- I don't know perl!
- #+END_SRC
- * Thanks
-
- Courtesy to:
-
- #+ATTR_REVEAL: :frag roll-in
- The powerful Org mode,
- #+ATTR_REVEAL: :frag roll-in
- the impressive reveal.js
- #+ATTR_REVEAL: :frag roll-in
- and the precise MathJax
|