blob: cd444865da2e58736dbd26b9b05a8b5479e474f5 [file] [log] [blame]
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +02001/**
2 * The default reveal.js config object.
3 */
4export default {
5
6 // The "normal" size of the presentation, aspect ratio will be preserved
7 // when the presentation is scaled to fit different resolutions
Marc Kupietz9c036a42024-05-14 13:17:25 +02008 width: 1280,
9 height: 720 ,
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +020010
11 // Factor of the display size that should remain empty around the content
12 margin: 0.04,
13
14 // Bounds for smallest/largest possible scale to apply to content
15 minScale: 0.2,
16 maxScale: 2.0,
17
18 // Display presentation control arrows
19 controls: true,
20
21 // Help the user learn the controls by providing hints, for example by
22 // bouncing the down arrow when they first encounter a vertical slide
23 controlsTutorial: true,
24
25 // Determines where controls appear, "edges" or "bottom-right"
26 controlsLayout: 'bottom-right',
27
28 // Visibility rule for backwards navigation arrows; "faded", "hidden"
29 // or "visible"
30 controlsBackArrows: 'faded',
31
32 // Display a presentation progress bar
33 progress: true,
34
35 // Display the page number of the current slide
36 // - true: Show slide number
37 // - false: Hide slide number
38 //
39 // Can optionally be set as a string that specifies the number formatting:
40 // - "h.v": Horizontal . vertical slide number (default)
41 // - "h/v": Horizontal / vertical slide number
42 // - "c": Flattened slide number
43 // - "c/t": Flattened slide number / total slides
44 //
45 // Alternatively, you can provide a function that returns the slide
46 // number for the current slide. The function should take in a slide
47 // object and return an array with one string [slideNumber] or
48 // three strings [n1,delimiter,n2]. See #formatSlideNumber().
49 slideNumber: false,
50
51 // Can be used to limit the contexts in which the slide number appears
52 // - "all": Always show the slide number
53 // - "print": Only when printing to PDF
54 // - "speaker": Only in the speaker view
55 showSlideNumber: 'all',
56
57 // Use 1 based indexing for # links to match slide number (default is zero
58 // based)
59 hashOneBasedIndex: false,
60
61 // Add the current slide number to the URL hash so that reloading the
62 // page/copying the URL will return you to the same slide
63 hash: false,
64
65 // Flags if we should monitor the hash and change slides accordingly
66 respondToHashChanges: true,
67
Marc Kupietz09b75752023-10-07 09:32:19 +020068 // Enable support for jump-to-slide navigation shortcuts
69 jumpToSlide: true,
70
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +020071 // Push each slide change to the browser history. Implies `hash: true`
72 history: false,
73
74 // Enable keyboard shortcuts for navigation
75 keyboard: true,
76
77 // Optional function that blocks keyboard events when retuning false
78 //
79 // If you set this to 'focused', we will only capture keyboard events
80 // for embedded decks when they are in focus
81 keyboardCondition: null,
82
83 // Disables the default reveal.js slide layout (scaling and centering)
84 // so that you can use custom CSS layout
85 disableLayout: false,
86
87 // Enable the slide overview mode
88 overview: true,
89
90 // Vertical centering of slides
91 center: true,
92
93 // Enables touch navigation on devices with touch input
94 touch: true,
95
96 // Loop the presentation
97 loop: false,
98
99 // Change the presentation direction to be RTL
100 rtl: false,
101
102 // Changes the behavior of our navigation directions.
103 //
104 // "default"
105 // Left/right arrow keys step between horizontal slides, up/down
106 // arrow keys step between vertical slides. Space key steps through
107 // all slides (both horizontal and vertical).
108 //
109 // "linear"
110 // Removes the up/down arrows. Left/right arrows step through all
111 // slides (both horizontal and vertical).
112 //
113 // "grid"
114 // When this is enabled, stepping left/right from a vertical stack
115 // to an adjacent vertical stack will land you at the same vertical
116 // index.
117 //
118 // Consider a deck with six slides ordered in two vertical stacks:
119 // 1.1 2.1
120 // 1.2 2.2
121 // 1.3 2.3
122 //
123 // If you're on slide 1.3 and navigate right, you will normally move
124 // from 1.3 -> 2.1. If "grid" is used, the same navigation takes you
125 // from 1.3 -> 2.3.
126 navigationMode: 'default',
127
128 // Randomizes the order of slides each time the presentation loads
129 shuffle: false,
130
131 // Turns fragments on and off globally
132 fragments: true,
133
134 // Flags whether to include the current fragment in the URL,
135 // so that reloading brings you to the same fragment position
136 fragmentInURL: true,
137
138 // Flags if the presentation is running in an embedded mode,
139 // i.e. contained within a limited portion of the screen
140 embedded: false,
141
142 // Flags if we should show a help overlay when the question-mark
143 // key is pressed
144 help: true,
145
146 // Flags if it should be possible to pause the presentation (blackout)
147 pause: true,
148
149 // Flags if speaker notes should be visible to all viewers
150 showNotes: false,
151
152 // Flags if slides with data-visibility="hidden" should be kep visible
153 showHiddenSlides: false,
154
155 // Global override for autoplaying embedded media (video/audio/iframe)
156 // - null: Media will only autoplay if data-autoplay is present
157 // - true: All media will autoplay, regardless of individual setting
158 // - false: No media will autoplay, regardless of individual setting
159 autoPlayMedia: null,
160
161 // Global override for preloading lazy-loaded iframes
162 // - null: Iframes with data-src AND data-preload will be loaded when within
163 // the viewDistance, iframes with only data-src will be loaded when visible
164 // - true: All iframes with data-src will be loaded when within the viewDistance
165 // - false: All iframes with data-src will be loaded only when visible
166 preloadIframes: null,
167
168 // Can be used to globally disable auto-animation
169 autoAnimate: true,
170
171 // Optionally provide a custom element matcher that will be
172 // used to dictate which elements we can animate between.
173 autoAnimateMatcher: null,
174
175 // Default settings for our auto-animate transitions, can be
176 // overridden per-slide or per-element via data arguments
177 autoAnimateEasing: 'ease',
178 autoAnimateDuration: 1.0,
179 autoAnimateUnmatched: true,
180
181 // CSS properties that can be auto-animated. Position & scale
182 // is matched separately so there's no need to include styles
183 // like top/right/bottom/left, width/height or margin.
184 autoAnimateStyles: [
185 'opacity',
186 'color',
187 'background-color',
188 'padding',
189 'font-size',
190 'line-height',
191 'letter-spacing',
192 'border-width',
193 'border-color',
194 'border-radius',
195 'outline',
196 'outline-offset'
197 ],
198
199 // Controls automatic progression to the next slide
200 // - 0: Auto-sliding only happens if the data-autoslide HTML attribute
201 // is present on the current slide or fragment
202 // - 1+: All slides will progress automatically at the given interval
203 // - false: No auto-sliding, even if data-autoslide is present
204 autoSlide: 0,
205
206 // Stop auto-sliding after user input
207 autoSlideStoppable: true,
208
209 // Use this method for navigation when auto-sliding (defaults to navigateNext)
210 autoSlideMethod: null,
211
212 // Specify the average time in seconds that you think you will spend
213 // presenting each slide. This is used to show a pacing timer in the
214 // speaker view
215 defaultTiming: null,
216
217 // Enable slide navigation via mouse wheel
218 mouseWheel: false,
219
220 // Opens links in an iframe preview overlay
221 // Add `data-preview-link` and `data-preview-link="false"` to customise each link
222 // individually
223 previewLinks: false,
224
225 // Exposes the reveal.js API through window.postMessage
226 postMessage: true,
227
228 // Dispatches all reveal.js events to the parent window through postMessage
229 postMessageEvents: false,
230
231 // Focuses body when page changes visibility to ensure keyboard shortcuts work
232 focusBodyOnPageVisibilityChange: true,
233
234 // Transition style
235 transition: 'slide', // none/fade/slide/convex/concave/zoom
236
237 // Transition speed
238 transitionSpeed: 'default', // default/fast/slow
239
240 // Transition style for full page slide backgrounds
241 backgroundTransition: 'fade', // none/fade/slide/convex/concave/zoom
242
243 // Parallax background image
244 parallaxBackgroundImage: '', // CSS syntax, e.g. "a.jpg"
245
246 // Parallax background size
247 parallaxBackgroundSize: '', // CSS syntax, e.g. "3000px 2000px"
248
249 // Parallax background repeat
250 parallaxBackgroundRepeat: '', // repeat/repeat-x/repeat-y/no-repeat/initial/inherit
251
252 // Parallax background position
253 parallaxBackgroundPosition: '', // CSS syntax, e.g. "top left"
254
255 // Amount of pixels to move the parallax background per slide step
256 parallaxBackgroundHorizontal: null,
257 parallaxBackgroundVertical: null,
258
Marc Kupietz9c036a42024-05-14 13:17:25 +0200259 // Can be used to initialize reveal.js in one of the following views:
260 // - print: Render the presentation so that it can be printed to PDF
261 // - scroll: Show the presentation as a tall scrollable page with scroll
262 // triggered animations
263 view: null,
264
265 // Adjusts the height of each slide in the scroll view.
266 // - full: Each slide is as tall as the viewport
267 // - compact: Slides are as small as possible, allowing multiple slides
268 // to be visible in parallel on tall devices
269 scrollLayout: 'full',
270
271 // Control how scroll snapping works in the scroll view.
272 // - false: No snapping, scrolling is continuous
273 // - proximity: Snap when close to a slide
274 // - mandatory: Always snap to the closest slide
275 //
276 // Only applies to presentations in scroll view.
277 scrollSnap: 'mandatory',
278
279 // Enables and configure the scroll view progress bar.
280 // - 'auto': Show the scrollbar while scrolling, hide while idle
281 // - true: Always show the scrollbar
282 // - false: Never show the scrollbar
283 scrollProgress: 'auto',
284
285 // Automatically activate the scroll view when we the viewport falls
286 // below the given width.
287 scrollActivationWidth: 435,
288
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200289 // The maximum number of pages a single slide can expand onto when printing
290 // to PDF, unlimited by default
291 pdfMaxPagesPerSlide: Number.POSITIVE_INFINITY,
292
293 // Prints each fragment on a separate slide
294 pdfSeparateFragments: true,
295
296 // Offset used to reduce the height of content within exported PDF pages.
297 // This exists to account for environment differences based on how you
298 // print to PDF. CLI printing options, like phantomjs and wkpdf, can end
299 // on precisely the total height of the document whereas in-browser
300 // printing has to end one pixel before.
301 pdfPageHeightOffset: -1,
302
303 // Number of slides away from the current that are visible
304 viewDistance: 3,
305
306 // Number of slides away from the current that are visible on mobile
307 // devices. It is advisable to set this to a lower number than
308 // viewDistance in order to save resources.
309 mobileViewDistance: 2,
310
311 // The display mode that will be used to show slides
312 display: 'block',
313
314 // Hide cursor if inactive
315 hideInactiveCursor: true,
316
317 // Time before the cursor is hidden (in ms)
318 hideCursorTime: 5000,
319
Marc Kupietz9c036a42024-05-14 13:17:25 +0200320 // Should we automatically sort and set indices for fragments
Marc Kupietz09b75752023-10-07 09:32:19 +0200321 // at each sync? (See Reveal.sync)
322 sortFragmentsOnSync: true,
323
Christophe Dervieuxe1893ae2021-10-07 17:09:02 +0200324 // Script dependencies to load
325 dependencies: [],
326
327 // Plugin objects to register and use for this presentation
328 plugins: []
329
330}