asciidoctor-revealjs 4.0.1 → 4.1.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/README.adoc +75 -35
  3. data/Rakefile +18 -3
  4. data/asciidoctor-revealjs.gemspec +1 -1
  5. data/examples/a11y-dark.css +99 -0
  6. data/examples/autoslide.adoc +22 -0
  7. data/examples/custom-layout.adoc +10 -0
  8. data/examples/data-attributes.adoc +245 -0
  9. data/examples/font-awesome-specific-version.adoc +11 -0
  10. data/examples/font-awesome.adoc +16 -2
  11. data/examples/footnotes.adoc +46 -0
  12. data/examples/fragments.adoc +12 -0
  13. data/examples/grid-layout-3x2.adoc +50 -0
  14. data/examples/grid-layout-docinfo-revealjs.html +1 -1
  15. data/examples/grid-layout.adoc +21 -1
  16. data/examples/images/cute-cat-1.jpg +0 -0
  17. data/examples/images/cute-cat-2.jpg +0 -0
  18. data/examples/images/cute-cat-3.jpg +0 -0
  19. data/examples/images/flock-of-seagulls_daniel-simion.mp3 +0 -0
  20. data/examples/issue-grid-layout-images.adoc +25 -0
  21. data/examples/mathjax-cdn.adoc +21 -0
  22. data/examples/mathjax.adoc +20 -0
  23. data/examples/release-4.0.adoc +2 -5
  24. data/examples/release-4.1.adoc +133 -0
  25. data/examples/release-4.1.css +50 -0
  26. data/examples/revealjs-custom-theme.adoc +10 -0
  27. data/examples/steps.adoc +87 -0
  28. data/examples/text-alignments.adoc +44 -0
  29. data/examples/video.adoc +19 -6
  30. data/lib/asciidoctor-revealjs/converter.rb +754 -647
  31. data/lib/asciidoctor-revealjs/version.rb +1 -1
  32. data/templates/admonition.html.slim +1 -1
  33. data/templates/asciidoctor-compatibility.css +303 -54
  34. data/templates/audio.html.slim +1 -1
  35. data/templates/colist.html.slim +1 -1
  36. data/templates/dlist.html.slim +3 -3
  37. data/templates/document.html.slim +12 -7
  38. data/templates/example.html.slim +1 -1
  39. data/templates/helpers.rb +80 -7
  40. data/templates/image.html.slim +2 -2
  41. data/templates/inline_anchor.html.slim +5 -4
  42. data/templates/inline_button.html.slim +2 -1
  43. data/templates/inline_footnote.html.slim +11 -4
  44. data/templates/inline_image.html.slim +2 -5
  45. data/templates/inline_kbd.html.slim +3 -2
  46. data/templates/inline_menu.html.slim +4 -3
  47. data/templates/inline_quoted.html.slim +13 -21
  48. data/templates/listing.html.slim +14 -9
  49. data/templates/literal.html.slim +1 -1
  50. data/templates/olist.html.slim +2 -2
  51. data/templates/open.html.slim +3 -3
  52. data/templates/paragraph.html.slim +1 -1
  53. data/templates/quote.html.slim +1 -1
  54. data/templates/section.html.slim +18 -1
  55. data/templates/sidebar.html.slim +1 -1
  56. data/templates/stem.html.slim +1 -1
  57. data/templates/table.html.slim +3 -2
  58. data/templates/ulist.html.slim +3 -3
  59. data/templates/verse.html.slim +1 -1
  60. data/templates/video.html.slim +14 -8
  61. metadata +26 -10
  62. data/CHANGELOG.adoc +0 -546
  63. data/HACKING.adoc +0 -412
@@ -1,5 +1,5 @@
1
1
  module Asciidoctor
2
2
  module Revealjs
3
- VERSION = '4.0.1'
3
+ VERSION = '4.1.0.rc2'
4
4
  end
5
5
  end
@@ -1,7 +1,7 @@
1
1
  - if (has_role? 'aside') or (has_role? 'speaker') or (has_role? 'notes')
2
2
  include notes.html.slim
3
3
  - else
4
- .admonitionblock id=@id class=[(attr :name),role]
4
+ = html_tag('div', { :id => @id, :class => ['admonitionblock', (attr :name), role, ('fragment' if (option? :step) || (attr? 'step'))] }.merge(data_attrs(@attributes)))
5
5
  table: tr
6
6
  td.icon
7
7
  - if @document.attr? :icons, 'font'
@@ -1,73 +1,267 @@
1
- .reveal div.right{float:right}
1
+ .reveal div.right {
2
+ float: right
3
+ }
2
4
 
3
5
  /* listing block */
4
- .reveal .listingblock.stretch>.content{height: 100%}
5
- .reveal .listingblock.stretch>.content>pre{height: 100%}
6
- .reveal .listingblock.stretch>.content>pre>code{height:100%;max-height:100%}
6
+ .reveal .listingblock.stretch > .content {
7
+ height: 100%
8
+ }
9
+
10
+ .reveal .listingblock.stretch > .content > pre {
11
+ height: 100%
12
+ }
13
+
14
+ .reveal .listingblock.stretch > .content > pre > code {
15
+ height: 100%;
16
+ max-height: 100%
17
+ }
7
18
 
8
19
  /* tables */
9
- table{border-collapse:collapse;border-spacing:0}
10
- table{margin-bottom:1.25em;border:solid 1px #dedede}
11
- table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;text-align:left}
12
- table tr th,table tr td{padding:.5625em .625em;font-size:inherit}
13
- table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6}
14
- td.tableblock>.content{margin-bottom:1.25em}
15
- td.tableblock>.content>:last-child{margin-bottom:-1.25em}
16
- table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}
17
- table.grid-all>thead>tr>.tableblock,table.grid-all>tbody>tr>.tableblock{border-width:0 1px 1px 0}
18
- table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0}
19
- table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0}
20
- table.grid-rows>thead>tr>.tableblock,table.grid-rows>tbody>tr>.tableblock{border-width:0 0 1px}
21
- table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0}
22
- table.grid-all>*>tr>.tableblock:last-child,table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0}
23
- table.grid-all>tbody>tr:last-child>.tableblock,table.grid-all>thead:last-child>tr>.tableblock,table.grid-rows>tbody>tr:last-child>.tableblock,table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width:0}
24
- table.frame-all{border-width:1px}
25
- table.frame-sides{border-width:0 1px}
26
- table.frame-topbot,table.frame-ends{border-width:1px 0}
27
- .reveal table th.halign-left,.reveal table td.halign-left{text-align:left}
28
- .reveal table th.halign-right,.reveal table td.halign-right{text-align:right}
29
- .reveal table th.halign-center,.reveal table td.halign-center{text-align:center}
30
- .reveal table th.valign-top,.reveal table td.valign-top{vertical-align:top}
31
- .reveal table th.valign-bottom,.reveal table td.valign-bottom{vertical-align:bottom}
32
- .reveal table th.valign-middle,.reveal table td.valign-middle{vertical-align:middle}
33
- table thead th,table tfoot th{font-weight:bold}
34
- tbody tr th{display:table-cell;line-height:1.6}
35
- tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{font-weight:bold}
36
- thead{display:table-header-group}
37
-
38
- .reveal table.grid-none th,.reveal table.grid-none td{border-bottom:0!important}
20
+ table {
21
+ border-collapse: collapse;
22
+ border-spacing: 0
23
+ }
24
+
25
+ table {
26
+ margin-bottom: 1.25em;
27
+ border: solid 1px #dedede
28
+ }
29
+
30
+ table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td {
31
+ padding: .5em .625em .625em;
32
+ font-size: inherit;
33
+ text-align: left
34
+ }
35
+
36
+ table tr th, table tr td {
37
+ padding: .5625em .625em;
38
+ font-size: inherit
39
+ }
40
+
41
+ table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td {
42
+ display: table-cell;
43
+ line-height: 1.6
44
+ }
45
+
46
+ td.tableblock > .content {
47
+ margin-bottom: 1.25em
48
+ }
49
+
50
+ td.tableblock > .content > :last-child {
51
+ margin-bottom: -1.25em
52
+ }
53
+
54
+ table.tableblock, th.tableblock, td.tableblock {
55
+ border: 0 solid #dedede
56
+ }
57
+
58
+ table.grid-all > thead > tr > .tableblock, table.grid-all > tbody > tr > .tableblock {
59
+ border-width: 0 1px 1px 0
60
+ }
61
+
62
+ table.grid-all > tfoot > tr > .tableblock {
63
+ border-width: 1px 1px 0 0
64
+ }
65
+
66
+ table.grid-cols > * > tr > .tableblock {
67
+ border-width: 0 1px 0 0
68
+ }
69
+
70
+ table.grid-rows > thead > tr > .tableblock, table.grid-rows > tbody > tr > .tableblock {
71
+ border-width: 0 0 1px
72
+ }
73
+
74
+ table.grid-rows > tfoot > tr > .tableblock {
75
+ border-width: 1px 0 0
76
+ }
77
+
78
+ table.grid-all > * > tr > .tableblock:last-child, table.grid-cols > * > tr > .tableblock:last-child {
79
+ border-right-width: 0
80
+ }
81
+
82
+ table.grid-all > tbody > tr:last-child > .tableblock, table.grid-all > thead:last-child > tr > .tableblock, table.grid-rows > tbody > tr:last-child > .tableblock, table.grid-rows > thead:last-child > tr > .tableblock {
83
+ border-bottom-width: 0
84
+ }
85
+
86
+ table.frame-all {
87
+ border-width: 1px
88
+ }
89
+
90
+ table.frame-sides {
91
+ border-width: 0 1px
92
+ }
93
+
94
+ table.frame-topbot, table.frame-ends {
95
+ border-width: 1px 0
96
+ }
97
+
98
+ .reveal table th.halign-left, .reveal table td.halign-left {
99
+ text-align: left
100
+ }
101
+
102
+ .reveal table th.halign-right, .reveal table td.halign-right {
103
+ text-align: right
104
+ }
105
+
106
+ .reveal table th.halign-center, .reveal table td.halign-center {
107
+ text-align: center
108
+ }
109
+
110
+ .reveal table th.valign-top, .reveal table td.valign-top {
111
+ vertical-align: top
112
+ }
113
+
114
+ .reveal table th.valign-bottom, .reveal table td.valign-bottom {
115
+ vertical-align: bottom
116
+ }
117
+
118
+ .reveal table th.valign-middle, .reveal table td.valign-middle {
119
+ vertical-align: middle
120
+ }
121
+
122
+ table thead th, table tfoot th {
123
+ font-weight: bold
124
+ }
125
+
126
+ tbody tr th {
127
+ display: table-cell;
128
+ line-height: 1.6
129
+ }
130
+
131
+ tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p {
132
+ font-weight: bold
133
+ }
134
+
135
+ thead {
136
+ display: table-header-group
137
+ }
138
+
139
+ .reveal table.grid-none th, .reveal table.grid-none td {
140
+ border-bottom: 0 !important
141
+ }
39
142
 
40
143
  /* kbd macro */
41
- kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap}
42
- .keyseq kbd:first-child{margin-left:0}
43
- .keyseq kbd:last-child{margin-right:0}
144
+ kbd {
145
+ font-family: "Droid Sans Mono", "DejaVu Sans Mono", monospace;
146
+ display: inline-block;
147
+ color: rgba(0, 0, 0, .8);
148
+ font-size: .65em;
149
+ line-height: 1.45;
150
+ background: #f7f7f7;
151
+ border: 1px solid #ccc;
152
+ -webkit-border-radius: 3px;
153
+ border-radius: 3px;
154
+ -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, .2), 0 0 0 .1em white inset;
155
+ box-shadow: 0 1px 0 rgba(0, 0, 0, .2), 0 0 0 .1em #fff inset;
156
+ margin: 0 .15em;
157
+ padding: .2em .5em;
158
+ vertical-align: middle;
159
+ position: relative;
160
+ top: -.1em;
161
+ white-space: nowrap
162
+ }
163
+
164
+ .keyseq kbd:first-child {
165
+ margin-left: 0
166
+ }
167
+
168
+ .keyseq kbd:last-child {
169
+ margin-right: 0
170
+ }
44
171
 
45
172
  /* callouts */
46
- .conum[data-value] {display:inline-block;color:#fff!important;background:rgba(0,0,0,.8);-webkit-border-radius:50%;border-radius:50%;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold}
47
- .conum[data-value] *{color:#fff!important}
48
- .conum[data-value]+b{display:none}
49
- .conum[data-value]:after{content:attr(data-value)}
50
- pre .conum[data-value]{position:relative;top:-.125em}
51
- b.conum *{color:inherit!important}
52
- .conum:not([data-value]):empty{display:none}
173
+ .conum[data-value] {
174
+ display: inline-block;
175
+ color: #fff !important;
176
+ background: rgba(0, 0, 0, .8);
177
+ -webkit-border-radius: 50%;
178
+ border-radius: 50%;
179
+ text-align: center;
180
+ font-size: .75em;
181
+ width: 1.67em;
182
+ height: 1.67em;
183
+ line-height: 1.67em;
184
+ font-family: "Open Sans", "DejaVu Sans", sans-serif;
185
+ font-style: normal;
186
+ font-weight: bold
187
+ }
188
+
189
+ .conum[data-value] * {
190
+ color: #fff !important
191
+ }
192
+
193
+ .conum[data-value] + b {
194
+ display: none
195
+ }
196
+
197
+ .conum[data-value]:after {
198
+ content: attr(data-value)
199
+ }
200
+
201
+ pre .conum[data-value] {
202
+ position: relative;
203
+ top: -.125em
204
+ }
205
+
206
+ b.conum * {
207
+ color: inherit !important
208
+ }
209
+
210
+ .conum:not([data-value]):empty {
211
+ display: none
212
+ }
213
+
53
214
  /* Callout list */
54
- .hdlist>table,.colist>table{border:0;background:none}
55
- .hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}
56
- td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}
57
- td.hdlist1{font-weight:bold;padding-bottom:1.25em}
215
+ .hdlist > table, .colist > table {
216
+ border: 0;
217
+ background: none
218
+ }
219
+
220
+ .hdlist > table > tbody > tr, .colist > table > tbody > tr {
221
+ background: none
222
+ }
223
+
224
+ td.hdlist1, td.hdlist2 {
225
+ vertical-align: top;
226
+ padding: 0 .625em
227
+ }
228
+
229
+ td.hdlist1 {
230
+ font-weight: bold;
231
+ padding-bottom: 1.25em
232
+ }
233
+
58
234
  /* Disabled from Asciidoctor CSS because it caused callout list to go under the
59
235
  * source listing when .stretch is applied (see #335)
60
236
  * .literalblock+.colist,.listingblock+.colist{margin-top:-.5em} */
61
- .colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top}
62
- .colist td:not([class]):first-child img{max-width:none}
63
- .colist td:not([class]):last-child{padding:.25em 0}
237
+ .colist td:not([class]):first-child {
238
+ padding: .4em .75em 0;
239
+ line-height: 1;
240
+ vertical-align: top
241
+ }
242
+
243
+ .colist td:not([class]):first-child img {
244
+ max-width: none
245
+ }
246
+
247
+ .colist td:not([class]):last-child {
248
+ padding: .25em 0
249
+ }
64
250
 
65
251
  /* Override Asciidoctor CSS that causes issues with reveal.js features */
66
- .reveal .hljs table{border: 0}
252
+ .reveal .hljs table {
253
+ border: 0
254
+ }
255
+
67
256
  /* Callout list rows would have a bottom border with some reveal.js themes (see #335) */
68
- .reveal .colist>table th, .reveal .colist>table td {border-bottom:0}
257
+ .reveal .colist > table th, .reveal .colist > table td {
258
+ border-bottom: 0
259
+ }
260
+
69
261
  /* Fixes line height with Highlight.js source listing when linenums enabled (see #331) */
70
- .reveal .hljs table thead tr th, .reveal .hljs table tfoot tr th, .reveal .hljs table tbody tr td, .reveal .hljs table tr td, .reveal .hljs table tfoot tr td{line-height:inherit}
262
+ .reveal .hljs table thead tr th, .reveal .hljs table tfoot tr th, .reveal .hljs table tbody tr td, .reveal .hljs table tr td, .reveal .hljs table tfoot tr td {
263
+ line-height: inherit
264
+ }
71
265
 
72
266
  /* Columns layout */
73
267
  .columns .slide-content {
@@ -87,9 +281,17 @@ td.hdlist1{font-weight:bold;padding-bottom:1.25em}
87
281
  flex-basis: 0;
88
282
  flex-grow: 1;
89
283
  flex-shrink: 1;
284
+ }
285
+
286
+ .columns .slide-content > .column > * {
90
287
  padding: .75rem;
91
288
  }
92
289
 
290
+ /* See #353 */
291
+ .columns.wrap .slide-content > .column {
292
+ flex-basis: auto;
293
+ }
294
+
93
295
  .columns .slide-content > .column.is-full {
94
296
  flex: none;
95
297
  width: 100%;
@@ -139,3 +341,50 @@ td.hdlist1{font-weight:bold;padding-bottom:1.25em}
139
341
  flex: none;
140
342
  width: 20%;
141
343
  }
344
+
345
+ .columns .slide-content > .column.has-text-left {
346
+ text-align: left;
347
+ }
348
+
349
+ .columns .slide-content > .column.has-text-justified {
350
+ text-align: justify;
351
+ }
352
+
353
+ .columns .slide-content > .column.has-text-right {
354
+ text-align: right;
355
+ }
356
+
357
+ .columns .slide-content > .column.has-text-left {
358
+ text-align: left;
359
+ }
360
+
361
+ .columns .slide-content > .column.has-text-justified {
362
+ text-align: justify;
363
+ }
364
+
365
+ .columns .slide-content > .column.has-text-right {
366
+ text-align: right;
367
+ }
368
+
369
+ .text-left {
370
+ text-align: left !important
371
+ }
372
+
373
+ .text-right {
374
+ text-align: right !important
375
+ }
376
+
377
+ .text-center {
378
+ text-align: center !important
379
+ }
380
+
381
+ .text-justify {
382
+ text-align: justify !important
383
+ }
384
+
385
+ .footnotes {
386
+ border-top: 1px solid rgba(0, 0, 0, 0.2);
387
+ padding: 0.5em 0 0 0;
388
+ font-size: 0.65em;
389
+ margin-top: 4em;
390
+ }
@@ -1,4 +1,4 @@
1
- .audioblock id=@id class=[@style,role]
1
+ = html_tag('div', { :id => @id, :class => ['audioblock', @style, role] }.merge(data_attrs(@attributes)))
2
2
  - if title?
3
3
  .title=captioned_title
4
4
  .content
@@ -1,4 +1,4 @@
1
- .colist id=@id class=[@style,role]
1
+ = html_tag('div', { :id => @id, :class => ['colist', @style, role, ('fragment' if (option? :step) || (attr? 'step'))] }.merge(data_attrs(@attributes)))
2
2
  - if title?
3
3
  .title=title
4
4
  - if @document.attr? :icons
@@ -1,6 +1,6 @@
1
1
  - case @style
2
2
  - when 'qanda'
3
- .qlist id=@id class=['qanda',role]
3
+ = html_tag('div', { :id => @id, :class => ['qlist', @style, role] }.merge(data_attrs(@attributes)))
4
4
  - if title?
5
5
  .title=title
6
6
  ol
@@ -14,7 +14,7 @@
14
14
  - if answer.blocks?
15
15
  =answer.content
16
16
  - when 'horizontal'
17
- .hdlist id=@id class=role
17
+ = html_tag('div', { :id => @id, :class => ['hdlist', role] }.merge(data_attrs(@attributes)))
18
18
  - if title?
19
19
  .title=title
20
20
  table
@@ -38,7 +38,7 @@
38
38
  - if dd.blocks?
39
39
  =dd.content
40
40
  - else
41
- .dlist id=@id class=[@style,role]
41
+ = html_tag('div', { :id => @id, :class => ['dlist', @style, role] }.merge(data_attrs(@attributes)))
42
42
  - if title?
43
43
  .title=title
44
44
  dl
@@ -21,24 +21,27 @@ html lang=(attr :lang, 'en' unless attr? :nolang)
21
21
  link rel="stylesheet" href="#{revealjsdir}/css/reveal.css"
22
22
 
23
23
  / Default theme required even when using custom theme
24
- - if attr? :revealjs_customtheme
25
- link rel='stylesheet' href=(attr :revealjs_customtheme) id='theme'
26
- - else
27
- link rel='stylesheet' href='#{revealjsdir}/css/theme/#{attr 'revealjs_theme', 'black'}.css' id='theme'
24
+ link rel='stylesheet' href=(attr :revealjs_customtheme, %(#{revealjsdir}/css/theme/#{attr 'revealjs_theme', 'black'}.css)) id='theme'
28
25
  /! This CSS is generated by the Asciidoctor reveal.js converter to further integrate AsciiDoc's existing semantic with reveal.js
29
26
  style type="text/css"
30
27
  include asciidoctor-compatibility.css
31
28
  - if attr? :icons, 'font'
32
29
  / iconfont-remote is implicitly set by Asciidoctor core. See https://github.com/asciidoctor/asciidoctor.org/issues/361
33
30
  - if attr? 'iconfont-remote'
34
- link rel='stylesheet' href=(attr 'iconfont-cdn', %(#{cdn_base}/font-awesome/5.12.0-1/css/all.min.css))
35
- link rel='stylesheet' href=(attr 'iconfont-cdn', %(#{cdn_base}/font-awesome/5.12.0-1/css/v4-shims.min.css))
31
+ - if (iconfont_cdn = (attr 'iconfont-cdn'))
32
+ link rel='stylesheet' href=iconfont_cdn
33
+ - else
34
+ / default icon font is Font Awesome
35
+ - font_awesome_version = (attr 'font-awesome-version', '5.15.1')
36
+ link rel='stylesheet' href=%(#{cdn_base}/font-awesome/#{font_awesome_version}/css/all.min.css)
37
+ link rel='stylesheet' href=%(#{cdn_base}/font-awesome/#{font_awesome_version}/css/v4-shims.min.css)
36
38
  - else
37
39
  link rel='stylesheet' href=(normalize_web_path %(#{attr 'iconfont-name', 'font-awesome'}.css), (attr 'stylesdir', ''), false)
38
40
  - if attr? :stem
39
41
  - eqnums_val = (attr 'eqnums', 'none')
40
42
  - eqnums_val = 'AMS' if eqnums_val == ''
41
43
  - eqnums_opt = %( equationNumbers: { autoNumber: "#{eqnums_val}" } )
44
+ - mathjaxdir = (attr 'mathjaxdir', "#{cdn_base}/mathjax/2.7.6")
42
45
  script type='text/x-mathjax-config'
43
46
  | MathJax.Hub.Config({
44
47
  tex2jax: {
@@ -52,7 +55,7 @@ html lang=(attr :lang, 'en' unless attr? :nolang)
52
55
  },
53
56
  TeX: {#{eqnums_opt}}
54
57
  });
55
- script src='#{cdn_base}/mathjax/2.4.0/MathJax.js?config=TeX-MML-AM_HTMLorMML'
58
+ script src='#{mathjaxdir}/MathJax.js?config=TeX-MML-AM_HTMLorMML'
56
59
 
57
60
  - syntax_hl = self.syntax_highlighter
58
61
  - if syntax_hl && (syntax_hl.docinfo? :head)
@@ -125,6 +128,8 @@ html lang=(attr :lang, 'en' unless attr? :nolang)
125
128
  keyboard: #{to_boolean(attr 'revealjs_keyboard', true)},
126
129
  // Enable the slide overview mode
127
130
  overview: #{to_boolean(attr 'revealjs_overview', true)},
131
+ // Disables the default reveal.js slide layout so that you can use custom CSS layout
132
+ disableLayout: #{to_boolean(attr 'revealjs_disablelayout', false)},
128
133
  // Vertical centering of slides
129
134
  center: #{to_boolean(attr 'revealjs_center', true)},
130
135
  // Enables touch navigation on devices with touch input