asciidoctor-revealjs 3.0.0.pre.rc1 → 4.1.0.rc2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE.adoc +1 -1
- data/README.adoc +416 -64
- data/Rakefile +30 -7
- data/asciidoctor-revealjs.gemspec +6 -4
- data/bin/asciidoctor-revealjs +7 -0
- data/examples/a11y-dark.css +99 -0
- data/examples/autoslide.adoc +22 -0
- data/examples/custom-layout.adoc +10 -0
- data/examples/customcss.adoc +1 -1
- data/examples/data-attributes.adoc +245 -0
- data/examples/docinfo-footer-revealjs.html +10 -0
- data/examples/docinfo-revealjs.html +7 -0
- data/examples/font-awesome-specific-version.adoc +11 -0
- data/examples/font-awesome.adoc +23 -4
- data/examples/font-awesome.css +3 -0
- data/examples/footnotes.adoc +46 -0
- data/examples/fragments.adoc +44 -0
- data/examples/fragments.css +18 -0
- data/examples/grid-layout-3x2.adoc +50 -0
- data/examples/grid-layout-docinfo-revealjs.html +11 -0
- data/examples/grid-layout.adoc +194 -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/images/cute-cat-1.jpg +0 -0
- data/examples/images/cute-cat-2.jpg +0 -0
- data/examples/images/cute-cat-3.jpg +0 -0
- data/examples/images/flock-of-seagulls_daniel-simion.mp3 +0 -0
- data/examples/issue-grid-layout-images.adoc +25 -0
- data/examples/level-sectnums.adoc +24 -0
- data/examples/links-preview.adoc +32 -0
- data/examples/links.adoc +39 -0
- data/examples/mathjax-cdn.adoc +21 -0
- data/examples/mathjax.adoc +20 -0
- data/examples/release-4.0.adoc +192 -0
- data/examples/release-4.0.css +23 -0
- data/examples/release-4.1.adoc +133 -0
- data/examples/release-4.1.css +50 -0
- data/examples/revealjs-custom-theme.adoc +10 -0
- data/examples/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/steps.adoc +87 -0
- data/examples/text-alignments.adoc +44 -0
- data/examples/video.adoc +30 -8
- data/examples/with-docinfo-shared.adoc +13 -0
- data/lib/asciidoctor-revealjs/converter.rb +1053 -769
- data/lib/asciidoctor-revealjs/highlightjs.rb +333 -2
- data/lib/asciidoctor-revealjs/version.rb +1 -1
- data/templates/admonition.html.slim +1 -1
- data/templates/asciidoctor-compatibility.css +390 -0
- data/templates/audio.html.slim +1 -1
- data/templates/colist.html.slim +1 -1
- data/templates/dlist.html.slim +3 -3
- data/templates/document.html.slim +76 -59
- data/templates/example.html.slim +1 -1
- data/templates/helpers.rb +170 -5
- data/templates/image.html.slim +3 -3
- data/templates/inline_anchor.html.slim +6 -4
- data/templates/inline_button.html.slim +2 -1
- data/templates/inline_footnote.html.slim +11 -4
- data/templates/inline_image.html.slim +5 -8
- data/templates/inline_kbd.html.slim +3 -2
- data/templates/inline_menu.html.slim +4 -3
- data/templates/inline_quoted.html.slim +13 -21
- data/templates/listing.html.slim +15 -10
- data/templates/literal.html.slim +1 -1
- data/templates/olist.html.slim +2 -2
- data/templates/open.html.slim +3 -3
- data/templates/paragraph.html.slim +1 -1
- data/templates/quote.html.slim +1 -1
- data/templates/section.html.slim +51 -43
- data/templates/sidebar.html.slim +1 -1
- data/templates/stem.html.slim +1 -1
- data/templates/stretch_nested_elements.js.slim +65 -0
- data/templates/table.html.slim +3 -2
- data/templates/title_slide.html.slim +28 -0
- data/templates/ulist.html.slim +3 -3
- data/templates/verse.html.slim +1 -1
- data/templates/video.html.slim +14 -8
- metadata +79 -16
- data/CHANGELOG.adoc +0 -396
- data/HACKING.adoc +0 -343
- data/examples/revealjs-features.adoc +0 -23
- data/templates/asciidoctor_revealjs.css.slim +0 -59
data/Rakefile
CHANGED
@@ -4,11 +4,13 @@ require 'asciidoctor'
|
|
4
4
|
require 'asciidoctor/doctest'
|
5
5
|
require 'colorize'
|
6
6
|
require 'tilt'
|
7
|
+
require 'rake/testtask'
|
7
8
|
|
8
9
|
CONVERTER_FILE = 'lib/asciidoctor-revealjs/converter.rb'
|
9
10
|
JS_FILE = 'build/asciidoctor-reveal.js'
|
10
11
|
DIST_FILE = 'dist/main.js'
|
11
12
|
TEMPLATES_DIR = 'templates'
|
13
|
+
PUBLIC_DIR = 'public'
|
12
14
|
|
13
15
|
file CONVERTER_FILE => FileList["#{TEMPLATES_DIR}/*"] do
|
14
16
|
build_converter :fast
|
@@ -17,8 +19,7 @@ end
|
|
17
19
|
namespace :build do
|
18
20
|
desc 'Compile Slim templates and generate converter.rb'
|
19
21
|
task :converter => 'clean' do
|
20
|
-
# NOTE:
|
21
|
-
# https://github.com/erniebrodeur/ruby-beautify/issues/45
|
22
|
+
# NOTE: use :pretty if you want to debug the generated code
|
22
23
|
build_converter :fast
|
23
24
|
end
|
24
25
|
|
@@ -40,7 +41,8 @@ namespace :build do
|
|
40
41
|
mkdir_p [File.dirname(JS_FILE), File.dirname(DIST_FILE)]
|
41
42
|
File.open(JS_FILE, 'w') do |file|
|
42
43
|
template = File.read('src/asciidoctor-revealjs.tmpl.js')
|
43
|
-
|
44
|
+
template['//OPAL-GENERATED-CODE//'] = builder.to_s
|
45
|
+
file << template
|
44
46
|
end
|
45
47
|
File.binwrite "#{JS_FILE}.map", builder.source_map
|
46
48
|
|
@@ -52,6 +54,7 @@ task :build => 'build:converter'
|
|
52
54
|
|
53
55
|
task :clean do
|
54
56
|
rm_rf CONVERTER_FILE
|
57
|
+
rm_rf PUBLIC_DIR
|
55
58
|
end
|
56
59
|
|
57
60
|
def build_converter(mode = :pretty)
|
@@ -76,6 +79,7 @@ def build_converter(mode = :pretty)
|
|
76
79
|
basebackend: 'html',
|
77
80
|
outfilesuffix: '.html',
|
78
81
|
filetype: 'html',
|
82
|
+
supports_templates: true
|
79
83
|
},
|
80
84
|
delegate_backend: 'html5',
|
81
85
|
engine_opts: {
|
@@ -94,6 +98,11 @@ DocTest::RakeTasks.new do |t|
|
|
94
98
|
t.converter_opts = { backend_name: 'revealjs' }
|
95
99
|
end
|
96
100
|
|
101
|
+
Rake::TestTask.new(:test) do |t|
|
102
|
+
t.test_files = FileList['test/asciidoctor-revealjs/*_test.rb']
|
103
|
+
t.warning = false
|
104
|
+
end
|
105
|
+
|
97
106
|
task 'prepare-converter' do
|
98
107
|
# Run as an external process to ensure that it will not affect tests
|
99
108
|
# environment with extra loaded modules (especially slim).
|
@@ -105,7 +114,7 @@ end
|
|
105
114
|
namespace :examples do
|
106
115
|
desc 'Converts all the test slides into fully working examples that you can look in a browser'
|
107
116
|
# converted slides will be put in examples/ directory
|
108
|
-
task :convert do
|
117
|
+
task :convert => 'build:converter' do
|
109
118
|
require 'slim-htag'
|
110
119
|
require_relative 'lib/asciidoctor-revealjs'
|
111
120
|
Dir.glob('examples/*.adoc') do |_file|
|
@@ -113,8 +122,7 @@ namespace :examples do
|
|
113
122
|
out = Asciidoctor.convert_file _file,
|
114
123
|
:safe => 'safe',
|
115
124
|
:backend => 'revealjs',
|
116
|
-
:base_dir => 'examples'
|
117
|
-
:template_dir => 'templates'
|
125
|
+
:base_dir => 'examples'
|
118
126
|
if out.instance_of? Asciidoctor::Document
|
119
127
|
puts "✔️".green
|
120
128
|
else
|
@@ -130,9 +138,24 @@ namespace :examples do
|
|
130
138
|
`ruby -run -e httpd . -p 5000 -b 127.0.0.1`
|
131
139
|
end
|
132
140
|
end
|
141
|
+
|
142
|
+
task :publish do
|
143
|
+
FileUtils.rm_rf PUBLIC_DIR
|
144
|
+
Dir.mkdir PUBLIC_DIR
|
145
|
+
Dir.mkdir "#{PUBLIC_DIR}/reveal.js"
|
146
|
+
FileUtils.cp 'src/index.html', "#{PUBLIC_DIR}/index.html"
|
147
|
+
FileUtils.cp_r 'node_modules/reveal.js/', "#{PUBLIC_DIR}"
|
148
|
+
FileUtils.cp_r 'examples/images/', "#{PUBLIC_DIR}"
|
149
|
+
FileUtils.cp 'examples/release-4.0.html', "#{PUBLIC_DIR}/release-4.0.html"
|
150
|
+
FileUtils.cp 'examples/release-4.0.css', "#{PUBLIC_DIR}/release-4.0.css"
|
151
|
+
FileUtils.cp 'examples/release-4.1.html', "#{PUBLIC_DIR}/release-4.1.html"
|
152
|
+
FileUtils.cp 'examples/release-4.1.css', "#{PUBLIC_DIR}/release-4.1.css"
|
153
|
+
FileUtils.cp 'examples/a11y-dark.css', "#{PUBLIC_DIR}/a11y-dark.css"
|
154
|
+
end
|
133
155
|
end
|
134
156
|
|
157
|
+
task 'test' => 'doctest'
|
135
158
|
task 'doctest:test' => 'prepare-converter'
|
136
159
|
task 'doctest:generate' => 'prepare-converter'
|
137
160
|
# When no task specified, run test.
|
138
|
-
task :default => :
|
161
|
+
task :default => :test
|
@@ -34,15 +34,17 @@ Gem::Specification.new do |s|
|
|
34
34
|
s.add_runtime_dependency 'thread_safe', '~> 0.3.5'
|
35
35
|
s.add_runtime_dependency 'concurrent-ruby', '~> 1.0'
|
36
36
|
|
37
|
-
s.add_development_dependency 'rake', '~>
|
38
|
-
s.add_development_dependency 'asciidoctor-doctest', '= 2.0.0.beta.
|
39
|
-
s.add_development_dependency '
|
37
|
+
s.add_development_dependency 'rake', '~> 13.0.0'
|
38
|
+
s.add_development_dependency 'asciidoctor-doctest', '= 2.0.0.beta.7'
|
39
|
+
s.add_development_dependency 'minitest', '~> 5.14'
|
40
40
|
if RUBY_ENGINE != 'jruby'
|
41
|
+
s.add_development_dependency 'pry', '~> 0.12.0'
|
42
|
+
s.add_development_dependency 'irb'
|
41
43
|
s.add_development_dependency 'pry-byebug'
|
42
44
|
s.add_development_dependency 'pygments.rb'
|
43
45
|
end
|
44
46
|
s.add_development_dependency 'colorize'
|
45
|
-
s.add_development_dependency 'asciidoctor-templates-compiler', '~> 0.
|
47
|
+
s.add_development_dependency 'asciidoctor-templates-compiler', '~> 0.6.0'
|
46
48
|
s.add_development_dependency 'slim', '~> 3.0.6'
|
47
49
|
s.add_development_dependency 'slim-htag', '~> 0.1.0'
|
48
50
|
s.add_development_dependency 'rouge'
|
data/bin/asciidoctor-revealjs
CHANGED
@@ -9,6 +9,13 @@ require 'asciidoctor/cli'
|
|
9
9
|
|
10
10
|
options = Asciidoctor::Cli::Options.new backend: 'revealjs'
|
11
11
|
|
12
|
+
# FIXME (from asciidoctor-pdf) provide an API in Asciidoctor for sub-components to print version information
|
13
|
+
unless ARGV != ['-v'] && (ARGV & ['-V', '--version']).empty?
|
14
|
+
$stdout.write %(Asciidoctor reveal.js #{Asciidoctor::Revealjs::VERSION} using )
|
15
|
+
options.print_version
|
16
|
+
exit 0
|
17
|
+
end
|
18
|
+
|
12
19
|
# FIXME (from bespoke) This is a really bizarre API. Please make me simpler.
|
13
20
|
if Integer === (result = options.parse! ARGV)
|
14
21
|
exit result
|
@@ -0,0 +1,99 @@
|
|
1
|
+
/* a11y-dark theme */
|
2
|
+
/* Based on the Tomorrow Night Eighties theme: https://github.com/isagalaev/highlight.js/blob/master/src/styles/tomorrow-night-eighties.css */
|
3
|
+
/* @author: ericwbailey */
|
4
|
+
|
5
|
+
/* Comment */
|
6
|
+
.hljs-comment,
|
7
|
+
.hljs-quote {
|
8
|
+
color: #d4d0ab;
|
9
|
+
}
|
10
|
+
|
11
|
+
/* Red */
|
12
|
+
.hljs-variable,
|
13
|
+
.hljs-template-variable,
|
14
|
+
.hljs-tag,
|
15
|
+
.hljs-name,
|
16
|
+
.hljs-selector-id,
|
17
|
+
.hljs-selector-class,
|
18
|
+
.hljs-regexp,
|
19
|
+
.hljs-deletion {
|
20
|
+
color: #ffa07a;
|
21
|
+
}
|
22
|
+
|
23
|
+
/* Orange */
|
24
|
+
.hljs-number,
|
25
|
+
.hljs-built_in,
|
26
|
+
.hljs-builtin-name,
|
27
|
+
.hljs-literal,
|
28
|
+
.hljs-type,
|
29
|
+
.hljs-params,
|
30
|
+
.hljs-meta,
|
31
|
+
.hljs-link {
|
32
|
+
color: #f5ab35;
|
33
|
+
}
|
34
|
+
|
35
|
+
/* Yellow */
|
36
|
+
.hljs-attribute {
|
37
|
+
color: #ffd700;
|
38
|
+
}
|
39
|
+
|
40
|
+
/* Green */
|
41
|
+
.hljs-string,
|
42
|
+
.hljs-symbol,
|
43
|
+
.hljs-bullet,
|
44
|
+
.hljs-addition {
|
45
|
+
color: #abe338;
|
46
|
+
}
|
47
|
+
|
48
|
+
/* Blue */
|
49
|
+
.hljs-title,
|
50
|
+
.hljs-section {
|
51
|
+
color: #32aaee;
|
52
|
+
}
|
53
|
+
|
54
|
+
/* Purple */
|
55
|
+
.hljs-keyword,
|
56
|
+
.hljs-selector-tag {
|
57
|
+
color: #dcc6e0;
|
58
|
+
}
|
59
|
+
|
60
|
+
.hljs {
|
61
|
+
display: block;
|
62
|
+
overflow-x: auto;
|
63
|
+
background: #2b2b2b;
|
64
|
+
color: #f8f8f2;
|
65
|
+
padding: 0.5em;
|
66
|
+
}
|
67
|
+
|
68
|
+
.hljs-emphasis {
|
69
|
+
font-style: italic;
|
70
|
+
}
|
71
|
+
|
72
|
+
.hljs-strong {
|
73
|
+
font-weight: bold;
|
74
|
+
}
|
75
|
+
|
76
|
+
@media screen and (-ms-high-contrast: active) {
|
77
|
+
.hljs-addition,
|
78
|
+
.hljs-attribute,
|
79
|
+
.hljs-built_in,
|
80
|
+
.hljs-builtin-name,
|
81
|
+
.hljs-bullet,
|
82
|
+
.hljs-comment,
|
83
|
+
.hljs-link,
|
84
|
+
.hljs-literal,
|
85
|
+
.hljs-meta,
|
86
|
+
.hljs-number,
|
87
|
+
.hljs-params,
|
88
|
+
.hljs-string,
|
89
|
+
.hljs-symbol,
|
90
|
+
.hljs-type,
|
91
|
+
.hljs-quote {
|
92
|
+
color: highlight;
|
93
|
+
}
|
94
|
+
|
95
|
+
.hljs-keyword,
|
96
|
+
.hljs-selector-tag {
|
97
|
+
font-weight: bold;
|
98
|
+
}
|
99
|
+
}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
= Autoslide!
|
2
|
+
// automatically proceed to the next slide after 5 seconds
|
3
|
+
:revealjs_autoSlide: 5000
|
4
|
+
|
5
|
+
== Slide 0
|
6
|
+
|
7
|
+
I can do it in 5 seconds!
|
8
|
+
|
9
|
+
// on this slide we need 10 seconds
|
10
|
+
[autoslide=10000]
|
11
|
+
== Slide 1
|
12
|
+
|
13
|
+
All things considered, let's try again in 10 seconds.
|
14
|
+
|
15
|
+
[autoslide=1000]
|
16
|
+
== Slide 2
|
17
|
+
|
18
|
+
Don't blink or you'll miss me :)
|
19
|
+
|
20
|
+
== Slide 3
|
21
|
+
|
22
|
+
(:
|
data/examples/customcss.adoc
CHANGED
@@ -0,0 +1,245 @@
|
|
1
|
+
// :include: //div[@class="slides"]
|
2
|
+
// :header_footer:
|
3
|
+
= Data attributes
|
4
|
+
:stem:
|
5
|
+
:icons: font
|
6
|
+
:source-highlighter: highlight.js
|
7
|
+
:revealjs_hash: true
|
8
|
+
:experimental:
|
9
|
+
|
10
|
+
== Reference
|
11
|
+
|
12
|
+
https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes
|
13
|
+
|
14
|
+
// .paragraphs
|
15
|
+
== Paragraphs
|
16
|
+
|
17
|
+
[.fragment.highlight-blue,data-fragment-index=0]
|
18
|
+
blue
|
19
|
+
|
20
|
+
[.fragment,data-fragment-index=1]
|
21
|
+
white
|
22
|
+
|
23
|
+
[.fragment.highlight-red,data-fragment-index=0]
|
24
|
+
red
|
25
|
+
|
26
|
+
// .inline-images
|
27
|
+
== Inline images
|
28
|
+
:imagesdir: images
|
29
|
+
|
30
|
+
image:cute-cat-1.jpg[cute-cat-laying,role="fragment fade-in",data-fragment-index=3]
|
31
|
+
image:cute-cat-2.jpg[cute-cat-yawning,role="fragment fade-in",data-fragment-index=1]
|
32
|
+
image:cute-cat-3.jpg[cute-cat-melting,role="fragment fade-in",data-fragment-index=2]
|
33
|
+
|
34
|
+
== Admonitions
|
35
|
+
|
36
|
+
[TIP,role="fragment fade-in",data-fragment-index=3]
|
37
|
+
====
|
38
|
+
Pro tip...
|
39
|
+
====
|
40
|
+
|
41
|
+
[WARNING,role="fragment fade-in",data-fragment-index=1]
|
42
|
+
====
|
43
|
+
Watch out for...
|
44
|
+
====
|
45
|
+
|
46
|
+
[IMPORTANT,role="fragment fade-in",data-fragment-index=2]
|
47
|
+
====
|
48
|
+
Don't forget...
|
49
|
+
====
|
50
|
+
|
51
|
+
== Callout numbers
|
52
|
+
|
53
|
+
[source,js]
|
54
|
+
----
|
55
|
+
console.log('Hello'); // <1>
|
56
|
+
|
57
|
+
console.log('Bonjour'); // <2>
|
58
|
+
|
59
|
+
console.log('Bye'); // <3>
|
60
|
+
----
|
61
|
+
[role="fragment fade-in",data-state="explanation"]
|
62
|
+
<1> Display `Hello`
|
63
|
+
<2> Display `Bonjour`
|
64
|
+
<3> Display `Bye`
|
65
|
+
|
66
|
+
== FAQ
|
67
|
+
|
68
|
+
[qanda,data-count="3"]
|
69
|
+
What's the deal with this converter?::
|
70
|
+
This is the official reveal.js converter for Asciidoctor.
|
71
|
+
Is it safe to put my credit card number into this presentation?::
|
72
|
+
Probably not.
|
73
|
+
I need all the Powerpoint features::
|
74
|
+
No you don’t.
|
75
|
+
|
76
|
+
[[horizontal-list]]
|
77
|
+
== Horizontal list
|
78
|
+
|
79
|
+
[horizontal,data-style="horizontal"]
|
80
|
+
Hard drive:: Permanent storage for operating system and/or user files.
|
81
|
+
RAM:: Temporarily stores information the CPU uses during operation.
|
82
|
+
|
83
|
+
== Description list
|
84
|
+
|
85
|
+
[.operating-systems,data-id="1234"]
|
86
|
+
Operating Systems::
|
87
|
+
* Linux
|
88
|
+
* macOS
|
89
|
+
* Windows
|
90
|
+
|
91
|
+
== Example
|
92
|
+
|
93
|
+
[#lorem.ipsum,data-style="lorem ipsum"]
|
94
|
+
====
|
95
|
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor
|
96
|
+
incididunt ut labore et dolore magna aliqua.
|
97
|
+
====
|
98
|
+
|
99
|
+
[[images]]
|
100
|
+
== Images
|
101
|
+
|
102
|
+
:imagesdir: images
|
103
|
+
|
104
|
+
image::cute-cat-1.jpg[cute-cat-laying,height="100px",role="fragment fade-in",data-fragment-index=3]
|
105
|
+
|
106
|
+
image::cute-cat-2.jpg[cute-cat-yawning,height="100px",role="fragment fade-in",data-fragment-index=1]
|
107
|
+
|
108
|
+
image::cute-cat-3.jpg[cute-cat-melting,height="100px",role="fragment fade-in",data-fragment-index=2]
|
109
|
+
|
110
|
+
== Inline links
|
111
|
+
|
112
|
+
Learn how to use xref:images[images,role=fragment,data-fragment-index=1],
|
113
|
+
xref:horizontal-list[horizontal lists,role=fragment,data-fragment-index=2]
|
114
|
+
and link:https://duckduckgo.com/[duckduckgo.com,role=fragment,data-fragment-index=3].
|
115
|
+
|
116
|
+
== Source blocks
|
117
|
+
|
118
|
+
[source,javascript,role=fragment,data-fragment-index=2,data-lang-family=interpreted]
|
119
|
+
----
|
120
|
+
console.log('Hello world')
|
121
|
+
----
|
122
|
+
|
123
|
+
[source,kotlin,role=fragment,data-fragment-index=1,data-lang-family=compiled]
|
124
|
+
----
|
125
|
+
println("Hello world")
|
126
|
+
----
|
127
|
+
|
128
|
+
== Literal
|
129
|
+
|
130
|
+
Open a terminal and type:
|
131
|
+
|
132
|
+
[data-program-type=bash,data-program-version=1.2.3]
|
133
|
+
./forgotten-realms.sh
|
134
|
+
|
135
|
+
[data-output-type=error,data-prompt=y/n]
|
136
|
+
....
|
137
|
+
error: The requested operation returned error: 1954 Forbidden search for defensive operations manual
|
138
|
+
absolutely fatal: operation initiation lost in the dodecahedron of doom
|
139
|
+
would you like to die again? y/n
|
140
|
+
....
|
141
|
+
|
142
|
+
== Atom podium
|
143
|
+
|
144
|
+
[role=fragment,data-fragment-index=2,data-medal=gold]
|
145
|
+
. Protons
|
146
|
+
|
147
|
+
[start=2,role=fragment,data-fragment-index=1,data-medal=silver]
|
148
|
+
. Electrons
|
149
|
+
|
150
|
+
[start=3,role=fragment,data-fragment-index=0,data-medal=bronze]
|
151
|
+
. Neutrons
|
152
|
+
|
153
|
+
[.columns.wrap]
|
154
|
+
== Colors
|
155
|
+
|
156
|
+
[.column.fragment,data-fragment-index=1]
|
157
|
+
--
|
158
|
+
image::data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle fill='blue' cx='50' cy='50' r='50'/%3E%3C/svg%3E[width=40%]
|
159
|
+
|
160
|
+
image::data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle fill='yellow' cx='50' cy='50' r='50'/%3E%3C/svg%3E[width=40%]
|
161
|
+
--
|
162
|
+
|
163
|
+
[.column.fragment.fade-in-out,data-fragment-index=0]
|
164
|
+
--
|
165
|
+
image::data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Ccircle fill='green' cx='50' cy='50' r='50'/%3E%3C/svg%3E[width=40%]
|
166
|
+
--
|
167
|
+
|
168
|
+
== Abstract
|
169
|
+
|
170
|
+
[abstract,data-block-type=abstract]
|
171
|
+
.Abstract
|
172
|
+
Documentation is a distillation of many long, squiggly adventures.
|
173
|
+
|
174
|
+
== Quote
|
175
|
+
|
176
|
+
[data-context=civil-rights,data-event=speech,data-date=28/08/1963]
|
177
|
+
> I have a dream that my four little children will one day live in a nation where they will not be judged by the color of their skin, but by the content of their character. I have a dream today!
|
178
|
+
> -- Martin Luther King Jr. delivering the speech at the 1963 Washington D.C. Civil Rights March.
|
179
|
+
|
180
|
+
== Math!
|
181
|
+
|
182
|
+
[stem,data-algebra-concept=square-root]
|
183
|
+
++++
|
184
|
+
\sqrt{37} = \sqrt{\frac{73^2-1}{12^2}} \approx \frac{73}{12} (1 - \frac{1}{2\cdot73^2})
|
185
|
+
++++
|
186
|
+
|
187
|
+
== Tables
|
188
|
+
|
189
|
+
[cols="1,1",options=header,role=fragment,data-fragment-index=1]
|
190
|
+
.App
|
191
|
+
|===
|
192
|
+
|Name
|
193
|
+
|Category
|
194
|
+
|
195
|
+
|Firefox
|
196
|
+
|Browser
|
197
|
+
|===
|
198
|
+
|
199
|
+
[%header,format=csv,role=fragment,data-fragment-index=0]
|
200
|
+
.Music
|
201
|
+
|===
|
202
|
+
Artist,Track,Genre
|
203
|
+
The Lumineers,Ho Hey,Folk Rock
|
204
|
+
|===
|
205
|
+
|
206
|
+
== TODO
|
207
|
+
|
208
|
+
[%interactive,data-state=in-progress]
|
209
|
+
- [ ] Dig
|
210
|
+
- [x] Plant
|
211
|
+
- [ ] Hose
|
212
|
+
|
213
|
+
== Seagulls
|
214
|
+
|
215
|
+
// Title: Flock Seagulls
|
216
|
+
// License: Attribution CC 3.0
|
217
|
+
// Recorded by Daniel Simion
|
218
|
+
audio::flock-of-seagulls_daniel-simion.mp3[options="autoplay,loop",data-license="cc-3.0"]
|
219
|
+
|
220
|
+
== Verse
|
221
|
+
|
222
|
+
[verse, Carl Sandburg, two lines from the poem Fog, data-verse-type=poem]
|
223
|
+
The fog comes
|
224
|
+
on little cat feet.
|
225
|
+
|
226
|
+
== Video
|
227
|
+
|
228
|
+
video::kZH9JtPBq7k[youtube,start=34,data-video-id=kZH9JtPBq7k]
|
229
|
+
|
230
|
+
== Inline quoted
|
231
|
+
|
232
|
+
I can't believe it, we *won*!
|
233
|
+
|
234
|
+
Type the word [.userinput]#asciidoc# into the search bar.
|
235
|
+
|
236
|
+
Word with an [#bookmark-a]#explicit# id.
|
237
|
+
|
238
|
+
Let's put some [#bookmark-b.concept.word]_emphasis_.
|
239
|
+
|
240
|
+
== Sidebar
|
241
|
+
|
242
|
+
[data-visiblity=visible,data-position=left]
|
243
|
+
****
|
244
|
+
Sidebars are used to visually separate auxiliary bits of content that supplement the main text.
|
245
|
+
****
|