asciidoctor-revealjs 3.1.0 → 4.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.adoc +86 -0
- data/HACKING.adoc +18 -11
- data/README.adoc +260 -27
- data/Rakefile +12 -4
- data/asciidoctor-revealjs.gemspec +4 -2
- data/examples/docinfo-footer-revealjs.html +10 -0
- data/examples/docinfo-revealjs.html +7 -0
- data/examples/font-awesome.adoc +2 -1
- data/examples/font-awesome.css +3 -0
- data/examples/fragments.adoc +32 -0
- data/examples/fragments.css +18 -0
- data/examples/grid-layout-docinfo-revealjs.html +11 -0
- data/examples/grid-layout.adoc +174 -0
- data/examples/history-hash.adoc +19 -0
- data/examples/history-regression-tests.adoc +0 -5
- data/examples/history.adoc +4 -4
- data/examples/images/asciidoctor-logo.svg +102 -0
- data/examples/level-sectnums.adoc +24 -0
- data/examples/links-preview.adoc +32 -0
- data/examples/links.adoc +39 -0
- data/examples/release-4.0.adoc +195 -0
- data/examples/release-4.0.css +23 -0
- data/examples/source-coderay.adoc +15 -0
- data/examples/source-emphasis.adoc +128 -0
- data/examples/source-highlightjs-html.adoc +1 -1
- data/examples/source-highlightjs-languages.adoc +27 -0
- data/examples/source-highlightjs.adoc +85 -2
- data/examples/source-pygments.adoc +12 -0
- data/examples/source-rouge-docinfo.html +8 -0
- data/examples/source-rouge.adoc +18 -0
- data/examples/video.adoc +12 -3
- data/examples/with-docinfo-shared.adoc +13 -0
- data/lib/asciidoctor-revealjs/converter.rb +312 -136
- data/lib/asciidoctor-revealjs/highlightjs.rb +333 -2
- data/lib/asciidoctor-revealjs/version.rb +1 -1
- data/templates/asciidoctor-compatibility.css +141 -0
- data/templates/document.html.slim +64 -53
- data/templates/helpers.rb +93 -1
- data/templates/image.html.slim +1 -1
- data/templates/inline_anchor.html.slim +2 -1
- data/templates/inline_image.html.slim +3 -3
- data/templates/listing.html.slim +1 -1
- data/templates/section.html.slim +34 -43
- data/templates/stretch_nested_elements.js.slim +65 -0
- data/templates/title_slide.html.slim +28 -0
- metadata +55 -8
- data/examples/revealjs-features.adoc +0 -23
- data/templates/asciidoctor_revealjs.css.slim +0 -59
@@ -0,0 +1,27 @@
|
|
1
|
+
// .source-highlightjs-languages
|
2
|
+
// Demonstration of source highlighting with highlight.js using additional languages
|
3
|
+
// :include: //div[@class="slides"] | //body/script
|
4
|
+
// :header_footer:
|
5
|
+
= Scilab Code with Highlight.js: using additional languages
|
6
|
+
:source-highlighter: highlight.js
|
7
|
+
:highlightjs-languages: yaml, scilab
|
8
|
+
|
9
|
+
== Use the Source
|
10
|
+
|
11
|
+
[source,scilab]
|
12
|
+
----
|
13
|
+
function B=gauss_filter_3_3(A)
|
14
|
+
x=size(A,2);
|
15
|
+
y=size(A,1);
|
16
|
+
B = zeros(y, x);
|
17
|
+
for j = 2:y-1
|
18
|
+
for i= 2:x-1
|
19
|
+
val= 4*A(j,i)+2*(A(j,i-1)+A(j,i+1)+A(j+1,i)+A(j-1,i))+A(j+1,i+1)+A(j-1,i+1)+A(j+1,i-1)+A(j-1,i-1);
|
20
|
+
B(j,i) = val/16;
|
21
|
+
end
|
22
|
+
end
|
23
|
+
endfunction
|
24
|
+
|
25
|
+
A = rand(10, 10) * 256;
|
26
|
+
B = gauss_filter_3_3(A);
|
27
|
+
----
|
@@ -1,10 +1,11 @@
|
|
1
1
|
// .source-highlightjs
|
2
|
-
// Demonstration of source highlighting with
|
2
|
+
// Demonstration of source highlighting with highlight.js
|
3
3
|
// :include: //div[@class="slides"]
|
4
4
|
// :header_footer:
|
5
|
-
= Source Code with Highlight.
|
5
|
+
= Source Code with Highlight.js
|
6
6
|
:icons: font
|
7
7
|
:source-highlighter: highlightjs
|
8
|
+
:highlightjs-languages: clojure
|
8
9
|
|
9
10
|
== Use the Source
|
10
11
|
|
@@ -15,6 +16,17 @@ fn main() {
|
|
15
16
|
}
|
16
17
|
----
|
17
18
|
|
19
|
+
== Numbered lines
|
20
|
+
|
21
|
+
With standard `linenums` attribute
|
22
|
+
|
23
|
+
[source, rust, linenums]
|
24
|
+
----
|
25
|
+
fn main() {
|
26
|
+
println!("Hello World!");
|
27
|
+
}
|
28
|
+
----
|
29
|
+
|
18
30
|
== Stretch the Source
|
19
31
|
|
20
32
|
[source, rust, role="stretch"]
|
@@ -23,3 +35,74 @@ fn main() {
|
|
23
35
|
println!("Hello stretched World!");
|
24
36
|
}
|
25
37
|
----
|
38
|
+
|
39
|
+
== Marked Source
|
40
|
+
|
41
|
+
// This example was taken from Reveal.js README
|
42
|
+
// https://github.com/hakimel/reveal.js/blob/master/README.md#code-syntax-highlighting
|
43
|
+
Using `<mark>` in source requires a `subs="none"` attribute to the source block.
|
44
|
+
|
45
|
+
[source, clojure, subs="none"]
|
46
|
+
----
|
47
|
+
(def lazy-fib
|
48
|
+
(concat
|
49
|
+
[0 1]
|
50
|
+
<mark>((fn rfib [a b]</mark>
|
51
|
+
(lazy-cons (+ a b) (rfib b (+ a b)))) 0 1)))
|
52
|
+
----
|
53
|
+
|
54
|
+
== Highlight Lines in Source
|
55
|
+
|
56
|
+
// This example was taken from Reveal.js README
|
57
|
+
// https://github.com/hakimel/reveal.js/blob/master/README.md#line-numbers--highlights
|
58
|
+
|
59
|
+
Highlights are using Asciidoctor syntax not reveal.js.
|
60
|
+
Ex: `4..8,11` instead of `4-8,11`.
|
61
|
+
|
62
|
+
[source, javascript, highlight="4..8,11"]
|
63
|
+
----
|
64
|
+
import React, { useState } from 'react';
|
65
|
+
|
66
|
+
function Example() {
|
67
|
+
const [count, setCount] = useState(0);
|
68
|
+
|
69
|
+
return (
|
70
|
+
<div>
|
71
|
+
<p>You clicked {count} times</p>
|
72
|
+
<button onClick={() => setCount(count + 1)}>
|
73
|
+
Click me
|
74
|
+
</button>
|
75
|
+
</div>
|
76
|
+
);
|
77
|
+
}
|
78
|
+
----
|
79
|
+
|
80
|
+
== Step by Step Highlights
|
81
|
+
|
82
|
+
// Requires reveal.js 3.9.0+
|
83
|
+
Highlights are using Asciidoctor syntax not reveal.js.
|
84
|
+
Ex: `1|2..3|4,6..10` instead of `1|2-3|4,6-10`.
|
85
|
+
|
86
|
+
[source, javascript, highlight="1|2..3|4,6..10"]
|
87
|
+
----
|
88
|
+
import React, { useState } from 'react';
|
89
|
+
|
90
|
+
function Example() {
|
91
|
+
const [count, setCount] = useState(0);
|
92
|
+
|
93
|
+
return (
|
94
|
+
<div>
|
95
|
+
<p>You clicked {count} times</p>
|
96
|
+
<button onClick={() => setCount(count + 1)}>
|
97
|
+
Click me
|
98
|
+
</button>
|
99
|
+
</div>
|
100
|
+
);
|
101
|
+
}
|
102
|
+
----
|
103
|
+
|
104
|
+
== Regression test for issue 338
|
105
|
+
|
106
|
+
[listing]
|
107
|
+
This is an example of a paragraph styled with `listing`.
|
108
|
+
Notice that the monospace markup is preserved in the output.
|
@@ -30,3 +30,15 @@ fn main() {
|
|
30
30
|
println!("Hello World!");
|
31
31
|
}
|
32
32
|
----
|
33
|
+
|
34
|
+
== Pygments Features
|
35
|
+
|
36
|
+
[source,ruby,highlight="1..2,4..5"]
|
37
|
+
----
|
38
|
+
ORDERED_LIST_KEYWORDS = {
|
39
|
+
'loweralpha' => 'a',
|
40
|
+
'lowerroman' => 'i',
|
41
|
+
'upperalpha' => 'A',
|
42
|
+
'upperroman' => 'I',
|
43
|
+
}
|
44
|
+
----
|
data/examples/source-rouge.adoc
CHANGED
@@ -6,6 +6,7 @@
|
|
6
6
|
:icons: font
|
7
7
|
:source-highlighter: rouge
|
8
8
|
:rouge-style: monokai
|
9
|
+
:docinfo: private
|
9
10
|
|
10
11
|
== Requirements
|
11
12
|
|
@@ -39,3 +40,20 @@ fn main() {
|
|
39
40
|
println!("Hello stretched World!");
|
40
41
|
}
|
41
42
|
----
|
43
|
+
|
44
|
+
== Rouge Features
|
45
|
+
|
46
|
+
// TODO missing `hll` class from styles provided Asciidoctor for rouge
|
47
|
+
// TODO linenums feature affects listing size
|
48
|
+
|
49
|
+
This is broken see `TODO` in this source
|
50
|
+
|
51
|
+
[source,ruby,highlight=2..4]
|
52
|
+
----
|
53
|
+
ORDERED_LIST_KEYWORDS = {
|
54
|
+
'loweralpha' => 'a',
|
55
|
+
'lowerroman' => 'i',
|
56
|
+
'upperalpha' => 'A',
|
57
|
+
'upperroman' => 'I',
|
58
|
+
}
|
59
|
+
----
|
data/examples/video.adoc
CHANGED
@@ -3,17 +3,27 @@
|
|
3
3
|
// :include: //div[@class="slides"]
|
4
4
|
// :header_footer:
|
5
5
|
= Video tests
|
6
|
+
:revealjs_hash: true
|
6
7
|
|
7
|
-
== Auto-sized
|
8
|
+
== YouTube Auto-sized
|
8
9
|
|
9
10
|
video::kZH9JtPBq7k[youtube, start=34, options=autoplay]
|
10
11
|
//video::kZH9JtPBq7k[youtube, start=34, height=600, width=800, options=autoplay]
|
11
12
|
|
12
13
|
[%notitle]
|
13
|
-
== Auto-sized notitle
|
14
|
+
== YouTube Auto-sized notitle
|
14
15
|
|
15
16
|
video::kZH9JtPBq7k[youtube, start=34, options=autoplay]
|
16
17
|
|
18
|
+
[.notes]
|
19
|
+
--
|
20
|
+
This video is auto-sized!
|
21
|
+
--
|
22
|
+
|
23
|
+
== Remote Video File Auto-sized
|
24
|
+
|
25
|
+
video::https://s3.amazonaws.com/static.slid.es/site/homepage/v1/homepage-video-editor.webm[]
|
26
|
+
|
17
27
|
[%notitle,background-iframe="https://www.youtube.com/embed/LaApqL4QjH8?rel=0&start=3&enablejsapi=1&autoplay=1&loop=1&controls=0&modestbranding=1"]
|
18
28
|
== background
|
19
29
|
|
@@ -23,7 +33,6 @@ video::kZH9JtPBq7k[youtube, start=34, options=autoplay]
|
|
23
33
|
[background-video="https://s3.amazonaws.com/static.slid.es/site/homepage/v1/homepage-video-editor.mp4,https://s3.amazonaws.com/static.slid.es/site/homepage/v1/homepage-video-editor.webm",options="loop,muted,notitle"]
|
24
34
|
== video file, options
|
25
35
|
|
26
|
-
|
27
36
|
== vimeo autostart
|
28
37
|
|
29
38
|
video::44878206[vimeo, options=autoplay]
|
@@ -0,0 +1,13 @@
|
|
1
|
+
// .docinfo-shared
|
2
|
+
// Demonstration of docinfo attribute and we provide only head and footer values
|
3
|
+
// :include: //head/*[last()] | //div[@class="slides"]/*[last()]
|
4
|
+
// :header_footer:
|
5
|
+
= Docinfo shared
|
6
|
+
:docinfo: shared
|
7
|
+
|
8
|
+
== Tweet
|
9
|
+
|
10
|
+
// placeholder
|
11
|
+
[#tweet]
|
12
|
+
--
|
13
|
+
--
|
@@ -31,6 +31,23 @@ class Asciidoctor::Revealjs::Converter < ::Asciidoctor::Converter::Base
|
|
31
31
|
val && val != 'false' && val.to_s != '0' || false
|
32
32
|
end
|
33
33
|
|
34
|
+
# bool_data_attr
|
35
|
+
# If the AsciiDoc attribute doesn't exist, no HTML attribute is added
|
36
|
+
# If the AsciiDoc attribute exist and is a true value, HTML attribute is enabled (bool)
|
37
|
+
# If the AsciiDoc attribute exist and is a false value, HTML attribute is a false string
|
38
|
+
# Ex: a feature is enabled globally but can be disabled using a data- attribute on individual items
|
39
|
+
# :revealjs_previewlinks: True
|
40
|
+
# then link::example.com[Link text, preview=false]
|
41
|
+
# Here the template must have data-preview-link="false" not just no data-preview-link attribute
|
42
|
+
def bool_data_attr val
|
43
|
+
return false if !attr?(val)
|
44
|
+
if attr(val).downcase == 'false' || attr(val) == '0'
|
45
|
+
return 'false'
|
46
|
+
else
|
47
|
+
return true
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
34
51
|
# false needs to be verbatim everything else is a string.
|
35
52
|
# Calling side isn't responsible for quoting so we are doing it here
|
36
53
|
def to_valid_slidenumber val
|
@@ -108,6 +125,20 @@ class Asciidoctor::Revealjs::Converter < ::Asciidoctor::Converter::Base
|
|
108
125
|
end
|
109
126
|
end
|
110
127
|
|
128
|
+
def revealjs_dependencies(document, node, revealjsdir)
|
129
|
+
dependencies = []
|
130
|
+
dependencies << "{ src: '#{revealjsdir}/plugin/zoom-js/zoom.js', async: true }" unless (node.attr? 'revealjs_plugin_zoom', 'disabled')
|
131
|
+
dependencies << "{ src: '#{revealjsdir}/plugin/notes/notes.js', async: true }" unless (node.attr? 'revealjs_plugin_notes', 'disabled')
|
132
|
+
dependencies << "{ src: '#{revealjsdir}/plugin/markdown/marked.js', async: true }" if (node.attr? 'revealjs_plugin_marked', 'enabled')
|
133
|
+
dependencies << "{ src: '#{revealjsdir}/plugin/markdown/markdown.js', async: true }" if (node.attr? 'revealjs_plugin_markdown', 'enabled')
|
134
|
+
if (node.attr? 'revealjs_plugins') &&
|
135
|
+
!(revealjs_plugins_file = (node.attr 'revealjs_plugins', '').strip).empty? &&
|
136
|
+
!(revealjs_plugins_content = (File.read revealjs_plugins_file).strip).empty?
|
137
|
+
dependencies << revealjs_plugins_content
|
138
|
+
end
|
139
|
+
dependencies.join(",\n ")
|
140
|
+
end
|
141
|
+
|
111
142
|
|
112
143
|
# Between delimiters (--) is code taken from asciidoctor-bespoke 1.0.0.alpha.1
|
113
144
|
# Licensed under MIT, Copyright (C) 2015-2016 Dan Allen and the Asciidoctor Project
|
@@ -120,8 +151,69 @@ class Asciidoctor::Revealjs::Converter < ::Asciidoctor::Converter::Base
|
|
120
151
|
def resolve_content
|
121
152
|
@content_model == :simple ? %(<p>#{content}</p>) : content
|
122
153
|
end
|
123
|
-
#--
|
124
154
|
|
155
|
+
# Capture nested template content and register it with the specified key, to
|
156
|
+
# be executed at a later time.
|
157
|
+
#
|
158
|
+
# This method must be invoked using the control code directive (i.e., -). By
|
159
|
+
# using a control code directive, the block is set up to append the result
|
160
|
+
# directly to the output buffer. (Integrations often hide the distinction
|
161
|
+
# between a control code directive and an output directive in this context).
|
162
|
+
#
|
163
|
+
# key - The Symbol under which to save the template block.
|
164
|
+
# opts - A Hash of options to control processing (default: {}):
|
165
|
+
# * :append - A Boolean that indicates whether to append this block
|
166
|
+
# to others registered with this key (default: false).
|
167
|
+
# * :content - String content to be used if template content is not
|
168
|
+
# provided (optional).
|
169
|
+
# block - The template content (in Slim template syntax).
|
170
|
+
#
|
171
|
+
# Examples
|
172
|
+
#
|
173
|
+
# - content_for :body
|
174
|
+
# p content
|
175
|
+
# - content_for :body, append: true
|
176
|
+
# p more content
|
177
|
+
#
|
178
|
+
# Returns nothing.
|
179
|
+
def content_for key, opts = {}, &block
|
180
|
+
@content = {} unless defined? @content
|
181
|
+
(opts[:append] ? (@content[key] ||= []) : (@content[key] = [])) << (block_given? ? block : lambda { opts[:content] })
|
182
|
+
nil
|
183
|
+
end
|
184
|
+
|
185
|
+
# Checks whether deferred template content has been registered for the specified key.
|
186
|
+
#
|
187
|
+
# key - The Symbol under which to look for saved template blocks.
|
188
|
+
#
|
189
|
+
# Returns a Boolean indicating whether content has been registered for this key.
|
190
|
+
def content_for? key
|
191
|
+
(defined? @content) && (@content.key? key)
|
192
|
+
end
|
193
|
+
|
194
|
+
# Evaluates the deferred template content registered with the specified key.
|
195
|
+
#
|
196
|
+
# When the corresponding content_for method is invoked using a control code
|
197
|
+
# directive, the block is set up to append the result to the output buffer
|
198
|
+
# directly.
|
199
|
+
#
|
200
|
+
# key - The Symbol under which to look for template blocks to yield.
|
201
|
+
# opts - A Hash of options to control processing (default: {}):
|
202
|
+
# * :drain - A Boolean indicating whether to drain the key of blocks
|
203
|
+
# after calling them (default: true).
|
204
|
+
#
|
205
|
+
# Examples
|
206
|
+
#
|
207
|
+
# - yield_content :body
|
208
|
+
#
|
209
|
+
# Returns nothing (assuming the content has been captured in the context of control code).
|
210
|
+
def yield_content key, opts = {}
|
211
|
+
if (defined? @content) && (blks = (opts.fetch :drain, true) ? (@content.delete key) : @content[key])
|
212
|
+
blks.map {|b| b.call }.join
|
213
|
+
end
|
214
|
+
nil
|
215
|
+
end
|
216
|
+
#--
|
125
217
|
end
|
126
218
|
|
127
219
|
# More custom functions can be added in another namespace if required
|
@@ -144,6 +236,7 @@ class Asciidoctor::Revealjs::Converter < ::Asciidoctor::Converter::Base
|
|
144
236
|
basebackend "html" if respond_to? :basebackend
|
145
237
|
outfilesuffix ".html" if respond_to? :outfilesuffix
|
146
238
|
filetype "html" if respond_to? :filetype
|
239
|
+
supports_templates if respond_to? :supports_templates
|
147
240
|
|
148
241
|
delegate_backend = (opts[:delegate_backend] || "html5").to_s
|
149
242
|
factory = ::Asciidoctor::Converter::Factory
|
@@ -158,6 +251,7 @@ class Asciidoctor::Revealjs::Converter < ::Asciidoctor::Converter::Base
|
|
158
251
|
|
159
252
|
def convert(node, transform = nil, opts = {})
|
160
253
|
transform ||= node.node_name
|
254
|
+
opts ||= {}
|
161
255
|
converter = respond_to?(transform) ? self : @delegate_converter
|
162
256
|
|
163
257
|
if opts.empty?
|
@@ -167,6 +261,10 @@ class Asciidoctor::Revealjs::Converter < ::Asciidoctor::Converter::Base
|
|
167
261
|
end
|
168
262
|
end
|
169
263
|
|
264
|
+
def handles?(transform)
|
265
|
+
respond_to?("convert_#{transform}") || respond_to?(transform)
|
266
|
+
end
|
267
|
+
|
170
268
|
#----------------- Begin of generated transformation methods -----------------#
|
171
269
|
|
172
270
|
|
@@ -343,11 +441,13 @@ class Asciidoctor::Revealjs::Converter < ::Asciidoctor::Converter::Base
|
|
343
441
|
end
|
344
442
|
end
|
345
443
|
|
346
|
-
def
|
444
|
+
def stretch_nested_elements(node, opts = {})
|
347
445
|
node.extend(Helpers)
|
348
446
|
node.instance_eval do
|
349
447
|
converter.set_local_variables(binding, opts) unless opts.empty?
|
350
|
-
_buf = ''; _buf << ("
|
448
|
+
_buf = ''; _buf << ("<script>var dom = {};\ndom.slides = document.querySelector('.reveal .slides');\n\nfunction getRemainingHeight(element, slideElement, height) {\n height = height || 0;\n if (element) {\n var newHeight, oldHeight = element.style.height;\n // Change the .stretch element height to 0 in order find the height of all\n // the other elements\n element.style.height = '0px';\n // In Overview mode, the parent (.slide) height is set of 700px.\n // Restore it temporarily to its natural height.\n slideElement.style.height = 'auto';\n newHeight = height - slideElement.offsetHeight;\n // Restore the old height, just in case\n element.style.height = oldHeight + 'px';\n // Clear the parent (.slide) height. .removeProperty works in IE9+\n slideElement.style.removeProperty('height');\n return newHeight;\n }\n return height;\n}\n\nfunction layoutSlideContents(width, height) {\n // Handle sizing of elements with the 'stretch' class\n toArray(dom.slides.querySelectorAll('section .stretch')).forEach(function (element) {\n // Determine how much vertical space we can use\n var limit = 5; // hard limit\n var parent = element.parentNode;\n while (parent.nodeName !== 'SECTION' && limit > 0) {\n parent = parent.parentNode;\n limit--;\n }\n if (limit === 0) {\n // unable to find parent, aborting!\n return;\n }\n var remainingHeight = getRemainingHeight(element, parent, height);\n // Consider the aspect ratio of media elements\n if (/(img|video)/gi.test(element.nodeName)) {\n var nw = element.naturalWidth || element.videoWidth, nh = element.naturalHeight || element.videoHeight;\n var es = Math.min(width / nw, remainingHeight / nh);\n element.style.width = (nw * es) + 'px';\n element.style.height = (nh * es) + 'px';\n } else {\n element.style.width = width + 'px';\n element.style.height = remainingHeight + 'px';\n }\n });\n}\n\nfunction toArray(o) {\n return Array.prototype.slice.call(o);\n}\n\nReveal.addEventListener('slidechanged', function () {\n layoutSlideContents(".freeze);
|
449
|
+
;
|
450
|
+
;
|
351
451
|
;
|
352
452
|
;
|
353
453
|
;
|
@@ -402,10 +502,14 @@ class Asciidoctor::Revealjs::Converter < ::Asciidoctor::Converter::Base
|
|
402
502
|
;
|
403
503
|
;
|
404
504
|
;
|
505
|
+
; _buf << ((attr 'revealjs_width', 960).to_s); _buf << (", ".freeze); _buf << ((attr 'revealjs_height', 700).to_s); _buf << (")\n});\nReveal.addEventListener('ready', function () {\n layoutSlideContents(".freeze);
|
405
506
|
;
|
406
507
|
;
|
508
|
+
; _buf << ((attr 'revealjs_width', 960).to_s); _buf << (", ".freeze); _buf << ((attr 'revealjs_height', 700).to_s); _buf << (")\n});\nReveal.addEventListener('resize', function () {\n layoutSlideContents(".freeze);
|
407
509
|
;
|
408
510
|
;
|
511
|
+
; _buf << ((attr 'revealjs_width', 960).to_s); _buf << (", ".freeze); _buf << ((attr 'revealjs_height', 700).to_s); _buf << (")\n});</script>".freeze);
|
512
|
+
;
|
409
513
|
; _buf
|
410
514
|
end
|
411
515
|
end
|
@@ -429,10 +533,10 @@ class Asciidoctor::Revealjs::Converter < ::Asciidoctor::Converter::Base
|
|
429
533
|
;
|
430
534
|
; _buf << ("<div".freeze); _temple_html_attributeremover1 = ''; _temple_html_attributemerger1 = []; _temple_html_attributemerger1[0] = "imageblock"; _temple_html_attributemerger1[1] = ''; _slim_codeattributes1 = roles; if Array === _slim_codeattributes1; _slim_codeattributes1 = _slim_codeattributes1.flatten; _slim_codeattributes1.map!(&:to_s); _slim_codeattributes1.reject!(&:empty?); _temple_html_attributemerger1[1] << ((_slim_codeattributes1.join(" ")).to_s); else; _temple_html_attributemerger1[1] << ((_slim_codeattributes1).to_s); end; _temple_html_attributemerger1[1]; _temple_html_attributeremover1 << ((_temple_html_attributemerger1.reject(&:empty?).join(" ")).to_s); _temple_html_attributeremover1; if !_temple_html_attributeremover1.empty?; _buf << (" class=\"".freeze); _buf << ((_temple_html_attributeremover1).to_s); _buf << ("\"".freeze); end; _slim_codeattributes2 = @id; if _slim_codeattributes2; if _slim_codeattributes2 == true; _buf << (" id".freeze); else; _buf << (" id=\"".freeze); _buf << ((_slim_codeattributes2).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes3 = [("text-align: #{attr :align}" if attr? :align),("float: #{attr :float}" if attr? :float)].compact.join('; '); if _slim_codeattributes3; if _slim_codeattributes3 == true; _buf << (" style".freeze); else; _buf << (" style=\"".freeze); _buf << ((_slim_codeattributes3).to_s); _buf << ("\"".freeze); end; end; _buf << (">".freeze);
|
431
535
|
; if attr? :link;
|
432
|
-
; _buf << ("<a class=\"image\"".freeze); _slim_codeattributes4 = (attr :link); if _slim_codeattributes4; if _slim_codeattributes4 == true; _buf << (" href".freeze); else; _buf << (" href=\"".freeze); _buf << ((_slim_codeattributes4).to_s); _buf << ("\"".freeze); end; end; _buf << ("><img".freeze);
|
433
|
-
;
|
536
|
+
; _buf << ("<a class=\"image\"".freeze); _slim_codeattributes4 = (attr :link); if _slim_codeattributes4; if _slim_codeattributes4 == true; _buf << (" href".freeze); else; _buf << (" href=\"".freeze); _buf << ((_slim_codeattributes4).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes5 = (attr :window); if _slim_codeattributes5; if _slim_codeattributes5 == true; _buf << (" target".freeze); else; _buf << (" target=\"".freeze); _buf << ((_slim_codeattributes5).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes6 = (bool_data_attr :link_preview); if _slim_codeattributes6; if _slim_codeattributes6 == true; _buf << (" data-preview-link".freeze); else; _buf << (" data-preview-link=\"".freeze); _buf << ((_slim_codeattributes6).to_s); _buf << ("\"".freeze); end; end; _buf << ("><img".freeze);
|
537
|
+
; _slim_codeattributes7 = image_uri(attr :target); if _slim_codeattributes7; if _slim_codeattributes7 == true; _buf << (" src".freeze); else; _buf << (" src=\"".freeze); _buf << ((_slim_codeattributes7).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes8 = (attr :alt); if _slim_codeattributes8; if _slim_codeattributes8 == true; _buf << (" alt".freeze); else; _buf << (" alt=\"".freeze); _buf << ((_slim_codeattributes8).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes9 = (width); if _slim_codeattributes9; if _slim_codeattributes9 == true; _buf << (" width".freeze); else; _buf << (" width=\"".freeze); _buf << ((_slim_codeattributes9).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes10 = (height); if _slim_codeattributes10; if _slim_codeattributes10 == true; _buf << (" height".freeze); else; _buf << (" height=\"".freeze); _buf << ((_slim_codeattributes10).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes11 = ((attr? :background) ? "background: #{attr :background}" : nil); if _slim_codeattributes11; if _slim_codeattributes11 == true; _buf << (" style".freeze); else; _buf << (" style=\"".freeze); _buf << ((_slim_codeattributes11).to_s); _buf << ("\"".freeze); end; end; _buf << ("></a>".freeze);
|
434
538
|
; else;
|
435
|
-
; _buf << ("<img".freeze);
|
539
|
+
; _buf << ("<img".freeze); _slim_codeattributes12 = image_uri(attr :target); if _slim_codeattributes12; if _slim_codeattributes12 == true; _buf << (" src".freeze); else; _buf << (" src=\"".freeze); _buf << ((_slim_codeattributes12).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes13 = (attr :alt); if _slim_codeattributes13; if _slim_codeattributes13 == true; _buf << (" alt".freeze); else; _buf << (" alt=\"".freeze); _buf << ((_slim_codeattributes13).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes14 = (width); if _slim_codeattributes14; if _slim_codeattributes14 == true; _buf << (" width".freeze); else; _buf << (" width=\"".freeze); _buf << ((_slim_codeattributes14).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes15 = (height); if _slim_codeattributes15; if _slim_codeattributes15 == true; _buf << (" height".freeze); else; _buf << (" height=\"".freeze); _buf << ((_slim_codeattributes15).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes16 = ((attr? :background) ? "background: #{attr :background}" : nil); if _slim_codeattributes16; if _slim_codeattributes16 == true; _buf << (" style".freeze); else; _buf << (" style=\"".freeze); _buf << ((_slim_codeattributes16).to_s); _buf << ("\"".freeze); end; end; _buf << (">".freeze);
|
436
540
|
; end; _buf << ("</div>".freeze); if title?;
|
437
541
|
; _buf << ("<div class=\"title\">".freeze); _buf << ((captioned_title).to_s);
|
438
542
|
; _buf << ("</div>".freeze); end; end; _buf
|
@@ -567,10 +671,14 @@ class Asciidoctor::Revealjs::Converter < ::Asciidoctor::Converter::Base
|
|
567
671
|
node.instance_eval do
|
568
672
|
converter.set_local_variables(binding, opts) unless opts.empty?
|
569
673
|
_buf = ''; _buf << ("<!DOCTYPE html><html".freeze);
|
570
|
-
; _slim_codeattributes1 = (attr :lang, 'en' unless attr? :nolang); if _slim_codeattributes1; if _slim_codeattributes1 == true; _buf << (" lang".freeze); else; _buf << (" lang=\"".freeze); _buf << ((_slim_codeattributes1).to_s); _buf << ("\"".freeze); end; end; _buf << ("><head><meta charset=\"utf-8\">".freeze);
|
674
|
+
; _slim_codeattributes1 = (attr :lang, 'en' unless attr? :nolang); if _slim_codeattributes1; if _slim_codeattributes1 == true; _buf << (" lang".freeze); else; _buf << (" lang=\"".freeze); _buf << ((_slim_codeattributes1).to_s); _buf << ("\"".freeze); end; end; _buf << ("><head><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui\"><title>".freeze);
|
675
|
+
;
|
676
|
+
;
|
677
|
+
;
|
571
678
|
;
|
679
|
+
; _buf << (((doctitle sanitize: true, use_fallback: true)).to_s);
|
572
680
|
;
|
573
|
-
; if RUBY_ENGINE == 'opal' && JAVASCRIPT_PLATFORM == 'node';
|
681
|
+
; _buf << ("</title>".freeze); if RUBY_ENGINE == 'opal' && JAVASCRIPT_PLATFORM == 'node';
|
574
682
|
; revealjsdir = (attr :revealjsdir, 'node_modules/reveal.js');
|
575
683
|
; else;
|
576
684
|
; revealjsdir = (attr :revealjsdir, 'reveal.js');
|
@@ -581,74 +689,15 @@ class Asciidoctor::Revealjs::Converter < ::Asciidoctor::Converter::Base
|
|
581
689
|
; if attr? key;
|
582
690
|
; _buf << ("<meta".freeze); _slim_codeattributes2 = key; if _slim_codeattributes2; if _slim_codeattributes2 == true; _buf << (" name".freeze); else; _buf << (" name=\"".freeze); _buf << ((_slim_codeattributes2).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes3 = (attr key); if _slim_codeattributes3; if _slim_codeattributes3 == true; _buf << (" content".freeze); else; _buf << (" content=\"".freeze); _buf << ((_slim_codeattributes3).to_s); _buf << ("\"".freeze); end; end; _buf << (">".freeze);
|
583
691
|
; end; end; linkcss = (attr? 'linkcss');
|
584
|
-
; _buf << ("<
|
585
|
-
; _buf << (
|
692
|
+
; _buf << ("<link rel=\"stylesheet\" href=\"".freeze); _buf << ((revealjsdir).to_s); _buf << ("/css/reset.css\"><link rel=\"stylesheet\" href=\"".freeze);
|
693
|
+
; _buf << ((revealjsdir).to_s); _buf << ("/css/reveal.css\">".freeze);
|
586
694
|
;
|
587
695
|
;
|
588
|
-
; _buf << ((revealjsdir).to_s); _buf << ("/css/reveal.css\" rel=\"stylesheet\">".freeze);
|
589
|
-
;
|
590
696
|
; if attr? :revealjs_customtheme;
|
591
697
|
; _buf << ("<link rel=\"stylesheet\"".freeze); _slim_codeattributes4 = (attr :revealjs_customtheme); if _slim_codeattributes4; if _slim_codeattributes4 == true; _buf << (" href".freeze); else; _buf << (" href=\"".freeze); _buf << ((_slim_codeattributes4).to_s); _buf << ("\"".freeze); end; end; _buf << (" id=\"theme\">".freeze);
|
592
698
|
; else;
|
593
699
|
; _buf << ("<link rel=\"stylesheet\" href=\"".freeze); _buf << ((revealjsdir).to_s); _buf << ("/css/theme/".freeze); _buf << ((attr 'revealjs_theme', 'black').to_s); _buf << (".css\" id=\"theme\">".freeze);
|
594
|
-
; end; _buf << ("<!--This CSS is generated by the Asciidoctor
|
595
|
-
;
|
596
|
-
;
|
597
|
-
;
|
598
|
-
;
|
599
|
-
;
|
600
|
-
;
|
601
|
-
;
|
602
|
-
;
|
603
|
-
;
|
604
|
-
;
|
605
|
-
;
|
606
|
-
;
|
607
|
-
;
|
608
|
-
;
|
609
|
-
;
|
610
|
-
;
|
611
|
-
;
|
612
|
-
;
|
613
|
-
;
|
614
|
-
;
|
615
|
-
;
|
616
|
-
;
|
617
|
-
;
|
618
|
-
;
|
619
|
-
;
|
620
|
-
;
|
621
|
-
;
|
622
|
-
;
|
623
|
-
;
|
624
|
-
;
|
625
|
-
;
|
626
|
-
;
|
627
|
-
;
|
628
|
-
;
|
629
|
-
;
|
630
|
-
;
|
631
|
-
;
|
632
|
-
;
|
633
|
-
;
|
634
|
-
;
|
635
|
-
;
|
636
|
-
;
|
637
|
-
;
|
638
|
-
;
|
639
|
-
;
|
640
|
-
;
|
641
|
-
;
|
642
|
-
;
|
643
|
-
;
|
644
|
-
;
|
645
|
-
;
|
646
|
-
;
|
647
|
-
;
|
648
|
-
;
|
649
|
-
;
|
650
|
-
;
|
651
|
-
;
|
700
|
+
; end; _buf << ("<!--This CSS is generated by the Asciidoctor reveal.js converter to further integrate AsciiDoc's existing semantic with reveal.js--><style type=\"text/css\">.reveal div.right{float:right}\n\n/* listing block */\n.reveal .listingblock.stretch>.content{height: 100%}\n.reveal .listingblock.stretch>.content>pre{height: 100%}\n.reveal .listingblock.stretch>.content>pre>code{height:100%;max-height:100%}\n\n/* tables */\ntable{border-collapse:collapse;border-spacing:0}\ntable{margin-bottom:1.25em;border:solid 1px #dedede}\ntable 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}\ntable tr th,table tr td{padding:.5625em .625em;font-size:inherit}\ntable 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}\ntd.tableblock>.content{margin-bottom:1.25em}\ntd.tableblock>.content>:last-child{margin-bottom:-1.25em}\ntable.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede}\ntable.grid-all>thead>tr>.tableblock,table.grid-all>tbody>tr>.tableblock{border-width:0 1px 1px 0}\ntable.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0}\ntable.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0}\ntable.grid-rows>thead>tr>.tableblock,table.grid-rows>tbody>tr>.tableblock{border-width:0 0 1px}\ntable.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0}\ntable.grid-all>*>tr>.tableblock:last-child,table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0}\ntable.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}\ntable.frame-all{border-width:1px}\ntable.frame-sides{border-width:0 1px}\ntable.frame-topbot,table.frame-ends{border-width:1px 0}\n.reveal table th.halign-left,.reveal table td.halign-left{text-align:left}\n.reveal table th.halign-right,.reveal table td.halign-right{text-align:right}\n.reveal table th.halign-center,.reveal table td.halign-center{text-align:center}\n.reveal table th.valign-top,.reveal table td.valign-top{vertical-align:top}\n.reveal table th.valign-bottom,.reveal table td.valign-bottom{vertical-align:bottom}\n.reveal table th.valign-middle,.reveal table td.valign-middle{vertical-align:middle}\ntable thead th,table tfoot th{font-weight:bold}\ntbody tr th{display:table-cell;line-height:1.6}\ntbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{font-weight:bold}\nthead{display:table-header-group}\n\n.reveal table.grid-none th,.reveal table.grid-none td{border-bottom:0!important}\n\n/* kbd macro */\nkbd{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}\n.keyseq kbd:first-child{margin-left:0}\n.keyseq kbd:last-child{margin-right:0}\n\n/* callouts */\n.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}\n.conum[data-value] *{color:#fff!important}\n.conum[data-value]+b{display:none}\n.conum[data-value]:after{content:attr(data-value)}\npre .conum[data-value]{position:relative;top:-.125em}\nb.conum *{color:inherit!important}\n.conum:not([data-value]):empty{display:none}\n/* Callout list */\n.hdlist>table,.colist>table{border:0;background:none}\n.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none}\ntd.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em}\ntd.hdlist1{font-weight:bold;padding-bottom:1.25em}\n/* Disabled from Asciidoctor CSS because it caused callout list to go under the\n * source listing when .stretch is applied (see #335)\n * .literalblock+.colist,.listingblock+.colist{margin-top:-.5em} */\n.colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top}\n.colist td:not([class]):first-child img{max-width:none}\n.colist td:not([class]):last-child{padding:.25em 0}\n\n/* Override Asciidoctor CSS that causes issues with reveal.js features */\n.reveal .hljs table{border: 0}\n/* Callout list rows would have a bottom border with some reveal.js themes (see #335) */\n.reveal .colist>table th, .reveal .colist>table td {border-bottom:0}\n/* Fixes line height with Highlight.js source listing when linenums enabled (see #331) */\n.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}\n\n/* Columns layout */\n.columns .slide-content {\n display: flex;\n}\n\n.columns.wrap .slide-content {\n flex-wrap: wrap;\n}\n\n.columns.is-vcentered .slide-content {\n align-items: center;\n}\n\n.columns .slide-content > .column {\n display: block;\n flex-basis: 0;\n flex-grow: 1;\n flex-shrink: 1;\n padding: .75rem;\n}\n\n.columns .slide-content > .column.is-full {\n flex: none;\n width: 100%;\n}\n\n.columns .slide-content > .column.is-four-fifths {\n flex: none;\n width: 80%;\n}\n\n.columns .slide-content > .column.is-three-quarters {\n flex: none;\n width: 75%;\n}\n\n.columns .slide-content > .column.is-two-thirds {\n flex: none;\n width: 66.6666%;\n}\n\n.columns .slide-content > .column.is-three-fifths {\n flex: none;\n width: 60%;\n}\n\n.columns .slide-content > .column.is-half {\n flex: none;\n width: 50%;\n}\n\n.columns .slide-content > .column.is-two-fifths {\n flex: none;\n width: 40%;\n}\n\n.columns .slide-content > .column.is-one-third {\n flex: none;\n width: 33.3333%;\n}\n\n.columns .slide-content > .column.is-one-quarter {\n flex: none;\n width: 25%;\n}\n\n.columns .slide-content > .column.is-one-fifth {\n flex: none;\n width: 20%;\n}\n</style>".freeze);
|
652
701
|
;
|
653
702
|
;
|
654
703
|
; if attr? :icons, 'font';
|
@@ -681,23 +730,26 @@ class Asciidoctor::Revealjs::Converter < ::Asciidoctor::Converter::Base
|
|
681
730
|
; if syntax_hl && (syntax_hl.docinfo? :head);
|
682
731
|
; _buf << ((syntax_hl.docinfo :head, self, cdn_base_url: cdn_base, linkcss: linkcss, self_closing_tag_slash: '/').to_s);
|
683
732
|
;
|
684
|
-
; end; _buf << ("
|
733
|
+
; end; _buf << ("<!--Printing and PDF exports--><script>var link = document.createElement( 'link' );\nlink.rel = 'stylesheet';\nlink.type = 'text/css';\nlink.href = window.location.search.match( /print-pdf/gi ) ? \"".freeze);
|
685
734
|
;
|
686
735
|
;
|
687
736
|
;
|
688
|
-
; _buf << ((revealjsdir).to_s); _buf << ("/css/print/pdf.css\" : \"".freeze); _buf << ((revealjsdir).to_s); _buf << ("/css/print/paper.css\";\ndocument.getElementsByTagName( 'head' )[0].appendChild( link );</script><!--[if lt IE 9]><script src=\"".freeze);
|
689
737
|
;
|
738
|
+
; _buf << ((revealjsdir).to_s); _buf << ("/css/print/pdf.css\" : \"".freeze); _buf << ((revealjsdir).to_s); _buf << ("/css/print/paper.css\";\ndocument.getElementsByTagName( 'head' )[0].appendChild( link );</script>".freeze);
|
690
739
|
;
|
691
|
-
;
|
692
|
-
;
|
693
|
-
; _buf << ((docinfo_content).to_s);
|
694
|
-
; end; if attr? :customcss;
|
740
|
+
;
|
741
|
+
; if attr? :customcss;
|
695
742
|
; _buf << ("<link rel=\"stylesheet\"".freeze); _slim_codeattributes8 = ((customcss = attr :customcss).empty? ? 'asciidoctor-revealjs.css' : customcss); if _slim_codeattributes8; if _slim_codeattributes8 == true; _buf << (" href".freeze); else; _buf << (" href=\"".freeze); _buf << ((_slim_codeattributes8).to_s); _buf << ("\"".freeze); end; end; _buf << (">".freeze);
|
743
|
+
; end; unless (_docinfo = docinfo :head, '-revealjs.html').empty?;
|
744
|
+
; _buf << ((_docinfo).to_s);
|
696
745
|
; end; _buf << ("</head><body><div class=\"reveal\"><div class=\"slides\">".freeze);
|
697
746
|
;
|
698
747
|
;
|
699
748
|
;
|
700
|
-
; unless
|
749
|
+
; unless noheader;
|
750
|
+
; unless (_docinfo = docinfo :header, '-revealjs.html').empty?;
|
751
|
+
; _buf << ((_docinfo).to_s);
|
752
|
+
; end; if header?;
|
701
753
|
; bg_image = (attr? 'title-slide-background-image') ? (image_uri(attr 'title-slide-background-image')) : nil;
|
702
754
|
; bg_video = (attr? 'title-slide-background-video') ? (media_uri(attr 'title-slide-background-video')) : nil;
|
703
755
|
;
|
@@ -715,7 +767,7 @@ class Asciidoctor::Revealjs::Converter < ::Asciidoctor::Converter::Base
|
|
715
767
|
;
|
716
768
|
;
|
717
769
|
;
|
718
|
-
; _buf << ("<section".freeze); _temple_html_attributeremover1 = ''; _temple_html_attributemerger1 = []; _temple_html_attributemerger1[0] = "title"; _temple_html_attributemerger1[1] = ''; _slim_codeattributes9 = role; if Array === _slim_codeattributes9; _slim_codeattributes9 = _slim_codeattributes9.flatten; _slim_codeattributes9.map!(&:to_s); _slim_codeattributes9.reject!(&:empty?); _temple_html_attributemerger1[1] << ((_slim_codeattributes9.join(" ")).to_s); else; _temple_html_attributemerger1[1] << ((_slim_codeattributes9).to_s); end; _temple_html_attributemerger1[1]; _temple_html_attributeremover1 << ((_temple_html_attributemerger1.reject(&:empty?).join(" ")).to_s); _temple_html_attributeremover1; if !_temple_html_attributeremover1.empty?; _buf << (" class=\"".freeze); _buf << ((_temple_html_attributeremover1).to_s); _buf << ("\"".freeze); end; _buf << (" data-state=\"title\"".freeze); _slim_codeattributes10 = (attr 'title-slide-transition'); if _slim_codeattributes10; if _slim_codeattributes10 == true; _buf << (" data-transition".freeze); else; _buf << (" data-transition=\"".freeze); _buf << ((_slim_codeattributes10).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes11 = (attr 'title-slide-transition-speed'); if _slim_codeattributes11; if _slim_codeattributes11 == true; _buf << (" data-transition-speed".freeze); else; _buf << (" data-transition-speed=\"".freeze); _buf << ((_slim_codeattributes11).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes12 = (attr 'title-slide-background'); if _slim_codeattributes12; if _slim_codeattributes12 == true; _buf << (" data-background".freeze); else; _buf << (" data-background=\"".freeze); _buf << ((_slim_codeattributes12).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes13 = (attr 'title-slide-background-size'); if _slim_codeattributes13; if _slim_codeattributes13 == true; _buf << (" data-background-size".freeze); else; _buf << (" data-background-size=\"".freeze); _buf << ((_slim_codeattributes13).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes14 = bg_image; if _slim_codeattributes14; if _slim_codeattributes14 == true; _buf << (" data-background-image".freeze); else; _buf << (" data-background-image=\"".freeze); _buf << ((_slim_codeattributes14).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes15 = bg_video; if _slim_codeattributes15; if _slim_codeattributes15 == true; _buf << (" data-background-video".freeze); else; _buf << (" data-background-video=\"".freeze); _buf << ((_slim_codeattributes15).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes16 = (attr 'title-slide-background-video-loop'); if _slim_codeattributes16; if _slim_codeattributes16 == true; _buf << (" data-background-video-loop".freeze); else; _buf << (" data-background-video-loop=\"".freeze); _buf << ((_slim_codeattributes16).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes17 = (attr 'title-slide-background-video-muted'); if _slim_codeattributes17; if _slim_codeattributes17 == true; _buf << (" data-background-video-muted".freeze); else; _buf << (" data-background-video-muted=\"".freeze); _buf << ((_slim_codeattributes17).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes18 = (attr
|
770
|
+
; _buf << ("<section".freeze); _temple_html_attributeremover1 = ''; _temple_html_attributemerger1 = []; _temple_html_attributemerger1[0] = "title"; _temple_html_attributemerger1[1] = ''; _slim_codeattributes9 = role; if Array === _slim_codeattributes9; _slim_codeattributes9 = _slim_codeattributes9.flatten; _slim_codeattributes9.map!(&:to_s); _slim_codeattributes9.reject!(&:empty?); _temple_html_attributemerger1[1] << ((_slim_codeattributes9.join(" ")).to_s); else; _temple_html_attributemerger1[1] << ((_slim_codeattributes9).to_s); end; _temple_html_attributemerger1[1]; _temple_html_attributeremover1 << ((_temple_html_attributemerger1.reject(&:empty?).join(" ")).to_s); _temple_html_attributeremover1; if !_temple_html_attributeremover1.empty?; _buf << (" class=\"".freeze); _buf << ((_temple_html_attributeremover1).to_s); _buf << ("\"".freeze); end; _buf << (" data-state=\"title\"".freeze); _slim_codeattributes10 = (attr 'title-slide-transition'); if _slim_codeattributes10; if _slim_codeattributes10 == true; _buf << (" data-transition".freeze); else; _buf << (" data-transition=\"".freeze); _buf << ((_slim_codeattributes10).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes11 = (attr 'title-slide-transition-speed'); if _slim_codeattributes11; if _slim_codeattributes11 == true; _buf << (" data-transition-speed".freeze); else; _buf << (" data-transition-speed=\"".freeze); _buf << ((_slim_codeattributes11).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes12 = (attr 'title-slide-background'); if _slim_codeattributes12; if _slim_codeattributes12 == true; _buf << (" data-background".freeze); else; _buf << (" data-background=\"".freeze); _buf << ((_slim_codeattributes12).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes13 = (attr 'title-slide-background-size'); if _slim_codeattributes13; if _slim_codeattributes13 == true; _buf << (" data-background-size".freeze); else; _buf << (" data-background-size=\"".freeze); _buf << ((_slim_codeattributes13).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes14 = bg_image; if _slim_codeattributes14; if _slim_codeattributes14 == true; _buf << (" data-background-image".freeze); else; _buf << (" data-background-image=\"".freeze); _buf << ((_slim_codeattributes14).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes15 = bg_video; if _slim_codeattributes15; if _slim_codeattributes15 == true; _buf << (" data-background-video".freeze); else; _buf << (" data-background-video=\"".freeze); _buf << ((_slim_codeattributes15).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes16 = (attr 'title-slide-background-video-loop'); if _slim_codeattributes16; if _slim_codeattributes16 == true; _buf << (" data-background-video-loop".freeze); else; _buf << (" data-background-video-loop=\"".freeze); _buf << ((_slim_codeattributes16).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes17 = (attr 'title-slide-background-video-muted'); if _slim_codeattributes17; if _slim_codeattributes17 == true; _buf << (" data-background-video-muted".freeze); else; _buf << (" data-background-video-muted=\"".freeze); _buf << ((_slim_codeattributes17).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes18 = (attr 'title-slide-background-opacity'); if _slim_codeattributes18; if _slim_codeattributes18 == true; _buf << (" data-background-opacity".freeze); else; _buf << (" data-background-opacity=\"".freeze); _buf << ((_slim_codeattributes18).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes19 = (attr 'title-slide-background-iframe'); if _slim_codeattributes19; if _slim_codeattributes19 == true; _buf << (" data-background-iframe".freeze); else; _buf << (" data-background-iframe=\"".freeze); _buf << ((_slim_codeattributes19).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes20 = (attr 'title-slide-background-color'); if _slim_codeattributes20; if _slim_codeattributes20 == true; _buf << (" data-background-color".freeze); else; _buf << (" data-background-color=\"".freeze); _buf << ((_slim_codeattributes20).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes21 = (attr 'title-slide-background-repeat'); if _slim_codeattributes21; if _slim_codeattributes21 == true; _buf << (" data-background-repeat".freeze); else; _buf << (" data-background-repeat=\"".freeze); _buf << ((_slim_codeattributes21).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes22 = (attr 'title-slide-background-position'); if _slim_codeattributes22; if _slim_codeattributes22 == true; _buf << (" data-background-position".freeze); else; _buf << (" data-background-position=\"".freeze); _buf << ((_slim_codeattributes22).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes23 = (attr 'title-slide-background-transition'); if _slim_codeattributes23; if _slim_codeattributes23 == true; _buf << (" data-background-transition".freeze); else; _buf << (" data-background-transition=\"".freeze); _buf << ((_slim_codeattributes23).to_s); _buf << ("\"".freeze); end; end; _buf << (">".freeze);
|
719
771
|
; if (_title_obj = doctitle partition: true, use_fallback: true).subtitle?;
|
720
772
|
; _buf << ("<h1>".freeze); _buf << ((slice_text _title_obj.title, (_slice = header.option? :slice)).to_s);
|
721
773
|
; _buf << ("</h1><h2>".freeze); _buf << ((slice_text _title_obj.subtitle, _slice).to_s);
|
@@ -726,9 +778,14 @@ class Asciidoctor::Revealjs::Converter < ::Asciidoctor::Converter::Base
|
|
726
778
|
; _buf << ("<div class=\"preamble\">".freeze); _buf << ((preamble.pop.content).to_s);
|
727
779
|
; _buf << ("</div>".freeze); end; unless author.nil?;
|
728
780
|
; _buf << ("<p class=\"author\"><small>".freeze); _buf << ((author).to_s);
|
729
|
-
; _buf << ("</small></p>".freeze); end; _buf << ("</section>".freeze);
|
730
|
-
;
|
731
|
-
;
|
781
|
+
; _buf << ("</small></p>".freeze); end; _buf << ("</section>".freeze);
|
782
|
+
; end; end; _buf << ((content).to_s);
|
783
|
+
; unless (_docinfo = docinfo :footer, '-revealjs.html').empty?;
|
784
|
+
; _buf << ((_docinfo).to_s);
|
785
|
+
; end; _buf << ("</div></div><script src=\"".freeze); _buf << ((revealjsdir).to_s); _buf << ("/js/reveal.js\"></script><script>Array.prototype.slice.call(document.querySelectorAll('.slides section')).forEach(function(slide) {\n if (slide.getAttribute('data-background-color')) return;\n // user needs to explicitly say he wants CSS color to override otherwise we might break custom css or theme (#226)\n if (!(slide.classList.contains('canvas') || slide.classList.contains('background'))) return;\n var bgColor = getComputedStyle(slide).backgroundColor;\n if (bgColor !== 'rgba(0, 0, 0, 0)' && bgColor !== 'transparent') {\n slide.setAttribute('data-background-color', bgColor);\n slide.style.backgroundColor = 'transparent';\n }\n});\n\n// More info about config & dependencies:\n// - https://github.com/hakimel/reveal.js#configuration\n// - https://github.com/hakimel/reveal.js#dependencies\nReveal.initialize({\n // Display presentation control arrows\n controls: ".freeze);
|
786
|
+
;
|
787
|
+
;
|
788
|
+
;
|
732
789
|
;
|
733
790
|
;
|
734
791
|
;
|
@@ -758,7 +815,10 @@ class Asciidoctor::Revealjs::Converter < ::Asciidoctor::Converter::Base
|
|
758
815
|
;
|
759
816
|
; _buf << ((to_valid_slidenumber(attr 'revealjs_slidenumber', false)).to_s); _buf << (",\n // Control which views the slide number displays on\n showSlideNumber: '".freeze);
|
760
817
|
;
|
761
|
-
; _buf << ((attr 'revealjs_showslidenumber', 'all').to_s); _buf << ("',\n //
|
818
|
+
; _buf << ((attr 'revealjs_showslidenumber', 'all').to_s); _buf << ("',\n // Add the current slide number to the URL hash so that reloading the\n // page/copying the URL will return you to the same slide\n hash: ".freeze);
|
819
|
+
;
|
820
|
+
;
|
821
|
+
; _buf << ((to_boolean(attr 'revealjs_hash', false)).to_s); _buf << (",\n // Push each slide change to the browser history. Implies `hash: true`\n history: ".freeze);
|
762
822
|
;
|
763
823
|
; _buf << ((to_boolean(attr 'revealjs_history', false)).to_s); _buf << (",\n // Enable keyboard shortcuts for navigation\n keyboard: ".freeze);
|
764
824
|
;
|
@@ -772,7 +832,9 @@ class Asciidoctor::Revealjs::Converter < ::Asciidoctor::Converter::Base
|
|
772
832
|
;
|
773
833
|
; _buf << ((to_boolean(attr 'revealjs_loop', false)).to_s); _buf << (",\n // Change the presentation direction to be RTL\n rtl: ".freeze);
|
774
834
|
;
|
775
|
-
; _buf << ((to_boolean(attr 'revealjs_rtl', false)).to_s); _buf << (",\n //
|
835
|
+
; _buf << ((to_boolean(attr 'revealjs_rtl', false)).to_s); _buf << (",\n // See https://github.com/hakimel/reveal.js/#navigation-mode\n navigationMode: '".freeze);
|
836
|
+
;
|
837
|
+
; _buf << ((attr 'revealjs_navigationmode', 'default').to_s); _buf << ("',\n // Randomizes the order of slides each time the presentation loads\n shuffle: ".freeze);
|
776
838
|
;
|
777
839
|
; _buf << ((to_boolean(attr 'revealjs_shuffle', false)).to_s); _buf << (",\n // Turns fragments on and off globally\n fragments: ".freeze);
|
778
840
|
;
|
@@ -792,7 +854,13 @@ class Asciidoctor::Revealjs::Converter < ::Asciidoctor::Converter::Base
|
|
792
854
|
;
|
793
855
|
;
|
794
856
|
;
|
795
|
-
; _buf << ((attr 'revealjs_autoplaymedia', 'null').to_s); _buf << (",\n //
|
857
|
+
; _buf << ((attr 'revealjs_autoplaymedia', 'null').to_s); _buf << (",\n // Global override for preloading lazy-loaded iframes\n // - null: Iframes with data-src AND data-preload will be loaded when within\n // the viewDistance, iframes with only data-src will be loaded when visible\n // - true: All iframes with data-src will be loaded when within the viewDistance\n // - false: All iframes with data-src will be loaded only when visible\n preloadIframes: ".freeze);
|
858
|
+
;
|
859
|
+
;
|
860
|
+
;
|
861
|
+
;
|
862
|
+
;
|
863
|
+
; _buf << ((attr 'revealjs_preloadiframes', 'null').to_s); _buf << (",\n // Number of milliseconds between automatically proceeding to the\n // next slide, disabled when set to 0, this value can be overwritten\n // by using a data-autoslide attribute on your slides\n autoSlide: ".freeze);
|
796
864
|
;
|
797
865
|
;
|
798
866
|
;
|
@@ -804,9 +872,24 @@ class Asciidoctor::Revealjs::Converter < ::Asciidoctor::Converter::Base
|
|
804
872
|
;
|
805
873
|
;
|
806
874
|
;
|
807
|
-
; _buf << ((attr 'revealjs_defaulttiming', 120).to_s); _buf << (",\n //
|
875
|
+
; _buf << ((attr 'revealjs_defaulttiming', 120).to_s); _buf << (",\n // Specify the total time in seconds that is available to\n // present. If this is set to a nonzero value, the pacing\n // timer will work out the time available for each slide,\n // instead of using the defaultTiming value\n totalTime: ".freeze);
|
808
876
|
;
|
809
|
-
;
|
877
|
+
;
|
878
|
+
;
|
879
|
+
;
|
880
|
+
; _buf << ((attr 'revealjs_totaltime', 0).to_s); _buf << (",\n // Specify the minimum amount of time you want to allot to\n // each slide, if using the totalTime calculation method. If\n // the automated time allocation causes slide pacing to fall\n // below this threshold, then you will see an alert in the\n // speaker notes window\n minimumTimePerSlide: ".freeze);
|
881
|
+
;
|
882
|
+
;
|
883
|
+
;
|
884
|
+
;
|
885
|
+
;
|
886
|
+
; _buf << ((attr 'revealjs_minimumtimeperslide', 0).to_s); _buf << (",\n // Enable slide navigation via mouse wheel\n mouseWheel: ".freeze);
|
887
|
+
;
|
888
|
+
; _buf << ((to_boolean(attr 'revealjs_mousewheel', false)).to_s); _buf << (",\n // Hide cursor if inactive\n hideInactiveCursor: ".freeze);
|
889
|
+
;
|
890
|
+
; _buf << ((to_boolean(attr 'revealjs_hideinactivecursor', true)).to_s); _buf << (",\n // Time before the cursor is hidden (in ms)\n hideCursorTime: ".freeze);
|
891
|
+
;
|
892
|
+
; _buf << ((attr 'revealjs_hidecursortime', 5000).to_s); _buf << (",\n // Hides the address bar on mobile devices\n hideAddressBar: ".freeze);
|
810
893
|
;
|
811
894
|
; _buf << ((to_boolean(attr 'revealjs_hideaddressbar', true)).to_s); _buf << (",\n // Opens links in an iframe preview overlay\n // Add `data-preview-link` and `data-preview-link=\"false\"` to customise each link\n // individually\n previewLinks: ".freeze);
|
812
895
|
;
|
@@ -820,7 +903,11 @@ class Asciidoctor::Revealjs::Converter < ::Asciidoctor::Converter::Base
|
|
820
903
|
;
|
821
904
|
; _buf << ((attr 'revealjs_backgroundtransition', 'fade').to_s); _buf << ("',\n // Number of slides away from the current that are visible\n viewDistance: ".freeze);
|
822
905
|
;
|
823
|
-
; _buf << ((attr 'revealjs_viewdistance', 3).to_s); _buf << (",\n //
|
906
|
+
; _buf << ((attr 'revealjs_viewdistance', 3).to_s); _buf << (",\n // Number of slides away from the current that are visible on mobile\n // devices. It is advisable to set this to a lower number than\n // viewDistance in order to save resources.\n mobileViewDistance: ".freeze);
|
907
|
+
;
|
908
|
+
;
|
909
|
+
;
|
910
|
+
; _buf << ((attr 'revealjs_mobileviewdistance', 3).to_s); _buf << (",\n // Parallax background image (e.g., \"'https://s3.amazonaws.com/hakim-static/reveal-js/reveal-parallax-1.jpg'\")\n parallaxBackgroundImage: '".freeze);
|
824
911
|
;
|
825
912
|
; _buf << ((attr 'revealjs_parallaxbackgroundimage', '').to_s); _buf << ("',\n // Parallax background size in CSS syntax (e.g., \"2100px 900px\")\n parallaxBackgroundSize: '".freeze);
|
826
913
|
;
|
@@ -850,22 +937,83 @@ class Asciidoctor::Revealjs::Converter < ::Asciidoctor::Converter::Base
|
|
850
937
|
;
|
851
938
|
; _buf << ((to_boolean(attr 'revealjs_pdfseparatefragments', true)).to_s); _buf << (",\n // For slides that do not fit on a page, max number of pages\n pdfMaxPagesPerSlide: ".freeze);
|
852
939
|
;
|
853
|
-
; _buf << ((attr 'revealjs_pdfmaxpagesperslide', 1).to_s); _buf << (",\n\n // Optional libraries used to extend on reveal.js\n dependencies: [\n
|
940
|
+
; _buf << ((attr 'revealjs_pdfmaxpagesperslide', 1).to_s); _buf << (",\n\n // Optional libraries used to extend on reveal.js\n dependencies: [\n ".freeze);
|
854
941
|
;
|
855
942
|
;
|
856
943
|
;
|
857
|
-
; _buf << ((
|
858
|
-
; _buf << (((document.attr? 'source-highlighter', 'highlightjs') ? "{ src: '#{revealjsdir}/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }," : nil).to_s);
|
859
|
-
; _buf << ("\n ".freeze); _buf << (((attr? 'revealjs_plugin_zoom', 'disabled') ? "" : "{ src: '#{revealjsdir}/plugin/zoom-js/zoom.js', async: true }," ).to_s);
|
860
|
-
; _buf << ("\n ".freeze); _buf << (((attr? 'revealjs_plugin_notes', 'disabled') ? "" : "{ src: '#{revealjsdir}/plugin/notes/notes.js', async: true }," ).to_s);
|
861
|
-
; _buf << ("\n ".freeze); _buf << (((attr? 'revealjs_plugin_marked', 'enabled') ? "{ src: '#{revealjsdir}/plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } }," : "" ).to_s);
|
862
|
-
; _buf << ("\n ".freeze); _buf << (((attr? 'revealjs_plugin_markdown', 'enabled') ? "{ src: '#{revealjsdir}/plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } }," : "" ).to_s);
|
863
|
-
; _buf << ("\n ".freeze); _buf << (((attr? 'revealjs_plugin_pdf', 'enabled') ? "{ src: '#{revealjsdir}/plugin/print-pdf/print-pdf.js', async: true }," : "" ).to_s);
|
864
|
-
; _buf << ("\n ".freeze); _buf << (((attr? 'revealjs_plugins') ? File.read(attr('revealjs_plugins', '')) : "").to_s);
|
944
|
+
; _buf << ((revealjs_dependencies(document, self, revealjsdir)).to_s);
|
865
945
|
; _buf << ("\n ],\n\n ".freeze);
|
866
946
|
;
|
867
947
|
; _buf << (((attr? 'revealjs_plugins_configuration') ? File.read(attr('revealjs_plugins_configuration', '')) : "").to_s);
|
868
|
-
; _buf << ("\n\n});</script>".freeze);
|
948
|
+
; _buf << ("\n\n});</script><script>var dom = {};\ndom.slides = document.querySelector('.reveal .slides');\n\nfunction getRemainingHeight(element, slideElement, height) {\n height = height || 0;\n if (element) {\n var newHeight, oldHeight = element.style.height;\n // Change the .stretch element height to 0 in order find the height of all\n // the other elements\n element.style.height = '0px';\n // In Overview mode, the parent (.slide) height is set of 700px.\n // Restore it temporarily to its natural height.\n slideElement.style.height = 'auto';\n newHeight = height - slideElement.offsetHeight;\n // Restore the old height, just in case\n element.style.height = oldHeight + 'px';\n // Clear the parent (.slide) height. .removeProperty works in IE9+\n slideElement.style.removeProperty('height');\n return newHeight;\n }\n return height;\n}\n\nfunction layoutSlideContents(width, height) {\n // Handle sizing of elements with the 'stretch' class\n toArray(dom.slides.querySelectorAll('section .stretch')).forEach(function (element) {\n // Determine how much vertical space we can use\n var limit = 5; // hard limit\n var parent = element.parentNode;\n while (parent.nodeName !== 'SECTION' && limit > 0) {\n parent = parent.parentNode;\n limit--;\n }\n if (limit === 0) {\n // unable to find parent, aborting!\n return;\n }\n var remainingHeight = getRemainingHeight(element, parent, height);\n // Consider the aspect ratio of media elements\n if (/(img|video)/gi.test(element.nodeName)) {\n var nw = element.naturalWidth || element.videoWidth, nh = element.naturalHeight || element.videoHeight;\n var es = Math.min(width / nw, remainingHeight / nh);\n element.style.width = (nw * es) + 'px';\n element.style.height = (nh * es) + 'px';\n } else {\n element.style.width = width + 'px';\n element.style.height = remainingHeight + 'px';\n }\n });\n}\n\nfunction toArray(o) {\n return Array.prototype.slice.call(o);\n}\n\nReveal.addEventListener('slidechanged', function () {\n layoutSlideContents(".freeze);
|
949
|
+
;
|
950
|
+
;
|
951
|
+
;
|
952
|
+
;
|
953
|
+
;
|
954
|
+
;
|
955
|
+
;
|
956
|
+
;
|
957
|
+
;
|
958
|
+
;
|
959
|
+
;
|
960
|
+
;
|
961
|
+
;
|
962
|
+
;
|
963
|
+
;
|
964
|
+
;
|
965
|
+
;
|
966
|
+
;
|
967
|
+
;
|
968
|
+
;
|
969
|
+
;
|
970
|
+
;
|
971
|
+
;
|
972
|
+
;
|
973
|
+
;
|
974
|
+
;
|
975
|
+
;
|
976
|
+
;
|
977
|
+
;
|
978
|
+
;
|
979
|
+
;
|
980
|
+
;
|
981
|
+
;
|
982
|
+
;
|
983
|
+
;
|
984
|
+
;
|
985
|
+
;
|
986
|
+
;
|
987
|
+
;
|
988
|
+
;
|
989
|
+
;
|
990
|
+
;
|
991
|
+
;
|
992
|
+
;
|
993
|
+
;
|
994
|
+
;
|
995
|
+
;
|
996
|
+
;
|
997
|
+
;
|
998
|
+
;
|
999
|
+
;
|
1000
|
+
;
|
1001
|
+
;
|
1002
|
+
;
|
1003
|
+
;
|
1004
|
+
;
|
1005
|
+
;
|
1006
|
+
;
|
1007
|
+
;
|
1008
|
+
;
|
1009
|
+
; _buf << ((attr 'revealjs_width', 960).to_s); _buf << (", ".freeze); _buf << ((attr 'revealjs_height', 700).to_s); _buf << (")\n});\nReveal.addEventListener('ready', function () {\n layoutSlideContents(".freeze);
|
1010
|
+
;
|
1011
|
+
;
|
1012
|
+
; _buf << ((attr 'revealjs_width', 960).to_s); _buf << (", ".freeze); _buf << ((attr 'revealjs_height', 700).to_s); _buf << (")\n});\nReveal.addEventListener('resize', function () {\n layoutSlideContents(".freeze);
|
1013
|
+
;
|
1014
|
+
;
|
1015
|
+
; _buf << ((attr 'revealjs_width', 960).to_s); _buf << (", ".freeze); _buf << ((attr 'revealjs_height', 700).to_s); _buf << (")\n});</script>".freeze);
|
1016
|
+
;
|
869
1017
|
;
|
870
1018
|
; if syntax_hl && (syntax_hl.docinfo? :footer);
|
871
1019
|
; _buf << ((syntax_hl.docinfo :footer, self, cdn_base_url: cdn_base, linkcss: linkcss, self_closing_tag_slash: '/').to_s);
|
@@ -911,23 +1059,23 @@ class Asciidoctor::Revealjs::Converter < ::Asciidoctor::Converter::Base
|
|
911
1059
|
; style_class << "fa-rotate-#{attr :rotate}" if attr? :rotate;
|
912
1060
|
; style_class << "fa-flip-#{attr :flip}" if attr? :flip;
|
913
1061
|
; if attr? :link;
|
914
|
-
; _buf << ("<a class=\"image\"".freeze); _slim_codeattributes3 = (attr :link); if _slim_codeattributes3; if _slim_codeattributes3 == true; _buf << (" href".freeze); else; _buf << (" href=\"".freeze); _buf << ((_slim_codeattributes3).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes4 = (attr :window); if _slim_codeattributes4; if _slim_codeattributes4 == true; _buf << (" target".freeze); else; _buf << (" target=\"".freeze); _buf << ((_slim_codeattributes4).to_s); _buf << ("\"".freeze); end; end; _buf << ("><i".freeze);
|
915
|
-
; _temple_html_attributeremover2 = '';
|
1062
|
+
; _buf << ("<a class=\"image\"".freeze); _slim_codeattributes3 = (attr :link); if _slim_codeattributes3; if _slim_codeattributes3 == true; _buf << (" href".freeze); else; _buf << (" href=\"".freeze); _buf << ((_slim_codeattributes3).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes4 = (attr :window); if _slim_codeattributes4; if _slim_codeattributes4 == true; _buf << (" target".freeze); else; _buf << (" target=\"".freeze); _buf << ((_slim_codeattributes4).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes5 = (bool_data_attr :link_preview); if _slim_codeattributes5; if _slim_codeattributes5 == true; _buf << (" data-preview-link".freeze); else; _buf << (" data-preview-link=\"".freeze); _buf << ((_slim_codeattributes5).to_s); _buf << ("\"".freeze); end; end; _buf << ("><i".freeze);
|
1063
|
+
; _temple_html_attributeremover2 = ''; _slim_codeattributes6 = style_class; if Array === _slim_codeattributes6; _slim_codeattributes6 = _slim_codeattributes6.flatten; _slim_codeattributes6.map!(&:to_s); _slim_codeattributes6.reject!(&:empty?); _temple_html_attributeremover2 << ((_slim_codeattributes6.join(" ")).to_s); else; _temple_html_attributeremover2 << ((_slim_codeattributes6).to_s); end; _temple_html_attributeremover2; if !_temple_html_attributeremover2.empty?; _buf << (" class=\"".freeze); _buf << ((_temple_html_attributeremover2).to_s); _buf << ("\"".freeze); end; _slim_codeattributes7 = (attr :title); if _slim_codeattributes7; if _slim_codeattributes7 == true; _buf << (" title".freeze); else; _buf << (" title=\"".freeze); _buf << ((_slim_codeattributes7).to_s); _buf << ("\"".freeze); end; end; _buf << ("></i></a>".freeze);
|
916
1064
|
; else;
|
917
|
-
; _buf << ("<i".freeze); _temple_html_attributeremover3 = '';
|
1065
|
+
; _buf << ("<i".freeze); _temple_html_attributeremover3 = ''; _slim_codeattributes8 = style_class; if Array === _slim_codeattributes8; _slim_codeattributes8 = _slim_codeattributes8.flatten; _slim_codeattributes8.map!(&:to_s); _slim_codeattributes8.reject!(&:empty?); _temple_html_attributeremover3 << ((_slim_codeattributes8.join(" ")).to_s); else; _temple_html_attributeremover3 << ((_slim_codeattributes8).to_s); end; _temple_html_attributeremover3; if !_temple_html_attributeremover3.empty?; _buf << (" class=\"".freeze); _buf << ((_temple_html_attributeremover3).to_s); _buf << ("\"".freeze); end; _slim_codeattributes9 = (attr :title); if _slim_codeattributes9; if _slim_codeattributes9 == true; _buf << (" title".freeze); else; _buf << (" title=\"".freeze); _buf << ((_slim_codeattributes9).to_s); _buf << ("\"".freeze); end; end; _buf << ("></i>".freeze);
|
918
1066
|
; end; elsif @type == 'icon' && !(@document.attr? :icons);
|
919
1067
|
; if attr? :link;
|
920
|
-
; _buf << ("<a class=\"image\"".freeze);
|
1068
|
+
; _buf << ("<a class=\"image\"".freeze); _slim_codeattributes10 = (attr :link); if _slim_codeattributes10; if _slim_codeattributes10 == true; _buf << (" href".freeze); else; _buf << (" href=\"".freeze); _buf << ((_slim_codeattributes10).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes11 = (attr :window); if _slim_codeattributes11; if _slim_codeattributes11 == true; _buf << (" target".freeze); else; _buf << (" target=\"".freeze); _buf << ((_slim_codeattributes11).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes12 = (bool_data_attr :link_preview); if _slim_codeattributes12; if _slim_codeattributes12 == true; _buf << (" data-preview-link".freeze); else; _buf << (" data-preview-link=\"".freeze); _buf << ((_slim_codeattributes12).to_s); _buf << ("\"".freeze); end; end; _buf << (">[".freeze);
|
921
1069
|
; _buf << ((attr :alt).to_s); _buf << ("]</a>".freeze);
|
922
1070
|
; else;
|
923
1071
|
; _buf << ("[".freeze); _buf << ((attr :alt).to_s); _buf << ("]".freeze);
|
924
1072
|
; end; else;
|
925
1073
|
; src = (@type == 'icon' ? (icon_uri @target) : (image_uri @target));
|
926
1074
|
; if attr? :link;
|
927
|
-
; _buf << ("<a class=\"image\"".freeze);
|
928
|
-
;
|
1075
|
+
; _buf << ("<a class=\"image\"".freeze); _slim_codeattributes13 = (attr :link); if _slim_codeattributes13; if _slim_codeattributes13 == true; _buf << (" href".freeze); else; _buf << (" href=\"".freeze); _buf << ((_slim_codeattributes13).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes14 = (attr :window); if _slim_codeattributes14; if _slim_codeattributes14 == true; _buf << (" target".freeze); else; _buf << (" target=\"".freeze); _buf << ((_slim_codeattributes14).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes15 = (bool_data_attr :link_preview); if _slim_codeattributes15; if _slim_codeattributes15 == true; _buf << (" data-preview-link".freeze); else; _buf << (" data-preview-link=\"".freeze); _buf << ((_slim_codeattributes15).to_s); _buf << ("\"".freeze); end; end; _buf << ("><img".freeze);
|
1076
|
+
; _slim_codeattributes16 = src; if _slim_codeattributes16; if _slim_codeattributes16 == true; _buf << (" src".freeze); else; _buf << (" src=\"".freeze); _buf << ((_slim_codeattributes16).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes17 = (attr :alt); if _slim_codeattributes17; if _slim_codeattributes17 == true; _buf << (" alt".freeze); else; _buf << (" alt=\"".freeze); _buf << ((_slim_codeattributes17).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes18 = (attr :width); if _slim_codeattributes18; if _slim_codeattributes18 == true; _buf << (" width".freeze); else; _buf << (" width=\"".freeze); _buf << ((_slim_codeattributes18).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes19 = (attr :height); if _slim_codeattributes19; if _slim_codeattributes19 == true; _buf << (" height".freeze); else; _buf << (" height=\"".freeze); _buf << ((_slim_codeattributes19).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes20 = (attr :title); if _slim_codeattributes20; if _slim_codeattributes20 == true; _buf << (" title".freeze); else; _buf << (" title=\"".freeze); _buf << ((_slim_codeattributes20).to_s); _buf << ("\"".freeze); end; end; _buf << ("></a>".freeze);
|
929
1077
|
; else;
|
930
|
-
; _buf << ("<img".freeze);
|
1078
|
+
; _buf << ("<img".freeze); _slim_codeattributes21 = src; if _slim_codeattributes21; if _slim_codeattributes21 == true; _buf << (" src".freeze); else; _buf << (" src=\"".freeze); _buf << ((_slim_codeattributes21).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes22 = (attr :alt); if _slim_codeattributes22; if _slim_codeattributes22 == true; _buf << (" alt".freeze); else; _buf << (" alt=\"".freeze); _buf << ((_slim_codeattributes22).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes23 = (attr :width); if _slim_codeattributes23; if _slim_codeattributes23 == true; _buf << (" width".freeze); else; _buf << (" width=\"".freeze); _buf << ((_slim_codeattributes23).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes24 = (attr :height); if _slim_codeattributes24; if _slim_codeattributes24 == true; _buf << (" height".freeze); else; _buf << (" height=\"".freeze); _buf << ((_slim_codeattributes24).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes25 = (attr :title); if _slim_codeattributes25; if _slim_codeattributes25 == true; _buf << (" title".freeze); else; _buf << (" title=\"".freeze); _buf << ((_slim_codeattributes25).to_s); _buf << ("\"".freeze); end; end; _buf << (">".freeze);
|
931
1079
|
; end; end; _buf << ("</span>".freeze); _buf
|
932
1080
|
end
|
933
1081
|
end
|
@@ -1019,6 +1167,42 @@ class Asciidoctor::Revealjs::Converter < ::Asciidoctor::Converter::Base
|
|
1019
1167
|
end
|
1020
1168
|
end
|
1021
1169
|
|
1170
|
+
def title_slide(node, opts = {})
|
1171
|
+
node.extend(Helpers)
|
1172
|
+
node.instance_eval do
|
1173
|
+
converter.set_local_variables(binding, opts) unless opts.empty?
|
1174
|
+
_buf = ''; bg_image = (attr? 'title-slide-background-image') ? (image_uri(attr 'title-slide-background-image')) : nil;
|
1175
|
+
; bg_video = (attr? 'title-slide-background-video') ? (media_uri(attr 'title-slide-background-video')) : nil;
|
1176
|
+
;
|
1177
|
+
;
|
1178
|
+
;
|
1179
|
+
;
|
1180
|
+
;
|
1181
|
+
;
|
1182
|
+
;
|
1183
|
+
;
|
1184
|
+
;
|
1185
|
+
;
|
1186
|
+
;
|
1187
|
+
;
|
1188
|
+
;
|
1189
|
+
;
|
1190
|
+
;
|
1191
|
+
; _buf << ("<section".freeze); _temple_html_attributeremover1 = ''; _temple_html_attributemerger1 = []; _temple_html_attributemerger1[0] = "title"; _temple_html_attributemerger1[1] = ''; _slim_codeattributes1 = role; if Array === _slim_codeattributes1; _slim_codeattributes1 = _slim_codeattributes1.flatten; _slim_codeattributes1.map!(&:to_s); _slim_codeattributes1.reject!(&:empty?); _temple_html_attributemerger1[1] << ((_slim_codeattributes1.join(" ")).to_s); else; _temple_html_attributemerger1[1] << ((_slim_codeattributes1).to_s); end; _temple_html_attributemerger1[1]; _temple_html_attributeremover1 << ((_temple_html_attributemerger1.reject(&:empty?).join(" ")).to_s); _temple_html_attributeremover1; if !_temple_html_attributeremover1.empty?; _buf << (" class=\"".freeze); _buf << ((_temple_html_attributeremover1).to_s); _buf << ("\"".freeze); end; _buf << (" data-state=\"title\"".freeze); _slim_codeattributes2 = (attr 'title-slide-transition'); if _slim_codeattributes2; if _slim_codeattributes2 == true; _buf << (" data-transition".freeze); else; _buf << (" data-transition=\"".freeze); _buf << ((_slim_codeattributes2).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes3 = (attr 'title-slide-transition-speed'); if _slim_codeattributes3; if _slim_codeattributes3 == true; _buf << (" data-transition-speed".freeze); else; _buf << (" data-transition-speed=\"".freeze); _buf << ((_slim_codeattributes3).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes4 = (attr 'title-slide-background'); if _slim_codeattributes4; if _slim_codeattributes4 == true; _buf << (" data-background".freeze); else; _buf << (" data-background=\"".freeze); _buf << ((_slim_codeattributes4).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes5 = (attr 'title-slide-background-size'); if _slim_codeattributes5; if _slim_codeattributes5 == true; _buf << (" data-background-size".freeze); else; _buf << (" data-background-size=\"".freeze); _buf << ((_slim_codeattributes5).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes6 = bg_image; if _slim_codeattributes6; if _slim_codeattributes6 == true; _buf << (" data-background-image".freeze); else; _buf << (" data-background-image=\"".freeze); _buf << ((_slim_codeattributes6).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes7 = bg_video; if _slim_codeattributes7; if _slim_codeattributes7 == true; _buf << (" data-background-video".freeze); else; _buf << (" data-background-video=\"".freeze); _buf << ((_slim_codeattributes7).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes8 = (attr 'title-slide-background-video-loop'); if _slim_codeattributes8; if _slim_codeattributes8 == true; _buf << (" data-background-video-loop".freeze); else; _buf << (" data-background-video-loop=\"".freeze); _buf << ((_slim_codeattributes8).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes9 = (attr 'title-slide-background-video-muted'); if _slim_codeattributes9; if _slim_codeattributes9 == true; _buf << (" data-background-video-muted".freeze); else; _buf << (" data-background-video-muted=\"".freeze); _buf << ((_slim_codeattributes9).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes10 = (attr 'title-slide-background-opacity'); if _slim_codeattributes10; if _slim_codeattributes10 == true; _buf << (" data-background-opacity".freeze); else; _buf << (" data-background-opacity=\"".freeze); _buf << ((_slim_codeattributes10).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes11 = (attr 'title-slide-background-iframe'); if _slim_codeattributes11; if _slim_codeattributes11 == true; _buf << (" data-background-iframe".freeze); else; _buf << (" data-background-iframe=\"".freeze); _buf << ((_slim_codeattributes11).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes12 = (attr 'title-slide-background-color'); if _slim_codeattributes12; if _slim_codeattributes12 == true; _buf << (" data-background-color".freeze); else; _buf << (" data-background-color=\"".freeze); _buf << ((_slim_codeattributes12).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes13 = (attr 'title-slide-background-repeat'); if _slim_codeattributes13; if _slim_codeattributes13 == true; _buf << (" data-background-repeat".freeze); else; _buf << (" data-background-repeat=\"".freeze); _buf << ((_slim_codeattributes13).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes14 = (attr 'title-slide-background-position'); if _slim_codeattributes14; if _slim_codeattributes14 == true; _buf << (" data-background-position".freeze); else; _buf << (" data-background-position=\"".freeze); _buf << ((_slim_codeattributes14).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes15 = (attr 'title-slide-background-transition'); if _slim_codeattributes15; if _slim_codeattributes15 == true; _buf << (" data-background-transition".freeze); else; _buf << (" data-background-transition=\"".freeze); _buf << ((_slim_codeattributes15).to_s); _buf << ("\"".freeze); end; end; _buf << (">".freeze);
|
1192
|
+
; if (_title_obj = doctitle partition: true, use_fallback: true).subtitle?;
|
1193
|
+
; _buf << ("<h1>".freeze); _buf << ((slice_text _title_obj.title, (_slice = header.option? :slice)).to_s);
|
1194
|
+
; _buf << ("</h1><h2>".freeze); _buf << ((slice_text _title_obj.subtitle, _slice).to_s);
|
1195
|
+
; _buf << ("</h2>".freeze); else;
|
1196
|
+
; _buf << ("<h1>".freeze); _buf << ((@header.title).to_s);
|
1197
|
+
; _buf << ("</h1>".freeze); end; preamble = @document.find_by context: :preamble;
|
1198
|
+
; unless preamble.nil? or preamble.length == 0;
|
1199
|
+
; _buf << ("<div class=\"preamble\">".freeze); _buf << ((preamble.pop.content).to_s);
|
1200
|
+
; _buf << ("</div>".freeze); end; unless author.nil?;
|
1201
|
+
; _buf << ("<p class=\"author\"><small>".freeze); _buf << ((author).to_s);
|
1202
|
+
; _buf << ("</small></p>".freeze); end; _buf << ("</section>".freeze); _buf
|
1203
|
+
end
|
1204
|
+
end
|
1205
|
+
|
1022
1206
|
def sidebar(node, opts = {})
|
1023
1207
|
node.extend(Helpers)
|
1024
1208
|
node.instance_eval do
|
@@ -1058,8 +1242,8 @@ class Asciidoctor::Revealjs::Converter < ::Asciidoctor::Converter::Base
|
|
1058
1242
|
node.instance_eval do
|
1059
1243
|
converter.set_local_variables(binding, opts) unless opts.empty?
|
1060
1244
|
_buf = ''; nowrap = (option? 'nowrap') || !(document.attr? 'prewrap');
|
1061
|
-
; syntax_hl = document.syntax_highlighter;
|
1062
1245
|
; if @style == 'source';
|
1246
|
+
; syntax_hl = document.syntax_highlighter;
|
1063
1247
|
; lang = attr :language;
|
1064
1248
|
; if syntax_hl;
|
1065
1249
|
; doc_attrs = document.attributes;
|
@@ -1135,10 +1319,9 @@ class Asciidoctor::Revealjs::Converter < ::Asciidoctor::Converter::Base
|
|
1135
1319
|
; end; if attr? 'background-color';
|
1136
1320
|
; data_background_color = attr 'background-color';
|
1137
1321
|
;
|
1322
|
+
; end; parent_section_with_vertical_slides = @level == 1 && !vertical_slides.empty?;
|
1138
1323
|
;
|
1139
|
-
;
|
1140
|
-
; end; if @level == 1 && !vertical_slides.empty?;
|
1141
|
-
; _buf << ("<section><section".freeze);
|
1324
|
+
; content_for :section do;
|
1142
1325
|
;
|
1143
1326
|
;
|
1144
1327
|
;
|
@@ -1154,14 +1337,25 @@ class Asciidoctor::Revealjs::Converter < ::Asciidoctor::Converter::Base
|
|
1154
1337
|
;
|
1155
1338
|
;
|
1156
1339
|
;
|
1157
|
-
;
|
1158
|
-
; _slim_codeattributes1 = (titleless ? nil : id); if _slim_codeattributes1; if _slim_codeattributes1 == true; _buf << (" id".freeze); else; _buf << (" id=\"".freeze); _buf << ((_slim_codeattributes1).to_s); _buf << ("\"".freeze); end; end; _temple_html_attributeremover1 = ''; _slim_codeattributes2 = roles; if Array === _slim_codeattributes2; _slim_codeattributes2 = _slim_codeattributes2.flatten; _slim_codeattributes2.map!(&:to_s); _slim_codeattributes2.reject!(&:empty?); _temple_html_attributeremover1 << ((_slim_codeattributes2.join(" ")).to_s); else; _temple_html_attributeremover1 << ((_slim_codeattributes2).to_s); end; _temple_html_attributeremover1; if !_temple_html_attributeremover1.empty?; _buf << (" class=\"".freeze); _buf << ((_temple_html_attributeremover1).to_s); _buf << ("\"".freeze); end; _slim_codeattributes3 = (attr 'transition'); if _slim_codeattributes3; if _slim_codeattributes3 == true; _buf << (" data-transition".freeze); else; _buf << (" data-transition=\"".freeze); _buf << ((_slim_codeattributes3).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes4 = (attr 'transition-speed'); if _slim_codeattributes4; if _slim_codeattributes4 == true; _buf << (" data-transition-speed".freeze); else; _buf << (" data-transition-speed=\"".freeze); _buf << ((_slim_codeattributes4).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes5 = data_background_color; if _slim_codeattributes5; if _slim_codeattributes5 == true; _buf << (" data-background-color".freeze); else; _buf << (" data-background-color=\"".freeze); _buf << ((_slim_codeattributes5).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes6 = data_background_image; if _slim_codeattributes6; if _slim_codeattributes6 == true; _buf << (" data-background-image".freeze); else; _buf << (" data-background-image=\"".freeze); _buf << ((_slim_codeattributes6).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes7 = (data_background_size || attr('background-size')); if _slim_codeattributes7; if _slim_codeattributes7 == true; _buf << (" data-background-size".freeze); else; _buf << (" data-background-size=\"".freeze); _buf << ((_slim_codeattributes7).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes8 = (data_background_repeat || attr('background-repeat')); if _slim_codeattributes8; if _slim_codeattributes8 == true; _buf << (" data-background-repeat".freeze); else; _buf << (" data-background-repeat=\"".freeze); _buf << ((_slim_codeattributes8).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes9 = (data_background_transition || attr('background-transition')); if _slim_codeattributes9; if _slim_codeattributes9 == true; _buf << (" data-background-transition".freeze); else; _buf << (" data-background-transition=\"".freeze); _buf << ((_slim_codeattributes9).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes10 = (data_background_position || attr('background-position')); if _slim_codeattributes10; if _slim_codeattributes10 == true; _buf << (" data-background-position".freeze); else; _buf << (" data-background-position=\"".freeze); _buf << ((_slim_codeattributes10).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes11 = (attr "background-iframe"); if _slim_codeattributes11; if _slim_codeattributes11 == true; _buf << (" data-background-iframe".freeze); else; _buf << (" data-background-iframe=\"".freeze); _buf << ((_slim_codeattributes11).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes12 = (attr "background-video"); if _slim_codeattributes12; if _slim_codeattributes12 == true; _buf << (" data-background-video".freeze); else; _buf << (" data-background-video=\"".freeze); _buf << ((_slim_codeattributes12).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes13 = ((attr? 'background-video-loop') || (option? 'loop')); if _slim_codeattributes13; if _slim_codeattributes13 == true; _buf << (" data-background-video-loop".freeze); else; _buf << (" data-background-video-loop=\"".freeze); _buf << ((_slim_codeattributes13).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes14 = ((attr? 'background-video-muted') || (option? 'muted')); if _slim_codeattributes14; if _slim_codeattributes14 == true; _buf << (" data-background-video-muted".freeze); else; _buf << (" data-background-video-muted=\"".freeze); _buf << ((_slim_codeattributes14).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes15 = (attr "background-opacity"); if _slim_codeattributes15; if _slim_codeattributes15 == true; _buf << (" data-background-opacity".freeze); else; _buf << (" data-background-opacity=\"".freeze); _buf << ((_slim_codeattributes15).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes16 = (attr 'state'); if _slim_codeattributes16; if _slim_codeattributes16 == true; _buf << (" data-state".freeze); else; _buf << (" data-state=\"".freeze); _buf << ((_slim_codeattributes16).to_s); _buf << ("\"".freeze); end; end; _buf << (">".freeze);
|
1159
|
-
;
|
1340
|
+
; _buf << ("<section".freeze); _slim_codeattributes1 = (titleless ? nil : id); if _slim_codeattributes1; if _slim_codeattributes1 == true; _buf << (" id".freeze); else; _buf << (" id=\"".freeze); _buf << ((_slim_codeattributes1).to_s); _buf << ("\"".freeze); end; end; _temple_html_attributeremover1 = ''; _slim_codeattributes2 = roles; if Array === _slim_codeattributes2; _slim_codeattributes2 = _slim_codeattributes2.flatten; _slim_codeattributes2.map!(&:to_s); _slim_codeattributes2.reject!(&:empty?); _temple_html_attributeremover1 << ((_slim_codeattributes2.join(" ")).to_s); else; _temple_html_attributeremover1 << ((_slim_codeattributes2).to_s); end; _temple_html_attributeremover1; if !_temple_html_attributeremover1.empty?; _buf << (" class=\"".freeze); _buf << ((_temple_html_attributeremover1).to_s); _buf << ("\"".freeze); end; _slim_codeattributes3 = (attr 'transition'); if _slim_codeattributes3; if _slim_codeattributes3 == true; _buf << (" data-transition".freeze); else; _buf << (" data-transition=\"".freeze); _buf << ((_slim_codeattributes3).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes4 = (attr 'transition-speed'); if _slim_codeattributes4; if _slim_codeattributes4 == true; _buf << (" data-transition-speed".freeze); else; _buf << (" data-transition-speed=\"".freeze); _buf << ((_slim_codeattributes4).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes5 = data_background_color; if _slim_codeattributes5; if _slim_codeattributes5 == true; _buf << (" data-background-color".freeze); else; _buf << (" data-background-color=\"".freeze); _buf << ((_slim_codeattributes5).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes6 = data_background_image; if _slim_codeattributes6; if _slim_codeattributes6 == true; _buf << (" data-background-image".freeze); else; _buf << (" data-background-image=\"".freeze); _buf << ((_slim_codeattributes6).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes7 = (data_background_size || attr('background-size')); if _slim_codeattributes7; if _slim_codeattributes7 == true; _buf << (" data-background-size".freeze); else; _buf << (" data-background-size=\"".freeze); _buf << ((_slim_codeattributes7).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes8 = (data_background_repeat || attr('background-repeat')); if _slim_codeattributes8; if _slim_codeattributes8 == true; _buf << (" data-background-repeat".freeze); else; _buf << (" data-background-repeat=\"".freeze); _buf << ((_slim_codeattributes8).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes9 = (data_background_transition || attr('background-transition')); if _slim_codeattributes9; if _slim_codeattributes9 == true; _buf << (" data-background-transition".freeze); else; _buf << (" data-background-transition=\"".freeze); _buf << ((_slim_codeattributes9).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes10 = (data_background_position || attr('background-position')); if _slim_codeattributes10; if _slim_codeattributes10 == true; _buf << (" data-background-position".freeze); else; _buf << (" data-background-position=\"".freeze); _buf << ((_slim_codeattributes10).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes11 = (attr "background-iframe"); if _slim_codeattributes11; if _slim_codeattributes11 == true; _buf << (" data-background-iframe".freeze); else; _buf << (" data-background-iframe=\"".freeze); _buf << ((_slim_codeattributes11).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes12 = (attr "background-video"); if _slim_codeattributes12; if _slim_codeattributes12 == true; _buf << (" data-background-video".freeze); else; _buf << (" data-background-video=\"".freeze); _buf << ((_slim_codeattributes12).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes13 = ((attr? 'background-video-loop') || (option? 'loop')); if _slim_codeattributes13; if _slim_codeattributes13 == true; _buf << (" data-background-video-loop".freeze); else; _buf << (" data-background-video-loop=\"".freeze); _buf << ((_slim_codeattributes13).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes14 = ((attr? 'background-video-muted') || (option? 'muted')); if _slim_codeattributes14; if _slim_codeattributes14 == true; _buf << (" data-background-video-muted".freeze); else; _buf << (" data-background-video-muted=\"".freeze); _buf << ((_slim_codeattributes14).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes15 = (attr "background-opacity"); if _slim_codeattributes15; if _slim_codeattributes15 == true; _buf << (" data-background-opacity".freeze); else; _buf << (" data-background-opacity=\"".freeze); _buf << ((_slim_codeattributes15).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes16 = (attr 'state'); if _slim_codeattributes16; if _slim_codeattributes16 == true; _buf << (" data-state".freeze); else; _buf << (" data-state=\"".freeze); _buf << ((_slim_codeattributes16).to_s); _buf << ("\"".freeze); end; end; _buf << (">".freeze);
|
1160
1341
|
; unless hide_title;
|
1161
|
-
; _buf << ("<h2>".freeze); _buf << ((
|
1162
|
-
; _buf << ("</h2>".freeze); end;
|
1342
|
+
; _buf << ("<h2>".freeze); _buf << ((section_title).to_s);
|
1343
|
+
; _buf << ("</h2>".freeze); end; if parent_section_with_vertical_slides;
|
1344
|
+
; unless (_blocks = blocks - vertical_slides).empty?;
|
1345
|
+
; _buf << ("<div class=\"slide-content\">".freeze);
|
1346
|
+
; _blocks.each do |block|;
|
1163
1347
|
; _buf << ((block.convert).to_s);
|
1164
|
-
; end; _buf << ("</
|
1348
|
+
; end; _buf << ("</div>".freeze); end; else;
|
1349
|
+
; unless (_content = content.chomp).empty?;
|
1350
|
+
; _buf << ("<div class=\"slide-content\">".freeze);
|
1351
|
+
; _buf << ((_content).to_s);
|
1352
|
+
;
|
1353
|
+
; _buf << ("</div>".freeze); end; end; _buf << ("</section>".freeze);
|
1354
|
+
;
|
1355
|
+
; end; if parent_section_with_vertical_slides;
|
1356
|
+
; _buf << ("<section>".freeze);
|
1357
|
+
; yield_content :section;
|
1358
|
+
; vertical_slides.each do |subsection|;
|
1165
1359
|
; _buf << ((subsection.convert).to_s);
|
1166
1360
|
;
|
1167
1361
|
; end; _buf << ("</section>".freeze);
|
@@ -1171,27 +1365,8 @@ class Asciidoctor::Revealjs::Converter < ::Asciidoctor::Converter::Base
|
|
1171
1365
|
; _slim_htag_filter1 = ((@level)).to_s; _buf << ("<h".freeze); _buf << ((_slim_htag_filter1).to_s); _buf << (">".freeze); _buf << ((title).to_s);
|
1172
1366
|
; _buf << ("</h".freeze); _buf << ((_slim_htag_filter1).to_s); _buf << (">".freeze); _buf << ((content.chomp).to_s);
|
1173
1367
|
; else;
|
1174
|
-
;
|
1175
|
-
;
|
1176
|
-
;
|
1177
|
-
;
|
1178
|
-
;
|
1179
|
-
;
|
1180
|
-
;
|
1181
|
-
;
|
1182
|
-
;
|
1183
|
-
;
|
1184
|
-
;
|
1185
|
-
;
|
1186
|
-
;
|
1187
|
-
;
|
1188
|
-
;
|
1189
|
-
; _buf << ("<section".freeze); _slim_codeattributes17 = (titleless ? nil : id); if _slim_codeattributes17; if _slim_codeattributes17 == true; _buf << (" id".freeze); else; _buf << (" id=\"".freeze); _buf << ((_slim_codeattributes17).to_s); _buf << ("\"".freeze); end; end; _temple_html_attributeremover2 = ''; _slim_codeattributes18 = roles; if Array === _slim_codeattributes18; _slim_codeattributes18 = _slim_codeattributes18.flatten; _slim_codeattributes18.map!(&:to_s); _slim_codeattributes18.reject!(&:empty?); _temple_html_attributeremover2 << ((_slim_codeattributes18.join(" ")).to_s); else; _temple_html_attributeremover2 << ((_slim_codeattributes18).to_s); end; _temple_html_attributeremover2; if !_temple_html_attributeremover2.empty?; _buf << (" class=\"".freeze); _buf << ((_temple_html_attributeremover2).to_s); _buf << ("\"".freeze); end; _slim_codeattributes19 = (attr 'transition'); if _slim_codeattributes19; if _slim_codeattributes19 == true; _buf << (" data-transition".freeze); else; _buf << (" data-transition=\"".freeze); _buf << ((_slim_codeattributes19).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes20 = (attr 'transition-speed'); if _slim_codeattributes20; if _slim_codeattributes20 == true; _buf << (" data-transition-speed".freeze); else; _buf << (" data-transition-speed=\"".freeze); _buf << ((_slim_codeattributes20).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes21 = data_background_color; if _slim_codeattributes21; if _slim_codeattributes21 == true; _buf << (" data-background-color".freeze); else; _buf << (" data-background-color=\"".freeze); _buf << ((_slim_codeattributes21).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes22 = data_background_image; if _slim_codeattributes22; if _slim_codeattributes22 == true; _buf << (" data-background-image".freeze); else; _buf << (" data-background-image=\"".freeze); _buf << ((_slim_codeattributes22).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes23 = (data_background_size || attr('background-size')); if _slim_codeattributes23; if _slim_codeattributes23 == true; _buf << (" data-background-size".freeze); else; _buf << (" data-background-size=\"".freeze); _buf << ((_slim_codeattributes23).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes24 = (data_background_repeat || attr('background-repeat')); if _slim_codeattributes24; if _slim_codeattributes24 == true; _buf << (" data-background-repeat".freeze); else; _buf << (" data-background-repeat=\"".freeze); _buf << ((_slim_codeattributes24).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes25 = (data_background_transition || attr('background-transition')); if _slim_codeattributes25; if _slim_codeattributes25 == true; _buf << (" data-background-transition".freeze); else; _buf << (" data-background-transition=\"".freeze); _buf << ((_slim_codeattributes25).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes26 = (data_background_position || attr('background-position')); if _slim_codeattributes26; if _slim_codeattributes26 == true; _buf << (" data-background-position".freeze); else; _buf << (" data-background-position=\"".freeze); _buf << ((_slim_codeattributes26).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes27 = (attr "background-iframe"); if _slim_codeattributes27; if _slim_codeattributes27 == true; _buf << (" data-background-iframe".freeze); else; _buf << (" data-background-iframe=\"".freeze); _buf << ((_slim_codeattributes27).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes28 = (attr "background-video"); if _slim_codeattributes28; if _slim_codeattributes28 == true; _buf << (" data-background-video".freeze); else; _buf << (" data-background-video=\"".freeze); _buf << ((_slim_codeattributes28).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes29 = ((attr? 'background-video-loop') || (option? 'loop')); if _slim_codeattributes29; if _slim_codeattributes29 == true; _buf << (" data-background-video-loop".freeze); else; _buf << (" data-background-video-loop=\"".freeze); _buf << ((_slim_codeattributes29).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes30 = ((attr? 'background-video-muted') || (option? 'muted')); if _slim_codeattributes30; if _slim_codeattributes30 == true; _buf << (" data-background-video-muted".freeze); else; _buf << (" data-background-video-muted=\"".freeze); _buf << ((_slim_codeattributes30).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes31 = (attr "background-opacity"); if _slim_codeattributes31; if _slim_codeattributes31 == true; _buf << (" data-background-opacity".freeze); else; _buf << (" data-background-opacity=\"".freeze); _buf << ((_slim_codeattributes31).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes32 = (attr 'state'); if _slim_codeattributes32; if _slim_codeattributes32 == true; _buf << (" data-state".freeze); else; _buf << (" data-state=\"".freeze); _buf << ((_slim_codeattributes32).to_s); _buf << ("\"".freeze); end; end; _buf << (">".freeze);
|
1190
|
-
;
|
1191
|
-
; unless hide_title;
|
1192
|
-
; _buf << ("<h2>".freeze); _buf << ((title).to_s);
|
1193
|
-
; _buf << ("</h2>".freeze); end; _buf << ((content.chomp).to_s);
|
1194
|
-
; _buf << ("</section>".freeze); end; end; _buf
|
1368
|
+
; yield_content :section;
|
1369
|
+
; end; end; _buf
|
1195
1370
|
end
|
1196
1371
|
end
|
1197
1372
|
|
@@ -1302,7 +1477,8 @@ class Asciidoctor::Revealjs::Converter < ::Asciidoctor::Converter::Base
|
|
1302
1477
|
; _buf << ("<a".freeze); _slim_codeattributes3 = @target; if _slim_codeattributes3; if _slim_codeattributes3 == true; _buf << (" id".freeze); else; _buf << (" id=\"".freeze); _buf << ((_slim_codeattributes3).to_s); _buf << ("\"".freeze); end; end; _buf << ("></a>[".freeze);
|
1303
1478
|
; _buf << ((@target).to_s); _buf << ("]".freeze);
|
1304
1479
|
; else;
|
1305
|
-
; _buf << ("<a".freeze); _slim_codeattributes4 = @target; if _slim_codeattributes4; if _slim_codeattributes4 == true; _buf << (" href".freeze); else; _buf << (" href=\"".freeze); _buf << ((_slim_codeattributes4).to_s); _buf << ("\"".freeze); end; end; _temple_html_attributeremover1 = ''; _slim_codeattributes5 = role; if Array === _slim_codeattributes5; _slim_codeattributes5 = _slim_codeattributes5.flatten; _slim_codeattributes5.map!(&:to_s); _slim_codeattributes5.reject!(&:empty?); _temple_html_attributeremover1 << ((_slim_codeattributes5.join(" ")).to_s); else; _temple_html_attributeremover1 << ((_slim_codeattributes5).to_s); end; _temple_html_attributeremover1; if !_temple_html_attributeremover1.empty?; _buf << (" class=\"".freeze); _buf << ((_temple_html_attributeremover1).to_s); _buf << ("\"".freeze); end; _slim_codeattributes6 = (attr :window); if _slim_codeattributes6; if _slim_codeattributes6 == true; _buf << (" target".freeze); else; _buf << (" target=\"".freeze); _buf << ((_slim_codeattributes6).to_s); _buf << ("\"".freeze); end; end; _buf << ("
|
1480
|
+
; _buf << ("<a".freeze); _slim_codeattributes4 = @target; if _slim_codeattributes4; if _slim_codeattributes4 == true; _buf << (" href".freeze); else; _buf << (" href=\"".freeze); _buf << ((_slim_codeattributes4).to_s); _buf << ("\"".freeze); end; end; _temple_html_attributeremover1 = ''; _slim_codeattributes5 = role; if Array === _slim_codeattributes5; _slim_codeattributes5 = _slim_codeattributes5.flatten; _slim_codeattributes5.map!(&:to_s); _slim_codeattributes5.reject!(&:empty?); _temple_html_attributeremover1 << ((_slim_codeattributes5.join(" ")).to_s); else; _temple_html_attributeremover1 << ((_slim_codeattributes5).to_s); end; _temple_html_attributeremover1; if !_temple_html_attributeremover1.empty?; _buf << (" class=\"".freeze); _buf << ((_temple_html_attributeremover1).to_s); _buf << ("\"".freeze); end; _slim_codeattributes6 = (attr :window); if _slim_codeattributes6; if _slim_codeattributes6 == true; _buf << (" target".freeze); else; _buf << (" target=\"".freeze); _buf << ((_slim_codeattributes6).to_s); _buf << ("\"".freeze); end; end; _slim_codeattributes7 = (bool_data_attr :preview); if _slim_codeattributes7; if _slim_codeattributes7 == true; _buf << (" data-preview-link".freeze); else; _buf << (" data-preview-link=\"".freeze); _buf << ((_slim_codeattributes7).to_s); _buf << ("\"".freeze); end; end; _buf << (">".freeze);
|
1481
|
+
; _buf << ((@text).to_s);
|
1306
1482
|
; _buf << ("</a>".freeze); end; _buf
|
1307
1483
|
end
|
1308
1484
|
end
|