asciidoctor-revealjs 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/CHANGELOG.adoc +46 -0
- data/HACKING.adoc +250 -0
- data/LICENSE.adoc +22 -0
- data/README.adoc +671 -0
- data/asciidoctor-revealjs.gemspec +32 -0
- data/bin/asciidoctor-revealjs +20 -0
- data/lib/asciidoctor-revealjs.rb +2 -0
- data/lib/asciidoctor-revealjs/converter.rb +36 -0
- data/lib/asciidoctor-revealjs/version.rb +5 -0
- data/templates/jade/admonition.jade +17 -0
- data/templates/jade/audio.jade +6 -0
- data/templates/jade/colist.jade +22 -0
- data/templates/jade/dlist.jade +60 -0
- data/templates/jade/document.jade +103 -0
- data/templates/jade/embedded.jade +11 -0
- data/templates/jade/example.jade +4 -0
- data/templates/jade/floating_title.jade +2 -0
- data/templates/jade/image.jade +12 -0
- data/templates/jade/inline_anchor.jade +9 -0
- data/templates/jade/inline_break.jade +2 -0
- data/templates/jade/inline_button.jade +1 -0
- data/templates/jade/inline_callout.jade +9 -0
- data/templates/jade/inline_image.jade +24 -0
- data/templates/jade/inline_indexterm.jade +2 -0
- data/templates/jade/inline_kbd.jade +9 -0
- data/templates/jade/inline_quoted.jade +26 -0
- data/templates/jade/listing.jade +29 -0
- data/templates/jade/literal.jade +5 -0
- data/templates/jade/olist.jade +9 -0
- data/templates/jade/page_break.jade +1 -0
- data/templates/jade/paragraph.jade +7 -0
- data/templates/jade/pass.jade +1 -0
- data/templates/jade/quote.jade +11 -0
- data/templates/jade/ruler.jade +1 -0
- data/templates/jade/section.jade +15 -0
- data/templates/jade/sidebar.jade +5 -0
- data/templates/jade/table.jade +45 -0
- data/templates/jade/thematic_break.jade +1 -0
- data/templates/jade/ulist.jade +25 -0
- data/templates/jade/verse.jade +14 -0
- data/templates/jade/video.jade +30 -0
- data/templates/slim/block_admonition.html.slim +18 -0
- data/templates/slim/block_audio.html.slim +6 -0
- data/templates/slim/block_colist.html.slim +20 -0
- data/templates/slim/block_dlist.html.slim +53 -0
- data/templates/slim/block_example.html.slim +4 -0
- data/templates/slim/block_floating_title.html.slim +1 -0
- data/templates/slim/block_image.html.slim +21 -0
- data/templates/slim/block_listing.html.slim +33 -0
- data/templates/slim/block_literal.html.slim +4 -0
- data/templates/slim/block_olist.html.slim +9 -0
- data/templates/slim/block_open.html.slim +15 -0
- data/templates/slim/block_page_break.html.slim +1 -0
- data/templates/slim/block_paragraph.html.slim +7 -0
- data/templates/slim/block_pass.html.slim +1 -0
- data/templates/slim/block_preamble.html.slim +2 -0
- data/templates/slim/block_quote.html.slim +14 -0
- data/templates/slim/block_ruler.html.slim +1 -0
- data/templates/slim/block_sidebar.html.slim +5 -0
- data/templates/slim/block_stem.html.slim +10 -0
- data/templates/slim/block_table.html.slim +45 -0
- data/templates/slim/block_thematic_break.html.slim +1 -0
- data/templates/slim/block_toc.html.slim +12 -0
- data/templates/slim/block_ulist.html.slim +25 -0
- data/templates/slim/block_verse.html.slim +14 -0
- data/templates/slim/block_video.html.slim +40 -0
- data/templates/slim/document.html.slim +184 -0
- data/templates/slim/embedded.html.slim +9 -0
- data/templates/slim/helpers.rb +34 -0
- data/templates/slim/inline_anchor.html.slim +11 -0
- data/templates/slim/inline_break.html.slim +2 -0
- data/templates/slim/inline_button.html.slim +1 -0
- data/templates/slim/inline_callout.html.slim +7 -0
- data/templates/slim/inline_footnote.html.slim +6 -0
- data/templates/slim/inline_image.html.slim +24 -0
- data/templates/slim/inline_indexterm.html.slim +2 -0
- data/templates/slim/inline_kbd.html.slim +8 -0
- data/templates/slim/inline_menu.html.slim +15 -0
- data/templates/slim/inline_quoted.html.slim +22 -0
- data/templates/slim/section.html.slim +89 -0
- data/templates/slim/section.html.slim.orig +97 -0
- metadata +186 -0
@@ -0,0 +1,29 @@
|
|
1
|
+
div.listingblock(id=node.$id(),class=node.$role())
|
2
|
+
if node.$title() != false
|
3
|
+
div.title !{node.$captioned_title()}
|
4
|
+
div.content
|
5
|
+
- var nowrap = !(node.document.$attr("prewrap",false)) || node['$option?']('nowrap')
|
6
|
+
if node.$style() == "source" || (node.$style() == 'listing' && node.$attr(1, 'listing'))
|
7
|
+
- language = node.$attr('language',false)
|
8
|
+
- var code_class = language ? [language, "language-#{language}"] : ""
|
9
|
+
- var pre_class = ['highlight']
|
10
|
+
- var pre_lang = ""
|
11
|
+
case node.$attr("source-highlighter")
|
12
|
+
when "coderay"
|
13
|
+
- pre_class = ['CodeRay']
|
14
|
+
when 'pygments'
|
15
|
+
- pre_class = ['pygments','highlight']
|
16
|
+
when 'prettify'
|
17
|
+
- pre_class = ['prettyprint']
|
18
|
+
- pre_class.push(node.$attr("linenums",''));
|
19
|
+
- pre_class.push(language ? language : '');
|
20
|
+
- pre_class.push(language ? "language-#{language}" : '');
|
21
|
+
when 'html-pipeline'
|
22
|
+
- pre_lang = language
|
23
|
+
- pre_class = code_class = ''
|
24
|
+
- nowrap = false
|
25
|
+
- pre_class.push(nowrap ? nowrap : '')
|
26
|
+
pre(class=pre_class,lang=pre_lang)
|
27
|
+
code(class=[code_class]) !{node.$content()}
|
28
|
+
else
|
29
|
+
pre(class=nowrap ? "nowrap" : "") !{node.$content()}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
div.olist(id=node.$id(),class=[node.$style(), node.$role()])
|
2
|
+
if node['$title?']()
|
3
|
+
div.title !{node.$title()}
|
4
|
+
ol(class=node.$style(),start=node.$attr('start', ""),type=node.$list_marker_keyword())
|
5
|
+
each item in node.$items()
|
6
|
+
li(class=[(node['$option?']('step') || node['$has_role?']('step')) ? "fragment" : ""])
|
7
|
+
p !{item.$text()}
|
8
|
+
if item['$blocks?']()
|
9
|
+
| !{item.$content()}
|
@@ -0,0 +1 @@
|
|
1
|
+
div(style="page-break-after: always;")
|
@@ -0,0 +1 @@
|
|
1
|
+
div !{node.$content()}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
div.quoteblock(id=node.$id(),class=node.$role())
|
2
|
+
if node['$title?']()
|
3
|
+
div.title !{node.$title()}
|
4
|
+
blockquote !{node.$content()}
|
5
|
+
if node.$attr("attribution", false) || node.$attr("citetitle", false)
|
6
|
+
div.attribution
|
7
|
+
if node.$attr("citetitle", false)
|
8
|
+
cite !{node.$attr("citetitle")}
|
9
|
+
if node.$attr("attribution", false) && node.$attr("citetitle", false)
|
10
|
+
br
|
11
|
+
| — !{node.$attr("attribution", "")}
|
@@ -0,0 +1 @@
|
|
1
|
+
hr
|
@@ -0,0 +1,15 @@
|
|
1
|
+
- hide_title = false
|
2
|
+
if node.$level() == 1
|
3
|
+
section
|
4
|
+
section(id=node.$id(),data-transition=node.$attr("data-transition", ""),data-transition-speed=node.$attr("data-transition-speed", ""),data-background=node.$attr("data-background", ""),data-background-size=node.$attr("data-background-size", ""),data-background-repeat=node.$attr("data-background-repeat", ""),data-background-transition=node.$attr("data-background-transition", ""))
|
5
|
+
if !hide_title
|
6
|
+
h2 !{node.$title()}
|
7
|
+
each block in (node.$blocks()['$-'](node.$sections()))
|
8
|
+
| !{block["$convert"]()}
|
9
|
+
each subsection in node.$sections()
|
10
|
+
| !{subsection["$convert"]()}
|
11
|
+
else
|
12
|
+
section(id=node.$id(),data-transition=(node.$attr('data-transition', "")),data-transition-speed=(node.$attr('data-transition-speed', "")),data-background=(node.$attr('data-background', "")),data-background-size=(node.$attr('data-background-size', "")),data-background-repeat=(node.$attr('data-background-repeat', "")),data-background-transition=(node.$attr('data-background-transition', "")))
|
13
|
+
if !hide_title
|
14
|
+
h2 !{node.$title()}
|
15
|
+
| !{node.$content()}
|
@@ -0,0 +1,45 @@
|
|
1
|
+
table(id=node.$id(),class=["table-block", "frame-#{ node.$attr('frame', 'all') }", "frame-#{ node.$attr('grid', 'all') }", node.$role()])
|
2
|
+
if node['$title?']()
|
3
|
+
caption.title !{node.$captioned_title()}
|
4
|
+
if node.$attr("rowcount") != 0
|
5
|
+
colgroup
|
6
|
+
if node['$option?']('autowidth')
|
7
|
+
each ccc in node.$columns()
|
8
|
+
col
|
9
|
+
else
|
10
|
+
each col in node.$columns()
|
11
|
+
col(style={width: col.$attr("colpcwidth")})
|
12
|
+
- tblsecs =["$head","$foot","$body"]
|
13
|
+
each tblsec in tblsecs
|
14
|
+
if node.$rows()[tblsec]().length != 0
|
15
|
+
- var tag = "t" + tblsec.substr(1);
|
16
|
+
#{tag}
|
17
|
+
each row in node.$rows()[tblsec]()
|
18
|
+
tr
|
19
|
+
each cell in row
|
20
|
+
if tblsec == "$head"
|
21
|
+
- cell_content = cell.$text()
|
22
|
+
else
|
23
|
+
if cell.$style() == "verse" || cell.$style() == "literal"
|
24
|
+
- cell_content = cell.$text()
|
25
|
+
else
|
26
|
+
- cell_content = cell.$content()
|
27
|
+
#{tblsec == "$head" ? "th" : "td"}(class=['tableblock', "halign-#{cell.$attr('halign')}", "valign-#{cell.$attr('valign')}"],
|
28
|
+
colspan=cell.$colspan(), rowspan=cell.$rowspan(),style=node.document.$attr("cellbgcolor", false) ? "background-color:#{node.document.$attr('cellbgcolor')}" : "")
|
29
|
+
if tblsec == "$head"
|
30
|
+
| !{cell_content}
|
31
|
+
else
|
32
|
+
case cell.$style()
|
33
|
+
when "asciidoc"
|
34
|
+
div !{cell_content}
|
35
|
+
when "verse"
|
36
|
+
div.verse !{cell_content}
|
37
|
+
when "literal"
|
38
|
+
div.literal
|
39
|
+
pre !{cell_content}
|
40
|
+
when "header"
|
41
|
+
each text in cell_content
|
42
|
+
p.tableblock.header !{text}
|
43
|
+
default
|
44
|
+
each text in cell_content
|
45
|
+
p.tableblock !{text}
|
@@ -0,0 +1 @@
|
|
1
|
+
hr
|
@@ -0,0 +1,25 @@
|
|
1
|
+
- checklist = node['$option?']('checklist') ? "checklist": null;
|
2
|
+
if checklist
|
3
|
+
if node['$option?']('interactive')
|
4
|
+
- marker_checked = '<input type="checkbox" data-item-complete="1" checked>'
|
5
|
+
- marker_unchecked = '<input type="checkbox" data-item-complete="0">'
|
6
|
+
else
|
7
|
+
if node.document.$attr("icons") == "font"
|
8
|
+
- marker_checked = '<i class="icon-check"></i>'
|
9
|
+
- marker_unchecked = '<i class="icon-check-empty"></i>'
|
10
|
+
else
|
11
|
+
- marker_checked = '<input type="checkbox" data-item-complete="1" checked disabled>'
|
12
|
+
- marker_unchecked = '<input type="checkbox" data-item-complete="0" disabled>'
|
13
|
+
div.ulist(id=id,class=[checklist, node.$style(), node.$role()])
|
14
|
+
if node['$title?']()
|
15
|
+
div.title !{node.$title()}
|
16
|
+
ul(class=[checklist || node.$style()])
|
17
|
+
each item in node.$items()
|
18
|
+
li(class=[(node['$option?']('step') || node['$has_role?']('step')) ? "fragment" : ""])
|
19
|
+
p
|
20
|
+
if checklist && item.$attr('checkbox', false)
|
21
|
+
| !{item.$attr('checked') ? marker_checked : marker_unchecked}!{item.$text()}
|
22
|
+
else
|
23
|
+
| !{item.$text()}
|
24
|
+
if item['$blocks?']()
|
25
|
+
| !{item.$content()}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
div.verseblock(id=node.$id(),class=node.$role())
|
2
|
+
if node['$title()']
|
3
|
+
div.title !{node.$title()}
|
4
|
+
pre.content !{node.$content()}
|
5
|
+
- attribution = node.$attr('attribution',null)
|
6
|
+
- citetitle = node.$attr('citetitle',null)
|
7
|
+
if attribution || citetitle
|
8
|
+
div.attribution
|
9
|
+
if citetitle
|
10
|
+
cite !{citetitle}
|
11
|
+
if attribution
|
12
|
+
if citetitle
|
13
|
+
br
|
14
|
+
| — #{attribution}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
div.videoblock(id=node.$id(),class=[node.$style(), node.$role()])
|
2
|
+
if node['$title?']()
|
3
|
+
.title node.$captioned_title()
|
4
|
+
.content
|
5
|
+
case node.$attr('poster')
|
6
|
+
when "vimeo"
|
7
|
+
- start_anchor = node['$attr?']('start') ? "#at=" + node.$attr("start") : ''
|
8
|
+
- delimeter = "?"
|
9
|
+
- autoplay_param = node['$option?']('autoplay') ? delimeter + "autoplay=1" : ''
|
10
|
+
- delimeter = node['$option?']('autoplay') ? '&' : ''
|
11
|
+
- loop_param = node['$option?']('loop') ? delimeter + "loop=1" : ''
|
12
|
+
- src = "//player.vimeo.com/video/" + node.$attr('target') + start_anchor + autoplay_param + loop_param
|
13
|
+
iframe(width=node.$attr('width'),height=node.$attr('height'),src=src,frameborder=0,webkitAllowFullScreen=true,mozallowfullscreen=true,allowFullScreen=true)
|
14
|
+
when "youtube"
|
15
|
+
- amp = '&'
|
16
|
+
- params = ['rel=0']
|
17
|
+
- params.push(node.$attr('start', false) ? (amp + "start=" + node.$attr('start')) : "")
|
18
|
+
- params.push(node.$attr('end', false) ? (amp + "end=" + node.$attr('end')) : "")
|
19
|
+
- params.push(node['$option?']('autoplay') ? amp + "autoplay=1" : "")
|
20
|
+
- params.push(node['$option?']('loop') ? (amp + "loop=1") : "")
|
21
|
+
- params.push(node['$option?']('nocontrols') ? (amp + "controls=0") : "")
|
22
|
+
- src = "//www.youtube.com/embed/" + node.$attr('target') + "/?" + params.join('')
|
23
|
+
iframe(width=node.$attr('width'),height=node.$attr('height'),src=src,frameborder=0,allowfullscreen=!node['$option?']('nofullscreen'))
|
24
|
+
default
|
25
|
+
video(src=node.$media_uri(node.$attr('target')),width=node.$attr('width'),height=node.$attr('height'),
|
26
|
+
poster=node.$attr('poster', false) ? node.$media_uri(node.$attr('poster')) : '',
|
27
|
+
autoplay=node['$option?']('autoplay'),controls=!node['$option?']('nocontrols'),
|
28
|
+
loop=node['$option?']('loop'))
|
29
|
+
| Your browser does not support the video tag.
|
30
|
+
|
@@ -0,0 +1,18 @@
|
|
1
|
+
- if (has_role? 'aside') or (has_role? 'speaker')
|
2
|
+
aside.notes
|
3
|
+
=content
|
4
|
+
- else
|
5
|
+
.admonitionblock id=@id class=[(attr :name),role]
|
6
|
+
table: tr
|
7
|
+
td.icon
|
8
|
+
- if @document.attr? :icons, 'font'
|
9
|
+
- icon_mapping = Hash['caution', 'fire', 'important', 'exclamation-circle', 'note', 'info-circle', 'tip', 'lightbulb-o', 'warning', 'warning']
|
10
|
+
i class=%(fa fa-#{icon_mapping[attr :name]}) title=@caption
|
11
|
+
- elsif @document.attr? :icons
|
12
|
+
img src=icon_uri(attr :name) alt=@caption
|
13
|
+
- else
|
14
|
+
.title=@caption
|
15
|
+
td.content
|
16
|
+
- if title?
|
17
|
+
.title=title
|
18
|
+
=content
|
@@ -0,0 +1,20 @@
|
|
1
|
+
.colist id=@id class=[@style,role]
|
2
|
+
- if title?
|
3
|
+
.title=title
|
4
|
+
- if @document.attr? :icons
|
5
|
+
- font_icons = @document.attr? :icons, 'font'
|
6
|
+
table
|
7
|
+
- items.each_with_index do |item, i|
|
8
|
+
- num = i + 1
|
9
|
+
tr
|
10
|
+
td
|
11
|
+
- if font_icons
|
12
|
+
i.conum data-value=num
|
13
|
+
b=num
|
14
|
+
- else
|
15
|
+
img src=icon_uri("callouts/#{num}") alt=num
|
16
|
+
td=item.text
|
17
|
+
- else
|
18
|
+
ol
|
19
|
+
- items.each do |item|
|
20
|
+
li: p=item.text
|
@@ -0,0 +1,53 @@
|
|
1
|
+
- case @style
|
2
|
+
- when 'qanda'
|
3
|
+
.qlist id=@id class=['qanda',role]
|
4
|
+
- if title?
|
5
|
+
.title=title
|
6
|
+
ol
|
7
|
+
- items.each do |questions, answer|
|
8
|
+
li
|
9
|
+
- [*questions].each do |question|
|
10
|
+
p: em=question.text
|
11
|
+
- unless answer.nil?
|
12
|
+
- if answer.text?
|
13
|
+
p=answer.text
|
14
|
+
- if answer.blocks?
|
15
|
+
=answer.content
|
16
|
+
- when 'horizontal'
|
17
|
+
.hdlist id=@id class=role
|
18
|
+
- if title?
|
19
|
+
.title=title
|
20
|
+
table
|
21
|
+
- if (attr? :labelwidth) || (attr? :itemwidth)
|
22
|
+
colgroup
|
23
|
+
col style=((attr? :labelwidth) ? %(width:#{(attr :labelwidth).chomp '%'}%;) : nil)
|
24
|
+
col style=((attr? :itemwidth) ? %(width:#{(attr :itemwidth).chomp '%'}%;) : nil)
|
25
|
+
- items.each do |terms, dd|
|
26
|
+
tr
|
27
|
+
td class=['hdlist1',('strong' if option? 'strong')]
|
28
|
+
- terms = [*terms]
|
29
|
+
- last_term = terms.last
|
30
|
+
- terms.each do |dt|
|
31
|
+
=dt.text
|
32
|
+
- if dt != last_term
|
33
|
+
br
|
34
|
+
td.hdlist2
|
35
|
+
- unless dd.nil?
|
36
|
+
- if dd.text?
|
37
|
+
p=dd.text
|
38
|
+
- if dd.blocks?
|
39
|
+
=dd.content
|
40
|
+
- else
|
41
|
+
.dlist id=@id class=[@style,role]
|
42
|
+
- if title?
|
43
|
+
.title=title
|
44
|
+
dl
|
45
|
+
- items.each do |terms, dd|
|
46
|
+
- [*terms].each do |dt|
|
47
|
+
dt class=('hdlist1' unless @style) =dt.text
|
48
|
+
- unless dd.nil?
|
49
|
+
dd
|
50
|
+
- if dd.text?
|
51
|
+
p=dd.text
|
52
|
+
- if dd.blocks?
|
53
|
+
=dd.content
|
@@ -0,0 +1 @@
|
|
1
|
+
*{:tag=>"h#{@level + 1}", :id=>@id, :class=>[@style,role].compact} =title
|
@@ -0,0 +1,21 @@
|
|
1
|
+
- width = (attr? :width) ? (attr :width) : nil
|
2
|
+
- height = (attr? :height) ? (attr :height) : nil
|
3
|
+
|
4
|
+
/ When the stretch class is present, block images will take the most space
|
5
|
+
/ they can take. Setting width and height can override that.
|
6
|
+
/ We pinned the 100% to height to avoid aspect ratio breakage and since
|
7
|
+
/ widescreen monitors are the most popular, chances are that height will
|
8
|
+
/ be the biggest constraint
|
9
|
+
- if (has_role? 'stretch') && !((attr? :width) || (attr? :height))
|
10
|
+
- height = "100%"
|
11
|
+
|
12
|
+
- unless attr(1) == 'background' || attr(1) == "canvas"
|
13
|
+
.imageblock(id=@id class=roles
|
14
|
+
style=[("text-align: #{attr :align}" if attr? :align),("float: #{attr :float}" if attr? :float)].compact.join('; '))
|
15
|
+
- if attr? :link
|
16
|
+
a.image href=(attr :link)
|
17
|
+
img src=image_uri(attr :target) alt=(attr :alt) width=(width) height=(height) style=((attr? :background) ? "background: #{attr :background}" : nil)
|
18
|
+
- else
|
19
|
+
img src=image_uri(attr :target) alt=(attr :alt) width=(width) height=(height) style=((attr? :background) ? "background: #{attr :background}" : nil)
|
20
|
+
- if title?
|
21
|
+
.title=captioned_title
|
@@ -0,0 +1,33 @@
|
|
1
|
+
.listingblock id=@id class=role
|
2
|
+
- if title?
|
3
|
+
.title=captioned_title
|
4
|
+
.content
|
5
|
+
- nowrap = !(@document.attr? :prewrap) || (option? 'nowrap')
|
6
|
+
/ implicit listing blocks and source blocks are rendered as code
|
7
|
+
/ explicit listing blocks stay listing
|
8
|
+
- if @style == 'source' || (@style == 'listing' && !(attr? 1, 'listing'))
|
9
|
+
- language = attr :language
|
10
|
+
- code_class = language ? [language, "language-#{language}"] : nil
|
11
|
+
- pre_class = ['highlight']
|
12
|
+
- pre_lang = nil
|
13
|
+
- case attr 'source-highlighter'
|
14
|
+
- when 'coderay'
|
15
|
+
- pre_class = ['CodeRay']
|
16
|
+
- when 'pygments'
|
17
|
+
- pre_class = ['pygments','highlight']
|
18
|
+
- when 'prettify'
|
19
|
+
- pre_class = ['prettyprint']
|
20
|
+
- pre_class << 'linenums' if attr? :linenums
|
21
|
+
- pre_class << language if language
|
22
|
+
- pre_class << "language-#{language}" if language
|
23
|
+
- code_class = nil
|
24
|
+
- when 'html-pipeline'
|
25
|
+
- pre_lang = language
|
26
|
+
- pre_class = code_class = nil
|
27
|
+
- nowrap = false
|
28
|
+
/- when 'highlightjs', 'highlight.js'
|
29
|
+
- pre_class << 'nowrap' if nowrap
|
30
|
+
pre class=pre_class lang=pre_lang
|
31
|
+
code class=code_class =content
|
32
|
+
- else
|
33
|
+
pre class=(nowrap ? 'nowrap' : nil) =content
|
@@ -0,0 +1,9 @@
|
|
1
|
+
.olist id=@id class=[@style,role]
|
2
|
+
- if title?
|
3
|
+
.title=title
|
4
|
+
ol class=@style start=(attr :start) type=list_marker_keyword
|
5
|
+
- items.each do |item|
|
6
|
+
li class=('fragment' if (option? :step) or (has_role? 'step'))
|
7
|
+
p=item.text
|
8
|
+
- if item.blocks?
|
9
|
+
=item.content
|
@@ -0,0 +1,15 @@
|
|
1
|
+
- if @style == 'abstract'
|
2
|
+
- if @parent == @document && @document.doctype == 'book'
|
3
|
+
- puts 'asciidoctor: WARNING: abstract block cannot be used in a document without a title when doctype is book. Excluding block content.'
|
4
|
+
- else
|
5
|
+
.quoteblock.abstract id=@id class=role
|
6
|
+
- if title?
|
7
|
+
.title=title
|
8
|
+
blockquote=content
|
9
|
+
- elsif @style == 'partintro' && (@level != 0 || @parent.context != :section || @document.doctype != 'book')
|
10
|
+
- puts 'asciidoctor: ERROR: partintro block can only be used when doctype is book and it\'s a child of a book part. Excluding block content.'
|
11
|
+
- else
|
12
|
+
.openblock id=@id class=[(@style != 'open' ? @style : nil),role]
|
13
|
+
- if title?
|
14
|
+
.title=title
|
15
|
+
.content=content
|
@@ -0,0 +1 @@
|
|
1
|
+
div style='page-break-after: always;'
|
@@ -0,0 +1 @@
|
|
1
|
+
=content
|