@asciidoctor/core 3.0.0-rc.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1261,7 +1261,7 @@ Opal.modules["asciidoctor/core_ext/hash/merge"] = function(Opal) {/* Generated b
1261
1261
  return $$('Hash').$send("prepend", $send($$('Module'), 'new', [], function $$1(){var self = $$1.$$s == null ? this : $$1.$$s;
1262
1262
 
1263
1263
  return $def(self, '$merge', function $$merge($a) {
1264
- var $post_args, args, self = this, len = nil;
1264
+ var $post_args, args; $$merge.$$p || nil; var self = this, len = nil;
1265
1265
 
1266
1266
  $$merge.$$p = null;
1267
1267
 
@@ -1317,7 +1317,7 @@ Opal.modules["asciidoctor/core_ext"] = function(Opal) {/* Generated by Opal 1.7.
1317
1317
  Opal.modules["asciidoctor/helpers"] = function(Opal) {/* Generated by Opal 1.7.3 */
1318
1318
  var $module = Opal.module, $truthy = Opal.truthy, $eqeq = Opal.eqeq, $gvars = Opal.gvars, $def = Opal.def, $send = Opal.send, $neqeq = Opal.neqeq, $const_set = Opal.const_set, $hash2 = Opal.hash2, $to_ary = Opal.to_ary, $rb_times = Opal.rb_times, $eqeqeq = Opal.eqeqeq, $rb_plus = Opal.rb_plus, $Class = Opal.Class, $Object = Opal.Object, $nesting = [], nil = Opal.nil, $$$ = Opal.$$$;
1319
1319
 
1320
- Opal.add_stubs('module_function,require,include?,include,==,path,message,raise,warn,logger,chomp,empty?,slice,unpack,[],[]=,byteslice,bytesize,map,rstrip,encode,encoding,nil_or_empty?,!=,tap,each_line,<<,match?,gsub,rindex,index,basename,extname,!,length,directory?,dirname,mkdir_p,mkdir,private_constant,join,divmod,*,===,+,to_s,to_i,succ,class_for_name,const_get');
1320
+ Opal.add_stubs('module_function,require,include?,include,==,path,message,raise,warn,logger,chomp,empty?,slice,unpack,[],[]=,byteslice,bytesize,map,rstrip,encode,encoding,nil_or_empty?,!=,tap,each_line,<<,!,start_with?,match?,gsub,rindex,index,basename,extname,length,directory?,dirname,mkdir_p,mkdir,private_constant,join,divmod,*,===,+,to_s,to_i,succ,class_for_name,const_get');
1321
1321
  return (function($base, $parent_nesting) {
1322
1322
  var self = $module($base, 'Asciidoctor');
1323
1323
 
@@ -1471,18 +1471,31 @@ Opal.modules["asciidoctor/helpers"] = function(Opal) {/* Generated by Opal 1.7.3
1471
1471
  if (line == null) line = nil;
1472
1472
  return lines['$<<'](line.$chomp());});})
1473
1473
  } }, -2);
1474
-
1475
- $def(self, '$uriish?', function $Helpers_uriish$ques$13(str) {
1476
- var $ret_or_1 = nil;
1474
+ if ($eqeq($$$('RUBY_ENGINE'), "jruby")) {
1475
+
1476
+ $def(self, '$uriish?', function $Helpers_uriish$ques$13(str) {
1477
+ var $ret_or_1 = nil, $ret_or_2 = nil;
1477
1478
 
1478
- if ($truthy(($ret_or_1 = str['$include?'](":")))) {
1479
-
1480
- return $$('UriSniffRx')['$match?'](str);
1481
- } else {
1482
- return $ret_or_1
1483
- }
1484
- });
1485
-
1479
+ if ($truthy(($ret_or_1 = ($truthy(($ret_or_2 = str['$include?'](":"))) ? (str['$start_with?']("uri:classloader:")['$!']()) : ($ret_or_2))))) {
1480
+
1481
+ return $$('UriSniffRx')['$match?'](str);
1482
+ } else {
1483
+ return $ret_or_1
1484
+ }
1485
+ });
1486
+ } else {
1487
+
1488
+ $def(self, '$uriish?', function $Helpers_uriish$ques$14(str) {
1489
+ var $ret_or_1 = nil;
1490
+
1491
+ if ($truthy(($ret_or_1 = str['$include?'](":")))) {
1492
+
1493
+ return $$('UriSniffRx')['$match?'](str);
1494
+ } else {
1495
+ return $ret_or_1
1496
+ }
1497
+ });
1498
+ }
1486
1499
  $def(self, '$encode_uri_component', function $$encode_uri_component(str) {
1487
1500
 
1488
1501
 
@@ -1528,7 +1541,7 @@ Opal.modules["asciidoctor/helpers"] = function(Opal) {/* Generated by Opal 1.7.3
1528
1541
  return $$$('File').$basename(filename)
1529
1542
  } }, -2);
1530
1543
 
1531
- $def(self, '$extname?', function $Helpers_extname$ques$14(path) {
1544
+ $def(self, '$extname?', function $Helpers_extname$ques$15(path) {
1532
1545
  var $ret_or_1 = nil, last_dot_idx = nil;
1533
1546
 
1534
1547
  if ($truthy(($ret_or_1 = (last_dot_idx = path.$rindex("."))))) {
@@ -1601,7 +1614,7 @@ Opal.modules["asciidoctor/helpers"] = function(Opal) {/* Generated by Opal 1.7.3
1601
1614
 
1602
1615
  $def(self, '$int_to_roman', function $$int_to_roman(val) {
1603
1616
 
1604
- return $send($$('ROMAN_NUMERALS'), 'map', [], function $$15(l, i){var $a, $b, repeat = nil;
1617
+ return $send($$('ROMAN_NUMERALS'), 'map', [], function $$16(l, i){var $a, $b, repeat = nil;
1605
1618
 
1606
1619
 
1607
1620
  if (l == null) l = nil;
@@ -2076,7 +2089,7 @@ Opal.modules["asciidoctor/rx"] = function(Opal) {/* Generated by Opal 1.7.3 */
2076
2089
  $const_set($nesting[0], 'ManpageNamePurposeRx', $regexp(["^(", $$('CC_ANY'), "+?) +- +(", $$('CC_ANY'), "+)$"]));
2077
2090
  $const_set($nesting[0], 'ConditionalDirectiveRx', $regexp(["^(\\\\)?(ifdef|ifndef|ifeval|endif)::(\\S*?(?:([,+])\\S*?)?)\\[(", $$('CC_ANY'), "+)?\\]$"]));
2078
2091
  $const_set($nesting[0], 'EvalExpressionRx', $regexp(["^(", $$('CC_ANY'), "+?) *([=!><]=|[><]) *(", $$('CC_ANY'), "+)$"]));
2079
- $const_set($nesting[0], 'IncludeDirectiveRx', $regexp(["^(\\\\)?include::([^\\[][^\\[]*)\\[(", $$('CC_ANY'), "+)?\\]$"]));
2092
+ $const_set($nesting[0], 'IncludeDirectiveRx', $regexp(["^(\\\\)?include::([^\\s\\[](?:[^\\[]*[^\\s\\[])?)\\[(", $$('CC_ANY'), "+)?\\]$"]));
2080
2093
  $const_set($nesting[0], 'TagDirectiveRx', /\b(?:tag|(e)nd)::(\S+?)\[\](?=$|[ \r])/m);
2081
2094
  $const_set($nesting[0], 'AttributeEntryRx', $regexp(["^:(!?", $$('CG_WORD'), "[^:]*):(?:[ \\t]+(", $$('CC_ANY'), "*))?$"]));
2082
2095
  $const_set($nesting[0], 'InvalidAttributeNameCharsRx', $regexp(["[^", $$('CC_WORD'), "-]"]));
@@ -2134,14 +2147,13 @@ Opal.modules["asciidoctor/rx"] = function(Opal) {/* Generated by Opal 1.7.3 */
2134
2147
  $const_set($nesting[0], 'InlineImageMacroRx', $regexp(["\\\\?i(?:mage|con):([^:\\s\\[](?:[^\\n\\[]*[^\\s\\[])?)\\[(|", $$('CC_ALL'), "*?[^\\\\])\\]"], 'm'));
2135
2148
  $const_set($nesting[0], 'InlineIndextermMacroRx', $regexp(["\\\\?(?:(indexterm2?):\\[(", $$('CC_ALL'), "*?[^\\\\])\\]|\\(\\((", $$('CC_ALL'), "+?)\\)\\)(?!\\)))"], 'm'));
2136
2149
  $const_set($nesting[0], 'InlineKbdBtnMacroRx', $regexp(["(\\\\)?(kbd|btn):\\[(", $$('CC_ALL'), "*?[^\\\\])\\]"], 'm'));
2137
- $const_set($nesting[0], 'InlineLinkRx', $regexp(["(^|link:|", $$('CG_BLANK'), "|&lt;|[>\\(\\)\\[\\];\"'])(\\\\?(?:https?|file|ftp|irc)://[^\\s\\[\\]<]*([^\\s.,\\[\\]<]))(?:\\[(|", $$('CC_ALL'), "*?[^\\\\])\\])?"], 'm'));
2150
+ $const_set($nesting[0], 'InlineLinkRx', $regexp(["(^|link:|", $$('CG_BLANK'), "|&lt;|[>\\(\\)\\[\\];\"'])(\\\\?(?:https?|file|ftp|irc)://)(?:([^\\s\\[\\]]+)\\[(|", $$('CC_ALL'), "*?[^\\\\])\\]|([^\\s\\[\\]<]*([^\\s,.?!\\[\\]<\\)])))"], 'm'));
2138
2151
  $const_set($nesting[0], 'InlineLinkMacroRx', $regexp(["\\\\?(?:link|(mailto)):(|[^:\\s\\[][^\\s\\[]*)\\[(|", $$('CC_ALL'), "*?[^\\\\])\\]"], 'm'));
2139
2152
  $const_set($nesting[0], 'MacroNameRx', $regexp(["^", $$('CG_WORD'), "[", $$('CC_WORD'), "-]*$"]));
2140
2153
  $const_set($nesting[0], 'InlineStemMacroRx', $regexp(["\\\\?(stem|(?:latex|ascii)math):([a-z]+(?:,[a-z-]+)*)?\\[(", $$('CC_ALL'), "*?[^\\\\])\\]"], 'm'));
2141
2154
  $const_set($nesting[0], 'InlineMenuMacroRx', $regexp(["\\\\?menu:(", $$('CG_WORD'), "|[", $$('CC_WORD'), "&][^\\n\\[]*[^\\s\\[])\\[ *(?:|(", $$('CC_ALL'), "*?[^\\\\]))\\]"], 'm'));
2142
2155
  $const_set($nesting[0], 'InlineMenuRx', $regexp(["\\\\?\"([", $$('CC_WORD'), "&][^\"]*?[ \\n]+&gt;[ \\n]+[^\"]*)\""]));
2143
- $const_set($nesting[0], 'InlinePassRx', $hash(false, ["+", "`", $regexp(["(^|[^", $$('CC_WORD'), ";:])(?:\\[([^\\]]+)\\])?(\\\\?(\\+|`)(\\S|\\S", $$('CC_ALL'), "*?\\S)\\4)(?!", $$('CG_WORD'), ")"], 'm')], true, ["`", nil, $regexp(["(^|[^`", $$('CC_WORD'), "])(?:\\[([^\\]]+)\\])?(\\\\?(`)([^`\\s]|[^`\\s]", $$('CC_ALL'), "*?\\S)\\4)(?![`", $$('CC_WORD'), "])"], 'm')]));
2144
- $const_set($nesting[0], 'SinglePlusInlinePassRx', $regexp(["^(\\\\)?\\+(\\S|\\S", $$('CC_ALL'), "*?\\S)\\+$"], 'm'));
2156
+ $const_set($nesting[0], 'InlinePassRx', $hash(false, ["+", "-]", $regexp(["((?:^|[^", $$('CC_WORD'), ";:\\\\])(?=(\\[)|\\+)|\\\\(?=\\[)|(?=\\\\\\+))(?:\\2(x-|[^\\]]+ x-)\\]|(?:\\[([^\\]]+)\\])?(?=(\\\\)?\\+))(\\5?(\\+|`)(\\S|\\S", $$('CC_ALL'), "*?\\S)\\7)(?!", $$('CG_WORD'), ")"], 'm')], true, ["`", nil, $regexp(["(^|[^`", $$('CC_WORD'), "])(?:(\\Z)()|\\[([^\\]]+)\\](?=(\\\\))?)?(\\5?(`)([^`\\s]|[^`\\s]", $$('CC_ALL'), "*?\\S)\\7)(?![`", $$('CC_WORD'), "])"], 'm')]));
2145
2157
  $const_set($nesting[0], 'InlinePassMacroRx', $regexp(["(?:(?:(\\\\?)\\[([^\\]]+)\\])?(\\\\{0,2})(\\+\\+\\+?|\\$\\$)(", $$('CC_ALL'), "*?)\\4|(\\\\?)pass:([a-z]+(?:,[a-z-]+)*)?\\[(|", $$('CC_ALL'), "*?[^\\\\])\\])"], 'm'));
2146
2158
  $const_set($nesting[0], 'InlineXrefMacroRx', $regexp(["\\\\?(?:&lt;&lt;([", $$('CC_WORD'), "#/.:{]", $$('CC_ALL'), "*?)&gt;&gt;|xref:([", $$('CC_WORD'), "#/.:{]", $$('CC_ALL'), "*?)\\[(?:\\]|(", $$('CC_ALL'), "*?[^\\\\])\\]))"], 'm'));
2147
2159
  $const_set($nesting[0], 'HardLineBreakRx', $regexp(["^(", $$('CC_ANY'), "*) \\+$"], 'm'));
@@ -2161,7 +2173,7 @@ Opal.modules["asciidoctor/rx"] = function(Opal) {/* Generated by Opal 1.7.3 */
2161
2173
  Opal.modules["asciidoctor/substitutors"] = function(Opal) {/* Generated by Opal 1.7.3 */
2162
2174
  var $module = Opal.module, $const_set = Opal.const_set, $hash2 = Opal.hash2, $hash = Opal.hash, $rb_plus = Opal.rb_plus, $regexp = Opal.regexp, $not = Opal.not, $truthy = Opal.truthy, $send = Opal.send, $def = Opal.def, $alias = Opal.alias, $gvars = Opal.gvars, $eqeq = Opal.eqeq, $to_ary = Opal.to_ary, $neqeq = Opal.neqeq, $to_a = Opal.to_a, $eqeqeq = Opal.eqeqeq, $rb_gt = Opal.rb_gt, $slice = Opal.slice, $rb_minus = Opal.rb_minus, $rb_lt = Opal.rb_lt, $rb_times = Opal.rb_times, $nesting = [], nil = Opal.nil, $$$ = Opal.$$$;
2163
2175
 
2164
- Opal.add_stubs('freeze,+,keys,!,empty?,===,[],join,include?,extract_passthroughs,each,sub_specialchars,sub_quotes,sub_attributes,sub_replacements,sub_macros,highlight_source,sub_callouts,sub_post_replacements,warn,logger,restore_passthroughs,clear,split,apply_subs,gsub,match?,compat_mode,convert_quoted_text,attributes,==,shift,store_attribute,!=,attribute_undefined,counter,key?,downcase,attribute_missing,info,squeeze,delete,reject,start_with?,do_replacement,inline_macros?,extensions,inline_macros,regexp,instance,slice,length,names,config,merge,[]=,normalize_text,parse_attributes,process_method,expand_subs,text=,text,convert,class,strip,index,min,compact,>,end_with?,map,chop,new,pop,rstrip,register,tr,basename,parse,lstrip,split_simple_csv,-,partition,extract_attributes_from_text,sub,encode_uri_component,style,extname?,rindex,catalog,info?,fetch,outfilesuffix,natural_xrefs,resolve_id,find,footnotes,id,<,size,<<,attr?,attr,to_s,read_next_id,callouts,highlight?,syntax_highlighter,sub_source,extract_callouts,name,to_i,to_sym,resolve_lines_to_highlight,highlight,nil_or_empty?,restore_callouts,count,to_a,|,sort,*,parse_quoted_text_attributes,resolve_pass_subs,extract_inner_passthrough,basebackend?,error,chr,drop,&,resolve_subs,resolve_block_subs,parse_into,private,=~,shorthand_property_syntax,each_char');
2176
+ Opal.add_stubs('freeze,+,keys,!,empty?,===,[],join,include?,extract_passthroughs,each,sub_specialchars,sub_quotes,sub_attributes,sub_replacements,sub_macros,highlight_source,sub_callouts,sub_post_replacements,warn,logger,restore_passthroughs,clear,split,apply_subs,gsub,match?,compat_mode,convert_quoted_text,attributes,==,shift,store_attribute,!=,attribute_undefined,counter,key?,downcase,attribute_missing,info,squeeze,delete,reject,start_with?,do_replacement,inline_macros?,extensions,inline_macros,regexp,instance,slice,length,names,config,merge,[]=,normalize_text,parse_attributes,process_method,expand_subs,text=,text,convert,class,strip,index,min,compact,>,end_with?,map,chop,new,pop,rstrip,register,tr,basename,parse,lstrip,split_simple_csv,-,partition,extract_attributes_from_text,sub,encode_uri_component,style,extname?,rindex,catalog,info?,fetch,outfilesuffix,natural_xrefs,resolve_id,find,footnotes,id,<,size,<<,attr?,attr,to_s,read_next_id,callouts,highlight?,syntax_highlighter,sub_source,extract_callouts,name,to_i,to_sym,resolve_lines_to_highlight,highlight,nil_or_empty?,restore_callouts,count,to_a,|,sort,*,parse_quoted_text_attributes,resolve_pass_subs,basebackend?,error,chr,drop,&,resolve_subs,resolve_block_subs,parse_into,private,shorthand_property_syntax,each_char');
2165
2177
  return (function($base, $parent_nesting) {
2166
2178
  var self = $module($base, 'Asciidoctor');
2167
2179
 
@@ -2667,11 +2679,11 @@ Opal.modules["asciidoctor/substitutors"] = function(Opal) {/* Generated by Opal
2667
2679
  return subbed_term
2668
2680
  } }}, {$$s: self});
2669
2681
  } if (($truthy(found_colon) && ($truthy(text['$include?']("://"))))) {
2670
- text = $send(text, 'gsub', [$$('InlineLinkRx')], function $$25(){var $a, $b, self = $$25.$$s == null ? this : $$25.$$s, target = nil, prefix = nil, suffix = nil, link_text = nil, attrs = nil, link_opts = nil, new_link_text = nil, bare = nil;
2682
+ text = $send(text, 'gsub', [$$('InlineLinkRx')], function $$25(){var $a, $b, self = $$25.$$s == null ? this : $$25.$$s, target = nil, rs_idx = nil, prefix = nil, suffix = nil, link_text = nil, attrs = nil, link_opts = nil, new_link_text = nil, bare = nil;
2671
2683
 
2672
2684
 
2673
- if ($truthy((target = (($a = $gvars['~']) === nil ? nil : $a['$[]'](2)))['$start_with?']($$('RS')))) {
2674
- return "" + ((($a = $gvars['~']) === nil ? nil : $a['$[]'](1))) + (target.$slice(1, target.$length())) + ((($a = $gvars['~']) === nil ? nil : $a['$[]'](4)))
2685
+ if ($truthy((target = $rb_plus((($a = $gvars['~']) === nil ? nil : $a['$[]'](2)), ($truthy(($ret_or_1 = (($a = $gvars['~']) === nil ? nil : $a['$[]'](3)))) ? ($ret_or_1) : ((($a = $gvars['~']) === nil ? nil : $a['$[]'](5))))))['$start_with?']($$('RS')))) {
2686
+ return $rb_plus((($a = $gvars['~']) === nil ? nil : $a['$[]'](0)).$slice(0, (rs_idx = (($a = $gvars['~']) === nil ? nil : $a['$[]'](1)).$length())), (($a = $gvars['~']) === nil ? nil : $a['$[]'](0)).$slice($rb_plus(rs_idx, 1), (($a = $gvars['~']) === nil ? nil : $a['$[]'](0)).$length()))
2675
2687
  } $a = [(($b = $gvars['~']) === nil ? nil : $b['$[]'](1)), ""], (prefix = $a[0]), (suffix = $a[1]);
2676
2688
  if ($truthy((($a = $gvars['~']) === nil ? nil : $a['$[]'](4)))) {
2677
2689
 
@@ -2688,19 +2700,7 @@ Opal.modules["asciidoctor/substitutors"] = function(Opal) {/* Generated by Opal
2688
2700
  case "'":
2689
2701
  return (($a = $gvars['~']) === nil ? nil : $a['$[]'](0))
2690
2702
  }
2691
- switch ((($a = $gvars['~']) === nil ? nil : $a['$[]'](3))) {
2692
- case ")":
2693
- case "?":
2694
- case "!":
2695
-
2696
- target = target.$chop();
2697
- if (($eqeq((suffix = (($a = $gvars['~']) === nil ? nil : $a['$[]'](3))), ")") && ($truthy(target['$end_with?'](".", "?", "!"))))) {
2698
-
2699
- suffix = $rb_plus(target['$[]'](-1), suffix);
2700
- target = target.$chop();
2701
- } if ($truthy(target['$end_with?']("://"))) {
2702
- return (($a = $gvars['~']) === nil ? nil : $a['$[]'](0))
2703
- } break;
2703
+ switch ((($a = $gvars['~']) === nil ? nil : $a['$[]'](6))) {
2704
2704
  case ";":
2705
2705
 
2706
2706
  if (($truthy(prefix['$start_with?']("&lt;")) && ($truthy(target['$end_with?']("&gt;"))))) {
@@ -2877,7 +2877,7 @@ Opal.modules["asciidoctor/substitutors"] = function(Opal) {/* Generated by Opal
2877
2877
  $b = self.$extract_attributes_from_text(link_text), $a = $to_ary($b), (link_text = ($a[0] == null ? nil : $a[0])), (attrs = ($a[1] == null ? nil : $a[1]));
2878
2878
  } } } if ($truthy(doc.$compat_mode())) {
2879
2879
  fragment = refid;
2880
- } else if ($truthy((hash_idx = refid.$index("#")))) {
2880
+ } else if (($truthy((hash_idx = refid.$index("#"))) && ($neqeq(refid['$[]']($rb_minus(hash_idx, 1)), "&")))) {
2881
2881
  if ($truthy($rb_gt(hash_idx, 0))) {
2882
2882
 
2883
2883
  if ($truthy($rb_gt((fragment_len = $rb_minus($rb_minus(refid.$length(), 1), hash_idx)), 0))) {
@@ -3137,13 +3137,20 @@ Opal.modules["asciidoctor/substitutors"] = function(Opal) {/* Generated by Opal
3137
3137
  return "" + ((($a = $gvars['~']) === nil ? nil : $a['$[]'](1))) + "[" + (attrlist) + "]" + ($rb_times($$('RS'), $rb_minus(escape_count, 1))) + (boundary) + ((($a = $gvars['~']) === nil ? nil : $a['$[]'](5))) + (boundary)
3138
3138
  } else if ($eqeq((($a = $gvars['~']) === nil ? nil : $a['$[]'](1)), $$('RS'))) {
3139
3139
  preceding = "[" + (attrlist) + "]";
3140
- } else {
3141
-
3142
- if (($eqeq(boundary, "++") && ($truthy(attrlist['$end_with?']("x-"))))) {
3140
+ } else if ($eqeq(boundary, "++")) {
3141
+ if ($eqeq(attrlist, "x-")) {
3143
3142
 
3144
3143
  old_behavior = true;
3145
- attrlist = attrlist.$slice(0, $rb_minus(attrlist.$length(), 2));
3146
- } attributes = self.$parse_quoted_text_attributes(attrlist);
3144
+ attributes = $hash2([], {});
3145
+ } else if ($truthy(attrlist['$end_with?'](" x-"))) {
3146
+
3147
+ old_behavior = true;
3148
+ attributes = self.$parse_quoted_text_attributes(attrlist.$slice(0, $rb_minus(attrlist.$length(), 3)));
3149
+ } else {
3150
+ attributes = self.$parse_quoted_text_attributes(attrlist);
3151
+ }
3152
+ } else {
3153
+ attributes = self.$parse_quoted_text_attributes(attrlist);
3147
3154
  }
3148
3155
  } else if ($truthy($rb_gt((escape_count = (($a = $gvars['~']) === nil ? nil : $a['$[]'](3)).$length()), 0))) {
3149
3156
  return "" + ($rb_times($$('RS'), $rb_minus(escape_count, 1))) + (boundary) + ((($a = $gvars['~']) === nil ? nil : $a['$[]'](5))) + (boundary)
@@ -3167,33 +3174,37 @@ Opal.modules["asciidoctor/substitutors"] = function(Opal) {/* Generated by Opal
3167
3174
  } } return "" + (($truthy(($ret_or_1 = preceding)) ? ($ret_or_1) : (""))) + ($$('PASS_START')) + (passthru_key) + ($$('PASS_END'));}, {$$s: self});
3168
3175
  } $b = $$('InlinePassRx')['$[]'](compat_mode), $a = $to_ary($b), (pass_inline_char1 = ($a[0] == null ? nil : $a[0])), (pass_inline_char2 = ($a[1] == null ? nil : $a[1])), (pass_inline_rx = ($a[2] == null ? nil : $a[2]));
3169
3176
  if (($truthy(text['$include?'](pass_inline_char1)) || (($truthy(pass_inline_char2) && ($truthy(text['$include?'](pass_inline_char2))))))) {
3170
- text = $send(text, 'gsub', [pass_inline_rx], function $$39(){var $c, self = $$39.$$s == null ? this : $$39.$$s, preceding = nil, attrlist = nil, quoted_text = nil, escape_mark = nil, format_mark = nil, content = nil, old_behavior = nil, $ret_or_1 = nil, attributes = nil, passthru_key = nil, subs = nil;
3177
+ text = $send(text, 'gsub', [pass_inline_rx], function $$39(){var $c, self = $$39.$$s == null ? this : $$39.$$s, preceding = nil, attrlist = nil, $ret_or_1 = nil, escaped = nil, quoted_text = nil, format_mark = nil, content = nil, old_behavior = nil, old_behavior_forced = nil, attributes = nil, passthru_key = nil, subs = nil;
3171
3178
 
3172
3179
 
3173
3180
  preceding = (($c = $gvars['~']) === nil ? nil : $c['$[]'](1));
3174
- attrlist = (($c = $gvars['~']) === nil ? nil : $c['$[]'](2));
3175
- if ($truthy((quoted_text = (($c = $gvars['~']) === nil ? nil : $c['$[]'](3)))['$start_with?']($$('RS')))) {
3176
- escape_mark = $$('RS');
3177
- } format_mark = (($c = $gvars['~']) === nil ? nil : $c['$[]'](4));
3178
- content = (($c = $gvars['~']) === nil ? nil : $c['$[]'](5));
3181
+ attrlist = ($truthy(($ret_or_1 = (($c = $gvars['~']) === nil ? nil : $c['$[]'](4)))) ? ($ret_or_1) : ((($c = $gvars['~']) === nil ? nil : $c['$[]'](3))));
3182
+ if ($truthy((($c = $gvars['~']) === nil ? nil : $c['$[]'](5)))) {
3183
+ escaped = true;
3184
+ } quoted_text = (($c = $gvars['~']) === nil ? nil : $c['$[]'](6));
3185
+ format_mark = (($c = $gvars['~']) === nil ? nil : $c['$[]'](7));
3186
+ content = (($c = $gvars['~']) === nil ? nil : $c['$[]'](8));
3179
3187
  if ($truthy(compat_mode)) {
3180
3188
  old_behavior = true;
3181
- } else if ($truthy((old_behavior = ($truthy(($ret_or_1 = attrlist)) ? (attrlist['$end_with?']("x-")) : ($ret_or_1))))) {
3182
- attrlist = attrlist.$slice(0, $rb_minus(attrlist.$length(), 2));
3189
+ } else if (($truthy(attrlist) && (($eqeq(attrlist, "x-") || ($truthy(attrlist['$end_with?'](" x-"))))))) {
3190
+ old_behavior = (old_behavior_forced = true);
3183
3191
  } if ($truthy(attrlist)) {
3184
- if (($eqeq(format_mark, "`") && ($not(old_behavior)))) {
3185
- return self.$extract_inner_passthrough(content, "" + (preceding) + "[" + (attrlist) + "]" + (escape_mark))
3186
- } else if ($truthy(escape_mark)) {
3192
+ if ($truthy(escaped)) {
3187
3193
  return "" + (preceding) + "[" + (attrlist) + "]" + (quoted_text.$slice(1, quoted_text.$length()))
3188
3194
  } else if ($eqeq(preceding, $$('RS'))) {
3189
- preceding = "[" + (attrlist) + "]";
3195
+
3196
+ if (($truthy(old_behavior_forced) && ($eqeq(format_mark, "`")))) {
3197
+ return "" + (preceding) + "[" + (attrlist) + "]" + (quoted_text)
3198
+ } preceding = "[" + (attrlist) + "]";
3199
+ } else if ($truthy(old_behavior_forced)) {
3200
+ attributes = ($eqeq(attrlist, "x-") ? ($hash2([], {})) : (self.$parse_quoted_text_attributes(attrlist.$slice(0, $rb_minus(attrlist.$length(), 3)))));
3190
3201
  } else {
3191
3202
  attributes = self.$parse_quoted_text_attributes(attrlist);
3192
3203
  }
3193
- } else if (($eqeq(format_mark, "`") && ($not(old_behavior)))) {
3194
- return self.$extract_inner_passthrough(content, "" + (preceding) + (escape_mark))
3195
- } else if ($truthy(escape_mark)) {
3204
+ } else if ($truthy(escaped)) {
3196
3205
  return "" + (preceding) + (quoted_text.$slice(1, quoted_text.$length()))
3206
+ } else if (($truthy(compat_mode) && ($eqeq(preceding, $$('RS'))))) {
3207
+ return quoted_text
3197
3208
  } if ($truthy(compat_mode)) {
3198
3209
  passthrus['$[]=']((passthru_key = passthrus.$size()), $hash2(["text", "subs", "attributes", "type"], {"text": content, "subs": $$('BASIC_SUBS'), "attributes": attributes, "type": "monospaced"}));
3199
3210
  } else if ($truthy(attributes)) {
@@ -3514,23 +3525,6 @@ Opal.modules["asciidoctor/substitutors"] = function(Opal) {/* Generated by Opal
3514
3525
  }}, {$$s: self}).$join($$('LF')));
3515
3526
  }, -3);
3516
3527
 
3517
- $def(self, '$extract_inner_passthrough', function $$extract_inner_passthrough(text, pre) {
3518
- var $a, self = this, passthru_key = nil;
3519
- if (self.passthroughs == null) self.passthroughs = nil;
3520
-
3521
- if ((($truthy(text['$end_with?']("+")) && ($truthy(text['$start_with?']("+", "\\+")))) && ($truthy($$('SinglePlusInlinePassRx')['$=~'](text))))) {
3522
- if ($truthy((($a = $gvars['~']) === nil ? nil : $a['$[]'](1)))) {
3523
- return "" + (pre) + "`+" + ((($a = $gvars['~']) === nil ? nil : $a['$[]'](2))) + "+`"
3524
- } else {
3525
-
3526
- self.passthroughs['$[]=']((passthru_key = self.passthroughs.$size()), $hash2(["text", "subs"], {"text": (($a = $gvars['~']) === nil ? nil : $a['$[]'](2)), "subs": $$('BASIC_SUBS')}));
3527
- return "" + (pre) + "`" + ($$('PASS_START')) + (passthru_key) + ($$('PASS_END')) + "`";
3528
- }
3529
- } else {
3530
- return "" + (pre) + "`" + (text) + "`"
3531
- }
3532
- });
3533
-
3534
3528
  $def(self, '$convert_quoted_text', function $$convert_quoted_text(match, type, scope) {
3535
3529
  var self = this, attrs = nil, unescaped_attrs = nil, attrlist = nil, id = nil, attributes = nil;
3536
3530
 
@@ -3676,7 +3670,7 @@ Opal.modules["asciidoctor/version"] = function(Opal) {/* Generated by Opal 1.7.3
3676
3670
 
3677
3671
  var $nesting = [self].concat($parent_nesting);
3678
3672
 
3679
- return $const_set($nesting[0], 'VERSION', "2.0.18")
3673
+ return $const_set($nesting[0], 'VERSION', "2.0.20")
3680
3674
  })($nesting[0], $nesting)
3681
3675
  };
3682
3676
 
@@ -4921,7 +4915,11 @@ Opal.modules["asciidoctor/block"] = function(Opal) {/* Generated by Opal 1.7.3 *
4921
4915
 
4922
4916
  result = self.$apply_subs(self.lines, self.subs);
4923
4917
  if ($truthy($rb_lt(result.$size(), 2))) {
4924
- return result['$[]'](0)
4918
+ if ($truthy(($ret_or_2 = result['$[]'](0)))) {
4919
+ return $ret_or_2
4920
+ } else {
4921
+ return ""
4922
+ }
4925
4923
  } else {
4926
4924
 
4927
4925
  while ($truthy(($truthy(($ret_or_2 = (first = result['$[]'](0)))) ? (first.$rstrip()['$empty?']()) : ($ret_or_2)))) {
@@ -5619,7 +5617,7 @@ Opal.modules["asciidoctor/document"] = function(Opal) {/* Generated by Opal 1.7.
5619
5617
  self.$attr_reader("extensions");
5620
5618
 
5621
5619
  $def(self, '$initialize', function $$initialize(data, options) {
5622
- var $b, $c, $d, $e, self = this, parent_doc = nil, $ret_or_1 = nil, attr_overrides = nil, parent_doctype = nil, initialize_extensions = nil, to_file = nil, safe_mode = nil, input_mtime = nil, standalone = nil, attrs = nil, safe_mode_name = nil, base_dir_val = nil, backend_val = nil, doctype_val = nil, size = nil, initial_backend = nil, ext_registry = nil, ext_block = nil;
5620
+ var $b, $c, $d, $e; $$initialize.$$p || nil; var self = this, parent_doc = nil, $ret_or_1 = nil, attr_overrides = nil, parent_doctype = nil, initialize_extensions = nil, to_file = nil, safe_mode = nil, input_mtime = nil, standalone = nil, attrs = nil, safe_mode_name = nil, base_dir_val = nil, backend_val = nil, doctype_val = nil, size = nil, initial_backend = nil, ext_registry = nil, ext_block = nil;
5623
5621
 
5624
5622
  $$initialize.$$p = null;
5625
5623
 
@@ -6920,7 +6918,7 @@ Opal.modules["asciidoctor/list"] = function(Opal) {/* Generated by Opal 1.7.3 */
6920
6918
  self.$attr_accessor("marker");
6921
6919
 
6922
6920
  $def(self, '$initialize', function $$initialize(parent, text) {
6923
- var self = this;
6921
+ $$initialize.$$p || nil; var self = this;
6924
6922
 
6925
6923
  $$initialize.$$p = null;
6926
6924
 
@@ -6992,7 +6990,7 @@ Opal.modules["asciidoctor/list"] = function(Opal) {/* Generated by Opal 1.7.3 */
6992
6990
  Opal.modules["asciidoctor/parser"] = function(Opal) {/* Generated by Opal 1.7.3 */
6993
6991
  var $module = Opal.module, $klass = Opal.klass, $const_set = Opal.const_set, $send = Opal.send, $truthy = Opal.truthy, $hash2 = Opal.hash2, $to_ary = Opal.to_ary, $defs = Opal.defs, $eqeq = Opal.eqeq, $not = Opal.not, $gvars = Opal.gvars, $neqeq = Opal.neqeq, $rb_plus = Opal.rb_plus, $rb_lt = Opal.rb_lt, $rb_gt = Opal.rb_gt, $to_a = Opal.to_a, $eqeqeq = Opal.eqeqeq, $rb_minus = Opal.rb_minus, $rb_times = Opal.rb_times, $thrower = Opal.thrower, $nesting = [], nil = Opal.nil, $$$ = Opal.$$$;
6994
6992
 
6995
- Opal.add_stubs('include,new,proc,start_with?,match?,is_delimited_block?,private_class_method,parse_document_header,[],has_more_lines?,next_section,assign_numeral,<<,blocks,skip_blank_lines,parse_block_metadata_lines,attributes,is_next_line_doctitle?,[]=,finalize_header,nil_or_empty?,title=,sourcemap,cursor,parse_section_title,id=,include?,sub_specialchars,sub_attributes,source_location=,header,attribute_locked?,id,clear,delete,instance_variable_get,parse_header_metadata,==,!,register,process_authors,update,doctype,parse_manpage_header,=~,downcase,error,logger,message_with_context,cursor_at_line,backend,save,is_next_line_section?,initialize_section,join,map,read_lines_until,lstrip,split,title,restore_save,discard_save,header?,empty?,context,!=,attr?,attr,key?,document,+,level,special,sectname,to_i,<,>,warn,next_block,blocks?,style,context=,style=,parent=,size,content_model,shift,unwrap_standalone_preamble,source_location,merge,fetch,parse_block_metadata_line,extensions,block_macros?,mark,read_line,terminator,to_s,masq,to_sym,registered_for_block?,debug?,debug,cursor_at_mark,strict_verbatim_paragraphs,unshift_line,markdown_syntax,keys,chr,uniform?,length,end_with?,parse_attributes,attribute_missing,tr,basename,assign_caption,registered_for_block_macro?,config,process_method,replace,parse_callout_list,callouts,===,parse_list,parse_description_list,underline_style_section_titles,is_section_title?,peek_line,atx_section_title?,generate_id,level=,read_paragraph_lines,adjust_indentation!,map!,slice,pop,build_block,apply_subs,chop,catalog_inline_anchors,rekey,index,strip,-,parse_table,each,raise,title?,update_attributes,commit_subs,sub?,catalog_callouts,source,remove_sub,block_terminates_paragraph,to_proc,nil?,lines,parse_blocks,parse_list_item,items,scan,gsub,count,advance,dup,match,callout_ids,next_list,catalog_inline_anchor,marker=,catalog_inline_biblio_anchor,set_option,text=,resolve_ordered_list_marker,read_lines_for_list_item,skip_line_comments,unshift_lines,fold_first,text?,is_sibling_list_item?,concat,find,casecmp,sectname=,special=,numbered=,numbered,lineno,peek_lines,setext_section_title?,abs,cursor_at_prev_line,process_attribute_entries,next_line_empty?,apply_header_subs,rstrip,each_with_index,compact,to_h,squeeze,to_a,parse_style_attribute,process_attribute_entry,skip_comment_lines,store_attribute,sanitize_attribute_name,set_attribute,save_to,delete_attribute,ord,int_to_roman,resolve_list_marker,parse_colspecs,create_columns,has_header_option=,format,starts_with_delimiter?,close_open_cell,parse_cellspec,delimiter,match_delimiter,pre_match,post_match,buffer_has_unclosed_quotes?,skip_past_delimiter,buffer=,buffer,skip_past_escaped_delimiter,keep_cell_open,push_cellspec,close_cell,cell_open?,columns,assign_column_widths,partition_header_footer,upto,partition,shorthand_property_syntax,each_char,yield_buffered_attribute,any?,*,each_byte,%');
6993
+ Opal.add_stubs('include,new,proc,start_with?,match?,is_delimited_block?,private_class_method,parse_document_header,[],has_more_lines?,next_section,assign_numeral,<<,blocks,skip_blank_lines,parse_block_metadata_lines,attributes,is_next_line_doctitle?,[]=,finalize_header,nil_or_empty?,title=,sourcemap,cursor,parse_section_title,id=,include?,sub_specialchars,sub_attributes,source_location=,header,attribute_locked?,id,clear,delete,instance_variable_get,parse_header_metadata,==,!,register,process_authors,update,doctype,parse_manpage_header,=~,downcase,error,logger,message_with_context,cursor_at_line,backend,save,is_next_line_section?,initialize_section,join,map,read_lines_until,lstrip,split,title,restore_save,discard_save,header?,empty?,context,!=,attr?,attr,key?,document,+,level,special,sectname,to_i,<,>,warn,next_block,blocks?,style,style=,parent=,content_model,content_model=,lines,subs,size,context=,shift,unwrap_standalone_preamble,source_location,merge,fetch,parse_block_metadata_line,extensions,block_macros?,mark,read_line,terminator,to_s,masq,to_sym,registered_for_block?,debug?,debug,cursor_at_mark,strict_verbatim_paragraphs,unshift_line,markdown_syntax,keys,chr,uniform?,length,end_with?,parse_attributes,attribute_missing,tr,basename,assign_caption,registered_for_block_macro?,config,process_method,replace,parse_callout_list,callouts,===,parse_list,parse_description_list,underline_style_section_titles,is_section_title?,peek_line,atx_section_title?,generate_id,level=,read_paragraph_lines,adjust_indentation!,map!,slice,pop,build_block,apply_subs,chop,catalog_inline_anchors,rekey,index,strip,-,parse_table,each,raise,title?,update_attributes,commit_subs,sub?,catalog_callouts,source,remove_sub,block_terminates_paragraph,to_proc,nil?,parse_blocks,parse_list_item,items,scan,gsub,count,advance,dup,match,callout_ids,next_list,catalog_inline_anchor,marker=,catalog_inline_biblio_anchor,set_option,text=,resolve_ordered_list_marker,read_lines_for_list_item,skip_line_comments,unshift_lines,fold_first,text?,is_sibling_list_item?,concat,find,casecmp,sectname=,special=,numbered=,numbered,lineno,peek_lines,setext_section_title?,abs,cursor_at_prev_line,process_attribute_entries,next_line_empty?,apply_header_subs,rstrip,each_with_index,compact,to_h,squeeze,to_a,parse_style_attribute,process_attribute_entry,skip_comment_lines,store_attribute,sanitize_attribute_name,set_attribute,save_to,delete_attribute,ord,int_to_roman,resolve_list_marker,parse_colspecs,create_columns,has_header_option=,format,starts_with_delimiter?,close_open_cell,parse_cellspec,delimiter,match_delimiter,pre_match,post_match,buffer_has_unclosed_quotes?,skip_past_delimiter,buffer=,buffer,skip_past_escaped_delimiter,keep_cell_open,push_cellspec,close_cell,cell_open?,columns,assign_column_widths,partition_header_footer,upto,partition,shorthand_property_syntax,each_char,yield_buffered_attribute,any?,*,each_byte,%');
6996
6994
  return (function($base, $parent_nesting) {
6997
6995
  var self = $module($base, 'Asciidoctor');
6998
6996
 
@@ -7282,9 +7280,7 @@ Opal.modules["asciidoctor/parser"] = function(Opal) {/* Generated by Opal 1.7.3
7282
7280
  if ($truthy(part)) {
7283
7281
  if ($not(section['$blocks?']())) {
7284
7282
  if ($neqeq(new_block.$style(), "partintro")) {
7285
- if ($eqeq(new_block.$context(), "paragraph")) {
7286
-
7287
- new_block['$context=']("open");
7283
+ if (($eqeq(new_block.$style(), "open") && ($eqeq(new_block.$context(), "open")))) {
7288
7284
  new_block['$style=']("partintro");
7289
7285
  } else {
7290
7286
 
@@ -7292,6 +7288,12 @@ Opal.modules["asciidoctor/parser"] = function(Opal) {/* Generated by Opal 1.7.3
7292
7288
  intro['$style=']("partintro");
7293
7289
  section.$blocks()['$<<'](intro);
7294
7290
  }
7291
+ } else if ($eqeq(new_block.$content_model(), "simple")) {
7292
+
7293
+ new_block['$content_model=']("compound");
7294
+ new_block['$<<']($$('Block').$new(new_block, "paragraph", $hash2(["source", "subs"], {"source": new_block.$lines(), "subs": new_block.$subs()})));
7295
+ new_block.$lines().$clear();
7296
+ new_block.$subs().$clear();
7295
7297
  }
7296
7298
  } else if ($eqeq(section.$blocks().$size(), 1)) {
7297
7299
 
@@ -7301,13 +7303,12 @@ Opal.modules["asciidoctor/parser"] = function(Opal) {/* Generated by Opal 1.7.3
7301
7303
  } else if ($neqeq(first_block.$content_model(), "compound")) {
7302
7304
 
7303
7305
  new_block['$parent=']((intro = $$('Block').$new(section, "open", $hash2(["content_model"], {"content_model": "compound"}))));
7304
- intro['$style=']("partintro");
7305
- section.$blocks().$shift();
7306
- if ($eqeq(first_block.$style(), "partintro")) {
7306
+ if ($eqeq(first_block.$style(), ($a = ["partintro"], $send(intro, 'style=', $a), $a[$a.length - 1]))) {
7307
7307
 
7308
7308
  first_block['$context=']("paragraph");
7309
7309
  first_block['$style='](nil);
7310
- } intro['$<<'](first_block);
7310
+ } section.$blocks().$shift();
7311
+ intro['$<<'](first_block);
7311
7312
  section.$blocks()['$<<'](intro);
7312
7313
  } }
7313
7314
  } ($truthy(($ret_or_1 = intro)) ? ($ret_or_1) : (section)).$blocks()['$<<'](new_block);
@@ -8002,8 +8003,10 @@ Opal.modules["asciidoctor/parser"] = function(Opal) {/* Generated by Opal 1.7.3
8002
8003
  reftext = reftext.$gsub("\\]", "]");
8003
8004
  if ($truthy(reftext['$include?']($$('ATTR_REF_HEAD')))) {
8004
8005
  reftext = document.$sub_attributes(reftext);
8005
- } } else if (($truthy(reftext['$include?']($$('ATTR_REF_HEAD'))) && ($truthy((reftext = document.$sub_attributes(reftext))['$empty?']())))) {
8006
- return nil
8006
+ } } else if ($truthy(reftext['$include?']($$('ATTR_REF_HEAD')))) {
8007
+ if ($truthy((reftext = document.$sub_attributes(reftext))['$empty?']())) {
8008
+ reftext = nil;
8009
+ }
8007
8010
  }
8008
8011
  } } if ($truthy(document.$register("refs", [id, $$('Inline').$new(block, "anchor", reftext, $hash2(["type", "id"], {"type": "ref", "id": id}))]))) {
8009
8012
  return nil
@@ -8163,7 +8166,7 @@ Opal.modules["asciidoctor/parser"] = function(Opal) {/* Generated by Opal 1.7.3
8163
8166
  return list_item
8164
8167
  } }, -5);
8165
8168
  $defs(self, '$read_lines_for_list_item', function $$read_lines_for_list_item(reader, list_type, sibling_trait, has_text) {
8166
- var $a, self = this, buffer = nil, continuation = nil, within_nested_list = nil, detached_continuation = nil, dlist = nil, this_line = nil, prev_line = nil, match = nil, nested_list_type = nil, $ret_or_1 = nil, last_line = nil;
8169
+ var $a, self = this, buffer = nil, continuation = nil, within_nested_list = nil, detached_continuation = nil, dlist = nil, this_line = nil, prev_line = nil, match = nil, block_attribute_lines = nil, next_line = nil, interrupt = nil, ch0 = nil, nested_list_type = nil, $ret_or_1 = nil, last_line = nil;
8167
8170
 
8168
8171
 
8169
8172
  if (sibling_trait == null) sibling_trait = nil;
@@ -8196,17 +8199,33 @@ Opal.modules["asciidoctor/parser"] = function(Opal) {/* Generated by Opal 1.7.3
8196
8199
  } this_line = nil;
8197
8200
  continue;
8198
8201
  } } if ($truthy((match = self['$is_delimited_block?'](this_line, true)))) {
8199
- if ($eqeq(continuation, "active")) {
8200
-
8201
- buffer['$<<'](this_line);
8202
- buffer.$concat(reader.$read_lines_until($hash2(["terminator", "read_last_line", "context"], {"terminator": match.$terminator(), "read_last_line": true, "context": nil})));
8203
- continuation = "inactive";
8204
- } else {
8202
+
8203
+ if (!$eqeq(continuation, "active")) {
8205
8204
  break
8206
- }
8207
- } else if ((($truthy(dlist) && ($neqeq(continuation, "active"))) && ($truthy($$('BlockAttributeLineRx')['$match?'](this_line))))) {
8208
- break
8209
- } else if (($eqeq(continuation, "active") && ($not(this_line['$empty?']())))) {
8205
+ } buffer['$<<'](this_line);
8206
+ buffer.$concat(reader.$read_lines_until($hash2(["terminator", "read_last_line", "context"], {"terminator": match.$terminator(), "read_last_line": true, "context": nil})));
8207
+ continuation = "inactive";
8208
+ } else if (((($truthy(dlist) && ($neqeq(continuation, "active"))) && ($truthy(this_line['$start_with?']("[")))) && ($truthy($$('BlockAttributeLineRx')['$match?'](this_line))))) {
8209
+
8210
+ block_attribute_lines = [this_line];
8211
+ while ($truthy((next_line = reader.$peek_line()))) {
8212
+
8213
+ if ($truthy(self['$is_delimited_block?'](next_line))) {
8214
+ interrupt = true;
8215
+ } else if (($truthy(next_line['$empty?']()) || (($truthy(next_line['$start_with?']("[")) && ($truthy($$('BlockAttributeLineRx')['$match?'](next_line))))))) {
8216
+
8217
+ block_attribute_lines['$<<'](reader.$read_line());
8218
+ continue;
8219
+ } else if (($truthy($$('AnyListRx')['$match?'](next_line)) && ($not(self['$is_sibling_list_item?'](next_line, list_type, sibling_trait))))) {
8220
+ buffer.$concat(block_attribute_lines);
8221
+ } else {
8222
+ interrupt = true;
8223
+ } break;
8224
+ } if ($truthy(interrupt)) {
8225
+
8226
+ reader.$unshift_lines(block_attribute_lines);
8227
+ break;
8228
+ } } else if (($eqeq(continuation, "active") && ($not(this_line['$empty?']())))) {
8210
8229
  if ($truthy($$('LiteralParagraphRx')['$match?'](this_line))) {
8211
8230
 
8212
8231
  reader.$unshift_line(this_line);
@@ -8219,7 +8238,7 @@ Opal.modules["asciidoctor/parser"] = function(Opal) {/* Generated by Opal 1.7.3
8219
8238
  } else {
8220
8239
  buffer.$concat(reader.$read_lines_until($hash2(["preserve_last_line", "break_on_blank_lines", "break_on_list_continuation"], {"preserve_last_line": true, "break_on_blank_lines": true, "break_on_list_continuation": true})));
8221
8240
  } continuation = "inactive";
8222
- } else if ((($truthy($$('BlockTitleRx')['$match?'](this_line)) || ($truthy($$('BlockAttributeLineRx')['$match?'](this_line)))) || ($truthy($$('AttributeEntryRx')['$match?'](this_line))))) {
8241
+ } else if (((($eqeq((ch0 = this_line.$chr()), ".") && ($truthy($$('BlockTitleRx')['$match?'](this_line)))) || (($eqeq(ch0, "[") && ($truthy($$('BlockAttributeLineRx')['$match?'](this_line)))))) || (($eqeq(ch0, ":") && ($truthy($$('AttributeEntryRx')['$match?'](this_line))))))) {
8223
8242
  buffer['$<<'](this_line);
8224
8243
  } else {
8225
8244
 
@@ -9340,6 +9359,7 @@ Opal.modules["asciidoctor/path_resolver"] = function(Opal) {/* Generated by Opal
9340
9359
  $const_set($nesting[0], 'SLASH', "/");
9341
9360
  $const_set($nesting[0], 'BACKSLASH', "\\");
9342
9361
  $const_set($nesting[0], 'DOUBLE_SLASH', "//");
9362
+ $const_set($nesting[0], 'URI_CLASSLOADER', "uri:classloader:");
9343
9363
  $const_set($nesting[0], 'WindowsRootRx', /^(?:[a-zA-Z]:)?[\\\/]/);
9344
9364
  self.$attr_accessor("file_separator");
9345
9365
  self.$attr_accessor("working_dir");
@@ -9382,20 +9402,32 @@ Opal.modules["asciidoctor/path_resolver"] = function(Opal) {/* Generated by Opal
9382
9402
  return path['$start_with?']("file://", "http://", "https://");
9383
9403
  }
9384
9404
  });
9405
+ } else if ($eqeq($$$('RUBY_ENGINE'), "jruby")) {
9406
+
9407
+ $def(self, '$root?', function $PathResolver_root$ques$3(path) {
9408
+ var self = this, $ret_or_1 = nil;
9409
+
9410
+ if ($truthy(($ret_or_1 = self['$absolute_path?'](path)))) {
9411
+ return $ret_or_1
9412
+ } else {
9413
+
9414
+ return path['$start_with?']($$('URI_CLASSLOADER'));
9415
+ }
9416
+ });
9385
9417
  } else {
9386
9418
  $alias(self, "root?", "absolute_path?");
9387
9419
  }
9388
- $def(self, '$unc?', function $PathResolver_unc$ques$3(path) {
9420
+ $def(self, '$unc?', function $PathResolver_unc$ques$4(path) {
9389
9421
 
9390
9422
  return path['$start_with?']($$('DOUBLE_SLASH'))
9391
9423
  });
9392
9424
 
9393
- $def(self, '$web_root?', function $PathResolver_web_root$ques$4(path) {
9425
+ $def(self, '$web_root?', function $PathResolver_web_root$ques$5(path) {
9394
9426
 
9395
9427
  return path['$start_with?']($$('SLASH'))
9396
9428
  });
9397
9429
 
9398
- $def(self, '$descends_from?', function $PathResolver_descends_from$ques$5(path, base) {
9430
+ $def(self, '$descends_from?', function $PathResolver_descends_from$ques$6(path, base) {
9399
9431
  var $ret_or_1 = nil;
9400
9432
 
9401
9433
  if ($eqeq(base, path)) {
@@ -9460,7 +9492,7 @@ Opal.modules["asciidoctor/path_resolver"] = function(Opal) {/* Generated by Opal
9460
9492
  if ($truthy(path['$include?']($$('DOT_DOT')))) {
9461
9493
 
9462
9494
  resolved_segments = [];
9463
- $send(path_segments, 'each', [], function $$6(segment){
9495
+ $send(path_segments, 'each', [], function $$7(segment){
9464
9496
 
9465
9497
  if (segment == null) segment = nil;
9466
9498
  if ($eqeq(segment, $$('DOT_DOT'))) {
@@ -9492,6 +9524,8 @@ Opal.modules["asciidoctor/path_resolver"] = function(Opal) {/* Generated by Opal
9492
9524
  root = $$('DOUBLE_SLASH');
9493
9525
  } else if ($truthy(posix_path['$start_with?']($$('SLASH')))) {
9494
9526
  root = $$('SLASH');
9527
+ } else if ($truthy(posix_path['$start_with?']($$('URI_CLASSLOADER')))) {
9528
+ root = posix_path.$slice(0, $$('URI_CLASSLOADER').$length());
9495
9529
  } else {
9496
9530
  root = posix_path.$slice(0, $rb_plus(posix_path.$index($$('SLASH')), 1));
9497
9531
  }
@@ -9590,7 +9624,7 @@ Opal.modules["asciidoctor/path_resolver"] = function(Opal) {/* Generated by Opal
9590
9624
  if (!$truthy(jail_segments)) {
9591
9625
  $b = self.$partition_path(jail), $a = $to_ary($b), (jail_segments = ($a[0] == null ? nil : $a[0]));
9592
9626
  } warned = false;
9593
- $send(unresolved_segments, 'each', [], function $$7(segment){var self = $$7.$$s == null ? this : $$7.$$s;
9627
+ $send(unresolved_segments, 'each', [], function $$8(segment){var self = $$8.$$s == null ? this : $$8.$$s;
9594
9628
 
9595
9629
 
9596
9630
  if (segment == null) segment = nil;
@@ -9612,7 +9646,7 @@ Opal.modules["asciidoctor/path_resolver"] = function(Opal) {/* Generated by Opal
9612
9646
  return resolved_segments['$<<'](segment)
9613
9647
  }}, {$$s: self});
9614
9648
  } else {
9615
- $send(unresolved_segments, 'each', [], function $$8(segment){
9649
+ $send(unresolved_segments, 'each', [], function $$9(segment){
9616
9650
 
9617
9651
  if (segment == null) segment = nil;
9618
9652
  if ($eqeq(segment, $$('DOT_DOT'))) {
@@ -9648,7 +9682,7 @@ Opal.modules["asciidoctor/path_resolver"] = function(Opal) {/* Generated by Opal
9648
9682
  $b = self.$extract_uri_prefix("" + (start) + (($truthy(start['$end_with?']($$('SLASH'))) ? ("") : ($$('SLASH')))) + (target)), $a = $to_ary($b), (target = ($a[0] == null ? nil : $a[0])), (uri_prefix = ($a[1] == null ? nil : $a[1]));
9649
9683
  } $b = self.$partition_path(target, true), $a = $to_ary($b), (target_segments = ($a[0] == null ? nil : $a[0])), (target_root = ($a[1] == null ? nil : $a[1]));
9650
9684
  resolved_segments = [];
9651
- $send(target_segments, 'each', [], function $$9(segment){
9685
+ $send(target_segments, 'each', [], function $$10(segment){
9652
9686
 
9653
9687
  if (segment == null) segment = nil;
9654
9688
  if ($eqeq(segment, $$('DOT_DOT'))) {
@@ -9690,7 +9724,7 @@ Opal.modules["asciidoctor/path_resolver"] = function(Opal) {/* Generated by Opal
9690
9724
  Opal.modules["asciidoctor/reader"] = function(Opal) {/* Generated by Opal 1.7.3 */
9691
9725
  var $module = Opal.module, $klass = Opal.klass, $def = Opal.def, $rb_plus = Opal.rb_plus, $alias = Opal.alias, $hash2 = Opal.hash2, $not = Opal.not, $eqeqeq = Opal.eqeqeq, $to_ary = Opal.to_ary, $truthy = Opal.truthy, $rb_gt = Opal.rb_gt, $send = Opal.send, $rb_minus = Opal.rb_minus, $thrower = Opal.thrower, $eqeq = Opal.eqeq, $rb_times = Opal.rb_times, $neqeq = Opal.neqeq, $to_a = Opal.to_a, $assign_ivar_val = Opal.assign_ivar_val, $send2 = Opal.send2, $find_super = Opal.find_super, $rb_ge = Opal.rb_ge, $gvars = Opal.gvars, $rb_lt = Opal.rb_lt, $hash = Opal.hash, $nesting = [], nil = Opal.nil, $$$ = Opal.$$$;
9692
9726
 
9693
- Opal.add_stubs('include,attr_reader,+,line_info,attr_accessor,!,===,split,file,dir,dirname,path,basename,lineno,reverse,prepare_lines,empty?,nil_or_empty?,peek_line,>,slice,[],length,process_line,times,shift,read_line,<<,-,unshift_all,has_more_lines?,read_lines,join,unshift,unshift_line,unshift_lines,replace_next_line,start_with?,==,*,read_lines_until,size,clear,cursor,[]=,fetch,!=,cursor_at_mark,warn,logger,message_with_context,pop,push,respond_to?,reverse_each,new,tap,each,instance_variables,instance_variable_get,drop,instance_variable_set,class,object_id,inspect,private,prepare_source_array,prepare_source_string,chomp,valid_encoding?,to_s,raise,to_i,attributes,catalog,pop_include,parse,path=,dup,end_with?,keys,rindex,rootname,key?,attr,reverse!,>=,exceeds_max_depth?,nil?,include_processors?,extensions,extensions?,include_processors,map,skip_front_matter!,adjust_indentation!,include?,=~,preprocess_conditional_directive,preprocess_include_directive,downcase,error,none?,any?,all?,strip,send,resolve_expr_val,rstrip,sub_attributes,attribute_missing,info,parse_attributes,find,handles?,instance,process_method,safe,resolve_include_path,method,split_delimited_value,partition,<,to_a,uniq,sort,call,each_line,infinite?,push_include,delete,first,values,value?,create_include_cursor,delete_at,keep_if,read,uriish?,attr?,require_library,normalize_system_path,file?,relative_path,path_resolver,base_dir,to_f');
9727
+ Opal.add_stubs('include,attr_reader,+,line_info,attr_accessor,!,===,split,file,dir,dirname,path,basename,lineno,reverse,prepare_lines,empty?,nil_or_empty?,peek_line,[],>,slice,length,process_line,times,shift,read_line,<<,-,unshift_all,has_more_lines?,read_lines,join,unshift,unshift_line,unshift_lines,replace_next_line,start_with?,==,*,read_lines_until,size,clear,cursor,[]=,fetch,!=,cursor_at_mark,warn,logger,message_with_context,pop,push,respond_to?,reverse_each,new,tap,each,instance_variables,instance_variable_get,drop,instance_variable_set,class,object_id,inspect,private,prepare_source_array,prepare_source_string,chomp,valid_encoding?,to_s,raise,to_i,attributes,catalog,pop_include,parse,path=,dup,end_with?,keys,rindex,rootname,key?,attr,reverse!,>=,exceeds_max_depth?,nil?,include_processors?,extensions,extensions?,include_processors,map,skip_front_matter!,adjust_indentation!,include?,=~,preprocess_conditional_directive,preprocess_include_directive,downcase,error,none?,any?,all?,strip,send,resolve_expr_val,rstrip,sub_attributes,attribute_missing,info,parse_attributes,find,handles?,instance,process_method,safe,resolve_include_path,method,split_delimited_value,partition,<,to_a,uniq,sort,call,each_line,infinite?,push_include,delete,first,values,value?,create_include_cursor,delete_at,keep_if,read,uriish?,attr?,require_library,normalize_system_path,file?,relative_path,path_resolver,base_dir,to_f');
9694
9728
  return (function($base, $parent_nesting) {
9695
9729
  var self = $module($base, 'Asciidoctor');
9696
9730
 
@@ -9815,26 +9849,24 @@ Opal.modules["asciidoctor/reader"] = function(Opal) {/* Generated by Opal 1.7.3
9815
9849
  });
9816
9850
 
9817
9851
  $def(self, '$peek_line', function $$peek_line(direct) {
9818
- var self = this, line = nil, $ret_or_1 = nil;
9852
+ var self = this, next_line = nil, line = nil;
9819
9853
 
9820
9854
 
9821
9855
  if (direct == null) direct = false;
9822
- if (($truthy(direct) || ($truthy($rb_gt(self.look_ahead, 0))))) {
9823
- if ($truthy(self.unescape_next_line)) {
9824
-
9825
- return (line = self.lines['$[]'](-1)).$slice(1, line.$length());
9856
+ while ($truthy(true)) {
9857
+
9858
+ next_line = self.lines['$[]'](-1);
9859
+ if (($truthy(direct) || ($truthy($rb_gt(self.look_ahead, 0))))) {
9860
+ return ($truthy(self.unescape_next_line) ? (next_line.$slice(1, next_line.$length())) : (next_line))
9861
+ } else if ($truthy(next_line)) {
9862
+ if ($truthy((line = self.$process_line(next_line)))) {
9863
+ return line
9864
+ }
9826
9865
  } else {
9827
- return self.lines['$[]'](-1)
9828
- }
9829
- } else if ($truthy(self.lines['$empty?']())) {
9830
-
9831
- self.look_ahead = 0;
9832
- return nil;
9833
- } else if ($truthy(($ret_or_1 = self.$process_line(self.lines['$[]'](-1))))) {
9834
- return $ret_or_1
9835
- } else {
9836
- return self.$peek_line()
9837
- } }, -1);
9866
+
9867
+ self.look_ahead = 0;
9868
+ return nil;
9869
+ } } }, -1);
9838
9870
 
9839
9871
  $def(self, '$peek_lines', function $$peek_lines(num, direct) {
9840
9872
  var self = this, old_look_ahead = nil, result = nil, $ret_or_1 = nil;
@@ -10266,7 +10298,7 @@ Opal.modules["asciidoctor/reader"] = function(Opal) {/* Generated by Opal 1.7.3
10266
10298
  self.$attr_reader("include_stack");
10267
10299
 
10268
10300
  $def(self, '$initialize', function $$initialize(document, data, cursor, opts) {
10269
- var self = this, default_include_depth = nil, $ret_or_1 = nil;
10301
+ $$initialize.$$p || nil; var self = this, default_include_depth = nil, $ret_or_1 = nil;
10270
10302
 
10271
10303
  $$initialize.$$p = null;
10272
10304
 
@@ -10914,6 +10946,8 @@ Opal.modules["asciidoctor/reader"] = function(Opal) {/* Generated by Opal 1.7.3
10914
10946
  } self.$push_include(inc_lines, inc_path, relpath, inc_offset, parsed_attrs);
10915
10947
  } } else {
10916
10948
 
10949
+ inc_content = nil;
10950
+
10917
10951
  try {
10918
10952
 
10919
10953
  inc_content = $send(reader, 'call', [inc_path, read_mode], function $$30(f){
@@ -10921,7 +10955,6 @@ Opal.modules["asciidoctor/reader"] = function(Opal) {/* Generated by Opal 1.7.3
10921
10955
  if (f == null) f = nil;
10922
10956
  return f.$read();});
10923
10957
  self.$shift();
10924
- self.$push_include(inc_content, inc_path, relpath, 1, parsed_attrs);
10925
10958
  } catch ($err) {
10926
10959
  if (Opal.rescue($err, [$$('StandardError')])) {
10927
10960
  try {
@@ -10930,7 +10963,8 @@ Opal.modules["asciidoctor/reader"] = function(Opal) {/* Generated by Opal 1.7.3
10930
10963
  return self.$replace_next_line("Unresolved directive in " + (self.path) + " - include::" + (expanded_target) + "[" + (attrlist) + "]");
10931
10964
  } finally { Opal.pop_exception(); }
10932
10965
  } else { throw $err; }
10933
- } } return true;
10966
+ } self.$push_include(inc_content, inc_path, relpath, 1, parsed_attrs);
10967
+ } return true;
10934
10968
  } else {
10935
10969
  return nil
10936
10970
  } });
@@ -11077,7 +11111,7 @@ Opal.modules["asciidoctor/section"] = function(Opal) {/* Generated by Opal 1.7.3
11077
11111
  self.$attr_reader("caption");
11078
11112
 
11079
11113
  $def(self, '$initialize', function $$initialize(parent, level, numbered, opts) {
11080
- var $a, self = this, $ret_or_1 = nil;
11114
+ var $a; $$initialize.$$p || nil; var self = this, $ret_or_1 = nil;
11081
11115
 
11082
11116
  $$initialize.$$p = null;
11083
11117
 
@@ -11383,7 +11417,7 @@ Opal.modules["asciidoctor/table"] = function(Opal) {/* Generated by Opal 1.7.3 *
11383
11417
  self.$attr_reader("caption");
11384
11418
 
11385
11419
  $def(self, '$initialize', function $$initialize(parent, attributes) {
11386
- var $a, self = this, pcwidth = nil, pcwidth_intval = nil, abswidth_val = nil;
11420
+ var $a; $$initialize.$$p || nil; var self = this, pcwidth = nil, pcwidth_intval = nil, abswidth_val = nil;
11387
11421
 
11388
11422
  $$initialize.$$p = null;
11389
11423
 
@@ -11525,7 +11559,7 @@ Opal.modules["asciidoctor/table"] = function(Opal) {/* Generated by Opal 1.7.3 *
11525
11559
  self.$attr_accessor("style");
11526
11560
 
11527
11561
  $def(self, '$initialize', function $$initialize(table, index, attributes) {
11528
- var self = this;
11562
+ $$initialize.$$p || nil; var self = this;
11529
11563
 
11530
11564
  $$initialize.$$p = null;
11531
11565
 
@@ -11574,7 +11608,7 @@ Opal.modules["asciidoctor/table"] = function(Opal) {/* Generated by Opal 1.7.3 *
11574
11608
  self.$attr_reader("inner_document");
11575
11609
 
11576
11610
  $def(self, '$initialize', function $$initialize(column, cell_text, attributes, opts) {
11577
- var $a, self = this, in_header_row = nil, cell_style = nil, $ret_or_1 = nil, $ret_or_2 = nil, asciidoc = nil, inner_document_cursor = nil, lines_advanced = nil, literal = nil, normal_psv = nil, parent_doctitle = nil, inner_document_lines = nil, unprocessed_line1 = nil, preprocessed_lines = nil;
11611
+ var $a; $$initialize.$$p || nil; var self = this, in_header_row = nil, cell_style = nil, $ret_or_1 = nil, $ret_or_2 = nil, asciidoc = nil, inner_document_cursor = nil, lines_advanced = nil, literal = nil, normal_psv = nil, parent_doctitle = nil, inner_document_lines = nil, unprocessed_line1 = nil, preprocessed_lines = nil;
11578
11612
 
11579
11613
  $$initialize.$$p = null;
11580
11614
 
@@ -12429,7 +12463,7 @@ Opal.modules["asciidoctor/syntax_highlighter/highlightjs"] = function(Opal) {/*
12429
12463
  }, -1);
12430
12464
 
12431
12465
  $def(self, '$format', function $$format(node, lang, opts) {
12432
- var self = this;
12466
+ $$format.$$p || nil; var self = this;
12433
12467
 
12434
12468
  $$format.$$p = null;
12435
12469
  return $send2(self, $find_super(self, 'format', $$format, false, true), 'format', [node, lang, opts.$merge($hash2(["transform"], {"transform": $send(self, 'proc', [], function $$1(_, code){var $a, $ret_or_1 = nil;
@@ -13458,7 +13492,7 @@ Opal.modules["asciidoctor/converter/html5"] = function(Opal) {/* Generated by Op
13458
13492
  pre_close = "</pre>";
13459
13493
  } id_attribute = ($truthy(node.$id()) ? (" id=\"" + (node.$id()) + "\"") : (""));
13460
13494
  title_element = ($truthy(node['$title?']()) ? ("<div class=\"title\">" + (node.$captioned_title()) + "</div>\n") : (""));
13461
- return "<div" + (id_attribute) + " class=\"listingblock" + (($truthy((role = node.$role())) ? (" " + (role)) : (""))) + "\">\n" + (title_element) + "<div class=\"content\">\n" + (($truthy(syntax_hl) ? (syntax_hl.$format(node, lang, opts)) : ($rb_plus($rb_plus(pre_open, ($truthy(($ret_or_1 = node.$content())) ? ($ret_or_1) : (""))), pre_close)))) + "\n" + "</div>\n" + "</div>";
13495
+ return "<div" + (id_attribute) + " class=\"listingblock" + (($truthy((role = node.$role())) ? (" " + (role)) : (""))) + "\">\n" + (title_element) + "<div class=\"content\">\n" + (($truthy(syntax_hl) ? (syntax_hl.$format(node, lang, opts)) : ($rb_plus($rb_plus(pre_open, node.$content()), pre_close)))) + "\n" + "</div>\n" + "</div>";
13462
13496
  });
13463
13497
 
13464
13498
  $def(self, '$convert_literal', function $$convert_literal(node) {
@@ -14648,7 +14682,7 @@ Opal.modules["asciidoctor/extensions"] = function(Opal) {/* Generated by Opal 1.
14648
14682
 
14649
14683
 
14650
14684
  $def(self, '$initialize', function $$initialize(config) {
14651
- var $a, self = this, $ret_or_1 = nil;
14685
+ var $a; $$initialize.$$p || nil; var self = this, $ret_or_1 = nil;
14652
14686
 
14653
14687
  $$initialize.$$p = null;
14654
14688
 
@@ -14689,7 +14723,7 @@ Opal.modules["asciidoctor/extensions"] = function(Opal) {/* Generated by Opal 1.
14689
14723
  self.$attr_accessor("name");
14690
14724
 
14691
14725
  $def(self, '$initialize', function $$initialize(name, config) {
14692
- var $a, self = this, $ret_or_1 = nil;
14726
+ var $a; $$initialize.$$p || nil; var self = this, $ret_or_1 = nil;
14693
14727
 
14694
14728
  $$initialize.$$p = null;
14695
14729
 
@@ -14747,7 +14781,7 @@ Opal.modules["asciidoctor/extensions"] = function(Opal) {/* Generated by Opal 1.
14747
14781
  self.$attr_accessor("name");
14748
14782
 
14749
14783
  $def(self, '$initialize', function $$initialize(name, config) {
14750
- var $a, self = this, $ret_or_1 = nil;
14784
+ var $a; $$initialize.$$p || nil; var self = this, $ret_or_1 = nil;
14751
14785
 
14752
14786
  $$initialize.$$p = null;
14753
14787
 
@@ -14882,7 +14916,7 @@ Opal.modules["asciidoctor/extensions"] = function(Opal) {/* Generated by Opal 1.
14882
14916
 
14883
14917
  self.$attr_reader("process_method");
14884
14918
  return $def(self, '$initialize', function $$initialize(kind, instance, process_method) {
14885
- var self = this, $ret_or_1 = nil;
14919
+ $$initialize.$$p || nil; var self = this, $ret_or_1 = nil;
14886
14920
 
14887
14921
  $$initialize.$$p = null;
14888
14922
 
@@ -16537,7 +16571,7 @@ AbstractBlock.prototype.setStyle = function (style) {
16537
16571
  /**
16538
16572
  * Get the location in the AsciiDoc source where this block begins.
16539
16573
  *
16540
- * @returns {string} - the style for this block
16574
+ * @returns {Cursor} - the location in the AsciiDoc source where this block begins
16541
16575
  * @memberof AbstractBlock
16542
16576
  */
16543
16577
  AbstractBlock.prototype.getSourceLocation = function () {
@@ -21515,7 +21549,7 @@ Extensions.newBlockMacroProcessor = function (name, functions) {
21515
21549
  };
21516
21550
 
21517
21551
 
21518
- var ASCIIDOCTOR_JS_VERSION = '3.0.0-rc.1';
21552
+ var ASCIIDOCTOR_JS_VERSION = '3.0.0';
21519
21553
 
21520
21554
  /**
21521
21555
  * Get Asciidoctor.js version number.