aboutsummaryrefslogtreecommitdiff
path: root/js/config.js
blob: 4d6aa4d121ef1a0cc6fe0406c0e1ba9d8921d47e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
/**
 * The default reveal.js config object.
 */
export default {

	// The "normal" size of the presentation, aspect ratio will be preserved
	// when the presentation is scaled to fit different resolutions
	width: 960,
	height: 700,

	// Factor of the display size that should remain empty around the content
	margin: 0.04,

	// Bounds for smallest/largest possible scale to apply to content
	minScale: 0.2,
	maxScale: 2.0,

	// Display presentation control arrows
	controls: true,

	// Help the user learn the controls by providing hints, for example by
	// bouncing the down arrow when they first encounter a vertical slide
	controlsTutorial: true,

	// Determines where controls appear, "edges" or "bottom-right"
	controlsLayout: 'bottom-right',

	// Visibility rule for backwards navigation arrows; "faded", "hidden"
	// or "visible"
	controlsBackArrows: 'faded',

	// Display a presentation progress bar
	progress: true,

	// Display the page number of the current slide
	// - true:    Show slide number
	// - false:   Hide slide number
	//
	// Can optionally be set as a string that specifies the number formatting:
	// - "h.v":	  Horizontal . vertical slide number (default)
	// - "h/v":	  Horizontal / vertical slide number
	// - "c":	  Flattened slide number
	// - "c/t":	  Flattened slide number / total slides
	//
	// Alternatively, you can provide a function that returns the slide
	// number for the current slide. The function should take in a slide
	// object and return an array with one string [slideNumber] or
	// three strings [n1,delimiter,n2]. See #formatSlideNumber().
	slideNumber: false,

	// Can be used to limit the contexts in which the slide number appears
	// - "all":      Always show the slide number
	// - "print":    Only when printing to PDF
	// - "speaker":  Only in the speaker view
	showSlideNumber: 'all',

	// Use 1 based indexing for # links to match slide number (default is zero
	// based)
	hashOneBasedIndex: false,

	// Add the current slide number to the URL hash so that reloading the
	// page/copying the URL will return you to the same slide
	hash: false,

	// Flags if we should monitor the hash and change slides accordingly
	respondToHashChanges: true,

	// Push each slide change to the browser history.  Implies `hash: true`
	history: false,

	// Enable keyboard shortcuts for navigation
	keyboard: true,

	// Optional function that blocks keyboard events when retuning false
	//
	// If you set this to 'foucsed', we will only capture keyboard events
	// for embdedded decks when they are in focus
	keyboardCondition: null,

	// Disables the default reveal.js slide layout (scaling and centering)
	// so that you can use custom CSS layout
	disableLayout: false,

	// Enable the slide overview mode
	overview: true,

	// Vertical centering of slides
	center: true,

	// Enables touch navigation on devices with touch input
	touch: true,

	// Loop the presentation
	loop: false,

	// Change the presentation direction to be RTL
	rtl: false,

	// Changes the behavior of our navigation directions.
	//
	// "default"
	// Left/right arrow keys step between horizontal slides, up/down
	// arrow keys step between vertical slides. Space key steps through
	// all slides (both horizontal and vertical).
	//
	// "linear"
	// Removes the up/down arrows. Left/right arrows step through all
	// slides (both horizontal and vertical).
	//
	// "grid"
	// When this is enabled, stepping left/right from a vertical stack
	// to an adjacent vertical stack will land you at the same vertical
	// index.
	//
	// Consider a deck with six slides ordered in two vertical stacks:
	// 1.1    2.1
	// 1.2    2.2
	// 1.3    2.3
	//
	// If you're on slide 1.3 and navigate right, you will normally move
	// from 1.3 -> 2.1. If "grid" is used, the same navigation takes you
	// from 1.3 -> 2.3.
	navigationMode: 'default',

	// Randomizes the order of slides each time the presentation loads
	shuffle: false,

	// Turns fragments on and off globally
	fragments: true,

	// Flags whether to include the current fragment in the URL,
	// so that reloading brings you to the same fragment position
	fragmentInURL: true,

	// Flags if the presentation is running in an embedded mode,
	// i.e. contained within a limited portion of the screen
	embedded: false,

	// Flags if we should show a help overlay when the question-mark
	// key is pressed
	help: true,

	// Flags if it should be possible to pause the presentation (blackout)
	pause: true,

	// Flags if speaker notes should be visible to all viewers
	showNotes: false,

	// Global override for autolaying embedded media (video/audio/iframe)
	// - null:   Media will only autoplay if data-autoplay is present
	// - true:   All media will autoplay, regardless of individual setting
	// - false:  No media will autoplay, regardless of individual setting
	autoPlayMedia: null,

	// Global override for preloading lazy-loaded iframes
	// - null:   Iframes with data-src AND data-preload will be loaded when within
	//           the viewDistance, iframes with only data-src will be loaded when visible
	// - true:   All iframes with data-src will be loaded when within the viewDistance
	// - false:  All iframes with data-src will be loaded only when visible
	preloadIframes: null,

	// Can be used to globally disable auto-animation
	autoAnimate: true,

	// Optionally provide a custom element matcher that will be
	// used to dictate which elements we can animate between.
	autoAnimateMatcher: null,

	// Default settings for our auto-animate transitions, can be
	// overridden per-slide or per-element via data arguments
	autoAnimateEasing: 'ease',
	autoAnimateDuration: 1.0,
	autoAnimateUnmatched: true,

	// CSS properties that can be auto-animated. Position & scale
	// is matched separately so there's no need to include styles
	// like top/right/bottom/left, width/height or margin.
	autoAnimateStyles: [
		'opacity',
		'color',
		'background-color',
		'padding',
		'font-size',
		'line-height',
		'letter-spacing',
		'border-width',
		'border-color',
		'border-radius',
		'outline',
		'outline-offset'
	],

	// Controls automatic progression to the next slide
	// - 0:      Auto-sliding only happens if the data-autoslide HTML attribute
	//           is present on the current slide or fragment
	// - 1+:     All slides will progress automatically at the given interval
	// - false:  No auto-sliding, even if data-autoslide is present
	autoSlide: 0,

	// Stop auto-sliding after user input
	autoSlideStoppable: true,

	// Use this method for navigation when auto-sliding (defaults to navigateNext)
	autoSlideMethod: null,

	// Specify the average time in seconds that you think you will spend
	// presenting each slide. This is used to show a pacing timer in the
	// speaker view
	defaultTiming: null,

	// Enable slide navigation via mouse wheel
	mouseWheel: false,

	// Opens links in an iframe preview overlay
	// Add `data-preview-link` and `data-preview-link="false"` to customise each link
	// individually
	previewLinks: false,

	// Exposes the reveal.js API through window.postMessage
	postMessage: true,

	// Dispatches all reveal.js events to the parent window through postMessage
	postMessageEvents: false,

	// Focuses body when page changes visibility to ensure keyboard shortcuts work
	focusBodyOnPageVisibilityChange: true,

	// Transition style
	transition: 'slide', // none/fade/slide/convex/concave/zoom

	// Transition speed
	transitionSpeed: 'default', // default/fast/slow

	// Transition style for full page slide backgrounds
	backgroundTransition: 'fade', // none/fade/slide/convex/concave/zoom

	// Parallax background image
	parallaxBackgroundImage: '', // CSS syntax, e.g. "a.jpg"

	// Parallax background size
	parallaxBackgroundSize: '', // CSS syntax, e.g. "3000px 2000px"

	// Parallax background repeat
	parallaxBackgroundRepeat: '', // repeat/repeat-x/repeat-y/no-repeat/initial/inherit

	// Parallax background position
	parallaxBackgroundPosition: '', // CSS syntax, e.g. "top left"

	// Amount of pixels to move the parallax background per slide step
	parallaxBackgroundHorizontal: null,
	parallaxBackgroundVertical: null,

	// The maximum number of pages a single slide can expand onto when printing
	// to PDF, unlimited by default
	pdfMaxPagesPerSlide: Number.POSITIVE_INFINITY,

	// Prints each fragment on a separate slide
	pdfSeparateFragments: true,

	// Offset used to reduce the height of content within exported PDF pages.
	// This exists to account for environment differences based on how you
	// print to PDF. CLI printing options, like phantomjs and wkpdf, can end
	// on precisely the total height of the document whereas in-browser
	// printing has to end one pixel before.
	pdfPageHeightOffset: -1,

	// Number of slides away from the current that are visible
	viewDistance: 3,

	// Number of slides away from the current that are visible on mobile
	// devices. It is advisable to set this to a lower number than
	// viewDistance in order to save resources.
	mobileViewDistance: 2,

	// The display mode that will be used to show slides
	display: 'block',

	// Hide cursor if inactive
	hideInactiveCursor: true,

	// Time before the cursor is hidden (in ms)
	hideCursorTime: 5000,

	// Script dependencies to load
	dependencies: [],

	// Plugin objects to register and use for this presentation
	plugins: []

}