deck.html 24.3 KB
Newer Older
Henrik Tramberend's avatar
Henrik Tramberend committed
1
<!DOCTYPE html>
2
<!-- This is the pandoc 2.7.3 template for reveal.js output modified for decker. -->
3
<html$if(lang)$ lang="$lang$"$endif$$if(dir)$ dir="$dir$"$endif$>
Henrik Tramberend's avatar
Henrik Tramberend committed
4
<head>
5
  <meta charset="utf-8">
Henrik Tramberend's avatar
Henrik Tramberend committed
6
7
  <meta name="generator" content="pandoc">
$for(author-meta)$
8
  <meta name="author" content="$author-meta$">
Henrik Tramberend's avatar
Henrik Tramberend committed
9
10
$endfor$
$if(date-meta)$
11
  <meta name="dcterms.date" content="$date-meta$">
Henrik Tramberend's avatar
Henrik Tramberend committed
12
$endif$
13
14
$if(keywords)$
  <meta name="keywords" content="$for(keywords)$$keywords$$sep$, $endfor$">
15
$endif$
Mario Botsch's avatar
Mario Botsch committed
16
  <meta name="apple-mobile-web-app-capable" content="yes">
17
18
$if(template.favicon)$
  <link rel="shortcut icon" href="$template.favicon$">
19
$endif$
20
21
22
23
24
25
26
27
28
$if(mario)$
    $if(title)$
        $if(subtitle)$
          <title>$title$: $subtitle$</title>
        $else$
          <title>$title$</title>
        $endif$
    $endif$
$else$
29
  <title>$if(title-prefix)$$title-prefix$ - $endif$$pagetitle$</title>
30
$endif$
31
32
  <meta name="apple-mobile-web-app-capable" content="yes">
  <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
33
  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
34
35
  <link rel="stylesheet" href="$decker-support-dir$/vendor/reveal/css/reset.css">
  <link rel="stylesheet" href="$decker-support-dir$/vendor/reveal/css/reveal.css">
36
  <link rel="stylesheet" href="$decker-support-dir$/plugins/whiteboard/whiteboard.css">
37
  <link rel="stylesheet" href="$decker-support-dir$/plugins/menu/menu.css">
Henrik Tramberend's avatar
Henrik Tramberend committed
38
  <link rel="stylesheet" href="$decker-support-dir$/geometry/geometry.css">
39
$if(thebelab.enable)$
40
  <link rel="stylesheet" href="$decker-support-dir$/plugins/thebelab/thebelab.css">
41
$endif$
42
  <style>
43
44
45
46
47
48
        /* This is the global style block for decker's layout css variables (aka css custom properties) 
        for all kinds of parameterization. Variables are set via an according YAML variable 
        which defaults from the default.yaml. 
        Can't be sourced out to external css file since variable substitution is performed
        by pandoc which does not process the css */

49
        :root {
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
                /* This is the global variable for the default alignment. Defaults to left.    */
                /* Can be overriden in local YAML and for whole slides or individual elements  */
                --align-global: $align-global$;
                /* Column spacing, in same awkward unit as reveal's margin which is fraction of 
                space. Beware, does strange things if set too large. */
                --margin-columns: calc($margin-columns$ * 100%);
                /* Now all the different font sizes */
                --font-size-base: $font-size-base$;
                --font-size-medium: calc(var(--font-size-base) * 1);
                --font-size-xx-small: calc(var(--font-size-base) * 0.4);
                --font-size-x-small: calc(var(--font-size-base) * 0.6);
                --font-size-small: calc(var(--font-size-base) * 0.8);
                --font-size-large: calc(var(--font-size-base) * 1.2);
                --font-size-x-large: calc(var(--font-size-base) * 1.4);
                --font-size-xx-large: calc(var(--font-size-base) * 1.6);
                /* This one defines the basic vertical spacing between elements */
                --spacing-vertical-base: $spacing-vertical-base$;
                --margin-bottom-elements-base: $spacing-vertical-base$;
                --margin-bottom-h1: calc(var(--margin-bottom-elements-base) * 1);
                --margin-bottom-h2: calc(var(--margin-bottom-elements-base) * 0);
                --margin-bottom-h2-block: calc(var(--margin-bottom-elements-base) * 0.8);
                --margin-bottom-h3: calc(var(--margin-bottom-elements-base) * 0);
                --margin-bottom-h3-block: calc(var(--margin-bottom-elements-base) * 0.8);
                --margin-bottom-p: calc(var(--margin-bottom-elements-base) * 0.8);
                --margin-bottom-ol: calc(var(--margin-bottom-elements-base) * 0.8);
                --margin-bottom-ul: calc(var(--margin-bottom-elements-base) * 0.8);
                --margin-bottom-dl: calc(var(--margin-bottom-elements-base) * 0.8);
                --margin-bottom-figure: calc(var(--margin-bottom-elements-base) * 0.8);
                --margin-bottom-img: calc(var(--margin-bottom-elements-base) * 0.8);
                --margin-bottom-blockquote: calc(var(--margin-bottom-elements-base) * 0.8);
                --margin-bottom-table: calc(var(--margin-bottom-elements-base) * 1);
                --margin-bottom-columns: calc(var(--margin-bottom-elements-base) * 0);       
                --margin-bottom-references: calc(var(--margin-bottom-elements-base) * 0.3);
                /* The next custom properties for the look of the decoration */
                --border-decoration-width: $border-decoration-width$;
                --border-decoration-padding: $border-decoration-padding$;
86
                --border-decoration-style: $border-decoration-style$;  
87
88
                /* whiteboard buttons */
                --whiteboard-icon-size: $whiteboard-icon-size$;
89
90
91
                --whiteboard-active-color: $whiteboard-active-color$;
                --whiteboard-inactive-color: $whiteboard-inactive-color$;
                --whiteboard-background-color: $whiteboard-background-color$;      
92
93
94
        } 
  </style>
   
95
96
97
98
99
100
  <style>
      code{white-space: pre-wrap;}
      span.smallcaps{font-variant: small-caps;}
      span.underline{text-decoration: underline;}
      div.column{display: inline-block; vertical-align: top; width: 50%;}
$if(quotes)$
101
102
      q { quotes: auto; }
      blockquote { quotes: auto; }
103
104
105
106
107
108
109
$endif$
  </style>
$if(highlighting-css)$
  <style>
$highlighting-css$
  </style>
$endif$
Mario Botsch's avatar
Mario Botsch committed
110
111
112
$if(highlightjs)$
  <link rel="stylesheet" href="$decker-support-dir$/plugins/highlight/$highlightjs$.css">
$endif$
113
$if(decker-engine.base-url)$
Henrik Tramberend's avatar
Henrik Tramberend committed
114
  <link rel="stylesheet" href="$decker-support-dir$/engine/engine.css">
Mario Botsch's avatar
Mario Botsch committed
115
$endif$
Mario Botsch's avatar
Mario Botsch committed
116
  <link rel="stylesheet" href="$decker-support-dir$/plugins/explain/explain.css">
117
  <link rel="stylesheet" href="$decker-support-dir$/vendor/videojs/video-js.min.css">
118
119
$if(template.base-css)$
  <link rel="stylesheet" href="$template.base-css$">
Mario Botsch's avatar
Mario Botsch committed
120
$else$
121
122
123
124
125
126
127
128
  $if(mario)$
    <link rel="stylesheet" href="$decker-support-dir$/css/mario.css">
  $else$
    <link rel="stylesheet" href="$decker-support-dir$/css/decker.css">
    $if(stretch-media)$
      <link rel="stylesheet" href="$decker-support-dir$/css/stretch-media.css">
    $endif$
  $endif$
Mario Botsch's avatar
Mario Botsch committed
129
$endif$
130
131
$for(template.css)$
  <link rel="stylesheet" href="$template.css$"/>
132
133
$endfor$
  <!-- Printing and PDF exports -->
134
135
136
137
  <script>
    var link = document.createElement( 'link' );
    link.rel = 'stylesheet';
    link.type = 'text/css';
138
    link.href = window.location.search.match( /print-pdf/gi ) ? String.raw`$decker-support-dir$/vendor/reveal/css/print/pdf.css` : String.raw`$decker-support-dir$/vendor/reveal/css/print/paper.css`;
139
140
    document.getElementsByTagName( 'head' )[0].appendChild( link );
  </script>
141
142
143
  <!--[if lt IE 9]>
  <script src="$revealjs-url$/lib/js/html5shiv.js"></script>
  <![endif]-->
Henrik Tramberend's avatar
Henrik Tramberend committed
144
145
146
$if(math)$
  $math$
$endif$
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
$if(thebelab.enable)$
  <script type="text/x-thebe-config">
  {
      bootstrap: false,
      requestKernel: false,
      predefinedOutput: false,
$if(thebelab.local)$
      kernelOptions: {
          name: "$thebelab.language$",
          serverSettings: {
              baseUrl: "$thebelab.baseUrl$",
              token: "$thebelab.token$"
          }
      },
$else$
      binderOptions: {
          repo: "$thebelab.repo$",
          ref: "$thebelab.ref$",
          binderUrl: "$thebelab.binderUrl$",
          repoProvider: "$thebelab.repoProvider$",
      },
      kernelOptions: {
Mario Botsch's avatar
Mario Botsch committed
169
170
          name: "$thebelab.language$",
          kernelName: "$thebelab.language$"
171
172
173
174
175
176
177
178
179
      },
$endif$
      selector: "[data-executable]",
      mathjaxUrl: false,
      codeMirrorConfig: {
          mode: "$thebelab.language$"
      }
  }
  </script>
Mario Botsch's avatar
Mario Botsch committed
180
   <script src="https://unpkg.com/thebelab@latest/lib/index.js"></script> 
181
$endif$
Henrik Tramberend's avatar
Henrik Tramberend committed
182
183
184
$for(header-includes)$
  $header-includes$
$endfor$
185
186
187
188
189
$for(style)$
  <style>
  $style$
  </style>
$endfor$
190

Henrik Tramberend's avatar
Henrik Tramberend committed
191
</head>
Henrik Tramberend's avatar
Henrik Tramberend committed
192
<body data-deckid="$deck-id$">
193
194
195
196
197
198
199
$for(include-before)$
$include-before$
$endfor$
  <div class="reveal">
    <div class="slides">

$if(title)$
200
   $if(mario)$ <!-- Mario settings -->
201
      <section id="$idprefix$title-slide" class="title-page">
202
         <h1 style="display:none">Title</h1>
203
204
205
         <div class="white-on-blue">
            <div class="title"> $title$ </div>
         $if(subtitle)$
206
            <div class="subtitle"> $subtitle$ </div>
207
208
         $endif$
         </div>
209

Mario Botsch's avatar
Mario Botsch committed
210
211
         $if(template.teaser)$
         <img class="teaser" src=$template.teaser$>
212
213
214
215
         $endif$
         $if(authors)$
         <div class="authors">
         $for(authors)$
216
217
218
219
220
221
222
223
            $if(it.name)$
                <div class="author">
                    $it.name$ 
                    $if(it.affiliation)$
                        <div class="affiliation"> $it.affiliation$ </div>
                    $endif$
                </div>
            $endif$
224
225
226
         $endfor$
         </div>
         $endif$
227

228
229
230
         $if(author)$
         <div class="author"> $author$ </div>
         $endif$
231

232
233
234
         $if(affiliation)$
         <div class="affiliation"> $affiliation$ </div>
         $endif$
Samantha Monty's avatar
Samantha Monty committed
235
236
237
238

         $if(date)$
         <div class="date"> $date$ </div>
         $endif$
Marc Latoschik's avatar
Marc Latoschik committed
239
240
      </section>
   $else$ <!-- standard settings -->
241
242
243
244
245
246
247
248
      $if(template.title-page.banner)$
         <section id="$idprefix$title-slide" class="title-page"> 
             <div class="title-page banner">
                <img src=$template.title-page.banner$>
             </div>
            <!-- data-background-size="100%"
            data-background-position="0px 0px"
            data-background-image=$template.title-page.banner$> old version as background -->
Marc Latoschik's avatar
Marc Latoschik committed
249
      $else$
250
         <section id="$idprefix$title-slide" class="title-page">
Marc Latoschik's avatar
Marc Latoschik committed
251
      $endif$
252
        <div class="valign-block">
253
254
255
256
257
258
259
260
261
262
263
264
            <div class="valigned">
                <div class="title"> $title$</div>
                $if(subtitle)$
                   <div class="subtitle"> $subtitle$ </div>
                $endif$
                $if(template.title-page.teaser-img)$
                   <div class="teaser-img">
                      <img src=$template.title-page.teaser-img$>
                   </div>
                $else$
                   <div style="height:100px"> </div>      
                $endif$
265
266
267
                $if(date)$
                   <div class="date"> $date$ </div>
                $endif$
268
269
270
271
272
273
274
275
276
277
278
279
280
                $if(author)$
                   <div class="author"> $author$ </div>
                $endif$
                $if(template.title-page.affiliation-logo)$
                   <div class="affiliation-logo">
                      <img src=$template.title-page.affiliation-logo$>
                   </div>
                $endif$
                $if(affiliation)$
                   <div class="affiliation"> $affiliation$ </div>
                $endif$ 
            </div>
        </div>
281
282
         </section>      
   $endif$
Marc Latoschik's avatar
Marc Latoschik committed
283
$endif$
284

285
$if(toc)$
286
287
288
    <section id="$idprefix$TOC">
    $table-of-contents$
    </section>
289
290
291
292
293
$endif$

$body$
    </div>
  </div>
Henrik Tramberend's avatar
Henrik Tramberend committed
294

295
  <script src="$decker-support-dir$/vendor/reveal/js/reveal.js"></script>
Henrik Tramberend's avatar
Henrik Tramberend committed
296
  <script src="$decker-support-dir$/vendor/js/jquery.min.js"></script>
297
  <script src="$decker-support-dir$/vendor/videojs/video.min.js"></script>
Mario Botsch's avatar
Mario Botsch committed
298
  <script src="$decker-support-dir$/js/decker.js"></script>
299
  <script src="$decker-support-dir$/js/sage.js"></script>
Mario Botsch's avatar
Mario Botsch committed
300
301
302
303
  
  <script>
      // this has to be done before reveal highlight plugin is initialized
      prepareCodeHighlighting();
304
      prepareSAGE();
Mario Botsch's avatar
Mario Botsch committed
305
  </script>
306

307
$if(decker-engine.base-url)$
Henrik Tramberend's avatar
Henrik Tramberend committed
308
  <script type="module" crossorigin>
Henrik Tramberend's avatar
Henrik Tramberend committed
309
    import {contactEngine} from "./$decker-support-dir$/engine/engine.js";
310
    contactEngine("$decker-engine.base-url$", "$decker-engine.deck-id$");
Henrik Tramberend's avatar
Henrik Tramberend committed
311
312
313
  </script>
$endif$

Henrik Tramberend's avatar
Henrik Tramberend committed
314
  <link rel="stylesheet" href="$decker-support-dir$/examiner/examiner.css">
315
  <script type="module">
Henrik Tramberend's avatar
Henrik Tramberend committed
316
    import {prepareExaminer} from "./$decker-support-dir$/examiner/examiner.js";
317
318
319
    prepareExaminer();
  </script>

320
321
$for(template.include-js)$ 
  <script src="$template.include-js$"></script>
322
$endfor$
Mario Botsch's avatar
Mario Botsch committed
323

324
325
326
327
$for(template.include-module)$ 
  <script type="module" src="$template.include-module$"></script>
$endfor$

Henrik Tramberend's avatar
Henrik Tramberend committed
328
  <script>
329
      // Full list of configuration options available at:
Henrik Tramberend's avatar
Henrik Tramberend committed
330
331
      // https://github.com/hakimel/reveal.js#configuration
      Reveal.initialize({
Mario Botsch's avatar
Mario Botsch committed
332
        pdfMaxPagesPerSlide: 10,
333
        pdfSeparateFragments: false,
334
        // Display controls in the bottom right corner
335
$if(controls)$
336
337
338
        controls: $controls$,
$endif$
        // Display a presentation progress bar
339
$if(progress)$
Mario Botsch's avatar
Mario Botsch committed
340
        progress: $progress$,
341
342
$endif$
        // Display the page number of the current slide
343
$if(slideNumber)$
monofon's avatar
monofon committed
344
        slideNumber: '$slideNumber$',
345
$endif$
Samantha Monty's avatar
Samantha Monty committed
346
347
        // Add the current slide number to the URL hash so that reloading the
        // page/copying the URL will return you to the same slide
348
349
$if(hash)$
        hash: $hash$,
350
351
$endif$
        // Push each slide change to the browser history
352
$if(history)$
353
354
355
        history: $history$,
$endif$
        // Enable keyboard shortcuts for navigation
356
$if(keyboard)$
357
358
359
        keyboard: $keyboard$,
$endif$
        // Enable the slide overview mode
360
$if(overview)$
361
362
363
        overview: $overview$,
$endif$
        // Vertical centering of slides
364
$if(center)$
365
366
367
        center: $center$,
$endif$
        // Enables touch navigation on devices with touch input
368
$if(touch)$
369
370
371
        touch: $touch$,
$endif$
        // Loop the presentation
372
$if(loop)$
373
374
375
        loop: $loop$,
$endif$
        // Change the presentation direction to be RTL
376
$if(rtl)$
377
        rtl: $rtl$,
Mario Botsch's avatar
Mario Botsch committed
378
379
380
381
382
383
384
385
$endif$
$if(navigationMode)$
        // See https://github.com/hakimel/reveal.js/#navigation-mode
        navigationMode: $navigationMode$,
$endif$
	// Randomizes the order of slides each time the presentation loads
$if(shuffle)$
        shuffle: $shuffle$,
386
387
$endif$
        // Turns fragments on and off globally
388
$if(fragments)$
389
        fragments: $fragments$,
390
391
$endif$
$if(fragmentInURL)$
Mario Botsch's avatar
Mario Botsch committed
392
        fragmentInURL: $fragmentInURL$,
393
394
395
$endif$
        // Flags if the presentation is running in an embedded mode,
        // i.e. contained within a limited portion of the screen
396
$if(embedded)$
397
398
399
400
        embedded: $embedded$,
$endif$
        // Flags if we should show a help overlay when the questionmark
        // key is pressed
401
$if(help)$
402
403
404
        help: $help$,
$endif$
        // Flags if speaker notes should be visible to all viewers
405
$if(showNotes)$
406
407
408
409
410
        showNotes: $showNotes$,
$endif$
        // Number of milliseconds between automatically proceeding to the
        // next slide, disabled when set to 0, this value can be overwritten
        // by using a data-autoslide attribute on your slides
411
$if(autoSlide)$
412
413
414
        autoSlide: $autoSlide$,
$endif$
        // Stop auto-sliding after user input
415
$if(autoSlideStoppable)$
416
417
        autoSlideStoppable: $autoSlideStoppable$,
$endif$
Mario Botsch's avatar
Mario Botsch committed
418
419
420
421
422
423
424
425
426
427
428
429
430
$if(defaultTiming)$
          // 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: $defaultTiming$,
$endif$
$if(totalTime)$
          // Specify the total time in seconds that is available to
          // present.  If this is set to a nonzero value, the pacing
          // timer will work out the time available for each slide,
          // instead of using the defaultTiming value
          totalTime: $totalTime$,
$endif$
431
432
433
$if(mouseWheel)$
        // Enable slide navigation via mouse wheel
        mouseWheel: $mouseWheel$,
Mario Botsch's avatar
Mario Botsch committed
434
435
436
$endif$
          // Hide cursor if inactive
$if(hideInactiveCursor)$
Mario Botsch's avatar
Mario Botsch committed
437
          hideInactiveCursor: $hideInactiveCursor$,
Mario Botsch's avatar
Mario Botsch committed
438
439
440
441
$endif$
$if(hideCursorTime)$
          // Time before the cursor is hidden (in ms)
          hideCursorTime: $hideCursorTime$,
442
$endif$
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
$if(hideAddressBar)$
        // Hides the address bar on mobile devices
        hideAddressBar: $hideAddressBar$,
$endif$
$if(previewLinks)$
        // Opens links in an iframe preview overlay
        previewLinks: $previewLinks$,
$endif$
$if(transition)$
        // Transition style
        transition: '$transition$', // none/fade/slide/convex/concave/zoom
$endif$
$if(transitionSpeed)$
        // Transition speed
        transitionSpeed: '$transitionSpeed$', // default/fast/slow
$endif$
$if(backgroundTransition)$
        // Transition style for full page slide backgrounds
        backgroundTransition: '$backgroundTransition$', // none/fade/slide/convex/concave/zoom
$endif$
$if(viewDistance)$
        // Number of slides away from the current that are visible
        viewDistance: $viewDistance$,
$endif$
$if(parallaxBackgroundImage)$
        // Parallax background image
        parallaxBackgroundImage: '$parallaxBackgroundImage$', // e.g. "'https://s3.amazonaws.com/hakim-static/reveal-js/reveal-parallax-1.jpg'"
470
471
472
473
474
$else$
$if(background-image)$
       // Parallax background image
       parallaxBackgroundImage: '$background-image$', // e.g. "'https://s3.amazonaws.com/hakim-static/reveal-js/reveal-parallax-1.jpg'"
$endif$
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
$endif$
$if(parallaxBackgroundSize)$
        // Parallax background size
        parallaxBackgroundSize: '$parallaxBackgroundSize$', // CSS syntax, e.g. "2100px 900px"
$endif$
$if(parallaxBackgroundHorizontal)$
        // Amount to move parallax background (horizontal and vertical) on slide change
        // Number, e.g. 100
        parallaxBackgroundHorizontal: $parallaxBackgroundHorizontal$,
$endif$
$if(parallaxBackgroundVertical)$
        parallaxBackgroundVertical: $parallaxBackgroundVertical$,
$endif$
$if(width)$
        // The "normal" size of the presentation, aspect ratio will be preserved
        // when the presentation is scaled to fit different resolutions. Can be
        // specified using percentage units.
        width: $width$,
$endif$
$if(height)$
        height: $height$,
$endif$
$if(margin)$
        // Factor of the display size that should remain empty around the content
        margin: $margin$,
$endif$
$if(minScale)$
        // Bounds for smallest/largest possible scale to apply to content
        minScale: $minScale$,
$endif$
$if(maxScale)$
        maxScale: $maxScale$,
$endif$
Mario Botsch's avatar
Mario Botsch committed
508
509
510
511
512
        // whether to mark y-overflowing slides by a red border
$if(checkOverflow)$
        checkOverflow: $checkOverflow$,
$else$
        checkOverflow: false,
513
$endif$
Mario Botsch's avatar
Mario Botsch committed
514
515
516
517
518
519
520
521
522


        // whether to use vertical slides (in decker.js)
 $if(vertical-slides)$
        verticalSlides: $vertical-slides$,
$else$
        verticalSlides: false,
$endif$

Mario Botsch's avatar
Mario Botsch committed
523
524

        // setup reveal-menu
525
$if(menu)$
Mario Botsch's avatar
Mario Botsch committed
526
527
$if(mario)$
        menu: {
528
            side:              'left',
Mario Botsch's avatar
Mario Botsch committed
529
            width:             'wide',
Mario Botsch's avatar
Mario Botsch committed
530
531
532
533
534
535
536
            numbers:           true,
            titleSelector:     'h1',
            hideMissingTitles: false,
            markers:           false,
            custom:            false,
            themes:            false,
            transitions:       false,
537
538
            openButton:        true,
            openSlideNumber:   false,
Mario Botsch's avatar
Mario Botsch committed
539
540
541
542
            keyboard:          true,
            loadIcons:         false
        },
$else$
543
        menu: {
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
          side: 'left',
          width: 'wide',
          numbers: false,
          titleSelector: 'h1',
          useTextContentForMissingTitles: false,
          hideMissingTitles: false,
          markers: true,
          custom: false,  
          themes: false,
          transitions: false,
          openButton: true,
          openSlideNumber: true,
          keyboard: true,
          sticky: false,
          autoOpen: true,
          delayInit: false,
          openOnInit: false,
          loadIcons: false
	    },
$endif$
564
$endif$
Mario Botsch's avatar
Mario Botsch committed
565
566

        // mathjax
567
        math: {
568
          mathjax: String.raw`$decker-support-dir$/vendor/mathjax/`,
Mario Botsch's avatar
Mario Botsch committed
569
$if(mathMacros)$
570
          macros: $mathMacros$
Mario Botsch's avatar
Mario Botsch committed
571
$else$
572
          macros: {
573
574
575
576
577
578
              R:         "{{\\mathrm{{I}\\kern-.15em{R}}}}",
              laplace:   "{\\Delta}",
              grad:      "{\\nabla}",
              T:         "^{\\mathsf{T}}",
              abs:       ['\\left\\lvert #1 \\right\\rvert', 1],
              det:       ['\\left\\lvert #1 \\right\\rvert', 1],
Mario Botsch's avatar
Mario Botsch committed
579
              norm:      ['\\left\\Vert #1 \\right\\Vert', 1],
580
581
582
583
584
585
586
587
588
589
590
              iprod:     ['\\left\\langle #1 \\right\\rangle', 1],
              vec:       ['{\\mathbf{\\boldsymbol{#1}}}', 1],
              mat:       ['{\\mathbf{\\boldsymbol{#1}}}', 1],
              set:       ['\\mathcal{#1}', 1],
              func:      ['\\mathrm{#1}', 1],
              trans:     ['{#1}\\mkern-1mu^{\\mathsf{T}}', 1],
              matrix:    ['\\begin{bmatrix} #1 \\end{bmatrix}', 1],
              vector:    ['\\begin{pmatrix} #1 \\end{pmatrix}', 1],
              of:        ['\\left( #1 \\right\)', 1],
              diff:      ['\\frac{\\mathrm{d}{#1}}{\\mathrm{d}{#2}}', 2],
              pdiff:     ['\\frac{\\partial {#1}}{\\partial {#2}}', 2],
591
              vc:        ['{\\mathbf{\\boldsymbol{#1}}}', 1],
592
              qt:        ['\\hat{\\vc {#1}}', 1],
593
              mt:        ['{\\mathbf{\\boldsymbol{#1}}}', 1],
594
              pt:        ['\\boldsymbol{#1}', 1],
595
              textcolor: ['\\color{#1}', 1]
596
          }
Mario Botsch's avatar
Mario Botsch committed
597
$endif$
598
        },
Mario Botsch's avatar
Mario Botsch committed
599
600
601


          // setup charts
Mario Botsch's avatar
Mario Botsch committed
602
603
604
          chart: {
              defaults: {
                  global: {
Mario Botsch's avatar
Mario Botsch committed
605
606
607
608
609
610
611
612
613
614
$if(mario)$
                      "defaultFontFamily": "Lato",
                      "defaultFontColor": "black",
                      "defaultFontSize": 20,
                      title: {
                          "fontFamily": "Lato",
                          "fontSize": 30,
                      },
$endif$
                      tooltips: {
615
616
                          mode: 'point',
                          intersect: true,
Mario Botsch's avatar
Mario Botsch committed
617
                      },
Mario Botsch's avatar
Mario Botsch committed
618
                      legend: { position: "bottom" },
Mario Botsch's avatar
Mario Botsch committed
619
                      plugins: { colorschemes: { scheme: "tableau.Classic10" } }
Mario Botsch's avatar
Mario Botsch committed
620
621
622
                  },
              },
              bar:   { borderWidth: "1" },
Mario Botsch's avatar
Mario Botsch committed
623
624
              line:  { borderWidth: "2", tension: "0" },
              radar: { borderWidth: "2" }
Mario Botsch's avatar
Mario Botsch committed
625
          },
Henrik Tramberend's avatar
Henrik Tramberend committed
626

Mario Botsch's avatar
Mario Botsch committed
627
628
629
630

$if(thebelab.enable)$
          // Henrik's ThebeLab plugin
          thebelab: $thebelab.enable$,
Samantha Monty's avatar
Samantha Monty committed
631
$endif$
Mario Botsch's avatar
Mario Botsch committed
632
633
634
635
636


$if(quizServer)$
          // Mario's multiple-choice quiz
          quiz: { server: "$quizServer$" },
Henrik Tramberend's avatar
Henrik Tramberend committed
637
$endif$
Mario Botsch's avatar
Mario Botsch committed
638
639


Mario Botsch's avatar
Mario Botsch committed
640
$if(explain)$
Mario Botsch's avatar
Mario Botsch committed
641
          explain: { 
Mario Botsch's avatar
Mario Botsch committed
642
643
644
645
646
647
648
                $if(explain.video)$ video: "$explain.video$", $endif$
                $if(explain.times)$ times: "$explain.times$", $endif$
                $if(explain.recWidth)$  recWidth:  "$explain.recWidth$",  $endif$
                $if(explain.recHeight)$ recHeight: "$explain.recHeight$", $endif$
                $if(explain.camWidth)$  camWidth:  "$explain.camWidth$",  $endif$
                $if(explain.camHeight)$ camHeight: "$explain.camHeight$", $endif$
                dummy: "dummy"
Mario Botsch's avatar
Mario Botsch committed
649
650
651
652
          },
$endif$


Mario Botsch's avatar
Mario Botsch committed
653
654
655
656
657
          // plugins
          dependencies: [
              { src: String.raw`$decker-support-dir$/plugins/charts/Chart.js`},
              { src: String.raw`$decker-support-dir$/plugins/charts/plugin-errorbars.js`},
              { src: String.raw`$decker-support-dir$/plugins/charts/plugin-colorschemes.js`},
658
              { src: String.raw`$decker-support-dir$/plugins/charts/plugin-csszoom.js`},
Mario Botsch's avatar
Mario Botsch committed
659
660
661
              { src: String.raw`$decker-support-dir$/plugins/charts/csv2chart.js`},
              { src: String.raw`$decker-support-dir$/plugins/math/math.js` },
              { src: String.raw`$decker-support-dir$/plugins/whiteboard/whiteboard.js`},
662
$if(zoom)$
Mario Botsch's avatar
Mario Botsch committed
663
              { src: String.raw`$decker-support-dir$/plugins/zoom/zoom.js` },
664
$endif$
Mario Botsch's avatar
Mario Botsch committed
665
666
              { src: String.raw`$decker-support-dir$/plugins/print/print.js` },
              { src: String.raw`$decker-support-dir$/plugins/search/search.js`, async: true },
667
              { src: String.raw`$decker-support-dir$/plugins/quiz-wue/quiz-wue.js` },
Mario Botsch's avatar
Mario Botsch committed
668
669
670
$if(highlightjs)$
              { src: String.raw`$decker-support-dir$/plugins/highlight/highlight.js` },
$endif$
Mario Botsch's avatar
Mario Botsch committed
671
672
673
674
675
$if(mario)$              
              { src: String.raw`$decker-support-dir$/plugins/quiz/quiz.js` },
$endif$    
$if(menu)$
              { src: String.raw`$decker-support-dir$/plugins/menu/menu.js`, async: true },
676
677
$endif$
$if(thebelab.enable)$
678
              { src: String.raw`$decker-support-dir$/plugins/thebelab/thebelab.js`, async: true },
Mario Botsch's avatar
Mario Botsch committed
679
680
$endif$
              { src: String.raw`$decker-support-dir$/plugins/explain/explain.js` },
681
682
              { src: String.raw`$decker-support-dir$/vendor/reveal/plugin/notes/notes.js`, async: true }
          ]
683
      });
Mario Botsch's avatar
Mario Botsch committed
684
685
  </script>

Henrik Tramberend's avatar
Henrik Tramberend committed
686
687
688
689
690
  $for(include-after)$
  $include-after$
  $endfor$
  </body>
</html>