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.
- checksums.yaml +4 -4
- data/README.adoc +75 -35
- data/Rakefile +18 -3
- data/asciidoctor-revealjs.gemspec +1 -1
- data/examples/a11y-dark.css +99 -0
- data/examples/autoslide.adoc +22 -0
- data/examples/custom-layout.adoc +10 -0
- data/examples/data-attributes.adoc +245 -0
- data/examples/font-awesome-specific-version.adoc +11 -0
- data/examples/font-awesome.adoc +16 -2
- data/examples/footnotes.adoc +46 -0
- data/examples/fragments.adoc +12 -0
- data/examples/grid-layout-3x2.adoc +50 -0
- data/examples/grid-layout-docinfo-revealjs.html +1 -1
- data/examples/grid-layout.adoc +21 -1
- data/examples/images/cute-cat-1.jpg +0 -0
- data/examples/images/cute-cat-2.jpg +0 -0
- data/examples/images/cute-cat-3.jpg +0 -0
- data/examples/images/flock-of-seagulls_daniel-simion.mp3 +0 -0
- data/examples/issue-grid-layout-images.adoc +25 -0
- data/examples/mathjax-cdn.adoc +21 -0
- data/examples/mathjax.adoc +20 -0
- data/examples/release-4.0.adoc +2 -5
- data/examples/release-4.1.adoc +133 -0
- data/examples/release-4.1.css +50 -0
- data/examples/revealjs-custom-theme.adoc +10 -0
- data/examples/steps.adoc +87 -0
- data/examples/text-alignments.adoc +44 -0
- data/examples/video.adoc +19 -6
- data/lib/asciidoctor-revealjs/converter.rb +754 -647
- data/lib/asciidoctor-revealjs/version.rb +1 -1
- data/templates/admonition.html.slim +1 -1
- data/templates/asciidoctor-compatibility.css +303 -54
- data/templates/audio.html.slim +1 -1
- data/templates/colist.html.slim +1 -1
- data/templates/dlist.html.slim +3 -3
- data/templates/document.html.slim +12 -7
- data/templates/example.html.slim +1 -1
- data/templates/helpers.rb +80 -7
- data/templates/image.html.slim +2 -2
- data/templates/inline_anchor.html.slim +5 -4
- data/templates/inline_button.html.slim +2 -1
- data/templates/inline_footnote.html.slim +11 -4
- data/templates/inline_image.html.slim +2 -5
- data/templates/inline_kbd.html.slim +3 -2
- data/templates/inline_menu.html.slim +4 -3
- data/templates/inline_quoted.html.slim +13 -21
- data/templates/listing.html.slim +14 -9
- data/templates/literal.html.slim +1 -1
- data/templates/olist.html.slim +2 -2
- data/templates/open.html.slim +3 -3
- data/templates/paragraph.html.slim +1 -1
- data/templates/quote.html.slim +1 -1
- data/templates/section.html.slim +18 -1
- data/templates/sidebar.html.slim +1 -1
- data/templates/stem.html.slim +1 -1
- data/templates/table.html.slim +3 -2
- data/templates/ulist.html.slim +3 -3
- data/templates/verse.html.slim +1 -1
- data/templates/video.html.slim +14 -8
- metadata +26 -10
- data/CHANGELOG.adoc +0 -546
- data/HACKING.adoc +0 -412
@@ -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
|
-
|
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{
|
1
|
+
.reveal div.right {
|
2
|
+
float: right
|
3
|
+
}
|
2
4
|
|
3
5
|
/* listing block */
|
4
|
-
.reveal .listingblock.stretch
|
5
|
-
|
6
|
-
|
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{
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
table
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
table
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
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{
|
42
|
-
|
43
|
-
|
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] {
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
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
|
55
|
-
|
56
|
-
|
57
|
-
|
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{
|
62
|
-
.
|
63
|
-
|
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{
|
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 {
|
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{
|
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
|
+
}
|
data/templates/audio.html.slim
CHANGED
data/templates/colist.html.slim
CHANGED
data/templates/dlist.html.slim
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
- case @style
|
2
2
|
- when 'qanda'
|
3
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
35
|
-
|
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='#{
|
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
|