@asciidoctor/core 2.0.0-rc.3 → 2.0.3

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.
@@ -1541,54 +1541,66 @@ Opal.modules["asciidoctor/js"] = function(Opal) {
1541
1541
  };
1542
1542
 
1543
1543
  /* Generated by Opal 0.11.99.dev */
1544
- Opal.modules["asciidoctor/core_ext/float/truncate"] = function(Opal) {
1545
- function $rb_gt(lhs, rhs) {
1546
- return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs > rhs : lhs['$>'](rhs);
1547
- }
1548
- function $rb_divide(lhs, rhs) {
1549
- return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs / rhs : lhs['$/'](rhs);
1550
- }
1551
- function $rb_times(lhs, rhs) {
1552
- return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs * rhs : lhs['$*'](rhs);
1553
- }
1554
- var $$1, self = Opal.top, $nesting = [], nil = Opal.nil, $$$ = Opal.const_get_qualified, $$ = Opal.const_get_relative, $breaker = Opal.breaker, $slice = Opal.slice, $send = Opal.send, $truthy = Opal.truthy;
1544
+ Opal.modules["asciidoctor/core_ext/nil_or_empty"] = function(Opal) {
1545
+ var self = Opal.top, $nesting = [], nil = Opal.nil, $$$ = Opal.const_get_qualified, $$ = Opal.const_get_relative, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $truthy = Opal.truthy;
1555
1546
 
1556
- Opal.add_stubs(['$==', '$arity', '$instance_method', '$send', '$new', '$length', '$Integer', '$shift', '$>', '$**', '$/', '$to_i', '$*', '$abs']);
1557
- if ($$($nesting, 'Float').$instance_method("truncate").$arity()['$=='](0)) {
1558
- return $$($nesting, 'Float').$send("prepend", $send($$($nesting, 'Module'), 'new', [], ($$1 = function(){var self = $$1.$$s || this, $truncate$2;
1547
+ Opal.add_stubs(['$method_defined?']);
1548
+
1549
+ (function($base, $super, $parent_nesting) {
1550
+ var self = $klass($base, $super, 'NilClass');
1559
1551
 
1560
- return (Opal.def(self, '$truncate', $truncate$2 = function $$truncate($a) {
1561
- var $post_args, args, $iter = $truncate$2.$$p, $yield = $iter || nil, self = this, precision = nil, precision_factor = nil, $zuper = nil, $zuper_i = nil, $zuper_ii = nil;
1552
+ var $nesting = [self].concat($parent_nesting);
1562
1553
 
1563
- if ($iter) $truncate$2.$$p = null;
1564
- // Prepare super implicit arguments
1565
- for($zuper_i = 0, $zuper_ii = arguments.length, $zuper = new Array($zuper_ii); $zuper_i < $zuper_ii; $zuper_i++) {
1566
- $zuper[$zuper_i] = arguments[$zuper_i];
1567
- }
1568
-
1569
-
1570
- $post_args = Opal.slice.call(arguments, 0, arguments.length);
1571
-
1572
- args = $post_args;;
1573
- if (args.$length()['$=='](1)) {
1574
- if ((precision = self.$Integer(args.$shift()))['$=='](0)) {
1575
- return $send(self, Opal.find_super_dispatcher(self, 'truncate', $truncate$2, false), $zuper, $iter)
1576
- } else if ($truthy($rb_gt(precision, 0))) {
1577
-
1578
- precision_factor = (10)['$**'](precision);
1579
- return $rb_divide($rb_times(self, precision_factor).$to_i(), precision_factor);
1580
- } else {
1581
-
1582
- precision_factor = (10)['$**'](precision.$abs());
1583
- return $rb_times($rb_divide(self, precision_factor).$to_i(), precision_factor);
1584
- }
1585
- } else {
1586
- return $send(self, Opal.find_super_dispatcher(self, 'truncate', $truncate$2, false), $zuper, $iter)
1587
- };
1588
- }, $truncate$2.$$arity = -1), nil) && 'truncate'}, $$1.$$s = self, $$1.$$arity = 0, $$1)))
1589
- } else {
1590
- return nil
1591
- }
1554
+ if ($truthy(self['$method_defined?']("nil_or_empty?"))) {
1555
+ return nil
1556
+ } else {
1557
+ return Opal.alias(self, "nil_or_empty?", "nil?")
1558
+ }
1559
+ })($nesting[0], null, $nesting);
1560
+ (function($base, $super, $parent_nesting) {
1561
+ var self = $klass($base, $super, 'String');
1562
+
1563
+ var $nesting = [self].concat($parent_nesting);
1564
+
1565
+ if ($truthy(self['$method_defined?']("nil_or_empty?"))) {
1566
+ return nil
1567
+ } else {
1568
+ return Opal.alias(self, "nil_or_empty?", "empty?")
1569
+ }
1570
+ })($nesting[0], null, $nesting);
1571
+ (function($base, $super, $parent_nesting) {
1572
+ var self = $klass($base, $super, 'Array');
1573
+
1574
+ var $nesting = [self].concat($parent_nesting);
1575
+
1576
+ if ($truthy(self['$method_defined?']("nil_or_empty?"))) {
1577
+ return nil
1578
+ } else {
1579
+ return Opal.alias(self, "nil_or_empty?", "empty?")
1580
+ }
1581
+ })($nesting[0], null, $nesting);
1582
+ (function($base, $super, $parent_nesting) {
1583
+ var self = $klass($base, $super, 'Hash');
1584
+
1585
+ var $nesting = [self].concat($parent_nesting);
1586
+
1587
+ if ($truthy(self['$method_defined?']("nil_or_empty?"))) {
1588
+ return nil
1589
+ } else {
1590
+ return Opal.alias(self, "nil_or_empty?", "empty?")
1591
+ }
1592
+ })($nesting[0], null, $nesting);
1593
+ return (function($base, $super, $parent_nesting) {
1594
+ var self = $klass($base, $super, 'Numeric');
1595
+
1596
+ var $nesting = [self].concat($parent_nesting);
1597
+
1598
+ if ($truthy(self['$method_defined?']("nil_or_empty?"))) {
1599
+ return nil
1600
+ } else {
1601
+ return Opal.alias(self, "nil_or_empty?", "nil?")
1602
+ }
1603
+ })($nesting[0], null, $nesting);
1592
1604
  };
1593
1605
 
1594
1606
  /* Generated by Opal 0.11.99.dev */
@@ -1664,102 +1676,19 @@ Opal.modules["asciidoctor/core_ext/match_data/names"] = function(Opal) {
1664
1676
  }
1665
1677
  };
1666
1678
 
1667
- /* Generated by Opal 0.11.99.dev */
1668
- Opal.modules["asciidoctor/core_ext/nil_or_empty"] = function(Opal) {
1669
- var self = Opal.top, $nesting = [], nil = Opal.nil, $$$ = Opal.const_get_qualified, $$ = Opal.const_get_relative, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $truthy = Opal.truthy;
1670
-
1671
- Opal.add_stubs(['$method_defined?']);
1672
-
1673
- (function($base, $super, $parent_nesting) {
1674
- var self = $klass($base, $super, 'NilClass');
1675
-
1676
- var $nesting = [self].concat($parent_nesting);
1677
-
1678
- if ($truthy(self['$method_defined?']("nil_or_empty?"))) {
1679
- return nil
1680
- } else {
1681
- return Opal.alias(self, "nil_or_empty?", "nil?")
1682
- }
1683
- })($nesting[0], null, $nesting);
1684
- (function($base, $super, $parent_nesting) {
1685
- var self = $klass($base, $super, 'String');
1686
-
1687
- var $nesting = [self].concat($parent_nesting);
1688
-
1689
- if ($truthy(self['$method_defined?']("nil_or_empty?"))) {
1690
- return nil
1691
- } else {
1692
- return Opal.alias(self, "nil_or_empty?", "empty?")
1693
- }
1694
- })($nesting[0], null, $nesting);
1695
- (function($base, $super, $parent_nesting) {
1696
- var self = $klass($base, $super, 'Array');
1697
-
1698
- var $nesting = [self].concat($parent_nesting);
1699
-
1700
- if ($truthy(self['$method_defined?']("nil_or_empty?"))) {
1701
- return nil
1702
- } else {
1703
- return Opal.alias(self, "nil_or_empty?", "empty?")
1704
- }
1705
- })($nesting[0], null, $nesting);
1706
- (function($base, $super, $parent_nesting) {
1707
- var self = $klass($base, $super, 'Hash');
1708
-
1709
- var $nesting = [self].concat($parent_nesting);
1710
-
1711
- if ($truthy(self['$method_defined?']("nil_or_empty?"))) {
1712
- return nil
1713
- } else {
1714
- return Opal.alias(self, "nil_or_empty?", "empty?")
1715
- }
1716
- })($nesting[0], null, $nesting);
1717
- return (function($base, $super, $parent_nesting) {
1718
- var self = $klass($base, $super, 'Numeric');
1719
-
1720
- var $nesting = [self].concat($parent_nesting);
1721
-
1722
- if ($truthy(self['$method_defined?']("nil_or_empty?"))) {
1723
- return nil
1724
- } else {
1725
- return Opal.alias(self, "nil_or_empty?", "nil?")
1726
- }
1727
- })($nesting[0], null, $nesting);
1728
- };
1729
-
1730
- /* Generated by Opal 0.11.99.dev */
1731
- Opal.modules["asciidoctor/core_ext/regexp/is_match"] = function(Opal) {
1732
- var self = Opal.top, $nesting = [], nil = Opal.nil, $$$ = Opal.const_get_qualified, $$ = Opal.const_get_relative, $breaker = Opal.breaker, $slice = Opal.slice, $truthy = Opal.truthy, $klass = Opal.klass;
1733
-
1734
- Opal.add_stubs(['$method_defined?']);
1735
- if ($truthy($$($nesting, 'Regexp')['$method_defined?']("match?"))) {
1736
- return nil
1737
- } else {
1738
- return (function($base, $super, $parent_nesting) {
1739
- var self = $klass($base, $super, 'Regexp');
1740
-
1741
- var $nesting = [self].concat($parent_nesting);
1742
-
1743
- return Opal.alias(self, "match?", "===")
1744
- })($nesting[0], null, $nesting)
1745
- }
1746
- };
1747
-
1748
1679
  /* Generated by Opal 0.11.99.dev */
1749
1680
  Opal.modules["asciidoctor/core_ext"] = function(Opal) {
1750
1681
  var self = Opal.top, $nesting = [], nil = Opal.nil, $$$ = Opal.const_get_qualified, $$ = Opal.const_get_relative, $breaker = Opal.breaker, $slice = Opal.slice;
1751
1682
 
1752
1683
  Opal.add_stubs(['$==']);
1753
1684
 
1754
- self.$require("asciidoctor/core_ext.rb"+ '/../' + "core_ext/float/truncate");
1685
+ self.$require("asciidoctor/core_ext.rb"+ '/../' + "core_ext/nil_or_empty");
1755
1686
  self.$require("asciidoctor/core_ext.rb"+ '/../' + "core_ext/hash/merge");
1756
1687
  if ($$($nesting, 'RUBY_ENGINE')['$==']("opal")) {
1757
- self.$require("asciidoctor/core_ext.rb"+ '/../' + "core_ext/match_data/names")
1688
+ return self.$require("asciidoctor/core_ext.rb"+ '/../' + "core_ext/match_data/names")
1758
1689
  } else {
1759
- nil
1690
+ return nil
1760
1691
  };
1761
- self.$require("asciidoctor/core_ext.rb"+ '/../' + "core_ext/nil_or_empty");
1762
- return self.$require("asciidoctor/core_ext.rb"+ '/../' + "core_ext/regexp/is_match");
1763
1692
  };
1764
1693
 
1765
1694
  /* Generated by Opal 0.11.99.dev */
@@ -1775,7 +1704,7 @@ Opal.modules["asciidoctor/helpers"] = function(Opal) {
1775
1704
  }
1776
1705
  var self = Opal.top, $nesting = [], nil = Opal.nil, $$$ = Opal.const_get_qualified, $$ = Opal.const_get_relative, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $truthy = Opal.truthy, $gvars = Opal.gvars, $send = Opal.send, $hash2 = Opal.hash2;
1777
1706
 
1778
- Opal.add_stubs(['$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', '$length', '$basename', '$extname', '$directory?', '$dirname', '$mkdir_p', '$mkdir', '$join', '$divmod', '$*', '$+', '$to_i', '$to_s', '$chr', '$ord', '$class_for_name', '$const_get']);
1707
+ 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_i', '$to_s', '$chr', '$ord', '$class_for_name', '$const_get']);
1779
1708
  return (function($base, $parent_nesting) {
1780
1709
  var self = $module($base, 'Asciidoctor');
1781
1710
 
@@ -1784,10 +1713,12 @@ Opal.modules["asciidoctor/helpers"] = function(Opal) {
1784
1713
  (function($base, $parent_nesting) {
1785
1714
  var self = $module($base, 'Helpers');
1786
1715
 
1787
- var $nesting = [self].concat($parent_nesting), $Helpers_require_library$1, $Helpers_prepare_source_array$2, $Helpers_prepare_source_string$7, $Helpers_uriish$ques$10, $Helpers_uri_prefix$11, $Helpers_encode_uri_component$12, $Helpers_encode_uri$13, $Helpers_rootname$14, $Helpers_basename$15, $Helpers_mkdir_p$16, $Helpers_int_to_roman$17, $Helpers_nextval$19, $Helpers_resolve_class$20, $Helpers_class_for_name$21;
1716
+ var $nesting = [self].concat($parent_nesting), $Helpers_require_library$1, $Helpers_prepare_source_array$2, $Helpers_prepare_source_string$7, $Helpers_uriish$ques$10, $Helpers_encode_uri_component$11, $Helpers_encode_spaces_in_uri$12, $Helpers_rootname$13, $Helpers_basename$14, $Helpers_extname$ques$15, $Helpers_extname$16, $Helpers_extname$17, $Helpers_mkdir_p$18, $Helpers_int_to_roman$19, $Helpers_nextval$21, $Helpers_resolve_class$22, $Helpers_class_for_name$23;
1788
1717
 
1789
1718
 
1790
- Opal.defs(self, '$require_library', $Helpers_require_library$1 = function $$require_library(name, gem_name, on_failure) {
1719
+ self.$module_function();
1720
+
1721
+ Opal.def(self, '$require_library', $Helpers_require_library$1 = function $$require_library(name, gem_name, on_failure) {
1791
1722
  var self = this, $case = nil, details = nil;
1792
1723
  if ($gvars["!"] == null) $gvars["!"] = nil;
1793
1724
 
@@ -1847,7 +1778,8 @@ Opal.modules["asciidoctor/helpers"] = function(Opal) {
1847
1778
  } else { throw $err; }
1848
1779
  };
1849
1780
  }, $Helpers_require_library$1.$$arity = -2);
1850
- Opal.defs(self, '$prepare_source_array', $Helpers_prepare_source_array$2 = function $$prepare_source_array(data) {
1781
+
1782
+ Opal.def(self, '$prepare_source_array', $Helpers_prepare_source_array$2 = function $$prepare_source_array(data) {
1851
1783
  var $$3, $$4, $$5, $$6, self = this, leading_2_bytes = nil, leading_bytes = nil, first = nil, $writer = nil;
1852
1784
 
1853
1785
 
@@ -1906,7 +1838,8 @@ Opal.modules["asciidoctor/helpers"] = function(Opal) {
1906
1838
  return line.$encode($$($nesting, 'UTF_8')).$rstrip();}, $$6.$$s = self, $$6.$$arity = 1, $$6))
1907
1839
  };
1908
1840
  }, $Helpers_prepare_source_array$2.$$arity = 1);
1909
- Opal.defs(self, '$prepare_source_string', $Helpers_prepare_source_string$7 = function $$prepare_source_string(data) {
1841
+
1842
+ Opal.def(self, '$prepare_source_string', $Helpers_prepare_source_string$7 = function $$prepare_source_string(data) {
1910
1843
  var $$8, self = this, leading_2_bytes = nil, leading_bytes = nil;
1911
1844
 
1912
1845
 
@@ -1941,22 +1874,15 @@ Opal.modules["asciidoctor/helpers"] = function(Opal) {
1941
1874
  };
1942
1875
  return lines['$<<'](line.$rstrip());}, $$9.$$s = self, $$9.$$arity = 1, $$9));}, $$8.$$s = self, $$8.$$arity = 1, $$8));
1943
1876
  }, $Helpers_prepare_source_string$7.$$arity = 1);
1944
- Opal.defs(self, '$uriish?', $Helpers_uriish$ques$10 = function(str) {
1877
+
1878
+ Opal.def(self, '$uriish?', $Helpers_uriish$ques$10 = function(str) {
1945
1879
  var $a, self = this;
1946
1880
 
1947
1881
  return ($truthy($a = str['$include?'](":")) ? $$($nesting, 'UriSniffRx')['$match?'](str) : $a)
1948
1882
  }, $Helpers_uriish$ques$10.$$arity = 1);
1949
- Opal.defs(self, '$uri_prefix', $Helpers_uri_prefix$11 = function $$uri_prefix(str) {
1950
- var $a, self = this;
1951
-
1952
- if ($truthy(($truthy($a = str['$include?'](":")) ? $$($nesting, 'UriSniffRx')['$=~'](str) : $a))) {
1953
- return (($a = $gvars['~']) === nil ? nil : $a['$[]'](0))
1954
- } else {
1955
- return nil
1956
- }
1957
- }, $Helpers_uri_prefix$11.$$arity = 1);
1958
1883
  if ($$($nesting, 'RUBY_ENGINE')['$==']("opal")) {
1959
- Opal.defs(self, '$encode_uri_component', $Helpers_encode_uri_component$12 = function $$encode_uri_component(str) {
1884
+
1885
+ Opal.def(self, '$encode_uri_component', $Helpers_encode_uri_component$11 = function $$encode_uri_component(str) {
1960
1886
  var self = this;
1961
1887
 
1962
1888
 
@@ -1964,11 +1890,12 @@ Opal.modules["asciidoctor/helpers"] = function(Opal) {
1964
1890
  return m === '%20' ? '+' : '%' + m.charCodeAt(0).toString(16)
1965
1891
  })
1966
1892
 
1967
- }, $Helpers_encode_uri_component$12.$$arity = 1)
1893
+ }, $Helpers_encode_uri_component$11.$$arity = 1)
1968
1894
  } else {
1969
1895
  nil
1970
1896
  };
1971
- Opal.defs(self, '$encode_uri', $Helpers_encode_uri$13 = function $$encode_uri(str) {
1897
+
1898
+ Opal.def(self, '$encode_spaces_in_uri', $Helpers_encode_spaces_in_uri$12 = function $$encode_spaces_in_uri(str) {
1972
1899
  var self = this;
1973
1900
 
1974
1901
  if ($truthy(str['$include?'](" "))) {
@@ -1977,13 +1904,24 @@ Opal.modules["asciidoctor/helpers"] = function(Opal) {
1977
1904
  } else {
1978
1905
  return str
1979
1906
  }
1980
- }, $Helpers_encode_uri$13.$$arity = 1);
1981
- Opal.defs(self, '$rootname', $Helpers_rootname$14 = function $$rootname(filename) {
1982
- var $a, self = this;
1907
+ }, $Helpers_encode_spaces_in_uri$12.$$arity = 1);
1908
+
1909
+ Opal.def(self, '$rootname', $Helpers_rootname$13 = function $$rootname(filename) {
1910
+ var self = this, last_dot_idx = nil;
1983
1911
 
1984
- return filename.$slice(0, ($truthy($a = filename.$rindex(".")) ? $a : filename.$length()))
1985
- }, $Helpers_rootname$14.$$arity = 1);
1986
- Opal.defs(self, '$basename', $Helpers_basename$15 = function $$basename(filename, drop_ext) {
1912
+ if ($truthy((last_dot_idx = filename.$rindex(".")))) {
1913
+ if ($truthy(filename.$index("/", last_dot_idx))) {
1914
+ return filename
1915
+ } else {
1916
+
1917
+ return filename.$slice(0, last_dot_idx);
1918
+ }
1919
+ } else {
1920
+ return filename
1921
+ }
1922
+ }, $Helpers_rootname$13.$$arity = 1);
1923
+
1924
+ Opal.def(self, '$basename', $Helpers_basename$14 = function $$basename(filename, drop_ext) {
1987
1925
  var self = this;
1988
1926
 
1989
1927
 
@@ -1994,15 +1932,65 @@ Opal.modules["asciidoctor/helpers"] = function(Opal) {
1994
1932
  if ($truthy(drop_ext)) {
1995
1933
  return $$$('::', 'File').$basename(filename, (function() {if (drop_ext['$=='](true)) {
1996
1934
 
1997
- return $$$('::', 'File').$extname(filename);
1935
+ return self.$extname(filename);
1998
1936
  } else {
1999
1937
  return drop_ext
2000
1938
  }; return nil; })())
2001
1939
  } else {
2002
1940
  return $$$('::', 'File').$basename(filename)
2003
1941
  };
2004
- }, $Helpers_basename$15.$$arity = -2);
2005
- Opal.defs(self, '$mkdir_p', $Helpers_mkdir_p$16 = function $$mkdir_p(dir) {
1942
+ }, $Helpers_basename$14.$$arity = -2);
1943
+
1944
+ Opal.def(self, '$extname?', $Helpers_extname$ques$15 = function(path) {
1945
+ var $a, self = this, last_dot_idx = nil;
1946
+
1947
+ return ($truthy($a = (last_dot_idx = path.$rindex("."))) ? path.$index("/", last_dot_idx)['$!']() : $a)
1948
+ }, $Helpers_extname$ques$15.$$arity = 1);
1949
+ if ($truthy($$$($$$('::', 'File'), 'ALT_SEPARATOR'))) {
1950
+
1951
+ Opal.def(self, '$extname', $Helpers_extname$16 = function $$extname(path, fallback) {
1952
+ var $a, self = this, last_dot_idx = nil;
1953
+
1954
+
1955
+
1956
+ if (fallback == null) {
1957
+ fallback = "";
1958
+ };
1959
+ if ($truthy((last_dot_idx = path.$rindex(".")))) {
1960
+ if ($truthy(($truthy($a = path.$index("/", last_dot_idx)) ? $a : path.$index($$$($$$('::', 'File'), 'ALT_SEPARATOR'), last_dot_idx)))) {
1961
+ return fallback
1962
+ } else {
1963
+
1964
+ return path.$slice(last_dot_idx, path.$length());
1965
+ }
1966
+ } else {
1967
+ return fallback
1968
+ };
1969
+ }, $Helpers_extname$16.$$arity = -2)
1970
+ } else {
1971
+
1972
+ Opal.def(self, '$extname', $Helpers_extname$17 = function $$extname(path, fallback) {
1973
+ var self = this, last_dot_idx = nil;
1974
+
1975
+
1976
+
1977
+ if (fallback == null) {
1978
+ fallback = "";
1979
+ };
1980
+ if ($truthy((last_dot_idx = path.$rindex(".")))) {
1981
+ if ($truthy(path.$index("/", last_dot_idx))) {
1982
+ return fallback
1983
+ } else {
1984
+
1985
+ return path.$slice(last_dot_idx, path.$length());
1986
+ }
1987
+ } else {
1988
+ return fallback
1989
+ };
1990
+ }, $Helpers_extname$17.$$arity = -2)
1991
+ };
1992
+
1993
+ Opal.def(self, '$mkdir_p', $Helpers_mkdir_p$18 = function $$mkdir_p(dir) {
2006
1994
  var self = this, parent_dir = nil;
2007
1995
 
2008
1996
  if ($truthy($$$('::', 'File')['$directory?'](dir))) {
@@ -2028,12 +2016,14 @@ Opal.modules["asciidoctor/helpers"] = function(Opal) {
2028
2016
  } else { throw $err; }
2029
2017
  };;
2030
2018
  }
2031
- }, $Helpers_mkdir_p$16.$$arity = 1);
2019
+ }, $Helpers_mkdir_p$18.$$arity = 1);
2032
2020
  Opal.const_set($nesting[0], 'ROMAN_NUMERALS', $hash2(["M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"], {"M": 1000, "CM": 900, "D": 500, "CD": 400, "C": 100, "XC": 90, "L": 50, "XL": 40, "X": 10, "IX": 9, "V": 5, "IV": 4, "I": 1}));
2033
- Opal.defs(self, '$int_to_roman', $Helpers_int_to_roman$17 = function $$int_to_roman(val) {
2034
- var $$18, self = this;
2021
+ self.$private_constant("ROMAN_NUMERALS");
2022
+
2023
+ Opal.def(self, '$int_to_roman', $Helpers_int_to_roman$19 = function $$int_to_roman(val) {
2024
+ var $$20, self = this;
2035
2025
 
2036
- return $send($$($nesting, 'ROMAN_NUMERALS'), 'map', [], ($$18 = function(l, i){var self = $$18.$$s || this, $a, $b, repeat = nil;
2026
+ return $send($$($nesting, 'ROMAN_NUMERALS'), 'map', [], ($$20 = function(l, i){var self = $$20.$$s || this, $a, $b, repeat = nil;
2037
2027
 
2038
2028
 
2039
2029
 
@@ -2045,9 +2035,10 @@ Opal.modules["asciidoctor/helpers"] = function(Opal) {
2045
2035
  i = nil;
2046
2036
  };
2047
2037
  $b = val.$divmod(i), $a = Opal.to_ary($b), (repeat = ($a[0] == null ? nil : $a[0])), (val = ($a[1] == null ? nil : $a[1])), $b;
2048
- return $rb_times(l, repeat);}, $$18.$$s = self, $$18.$$arity = 2, $$18)).$join()
2049
- }, $Helpers_int_to_roman$17.$$arity = 1);
2050
- Opal.defs(self, '$nextval', $Helpers_nextval$19 = function $$nextval(current) {
2038
+ return $rb_times(l, repeat);}, $$20.$$s = self, $$20.$$arity = 2, $$20)).$join()
2039
+ }, $Helpers_int_to_roman$19.$$arity = 1);
2040
+
2041
+ Opal.def(self, '$nextval', $Helpers_nextval$21 = function $$nextval(current) {
2051
2042
  var self = this, intval = nil;
2052
2043
 
2053
2044
  if ($truthy($$$('::', 'Integer')['$==='](current))) {
@@ -2061,8 +2052,9 @@ Opal.modules["asciidoctor/helpers"] = function(Opal) {
2061
2052
  return $rb_plus(intval, 1)
2062
2053
  };
2063
2054
  }
2064
- }, $Helpers_nextval$19.$$arity = 1);
2065
- Opal.defs(self, '$resolve_class', $Helpers_resolve_class$20 = function $$resolve_class(object) {
2055
+ }, $Helpers_nextval$21.$$arity = 1);
2056
+
2057
+ Opal.def(self, '$resolve_class', $Helpers_resolve_class$22 = function $$resolve_class(object) {
2066
2058
  var self = this;
2067
2059
 
2068
2060
  if ($truthy($$$('::', 'Class')['$==='](object))) {
@@ -2076,8 +2068,9 @@ Opal.modules["asciidoctor/helpers"] = function(Opal) {
2076
2068
  return nil
2077
2069
  };
2078
2070
  }
2079
- }, $Helpers_resolve_class$20.$$arity = 1);
2080
- Opal.defs(self, '$class_for_name', $Helpers_class_for_name$21 = function $$class_for_name(qualified_name) {
2071
+ }, $Helpers_resolve_class$22.$$arity = 1);
2072
+
2073
+ Opal.def(self, '$class_for_name', $Helpers_class_for_name$23 = function $$class_for_name(qualified_name) {
2081
2074
  var self = this, resolved = nil;
2082
2075
 
2083
2076
  try {
@@ -2094,7 +2087,7 @@ Opal.modules["asciidoctor/helpers"] = function(Opal) {
2094
2087
  } finally { Opal.pop_exception() }
2095
2088
  } else { throw $err; }
2096
2089
  }
2097
- }, $Helpers_class_for_name$21.$$arity = 1);
2090
+ }, $Helpers_class_for_name$23.$$arity = 1);
2098
2091
  })($nesting[0], $nesting)
2099
2092
  })($nesting[0], $nesting)
2100
2093
  };
@@ -2651,6 +2644,148 @@ Opal.modules["asciidoctor/logging"] = function(Opal) {
2651
2644
  })($nesting[0], $nesting);
2652
2645
  };
2653
2646
 
2647
+ /* Generated by Opal 0.11.99.dev */
2648
+ Opal.modules["asciidoctor/rx"] = function(Opal) {
2649
+ function $rb_minus(lhs, rhs) {
2650
+ return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs - rhs : lhs['$-'](rhs);
2651
+ }
2652
+ var self = Opal.top, $nesting = [], nil = Opal.nil, $$$ = Opal.const_get_qualified, $$ = Opal.const_get_relative, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $hash2 = Opal.hash2, $send = Opal.send, $truthy = Opal.truthy, $hash = Opal.hash;
2653
+
2654
+ Opal.add_stubs(['$==', '$join', '$to_a', '$new', '$empty?', '$escape', '$[]=', '$-']);
2655
+ return (function($base, $parent_nesting) {
2656
+ var self = $module($base, 'Asciidoctor');
2657
+
2658
+ var $nesting = [self].concat($parent_nesting), $Asciidoctor$1, $Asciidoctor$2;
2659
+
2660
+
2661
+ (function($base, $parent_nesting) {
2662
+ var self = $module($base, 'Rx');
2663
+
2664
+ var $nesting = [self].concat($parent_nesting);
2665
+
2666
+ nil
2667
+ })($nesting[0], $nesting);
2668
+ Opal.const_set($nesting[0], 'AuthorInfoLineRx', new RegExp("" + "^(" + ($$($nesting, 'CG_WORD')) + "[" + ($$($nesting, 'CC_WORD')) + "\\-'.]*)(?: +(" + ($$($nesting, 'CG_WORD')) + "[" + ($$($nesting, 'CC_WORD')) + "\\-'.]*))?(?: +(" + ($$($nesting, 'CG_WORD')) + "[" + ($$($nesting, 'CC_WORD')) + "\\-'.]*))?(?: +<([^>]+)>)?$"));
2669
+ Opal.const_set($nesting[0], 'AuthorDelimiterRx', /;(?: |$)/);
2670
+ Opal.const_set($nesting[0], 'RevisionInfoLineRx', new RegExp("" + "^(?:[^\\d{]*(" + ($$($nesting, 'CC_ANY')) + "*?),)? *(?!:)(" + ($$($nesting, 'CC_ANY')) + "*?)(?: *(?!^),?: *(" + ($$($nesting, 'CC_ANY')) + "*))?$"));
2671
+ Opal.const_set($nesting[0], 'ManpageTitleVolnumRx', new RegExp("" + "^(" + ($$($nesting, 'CC_ANY')) + "+?) *\\( *(" + ($$($nesting, 'CC_ANY')) + "+?) *\\)$"));
2672
+ Opal.const_set($nesting[0], 'ManpageNamePurposeRx', new RegExp("" + "^(" + ($$($nesting, 'CC_ANY')) + "+?) +- +(" + ($$($nesting, 'CC_ANY')) + "+)$"));
2673
+ Opal.const_set($nesting[0], 'ConditionalDirectiveRx', new RegExp("" + "^(\\\\)?(ifdef|ifndef|ifeval|endif)::(\\S*?(?:([,+])\\S*?)?)\\[(" + ($$($nesting, 'CC_ANY')) + "+)?\\]$"));
2674
+ Opal.const_set($nesting[0], 'EvalExpressionRx', new RegExp("" + "^(" + ($$($nesting, 'CC_ANY')) + "+?) *([=!><]=|[><]) *(" + ($$($nesting, 'CC_ANY')) + "+)$"));
2675
+ Opal.const_set($nesting[0], 'IncludeDirectiveRx', new RegExp("" + "^(\\\\)?include::([^\\[][^\\[]*)\\[(" + ($$($nesting, 'CC_ANY')) + "+)?\\]$"));
2676
+ Opal.const_set($nesting[0], 'TagDirectiveRx', /\b(?:tag|(e)nd)::(\S+?)\[\](?=$|[ \r])/m);
2677
+ Opal.const_set($nesting[0], 'AttributeEntryRx', new RegExp("" + "^:(!?" + ($$($nesting, 'CG_WORD')) + "[^:]*):(?:[ \\t]+(" + ($$($nesting, 'CC_ANY')) + "*))?$"));
2678
+ Opal.const_set($nesting[0], 'InvalidAttributeNameCharsRx', new RegExp("" + "[^" + ($$($nesting, 'CC_WORD')) + "-]"));
2679
+ if ($$($nesting, 'RUBY_ENGINE')['$==']("opal")) {
2680
+ Opal.const_set($nesting[0], 'AttributeEntryPassMacroRx', new RegExp("" + "^pass:([a-z]+(?:,[a-z-]+)*)?\\[(" + ($$($nesting, 'CC_ALL')) + "*)\\]$"))
2681
+ } else {
2682
+ nil
2683
+ };
2684
+ Opal.const_set($nesting[0], 'AttributeReferenceRx', new RegExp("" + "(\\\\)?\\{(" + ($$($nesting, 'CG_WORD')) + "[" + ($$($nesting, 'CC_WORD')) + "-]*|(set|counter2?):" + ($$($nesting, 'CC_ANY')) + "+?)(\\\\)?\\}"));
2685
+ Opal.const_set($nesting[0], 'BlockAnchorRx', new RegExp("" + "^\\[\\[(?:|([" + ($$($nesting, 'CC_ALPHA')) + "_:][" + ($$($nesting, 'CC_WORD')) + "\\-:.]*)(?:, *(" + ($$($nesting, 'CC_ANY')) + "+))?)\\]\\]$"));
2686
+ Opal.const_set($nesting[0], 'BlockAttributeListRx', new RegExp("" + "^\\[(|[" + ($$($nesting, 'CC_WORD')) + ".#%{,\"']" + ($$($nesting, 'CC_ANY')) + "*)\\]$"));
2687
+ Opal.const_set($nesting[0], 'BlockAttributeLineRx', new RegExp("" + "^\\[(?:|[" + ($$($nesting, 'CC_WORD')) + ".#%{,\"']" + ($$($nesting, 'CC_ANY')) + "*|\\[(?:|[" + ($$($nesting, 'CC_ALPHA')) + "_:][" + ($$($nesting, 'CC_WORD')) + "\\-:.]*(?:, *" + ($$($nesting, 'CC_ANY')) + "+)?)\\])\\]$"));
2688
+ Opal.const_set($nesting[0], 'BlockTitleRx', new RegExp("" + "^\\.(\\.?[^ \\t.]" + ($$($nesting, 'CC_ANY')) + "*)$"));
2689
+ Opal.const_set($nesting[0], 'AdmonitionParagraphRx', new RegExp("" + "^(" + ($$($nesting, 'ADMONITION_STYLES').$to_a().$join("|")) + "):[ \\t]+"));
2690
+ Opal.const_set($nesting[0], 'LiteralParagraphRx', new RegExp("" + "^([ \\t]+" + ($$($nesting, 'CC_ANY')) + "*)$"));
2691
+ Opal.const_set($nesting[0], 'AtxSectionTitleRx', new RegExp("" + "^(=={0,5})[ \\t]+(" + ($$($nesting, 'CC_ANY')) + "+?)(?:[ \\t]+\\1)?$"));
2692
+ Opal.const_set($nesting[0], 'ExtAtxSectionTitleRx', new RegExp("" + "^(=={0,5}|#\\\#{0,5})[ \\t]+(" + ($$($nesting, 'CC_ANY')) + "+?)(?:[ \\t]+\\1)?$"));
2693
+ Opal.const_set($nesting[0], 'SetextSectionTitleRx', new RegExp("" + "^((?!\\.)" + ($$($nesting, 'CC_ANY')) + "*?" + ($$($nesting, 'CG_ALNUM')) + ($$($nesting, 'CC_ANY')) + "*)$"));
2694
+ Opal.const_set($nesting[0], 'InlineSectionAnchorRx', new RegExp("" + " (\\\\)?\\[\\[([" + ($$($nesting, 'CC_ALPHA')) + "_:][" + ($$($nesting, 'CC_WORD')) + "\\-:.]*)(?:, *(" + ($$($nesting, 'CC_ANY')) + "+))?\\]\\]$"));
2695
+ Opal.const_set($nesting[0], 'InvalidSectionIdCharsRx', new RegExp("" + "<[^>]+>|&(?:[a-z][a-z]+\\d{0,2}|#\\d\\d\\d{0,4}|#x[\\da-f][\\da-f][\\da-f]{0,3});|[^ " + ($$($nesting, 'CC_WORD')) + "\\-.]+?"));
2696
+ Opal.const_set($nesting[0], 'SectionLevelStyleRx', /^sect\d$/);
2697
+ Opal.const_set($nesting[0], 'AnyListRx', new RegExp("" + "^(?:[ \\t]*(?:-|\\*\\**|\\.\\.*|\\u2022|\\d+\\.|[a-zA-Z]\\.|[IVXivx]+\\))[ \\t]|(?!//[^/])[ \\t]*[^ \\t]" + ($$($nesting, 'CC_ANY')) + "*?(?::::{0,2}|;;)(?:$|[ \\t])|<?\\d+>[ \\t])"));
2698
+ Opal.const_set($nesting[0], 'UnorderedListRx', new RegExp("" + "^[ \\t]*(-|\\*\\**|\\u2022)[ \\t]+(" + ($$($nesting, 'CC_ANY')) + "*)$"));
2699
+ Opal.const_set($nesting[0], 'OrderedListRx', new RegExp("" + "^[ \\t]*(\\.\\.*|\\d+\\.|[a-zA-Z]\\.|[IVXivx]+\\))[ \\t]+(" + ($$($nesting, 'CC_ANY')) + "*)$"));
2700
+ Opal.const_set($nesting[0], 'OrderedListMarkerRxMap', $hash2(["arabic", "loweralpha", "lowerroman", "upperalpha", "upperroman"], {"arabic": /\d+\./, "loweralpha": /[a-z]\./, "lowerroman": /[ivx]+\)/, "upperalpha": /[A-Z]\./, "upperroman": /[IVX]+\)/}));
2701
+ Opal.const_set($nesting[0], 'DescriptionListRx', new RegExp("" + "^(?!//[^/])[ \\t]*([^ \\t]" + ($$($nesting, 'CC_ANY')) + "*?)(:::{0,2}|;;)(?:$|[ \\t]+(" + ($$($nesting, 'CC_ANY')) + "*)$)"));
2702
+ Opal.const_set($nesting[0], 'DescriptionListSiblingRx', $hash2(["::", ":::", "::::", ";;"], {"::": new RegExp("" + "^(?!//[^/])[ \\t]*([^ \\t]" + ($$($nesting, 'CC_ANY')) + "*?[^:]|[^ \\t:])(::)(?:$|[ \\t]+(" + ($$($nesting, 'CC_ANY')) + "*)$)"), ":::": new RegExp("" + "^(?!//[^/])[ \\t]*([^ \\t]" + ($$($nesting, 'CC_ANY')) + "*?[^:]|[^ \\t:])(:::)(?:$|[ \\t]+(" + ($$($nesting, 'CC_ANY')) + "*)$)"), "::::": new RegExp("" + "^(?!//[^/])[ \\t]*([^ \\t]" + ($$($nesting, 'CC_ANY')) + "*?[^:]|[^ \\t:])(::::)(?:$|[ \\t]+(" + ($$($nesting, 'CC_ANY')) + "*)$)"), ";;": new RegExp("" + "^(?!//[^/])[ \\t]*([^ \\t]" + ($$($nesting, 'CC_ANY')) + "*?)(;;)(?:$|[ \\t]+(" + ($$($nesting, 'CC_ANY')) + "*)$)")}));
2703
+ Opal.const_set($nesting[0], 'CalloutListRx', new RegExp("" + "^<(\\d+|\\.)>[ \\t]+(" + ($$($nesting, 'CC_ANY')) + "*)$"));
2704
+ Opal.const_set($nesting[0], 'CalloutExtractRx', /((?:\/\/|#|--|;;) ?)?(\\)?<!?(|--)(\d+|\.)\3>(?=(?: ?\\?<!?\3(?:\d+|\.)\3>)*$)/);
2705
+ Opal.const_set($nesting[0], 'CalloutExtractRxt', "(\\\\)?<()(\\d+|\\.)>(?=(?: ?\\\\?<(?:\\d+|\\.)>)*$)");
2706
+ Opal.const_set($nesting[0], 'CalloutExtractRxMap', $send($$$('::', 'Hash'), 'new', [], ($Asciidoctor$1 = function(h, k){var self = $Asciidoctor$1.$$s || this, $writer = nil;
2707
+
2708
+
2709
+
2710
+ if (h == null) {
2711
+ h = nil;
2712
+ };
2713
+
2714
+ if (k == null) {
2715
+ k = nil;
2716
+ };
2717
+ $writer = [k, new RegExp("" + "(" + ((function() {if ($truthy(k['$empty?']())) {
2718
+ return ""
2719
+ } else {
2720
+ return "" + ($$$('::', 'Regexp').$escape(k)) + " ?"
2721
+ }; return nil; })()) + ")?" + ($$($nesting, 'CalloutExtractRxt')))];
2722
+ $send(h, '[]=', Opal.to_a($writer));
2723
+ return $writer[$rb_minus($writer["length"], 1)];}, $Asciidoctor$1.$$s = self, $Asciidoctor$1.$$arity = 2, $Asciidoctor$1)));
2724
+ Opal.const_set($nesting[0], 'CalloutScanRx', new RegExp("" + "\\\\?<!?(|--)(\\d+|\\.)\\1>(?=(?: ?\\\\?<!?\\1(?:\\d+|\\.)\\1>)*" + ($$($nesting, 'CC_EOL')) + ")"));
2725
+ Opal.const_set($nesting[0], 'CalloutSourceRx', new RegExp("" + "((?://|#|--|;;) ?)?(\\\\)?&lt;!?(|--)(\\d+|\\.)\\3&gt;(?=(?: ?\\\\?&lt;!?\\3(?:\\d+|\\.)\\3&gt;)*" + ($$($nesting, 'CC_EOL')) + ")"));
2726
+ Opal.const_set($nesting[0], 'CalloutSourceRxt', "" + "(\\\\)?&lt;()(\\d+|\\.)&gt;(?=(?: ?\\\\?&lt;(?:\\d+|\\.)&gt;)*" + ($$($nesting, 'CC_EOL')) + ")");
2727
+ Opal.const_set($nesting[0], 'CalloutSourceRxMap', $send($$$('::', 'Hash'), 'new', [], ($Asciidoctor$2 = function(h, k){var self = $Asciidoctor$2.$$s || this, $writer = nil;
2728
+
2729
+
2730
+
2731
+ if (h == null) {
2732
+ h = nil;
2733
+ };
2734
+
2735
+ if (k == null) {
2736
+ k = nil;
2737
+ };
2738
+ $writer = [k, new RegExp("" + "(" + ((function() {if ($truthy(k['$empty?']())) {
2739
+ return ""
2740
+ } else {
2741
+ return "" + ($$$('::', 'Regexp').$escape(k)) + " ?"
2742
+ }; return nil; })()) + ")?" + ($$($nesting, 'CalloutSourceRxt')))];
2743
+ $send(h, '[]=', Opal.to_a($writer));
2744
+ return $writer[$rb_minus($writer["length"], 1)];}, $Asciidoctor$2.$$s = self, $Asciidoctor$2.$$arity = 2, $Asciidoctor$2)));
2745
+ Opal.const_set($nesting[0], 'ListRxMap', $hash2(["ulist", "olist", "dlist", "colist"], {"ulist": $$($nesting, 'UnorderedListRx'), "olist": $$($nesting, 'OrderedListRx'), "dlist": $$($nesting, 'DescriptionListRx'), "colist": $$($nesting, 'CalloutListRx')}));
2746
+ Opal.const_set($nesting[0], 'ColumnSpecRx', /^(?:(\d+)\*)?([<^>](?:\.[<^>]?)?|(?:[<^>]?\.)?[<^>])?(\d+%?|~)?([a-z])?$/);
2747
+ Opal.const_set($nesting[0], 'CellSpecStartRx', /^[ \t]*(?:(\d+(?:\.\d*)?|(?:\d*\.)?\d+)([*+]))?([<^>](?:\.[<^>]?)?|(?:[<^>]?\.)?[<^>])?([a-z])?$/);
2748
+ Opal.const_set($nesting[0], 'CellSpecEndRx', /[ \t]+(?:(\d+(?:\.\d*)?|(?:\d*\.)?\d+)([*+]))?([<^>](?:\.[<^>]?)?|(?:[<^>]?\.)?[<^>])?([a-z])?$/);
2749
+ Opal.const_set($nesting[0], 'CustomBlockMacroRx', new RegExp("" + "^(" + ($$($nesting, 'CG_WORD')) + "[" + ($$($nesting, 'CC_WORD')) + "-]*)::(|\\S|\\S" + ($$($nesting, 'CC_ANY')) + "*?\\S)\\[(" + ($$($nesting, 'CC_ANY')) + "+)?\\]$"));
2750
+ Opal.const_set($nesting[0], 'BlockMediaMacroRx', new RegExp("" + "^(image|video|audio)::(\\S|\\S" + ($$($nesting, 'CC_ANY')) + "*?\\S)\\[(" + ($$($nesting, 'CC_ANY')) + "+)?\\]$"));
2751
+ Opal.const_set($nesting[0], 'BlockTocMacroRx', new RegExp("" + "^toc::\\[(" + ($$($nesting, 'CC_ANY')) + "+)?\\]$"));
2752
+ Opal.const_set($nesting[0], 'InlineAnchorRx', new RegExp("" + "(\\\\)?(?:\\[\\[([" + ($$($nesting, 'CC_ALPHA')) + "_:][" + ($$($nesting, 'CC_WORD')) + "\\-:.]*)(?:, *(" + ($$($nesting, 'CC_ANY')) + "+?))?\\]\\]|anchor:([" + ($$($nesting, 'CC_ALPHA')) + "_:][" + ($$($nesting, 'CC_WORD')) + "\\-:.]*)\\[(?:\\]|(" + ($$($nesting, 'CC_ANY')) + "*?[^\\\\])\\]))"));
2753
+ Opal.const_set($nesting[0], 'InlineAnchorScanRx', new RegExp("" + "(?:^|[^\\\\\\[])\\[\\[([" + ($$($nesting, 'CC_ALPHA')) + "_:][" + ($$($nesting, 'CC_WORD')) + "\\-:.]*)(?:, *(" + ($$($nesting, 'CC_ANY')) + "+?))?\\]\\]|(?:^|[^\\\\])anchor:([" + ($$($nesting, 'CC_ALPHA')) + "_:][" + ($$($nesting, 'CC_WORD')) + "\\-:.]*)\\[(?:\\]|(" + ($$($nesting, 'CC_ANY')) + "*?[^\\\\])\\])"));
2754
+ Opal.const_set($nesting[0], 'LeadingInlineAnchorRx', new RegExp("" + "^\\[\\[([" + ($$($nesting, 'CC_ALPHA')) + "_:][" + ($$($nesting, 'CC_WORD')) + "\\-:.]*)(?:, *(" + ($$($nesting, 'CC_ANY')) + "+?))?\\]\\]"));
2755
+ Opal.const_set($nesting[0], 'InlineBiblioAnchorRx', new RegExp("" + "^\\[\\[\\[([" + ($$($nesting, 'CC_ALPHA')) + "_:][" + ($$($nesting, 'CC_WORD')) + "\\-:.]*)(?:, *(" + ($$($nesting, 'CC_ANY')) + "+?))?\\]\\]\\]"));
2756
+ Opal.const_set($nesting[0], 'InlineEmailRx', new RegExp("" + "([\\\\>:/])?" + ($$($nesting, 'CG_WORD')) + "(?:&amp;|[" + ($$($nesting, 'CC_WORD')) + "\\-.%+])*@" + ($$($nesting, 'CG_ALNUM')) + "[" + ($$($nesting, 'CC_ALNUM')) + "_\\-.]*\\.[a-zA-Z]{2,5}\\b"));
2757
+ Opal.const_set($nesting[0], 'InlineFootnoteMacroRx', new RegExp("" + "\\\\?footnote(?:(ref):|:([" + ($$($nesting, 'CC_WORD')) + "-]+)?)\\[(?:|(" + ($$($nesting, 'CC_ALL')) + "*?[^\\\\]))\\]", 'm'));
2758
+ Opal.const_set($nesting[0], 'InlineImageMacroRx', new RegExp("" + "\\\\?i(?:mage|con):([^:\\s\\[](?:[^\\n\\[]*[^\\s\\[])?)\\[(|" + ($$($nesting, 'CC_ALL')) + "*?[^\\\\])\\]", 'm'));
2759
+ Opal.const_set($nesting[0], 'InlineIndextermMacroRx', new RegExp("" + "\\\\?(?:(indexterm2?):\\[(" + ($$($nesting, 'CC_ALL')) + "*?[^\\\\])\\]|\\(\\((" + ($$($nesting, 'CC_ALL')) + "+?)\\)\\)(?!\\)))", 'm'));
2760
+ Opal.const_set($nesting[0], 'InlineKbdBtnMacroRx', new RegExp("" + "(\\\\)?(kbd|btn):\\[(" + ($$($nesting, 'CC_ALL')) + "*?[^\\\\])\\]", 'm'));
2761
+ Opal.const_set($nesting[0], 'InlineLinkRx', new RegExp("" + "(^|link:|" + ($$($nesting, 'CG_BLANK')) + "|&lt;|[>\\(\\)\\[\\];])(\\\\?(?:https?|file|ftp|irc)://[^\\s\\[\\]<]*([^\\s.,\\[\\]<]))(?:\\[(|" + ($$($nesting, 'CC_ALL')) + "*?[^\\\\])\\])?", 'm'));
2762
+ Opal.const_set($nesting[0], 'InlineLinkMacroRx', new RegExp("" + "\\\\?(?:link|(mailto)):(|[^:\\s\\[][^\\s\\[]*)\\[(|" + ($$($nesting, 'CC_ALL')) + "*?[^\\\\])\\]", 'm'));
2763
+ Opal.const_set($nesting[0], 'MacroNameRx', new RegExp("" + "^" + ($$($nesting, 'CG_WORD')) + "[" + ($$($nesting, 'CC_WORD')) + "-]*$"));
2764
+ Opal.const_set($nesting[0], 'InlineStemMacroRx', new RegExp("" + "\\\\?(stem|(?:latex|ascii)math):([a-z]+(?:,[a-z-]+)*)?\\[(" + ($$($nesting, 'CC_ALL')) + "*?[^\\\\])\\]", 'm'));
2765
+ Opal.const_set($nesting[0], 'InlineMenuMacroRx', new RegExp("" + "\\\\?menu:(" + ($$($nesting, 'CG_WORD')) + "|[" + ($$($nesting, 'CC_WORD')) + "&][^\\n\\[]*[^\\s\\[])\\[ *(?:|(" + ($$($nesting, 'CC_ALL')) + "*?[^\\\\]))?\\]", 'm'));
2766
+ Opal.const_set($nesting[0], 'InlineMenuRx', new RegExp("" + "\\\\?\"([" + ($$($nesting, 'CC_WORD')) + "&][^\"]*?[ \\n]+&gt;[ \\n]+[^\"]*)\""));
2767
+ Opal.const_set($nesting[0], 'InlinePassRx', $hash(false, ["+", "`", new RegExp("" + "(^|[^" + ($$($nesting, 'CC_WORD')) + ";:])(?:\\[([^\\]]+)\\])?(\\\\?(\\+|`)(\\S|\\S" + ($$($nesting, 'CC_ALL')) + "*?\\S)\\4)(?!" + ($$($nesting, 'CG_WORD')) + ")", 'm')], true, ["`", nil, new RegExp("" + "(^|[^`" + ($$($nesting, 'CC_WORD')) + "])(?:\\[([^\\]]+)\\])?(\\\\?(`)([^`\\s]|[^`\\s]" + ($$($nesting, 'CC_ALL')) + "*?\\S)\\4)(?![`" + ($$($nesting, 'CC_WORD')) + "])", 'm')]));
2768
+ Opal.const_set($nesting[0], 'SinglePlusInlinePassRx', new RegExp("" + "^(\\\\)?\\+(\\S|\\S" + ($$($nesting, 'CC_ALL')) + "*?\\S)\\+$", 'm'));
2769
+ Opal.const_set($nesting[0], 'InlinePassMacroRx', new RegExp("" + "(?:(?:(\\\\?)\\[([^\\]]+)\\])?(\\\\{0,2})(\\+\\+\\+?|\\$\\$)(" + ($$($nesting, 'CC_ALL')) + "*?)\\4|(\\\\?)pass:([a-z]+(?:,[a-z-]+)*)?\\[(|" + ($$($nesting, 'CC_ALL')) + "*?[^\\\\])\\])", 'm'));
2770
+ Opal.const_set($nesting[0], 'InlineXrefMacroRx', new RegExp("" + "\\\\?(?:&lt;&lt;([" + ($$($nesting, 'CC_WORD')) + "#/.:{]" + ($$($nesting, 'CC_ALL')) + "*?)&gt;&gt;|xref:([" + ($$($nesting, 'CC_WORD')) + "#/.:{]" + ($$($nesting, 'CC_ALL')) + "*?)\\[(?:\\]|(" + ($$($nesting, 'CC_ALL')) + "*?[^\\\\])\\]))", 'm'));
2771
+ if ($$($nesting, 'RUBY_ENGINE')['$==']("opal")) {
2772
+ Opal.const_set($nesting[0], 'HardLineBreakRx', new RegExp("" + "^(" + ($$($nesting, 'CC_ANY')) + "*) \\+$", 'm'))
2773
+ } else {
2774
+ nil
2775
+ };
2776
+ Opal.const_set($nesting[0], 'MarkdownThematicBreakRx', /^ {0,3}([-*_])( *)\1\2\1$/);
2777
+ Opal.const_set($nesting[0], 'ExtLayoutBreakRx', /^(?:'{3,}|<{3,}|([-*_])( *)\1\2\1)$/);
2778
+ Opal.const_set($nesting[0], 'BlankLineRx', /\n{2,}/);
2779
+ Opal.const_set($nesting[0], 'EscapedSpaceRx', /\\([ \t\n])/);
2780
+ Opal.const_set($nesting[0], 'ReplaceableTextRx', /[&']|--|\.\.\.|\([CRT]M?\)/);
2781
+ Opal.const_set($nesting[0], 'SpaceDelimiterRx', /([^\\])[ \t\n]+/);
2782
+ Opal.const_set($nesting[0], 'SubModifierSniffRx', /[+-]/);
2783
+ Opal.const_set($nesting[0], 'TrailingDigitsRx', /\d+$/);
2784
+ Opal.const_set($nesting[0], 'UriSniffRx', new RegExp("" + "^" + ($$($nesting, 'CG_ALPHA')) + "[" + ($$($nesting, 'CC_ALNUM')) + ".+-]+:/{0,2}"));
2785
+ Opal.const_set($nesting[0], 'XmlSanitizeRx', /<[^>]+>/);
2786
+ })($nesting[0], $nesting)
2787
+ };
2788
+
2654
2789
  /* Generated by Opal 0.11.99.dev */
2655
2790
  Opal.modules["asciidoctor/substitutors"] = function(Opal) {
2656
2791
  function $rb_plus(lhs, rhs) {
@@ -2670,7 +2805,7 @@ Opal.modules["asciidoctor/substitutors"] = function(Opal) {
2670
2805
  }
2671
2806
  var self = Opal.top, $nesting = [], nil = Opal.nil, $$$ = Opal.const_get_qualified, $$ = Opal.const_get_relative, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $hash2 = Opal.hash2, $hash = Opal.hash, $truthy = Opal.truthy, $send = Opal.send, $gvars = Opal.gvars;
2672
2807
 
2673
- 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', '$extensions', '$inline_macros?', '$inline_macros', '$regexp', '$instance', '$slice', '$length', '$names', '$config', '$merge', '$[]=', '$-', '$normalize_text', '$parse_attributes', '$process_method', '$text', '$expand_subs', '$text=', '$convert', '$class', '$strip', '$>', '$index', '$min', '$compact', '$end_with?', '$map', '$chop', '$new', '$pop', '$rstrip', '$register', '$tr', '$basename', '$parse', '$<<', '$lstrip', '$split_simple_csv', '$partition', '$sub', '$encode_uri_component', '$style', '$parse_into', '$rindex', '$info?', '$catalog', '$fetch', '$outfilesuffix', '$natural_xrefs', '$resolve_id', '$find', '$footnotes', '$id', '$<', '$size', '$attr?', '$attr', '$to_s', '$read_next_id', '$callouts', '$syntax_highlighter', '$highlight?', '$sub_source', '$extract_callouts', '$name', '$to_sym', '$to_i', '$resolve_lines_to_highlight', '$highlight', '$nil_or_empty?', '$restore_callouts', '$count', '$to_a', '$concat', '$uniq', '$sort', '$*', '$parse_quoted_text_attributes', '$resolve_pass_subs', '$extract_inner_passthrough', '$basebackend?', '$error', '$chr', '$drop', '$&', '$resolve_subs', '$resolve_block_subs', '$private', '$=~', '$shorthand_property_syntax', '$each_char']);
2808
+ 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', '$extensions', '$inline_macros?', '$inline_macros', '$regexp', '$instance', '$slice', '$length', '$names', '$config', '$merge', '$[]=', '$-', '$normalize_text', '$parse_attributes', '$process_method', '$text', '$expand_subs', '$text=', '$convert', '$class', '$strip', '$>', '$index', '$min', '$compact', '$end_with?', '$map', '$chop', '$new', '$pop', '$rstrip', '$register', '$tr', '$basename', '$parse', '$<<', '$lstrip', '$split_simple_csv', '$partition', '$sub', '$encode_uri_component', '$style', '$parse_into', '$extname?', '$rindex', '$info?', '$catalog', '$fetch', '$outfilesuffix', '$natural_xrefs', '$resolve_id', '$find', '$footnotes', '$id', '$<', '$size', '$attr?', '$attr', '$to_s', '$read_next_id', '$callouts', '$syntax_highlighter', '$highlight?', '$sub_source', '$extract_callouts', '$name', '$to_sym', '$to_i', '$resolve_lines_to_highlight', '$highlight', '$nil_or_empty?', '$restore_callouts', '$count', '$to_a', '$concat', '$uniq', '$sort', '$*', '$parse_quoted_text_attributes', '$resolve_pass_subs', '$extract_inner_passthrough', '$basebackend?', '$error', '$chr', '$drop', '$&', '$resolve_subs', '$resolve_block_subs', '$private', '$=~', '$shorthand_property_syntax', '$each_char']);
2674
2809
  return (function($base, $parent_nesting) {
2675
2810
  var self = $module($base, 'Asciidoctor');
2676
2811
 
@@ -3163,7 +3298,12 @@ Opal.modules["asciidoctor/substitutors"] = function(Opal) {
3163
3298
  attrs = self.$parse_attributes((($c = $gvars['~']) === nil ? nil : $c['$[]'](2)), posattrs, $hash2(["unescape_input"], {"unescape_input": true}));
3164
3299
  if (type['$==']("icon")) {
3165
3300
  } else {
3166
- doc.$register("images", [target, (($writer = ["imagesdir", doc_attrs['$[]']("imagesdir")]), $send(attrs, '[]=', Opal.to_a($writer)), $writer[$rb_minus($writer["length"], 1)])])
3301
+
3302
+ doc.$register("images", target);
3303
+
3304
+ $writer = ["imagesdir", doc_attrs['$[]']("imagesdir")];
3305
+ $send(attrs, '[]=', Opal.to_a($writer));
3306
+ $writer[$rb_minus($writer["length"], 1)];;
3167
3307
  };
3168
3308
  ($truthy($c = attrs['$[]']("alt")) ? $c : (($writer = ["alt", (($writer = ["default-alt", $$($nesting, 'Helpers').$basename(target, true).$tr("_-", " ")]), $send(attrs, '[]=', Opal.to_a($writer)), $writer[$rb_minus($writer["length"], 1)])]), $send(attrs, '[]=', Opal.to_a($writer)), $writer[$rb_minus($writer["length"], 1)]));
3169
3309
  return $$($nesting, 'Inline').$new(self, "image", nil, $hash2(["type", "target", "attributes"], {"type": type, "target": target, "attributes": attrs})).$convert();}, $$29.$$s = self, $$29.$$arity = 0, $$29))};
@@ -3504,7 +3644,7 @@ Opal.modules["asciidoctor/substitutors"] = function(Opal) {
3504
3644
  };
3505
3645
  return $$($nesting, 'Inline').$new(self, "anchor", reftext, $hash2(["type", "id"], {"type": "ref", "id": id})).$convert();}, $$37.$$s = self, $$37.$$arity = 0, $$37))};
3506
3646
  if ($truthy(($truthy($a = ($truthy($b = text['$include?']("&")) ? text['$include?'](";&l") : $b)) ? $a : ($truthy($b = found_macroish) ? text['$include?']("xref:") : $b)))) {
3507
- text = $send(text, 'gsub', [$$($nesting, 'InlineXrefMacroRx')], ($$38 = function(){var self = $$38.$$s || this, $c, $d, attrs = nil, refid = nil, macro = nil, fragment = nil, hash_idx = nil, fragment_len = nil, path = nil, src2src = nil, last_dot_idx = nil, target = nil, $writer = nil;
3647
+ text = $send(text, 'gsub', [$$($nesting, 'InlineXrefMacroRx')], ($$38 = function(){var self = $$38.$$s || this, $c, $d, attrs = nil, refid = nil, macro = nil, fragment = nil, hash_idx = nil, fragment_len = nil, path = nil, src2src = nil, target = nil, $writer = nil;
3508
3648
 
3509
3649
 
3510
3650
  if ($truthy((($c = $gvars['~']) === nil ? nil : $c['$[]'](0))['$start_with?']($$($nesting, 'RS')))) {
@@ -3538,20 +3678,24 @@ Opal.modules["asciidoctor/substitutors"] = function(Opal) {
3538
3678
  };
3539
3679
  if ($truthy(macro)) {
3540
3680
  if ($truthy(path['$end_with?'](".adoc"))) {
3541
- src2src = (path = path.$slice(0, $rb_minus(path.$length(), 5)))}
3542
- } else if ($truthy(($truthy($c = (last_dot_idx = path.$rindex("."))) ? $$($nesting, 'ASCIIDOC_EXTENSIONS')['$[]'](path.$slice(last_dot_idx, path.$length())) : $c))) {
3543
- src2src = (path = path.$slice(0, last_dot_idx))
3681
+ src2src = (path = path.$slice(0, $rb_minus(path.$length(), 5)))
3682
+ } else if ($truthy($$($nesting, 'Helpers')['$extname?'](path)['$!']())) {
3683
+ src2src = path}
3684
+ } else if ($truthy($send(path, 'end_with?', Opal.to_a($$($nesting, 'ASCIIDOC_EXTENSIONS').$keys())))) {
3685
+ src2src = (path = path.$slice(0, path.$rindex(".")))
3544
3686
  } else {
3545
3687
  src2src = path
3546
3688
  };
3547
3689
  } else {
3548
3690
  $c = [refid, refid.$slice(1, refid.$length())], (target = $c[0]), (fragment = $c[1]), $c
3549
3691
  }
3550
- } else if ($truthy(($truthy($c = macro) ? refid['$include?'](".") : $c))) {
3692
+ } else if ($truthy(macro)) {
3551
3693
  if ($truthy(refid['$end_with?'](".adoc"))) {
3552
3694
  src2src = (path = refid.$slice(0, $rb_minus(refid.$length(), 5)))
3553
- } else {
3695
+ } else if ($truthy($$($nesting, 'Helpers')['$extname?'](refid))) {
3554
3696
  path = refid
3697
+ } else {
3698
+ fragment = refid
3555
3699
  }
3556
3700
  } else {
3557
3701
  fragment = refid
@@ -3592,7 +3736,7 @@ Opal.modules["asciidoctor/substitutors"] = function(Opal) {
3592
3736
  self.$logger().$info("" + "possible invalid reference: " + (refid))};
3593
3737
  } else if ($truthy(doc.$catalog()['$[]']("refs")['$[]'](fragment))) {
3594
3738
  $c = [fragment, "" + "#" + (fragment)], (refid = $c[0]), (target = $c[1]), $c
3595
- } else if ($truthy(($truthy($c = (refid = doc.$resolve_id(fragment))) ? ($truthy($d = fragment['$include?'](" ")) ? $d : fragment.$downcase()['$!='](fragment)) : $c))) {
3739
+ } else if ($truthy(($truthy($c = ($truthy($d = fragment['$include?'](" ")) ? $d : fragment.$downcase()['$!='](fragment))) ? (refid = doc.$resolve_id(fragment)) : $c))) {
3596
3740
  $c = [refid, "" + "#" + (refid)], (fragment = $c[0]), (target = $c[1]), $c
3597
3741
  } else {
3598
3742
 
@@ -4528,7 +4672,7 @@ Opal.modules["asciidoctor/version"] = function(Opal) {
4528
4672
 
4529
4673
  var $nesting = [self].concat($parent_nesting);
4530
4674
 
4531
- Opal.const_set($nesting[0], 'VERSION', "2.0.4")
4675
+ Opal.const_set($nesting[0], 'VERSION', "2.0.9")
4532
4676
  })($nesting[0], $nesting)
4533
4677
  };
4534
4678
 
@@ -4542,7 +4686,7 @@ Opal.modules["asciidoctor/abstract_node"] = function(Opal) {
4542
4686
  }
4543
4687
  var self = Opal.top, $nesting = [], nil = Opal.nil, $$$ = Opal.const_get_qualified, $$ = Opal.const_get_relative, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass, $hash2 = Opal.hash2, $truthy = Opal.truthy, $send = Opal.send;
4544
4688
 
4545
- Opal.add_stubs(['$include', '$attr_reader', '$attr_accessor', '$==', '$document', '$to_s', '$[]', '$merge', '$raise', '$converter', '$attributes', '$key?', '$[]=', '$-', '$delete', '$tap', '$new', '$each_key', '$end_with?', '$<<', '$slice', '$length', '$update', '$split', '$include?', '$empty?', '$join', '$apply_reftext_subs', '$attr?', '$extname', '$attr', '$image_uri', '$<', '$safe', '$uriish?', '$encode_uri', '$normalize_web_path', '$generate_data_uri_from_uri', '$generate_data_uri', '$normalize_system_path', '$readable?', '$strict_encode64', '$binread', '$warn', '$logger', '$require_library', '$!', '$open_uri', '$content_type', '$read', '$base_dir', '$root?', '$path_resolver', '$system_path', '$web_path', '$===', '$!=', '$prepare_source_string', '$fetch', '$read_asset']);
4689
+ Opal.add_stubs(['$include', '$attr_reader', '$attr_accessor', '$==', '$document', '$to_s', '$[]', '$merge', '$raise', '$converter', '$attributes', '$key?', '$[]=', '$-', '$delete', '$tap', '$new', '$each_key', '$end_with?', '$<<', '$slice', '$length', '$update', '$split', '$include?', '$empty?', '$join', '$apply_reftext_subs', '$attr?', '$attr', '$extname?', '$image_uri', '$<', '$safe', '$uriish?', '$encode_spaces_in_uri', '$normalize_web_path', '$generate_data_uri_from_uri', '$generate_data_uri', '$extname', '$normalize_system_path', '$readable?', '$strict_encode64', '$binread', '$warn', '$logger', '$require_library', '$!', '$open_uri', '$content_type', '$read', '$base_dir', '$root?', '$path_resolver', '$system_path', '$web_path', '$===', '$!=', '$prepare_source_string', '$fetch', '$read_asset']);
4546
4690
  return (function($base, $parent_nesting) {
4547
4691
  var self = $module($base, 'Asciidoctor');
4548
4692
 
@@ -4551,7 +4695,7 @@ Opal.modules["asciidoctor/abstract_node"] = function(Opal) {
4551
4695
  (function($base, $super, $parent_nesting) {
4552
4696
  var self = $klass($base, $super, 'AbstractNode');
4553
4697
 
4554
- var $nesting = [self].concat($parent_nesting), $AbstractNode_initialize$1, $AbstractNode_block$ques$2, $AbstractNode_inline$ques$3, $AbstractNode_converter$4, $AbstractNode_parent$eq$5, $AbstractNode_attr$6, $AbstractNode_attr$ques$7, $AbstractNode_set_attr$8, $AbstractNode_remove_attr$9, $AbstractNode_option$ques$10, $AbstractNode_set_option$11, $AbstractNode_options$12, $AbstractNode_update_attributes$15, $AbstractNode_role$16, $AbstractNode_roles$17, $AbstractNode_role$ques$18, $AbstractNode_has_role$ques$19, $AbstractNode_add_role$20, $AbstractNode_remove_role$21, $AbstractNode_reftext$22, $AbstractNode_reftext$ques$23, $AbstractNode_icon_uri$24, $AbstractNode_image_uri$25, $AbstractNode_media_uri$26, $AbstractNode_generate_data_uri$27, $AbstractNode_generate_data_uri_from_uri$28, $AbstractNode_normalize_asset_path$30, $AbstractNode_normalize_system_path$31, $AbstractNode_normalize_web_path$32, $AbstractNode_read_asset$33, $AbstractNode_read_contents$34, $AbstractNode_is_uri$ques$37;
4698
+ var $nesting = [self].concat($parent_nesting), $AbstractNode_initialize$1, $AbstractNode_block$ques$2, $AbstractNode_inline$ques$3, $AbstractNode_converter$4, $AbstractNode_parent$eq$5, $AbstractNode_attr$6, $AbstractNode_attr$ques$7, $AbstractNode_set_attr$8, $AbstractNode_remove_attr$9, $AbstractNode_option$ques$10, $AbstractNode_set_option$11, $AbstractNode_enabled_options$12, $AbstractNode_update_attributes$15, $AbstractNode_role$16, $AbstractNode_roles$17, $AbstractNode_role$ques$18, $AbstractNode_has_role$ques$19, $AbstractNode_add_role$20, $AbstractNode_remove_role$21, $AbstractNode_reftext$22, $AbstractNode_reftext$ques$23, $AbstractNode_icon_uri$24, $AbstractNode_image_uri$25, $AbstractNode_media_uri$26, $AbstractNode_generate_data_uri$27, $AbstractNode_generate_data_uri_from_uri$28, $AbstractNode_normalize_asset_path$30, $AbstractNode_normalize_system_path$31, $AbstractNode_normalize_web_path$32, $AbstractNode_read_asset$33, $AbstractNode_read_contents$34, $AbstractNode_is_uri$ques$37;
4555
4699
 
4556
4700
  self.$$prototype.document = self.$$prototype.attributes = self.$$prototype.parent = nil;
4557
4701
 
@@ -4714,7 +4858,7 @@ Opal.modules["asciidoctor/abstract_node"] = function(Opal) {
4714
4858
  return nil;
4715
4859
  }, $AbstractNode_set_option$11.$$arity = 1);
4716
4860
 
4717
- Opal.def(self, '$options', $AbstractNode_options$12 = function $$options() {
4861
+ Opal.def(self, '$enabled_options', $AbstractNode_enabled_options$12 = function $$enabled_options() {
4718
4862
  var $$13, self = this;
4719
4863
 
4720
4864
  return $send($$$('::', 'Set').$new(), 'tap', [], ($$13 = function(accum){var self = $$13.$$s || this, $$14;
@@ -4737,7 +4881,7 @@ Opal.modules["asciidoctor/abstract_node"] = function(Opal) {
4737
4881
  } else {
4738
4882
  return nil
4739
4883
  };}, $$14.$$s = self, $$14.$$arity = 1, $$14));}, $$13.$$s = self, $$13.$$arity = 1, $$13))
4740
- }, $AbstractNode_options$12.$$arity = 0);
4884
+ }, $AbstractNode_enabled_options$12.$$arity = 0);
4741
4885
 
4742
4886
  Opal.def(self, '$update_attributes', $AbstractNode_update_attributes$15 = function $$update_attributes(new_attributes) {
4743
4887
  var self = this;
@@ -4853,8 +4997,12 @@ Opal.modules["asciidoctor/abstract_node"] = function(Opal) {
4853
4997
 
4854
4998
 
4855
4999
  if ($truthy(self['$attr?']("icon"))) {
4856
- if ($truthy($$$('::', 'File').$extname((icon = self.$attr("icon")))['$empty?']())) {
4857
- icon = "" + (icon) + "." + (self.document.$attr("icontype", "png"))}
5000
+
5001
+ icon = self.$attr("icon");
5002
+ if ($truthy($$($nesting, 'Helpers')['$extname?'](icon))) {
5003
+ } else {
5004
+ icon = "" + (icon) + "." + (self.document.$attr("icontype", "png"))
5005
+ };
4858
5006
  } else {
4859
5007
  icon = "" + (name) + "." + (self.document.$attr("icontype", "png"))
4860
5008
  };
@@ -4870,9 +5018,10 @@ Opal.modules["asciidoctor/abstract_node"] = function(Opal) {
4870
5018
  asset_dir_key = "imagesdir";
4871
5019
  };
4872
5020
  if ($truthy(($truthy($a = $rb_lt((doc = self.document).$safe(), $$$($$($nesting, 'SafeMode'), 'SECURE'))) ? doc['$attr?']("data-uri") : $a))) {
4873
- if ($truthy(($truthy($a = ($truthy($b = $$($nesting, 'Helpers')['$uriish?'](target_image)) ? (target_image = $$($nesting, 'Helpers').$encode_uri(target_image)) : $b)) ? $a : ($truthy($b = ($truthy($c = ($truthy($d = asset_dir_key) ? (images_base = doc.$attr(asset_dir_key)) : $d)) ? $$($nesting, 'Helpers')['$uriish?'](images_base) : $c)) ? (target_image = self.$normalize_web_path(target_image, images_base, false)) : $b)))) {
5021
+ if ($truthy(($truthy($a = ($truthy($b = $$($nesting, 'Helpers')['$uriish?'](target_image)) ? (target_image = $$($nesting, 'Helpers').$encode_spaces_in_uri(target_image)) : $b)) ? $a : ($truthy($b = ($truthy($c = ($truthy($d = asset_dir_key) ? (images_base = doc.$attr(asset_dir_key)) : $d)) ? $$($nesting, 'Helpers')['$uriish?'](images_base) : $c)) ? (target_image = self.$normalize_web_path(target_image, images_base, false)) : $b)))) {
4874
5022
  if ($truthy(doc['$attr?']("allow-uri-read"))) {
4875
- return self.$generate_data_uri_from_uri(target_image, doc['$attr?']("cache-uri"))
5023
+
5024
+ return self.$generate_data_uri_from_uri(target_image, doc['$attr?']("cache-uri"));
4876
5025
  } else {
4877
5026
  return target_image
4878
5027
  }
@@ -4912,12 +5061,15 @@ Opal.modules["asciidoctor/abstract_node"] = function(Opal) {
4912
5061
  if (asset_dir_key == null) {
4913
5062
  asset_dir_key = nil;
4914
5063
  };
4915
- ext = $$$('::', 'File').$extname(target_image);
4916
- mimetype = (function() {if (ext['$=='](".svg")) {
4917
- return "image/svg+xml"
5064
+ if ($truthy((ext = $$($nesting, 'Helpers').$extname(target_image, nil)))) {
5065
+ mimetype = (function() {if (ext['$=='](".svg")) {
5066
+ return "image/svg+xml"
5067
+ } else {
5068
+ return "" + "image/" + (ext.$slice(1, ext.$length()))
5069
+ }; return nil; })()
4918
5070
  } else {
4919
- return "" + "image/" + (ext.$slice(1, ext.$length()))
4920
- }; return nil; })();
5071
+ mimetype = "application/octet-stream"
5072
+ };
4921
5073
  if ($truthy(asset_dir_key)) {
4922
5074
  image_path = self.$normalize_system_path(target_image, self.document.$attr(asset_dir_key), nil, $hash2(["target_name"], {"target_name": "image"}))
4923
5075
  } else {
@@ -5034,7 +5186,7 @@ Opal.modules["asciidoctor/abstract_node"] = function(Opal) {
5034
5186
  preserve_uri_target = true;
5035
5187
  };
5036
5188
  if ($truthy(($truthy($a = preserve_uri_target) ? $$($nesting, 'Helpers')['$uriish?'](target) : $a))) {
5037
- return $$($nesting, 'Helpers').$encode_uri(target)
5189
+ return $$($nesting, 'Helpers').$encode_spaces_in_uri(target)
5038
5190
  } else {
5039
5191
  return self.document.$path_resolver().$web_path(target, start)
5040
5192
  };
@@ -5148,7 +5300,7 @@ Opal.modules["asciidoctor/abstract_block"] = function(Opal) {
5148
5300
  }
5149
5301
  var self = Opal.top, $nesting = [], nil = Opal.nil, $$$ = Opal.const_get_qualified, $$ = Opal.const_get_relative, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass, $hash2 = Opal.hash2, $send = Opal.send, $truthy = Opal.truthy;
5150
5302
 
5151
- Opal.add_stubs(['$attr_reader', '$attr_writer', '$attr_accessor', '$===', '$level', '$file', '$lineno', '$playback_attributes', '$convert', '$converter', '$join', '$map', '$to_s', '$==', '$parent', '$parent=', '$-', '$<<', '$empty?', '$>', '$Integer', '$find_by_internal', '$to_proc', '$context', '$[]', '$items', '$+', '$find_index', '$include?', '$next_adjacent_block', '$blocks', '$select', '$sub_specialchars', '$match?', '$sub_replacements', '$title', '$apply_title_subs', '$delete', '$reftext', '$!', '$sub_placeholder', '$sub_quotes', '$compat_mode', '$attributes', '$chomp', '$increment_and_store_counter', '$index=', '$numbered', '$sectname', '$counter', '$numeral=', '$numeral', '$caption=', '$int_to_roman', '$each', '$assign_numeral', '$reindex_sections', '$protected', '$has_role?', '$raise', '$header?', '$!=', '$flatten', '$head', '$rows', '$merge', '$body', '$foot', '$style', '$inner_document']);
5303
+ Opal.add_stubs(['$attr_reader', '$attr_writer', '$attr_accessor', '$==', '$===', '$level', '$file', '$lineno', '$playback_attributes', '$convert', '$converter', '$join', '$map', '$to_s', '$parent', '$parent=', '$-', '$<<', '$empty?', '$>', '$Integer', '$find_by_internal', '$to_proc', '$context', '$[]', '$items', '$+', '$find_index', '$include?', '$next_adjacent_block', '$blocks', '$select', '$sub_specialchars', '$match?', '$sub_replacements', '$title', '$apply_title_subs', '$delete', '$reftext', '$!', '$sub_placeholder', '$sub_quotes', '$compat_mode', '$attributes', '$chomp', '$increment_and_store_counter', '$index=', '$numbered', '$sectname', '$counter', '$numeral=', '$numeral', '$caption=', '$int_to_roman', '$each', '$assign_numeral', '$reindex_sections', '$protected', '$has_role?', '$raise', '$header?', '$!=', '$flatten', '$head', '$rows', '$merge', '$body', '$foot', '$style', '$inner_document']);
5152
5304
  return (function($base, $parent_nesting) {
5153
5305
  var self = $module($base, 'Asciidoctor');
5154
5306
 
@@ -5171,7 +5323,7 @@ Opal.modules["asciidoctor/abstract_block"] = function(Opal) {
5171
5323
  self.$attr_reader("subs");
5172
5324
 
5173
5325
  Opal.def(self, '$initialize', $AbstractBlock_initialize$1 = function $$initialize(parent, context, opts) {
5174
- var $iter = $AbstractBlock_initialize$1.$$p, $yield = $iter || nil, self = this, $case = nil, $zuper = nil, $zuper_i = nil, $zuper_ii = nil;
5326
+ var $a, $iter = $AbstractBlock_initialize$1.$$p, $yield = $iter || nil, self = this, $zuper = nil, $zuper_i = nil, $zuper_ii = nil;
5175
5327
 
5176
5328
  if ($iter) $AbstractBlock_initialize$1.$$p = null;
5177
5329
  // Prepare super implicit arguments
@@ -5188,15 +5340,15 @@ Opal.modules["asciidoctor/abstract_block"] = function(Opal) {
5188
5340
  self.blocks = [];
5189
5341
  self.subs = [];
5190
5342
  self.id = (self.title = (self.caption = (self.numeral = (self.style = (self.default_subs = (self.source_location = nil))))));
5191
- return (function() {$case = context;
5192
- if ("document"['$===']($case) || "section"['$===']($case)) {
5193
- self.level = (self.next_section_index = 0);
5194
- return (self.next_section_ordinal = 1);}
5195
- else {return (self.level = (function() {if ($truthy($$($nesting, 'AbstractBlock')['$==='](parent))) {
5196
- return parent.$level()
5343
+ if ($truthy(($truthy($a = context['$==']("document")) ? $a : context['$==']("section")))) {
5344
+
5345
+ self.level = (self.next_section_index = 0);
5346
+ return (self.next_section_ordinal = 1);
5347
+ } else if ($truthy($$($nesting, 'AbstractBlock')['$==='](parent))) {
5348
+ return (self.level = parent.$level())
5197
5349
  } else {
5198
- return nil
5199
- }; return nil; })())}})();
5350
+ return (self.level = nil)
5351
+ };
5200
5352
  }, $AbstractBlock_initialize$1.$$arity = -3);
5201
5353
 
5202
5354
  Opal.def(self, '$block?', $AbstractBlock_block$ques$2 = function() {
@@ -5380,7 +5532,7 @@ Opal.modules["asciidoctor/abstract_block"] = function(Opal) {
5380
5532
  };
5381
5533
  }
5382
5534
  } else {
5383
- return nil
5535
+ return ""
5384
5536
  }
5385
5537
  }, $AbstractBlock_alt$19.$$arity = 0);
5386
5538
 
@@ -5488,10 +5640,6 @@ Opal.modules["asciidoctor/abstract_block"] = function(Opal) {
5488
5640
 
5489
5641
 
5490
5642
 
5491
- if (value == null) {
5492
- value = nil;
5493
- };
5494
-
5495
5643
  if (caption_context == null) {
5496
5644
  caption_context = self.context;
5497
5645
  };
@@ -5504,7 +5652,7 @@ Opal.modules["asciidoctor/abstract_block"] = function(Opal) {
5504
5652
  } else {
5505
5653
  return nil
5506
5654
  };
5507
- }, $AbstractBlock_assign_caption$29.$$arity = -1);
5655
+ }, $AbstractBlock_assign_caption$29.$$arity = -2);
5508
5656
 
5509
5657
  Opal.def(self, '$assign_numeral', $AbstractBlock_assign_numeral$30 = function $$assign_numeral(section) {
5510
5658
  var $a, self = this, $writer = nil, like = nil, sectname = nil, caption = nil;
@@ -6287,7 +6435,7 @@ Opal.modules["asciidoctor/converter"] = function(Opal) {
6287
6435
  }
6288
6436
  var self = Opal.top, $nesting = [], nil = Opal.nil, $$$ = Opal.const_get_qualified, $$ = Opal.const_get_relative, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $hash2 = Opal.hash2, $truthy = Opal.truthy, $send = Opal.send, $klass = Opal.klass, $gvars = Opal.gvars;
6289
6437
 
6290
- Opal.add_stubs(['$autoload', '$__dir__', '$attr_reader', '$raise', '$class', '$[]', '$sub', '$slice', '$length', '$==', '$[]=', '$backend_traits', '$-', '$derive_backend_traits', '$register', '$new', '$create', '$default', '$each', '$default=', '$registry', '$for', '$===', '$supports_templates?', '$merge', '$private', '$include', '$delete', '$clear', '$private_class_method', '$send', '$extend', '$node_name', '$+', '$receiver', '$to_s', '$name', '$warn', '$logger', '$respond_to?', '$content']);
6438
+ Opal.add_stubs(['$autoload', '$__dir__', '$attr_reader', '$raise', '$class', '$[]', '$sub', '$slice', '$length', '$==', '$[]=', '$backend_traits', '$-', '$derive_backend_traits', '$register', '$map', '$to_s', '$new', '$create', '$default', '$each', '$default=', '$registry', '$for', '$===', '$supports_templates?', '$merge', '$private', '$include', '$delete', '$clear', '$private_class_method', '$send', '$extend', '$node_name', '$+', '$receiver', '$name', '$warn', '$logger', '$respond_to?', '$content']);
6291
6439
  return (function($base, $parent_nesting) {
6292
6440
  var self = $module($base, 'Asciidoctor');
6293
6441
 
@@ -6296,7 +6444,7 @@ Opal.modules["asciidoctor/converter"] = function(Opal) {
6296
6444
  (function($base, $parent_nesting) {
6297
6445
  var self = $module($base, 'Converter');
6298
6446
 
6299
- var $nesting = [self].concat($parent_nesting), $Converter_initialize$1, $Converter_convert$2, $Converter_handles$ques$3, $Converter_derive_backend_traits$4, $a, $Converter_included$27;
6447
+ var $nesting = [self].concat($parent_nesting), $Converter_initialize$1, $Converter_convert$2, $Converter_handles$ques$3, $Converter_derive_backend_traits$4, $a, $Converter_included$28;
6300
6448
 
6301
6449
 
6302
6450
  self.$autoload("CompositeConverter", "" + (self.$__dir__()) + "/converter/composite");
@@ -6488,23 +6636,30 @@ Opal.modules["asciidoctor/converter"] = function(Opal) {
6488
6636
 
6489
6637
 
6490
6638
  Opal.def(self, '$register_for', $Config_register_for$14 = function $$register_for($a) {
6491
- var $post_args, backends, self = this;
6639
+ var $post_args, backends, $$15, self = this;
6492
6640
 
6493
6641
 
6494
6642
 
6495
6643
  $post_args = Opal.slice.call(arguments, 0, arguments.length);
6496
6644
 
6497
6645
  backends = $post_args;;
6498
- return $send($$($nesting, 'Converter'), 'register', [self].concat(Opal.to_a(backends)));
6646
+ return $send($$($nesting, 'Converter'), 'register', [self].concat(Opal.to_a($send(backends, 'map', [], ($$15 = function(backend){var self = $$15.$$s || this;
6647
+
6648
+
6649
+
6650
+ if (backend == null) {
6651
+ backend = nil;
6652
+ };
6653
+ return backend.$to_s();}, $$15.$$s = self, $$15.$$arity = 1, $$15)))));
6499
6654
  }, $Config_register_for$14.$$arity = -1)
6500
6655
  })($nesting[0], $nesting);
6501
6656
  (function($base, $parent_nesting) {
6502
6657
  var self = $module($base, 'Factory');
6503
6658
 
6504
- var $nesting = [self].concat($parent_nesting), $Factory_new$15, $Factory_default$16, $Factory_create$17, $Factory_register$18, $Factory_for$20, $Factory_create$21, $Factory_converters$22, $Factory_registry$23;
6659
+ var $nesting = [self].concat($parent_nesting), $Factory_new$16, $Factory_default$17, $Factory_create$18, $Factory_register$19, $Factory_for$21, $Factory_create$22, $Factory_converters$23, $Factory_registry$24;
6505
6660
 
6506
6661
 
6507
- Opal.defs(self, '$new', $Factory_new$15 = function($a, $b) {
6662
+ Opal.defs(self, '$new', $Factory_new$16 = function($a, $b) {
6508
6663
  var $post_args, $kwargs, converters, proxy_default, self = this;
6509
6664
 
6510
6665
 
@@ -6538,8 +6693,8 @@ Opal.modules["asciidoctor/converter"] = function(Opal) {
6538
6693
 
6539
6694
  return $$($nesting, 'CustomFactory').$new(converters);
6540
6695
  };
6541
- }, $Factory_new$15.$$arity = -1);
6542
- Opal.defs(self, '$default', $Factory_default$16 = function($a) {
6696
+ }, $Factory_new$16.$$arity = -1);
6697
+ Opal.defs(self, '$default', $Factory_default$17 = function($a) {
6543
6698
  var $post_args, args, self = this;
6544
6699
 
6545
6700
 
@@ -6548,8 +6703,8 @@ Opal.modules["asciidoctor/converter"] = function(Opal) {
6548
6703
 
6549
6704
  args = $post_args;;
6550
6705
  return $$($nesting, 'Converter');
6551
- }, $Factory_default$16.$$arity = -1);
6552
- Opal.defs(self, '$create', $Factory_create$17 = function $$create(backend, opts) {
6706
+ }, $Factory_default$17.$$arity = -1);
6707
+ Opal.defs(self, '$create', $Factory_create$18 = function $$create(backend, opts) {
6553
6708
  var self = this;
6554
6709
 
6555
6710
 
@@ -6558,17 +6713,17 @@ Opal.modules["asciidoctor/converter"] = function(Opal) {
6558
6713
  opts = $hash2([], {});
6559
6714
  };
6560
6715
  return self.$default().$create(backend, opts);
6561
- }, $Factory_create$17.$$arity = -2);
6716
+ }, $Factory_create$18.$$arity = -2);
6562
6717
 
6563
- Opal.def(self, '$register', $Factory_register$18 = function $$register(converter, $a) {
6564
- var $post_args, backends, $$19, self = this;
6718
+ Opal.def(self, '$register', $Factory_register$19 = function $$register(converter, $a) {
6719
+ var $post_args, backends, $$20, self = this;
6565
6720
 
6566
6721
 
6567
6722
 
6568
6723
  $post_args = Opal.slice.call(arguments, 1, arguments.length);
6569
6724
 
6570
6725
  backends = $post_args;;
6571
- return $send(backends, 'each', [], ($$19 = function(backend){var self = $$19.$$s || this, $writer = nil;
6726
+ return $send(backends, 'each', [], ($$20 = function(backend){var self = $$20.$$s || this, $writer = nil;
6572
6727
 
6573
6728
 
6574
6729
 
@@ -6587,16 +6742,16 @@ Opal.modules["asciidoctor/converter"] = function(Opal) {
6587
6742
  $writer = [backend, converter];
6588
6743
  $send(self.$registry(), '[]=', Opal.to_a($writer));
6589
6744
  return $writer[$rb_minus($writer["length"], 1)];;
6590
- };}, $$19.$$s = self, $$19.$$arity = 1, $$19));
6591
- }, $Factory_register$18.$$arity = -2);
6745
+ };}, $$20.$$s = self, $$20.$$arity = 1, $$20));
6746
+ }, $Factory_register$19.$$arity = -2);
6592
6747
 
6593
- Opal.def(self, '$for', $Factory_for$20 = function(backend) {
6748
+ Opal.def(self, '$for', $Factory_for$21 = function(backend) {
6594
6749
  var self = this;
6595
6750
 
6596
6751
  return self.$registry()['$[]'](backend)
6597
- }, $Factory_for$20.$$arity = 1);
6752
+ }, $Factory_for$21.$$arity = 1);
6598
6753
 
6599
- Opal.def(self, '$create', $Factory_create$21 = function $$create(backend, opts) {
6754
+ Opal.def(self, '$create', $Factory_create$22 = function $$create(backend, opts) {
6600
6755
  var $a, $b, self = this, converter = nil, template_dirs = nil, delegate_backend = nil;
6601
6756
 
6602
6757
 
@@ -6625,30 +6780,30 @@ Opal.modules["asciidoctor/converter"] = function(Opal) {
6625
6780
  } else {
6626
6781
  return nil
6627
6782
  };
6628
- }, $Factory_create$21.$$arity = -2);
6783
+ }, $Factory_create$22.$$arity = -2);
6629
6784
 
6630
- Opal.def(self, '$converters', $Factory_converters$22 = function $$converters() {
6785
+ Opal.def(self, '$converters', $Factory_converters$23 = function $$converters() {
6631
6786
  var self = this;
6632
6787
 
6633
6788
  return self.$registry().$merge()
6634
- }, $Factory_converters$22.$$arity = 0);
6789
+ }, $Factory_converters$23.$$arity = 0);
6635
6790
  self.$private();
6636
6791
 
6637
- Opal.def(self, '$registry', $Factory_registry$23 = function $$registry() {
6792
+ Opal.def(self, '$registry', $Factory_registry$24 = function $$registry() {
6638
6793
  var self = this;
6639
6794
 
6640
6795
  return self.$raise($$$('::', 'NotImplementedError'), "" + ($$($nesting, 'Factory')) + " subclass " + (self.$class()) + " must implement the #" + ("registry") + " method")
6641
- }, $Factory_registry$23.$$arity = 0);
6796
+ }, $Factory_registry$24.$$arity = 0);
6642
6797
  })($nesting[0], $nesting);
6643
6798
  (function($base, $super, $parent_nesting) {
6644
6799
  var self = $klass($base, $super, 'CustomFactory');
6645
6800
 
6646
- var $nesting = [self].concat($parent_nesting), $CustomFactory_initialize$24, $CustomFactory_unregister_all$25;
6801
+ var $nesting = [self].concat($parent_nesting), $CustomFactory_initialize$25, $CustomFactory_unregister_all$26;
6647
6802
 
6648
6803
 
6649
6804
  self.$include($$($nesting, 'Factory'));
6650
6805
 
6651
- Opal.def(self, '$initialize', $CustomFactory_initialize$24 = function $$initialize(seed_registry) {
6806
+ Opal.def(self, '$initialize', $CustomFactory_initialize$25 = function $$initialize(seed_registry) {
6652
6807
  var self = this, $writer = nil;
6653
6808
 
6654
6809
 
@@ -6666,34 +6821,34 @@ Opal.modules["asciidoctor/converter"] = function(Opal) {
6666
6821
  } else {
6667
6822
  return (self.registry = $hash2([], {}))
6668
6823
  };
6669
- }, $CustomFactory_initialize$24.$$arity = -1);
6824
+ }, $CustomFactory_initialize$25.$$arity = -1);
6670
6825
 
6671
- Opal.def(self, '$unregister_all', $CustomFactory_unregister_all$25 = function $$unregister_all() {
6826
+ Opal.def(self, '$unregister_all', $CustomFactory_unregister_all$26 = function $$unregister_all() {
6672
6827
  var self = this, $writer = nil;
6673
6828
 
6674
6829
 
6675
6830
  $writer = [nil];
6676
6831
  $send(self.$registry().$clear(), 'default=', Opal.to_a($writer));
6677
6832
  return $writer[$rb_minus($writer["length"], 1)];
6678
- }, $CustomFactory_unregister_all$25.$$arity = 0);
6833
+ }, $CustomFactory_unregister_all$26.$$arity = 0);
6679
6834
  self.$private();
6680
6835
  return self.$attr_reader("registry");
6681
6836
  })($nesting[0], null, $nesting);
6682
6837
  (function($base, $parent_nesting) {
6683
6838
  var self = $module($base, 'DefaultFactory');
6684
6839
 
6685
- var $nesting = [self].concat($parent_nesting), $DefaultFactory_registry$26;
6840
+ var $nesting = [self].concat($parent_nesting), $DefaultFactory_registry$27;
6686
6841
 
6687
6842
 
6688
6843
  self.$include($$($nesting, 'Factory'));
6689
6844
  self.$private();
6690
6845
  (Opal.class_variable_set($nesting[0], '@@registry', $hash2([], {})));
6691
6846
 
6692
- Opal.def(self, '$registry', $DefaultFactory_registry$26 = function $$registry() {
6847
+ Opal.def(self, '$registry', $DefaultFactory_registry$27 = function $$registry() {
6693
6848
  var $a, self = this;
6694
6849
 
6695
6850
  return (($a = $nesting[0].$$cvars['@@registry']) == null ? nil : $a)
6696
- }, $DefaultFactory_registry$26.$$arity = 0);
6851
+ }, $DefaultFactory_registry$27.$$arity = 0);
6697
6852
  if ($$($nesting, 'RUBY_ENGINE')['$==']("opal")) {
6698
6853
  } else {
6699
6854
  nil
@@ -6712,23 +6867,23 @@ Opal.modules["asciidoctor/converter"] = function(Opal) {
6712
6867
  return nil
6713
6868
  };
6714
6869
  })($nesting[0], $$($nesting, 'CustomFactory'), $nesting);
6715
- self.$private_class_method(($truthy($a = (Opal.defs(self, '$included', $Converter_included$27 = function $$included(into) {
6870
+ self.$private_class_method(($truthy($a = (Opal.defs(self, '$included', $Converter_included$28 = function $$included(into) {
6716
6871
  var self = this;
6717
6872
 
6718
6873
 
6719
6874
  into.$send("include", $$($nesting, 'BackendTraits'));
6720
6875
  return into.$extend($$($nesting, 'Config'));
6721
- }, $Converter_included$27.$$arity = 1), nil) && 'included') ? $a : "included"));
6876
+ }, $Converter_included$28.$$arity = 1), nil) && 'included') ? $a : "included"));
6722
6877
  (function($base, $super, $parent_nesting) {
6723
6878
  var self = $klass($base, $super, 'Base');
6724
6879
 
6725
- var $nesting = [self].concat($parent_nesting), $Base_convert$28, $Base_handles$ques$29, $Base_content_only$30, $Base_skip$31;
6880
+ var $nesting = [self].concat($parent_nesting), $Base_convert$29, $Base_handles$ques$30, $Base_content_only$31, $Base_skip$32;
6726
6881
 
6727
6882
  self.$$prototype.backend = nil;
6728
6883
 
6729
6884
  self.$include($$($nesting, 'Converter'), $$($nesting, 'Logging'));
6730
6885
 
6731
- Opal.def(self, '$convert', $Base_convert$28 = function $$convert(node, transform, opts) {
6886
+ Opal.def(self, '$convert', $Base_convert$29 = function $$convert(node, transform, opts) {
6732
6887
  var $a, $b, self = this, ex = nil;
6733
6888
  if ($gvars["!"] == null) $gvars["!"] = nil;
6734
6889
 
@@ -6762,24 +6917,24 @@ Opal.modules["asciidoctor/converter"] = function(Opal) {
6762
6917
  } finally { Opal.pop_exception() }
6763
6918
  } else { throw $err; }
6764
6919
  };
6765
- }, $Base_convert$28.$$arity = -2);
6920
+ }, $Base_convert$29.$$arity = -2);
6766
6921
 
6767
- Opal.def(self, '$handles?', $Base_handles$ques$29 = function(transform) {
6922
+ Opal.def(self, '$handles?', $Base_handles$ques$30 = function(transform) {
6768
6923
  var self = this;
6769
6924
 
6770
6925
  return self['$respond_to?']("" + "convert_" + (transform))
6771
- }, $Base_handles$ques$29.$$arity = 1);
6926
+ }, $Base_handles$ques$30.$$arity = 1);
6772
6927
 
6773
- Opal.def(self, '$content_only', $Base_content_only$30 = function $$content_only(node) {
6928
+ Opal.def(self, '$content_only', $Base_content_only$31 = function $$content_only(node) {
6774
6929
  var self = this;
6775
6930
 
6776
6931
  return node.$content()
6777
- }, $Base_content_only$30.$$arity = 1);
6778
- return (Opal.def(self, '$skip', $Base_skip$31 = function $$skip(node) {
6932
+ }, $Base_content_only$31.$$arity = 1);
6933
+ return (Opal.def(self, '$skip', $Base_skip$32 = function $$skip(node) {
6779
6934
  var self = this;
6780
6935
 
6781
6936
  return nil
6782
- }, $Base_skip$31.$$arity = 1), nil) && 'skip';
6937
+ }, $Base_skip$32.$$arity = 1), nil) && 'skip';
6783
6938
  })($nesting[0], null, $nesting);
6784
6939
  self.$extend($$($nesting, 'DefaultFactory'));
6785
6940
  })($nesting[0], $nesting)
@@ -6805,7 +6960,7 @@ Opal.modules["asciidoctor/document"] = function(Opal) {
6805
6960
  }
6806
6961
  var self = Opal.top, $nesting = [], nil = Opal.nil, $$$ = Opal.const_get_qualified, $$ = Opal.const_get_relative, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass, $send = Opal.send, $truthy = Opal.truthy, $hash2 = Opal.hash2, $gvars = Opal.gvars, $hash = Opal.hash;
6807
6962
 
6808
- Opal.add_stubs(['$new', '$attr_reader', '$nil?', '$<<', '$[]', '$[]=', '$-', '$include?', '$strip', '$squeeze', '$gsub', '$empty?', '$!', '$rpartition', '$attr_accessor', '$delete', '$base_dir', '$options', '$merge', '$catalog', '$attributes', '$safe', '$compat_mode', '$outfilesuffix', '$sourcemap', '$path_resolver', '$converter', '$extensions', '$syntax_highlighter', '$each', '$end_with?', '$start_with?', '$slice', '$length', '$chop', '$==', '$downcase', '$extname', '$===', '$value_for_name', '$key?', '$freeze', '$attribute_undefined', '$attribute_missing', '$name_for_value', '$expand_path', '$pwd', '$>=', '$+', '$abs', '$to_i', '$delete_if', '$update_doctype_attributes', '$cursor', '$parse', '$restore_attributes', '$update_backend_attributes', '$fetch', '$fill_datetime_attributes', '$activate', '$create', '$to_proc', '$groups', '$preprocessors?', '$preprocessors', '$process_method', '$tree_processors?', '$tree_processors', '$!=', '$counter', '$nil_or_empty?', '$nextval', '$to_s', '$value', '$save_to', '$register', '$tap', '$xreftext', '$find', '$source', '$source_lines', '$doctitle', '$sectname=', '$title=', '$first_section', '$title', '$reftext', '$>', '$<', '$context', '$assign_numeral', '$clear_playback_attributes', '$save_attributes', '$name', '$negate', '$rewind', '$replace', '$attribute_locked?', '$apply_attribute_value_subs', '$delete?', '$start', '$doctype', '$content_model', '$warn', '$logger', '$content', '$convert', '$postprocessors?', '$postprocessors', '$record', '$write', '$respond_to?', '$chomp', '$class', '$write_alternate_pages', '$map', '$split', '$resolve_docinfo_subs', '$&', '$normalize_system_path', '$read_asset', '$apply_subs', '$docinfo_processors?', '$join', '$concat', '$compact', '$docinfo_processors', '$object_id', '$inspect', '$size', '$private', '$=~', '$resolve_pass_subs', '$apply_header_subs', '$limit_bytesize', '$bytesize', '$valid_encoding?', '$byteslice', '$resolve_subs', '$utc', '$at', '$Integer', '$now', '$index', '$strftime', '$year', '$utc_offset', '$partition', '$create_converter', '$basebackend', '$filetype', '$htmlsyntax', '$derive_backend_traits', '$raise']);
6963
+ Opal.add_stubs(['$new', '$attr_reader', '$nil?', '$<<', '$[]', '$[]=', '$-', '$include?', '$strip', '$squeeze', '$gsub', '$empty?', '$!', '$rpartition', '$attr_accessor', '$delete', '$base_dir', '$options', '$merge', '$catalog', '$attributes', '$safe', '$compat_mode', '$outfilesuffix', '$sourcemap', '$path_resolver', '$converter', '$extensions', '$syntax_highlighter', '$each', '$end_with?', '$start_with?', '$slice', '$length', '$chop', '$==', '$downcase', '$extname', '$===', '$value_for_name', '$key?', '$freeze', '$attribute_undefined', '$attribute_missing', '$name_for_value', '$expand_path', '$pwd', '$>=', '$+', '$abs', '$to_i', '$delete_if', '$update_doctype_attributes', '$cursor', '$parse', '$restore_attributes', '$update_backend_attributes', '$fetch', '$fill_datetime_attributes', '$activate', '$create', '$to_proc', '$groups', '$preprocessors?', '$preprocessors', '$process_method', '$tree_processors?', '$tree_processors', '$!=', '$counter', '$nil_or_empty?', '$nextval', '$to_s', '$value', '$save_to', '$register', '$tap', '$xreftext', '$source', '$source_lines', '$doctitle', '$sectname=', '$title=', '$first_section', '$title', '$reftext', '$>', '$<', '$find', '$context', '$assign_numeral', '$clear_playback_attributes', '$save_attributes', '$name', '$negate', '$rewind', '$replace', '$attribute_locked?', '$apply_attribute_value_subs', '$delete?', '$start', '$doctype', '$content_model', '$warn', '$logger', '$content', '$convert', '$postprocessors?', '$postprocessors', '$record', '$write', '$respond_to?', '$chomp', '$class', '$write_alternate_pages', '$map', '$split', '$resolve_docinfo_subs', '$&', '$normalize_system_path', '$read_asset', '$apply_subs', '$docinfo_processors?', '$join', '$concat', '$compact', '$docinfo_processors', '$object_id', '$inspect', '$size', '$private', '$=~', '$resolve_pass_subs', '$apply_header_subs', '$limit_bytesize', '$bytesize', '$valid_encoding?', '$byteslice', '$resolve_subs', '$utc', '$at', '$Integer', '$now', '$index', '$strftime', '$year', '$utc_offset', '$partition', '$create_converter', '$basebackend', '$filetype', '$htmlsyntax', '$derive_backend_traits', '$raise']);
6809
6964
  return (function($base, $parent_nesting) {
6810
6965
  var self = $module($base, 'Asciidoctor');
6811
6966
 
@@ -7013,7 +7168,7 @@ Opal.modules["asciidoctor/document"] = function(Opal) {
7013
7168
  return $writer[$rb_minus($writer["length"], 1)];;}, $$9.$$s = self, $$9.$$arity = 2, $$9));
7014
7169
  if ($truthy((to_file = options['$[]']("to_file")))) {
7015
7170
 
7016
- $writer = ["outfilesuffix", $$$('::', 'File').$extname(to_file)];
7171
+ $writer = ["outfilesuffix", $$($nesting, 'Helpers').$extname(to_file)];
7017
7172
  $send(attr_overrides, '[]=', Opal.to_a($writer));
7018
7173
  $writer[$rb_minus($writer["length"], 1)];};
7019
7174
  if ($truthy((safe_mode = options['$[]']("safe"))['$!']())) {
@@ -7049,8 +7204,7 @@ Opal.modules["asciidoctor/document"] = function(Opal) {
7049
7204
  $send(options, '[]=', Opal.to_a($writer));
7050
7205
  $writer[$rb_minus($writer["length"], 1)];};
7051
7206
  };
7052
- self.parsed = false;
7053
- self.header = (self.header_attributes = nil);
7207
+ self.parsed = (self.reftexts = (self.header = (self.header_attributes = nil)));
7054
7208
  self.counters = $hash2([], {});
7055
7209
  self.attributes_modified = $$$('::', 'Set').$new();
7056
7210
  self.docinfo_processor_extensions = $hash2([], {});
@@ -7449,7 +7603,7 @@ Opal.modules["asciidoctor/document"] = function(Opal) {
7449
7603
  else {if ($truthy(self.options['$[]']("catalog_assets"))) {
7450
7604
  return self.catalog['$[]'](type)['$<<']((function() {if (type['$==']("images")) {
7451
7605
 
7452
- return $$($nesting, 'ImageReference').$new(value['$[]'](0), value['$[]'](1));
7606
+ return $$($nesting, 'ImageReference').$new(value, self.attributes['$[]']("imagesdir"));
7453
7607
  } else {
7454
7608
  return value
7455
7609
  }; return nil; })())
@@ -7459,10 +7613,12 @@ Opal.modules["asciidoctor/document"] = function(Opal) {
7459
7613
  }, $Document_register$17.$$arity = 2);
7460
7614
 
7461
7615
  Opal.def(self, '$resolve_id', $Document_resolve_id$18 = function $$resolve_id(text) {
7462
- var $a, $b, $$19, $$21, self = this;
7616
+ var $$19, $$21, self = this, resolved_id = nil;
7463
7617
 
7464
- return ($truthy($a = (self.reftexts = ($truthy($b = self.reftexts) ? $b : (function() {if ($truthy(self.parsed)) {
7465
- return $send($hash2([], {}), 'tap', [], ($$19 = function(accum){var self = $$19.$$s || this, $$20;
7618
+ if ($truthy(self.reftexts)) {
7619
+ return self.reftexts['$[]'](text)
7620
+ } else if ($truthy(self.parsed)) {
7621
+ return $send((self.reftexts = $hash2([], {})), 'tap', [], ($$19 = function(accum){var self = $$19.$$s || this, $$20;
7466
7622
  if (self.catalog == null) self.catalog = nil;
7467
7623
 
7468
7624
 
@@ -7470,7 +7626,7 @@ Opal.modules["asciidoctor/document"] = function(Opal) {
7470
7626
  if (accum == null) {
7471
7627
  accum = nil;
7472
7628
  };
7473
- return $send(self.catalog['$[]']("refs"), 'each', [], ($$20 = function(id, ref){var self = $$20.$$s || this, $writer = nil;
7629
+ return $send(self.catalog['$[]']("refs"), 'each', [], ($$20 = function(id, ref){var self = $$20.$$s || this, $a, $writer = nil;
7474
7630
 
7475
7631
 
7476
7632
 
@@ -7481,38 +7637,42 @@ Opal.modules["asciidoctor/document"] = function(Opal) {
7481
7637
  if (ref == null) {
7482
7638
  ref = nil;
7483
7639
  };
7484
- $writer = [ref.$xreftext(), id];
7485
- $send(accum, '[]=', Opal.to_a($writer));
7486
- return $writer[$rb_minus($writer["length"], 1)];}, $$20.$$s = self, $$20.$$arity = 2, $$20));}, $$19.$$s = self, $$19.$$arity = 1, $$19))
7640
+ return ($truthy($a = accum['$[]'](ref.$xreftext())) ? $a : (($writer = [ref.$xreftext(), id]), $send(accum, '[]=', Opal.to_a($writer)), $writer[$rb_minus($writer["length"], 1)]));}, $$20.$$s = self, $$20.$$arity = 2, $$20));}, $$19.$$s = self, $$19.$$arity = 1, $$19))['$[]'](text)
7487
7641
  } else {
7488
- return nil
7489
- }; return nil; })()))) ? $a : $send($hash2([], {}), 'tap', [], ($$21 = function(accum){var self = $$21.$$s || this, $$22;
7490
- if (self.catalog == null) self.catalog = nil;
7491
-
7492
-
7493
7642
 
7494
- if (accum == null) {
7495
- accum = nil;
7496
- };
7497
- return $send(self.catalog['$[]']("refs"), 'find', [], ($$22 = function(id, ref){var self = $$22.$$s || this, $writer = nil;
7643
+ resolved_id = nil;
7644
+ (function(){var $brk = Opal.new_brk(); try {return $send((self.reftexts = $hash2([], {})), 'tap', [], ($$21 = function(accum){var self = $$21.$$s || this, $$22;
7645
+ if (self.catalog == null) self.catalog = nil;
7498
7646
 
7499
7647
 
7500
7648
 
7501
- if (id == null) {
7502
- id = nil;
7649
+ if (accum == null) {
7650
+ accum = nil;
7503
7651
  };
7652
+ return (function(){var $brk = Opal.new_brk(); try {return $send(self.catalog['$[]']("refs"), 'each', [], ($$22 = function(id, ref){var self = $$22.$$s || this, $a, xreftext = nil, $writer = nil;
7653
+
7504
7654
 
7505
- if (ref == null) {
7506
- ref = nil;
7507
- };
7508
- if (ref.$xreftext()['$=='](text)) {
7509
7655
 
7510
- $writer = [text, id];
7511
- $send(accum, '[]=', Opal.to_a($writer));
7512
- return $writer[$rb_minus($writer["length"], 1)];
7513
- } else {
7514
- return nil
7515
- };}, $$22.$$s = self, $$22.$$arity = 2, $$22));}, $$21.$$s = self, $$21.$$arity = 1, $$21)))['$[]'](text)
7656
+ if (id == null) {
7657
+ id = nil;
7658
+ };
7659
+
7660
+ if (ref == null) {
7661
+ ref = nil;
7662
+ };
7663
+ if ((xreftext = ref.$xreftext())['$=='](text)) {
7664
+
7665
+
7666
+ Opal.brk((resolved_id = id), $brk);
7667
+ } else {
7668
+
7669
+ return ($truthy($a = accum['$[]'](xreftext)) ? $a : (($writer = [xreftext, id]), $send(accum, '[]=', Opal.to_a($writer)), $writer[$rb_minus($writer["length"], 1)]));
7670
+ };}, $$22.$$s = self, $$22.$$brk = $brk, $$22.$$arity = 2, $$22))
7671
+ } catch (err) { if (err === $brk) { return err.$v } else { throw err } }})();}, $$21.$$s = self, $$21.$$brk = $brk, $$21.$$arity = 1, $$21))
7672
+ } catch (err) { if (err === $brk) { return err.$v } else { throw err } }})();
7673
+ self.reftexts = nil;
7674
+ return resolved_id;
7675
+ }
7516
7676
  }, $Document_resolve_id$18.$$arity = 1);
7517
7677
 
7518
7678
  Opal.def(self, '$footnotes?', $Document_footnotes$ques$23 = function() {
@@ -8637,9 +8797,9 @@ Opal.modules["asciidoctor/inline"] = function(Opal) {
8637
8797
  Opal.alias(self, "render", "convert");
8638
8798
 
8639
8799
  Opal.def(self, '$alt', $Inline_alt$5 = function $$alt() {
8640
- var self = this;
8800
+ var $a, self = this;
8641
8801
 
8642
- return self.$attr("alt")
8802
+ return ($truthy($a = self.$attr("alt")) ? $a : "")
8643
8803
  }, $Inline_alt$5.$$arity = 0);
8644
8804
 
8645
8805
  Opal.def(self, '$reftext?', $Inline_reftext$ques$6 = function() {
@@ -8838,7 +8998,7 @@ Opal.modules["asciidoctor/parser"] = function(Opal) {
8838
8998
  }
8839
8999
  var self = Opal.top, $nesting = [], nil = Opal.nil, $$$ = Opal.const_get_qualified, $$ = Opal.const_get_relative, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass, $send = Opal.send, $truthy = Opal.truthy, $hash2 = Opal.hash2, $gvars = Opal.gvars;
8840
9000
 
8841
- 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', '$parse_block_metadata_lines', '$attributes', '$is_next_line_doctitle?', '$finalize_header', '$nil_or_empty?', '$title=', '$-', '$sourcemap', '$cursor', '$parse_section_title', '$id=', '$apply_header_subs', '$[]=', '$source_location=', '$header', '$attribute_locked?', '$id', '$clear', '$delete', '$instance_variable_get', '$parse_header_metadata', '$include?', '$==', '$!', '$register', '$doctype', '$parse_manpage_header', '$=~', '$downcase', '$sub_attributes', '$error', '$logger', '$message_with_context', '$cursor_at_line', '$backend', '$skip_blank_lines', '$save', '$update', '$is_next_line_section?', '$initialize_section', '$join', '$map', '$read_lines_until', '$lstrip', '$title', '$split', '$restore_save', '$discard_save', '$context', '$empty?', '$header?', '$!=', '$attr?', '$attr', '$key?', '$document', '$+', '$level', '$special', '$sectname', '$to_i', '$<', '$>', '$warn', '$next_block', '$blocks?', '$style', '$context=', '$style=', '$parent=', '$size', '$content_model', '$shift', '$unwrap_standalone_preamble', '$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', '$source_location', '$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', '$delete_at', '$casecmp', '$sectname=', '$special=', '$numbered=', '$numbered', '$lineno', '$peek_lines', '$setext_section_title?', '$abs', '$cursor_at_prev_line', '$process_attribute_entries', '$next_line_empty?', '$process_authors', '$rstrip', '$each_with_index', '$compact', '$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', '$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', '$has_header_option=', '$partition_header_footer', '$upto', '$partition', '$shorthand_property_syntax', '$each_char', '$yield_buffered_attribute', '$any?', '$*', '$each_byte', '$%']);
9001
+ 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', '$parse_block_metadata_lines', '$attributes', '$is_next_line_doctitle?', '$finalize_header', '$nil_or_empty?', '$title=', '$-', '$sourcemap', '$cursor', '$parse_section_title', '$id=', '$apply_header_subs', '$[]=', '$source_location=', '$header', '$attribute_locked?', '$id', '$clear', '$delete', '$instance_variable_get', '$parse_header_metadata', '$include?', '$==', '$!', '$register', '$doctype', '$parse_manpage_header', '$=~', '$downcase', '$sub_attributes', '$error', '$logger', '$message_with_context', '$cursor_at_line', '$backend', '$skip_blank_lines', '$save', '$update', '$is_next_line_section?', '$initialize_section', '$join', '$map', '$read_lines_until', '$lstrip', '$title', '$split', '$restore_save', '$discard_save', '$context', '$empty?', '$header?', '$!=', '$attr?', '$attr', '$key?', '$document', '$+', '$level', '$special', '$sectname', '$to_i', '$<', '$>', '$warn', '$next_block', '$blocks?', '$style', '$context=', '$style=', '$parent=', '$size', '$content_model', '$shift', '$unwrap_standalone_preamble', '$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', '$source_location', '$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?', '$process_authors', '$rstrip', '$each_with_index', '$compact', '$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', '$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', '$has_header_option=', '$partition_header_footer', '$upto', '$partition', '$shorthand_property_syntax', '$each_char', '$yield_buffered_attribute', '$any?', '$*', '$each_byte', '$%']);
8842
9002
  return (function($base, $parent_nesting) {
8843
9003
  var self = $module($base, 'Asciidoctor');
8844
9004
 
@@ -9446,7 +9606,11 @@ Opal.modules["asciidoctor/parser"] = function(Opal) {
9446
9606
  }};
9447
9607
  if (blk_ctx['$==']("image")) {
9448
9608
 
9449
- document.$register("images", [target, (($writer = ["imagesdir", doc_attrs['$[]']("imagesdir")]), $send(attributes, '[]=', Opal.to_a($writer)), $writer[$rb_minus($writer["length"], 1)])]);
9609
+ document.$register("images", target);
9610
+
9611
+ $writer = ["imagesdir", doc_attrs['$[]']("imagesdir")];
9612
+ $send(attributes, '[]=', Opal.to_a($writer));
9613
+ $writer[$rb_minus($writer["length"], 1)];;
9450
9614
  ($truthy($b = attributes['$[]']("alt")) ? $b : (($writer = ["alt", ($truthy($c = style) ? $c : (($writer = ["default-alt", $$($nesting, 'Helpers').$basename(target, true).$tr("_-", " ")]), $send(attributes, '[]=', Opal.to_a($writer)), $writer[$rb_minus($writer["length"], 1)]))]), $send(attributes, '[]=', Opal.to_a($writer)), $writer[$rb_minus($writer["length"], 1)]));
9451
9615
  if ($truthy((scaledwidth = attributes.$delete("scaledwidth"))['$nil_or_empty?']())) {
9452
9616
  } else {
@@ -10631,7 +10795,10 @@ Opal.modules["asciidoctor/parser"] = function(Opal) {
10631
10795
  if ($truthy(this_line)) {
10632
10796
  reader.$unshift_line(this_line)};
10633
10797
  if ($truthy(detached_continuation)) {
10634
- buffer.$delete_at(detached_continuation)};
10798
+
10799
+ $writer = [detached_continuation, ""];
10800
+ $send(buffer, '[]=', Opal.to_a($writer));
10801
+ $writer[$rb_minus($writer["length"], 1)];};
10635
10802
  while (!($truthy(buffer['$empty?']()))) {
10636
10803
  if ($truthy((last_line = buffer['$[]'](-1))['$empty?']())) {
10637
10804
  buffer.$pop()
@@ -12121,9 +12288,9 @@ Opal.modules["asciidoctor/path_resolver"] = function(Opal) {
12121
12288
  function $rb_gt(lhs, rhs) {
12122
12289
  return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs > rhs : lhs['$>'](rhs);
12123
12290
  }
12124
- var self = Opal.top, $nesting = [], nil = Opal.nil, $$$ = Opal.const_get_qualified, $$ = Opal.const_get_relative, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass, $truthy = Opal.truthy, $hash2 = Opal.hash2, $send = Opal.send;
12291
+ var self = Opal.top, $nesting = [], nil = Opal.nil, $$$ = Opal.const_get_qualified, $$ = Opal.const_get_relative, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass, $truthy = Opal.truthy, $hash2 = Opal.hash2, $send = Opal.send, $gvars = Opal.gvars;
12125
12292
 
12126
- Opal.add_stubs(['$include', '$attr_accessor', '$root?', '$posixify', '$expand_path', '$pwd', '$start_with?', '$==', '$match?', '$absolute_path?', '$+', '$length', '$descends_from?', '$slice', '$to_s', '$relative_path_from', '$new', '$include?', '$tr', '$partition_path', '$each', '$pop', '$<<', '$join_path', '$[]', '$web_root?', '$unc?', '$index', '$split', '$delete', '$[]=', '$-', '$join', '$raise', '$!', '$fetch', '$warn', '$logger', '$empty?', '$nil_or_empty?', '$chomp', '$!=', '$>', '$size', '$end_with?', '$uri_prefix', '$gsub']);
12293
+ Opal.add_stubs(['$include', '$attr_accessor', '$root?', '$posixify', '$expand_path', '$pwd', '$start_with?', '$==', '$match?', '$absolute_path?', '$+', '$length', '$descends_from?', '$slice', '$to_s', '$relative_path_from', '$new', '$include?', '$tr', '$partition_path', '$each', '$pop', '$<<', '$join_path', '$[]', '$web_root?', '$unc?', '$index', '$split', '$delete', '$[]=', '$-', '$join', '$raise', '$!', '$fetch', '$warn', '$logger', '$empty?', '$nil_or_empty?', '$chomp', '$!=', '$>', '$size', '$extract_uri_prefix', '$end_with?', '$gsub', '$private', '$=~']);
12127
12294
  return (function($base, $parent_nesting) {
12128
12295
  var self = $module($base, 'Asciidoctor');
12129
12296
 
@@ -12132,7 +12299,7 @@ Opal.modules["asciidoctor/path_resolver"] = function(Opal) {
12132
12299
  (function($base, $super, $parent_nesting) {
12133
12300
  var self = $klass($base, $super, 'PathResolver');
12134
12301
 
12135
- var $nesting = [self].concat($parent_nesting), $PathResolver_initialize$1, $PathResolver_absolute_path$ques$2, $a, $PathResolver_root$ques$3, $PathResolver_unc$ques$4, $PathResolver_web_root$ques$5, $PathResolver_descends_from$ques$6, $PathResolver_relative_path$7, $PathResolver_posixify$8, $PathResolver_expand_path$9, $PathResolver_partition_path$11, $PathResolver_join_path$12, $PathResolver_system_path$13, $PathResolver_web_path$16;
12302
+ var $nesting = [self].concat($parent_nesting), $PathResolver_initialize$1, $PathResolver_absolute_path$ques$2, $a, $PathResolver_root$ques$3, $PathResolver_unc$ques$4, $PathResolver_web_root$ques$5, $PathResolver_descends_from$ques$6, $PathResolver_relative_path$7, $PathResolver_posixify$8, $PathResolver_expand_path$9, $PathResolver_partition_path$11, $PathResolver_join_path$12, $PathResolver_system_path$13, $PathResolver_web_path$16, $PathResolver_extract_uri_prefix$18;
12136
12303
 
12137
12304
  self.$$prototype.file_separator = self.$$prototype._partition_path_web = self.$$prototype._partition_path_sys = self.$$prototype.working_dir = nil;
12138
12305
 
@@ -12490,7 +12657,8 @@ Opal.modules["asciidoctor/path_resolver"] = function(Opal) {
12490
12657
  return self.$join_path(resolved_segments, jail_root)
12491
12658
  };
12492
12659
  }, $PathResolver_system_path$13.$$arity = -2);
12493
- return (Opal.def(self, '$web_path', $PathResolver_web_path$16 = function $$web_path(target, start) {
12660
+
12661
+ Opal.def(self, '$web_path', $PathResolver_web_path$16 = function $$web_path(target, start) {
12494
12662
  var $a, $b, $$17, self = this, uri_prefix = nil, target_segments = nil, target_root = nil, resolved_segments = nil, resolved_path = nil;
12495
12663
 
12496
12664
 
@@ -12500,17 +12668,13 @@ Opal.modules["asciidoctor/path_resolver"] = function(Opal) {
12500
12668
  };
12501
12669
  target = self.$posixify(target);
12502
12670
  start = self.$posixify(start);
12503
- uri_prefix = nil;
12504
12671
  if ($truthy(($truthy($a = start['$nil_or_empty?']()) ? $a : self['$web_root?'](target)))) {
12505
12672
  } else {
12506
-
12507
- target = (function() {if ($truthy(start['$end_with?']($$($nesting, 'SLASH')))) {
12508
- return "" + (start) + (target)
12673
+ $b = self.$extract_uri_prefix("" + (start) + ((function() {if ($truthy(start['$end_with?']($$($nesting, 'SLASH')))) {
12674
+ return ""
12509
12675
  } else {
12510
- return "" + (start) + ($$($nesting, 'SLASH')) + (target)
12511
- }; return nil; })();
12512
- if ($truthy((uri_prefix = $$($nesting, 'Helpers').$uri_prefix(target)))) {
12513
- target = target['$[]'](Opal.Range.$new(uri_prefix.$length(), -1, false))};
12676
+ return $$($nesting, 'SLASH')
12677
+ }; return nil; })()) + (target)), $a = Opal.to_ary($b), (target = ($a[0] == null ? nil : $a[0])), (uri_prefix = ($a[1] == null ? nil : $a[1])), $b
12514
12678
  };
12515
12679
  $b = self.$partition_path(target, true), $a = Opal.to_ary($b), (target_segments = ($a[0] == null ? nil : $a[0])), (target_root = ($a[1] == null ? nil : $a[1])), $b;
12516
12680
  resolved_segments = [];
@@ -12543,7 +12707,17 @@ Opal.modules["asciidoctor/path_resolver"] = function(Opal) {
12543
12707
  } else {
12544
12708
  return resolved_path
12545
12709
  };
12546
- }, $PathResolver_web_path$16.$$arity = -2), nil) && 'web_path';
12710
+ }, $PathResolver_web_path$16.$$arity = -2);
12711
+ self.$private();
12712
+ return (Opal.def(self, '$extract_uri_prefix', $PathResolver_extract_uri_prefix$18 = function $$extract_uri_prefix(str) {
12713
+ var $a, self = this;
12714
+
12715
+ if ($truthy(($truthy($a = str['$include?'](":")) ? $$($nesting, 'UriSniffRx')['$=~'](str) : $a))) {
12716
+ return [str.$slice((($a = $gvars['~']) === nil ? nil : $a['$[]'](0)).$length(), str.$length()), (($a = $gvars['~']) === nil ? nil : $a['$[]'](0))]
12717
+ } else {
12718
+ return str
12719
+ }
12720
+ }, $PathResolver_extract_uri_prefix$18.$$arity = 1), nil) && 'extract_uri_prefix';
12547
12721
  })($nesting[0], null, $nesting)
12548
12722
  })($nesting[0], $nesting)
12549
12723
  };
@@ -12573,7 +12747,7 @@ Opal.modules["asciidoctor/reader"] = function(Opal) {
12573
12747
  }
12574
12748
  var self = Opal.top, $nesting = [], nil = Opal.nil, $$$ = Opal.const_get_qualified, $$ = Opal.const_get_relative, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass, $hash2 = Opal.hash2, $truthy = Opal.truthy, $send = Opal.send, $gvars = Opal.gvars, $hash = Opal.hash;
12575
12749
 
12576
- Opal.add_stubs(['$include', '$attr_reader', '$+', '$attr_accessor', '$!', '$===', '$split', '$file', '$dir', '$dirname', '$path', '$basename', '$lineno', '$prepare_lines', '$drop', '$empty?', '$nil_or_empty?', '$peek_line', '$>', '$slice', '$[]', '$length', '$process_line', '$times', '$shift', '$read_line', '$<<', '$-', '$unshift_all', '$has_more_lines?', '$join', '$read_lines', '$unshift', '$start_with?', '$==', '$*', '$read_lines_until', '$size', '$clear', '$cursor', '$[]=', '$!=', '$fetch', '$cursor_at_mark', '$warn', '$logger', '$message_with_context', '$new', '$tap', '$each', '$instance_variables', '$instance_variable_get', '$instance_variable_set', '$class', '$object_id', '$inspect', '$private', '$prepare_source_array', '$prepare_source_string', '$valid_encoding?', '$to_s', '$raise', '$to_i', '$attributes', '$catalog', '$pop_include', '$parse', '$path=', '$dup', '$extname', '$rootname', '$key?', '$attr', '$>=', '$nil?', '$extensions?', '$include_processors?', '$extensions', '$include_processors', '$map', '$skip_front_matter!', '$pop', '$adjust_indentation!', '$end_with?', '$include?', '$=~', '$preprocess_conditional_directive', '$preprocess_include_directive', '$downcase', '$error', '$none?', '$any?', '$all?', '$strip', '$send', '$resolve_expr_val', '$replace_next_line', '$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', '$value?', '$create_include_cursor', '$rindex', '$delete_at', '$keys', '$read', '$uriish?', '$attr?', '$require_library', '$normalize_system_path', '$file?', '$relative_path', '$path_resolver', '$base_dir', '$to_f']);
12750
+ Opal.add_stubs(['$include', '$attr_reader', '$+', '$attr_accessor', '$!', '$===', '$split', '$file', '$dir', '$dirname', '$path', '$basename', '$lineno', '$prepare_lines', '$drop', '$empty?', '$nil_or_empty?', '$peek_line', '$>', '$slice', '$[]', '$length', '$process_line', '$times', '$shift', '$read_line', '$<<', '$-', '$unshift_all', '$has_more_lines?', '$join', '$read_lines', '$unshift', '$start_with?', '$==', '$*', '$read_lines_until', '$size', '$clear', '$cursor', '$[]=', '$!=', '$fetch', '$cursor_at_mark', '$warn', '$logger', '$message_with_context', '$new', '$tap', '$each', '$instance_variables', '$instance_variable_get', '$instance_variable_set', '$class', '$object_id', '$inspect', '$private', '$prepare_source_array', '$prepare_source_string', '$valid_encoding?', '$to_s', '$raise', '$to_i', '$attributes', '$catalog', '$pop_include', '$parse', '$path=', '$dup', '$end_with?', '$keys', '$rindex', '$rootname', '$key?', '$attr', '$>=', '$nil?', '$extensions?', '$include_processors?', '$extensions', '$include_processors', '$map', '$skip_front_matter!', '$pop', '$adjust_indentation!', '$include?', '$=~', '$preprocess_conditional_directive', '$preprocess_include_directive', '$downcase', '$error', '$none?', '$any?', '$all?', '$strip', '$send', '$resolve_expr_val', '$replace_next_line', '$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', '$value?', '$create_include_cursor', '$delete_at', '$read', '$uriish?', '$attr?', '$require_library', '$normalize_system_path', '$file?', '$relative_path', '$path_resolver', '$base_dir', '$to_f']);
12577
12751
  return (function($base, $parent_nesting) {
12578
12752
  var self = $module($base, 'Asciidoctor');
12579
12753
 
@@ -13341,17 +13515,21 @@ Opal.modules["asciidoctor/reader"] = function(Opal) {
13341
13515
  $writer[$rb_minus($writer["length"], 1)];;
13342
13516
  file = file.$to_s();
13343
13517
  };
13344
- path = ($truthy($a = path) ? $a : $$$('::', 'File').$basename(file));
13345
- self.process_lines = $$($nesting, 'ASCIIDOC_EXTENSIONS')['$[]']($$$('::', 'File').$extname(file));
13518
+ self.path = (path = ($truthy($a = path) ? $a : $$$('::', 'File').$basename(file)));
13519
+ if ($truthy((self.process_lines = $send(file, 'end_with?', Opal.to_a($$($nesting, 'ASCIIDOC_EXTENSIONS').$keys()))))) {
13520
+
13521
+ $writer = [path.$slice(0, path.$rindex(".")), (function() {if ($truthy(attributes['$[]']("partial-option"))) {
13522
+ return nil
13523
+ } else {
13524
+ return true
13525
+ }; return nil; })()];
13526
+ $send(self.includes, '[]=', Opal.to_a($writer));
13527
+ $writer[$rb_minus($writer["length"], 1)];};
13346
13528
  } else {
13347
13529
 
13348
13530
  self.dir = ".";
13349
13531
  self.process_lines = true;
13350
- };
13351
- if ($truthy(path)) {
13352
-
13353
- self.path = path;
13354
- if ($truthy(self.process_lines)) {
13532
+ if ($truthy((self.path = path))) {
13355
13533
 
13356
13534
  $writer = [$$($nesting, 'Helpers').$rootname(path), (function() {if ($truthy(attributes['$[]']("partial-option"))) {
13357
13535
  return nil
@@ -13359,9 +13537,10 @@ Opal.modules["asciidoctor/reader"] = function(Opal) {
13359
13537
  return true
13360
13538
  }; return nil; })()];
13361
13539
  $send(self.includes, '[]=', Opal.to_a($writer));
13362
- $writer[$rb_minus($writer["length"], 1)];};
13363
- } else {
13364
- self.path = "<stdin>"
13540
+ $writer[$rb_minus($writer["length"], 1)];
13541
+ } else {
13542
+ self.path = "<stdin>"
13543
+ };
13365
13544
  };
13366
13545
  self.lineno = lineno;
13367
13546
  if ($truthy(($truthy($a = self.maxdepth) ? attributes['$key?']("depth") : $a))) {
@@ -15411,58 +15590,475 @@ Opal.modules["asciidoctor/table"] = function(Opal) {
15411
15590
  return (Opal.def(self, '$advance', $ParserContext_advance$49 = function $$advance() {
15412
15591
  var self = this;
15413
15592
 
15414
- return (self.linenum = $rb_plus(self.linenum, 1))
15415
- }, $ParserContext_advance$49.$$arity = 0), nil) && 'advance';
15416
- })($$($nesting, 'Table'), null, $nesting);
15593
+ return (self.linenum = $rb_plus(self.linenum, 1))
15594
+ }, $ParserContext_advance$49.$$arity = 0), nil) && 'advance';
15595
+ })($$($nesting, 'Table'), null, $nesting);
15596
+ })($nesting[0], $nesting)
15597
+ };
15598
+
15599
+ /* Generated by Opal 0.11.99.dev */
15600
+ Opal.modules["asciidoctor/writer"] = function(Opal) {
15601
+ function $rb_plus(lhs, rhs) {
15602
+ return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs + rhs : lhs['$+'](rhs);
15603
+ }
15604
+ var self = Opal.top, $nesting = [], nil = Opal.nil, $$$ = Opal.const_get_qualified, $$ = Opal.const_get_relative, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $truthy = Opal.truthy, $hash2 = Opal.hash2;
15605
+
15606
+ Opal.add_stubs(['$respond_to?', '$write', '$+', '$chomp', '$include']);
15607
+ return (function($base, $parent_nesting) {
15608
+ var self = $module($base, 'Asciidoctor');
15609
+
15610
+ var $nesting = [self].concat($parent_nesting);
15611
+
15612
+
15613
+ (function($base, $parent_nesting) {
15614
+ var self = $module($base, 'Writer');
15615
+
15616
+ var $nesting = [self].concat($parent_nesting), $Writer_write$1;
15617
+
15618
+
15619
+ Opal.def(self, '$write', $Writer_write$1 = function $$write(output, target) {
15620
+ var self = this;
15621
+
15622
+
15623
+ if ($truthy(target['$respond_to?']("write"))) {
15624
+ target.$write($rb_plus(output.$chomp(), $$($nesting, 'LF')))
15625
+ } else {
15626
+ $$$('::', 'File').$write(target, output, $hash2(["mode"], {"mode": $$($nesting, 'FILE_WRITE_MODE')}))
15627
+ };
15628
+ return nil;
15629
+ }, $Writer_write$1.$$arity = 2)
15630
+ })($nesting[0], $nesting);
15631
+ (function($base, $parent_nesting) {
15632
+ var self = $module($base, 'VoidWriter');
15633
+
15634
+ var $nesting = [self].concat($parent_nesting), $VoidWriter_write$2;
15635
+
15636
+
15637
+ self.$include($$($nesting, 'Writer'));
15638
+
15639
+ Opal.def(self, '$write', $VoidWriter_write$2 = function $$write(output, target) {
15640
+ var self = this;
15641
+
15642
+ return nil
15643
+ }, $VoidWriter_write$2.$$arity = 2);
15644
+ })($nesting[0], $nesting);
15645
+ })($nesting[0], $nesting)
15646
+ };
15647
+
15648
+ /* Generated by Opal 0.11.99.dev */
15649
+ Opal.modules["asciidoctor/load"] = function(Opal) {
15650
+ function $rb_minus(lhs, rhs) {
15651
+ return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs - rhs : lhs['$-'](rhs);
15652
+ }
15653
+ function $rb_plus(lhs, rhs) {
15654
+ return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs + rhs : lhs['$+'](rhs);
15655
+ }
15656
+ var self = Opal.top, $nesting = [], nil = Opal.nil, $$$ = Opal.const_get_qualified, $$ = Opal.const_get_relative, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $hash2 = Opal.hash2, $truthy = Opal.truthy, $send = Opal.send;
15657
+
15658
+ Opal.add_stubs(['$module_function', '$merge', '$[]', '$start', '$!=', '$logger', '$logger=', '$-', '$!', '$===', '$dup', '$tap', '$each', '$partition', '$[]=', '$split', '$gsub', '$+', '$respond_to?', '$keys', '$raise', '$join', '$ancestors', '$class', '$mtime', '$absolute_path', '$path', '$dirname', '$basename', '$extname', '$read', '$rewind', '$drop', '$record', '$==', '$new', '$parse', '$exception', '$message', '$set_backtrace', '$backtrace', '$stack_trace', '$stack_trace=', '$open', '$load']);
15659
+ return (function($base, $parent_nesting) {
15660
+ var self = $module($base, 'Asciidoctor');
15661
+
15662
+ var $nesting = [self].concat($parent_nesting), $Asciidoctor_load$1, $Asciidoctor_load_file$8;
15663
+
15664
+
15665
+ self.$module_function();
15666
+
15667
+ Opal.def(self, '$load', $Asciidoctor_load$1 = function $$load(input, options) {
15668
+ var $a, $b, $c, $d, $$2, $$4, $$6, self = this, timings = nil, logger = nil, $writer = nil, attrs = nil, input_path = nil, source = nil, doc = nil, ex = nil, context = nil, wrapped_ex = nil;
15669
+
15670
+
15671
+
15672
+ if (options == null) {
15673
+ options = $hash2([], {});
15674
+ };
15675
+ try {
15676
+
15677
+ options = options.$merge();
15678
+ if ($truthy((timings = options['$[]']("timings")))) {
15679
+ timings.$start("read")};
15680
+ if ($truthy(($truthy($a = (logger = options['$[]']("logger"))) ? logger['$!=']($$($nesting, 'LoggerManager').$logger()) : $a))) {
15681
+
15682
+ $writer = [logger];
15683
+ $send($$($nesting, 'LoggerManager'), 'logger=', Opal.to_a($writer));
15684
+ $writer[$rb_minus($writer["length"], 1)];};
15685
+ if ($truthy((attrs = options['$[]']("attributes"))['$!']())) {
15686
+ attrs = $hash2([], {})
15687
+ } else if ($truthy($$$('::', 'Hash')['$==='](attrs))) {
15688
+ attrs = attrs.$merge()
15689
+ } else if ($truthy(($truthy($a = (($d = $$$('::', 'Java', 'skip_raise')) && ($c = $$$($d, 'JavaUtil', 'skip_raise')) && ($b = $$$($c, 'Map', 'skip_raise')) ? 'constant' : nil)) ? $$$($$$($$$('::', 'Java'), 'JavaUtil'), 'Map')['$==='](attrs) : $a))) {
15690
+ attrs = attrs.$dup()
15691
+ } else if ($truthy($$$('::', 'Array')['$==='](attrs))) {
15692
+ attrs = $send($hash2([], {}), 'tap', [], ($$2 = function(accum){var self = $$2.$$s || this, $$3;
15693
+
15694
+
15695
+
15696
+ if (accum == null) {
15697
+ accum = nil;
15698
+ };
15699
+ return $send(attrs, 'each', [], ($$3 = function(entry){var self = $$3.$$s || this, $e, $f, k = nil, _ = nil, v = nil;
15700
+
15701
+
15702
+
15703
+ if (entry == null) {
15704
+ entry = nil;
15705
+ };
15706
+ $f = entry.$partition("="), $e = Opal.to_ary($f), (k = ($e[0] == null ? nil : $e[0])), (_ = ($e[1] == null ? nil : $e[1])), (v = ($e[2] == null ? nil : $e[2])), $f;
15707
+
15708
+ $writer = [k, v];
15709
+ $send(accum, '[]=', Opal.to_a($writer));
15710
+ return $writer[$rb_minus($writer["length"], 1)];;}, $$3.$$s = self, $$3.$$arity = 1, $$3));}, $$2.$$s = self, $$2.$$arity = 1, $$2))
15711
+ } else if ($truthy($$$('::', 'String')['$==='](attrs))) {
15712
+ attrs = $send($hash2([], {}), 'tap', [], ($$4 = function(accum){var self = $$4.$$s || this, $$5;
15713
+
15714
+
15715
+
15716
+ if (accum == null) {
15717
+ accum = nil;
15718
+ };
15719
+ return $send(attrs.$gsub($$($nesting, 'SpaceDelimiterRx'), $rb_plus("\\1", $$($nesting, 'NULL'))).$gsub($$($nesting, 'EscapedSpaceRx'), "\\1").$split($$($nesting, 'NULL')), 'each', [], ($$5 = function(entry){var self = $$5.$$s || this, $e, $f, k = nil, _ = nil, v = nil;
15720
+
15721
+
15722
+
15723
+ if (entry == null) {
15724
+ entry = nil;
15725
+ };
15726
+ $f = entry.$partition("="), $e = Opal.to_ary($f), (k = ($e[0] == null ? nil : $e[0])), (_ = ($e[1] == null ? nil : $e[1])), (v = ($e[2] == null ? nil : $e[2])), $f;
15727
+
15728
+ $writer = [k, v];
15729
+ $send(accum, '[]=', Opal.to_a($writer));
15730
+ return $writer[$rb_minus($writer["length"], 1)];;}, $$5.$$s = self, $$5.$$arity = 1, $$5));}, $$4.$$s = self, $$4.$$arity = 1, $$4))
15731
+ } else if ($truthy(($truthy($a = attrs['$respond_to?']("keys")) ? attrs['$respond_to?']("[]") : $a))) {
15732
+ attrs = $send($hash2([], {}), 'tap', [], ($$6 = function(accum){var self = $$6.$$s || this, $$7;
15733
+
15734
+
15735
+
15736
+ if (accum == null) {
15737
+ accum = nil;
15738
+ };
15739
+ return $send(attrs.$keys(), 'each', [], ($$7 = function(k){var self = $$7.$$s || this;
15740
+
15741
+
15742
+
15743
+ if (k == null) {
15744
+ k = nil;
15745
+ };
15746
+ $writer = [k, attrs['$[]'](k)];
15747
+ $send(accum, '[]=', Opal.to_a($writer));
15748
+ return $writer[$rb_minus($writer["length"], 1)];}, $$7.$$s = self, $$7.$$arity = 1, $$7));}, $$6.$$s = self, $$6.$$arity = 1, $$6))
15749
+ } else {
15750
+ self.$raise($$$('::', 'ArgumentError'), "" + "illegal type for attributes option: " + (attrs.$class().$ancestors().$join(" < ")))
15751
+ };
15752
+ if ($truthy($$$('::', 'File')['$==='](input))) {
15753
+
15754
+
15755
+ $writer = ["input_mtime", input.$mtime()];
15756
+ $send(options, '[]=', Opal.to_a($writer));
15757
+ $writer[$rb_minus($writer["length"], 1)];;
15758
+
15759
+ $writer = ["docfile", (input_path = $$$('::', 'File').$absolute_path(input.$path()))];
15760
+ $send(attrs, '[]=', Opal.to_a($writer));
15761
+ $writer[$rb_minus($writer["length"], 1)];;
15762
+
15763
+ $writer = ["docdir", $$$('::', 'File').$dirname(input_path)];
15764
+ $send(attrs, '[]=', Opal.to_a($writer));
15765
+ $writer[$rb_minus($writer["length"], 1)];;
15766
+
15767
+ $writer = ["docname", $$($nesting, 'Helpers').$basename(input_path, (($writer = ["docfilesuffix", $$($nesting, 'Helpers').$extname(input_path)]), $send(attrs, '[]=', Opal.to_a($writer)), $writer[$rb_minus($writer["length"], 1)]))];
15768
+ $send(attrs, '[]=', Opal.to_a($writer));
15769
+ $writer[$rb_minus($writer["length"], 1)];;
15770
+ source = input.$read();
15771
+ } else if ($truthy(input['$respond_to?']("read"))) {
15772
+
15773
+ try {
15774
+ input.$rewind()
15775
+ } catch ($err) {
15776
+ if (Opal.rescue($err, [$$($nesting, 'StandardError')])) {
15777
+ try {
15778
+ nil
15779
+ } finally { Opal.pop_exception() }
15780
+ } else { throw $err; }
15781
+ };
15782
+ source = input.$read();
15783
+ } else if ($truthy($$$('::', 'String')['$==='](input))) {
15784
+ source = input
15785
+ } else if ($truthy($$$('::', 'Array')['$==='](input))) {
15786
+ source = input.$drop(0)
15787
+ } else if ($truthy(input)) {
15788
+ self.$raise($$$('::', 'ArgumentError'), "" + "unsupported input type: " + (input.$class()))};
15789
+ if ($truthy(timings)) {
15790
+
15791
+ timings.$record("read");
15792
+ timings.$start("parse");};
15793
+
15794
+ $writer = ["attributes", attrs];
15795
+ $send(options, '[]=', Opal.to_a($writer));
15796
+ $writer[$rb_minus($writer["length"], 1)];;
15797
+ doc = (function() {if (options['$[]']("parse")['$=='](false)) {
15798
+
15799
+ return $$($nesting, 'Document').$new(source, options);
15800
+ } else {
15801
+ return $$($nesting, 'Document').$new(source, options).$parse()
15802
+ }; return nil; })();
15803
+ if ($truthy(timings)) {
15804
+ timings.$record("parse")};
15805
+ return doc;
15806
+ } catch ($err) {
15807
+ if (Opal.rescue($err, [$$($nesting, 'StandardError')])) {ex = $err;
15808
+ try {
15809
+
15810
+
15811
+ try {
15812
+
15813
+ context = "" + "asciidoctor: FAILED: " + (($truthy($a = attrs['$[]']("docfile")) ? $a : "<stdin>")) + ": Failed to load AsciiDoc document";
15814
+ if ($truthy(ex['$respond_to?']("exception"))) {
15815
+
15816
+ wrapped_ex = ex.$exception("" + (context) + " - " + (ex.$message()));
15817
+ wrapped_ex.$set_backtrace(ex.$backtrace());
15818
+ wrapped_ex.stack = ex.stack;
15819
+ } else {
15820
+
15821
+ wrapped_ex = ex.$class().$new(context, ex);
15822
+
15823
+ $writer = [ex.$stack_trace()];
15824
+ $send(wrapped_ex, 'stack_trace=', Opal.to_a($writer));
15825
+ $writer[$rb_minus($writer["length"], 1)];;
15826
+ };
15827
+ } catch ($err) {
15828
+ if (Opal.rescue($err, [$$($nesting, 'StandardError')])) {
15829
+ try {
15830
+ wrapped_ex = ex
15831
+ } finally { Opal.pop_exception() }
15832
+ } else { throw $err; }
15833
+ };;
15834
+ return self.$raise(wrapped_ex);
15835
+ } finally { Opal.pop_exception() }
15836
+ } else { throw $err; }
15837
+ };
15838
+ }, $Asciidoctor_load$1.$$arity = -2);
15839
+
15840
+ Opal.def(self, '$load_file', $Asciidoctor_load_file$8 = function $$load_file(filename, options) {
15841
+ var $$9, self = this;
15842
+
15843
+
15844
+
15845
+ if (options == null) {
15846
+ options = $hash2([], {});
15847
+ };
15848
+ return $send($$$('::', 'File'), 'open', [filename, $$($nesting, 'FILE_READ_MODE')], ($$9 = function(file){var self = $$9.$$s || this;
15849
+
15850
+
15851
+
15852
+ if (file == null) {
15853
+ file = nil;
15854
+ };
15855
+ return self.$load(file, options);}, $$9.$$s = self, $$9.$$arity = 1, $$9));
15856
+ }, $Asciidoctor_load_file$8.$$arity = -2);
15417
15857
  })($nesting[0], $nesting)
15418
15858
  };
15419
15859
 
15420
15860
  /* Generated by Opal 0.11.99.dev */
15421
- Opal.modules["asciidoctor/writer"] = function(Opal) {
15422
- function $rb_plus(lhs, rhs) {
15423
- return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs + rhs : lhs['$+'](rhs);
15861
+ Opal.modules["asciidoctor/convert"] = function(Opal) {
15862
+ function $rb_minus(lhs, rhs) {
15863
+ return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs - rhs : lhs['$-'](rhs);
15424
15864
  }
15425
- var self = Opal.top, $nesting = [], nil = Opal.nil, $$$ = Opal.const_get_qualified, $$ = Opal.const_get_relative, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $truthy = Opal.truthy, $hash2 = Opal.hash2;
15865
+ function $rb_ge(lhs, rhs) {
15866
+ return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs >= rhs : lhs['$>='](rhs);
15867
+ }
15868
+ function $rb_lt(lhs, rhs) {
15869
+ return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs < rhs : lhs['$<'](rhs);
15870
+ }
15871
+ var self = Opal.top, $nesting = [], nil = Opal.nil, $$$ = Opal.const_get_qualified, $$ = Opal.const_get_relative, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $hash2 = Opal.hash2, $truthy = Opal.truthy, $send = Opal.send;
15426
15872
 
15427
- Opal.add_stubs(['$respond_to?', '$write', '$+', '$chomp', '$include']);
15873
+ Opal.add_stubs(['$module_function', '$delete', '$merge', '$===', '$absolute_path', '$path', '$load', '$respond_to?', '$[]=', '$-', '$key?', '$[]', '$dirname', '$expand_path', '$join', '$attributes', '$outfilesuffix', '$==', '$raise', '$pwd', '$>=', '$safe', '$normalize_system_path', '$mkdir_p', '$directory?', '$!', '$convert', '$write', '$<', '$attr?', '$basebackend?', '$attr', '$uriish?', '$include?', '$syntax_highlighter', '$write_stylesheet?', '$write_primary_stylesheet', '$instance', '$empty?', '$!=', '$read_asset', '$file?', '$write_stylesheet', '$open']);
15428
15874
  return (function($base, $parent_nesting) {
15429
15875
  var self = $module($base, 'Asciidoctor');
15430
15876
 
15431
- var $nesting = [self].concat($parent_nesting);
15877
+ var $nesting = [self].concat($parent_nesting), $Asciidoctor_convert$1, $Asciidoctor_convert_file$2;
15432
15878
 
15433
15879
 
15434
- (function($base, $parent_nesting) {
15435
- var self = $module($base, 'Writer');
15436
-
15437
- var $nesting = [self].concat($parent_nesting), $Writer_write$1;
15880
+ self.$module_function();
15881
+
15882
+ Opal.def(self, '$convert', $Asciidoctor_convert$1 = function $$convert(input, options) {
15883
+ var $a, $b, $c, $d, $e, self = this, to_dir = nil, mkdirs = nil, $case = nil, to_file = nil, write_to_target = nil, sibling_path = nil, stream_output = nil, $writer = nil, outdir = nil, doc = nil, outfile = nil, working_dir = nil, jail = nil, output = nil, stylesdir = nil, stylesheet = nil, copy_asciidoctor_stylesheet = nil, copy_user_stylesheet = nil, copy_syntax_hl_stylesheet = nil, syntax_hl = nil, stylesoutdir = nil, stylesheet_src = nil, stylesheet_dest = nil, stylesheet_data = nil;
15438
15884
 
15439
15885
 
15440
- Opal.def(self, '$write', $Writer_write$1 = function $$write(output, target) {
15441
- var self = this;
15442
-
15886
+
15887
+ if (options == null) {
15888
+ options = $hash2([], {});
15889
+ };
15890
+ (options = options.$merge()).$delete("parse");
15891
+ to_dir = options.$delete("to_dir");
15892
+ mkdirs = options.$delete("mkdirs");
15893
+ $case = (to_file = options.$delete("to_file"));
15894
+ if (true['$===']($case) || nil['$===']($case)) {
15895
+ if ($truthy((write_to_target = to_dir))) {
15896
+ } else if ($truthy($$$('::', 'File')['$==='](input))) {
15897
+ sibling_path = $$$('::', 'File').$absolute_path(input.$path())};
15898
+ to_file = nil;}
15899
+ else if (false['$===']($case)) {to_file = nil}
15900
+ else if ("/dev/null"['$===']($case)) {return self.$load(input, options)}
15901
+ else {if ($truthy((stream_output = to_file['$respond_to?']("write")))) {
15902
+ } else {
15443
15903
 
15444
- if ($truthy(target['$respond_to?']("write"))) {
15445
- target.$write($rb_plus(output.$chomp(), $$($nesting, 'LF')))
15904
+ $writer = ["to_file", (write_to_target = to_file)];
15905
+ $send(options, '[]=', Opal.to_a($writer));
15906
+ $writer[$rb_minus($writer["length"], 1)];
15907
+ }};
15908
+ if ($truthy(options['$key?']("standalone"))) {
15909
+ } else if ($truthy(($truthy($a = sibling_path) ? $a : write_to_target))) {
15910
+
15911
+ $writer = ["standalone", true];
15912
+ $send(options, '[]=', Opal.to_a($writer));
15913
+ $writer[$rb_minus($writer["length"], 1)];
15914
+ } else if ($truthy(options['$key?']("header_footer"))) {
15915
+
15916
+ $writer = ["standalone", options['$[]']("header_footer")];
15917
+ $send(options, '[]=', Opal.to_a($writer));
15918
+ $writer[$rb_minus($writer["length"], 1)];};
15919
+ if ($truthy(sibling_path)) {
15920
+
15921
+ $writer = ["to_dir", (outdir = $$$('::', 'File').$dirname(sibling_path))];
15922
+ $send(options, '[]=', Opal.to_a($writer));
15923
+ $writer[$rb_minus($writer["length"], 1)];
15924
+ } else if ($truthy(write_to_target)) {
15925
+ if ($truthy(to_dir)) {
15926
+ if ($truthy(to_file)) {
15927
+
15928
+ $writer = ["to_dir", $$$('::', 'File').$dirname($$$('::', 'File').$expand_path($$$('::', 'File').$join(to_dir, to_file)))];
15929
+ $send(options, '[]=', Opal.to_a($writer));
15930
+ $writer[$rb_minus($writer["length"], 1)];
15931
+ } else {
15932
+
15933
+ $writer = ["to_dir", $$$('::', 'File').$expand_path(to_dir)];
15934
+ $send(options, '[]=', Opal.to_a($writer));
15935
+ $writer[$rb_minus($writer["length"], 1)];
15936
+ }
15937
+ } else if ($truthy(to_file)) {
15938
+
15939
+ $writer = ["to_dir", $$$('::', 'File').$dirname($$$('::', 'File').$expand_path(to_file))];
15940
+ $send(options, '[]=', Opal.to_a($writer));
15941
+ $writer[$rb_minus($writer["length"], 1)];}};
15942
+ doc = self.$load(input, options);
15943
+ if ($truthy(sibling_path)) {
15944
+
15945
+ outfile = $$$('::', 'File').$join(outdir, "" + (doc.$attributes()['$[]']("docname")) + (doc.$outfilesuffix()));
15946
+ if (outfile['$=='](sibling_path)) {
15947
+ self.$raise($$$('::', 'IOError'), "" + "input file and output file cannot be the same: " + (outfile))};
15948
+ } else if ($truthy(write_to_target)) {
15949
+
15950
+ working_dir = (function() {if ($truthy(options['$key?']("base_dir"))) {
15951
+
15952
+ return $$$('::', 'File').$expand_path(options['$[]']("base_dir"));
15446
15953
  } else {
15447
- $$$('::', 'File').$write(target, output, $hash2(["mode"], {"mode": $$($nesting, 'FILE_WRITE_MODE')}))
15954
+ return $$$('::', 'Dir').$pwd()
15955
+ }; return nil; })();
15956
+ jail = (function() {if ($truthy($rb_ge(doc.$safe(), $$$($$($nesting, 'SafeMode'), 'SAFE')))) {
15957
+ return working_dir
15958
+ } else {
15959
+ return nil
15960
+ }; return nil; })();
15961
+ if ($truthy(to_dir)) {
15962
+
15963
+ outdir = doc.$normalize_system_path(to_dir, working_dir, jail, $hash2(["target_name", "recover"], {"target_name": "to_dir", "recover": false}));
15964
+ if ($truthy(to_file)) {
15965
+
15966
+ outfile = doc.$normalize_system_path(to_file, outdir, nil, $hash2(["target_name", "recover"], {"target_name": "to_dir", "recover": false}));
15967
+ outdir = $$$('::', 'File').$dirname(outfile);
15968
+ } else {
15969
+ outfile = $$$('::', 'File').$join(outdir, "" + (doc.$attributes()['$[]']("docname")) + (doc.$outfilesuffix()))
15970
+ };
15971
+ } else if ($truthy(to_file)) {
15972
+
15973
+ outfile = doc.$normalize_system_path(to_file, working_dir, jail, $hash2(["target_name", "recover"], {"target_name": "to_dir", "recover": false}));
15974
+ outdir = $$$('::', 'File').$dirname(outfile);};
15975
+ if ($truthy(($truthy($a = $$$('::', 'File')['$==='](input)) ? outfile['$==']($$$('::', 'File').$absolute_path(input.$path())) : $a))) {
15976
+ self.$raise($$$('::', 'IOError'), "" + "input file and output file cannot be the same: " + (outfile))};
15977
+ if ($truthy(mkdirs)) {
15978
+ $$($nesting, 'Helpers').$mkdir_p(outdir)
15979
+ } else if ($truthy($$$('::', 'File')['$directory?'](outdir))) {
15980
+ } else {
15981
+ self.$raise($$$('::', 'IOError'), "" + "target directory does not exist: " + (to_dir) + " (hint: set :mkdirs option)")
15448
15982
  };
15449
- return nil;
15450
- }, $Writer_write$1.$$arity = 2)
15451
- })($nesting[0], $nesting);
15452
- (function($base, $parent_nesting) {
15453
- var self = $module($base, 'VoidWriter');
15454
-
15455
- var $nesting = [self].concat($parent_nesting), $VoidWriter_write$2;
15983
+ } else {
15984
+
15985
+ outfile = to_file;
15986
+ outdir = nil;
15987
+ };
15988
+ if ($truthy(($truthy($a = outfile) ? stream_output['$!']() : $a))) {
15989
+ output = doc.$convert($hash2(["outfile", "outdir"], {"outfile": outfile, "outdir": outdir}))
15990
+ } else {
15991
+ output = doc.$convert()
15992
+ };
15993
+ if ($truthy(outfile)) {
15994
+
15995
+ doc.$write(output, outfile);
15996
+ if ($truthy(($truthy($a = ($truthy($b = ($truthy($c = ($truthy($d = ($truthy($e = stream_output['$!']()) ? $rb_lt(doc.$safe(), $$$($$($nesting, 'SafeMode'), 'SECURE')) : $e)) ? doc['$attr?']("linkcss") : $d)) ? doc['$attr?']("copycss") : $c)) ? doc['$basebackend?']("html") : $b)) ? ($truthy($b = (stylesdir = doc.$attr("stylesdir"))) ? $$($nesting, 'Helpers')['$uriish?'](stylesdir) : $b)['$!']() : $a))) {
15997
+
15998
+ if ($truthy((stylesheet = doc.$attr("stylesheet")))) {
15999
+ if ($truthy($$($nesting, 'DEFAULT_STYLESHEET_KEYS')['$include?'](stylesheet))) {
16000
+ copy_asciidoctor_stylesheet = true
16001
+ } else if ($truthy($$($nesting, 'Helpers')['$uriish?'](stylesheet)['$!']())) {
16002
+ copy_user_stylesheet = true}};
16003
+ copy_syntax_hl_stylesheet = ($truthy($a = (syntax_hl = doc.$syntax_highlighter())) ? syntax_hl['$write_stylesheet?'](doc) : $a);
16004
+ if ($truthy(($truthy($a = ($truthy($b = copy_asciidoctor_stylesheet) ? $b : copy_user_stylesheet)) ? $a : copy_syntax_hl_stylesheet))) {
16005
+
16006
+ stylesoutdir = doc.$normalize_system_path(stylesdir, outdir, (function() {if ($truthy($rb_ge(doc.$safe(), $$$($$($nesting, 'SafeMode'), 'SAFE')))) {
16007
+ return outdir
16008
+ } else {
16009
+ return nil
16010
+ }; return nil; })());
16011
+ if ($truthy(mkdirs)) {
16012
+ $$($nesting, 'Helpers').$mkdir_p(stylesoutdir)
16013
+ } else if ($truthy($$$('::', 'File')['$directory?'](stylesoutdir))) {
16014
+ } else {
16015
+ self.$raise($$$('::', 'IOError'), "" + "target stylesheet directory does not exist: " + (stylesoutdir) + " (hint: set :mkdirs option)")
16016
+ };
16017
+ if ($truthy(copy_asciidoctor_stylesheet)) {
16018
+ $$($nesting, 'Stylesheets').$instance().$write_primary_stylesheet(stylesoutdir)
16019
+ } else if ($truthy(copy_user_stylesheet)) {
16020
+
16021
+ if ($truthy((stylesheet_src = doc.$attr("copycss"))['$empty?']())) {
16022
+ stylesheet_src = doc.$normalize_system_path(stylesheet)
16023
+ } else {
16024
+ stylesheet_src = doc.$normalize_system_path(stylesheet_src)
16025
+ };
16026
+ stylesheet_dest = doc.$normalize_system_path(stylesheet, stylesoutdir, (function() {if ($truthy($rb_ge(doc.$safe(), $$$($$($nesting, 'SafeMode'), 'SAFE')))) {
16027
+ return outdir
16028
+ } else {
16029
+ return nil
16030
+ }; return nil; })());
16031
+ if ($truthy(($truthy($a = stylesheet_src['$!='](stylesheet_dest)) ? (stylesheet_data = doc.$read_asset(stylesheet_src, $hash2(["warn_on_failure", "label"], {"warn_on_failure": $$$('::', 'File')['$file?'](stylesheet_dest)['$!'](), "label": "stylesheet"}))) : $a))) {
16032
+ $$$('::', 'File').$write(stylesheet_dest, stylesheet_data, $hash2(["mode"], {"mode": $$($nesting, 'FILE_WRITE_MODE')}))};};
16033
+ if ($truthy(copy_syntax_hl_stylesheet)) {
16034
+ syntax_hl.$write_stylesheet(doc, stylesoutdir)};};};
16035
+ return doc;
16036
+ } else {
16037
+ return output
16038
+ };
16039
+ }, $Asciidoctor_convert$1.$$arity = -2);
16040
+
16041
+ Opal.def(self, '$convert_file', $Asciidoctor_convert_file$2 = function $$convert_file(filename, options) {
16042
+ var $$3, self = this;
15456
16043
 
15457
16044
 
15458
- self.$include($$($nesting, 'Writer'));
15459
16045
 
15460
- Opal.def(self, '$write', $VoidWriter_write$2 = function $$write(output, target) {
15461
- var self = this;
16046
+ if (options == null) {
16047
+ options = $hash2([], {});
16048
+ };
16049
+ return $send($$$('::', 'File'), 'open', [filename, $$($nesting, 'FILE_READ_MODE')], ($$3 = function(file){var self = $$3.$$s || this;
15462
16050
 
15463
- return nil
15464
- }, $VoidWriter_write$2.$$arity = 2);
15465
- })($nesting[0], $nesting);
16051
+
16052
+
16053
+ if (file == null) {
16054
+ file = nil;
16055
+ };
16056
+ return self.$convert(file, options);}, $$3.$$s = self, $$3.$$arity = 1, $$3));
16057
+ }, $Asciidoctor_convert_file$2.$$arity = -2);
16058
+ Opal.alias(self, "render", "convert");
16059
+ self.$module_function("render");
16060
+ Opal.alias(self, "render_file", "convert_file");
16061
+ self.$module_function("render_file");
15466
16062
  })($nesting[0], $nesting)
15467
16063
  };
15468
16064
 
@@ -15556,9 +16152,9 @@ Opal.modules["asciidoctor/syntax_highlighter"] = function(Opal) {
15556
16152
  function $rb_minus(lhs, rhs) {
15557
16153
  return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs - rhs : lhs['$-'](rhs);
15558
16154
  }
15559
- var self = Opal.top, $nesting = [], nil = Opal.nil, $$$ = Opal.const_get_qualified, $$ = Opal.const_get_relative, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $hash2 = Opal.hash2, $send = Opal.send, $truthy = Opal.truthy, $klass = Opal.klass;
16155
+ var self = Opal.top, $nesting = [], nil = Opal.nil, $$$ = Opal.const_get_qualified, $$ = Opal.const_get_relative, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $hash2 = Opal.hash2, $truthy = Opal.truthy, $send = Opal.send, $klass = Opal.klass;
15560
16156
 
15561
- Opal.add_stubs(['$attr_reader', '$raise', '$class', '$private_class_method', '$extend', '$private', '$register', '$each', '$[]=', '$registry', '$-', '$[]', '$for', '$===', '$new', '$name', '$include', '$==', '$join', '$map', '$content']);
16157
+ Opal.add_stubs(['$attr_reader', '$raise', '$class', '$private_class_method', '$extend', '$register', '$map', '$to_s', '$each', '$[]=', '$registry', '$-', '$[]', '$for', '$===', '$new', '$name', '$private', '$include', '$==', '$join', '$content']);
15562
16158
 
15563
16159
  (function($base, $parent_nesting) {
15564
16160
  var self = $module($base, 'Asciidoctor');
@@ -15568,7 +16164,7 @@ Opal.modules["asciidoctor/syntax_highlighter"] = function(Opal) {
15568
16164
  (function($base, $parent_nesting) {
15569
16165
  var self = $module($base, 'SyntaxHighlighter');
15570
16166
 
15571
- var $nesting = [self].concat($parent_nesting), $SyntaxHighlighter_initialize$1, $SyntaxHighlighter_docinfo$ques$2, $SyntaxHighlighter_docinfo$3, $SyntaxHighlighter_highlight$ques$4, $SyntaxHighlighter_highlight$5, $SyntaxHighlighter_format$6, $SyntaxHighlighter_write_stylesheet$ques$7, $SyntaxHighlighter_write_stylesheet$8, $SyntaxHighlighter_included$9;
16167
+ var $nesting = [self].concat($parent_nesting), $SyntaxHighlighter_initialize$1, $SyntaxHighlighter_docinfo$ques$2, $SyntaxHighlighter_docinfo$3, $SyntaxHighlighter_highlight$ques$4, $SyntaxHighlighter_highlight$5, $SyntaxHighlighter_format$6, $SyntaxHighlighter_write_stylesheet$ques$7, $SyntaxHighlighter_write_stylesheet$8, $a, $SyntaxHighlighter_included$9;
15572
16168
 
15573
16169
 
15574
16170
  self.$attr_reader("name");
@@ -15629,43 +16225,51 @@ Opal.modules["asciidoctor/syntax_highlighter"] = function(Opal) {
15629
16225
 
15630
16226
  return self.$raise($$$('::', 'NotImplementedError'), "" + ($$($nesting, 'SyntaxHighlighter')) + " subclass " + (self.$class()) + " must implement the #" + ("write_stylesheet") + " method since #write_stylesheet? returns true")
15631
16227
  }, $SyntaxHighlighter_write_stylesheet$8.$$arity = 2);
15632
- self.$private_class_method((Opal.defs(self, '$included', $SyntaxHighlighter_included$9 = function $$included(into) {
16228
+ self.$private_class_method(($truthy($a = (Opal.defs(self, '$included', $SyntaxHighlighter_included$9 = function $$included(into) {
15633
16229
  var self = this;
15634
16230
 
15635
16231
  return into.$extend($$($nesting, 'Config'))
15636
- }, $SyntaxHighlighter_included$9.$$arity = 1), nil) && 'included');
16232
+ }, $SyntaxHighlighter_included$9.$$arity = 1), nil) && 'included') ? $a : "included"));
15637
16233
  (function($base, $parent_nesting) {
15638
16234
  var self = $module($base, 'Config');
15639
16235
 
15640
16236
  var $nesting = [self].concat($parent_nesting), $Config_register_for$10;
15641
16237
 
15642
- self.$private((Opal.def(self, '$register_for', $Config_register_for$10 = function $$register_for($a) {
15643
- var $post_args, names, self = this;
16238
+
16239
+ Opal.def(self, '$register_for', $Config_register_for$10 = function $$register_for($a) {
16240
+ var $post_args, names, $$11, self = this;
15644
16241
 
15645
16242
 
15646
16243
 
15647
16244
  $post_args = Opal.slice.call(arguments, 0, arguments.length);
15648
16245
 
15649
16246
  names = $post_args;;
15650
- return $send($$($nesting, 'SyntaxHighlighter'), 'register', [self].concat(Opal.to_a(names)));
15651
- }, $Config_register_for$10.$$arity = -1), nil) && 'register_for')
16247
+ return $send($$($nesting, 'SyntaxHighlighter'), 'register', [self].concat(Opal.to_a($send(names, 'map', [], ($$11 = function(name){var self = $$11.$$s || this;
16248
+
16249
+
16250
+
16251
+ if (name == null) {
16252
+ name = nil;
16253
+ };
16254
+ return name.$to_s();}, $$11.$$s = self, $$11.$$arity = 1, $$11)))));
16255
+ }, $Config_register_for$10.$$arity = -1)
15652
16256
  })($nesting[0], $nesting);
15653
16257
  (function($base, $parent_nesting) {
15654
16258
  var self = $module($base, 'Factory');
15655
16259
 
15656
- var $nesting = [self].concat($parent_nesting), $Factory_register$11, $Factory_for$13, $Factory_create$14, $Factory_registry$15;
16260
+ var $nesting = [self].concat($parent_nesting), $Factory_register$12, $Factory_for$14, $Factory_create$15, $Factory_registry$16;
15657
16261
 
15658
16262
 
15659
16263
 
15660
- Opal.def(self, '$register', $Factory_register$11 = function $$register(syntax_highlighter, $a) {
15661
- var $post_args, names, $$12, self = this;
16264
+ Opal.def(self, '$register', $Factory_register$12 = function $$register(syntax_highlighter, $a) {
16265
+ var $post_args, names, $$13, self = this;
15662
16266
 
15663
16267
 
15664
16268
 
15665
16269
  $post_args = Opal.slice.call(arguments, 1, arguments.length);
15666
16270
 
15667
16271
  names = $post_args;;
15668
- return $send(names, 'each', [], ($$12 = function(name){var self = $$12.$$s || this, $writer = nil;
16272
+ return $send(names, 'each', [], ($$13 = function(name){var self = $$13.$$s || this, $writer = nil;
15669
16273
 
15670
16274
 
15671
16275
 
@@ -15674,16 +16278,16 @@ Opal.modules["asciidoctor/syntax_highlighter"] = function(Opal) {
15674
16278
  };
15675
16279
  $writer = [name, syntax_highlighter];
15676
16280
  $send(self.$registry(), '[]=', Opal.to_a($writer));
15677
- return $writer[$rb_minus($writer["length"], 1)];}, $$12.$$s = self, $$12.$$arity = 1, $$12));
15678
- }, $Factory_register$11.$$arity = -2);
16281
+ return $writer[$rb_minus($writer["length"], 1)];}, $$13.$$s = self, $$13.$$arity = 1, $$13));
16282
+ }, $Factory_register$12.$$arity = -2);
15679
16283
 
15680
- Opal.def(self, '$for', $Factory_for$13 = function(name) {
16284
+ Opal.def(self, '$for', $Factory_for$14 = function(name) {
15681
16285
  var self = this;
15682
16286
 
15683
16287
  return self.$registry()['$[]'](name)
15684
- }, $Factory_for$13.$$arity = 1);
16288
+ }, $Factory_for$14.$$arity = 1);
15685
16289
 
15686
- Opal.def(self, '$create', $Factory_create$14 = function $$create(name, backend, opts) {
16290
+ Opal.def(self, '$create', $Factory_create$15 = function $$create(name, backend, opts) {
15687
16291
  var self = this, syntax_hl = nil;
15688
16292
 
15689
16293
 
@@ -15707,23 +16311,25 @@ Opal.modules["asciidoctor/syntax_highlighter"] = function(Opal) {
15707
16311
  } else {
15708
16312
  return nil
15709
16313
  };
15710
- }, $Factory_create$14.$$arity = -2);
15711
- self.$private((Opal.def(self, '$registry', $Factory_registry$15 = function $$registry() {
16314
+ }, $Factory_create$15.$$arity = -2);
16315
+ self.$private();
16316
+
16317
+ Opal.def(self, '$registry', $Factory_registry$16 = function $$registry() {
15712
16318
  var self = this;
15713
16319
 
15714
16320
  return self.$raise($$$('::', 'NotImplementedError'), "" + ($$($nesting, 'Factory')) + " subclass " + (self.$class()) + " must implement the #" + ("registry") + " method")
15715
- }, $Factory_registry$15.$$arity = 0), nil) && 'registry');
16321
+ }, $Factory_registry$16.$$arity = 0);
15716
16322
  })($nesting[0], $nesting);
15717
16323
  (function($base, $super, $parent_nesting) {
15718
16324
  var self = $klass($base, $super, 'CustomFactory');
15719
16325
 
15720
- var $nesting = [self].concat($parent_nesting), $CustomFactory_initialize$16, $CustomFactory_registry$17;
16326
+ var $nesting = [self].concat($parent_nesting), $CustomFactory_initialize$17, $CustomFactory_registry$18;
15721
16327
 
15722
16328
  self.$$prototype.registry = nil;
15723
16329
 
15724
16330
  self.$include($$($nesting, 'Factory'));
15725
16331
 
15726
- Opal.def(self, '$initialize', $CustomFactory_initialize$16 = function $$initialize(seed_registry) {
16332
+ Opal.def(self, '$initialize', $CustomFactory_initialize$17 = function $$initialize(seed_registry) {
15727
16333
  var $a, self = this;
15728
16334
 
15729
16335
 
@@ -15732,28 +16338,29 @@ Opal.modules["asciidoctor/syntax_highlighter"] = function(Opal) {
15732
16338
  seed_registry = nil;
15733
16339
  };
15734
16340
  return (self.registry = ($truthy($a = seed_registry) ? $a : $hash2([], {})));
15735
- }, $CustomFactory_initialize$16.$$arity = -1);
15736
- return self.$private((Opal.def(self, '$registry', $CustomFactory_registry$17 = function $$registry() {
16341
+ }, $CustomFactory_initialize$17.$$arity = -1);
16342
+ self.$private();
16343
+ return (Opal.def(self, '$registry', $CustomFactory_registry$18 = function $$registry() {
15737
16344
  var self = this;
15738
16345
 
15739
16346
  return self.registry
15740
- }, $CustomFactory_registry$17.$$arity = 0), nil) && 'registry');
16347
+ }, $CustomFactory_registry$18.$$arity = 0), nil) && 'registry';
15741
16348
  })($nesting[0], null, $nesting);
15742
16349
  (function($base, $parent_nesting) {
15743
16350
  var self = $module($base, 'DefaultFactory');
15744
16351
 
15745
- var $nesting = [self].concat($parent_nesting), $DefaultFactory_registry$18;
16352
+ var $nesting = [self].concat($parent_nesting), $DefaultFactory_registry$19;
15746
16353
 
15747
16354
 
15748
16355
  self.$include($$($nesting, 'Factory'));
15749
16356
  self.$private();
15750
16357
  (Opal.class_variable_set($nesting[0], '@@registry', $hash2([], {})));
15751
16358
 
15752
- Opal.def(self, '$registry', $DefaultFactory_registry$18 = function $$registry() {
16359
+ Opal.def(self, '$registry', $DefaultFactory_registry$19 = function $$registry() {
15753
16360
  var $a, self = this;
15754
16361
 
15755
16362
  return (($a = $nesting[0].$$cvars['@@registry']) == null ? nil : $a)
15756
- }, $DefaultFactory_registry$18.$$arity = 0);
16363
+ }, $DefaultFactory_registry$19.$$arity = 0);
15757
16364
  if ($$($nesting, 'RUBY_ENGINE')['$==']("opal")) {
15758
16365
  } else {
15759
16366
  nil
@@ -15775,13 +16382,13 @@ Opal.modules["asciidoctor/syntax_highlighter"] = function(Opal) {
15775
16382
  (function($base, $super, $parent_nesting) {
15776
16383
  var self = $klass($base, $super, 'Base');
15777
16384
 
15778
- var $nesting = [self].concat($parent_nesting), $Base_format$19;
16385
+ var $nesting = [self].concat($parent_nesting), $Base_format$20;
15779
16386
 
15780
16387
  self.$$prototype.pre_class = nil;
15781
16388
 
15782
16389
  self.$include($$($nesting, 'SyntaxHighlighter'));
15783
- return (Opal.def(self, '$format', $Base_format$19 = function $$format(node, lang, opts) {
15784
- var $$20, $$21, self = this, class_attr_val = nil, transform = nil, pre = nil, code = nil;
16390
+ return (Opal.def(self, '$format', $Base_format$20 = function $$format(node, lang, opts) {
16391
+ var $$21, $$22, self = this, class_attr_val = nil, transform = nil, pre = nil, code = nil;
15785
16392
 
15786
16393
 
15787
16394
  class_attr_val = (function() {if ($truthy(opts['$[]']("nowrap"))) {
@@ -15798,7 +16405,7 @@ Opal.modules["asciidoctor/syntax_highlighter"] = function(Opal) {
15798
16405
  return $hash2([], {})
15799
16406
  }; return nil; })();
15800
16407
  transform['$[]'](pre, code);
15801
- return "" + "<pre" + ($send(pre, 'map', [], ($$20 = function(k, v){var self = $$20.$$s || this;
16408
+ return "" + "<pre" + ($send(pre, 'map', [], ($$21 = function(k, v){var self = $$21.$$s || this;
15802
16409
 
15803
16410
 
15804
16411
 
@@ -15809,7 +16416,7 @@ Opal.modules["asciidoctor/syntax_highlighter"] = function(Opal) {
15809
16416
  if (v == null) {
15810
16417
  v = nil;
15811
16418
  };
15812
- return "" + " " + (k) + "=\"" + (v) + "\"";}, $$20.$$s = self, $$20.$$arity = 2, $$20)).$join()) + "><code" + ($send(code, 'map', [], ($$21 = function(k, v){var self = $$21.$$s || this;
16419
+ return "" + " " + (k) + "=\"" + (v) + "\"";}, $$21.$$s = self, $$21.$$arity = 2, $$21)).$join()) + "><code" + ($send(code, 'map', [], ($$22 = function(k, v){var self = $$22.$$s || this;
15813
16420
 
15814
16421
 
15815
16422
 
@@ -15820,7 +16427,7 @@ Opal.modules["asciidoctor/syntax_highlighter"] = function(Opal) {
15820
16427
  if (v == null) {
15821
16428
  v = nil;
15822
16429
  };
15823
- return "" + " " + (k) + "=\"" + (v) + "\"";}, $$21.$$s = self, $$21.$$arity = 2, $$21)).$join()) + ">" + (node.$content()) + "</code></pre>";
16430
+ return "" + " " + (k) + "=\"" + (v) + "\"";}, $$22.$$s = self, $$22.$$arity = 2, $$22)).$join()) + ">" + (node.$content()) + "</code></pre>";
15824
16431
  } else {
15825
16432
  return "" + "<pre class=\"" + (class_attr_val) + "\"><code" + ((function() {if ($truthy(lang)) {
15826
16433
  return "" + " data-lang=\"" + (lang) + "\""
@@ -15828,7 +16435,7 @@ Opal.modules["asciidoctor/syntax_highlighter"] = function(Opal) {
15828
16435
  return ""
15829
16436
  }; return nil; })()) + ">" + (node.$content()) + "</code></pre>"
15830
16437
  };
15831
- }, $Base_format$19.$$arity = 3), nil) && 'format';
16438
+ }, $Base_format$20.$$arity = 3), nil) && 'format';
15832
16439
  })($nesting[0], null, $nesting);
15833
16440
  self.$extend($$($nesting, 'DefaultFactory'));
15834
16441
  })($nesting[0], $nesting)
@@ -16163,9 +16770,14 @@ Opal.modules["asciidoctor/converter/html5"] = function(Opal) {
16163
16770
  $writer[$rb_minus($writer["length"], 1)];;
16164
16771
  Opal.const_set($nesting[0], 'DropAnchorRx', /<(?:a[^>+]+|\/a)>/);
16165
16772
  Opal.const_set($nesting[0], 'StemBreakRx', / *\\\n(?:\\?\n)*|\n\n+/);
16166
- Opal.const_set($nesting[0], 'SvgPreambleRx', /^.*?(?=<svg\b)/m);
16167
- Opal.const_set($nesting[0], 'SvgStartTagRx', /^<svg[^>]*>/);
16168
- Opal.const_set($nesting[0], 'DimensionAttributeRx', /\s(?:width|height|style)=(["']).*?\1/);
16773
+ if ($$($nesting, 'RUBY_ENGINE')['$==']("opal")) {
16774
+
16775
+ Opal.const_set($nesting[0], 'SvgPreambleRx', new RegExp("" + "^" + ($$($nesting, 'CC_ALL')) + "*?(?=<svg\\b)"));
16776
+ Opal.const_set($nesting[0], 'SvgStartTagRx', /^<svg[^>]*>/);
16777
+ } else {
16778
+ nil
16779
+ };
16780
+ Opal.const_set($nesting[0], 'DimensionAttributeRx', new RegExp("" + "\\s(?:width|height|style)=([\"'])" + ($$($nesting, 'CC_ANY')) + "*?\\1"));
16169
16781
 
16170
16782
  Opal.def(self, '$initialize', $Html5Converter_initialize$1 = function $$initialize(backend, opts) {
16171
16783
  var self = this, syntax = nil;
@@ -16327,13 +16939,17 @@ Opal.modules["asciidoctor/converter/html5"] = function(Opal) {
16327
16939
  if ($truthy(node['$attr?']("favicon"))) {
16328
16940
 
16329
16941
  if ($truthy((icon_href = node.$attr("favicon"))['$empty?']())) {
16330
- $a = ["favicon.ico", "image/x-icon"], (icon_href = $a[0]), (icon_type = $a[1]), $a
16331
- } else {
16332
- icon_type = (function() {if ((icon_ext = $$$('::', 'File').$extname(icon_href))['$=='](".ico")) {
16942
+
16943
+ icon_href = "favicon.ico";
16944
+ icon_type = "image/x-icon";
16945
+ } else if ($truthy((icon_ext = $$($nesting, 'Helpers').$extname(icon_href, nil)))) {
16946
+ icon_type = (function() {if (icon_ext['$=='](".ico")) {
16333
16947
  return "image/x-icon"
16334
16948
  } else {
16335
16949
  return "" + "image/" + (icon_ext.$slice(1, icon_ext.$length()))
16336
16950
  }; return nil; })()
16951
+ } else {
16952
+ icon_type = "image/x-icon"
16337
16953
  };
16338
16954
  result['$<<']("" + "<link rel=\"icon\" type=\"" + (icon_type) + "\" href=\"" + (icon_href) + "\"" + (slash) + ">");};
16339
16955
  result['$<<']("" + "<title>" + (node.$doctitle($hash2(["sanitize", "use_fallback"], {"sanitize": true, "use_fallback": true}))) + "</title>");
@@ -17999,10 +18615,10 @@ Opal.modules["asciidoctor/converter/html5"] = function(Opal) {
17999
18615
  }, $Html5Converter_convert_inline_footnote$53.$$arity = 1);
18000
18616
 
18001
18617
  Opal.def(self, '$convert_inline_image', $Html5Converter_convert_inline_image$54 = function $$convert_inline_image(node) {
18002
- var $a, $$55, $$56, $b, $c, $d, self = this, type = nil, class_attr_val = nil, title_attr = nil, img = nil, target = nil, attrs = nil, svg = nil, obj = nil, fallback = nil, role = nil;
18618
+ var $a, $b, $$55, $$56, $c, $d, self = this, type = nil, class_attr_val = nil, title_attr = nil, img = nil, target = nil, attrs = nil, svg = nil, obj = nil, fallback = nil, role = nil;
18003
18619
 
18004
18620
 
18005
- if ($truthy((($a = (type = node.$type())['$==']("icon")) ? node.$document()['$attr?']("icons", "font") : (type = node.$type())['$==']("icon")))) {
18621
+ if ($truthy((($a = (type = ($truthy($b = node.$type()) ? $b : "image"))['$==']("icon")) ? node.$document()['$attr?']("icons", "font") : (type = ($truthy($b = node.$type()) ? $b : "image"))['$==']("icon")))) {
18006
18622
 
18007
18623
  class_attr_val = "" + "fa fa-" + (node.$target());
18008
18624
  $send($hash2(["size", "rotate", "flip"], {"size": "fa-", "rotate": "fa-rotate-", "flip": "fa-flip-"}), 'each', [], ($$55 = function(key, prefix){var self = $$55.$$s || this;
@@ -19127,7 +19743,7 @@ Opal.modules["asciidoctor/extensions"] = function(Opal) {
19127
19743
  return "(){0}"
19128
19744
  } else {
19129
19745
  return "(\\S+?)"
19130
- }; return nil; })()) + "\\[(|.*?[^\\\\])\\]")]), $send((($b = $nesting[0].$$cvars['@@rx_cache']) == null ? nil : $b), '[]=', Opal.to_a($writer)), $writer[$rb_minus($writer["length"], 1)]));
19746
+ }; return nil; })()) + "\\[(|" + ($$($nesting, 'CC_ANY')) + "*?[^\\\\])\\]")]), $send((($b = $nesting[0].$$cvars['@@rx_cache']) == null ? nil : $b), '[]=', Opal.to_a($writer)), $writer[$rb_minus($writer["length"], 1)]));
19131
19747
  }, $InlineMacroProcessor_resolve_regexp$46.$$arity = 2), nil) && 'resolve_regexp';
19132
19748
  })($nesting[0], $$($nesting, 'MacroProcessor'), $nesting);
19133
19749
  (function($base, $parent_nesting) {
@@ -20226,18 +20842,9 @@ Opal.modules["asciidoctor/js/postscript"] = function(Opal) {
20226
20842
  function $rb_minus(lhs, rhs) {
20227
20843
  return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs - rhs : lhs['$-'](rhs);
20228
20844
  }
20229
- function $rb_plus(lhs, rhs) {
20230
- return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs + rhs : lhs['$+'](rhs);
20231
- }
20232
- function $rb_ge(lhs, rhs) {
20233
- return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs >= rhs : lhs['$>='](rhs);
20234
- }
20235
- function $rb_lt(lhs, rhs) {
20236
- return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs < rhs : lhs['$<'](rhs);
20237
- }
20238
- var self = Opal.top, $nesting = [], nil = Opal.nil, $$$ = Opal.const_get_qualified, $$ = Opal.const_get_relative, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $send = Opal.send, $hash2 = Opal.hash2, $truthy = Opal.truthy, $hash = Opal.hash;
20845
+ var self = Opal.top, $nesting = [], nil = Opal.nil, $$$ = Opal.const_get_qualified, $$ = Opal.const_get_relative, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $send = Opal.send, $hash2 = Opal.hash2, $truthy = Opal.truthy;
20239
20846
 
20240
- Opal.add_stubs(['$require', '$==', '$tap', '$each', '$constants', '$const_get', '$downcase', '$to_s', '$[]=', '$-', '$upcase', '$[]', '$values', '$new', '$attr_reader', '$instance_variable_set', '$send', '$singleton_class', '$<<', '$define', '$dirname', '$absolute_path', '$__dir__', '$join', '$home', '$to_set', '$each_key', '$slice', '$length', '$merge', '$default=', '$to_a', '$empty?', '$escape', '$drop', '$insert', '$start', '$!=', '$logger', '$logger=', '$!', '$===', '$dup', '$partition', '$split', '$gsub', '$+', '$respond_to?', '$keys', '$raise', '$ancestors', '$class', '$mtime', '$path', '$basename', '$extname', '$read', '$rewind', '$record', '$parse', '$exception', '$message', '$set_backtrace', '$backtrace', '$stack_trace', '$stack_trace=', '$open', '$load', '$delete', '$key?', '$expand_path', '$attributes', '$outfilesuffix', '$pwd', '$>=', '$safe', '$normalize_system_path', '$mkdir_p', '$directory?', '$convert', '$write', '$<', '$attr?', '$basebackend?', '$attr', '$uriish?', '$include?', '$syntax_highlighter', '$write_stylesheet?', '$write_primary_stylesheet', '$instance', '$read_asset', '$file?', '$write_stylesheet']);
20847
+ Opal.add_stubs(['$require', '$==', '$tap', '$each', '$constants', '$const_get', '$downcase', '$to_s', '$[]=', '$-', '$upcase', '$[]', '$values', '$new', '$attr_reader', '$instance_variable_set', '$send', '$singleton_class', '$<<', '$define', '$dirname', '$absolute_path', '$__dir__', '$join', '$home', '$pwd', '$to_set', '$chr', '$each_key', '$slice', '$length', '$merge', '$default=', '$drop', '$insert']);
20241
20848
 
20242
20849
  self.$require("set");
20243
20850
  if ($$($nesting, 'RUBY_ENGINE')['$==']("opal")) {
@@ -20248,7 +20855,7 @@ Opal.modules["asciidoctor/js/postscript"] = function(Opal) {
20248
20855
  (function($base, $parent_nesting) {
20249
20856
  var self = $module($base, 'Asciidoctor');
20250
20857
 
20251
- var $nesting = [self].concat($parent_nesting), $a, $Asciidoctor$7, $Asciidoctor$9, $Asciidoctor$11, $Asciidoctor$12, $Asciidoctor$13, $writer = nil;
20858
+ var $nesting = [self].concat($parent_nesting), $a, $b, $Asciidoctor$7, $Asciidoctor$9, $Asciidoctor$11, $Asciidoctor$13, $writer = nil;
20252
20859
 
20253
20860
 
20254
20861
  Opal.const_set($nesting[0], 'RUBY_ENGINE_OPAL', Opal.const_set($nesting[0], 'RUBY_ENGINE', $$$('::', 'RUBY_ENGINE'))['$==']("opal"));
@@ -20337,7 +20944,16 @@ Opal.modules["asciidoctor/js/postscript"] = function(Opal) {
20337
20944
  };
20338
20945
  Opal.const_set($nesting[0], 'LIB_DIR', $$$('::', 'File').$join($$($nesting, 'ROOT_DIR'), "lib"));
20339
20946
  Opal.const_set($nesting[0], 'DATA_DIR', $$$('::', 'File').$join($$($nesting, 'ROOT_DIR'), "data"));
20340
- Opal.const_set($nesting[0], 'USER_HOME', $$$('::', 'Dir').$home());
20947
+ Opal.const_set($nesting[0], 'USER_HOME', (function() { try {
20948
+ return $$$('::', 'Dir').$home()
20949
+ } catch ($err) {
20950
+ if (Opal.rescue($err, [$$($nesting, 'StandardError')])) {
20951
+ try {
20952
+
20953
+ return ($truthy($b = $$$('::', 'ENV')['$[]']("HOME")) ? $b : $$$('::', 'Dir').$pwd());
20954
+ } finally { Opal.pop_exception() }
20955
+ } else { throw $err; }
20956
+ }})());
20341
20957
  Opal.const_set($nesting[0], 'LF', "\n");
20342
20958
  Opal.const_set($nesting[0], 'NULL', "\u0000");
20343
20959
  Opal.const_set($nesting[0], 'TAB', "\t");
@@ -20367,18 +20983,32 @@ Opal.modules["asciidoctor/js/postscript"] = function(Opal) {
20367
20983
  Opal.const_set($nesting[0], 'ASCIIDOC_EXTENSIONS', $hash2([".adoc", ".asciidoc", ".asc", ".ad", ".txt"], {".adoc": true, ".asciidoc": true, ".asc": true, ".ad": true, ".txt": true}));
20368
20984
  Opal.const_set($nesting[0], 'SETEXT_SECTION_LEVELS', $hash2(["=", "-", "~", "^", "+"], {"=": 0, "-": 1, "~": 2, "^": 3, "+": 4}));
20369
20985
  Opal.const_set($nesting[0], 'ADMONITION_STYLES', ["NOTE", "TIP", "IMPORTANT", "WARNING", "CAUTION"].$to_set());
20370
- Opal.const_set($nesting[0], 'ADMONITION_STYLE_HEADS', ["N", "T", "I", "W", "C"].$to_set());
20986
+ Opal.const_set($nesting[0], 'ADMONITION_STYLE_HEADS', $send($$$('::', 'Set').$new(), 'tap', [], ($Asciidoctor$7 = function(accum){var self = $Asciidoctor$7.$$s || this, $$8;
20987
+
20988
+
20989
+
20990
+ if (accum == null) {
20991
+ accum = nil;
20992
+ };
20993
+ return $send($$($nesting, 'ADMONITION_STYLES'), 'each', [], ($$8 = function(s){var self = $$8.$$s || this;
20994
+
20995
+
20996
+
20997
+ if (s == null) {
20998
+ s = nil;
20999
+ };
21000
+ return accum['$<<'](s.$chr());}, $$8.$$s = self, $$8.$$arity = 1, $$8));}, $Asciidoctor$7.$$s = self, $Asciidoctor$7.$$arity = 1, $Asciidoctor$7)));
20371
21001
  Opal.const_set($nesting[0], 'PARAGRAPH_STYLES', ["comment", "example", "literal", "listing", "normal", "open", "pass", "quote", "sidebar", "source", "verse", "abstract", "partintro"].$to_set());
20372
21002
  Opal.const_set($nesting[0], 'VERBATIM_STYLES', ["literal", "listing", "source", "verse"].$to_set());
20373
21003
  Opal.const_set($nesting[0], 'DELIMITED_BLOCKS', $hash2(["--", "----", "....", "====", "****", "____", "++++", "|===", ",===", ":===", "!===", "////", "```"], {"--": ["open", ["comment", "example", "literal", "listing", "pass", "quote", "sidebar", "source", "verse", "admonition", "abstract", "partintro"].$to_set()], "----": ["listing", ["literal", "source"].$to_set()], "....": ["literal", ["listing", "source"].$to_set()], "====": ["example", ["admonition"].$to_set()], "****": ["sidebar", $$$('::', 'Set').$new()], "____": ["quote", ["verse"].$to_set()], "++++": ["pass", ["stem", "latexmath", "asciimath"].$to_set()], "|===": ["table", $$$('::', 'Set').$new()], ",===": ["table", $$$('::', 'Set').$new()], ":===": ["table", $$$('::', 'Set').$new()], "!===": ["table", $$$('::', 'Set').$new()], "////": ["comment", $$$('::', 'Set').$new()], "```": ["fenced_code", $$$('::', 'Set').$new()]}));
20374
- Opal.const_set($nesting[0], 'DELIMITED_BLOCK_HEADS', $send($hash2([], {}), 'tap', [], ($Asciidoctor$7 = function(accum){var self = $Asciidoctor$7.$$s || this, $$8;
21004
+ Opal.const_set($nesting[0], 'DELIMITED_BLOCK_HEADS', $send($hash2([], {}), 'tap', [], ($Asciidoctor$9 = function(accum){var self = $Asciidoctor$9.$$s || this, $$10;
20375
21005
 
20376
21006
 
20377
21007
 
20378
21008
  if (accum == null) {
20379
21009
  accum = nil;
20380
21010
  };
20381
- return $send($$($nesting, 'DELIMITED_BLOCKS'), 'each_key', [], ($$8 = function(k){var self = $$8.$$s || this, $writer = nil;
21011
+ return $send($$($nesting, 'DELIMITED_BLOCKS'), 'each_key', [], ($$10 = function(k){var self = $$10.$$s || this, $writer = nil;
20382
21012
 
20383
21013
 
20384
21014
 
@@ -20387,15 +21017,15 @@ Opal.modules["asciidoctor/js/postscript"] = function(Opal) {
20387
21017
  };
20388
21018
  $writer = [k.$slice(0, 2), true];
20389
21019
  $send(accum, '[]=', Opal.to_a($writer));
20390
- return $writer[$rb_minus($writer["length"], 1)];}, $$8.$$s = self, $$8.$$arity = 1, $$8));}, $Asciidoctor$7.$$s = self, $Asciidoctor$7.$$arity = 1, $Asciidoctor$7)));
20391
- Opal.const_set($nesting[0], 'DELIMITED_BLOCK_TAILS', $send($hash2([], {}), 'tap', [], ($Asciidoctor$9 = function(accum){var self = $Asciidoctor$9.$$s || this, $$10;
21020
+ return $writer[$rb_minus($writer["length"], 1)];}, $$10.$$s = self, $$10.$$arity = 1, $$10));}, $Asciidoctor$9.$$s = self, $Asciidoctor$9.$$arity = 1, $Asciidoctor$9)));
21021
+ Opal.const_set($nesting[0], 'DELIMITED_BLOCK_TAILS', $send($hash2([], {}), 'tap', [], ($Asciidoctor$11 = function(accum){var self = $Asciidoctor$11.$$s || this, $$12;
20392
21022
 
20393
21023
 
20394
21024
 
20395
21025
  if (accum == null) {
20396
21026
  accum = nil;
20397
21027
  };
20398
- return $send($$($nesting, 'DELIMITED_BLOCKS'), 'each_key', [], ($$10 = function(k){var self = $$10.$$s || this, $writer = nil;
21028
+ return $send($$($nesting, 'DELIMITED_BLOCKS'), 'each_key', [], ($$12 = function(k){var self = $$12.$$s || this, $writer = nil;
20399
21029
 
20400
21030
 
20401
21031
 
@@ -20409,152 +21039,34 @@ Opal.modules["asciidoctor/js/postscript"] = function(Opal) {
20409
21039
  return $writer[$rb_minus($writer["length"], 1)];
20410
21040
  } else {
20411
21041
  return nil
20412
- };}, $$10.$$s = self, $$10.$$arity = 1, $$10));}, $Asciidoctor$9.$$s = self, $Asciidoctor$9.$$arity = 1, $Asciidoctor$9)));
21042
+ };}, $$12.$$s = self, $$12.$$arity = 1, $$12));}, $Asciidoctor$11.$$s = self, $Asciidoctor$11.$$arity = 1, $Asciidoctor$11)));
20413
21043
  Opal.const_set($nesting[0], 'CAPTION_ATTR_NAMES', $hash2(["example", "figure", "listing", "table"], {"example": "example-caption", "figure": "figure-caption", "listing": "listing-caption", "table": "table-caption"}));
20414
- Opal.const_set($nesting[0], 'LAYOUT_BREAK_CHARS', $hash2(["'", "<"], {"'": "thematic_break", "<": "page_break"}));
20415
- Opal.const_set($nesting[0], 'MARKDOWN_THEMATIC_BREAK_CHARS', $hash2(["-", "*", "_"], {"-": "thematic_break", "*": "thematic_break", "_": "thematic_break"}));
20416
- Opal.const_set($nesting[0], 'HYBRID_LAYOUT_BREAK_CHARS', $$($nesting, 'LAYOUT_BREAK_CHARS').$merge($$($nesting, 'MARKDOWN_THEMATIC_BREAK_CHARS')));
20417
- Opal.const_set($nesting[0], 'NESTABLE_LIST_CONTEXTS', ["ulist", "olist", "dlist"]);
20418
- Opal.const_set($nesting[0], 'ORDERED_LIST_STYLES', ["arabic", "loweralpha", "lowerroman", "upperalpha", "upperroman"]);
20419
- Opal.const_set($nesting[0], 'ORDERED_LIST_KEYWORDS', $hash2(["loweralpha", "lowerroman", "upperalpha", "upperroman"], {"loweralpha": "a", "lowerroman": "i", "upperalpha": "A", "upperroman": "I"}));
20420
- Opal.const_set($nesting[0], 'ATTR_REF_HEAD', "{");
20421
- Opal.const_set($nesting[0], 'LIST_CONTINUATION', "+");
20422
- Opal.const_set($nesting[0], 'HARD_LINE_BREAK', " +");
20423
- Opal.const_set($nesting[0], 'LINE_CONTINUATION', " \\");
20424
- Opal.const_set($nesting[0], 'LINE_CONTINUATION_LEGACY', " +");
20425
- Opal.const_set($nesting[0], 'BLOCK_MATH_DELIMITERS', $hash2(["asciimath", "latexmath"], {"asciimath": ["\\$", "\\$"], "latexmath": ["\\[", "\\]"]}));
20426
- Opal.const_set($nesting[0], 'INLINE_MATH_DELIMITERS', $hash2(["asciimath", "latexmath"], {"asciimath": ["\\$", "\\$"], "latexmath": ["\\(", "\\)"]}));
20427
-
20428
- $writer = ["asciimath"];
20429
- $send(Opal.const_set($nesting[0], 'STEM_TYPE_ALIASES', $hash2(["latexmath", "latex", "tex"], {"latexmath": "latexmath", "latex": "latexmath", "tex": "latexmath"})), 'default=', Opal.to_a($writer));
20430
- $writer[$rb_minus($writer["length"], 1)];;
20431
- Opal.const_set($nesting[0], 'FONT_AWESOME_VERSION', "4.7.0");
20432
- Opal.const_set($nesting[0], 'HIGHLIGHT_JS_VERSION', "9.15.6");
20433
- Opal.const_set($nesting[0], 'MATHJAX_VERSION', "2.7.5");
20434
- Opal.const_set($nesting[0], 'FLEXIBLE_ATTRIBUTES', ["sectnums"]);
20435
- if ($$($nesting, 'RUBY_ENGINE')['$==']("opal")) {
20436
- } else {
20437
- nil
20438
- };
20439
- Opal.const_set($nesting[0], 'AuthorInfoLineRx', new RegExp("" + "^(" + ($$($nesting, 'CG_WORD')) + "[" + ($$($nesting, 'CC_WORD')) + "\\-'.]*)(?: +(" + ($$($nesting, 'CG_WORD')) + "[" + ($$($nesting, 'CC_WORD')) + "\\-'.]*))?(?: +(" + ($$($nesting, 'CG_WORD')) + "[" + ($$($nesting, 'CC_WORD')) + "\\-'.]*))?(?: +<([^>]+)>)?$"));
20440
- Opal.const_set($nesting[0], 'AuthorDelimiterRx', /;(?: |$)/);
20441
- Opal.const_set($nesting[0], 'RevisionInfoLineRx', new RegExp("" + "^(?:[^\\d{]*(" + ($$($nesting, 'CC_ANY')) + "*?),)? *(?!:)(" + ($$($nesting, 'CC_ANY')) + "*?)(?: *(?!^),?: *(" + ($$($nesting, 'CC_ANY')) + "*))?$"));
20442
- Opal.const_set($nesting[0], 'ManpageTitleVolnumRx', new RegExp("" + "^(" + ($$($nesting, 'CC_ANY')) + "+?) *\\( *(" + ($$($nesting, 'CC_ANY')) + "+?) *\\)$"));
20443
- Opal.const_set($nesting[0], 'ManpageNamePurposeRx', new RegExp("" + "^(" + ($$($nesting, 'CC_ANY')) + "+?) +- +(" + ($$($nesting, 'CC_ANY')) + "+)$"));
20444
- Opal.const_set($nesting[0], 'ConditionalDirectiveRx', new RegExp("" + "^(\\\\)?(ifdef|ifndef|ifeval|endif)::(\\S*?(?:([,+])\\S*?)?)\\[(" + ($$($nesting, 'CC_ANY')) + "+)?\\]$"));
20445
- Opal.const_set($nesting[0], 'EvalExpressionRx', new RegExp("" + "^(" + ($$($nesting, 'CC_ANY')) + "+?) *([=!><]=|[><]) *(" + ($$($nesting, 'CC_ANY')) + "+)$"));
20446
- Opal.const_set($nesting[0], 'IncludeDirectiveRx', new RegExp("" + "^(\\\\)?include::([^\\[][^\\[]*)\\[(" + ($$($nesting, 'CC_ANY')) + "+)?\\]$"));
20447
- Opal.const_set($nesting[0], 'TagDirectiveRx', /\b(?:tag|(e)nd)::(\S+?)\[\](?=$|[ \r])/m);
20448
- Opal.const_set($nesting[0], 'AttributeEntryRx', new RegExp("" + "^:(!?" + ($$($nesting, 'CG_WORD')) + "[^:]*):(?:[ \\t]+(" + ($$($nesting, 'CC_ANY')) + "*))?$"));
20449
- Opal.const_set($nesting[0], 'InvalidAttributeNameCharsRx', new RegExp("" + "[^-" + ($$($nesting, 'CC_WORD')) + "]"));
20450
- if ($$($nesting, 'RUBY_ENGINE')['$==']("opal")) {
20451
- Opal.const_set($nesting[0], 'AttributeEntryPassMacroRx', new RegExp("" + "^pass:([a-z]+(?:,[a-z-]+)*)?\\[(" + ($$($nesting, 'CC_ALL')) + "*)\\]$"))
20452
- } else {
20453
- nil
20454
- };
20455
- Opal.const_set($nesting[0], 'AttributeReferenceRx', new RegExp("" + "(\\\\)?\\{(" + ($$($nesting, 'CG_WORD')) + "[-" + ($$($nesting, 'CC_WORD')) + "]*|(set|counter2?):" + ($$($nesting, 'CC_ANY')) + "+?)(\\\\)?\\}"));
20456
- Opal.const_set($nesting[0], 'BlockAnchorRx', new RegExp("" + "^\\[\\[(?:|([" + ($$($nesting, 'CC_ALPHA')) + "_:][" + ($$($nesting, 'CC_WORD')) + ":.-]*)(?:, *(" + ($$($nesting, 'CC_ANY')) + "+))?)\\]\\]$"));
20457
- Opal.const_set($nesting[0], 'BlockAttributeListRx', new RegExp("" + "^\\[(|[" + ($$($nesting, 'CC_WORD')) + ".#%{,\"']" + ($$($nesting, 'CC_ANY')) + "*)\\]$"));
20458
- Opal.const_set($nesting[0], 'BlockAttributeLineRx', new RegExp("" + "^\\[(?:|[" + ($$($nesting, 'CC_WORD')) + ".#%{,\"']" + ($$($nesting, 'CC_ANY')) + "*|\\[(?:|[" + ($$($nesting, 'CC_ALPHA')) + "_:][" + ($$($nesting, 'CC_WORD')) + ":.-]*(?:, *" + ($$($nesting, 'CC_ANY')) + "+)?)\\])\\]$"));
20459
- Opal.const_set($nesting[0], 'BlockTitleRx', new RegExp("" + "^\\.(\\.?[^ \\t.]" + ($$($nesting, 'CC_ANY')) + "*)$"));
20460
- Opal.const_set($nesting[0], 'AdmonitionParagraphRx', new RegExp("" + "^(" + ($$($nesting, 'ADMONITION_STYLES').$to_a().$join("|")) + "):[ \\t]+"));
20461
- Opal.const_set($nesting[0], 'LiteralParagraphRx', new RegExp("" + "^([ \\t]+" + ($$($nesting, 'CC_ANY')) + "*)$"));
20462
- Opal.const_set($nesting[0], 'AtxSectionTitleRx', new RegExp("" + "^(=={0,5})[ \\t]+(" + ($$($nesting, 'CC_ANY')) + "+?)(?:[ \\t]+\\1)?$"));
20463
- Opal.const_set($nesting[0], 'ExtAtxSectionTitleRx', new RegExp("" + "^(=={0,5}|#\\\#{0,5})[ \\t]+(" + ($$($nesting, 'CC_ANY')) + "+?)(?:[ \\t]+\\1)?$"));
20464
- Opal.const_set($nesting[0], 'SetextSectionTitleRx', new RegExp("" + "^((?!\\.)" + ($$($nesting, 'CC_ANY')) + "*?" + ($$($nesting, 'CG_ALNUM')) + ($$($nesting, 'CC_ANY')) + "*)$"));
20465
- Opal.const_set($nesting[0], 'InlineSectionAnchorRx', new RegExp("" + " (\\\\)?\\[\\[([" + ($$($nesting, 'CC_ALPHA')) + "_:][" + ($$($nesting, 'CC_WORD')) + ":.-]*)(?:, *(" + ($$($nesting, 'CC_ANY')) + "+))?\\]\\]$"));
20466
- Opal.const_set($nesting[0], 'InvalidSectionIdCharsRx', new RegExp("" + "<[^>]+>|&(?:[a-z][a-z]+\\d{0,2}|#\\d\\d\\d{0,4}|#x[\\da-f][\\da-f][\\da-f]{0,3});|[^ " + ($$($nesting, 'CC_WORD')) + "\\-.]+?"));
20467
- Opal.const_set($nesting[0], 'SectionLevelStyleRx', /^sect\d$/);
20468
- Opal.const_set($nesting[0], 'AnyListRx', new RegExp("" + "^(?:[ \\t]*(?:-|\\*\\**|\\.\\.*|\\u2022|\\d+\\.|[a-zA-Z]\\.|[IVXivx]+\\))[ \\t]|(?!//[^/])[ \\t]*[^ \\t]" + ($$($nesting, 'CC_ANY')) + "*?(?::::{0,2}|;;)(?:$|[ \\t])|<?\\d+>[ \\t])"));
20469
- Opal.const_set($nesting[0], 'UnorderedListRx', new RegExp("" + "^[ \\t]*(-|\\*\\**|\\u2022)[ \\t]+(" + ($$($nesting, 'CC_ANY')) + "*)$"));
20470
- Opal.const_set($nesting[0], 'OrderedListRx', new RegExp("" + "^[ \\t]*(\\.\\.*|\\d+\\.|[a-zA-Z]\\.|[IVXivx]+\\))[ \\t]+(" + ($$($nesting, 'CC_ANY')) + "*)$"));
20471
- Opal.const_set($nesting[0], 'OrderedListMarkerRxMap', $hash2(["arabic", "loweralpha", "lowerroman", "upperalpha", "upperroman"], {"arabic": /\d+\./, "loweralpha": /[a-z]\./, "lowerroman": /[ivx]+\)/, "upperalpha": /[A-Z]\./, "upperroman": /[IVX]+\)/}));
20472
- Opal.const_set($nesting[0], 'DescriptionListRx', new RegExp("" + "^(?!//[^/])[ \\t]*([^ \\t]" + ($$($nesting, 'CC_ANY')) + "*?)(:::{0,2}|;;)(?:$|[ \\t]+(" + ($$($nesting, 'CC_ANY')) + "*)$)"));
20473
- Opal.const_set($nesting[0], 'DescriptionListSiblingRx', $hash2(["::", ":::", "::::", ";;"], {"::": new RegExp("" + "^(?!//[^/])[ \\t]*([^ \\t]" + ($$($nesting, 'CC_ANY')) + "*?[^:]|[^ \\t:])(::)(?:$|[ \\t]+(" + ($$($nesting, 'CC_ANY')) + "*)$)"), ":::": new RegExp("" + "^(?!//[^/])[ \\t]*([^ \\t]" + ($$($nesting, 'CC_ANY')) + "*?[^:]|[^ \\t:])(:::)(?:$|[ \\t]+(" + ($$($nesting, 'CC_ANY')) + "*)$)"), "::::": new RegExp("" + "^(?!//[^/])[ \\t]*([^ \\t]" + ($$($nesting, 'CC_ANY')) + "*?[^:]|[^ \\t:])(::::)(?:$|[ \\t]+(" + ($$($nesting, 'CC_ANY')) + "*)$)"), ";;": new RegExp("" + "^(?!//[^/])[ \\t]*([^ \\t]" + ($$($nesting, 'CC_ANY')) + "*?)(;;)(?:$|[ \\t]+(" + ($$($nesting, 'CC_ANY')) + "*)$)")}));
20474
- Opal.const_set($nesting[0], 'CalloutListRx', new RegExp("" + "^<(\\d+|\\.)>[ \\t]+(" + ($$($nesting, 'CC_ANY')) + "*)$"));
20475
- Opal.const_set($nesting[0], 'CalloutExtractRx', /((?:\/\/|#|--|;;) ?)?(\\)?<!?(|--)(\d+|\.)\3>(?=(?: ?\\?<!?\3(?:\d+|\.)\3>)*$)/);
20476
- Opal.const_set($nesting[0], 'CalloutExtractRxt', "(\\\\)?<()(\\d+|\\.)>(?=(?: ?\\\\?<(?:\\d+|\\.)>)*$)");
20477
- Opal.const_set($nesting[0], 'CalloutExtractRxMap', $send($$$('::', 'Hash'), 'new', [], ($Asciidoctor$11 = function(h, k){var self = $Asciidoctor$11.$$s || this;
20478
-
20479
-
20480
-
20481
- if (h == null) {
20482
- h = nil;
20483
- };
20484
-
20485
- if (k == null) {
20486
- k = nil;
20487
- };
20488
- $writer = [k, new RegExp("" + "(" + ((function() {if ($truthy(k['$empty?']())) {
20489
- return ""
20490
- } else {
20491
- return "" + ($$$('::', 'Regexp').$escape(k)) + " ?"
20492
- }; return nil; })()) + ")?" + ($$($nesting, 'CalloutExtractRxt')))];
20493
- $send(h, '[]=', Opal.to_a($writer));
20494
- return $writer[$rb_minus($writer["length"], 1)];}, $Asciidoctor$11.$$s = self, $Asciidoctor$11.$$arity = 2, $Asciidoctor$11)));
20495
- Opal.const_set($nesting[0], 'CalloutScanRx', new RegExp("" + "\\\\?<!?(|--)(\\d+|\\.)\\1>(?=(?: ?\\\\?<!?\\1(?:\\d+|\\.)\\1>)*" + ($$($nesting, 'CC_EOL')) + ")"));
20496
- Opal.const_set($nesting[0], 'CalloutSourceRx', new RegExp("" + "((?://|#|--|;;) ?)?(\\\\)?&lt;!?(|--)(\\d+|\\.)\\3&gt;(?=(?: ?\\\\?&lt;!?\\3(?:\\d+|\\.)\\3&gt;)*" + ($$($nesting, 'CC_EOL')) + ")"));
20497
- Opal.const_set($nesting[0], 'CalloutSourceRxt', "" + "(\\\\)?&lt;()(\\d+|\\.)&gt;(?=(?: ?\\\\?&lt;(?:\\d+|\\.)&gt;)*" + ($$($nesting, 'CC_EOL')) + ")");
20498
- Opal.const_set($nesting[0], 'CalloutSourceRxMap', $send($$$('::', 'Hash'), 'new', [], ($Asciidoctor$12 = function(h, k){var self = $Asciidoctor$12.$$s || this;
20499
-
20500
-
20501
-
20502
- if (h == null) {
20503
- h = nil;
20504
- };
20505
-
20506
- if (k == null) {
20507
- k = nil;
20508
- };
20509
- $writer = [k, new RegExp("" + "(" + ((function() {if ($truthy(k['$empty?']())) {
20510
- return ""
20511
- } else {
20512
- return "" + ($$$('::', 'Regexp').$escape(k)) + " ?"
20513
- }; return nil; })()) + ")?" + ($$($nesting, 'CalloutSourceRxt')))];
20514
- $send(h, '[]=', Opal.to_a($writer));
20515
- return $writer[$rb_minus($writer["length"], 1)];}, $Asciidoctor$12.$$s = self, $Asciidoctor$12.$$arity = 2, $Asciidoctor$12)));
20516
- Opal.const_set($nesting[0], 'ListRxMap', $hash2(["ulist", "olist", "dlist", "colist"], {"ulist": $$($nesting, 'UnorderedListRx'), "olist": $$($nesting, 'OrderedListRx'), "dlist": $$($nesting, 'DescriptionListRx'), "colist": $$($nesting, 'CalloutListRx')}));
20517
- Opal.const_set($nesting[0], 'ColumnSpecRx', /^(?:(\d+)\*)?([<^>](?:\.[<^>]?)?|(?:[<^>]?\.)?[<^>])?(\d+%?|~)?([a-z])?$/);
20518
- Opal.const_set($nesting[0], 'CellSpecStartRx', /^[ \t]*(?:(\d+(?:\.\d*)?|(?:\d*\.)?\d+)([*+]))?([<^>](?:\.[<^>]?)?|(?:[<^>]?\.)?[<^>])?([a-z])?$/);
20519
- Opal.const_set($nesting[0], 'CellSpecEndRx', /[ \t]+(?:(\d+(?:\.\d*)?|(?:\d*\.)?\d+)([*+]))?([<^>](?:\.[<^>]?)?|(?:[<^>]?\.)?[<^>])?([a-z])?$/);
20520
- Opal.const_set($nesting[0], 'CustomBlockMacroRx', new RegExp("" + "^(" + ($$($nesting, 'CG_WORD')) + "[-" + ($$($nesting, 'CC_WORD')) + "]*)::(|\\S|\\S" + ($$($nesting, 'CC_ANY')) + "*?\\S)\\[(" + ($$($nesting, 'CC_ANY')) + "+)?\\]$"));
20521
- Opal.const_set($nesting[0], 'BlockMediaMacroRx', new RegExp("" + "^(image|video|audio)::(\\S|\\S" + ($$($nesting, 'CC_ANY')) + "*?\\S)\\[(" + ($$($nesting, 'CC_ANY')) + "+)?\\]$"));
20522
- Opal.const_set($nesting[0], 'BlockTocMacroRx', new RegExp("" + "^toc::\\[(" + ($$($nesting, 'CC_ANY')) + "+)?\\]$"));
20523
- Opal.const_set($nesting[0], 'InlineAnchorRx', new RegExp("" + "(\\\\)?(?:\\[\\[([" + ($$($nesting, 'CC_ALPHA')) + "_:][" + ($$($nesting, 'CC_WORD')) + ":.-]*)(?:, *(" + ($$($nesting, 'CC_ANY')) + "+?))?\\]\\]|anchor:([" + ($$($nesting, 'CC_ALPHA')) + "_:][" + ($$($nesting, 'CC_WORD')) + ":.-]*)\\[(?:\\]|(" + ($$($nesting, 'CC_ANY')) + "*?[^\\\\])\\]))"));
20524
- Opal.const_set($nesting[0], 'InlineAnchorScanRx', new RegExp("" + "(?:^|[^\\\\\\[])\\[\\[([" + ($$($nesting, 'CC_ALPHA')) + "_:][" + ($$($nesting, 'CC_WORD')) + ":.-]*)(?:, *(" + ($$($nesting, 'CC_ANY')) + "+?))?\\]\\]|(?:^|[^\\\\])anchor:([" + ($$($nesting, 'CC_ALPHA')) + "_:][" + ($$($nesting, 'CC_WORD')) + ":.-]*)\\[(?:\\]|(" + ($$($nesting, 'CC_ANY')) + "*?[^\\\\])\\])"));
20525
- Opal.const_set($nesting[0], 'LeadingInlineAnchorRx', new RegExp("" + "^\\[\\[([" + ($$($nesting, 'CC_ALPHA')) + "_:][" + ($$($nesting, 'CC_WORD')) + ":.-]*)(?:, *(" + ($$($nesting, 'CC_ANY')) + "+?))?\\]\\]"));
20526
- Opal.const_set($nesting[0], 'InlineBiblioAnchorRx', new RegExp("" + "^\\[\\[\\[([" + ($$($nesting, 'CC_ALPHA')) + "_:][" + ($$($nesting, 'CC_WORD')) + ":.-]*)(?:, *(" + ($$($nesting, 'CC_ANY')) + "+?))?\\]\\]\\]"));
20527
- Opal.const_set($nesting[0], 'InlineEmailRx', new RegExp("" + "([\\\\>:/])?" + ($$($nesting, 'CG_WORD')) + "(?:&amp;|[" + ($$($nesting, 'CC_WORD')) + ".%+-])*@" + ($$($nesting, 'CG_ALNUM')) + "[" + ($$($nesting, 'CC_ALNUM')) + "_.-]*\\.[a-zA-Z]{2,5}\\b"));
20528
- Opal.const_set($nesting[0], 'InlineFootnoteMacroRx', new RegExp("" + "\\\\?footnote(?:(ref):|:([\\w-]+)?)\\[(?:|(" + ($$($nesting, 'CC_ALL')) + "*?[^\\\\]))\\]", 'm'));
20529
- Opal.const_set($nesting[0], 'InlineImageMacroRx', new RegExp("" + "\\\\?i(?:mage|con):([^:\\s\\[](?:[^\\n\\[]*[^\\s\\[])?)\\[(|" + ($$($nesting, 'CC_ALL')) + "*?[^\\\\])\\]", 'm'));
20530
- Opal.const_set($nesting[0], 'InlineIndextermMacroRx', new RegExp("" + "\\\\?(?:(indexterm2?):\\[(" + ($$($nesting, 'CC_ALL')) + "*?[^\\\\])\\]|\\(\\((" + ($$($nesting, 'CC_ALL')) + "+?)\\)\\)(?!\\)))", 'm'));
20531
- Opal.const_set($nesting[0], 'InlineKbdBtnMacroRx', new RegExp("" + "(\\\\)?(kbd|btn):\\[(" + ($$($nesting, 'CC_ALL')) + "*?[^\\\\])\\]", 'm'));
20532
- Opal.const_set($nesting[0], 'InlineLinkRx', new RegExp("" + "(^|link:|" + ($$($nesting, 'CG_BLANK')) + "|&lt;|[>\\(\\)\\[\\];])(\\\\?(?:https?|file|ftp|irc)://[^\\s\\[\\]<]*([^\\s.,\\[\\]<]))(?:\\[(|" + ($$($nesting, 'CC_ALL')) + "*?[^\\\\])\\])?", 'm'));
20533
- Opal.const_set($nesting[0], 'InlineLinkMacroRx', new RegExp("" + "\\\\?(?:link|(mailto)):(|[^:\\s\\[][^\\s\\[]*)\\[(|" + ($$($nesting, 'CC_ALL')) + "*?[^\\\\])\\]", 'm'));
20534
- Opal.const_set($nesting[0], 'MacroNameRx', new RegExp("" + "^" + ($$($nesting, 'CG_WORD')) + "[-" + ($$($nesting, 'CC_WORD')) + "]*$"));
20535
- Opal.const_set($nesting[0], 'InlineStemMacroRx', new RegExp("" + "\\\\?(stem|(?:latex|ascii)math):([a-z]+(?:,[a-z-]+)*)?\\[(" + ($$($nesting, 'CC_ALL')) + "*?[^\\\\])\\]", 'm'));
20536
- Opal.const_set($nesting[0], 'InlineMenuMacroRx', new RegExp("" + "\\\\?menu:(" + ($$($nesting, 'CG_WORD')) + "|[" + ($$($nesting, 'CC_WORD')) + "&][^\\n\\[]*[^\\s\\[])\\[ *(" + ($$($nesting, 'CC_ALL')) + "*?[^\\\\])?\\]", 'm'));
20537
- Opal.const_set($nesting[0], 'InlineMenuRx', new RegExp("" + "\\\\?\"([" + ($$($nesting, 'CC_WORD')) + "&][^\"]*?[ \\n]+&gt;[ \\n]+[^\"]*)\""));
20538
- Opal.const_set($nesting[0], 'InlinePassRx', $hash(false, ["+", "`", new RegExp("" + "(^|[^" + ($$($nesting, 'CC_WORD')) + ";:])(?:\\[([^\\]]+)\\])?(\\\\?(\\+|`)(\\S|\\S" + ($$($nesting, 'CC_ALL')) + "*?\\S)\\4)(?!" + ($$($nesting, 'CG_WORD')) + ")", 'm')], true, ["`", nil, new RegExp("" + "(^|[^`" + ($$($nesting, 'CC_WORD')) + "])(?:\\[([^\\]]+)\\])?(\\\\?(`)([^`\\s]|[^`\\s]" + ($$($nesting, 'CC_ALL')) + "*?\\S)\\4)(?![`" + ($$($nesting, 'CC_WORD')) + "])", 'm')]));
20539
- Opal.const_set($nesting[0], 'SinglePlusInlinePassRx', new RegExp("" + "^(\\\\)?\\+(\\S|\\S" + ($$($nesting, 'CC_ALL')) + "*?\\S)\\+$", 'm'));
20540
- Opal.const_set($nesting[0], 'InlinePassMacroRx', new RegExp("" + "(?:(?:(\\\\?)\\[([^\\]]+)\\])?(\\\\{0,2})(\\+\\+\\+?|\\$\\$)(" + ($$($nesting, 'CC_ALL')) + "*?)\\4|(\\\\?)pass:([a-z]+(?:,[a-z-]+)*)?\\[(|" + ($$($nesting, 'CC_ALL')) + "*?[^\\\\])\\])", 'm'));
20541
- Opal.const_set($nesting[0], 'InlineXrefMacroRx', new RegExp("" + "\\\\?(?:&lt;&lt;([" + ($$($nesting, 'CC_WORD')) + "#/.:{]" + ($$($nesting, 'CC_ALL')) + "*?)&gt;&gt;|xref:([" + ($$($nesting, 'CC_WORD')) + "#/.:{]" + ($$($nesting, 'CC_ALL')) + "*?)\\[(?:\\]|(" + ($$($nesting, 'CC_ALL')) + "*?[^\\\\])\\]))", 'm'));
21044
+ Opal.const_set($nesting[0], 'LAYOUT_BREAK_CHARS', $hash2(["'", "<"], {"'": "thematic_break", "<": "page_break"}));
21045
+ Opal.const_set($nesting[0], 'MARKDOWN_THEMATIC_BREAK_CHARS', $hash2(["-", "*", "_"], {"-": "thematic_break", "*": "thematic_break", "_": "thematic_break"}));
21046
+ Opal.const_set($nesting[0], 'HYBRID_LAYOUT_BREAK_CHARS', $$($nesting, 'LAYOUT_BREAK_CHARS').$merge($$($nesting, 'MARKDOWN_THEMATIC_BREAK_CHARS')));
21047
+ Opal.const_set($nesting[0], 'NESTABLE_LIST_CONTEXTS', ["ulist", "olist", "dlist"]);
21048
+ Opal.const_set($nesting[0], 'ORDERED_LIST_STYLES', ["arabic", "loweralpha", "lowerroman", "upperalpha", "upperroman"]);
21049
+ Opal.const_set($nesting[0], 'ORDERED_LIST_KEYWORDS', $hash2(["loweralpha", "lowerroman", "upperalpha", "upperroman"], {"loweralpha": "a", "lowerroman": "i", "upperalpha": "A", "upperroman": "I"}));
21050
+ Opal.const_set($nesting[0], 'ATTR_REF_HEAD', "{");
21051
+ Opal.const_set($nesting[0], 'LIST_CONTINUATION', "+");
21052
+ Opal.const_set($nesting[0], 'HARD_LINE_BREAK', " +");
21053
+ Opal.const_set($nesting[0], 'LINE_CONTINUATION', " \\");
21054
+ Opal.const_set($nesting[0], 'LINE_CONTINUATION_LEGACY', " +");
21055
+ Opal.const_set($nesting[0], 'BLOCK_MATH_DELIMITERS', $hash2(["asciimath", "latexmath"], {"asciimath": ["\\$", "\\$"], "latexmath": ["\\[", "\\]"]}));
21056
+ Opal.const_set($nesting[0], 'INLINE_MATH_DELIMITERS', $hash2(["asciimath", "latexmath"], {"asciimath": ["\\$", "\\$"], "latexmath": ["\\(", "\\)"]}));
21057
+
21058
+ $writer = ["asciimath"];
21059
+ $send(Opal.const_set($nesting[0], 'STEM_TYPE_ALIASES', $hash2(["latexmath", "latex", "tex"], {"latexmath": "latexmath", "latex": "latexmath", "tex": "latexmath"})), 'default=', Opal.to_a($writer));
21060
+ $writer[$rb_minus($writer["length"], 1)];;
21061
+ Opal.const_set($nesting[0], 'FONT_AWESOME_VERSION', "4.7.0");
21062
+ Opal.const_set($nesting[0], 'HIGHLIGHT_JS_VERSION', "9.15.6");
21063
+ Opal.const_set($nesting[0], 'MATHJAX_VERSION', "2.7.5");
21064
+ Opal.const_set($nesting[0], 'FLEXIBLE_ATTRIBUTES', ["sectnums"]);
21065
+ Opal.const_set($nesting[0], 'INTRINSIC_ATTRIBUTES', $hash2(["startsb", "endsb", "vbar", "caret", "asterisk", "tilde", "plus", "backslash", "backtick", "blank", "empty", "sp", "two-colons", "two-semicolons", "nbsp", "deg", "zwsp", "quot", "apos", "lsquo", "rsquo", "ldquo", "rdquo", "wj", "brvbar", "pp", "cpp", "amp", "lt", "gt"], {"startsb": "[", "endsb": "]", "vbar": "|", "caret": "^", "asterisk": "*", "tilde": "~", "plus": "&#43;", "backslash": "\\", "backtick": "`", "blank": "", "empty": "", "sp": " ", "two-colons": "::", "two-semicolons": ";;", "nbsp": "&#160;", "deg": "&#176;", "zwsp": "&#8203;", "quot": "&#34;", "apos": "&#39;", "lsquo": "&#8216;", "rsquo": "&#8217;", "ldquo": "&#8220;", "rdquo": "&#8221;", "wj": "&#8288;", "brvbar": "&#166;", "pp": "&#43;&#43;", "cpp": "C&#43;&#43;", "amp": "&", "lt": "<", "gt": ">"}));
20542
21066
  if ($$($nesting, 'RUBY_ENGINE')['$==']("opal")) {
20543
- Opal.const_set($nesting[0], 'HardLineBreakRx', new RegExp("" + "^(" + ($$($nesting, 'CC_ANY')) + "*) \\+$", 'm'))
20544
21067
  } else {
20545
21068
  nil
20546
21069
  };
20547
- Opal.const_set($nesting[0], 'MarkdownThematicBreakRx', /^ {0,3}([-*_])( *)\1\2\1$/);
20548
- Opal.const_set($nesting[0], 'ExtLayoutBreakRx', /^(?:'{3,}|<{3,}|([-*_])( *)\1\2\1)$/);
20549
- Opal.const_set($nesting[0], 'BlankLineRx', /\n{2,}/);
20550
- Opal.const_set($nesting[0], 'EscapedSpaceRx', /\\([ \t\n])/);
20551
- Opal.const_set($nesting[0], 'ReplaceableTextRx', /[&']|--|\.\.\.|\([CRT]M?\)/);
20552
- Opal.const_set($nesting[0], 'SpaceDelimiterRx', /([^\\])[ \t\n]+/);
20553
- Opal.const_set($nesting[0], 'SubModifierSniffRx', /[+-]/);
20554
- Opal.const_set($nesting[0], 'TrailingDigitsRx', /\d+$/);
20555
- Opal.const_set($nesting[0], 'UriSniffRx', new RegExp("" + "^" + ($$($nesting, 'CG_ALPHA')) + "[" + ($$($nesting, 'CC_ALNUM')) + ".+-]+:/{0,2}"));
20556
- Opal.const_set($nesting[0], 'XmlSanitizeRx', /<[^>]+>/);
20557
- Opal.const_set($nesting[0], 'INTRINSIC_ATTRIBUTES', $hash2(["startsb", "endsb", "vbar", "caret", "asterisk", "tilde", "plus", "backslash", "backtick", "blank", "empty", "sp", "two-colons", "two-semicolons", "nbsp", "deg", "zwsp", "quot", "apos", "lsquo", "rsquo", "ldquo", "rdquo", "wj", "brvbar", "pp", "cpp", "amp", "lt", "gt"], {"startsb": "[", "endsb": "]", "vbar": "|", "caret": "^", "asterisk": "*", "tilde": "~", "plus": "&#43;", "backslash": "\\", "backtick": "`", "blank": "", "empty": "", "sp": " ", "two-colons": "::", "two-semicolons": ";;", "nbsp": "&#160;", "deg": "&#176;", "zwsp": "&#8203;", "quot": "&#34;", "apos": "&#39;", "lsquo": "&#8216;", "rsquo": "&#8217;", "ldquo": "&#8220;", "rdquo": "&#8221;", "wj": "&#8288;", "brvbar": "&#166;", "pp": "&#43;&#43;", "cpp": "C&#43;&#43;", "amp": "&", "lt": "<", "gt": ">"}));
20558
21070
  Opal.const_set($nesting[0], 'QUOTE_SUBS', $send($hash2([], {}), 'tap', [], ($Asciidoctor$13 = function(accum){var self = $Asciidoctor$13.$$s || this, normal = nil, compat = nil;
20559
21071
 
20560
21072
 
@@ -20588,386 +21100,10 @@ Opal.modules["asciidoctor/js/postscript"] = function(Opal) {
20588
21100
  $writer[$rb_minus($writer["length"], 1)];;
20589
21101
  return compat.$insert(3, ["emphasis", "constrained", new RegExp("" + "(^|[^" + ($$($nesting, 'CC_WORD')) + ";:}])(?:\\[([^\\]]+)\\])?'(\\S|\\S" + ($$($nesting, 'CC_ALL')) + "*?\\S)'(?!" + ($$($nesting, 'CG_WORD')) + ")", 'm')]);}, $Asciidoctor$13.$$s = self, $Asciidoctor$13.$$arity = 1, $Asciidoctor$13)));
20590
21102
  Opal.const_set($nesting[0], 'REPLACEMENTS', [[/\\?\(C\)/, "&#169;", "none"], [/\\?\(R\)/, "&#174;", "none"], [/\\?\(TM\)/, "&#8482;", "none"], [/(^|\n| |\\)--( |\n|$)/, "&#8201;&#8212;&#8201;", "none"], [new RegExp("" + "(" + ($$($nesting, 'CG_WORD')) + ")\\\\?--(?=" + ($$($nesting, 'CG_WORD')) + ")"), "&#8212;&#8203;", "leading"], [/\\?\.\.\./, "&#8230;&#8203;", "none"], [/\\?`'/, "&#8217;", "none"], [new RegExp("" + "(" + ($$($nesting, 'CG_ALNUM')) + ")\\\\?'(?=" + ($$($nesting, 'CG_ALPHA')) + ")"), "&#8217;", "leading"], [/\\?-&gt;/, "&#8594;", "none"], [/\\?=&gt;/, "&#8658;", "none"], [/\\?&lt;-/, "&#8592;", "none"], [/\\?&lt;=/, "&#8656;", "none"], [/\\?(&)amp;((?:[a-zA-Z][a-zA-Z]+\d{0,2}|#\d\d\d{0,4}|#x[\da-fA-F][\da-fA-F][\da-fA-F]{0,3});)/, "", "bounding"]]);
20591
- (function(self, $parent_nesting) {
20592
- var $nesting = [self].concat($parent_nesting), $load$14, $load_file$21, $convert$23, $convert_file$24;
20593
-
20594
-
20595
-
20596
- Opal.def(self, '$load', $load$14 = function $$load(input, options) {
20597
- var $a, $b, $c, $d, $$15, $$17, $$19, self = this, timings = nil, logger = nil, $writer = nil, attrs = nil, input_path = nil, source = nil, doc = nil, ex = nil, context = nil, wrapped_ex = nil;
20598
-
20599
-
20600
-
20601
- if (options == null) {
20602
- options = $hash2([], {});
20603
- };
20604
- try {
20605
-
20606
- options = options.$merge();
20607
- if ($truthy((timings = options['$[]']("timings")))) {
20608
- timings.$start("read")};
20609
- if ($truthy(($truthy($a = (logger = options['$[]']("logger"))) ? logger['$!=']($$($nesting, 'LoggerManager').$logger()) : $a))) {
20610
-
20611
- $writer = [logger];
20612
- $send($$($nesting, 'LoggerManager'), 'logger=', Opal.to_a($writer));
20613
- $writer[$rb_minus($writer["length"], 1)];};
20614
- if ($truthy((attrs = options['$[]']("attributes"))['$!']())) {
20615
- attrs = $hash2([], {})
20616
- } else if ($truthy($$$('::', 'Hash')['$==='](attrs))) {
20617
- attrs = attrs.$merge()
20618
- } else if ($truthy(($truthy($a = (($d = $$$('::', 'Java', 'skip_raise')) && ($c = $$$($d, 'JavaUtil', 'skip_raise')) && ($b = $$$($c, 'Map', 'skip_raise')) ? 'constant' : nil)) ? $$$($$$($$$('::', 'Java'), 'JavaUtil'), 'Map')['$==='](attrs) : $a))) {
20619
- attrs = attrs.$dup()
20620
- } else if ($truthy($$$('::', 'Array')['$==='](attrs))) {
20621
- attrs = $send($hash2([], {}), 'tap', [], ($$15 = function(accum){var self = $$15.$$s || this, $$16;
20622
-
20623
-
20624
-
20625
- if (accum == null) {
20626
- accum = nil;
20627
- };
20628
- return $send(attrs, 'each', [], ($$16 = function(entry){var self = $$16.$$s || this, $e, $f, k = nil, _ = nil, v = nil;
20629
-
20630
-
20631
-
20632
- if (entry == null) {
20633
- entry = nil;
20634
- };
20635
- $f = entry.$partition("="), $e = Opal.to_ary($f), (k = ($e[0] == null ? nil : $e[0])), (_ = ($e[1] == null ? nil : $e[1])), (v = ($e[2] == null ? nil : $e[2])), $f;
20636
-
20637
- $writer = [k, v];
20638
- $send(accum, '[]=', Opal.to_a($writer));
20639
- return $writer[$rb_minus($writer["length"], 1)];;}, $$16.$$s = self, $$16.$$arity = 1, $$16));}, $$15.$$s = self, $$15.$$arity = 1, $$15))
20640
- } else if ($truthy($$$('::', 'String')['$==='](attrs))) {
20641
- attrs = $send($hash2([], {}), 'tap', [], ($$17 = function(accum){var self = $$17.$$s || this, $$18;
20642
-
20643
-
20644
-
20645
- if (accum == null) {
20646
- accum = nil;
20647
- };
20648
- return $send(attrs.$gsub($$($nesting, 'SpaceDelimiterRx'), $rb_plus("\\1", $$($nesting, 'NULL'))).$gsub($$($nesting, 'EscapedSpaceRx'), "\\1").$split($$($nesting, 'NULL')), 'each', [], ($$18 = function(entry){var self = $$18.$$s || this, $e, $f, k = nil, _ = nil, v = nil;
20649
-
20650
-
20651
-
20652
- if (entry == null) {
20653
- entry = nil;
20654
- };
20655
- $f = entry.$partition("="), $e = Opal.to_ary($f), (k = ($e[0] == null ? nil : $e[0])), (_ = ($e[1] == null ? nil : $e[1])), (v = ($e[2] == null ? nil : $e[2])), $f;
20656
-
20657
- $writer = [k, v];
20658
- $send(accum, '[]=', Opal.to_a($writer));
20659
- return $writer[$rb_minus($writer["length"], 1)];;}, $$18.$$s = self, $$18.$$arity = 1, $$18));}, $$17.$$s = self, $$17.$$arity = 1, $$17))
20660
- } else if ($truthy(($truthy($a = attrs['$respond_to?']("keys")) ? attrs['$respond_to?']("[]") : $a))) {
20661
- attrs = $send($hash2([], {}), 'tap', [], ($$19 = function(accum){var self = $$19.$$s || this, $$20;
20662
-
20663
-
20664
-
20665
- if (accum == null) {
20666
- accum = nil;
20667
- };
20668
- return $send(attrs.$keys(), 'each', [], ($$20 = function(k){var self = $$20.$$s || this;
20669
-
20670
-
20671
-
20672
- if (k == null) {
20673
- k = nil;
20674
- };
20675
- $writer = [k, attrs['$[]'](k)];
20676
- $send(accum, '[]=', Opal.to_a($writer));
20677
- return $writer[$rb_minus($writer["length"], 1)];}, $$20.$$s = self, $$20.$$arity = 1, $$20));}, $$19.$$s = self, $$19.$$arity = 1, $$19))
20678
- } else {
20679
- self.$raise($$$('::', 'ArgumentError'), "" + "illegal type for attributes option: " + (attrs.$class().$ancestors().$join(" < ")))
20680
- };
20681
- if ($truthy($$$('::', 'File')['$==='](input))) {
20682
-
20683
-
20684
- $writer = ["input_mtime", input.$mtime()];
20685
- $send(options, '[]=', Opal.to_a($writer));
20686
- $writer[$rb_minus($writer["length"], 1)];;
20687
-
20688
- $writer = ["docfile", (input_path = $$$('::', 'File').$absolute_path(input.$path()))];
20689
- $send(attrs, '[]=', Opal.to_a($writer));
20690
- $writer[$rb_minus($writer["length"], 1)];;
20691
-
20692
- $writer = ["docdir", $$$('::', 'File').$dirname(input_path)];
20693
- $send(attrs, '[]=', Opal.to_a($writer));
20694
- $writer[$rb_minus($writer["length"], 1)];;
20695
-
20696
- $writer = ["docname", $$($nesting, 'Helpers').$basename(input_path, (($writer = ["docfilesuffix", $$$('::', 'File').$extname(input_path)]), $send(attrs, '[]=', Opal.to_a($writer)), $writer[$rb_minus($writer["length"], 1)]))];
20697
- $send(attrs, '[]=', Opal.to_a($writer));
20698
- $writer[$rb_minus($writer["length"], 1)];;
20699
- source = input.$read();
20700
- } else if ($truthy(input['$respond_to?']("read"))) {
20701
-
20702
- try {
20703
- input.$rewind()
20704
- } catch ($err) {
20705
- if (Opal.rescue($err, [$$($nesting, 'StandardError')])) {
20706
- try {
20707
- nil
20708
- } finally { Opal.pop_exception() }
20709
- } else { throw $err; }
20710
- };
20711
- source = input.$read();
20712
- } else if ($truthy($$$('::', 'String')['$==='](input))) {
20713
- source = input
20714
- } else if ($truthy($$$('::', 'Array')['$==='](input))) {
20715
- source = input.$drop(0)
20716
- } else if ($truthy(input)) {
20717
- self.$raise($$$('::', 'ArgumentError'), "" + "unsupported input type: " + (input.$class()))};
20718
- if ($truthy(timings)) {
20719
-
20720
- timings.$record("read");
20721
- timings.$start("parse");};
20722
-
20723
- $writer = ["attributes", attrs];
20724
- $send(options, '[]=', Opal.to_a($writer));
20725
- $writer[$rb_minus($writer["length"], 1)];;
20726
- doc = (function() {if (options['$[]']("parse")['$=='](false)) {
20727
-
20728
- return $$($nesting, 'Document').$new(source, options);
20729
- } else {
20730
- return $$($nesting, 'Document').$new(source, options).$parse()
20731
- }; return nil; })();
20732
- if ($truthy(timings)) {
20733
- timings.$record("parse")};
20734
- return doc;
20735
- } catch ($err) {
20736
- if (Opal.rescue($err, [$$($nesting, 'StandardError')])) {ex = $err;
20737
- try {
20738
-
20739
-
20740
- try {
20741
-
20742
- context = "" + "asciidoctor: FAILED: " + (($truthy($a = attrs['$[]']("docfile")) ? $a : "<stdin>")) + ": Failed to load AsciiDoc document";
20743
- if ($truthy(ex['$respond_to?']("exception"))) {
20744
-
20745
- wrapped_ex = ex.$exception("" + (context) + " - " + (ex.$message()));
20746
- wrapped_ex.$set_backtrace(ex.$backtrace());
20747
- wrapped_ex.stack = ex.stack;
20748
- } else {
20749
-
20750
- wrapped_ex = ex.$class().$new(context, ex);
20751
-
20752
- $writer = [ex.$stack_trace()];
20753
- $send(wrapped_ex, 'stack_trace=', Opal.to_a($writer));
20754
- $writer[$rb_minus($writer["length"], 1)];;
20755
- };
20756
- } catch ($err) {
20757
- if (Opal.rescue($err, [$$($nesting, 'StandardError')])) {
20758
- try {
20759
- wrapped_ex = ex
20760
- } finally { Opal.pop_exception() }
20761
- } else { throw $err; }
20762
- };;
20763
- return self.$raise(wrapped_ex);
20764
- } finally { Opal.pop_exception() }
20765
- } else { throw $err; }
20766
- };
20767
- }, $load$14.$$arity = -2);
20768
-
20769
- Opal.def(self, '$load_file', $load_file$21 = function $$load_file(filename, options) {
20770
- var $$22, self = this;
20771
-
20772
-
20773
-
20774
- if (options == null) {
20775
- options = $hash2([], {});
20776
- };
20777
- return $send($$$('::', 'File'), 'open', [filename, $$($nesting, 'FILE_READ_MODE')], ($$22 = function(file){var self = $$22.$$s || this;
20778
-
20779
-
20780
-
20781
- if (file == null) {
20782
- file = nil;
20783
- };
20784
- return self.$load(file, options);}, $$22.$$s = self, $$22.$$arity = 1, $$22));
20785
- }, $load_file$21.$$arity = -2);
20786
-
20787
- Opal.def(self, '$convert', $convert$23 = function $$convert(input, options) {
20788
- var $a, $b, $c, $d, $e, self = this, to_dir = nil, mkdirs = nil, $case = nil, to_file = nil, write_to_target = nil, sibling_path = nil, stream_output = nil, $writer = nil, outdir = nil, doc = nil, outfile = nil, working_dir = nil, jail = nil, output = nil, stylesdir = nil, stylesheet = nil, copy_asciidoctor_stylesheet = nil, copy_user_stylesheet = nil, copy_syntax_hl_stylesheet = nil, syntax_hl = nil, stylesoutdir = nil, stylesheet_src = nil, stylesheet_dest = nil, stylesheet_data = nil;
20789
-
20790
-
20791
-
20792
- if (options == null) {
20793
- options = $hash2([], {});
20794
- };
20795
- (options = options.$merge()).$delete("parse");
20796
- to_dir = options.$delete("to_dir");
20797
- mkdirs = options.$delete("mkdirs");
20798
- $case = (to_file = options.$delete("to_file"));
20799
- if (true['$===']($case) || nil['$===']($case)) {
20800
- if ($truthy((write_to_target = to_dir))) {
20801
- } else if ($truthy($$$('::', 'File')['$==='](input))) {
20802
- sibling_path = $$$('::', 'File').$absolute_path(input.$path())};
20803
- to_file = nil;}
20804
- else if (false['$===']($case)) {to_file = nil}
20805
- else if ("/dev/null"['$===']($case)) {return self.$load(input, options)}
20806
- else {if ($truthy((stream_output = to_file['$respond_to?']("write")))) {
20807
- } else {
20808
-
20809
- $writer = ["to_file", (write_to_target = to_file)];
20810
- $send(options, '[]=', Opal.to_a($writer));
20811
- $writer[$rb_minus($writer["length"], 1)];
20812
- }};
20813
- if ($truthy(options['$key?']("standalone"))) {
20814
- } else if ($truthy(($truthy($a = sibling_path) ? $a : write_to_target))) {
20815
-
20816
- $writer = ["standalone", true];
20817
- $send(options, '[]=', Opal.to_a($writer));
20818
- $writer[$rb_minus($writer["length"], 1)];
20819
- } else if ($truthy(options['$key?']("header_footer"))) {
20820
-
20821
- $writer = ["standalone", options['$[]']("header_footer")];
20822
- $send(options, '[]=', Opal.to_a($writer));
20823
- $writer[$rb_minus($writer["length"], 1)];};
20824
- if ($truthy(sibling_path)) {
20825
-
20826
- $writer = ["to_dir", (outdir = $$$('::', 'File').$dirname(sibling_path))];
20827
- $send(options, '[]=', Opal.to_a($writer));
20828
- $writer[$rb_minus($writer["length"], 1)];
20829
- } else if ($truthy(write_to_target)) {
20830
- if ($truthy(to_dir)) {
20831
- if ($truthy(to_file)) {
20832
-
20833
- $writer = ["to_dir", $$$('::', 'File').$dirname($$$('::', 'File').$expand_path($$$('::', 'File').$join(to_dir, to_file)))];
20834
- $send(options, '[]=', Opal.to_a($writer));
20835
- $writer[$rb_minus($writer["length"], 1)];
20836
- } else {
20837
-
20838
- $writer = ["to_dir", $$$('::', 'File').$expand_path(to_dir)];
20839
- $send(options, '[]=', Opal.to_a($writer));
20840
- $writer[$rb_minus($writer["length"], 1)];
20841
- }
20842
- } else if ($truthy(to_file)) {
20843
-
20844
- $writer = ["to_dir", $$$('::', 'File').$dirname($$$('::', 'File').$expand_path(to_file))];
20845
- $send(options, '[]=', Opal.to_a($writer));
20846
- $writer[$rb_minus($writer["length"], 1)];}};
20847
- doc = self.$load(input, options);
20848
- if ($truthy(sibling_path)) {
20849
-
20850
- outfile = $$$('::', 'File').$join(outdir, "" + (doc.$attributes()['$[]']("docname")) + (doc.$outfilesuffix()));
20851
- if (outfile['$=='](sibling_path)) {
20852
- self.$raise($$$('::', 'IOError'), "" + "input file and output file cannot be the same: " + (outfile))};
20853
- } else if ($truthy(write_to_target)) {
20854
-
20855
- working_dir = (function() {if ($truthy(options['$key?']("base_dir"))) {
20856
-
20857
- return $$$('::', 'File').$expand_path(options['$[]']("base_dir"));
20858
- } else {
20859
- return $$$('::', 'Dir').$pwd()
20860
- }; return nil; })();
20861
- jail = (function() {if ($truthy($rb_ge(doc.$safe(), $$$($$($nesting, 'SafeMode'), 'SAFE')))) {
20862
- return working_dir
20863
- } else {
20864
- return nil
20865
- }; return nil; })();
20866
- if ($truthy(to_dir)) {
20867
-
20868
- outdir = doc.$normalize_system_path(to_dir, working_dir, jail, $hash2(["target_name", "recover"], {"target_name": "to_dir", "recover": false}));
20869
- if ($truthy(to_file)) {
20870
-
20871
- outfile = doc.$normalize_system_path(to_file, outdir, nil, $hash2(["target_name", "recover"], {"target_name": "to_dir", "recover": false}));
20872
- outdir = $$$('::', 'File').$dirname(outfile);
20873
- } else {
20874
- outfile = $$$('::', 'File').$join(outdir, "" + (doc.$attributes()['$[]']("docname")) + (doc.$outfilesuffix()))
20875
- };
20876
- } else if ($truthy(to_file)) {
20877
-
20878
- outfile = doc.$normalize_system_path(to_file, working_dir, jail, $hash2(["target_name", "recover"], {"target_name": "to_dir", "recover": false}));
20879
- outdir = $$$('::', 'File').$dirname(outfile);};
20880
- if ($truthy(($truthy($a = $$$('::', 'File')['$==='](input)) ? outfile['$==']($$$('::', 'File').$absolute_path(input.$path())) : $a))) {
20881
- self.$raise($$$('::', 'IOError'), "" + "input file and output file cannot be the same: " + (outfile))};
20882
- if ($truthy(mkdirs)) {
20883
- $$($nesting, 'Helpers').$mkdir_p(outdir)
20884
- } else if ($truthy($$$('::', 'File')['$directory?'](outdir))) {
20885
- } else {
20886
- self.$raise($$$('::', 'IOError'), "" + "target directory does not exist: " + (to_dir) + " (hint: set :mkdirs option)")
20887
- };
20888
- } else {
20889
-
20890
- outfile = to_file;
20891
- outdir = nil;
20892
- };
20893
- if ($truthy(($truthy($a = outfile) ? stream_output['$!']() : $a))) {
20894
- output = doc.$convert($hash2(["outfile", "outdir"], {"outfile": outfile, "outdir": outdir}))
20895
- } else {
20896
- output = doc.$convert()
20897
- };
20898
- if ($truthy(outfile)) {
20899
-
20900
- doc.$write(output, outfile);
20901
- if ($truthy(($truthy($a = ($truthy($b = ($truthy($c = ($truthy($d = ($truthy($e = stream_output['$!']()) ? $rb_lt(doc.$safe(), $$$($$($nesting, 'SafeMode'), 'SECURE')) : $e)) ? doc['$attr?']("linkcss") : $d)) ? doc['$attr?']("copycss") : $c)) ? doc['$basebackend?']("html") : $b)) ? ($truthy($b = (stylesdir = doc.$attr("stylesdir"))) ? $$($nesting, 'Helpers')['$uriish?'](stylesdir) : $b)['$!']() : $a))) {
20902
-
20903
- if ($truthy((stylesheet = doc.$attr("stylesheet")))) {
20904
- if ($truthy($$($nesting, 'DEFAULT_STYLESHEET_KEYS')['$include?'](stylesheet))) {
20905
- copy_asciidoctor_stylesheet = true
20906
- } else if ($truthy($$($nesting, 'Helpers')['$uriish?'](stylesheet)['$!']())) {
20907
- copy_user_stylesheet = true}};
20908
- copy_syntax_hl_stylesheet = ($truthy($a = (syntax_hl = doc.$syntax_highlighter())) ? syntax_hl['$write_stylesheet?'](doc) : $a);
20909
- if ($truthy(($truthy($a = ($truthy($b = copy_asciidoctor_stylesheet) ? $b : copy_user_stylesheet)) ? $a : copy_syntax_hl_stylesheet))) {
20910
-
20911
- stylesoutdir = doc.$normalize_system_path(stylesdir, outdir, (function() {if ($truthy($rb_ge(doc.$safe(), $$$($$($nesting, 'SafeMode'), 'SAFE')))) {
20912
- return outdir
20913
- } else {
20914
- return nil
20915
- }; return nil; })());
20916
- if ($truthy(mkdirs)) {
20917
- $$($nesting, 'Helpers').$mkdir_p(stylesoutdir)
20918
- } else if ($truthy($$$('::', 'File')['$directory?'](stylesoutdir))) {
20919
- } else {
20920
- self.$raise($$$('::', 'IOError'), "" + "target stylesheet directory does not exist: " + (stylesoutdir) + " (hint: set :mkdirs option)")
20921
- };
20922
- if ($truthy(copy_asciidoctor_stylesheet)) {
20923
- $$($nesting, 'Stylesheets').$instance().$write_primary_stylesheet(stylesoutdir)
20924
- } else if ($truthy(copy_user_stylesheet)) {
20925
-
20926
- if ($truthy((stylesheet_src = doc.$attr("copycss"))['$empty?']())) {
20927
- stylesheet_src = doc.$normalize_system_path(stylesheet)
20928
- } else {
20929
- stylesheet_src = doc.$normalize_system_path(stylesheet_src)
20930
- };
20931
- stylesheet_dest = doc.$normalize_system_path(stylesheet, stylesoutdir, (function() {if ($truthy($rb_ge(doc.$safe(), $$$($$($nesting, 'SafeMode'), 'SAFE')))) {
20932
- return outdir
20933
- } else {
20934
- return nil
20935
- }; return nil; })());
20936
- if ($truthy(($truthy($a = stylesheet_src['$!='](stylesheet_dest)) ? (stylesheet_data = doc.$read_asset(stylesheet_src, $hash2(["warn_on_failure", "label"], {"warn_on_failure": $$$('::', 'File')['$file?'](stylesheet_dest)['$!'](), "label": "stylesheet"}))) : $a))) {
20937
- $$$('::', 'File').$write(stylesheet_dest, stylesheet_data, $hash2(["mode"], {"mode": $$($nesting, 'FILE_WRITE_MODE')}))};};
20938
- if ($truthy(copy_syntax_hl_stylesheet)) {
20939
- syntax_hl.$write_stylesheet(doc, stylesoutdir)};};};
20940
- return doc;
20941
- } else {
20942
- return output
20943
- };
20944
- }, $convert$23.$$arity = -2);
20945
- Opal.alias(self, "render", "convert");
20946
-
20947
- Opal.def(self, '$convert_file', $convert_file$24 = function $$convert_file(filename, options) {
20948
- var $$25, self = this;
20949
-
20950
-
20951
-
20952
- if (options == null) {
20953
- options = $hash2([], {});
20954
- };
20955
- return $send($$$('::', 'File'), 'open', [filename, $$($nesting, 'FILE_READ_MODE')], ($$25 = function(file){var self = $$25.$$s || this;
20956
-
20957
-
20958
-
20959
- if (file == null) {
20960
- file = nil;
20961
- };
20962
- return self.$convert(file, options);}, $$25.$$s = self, $$25.$$arity = 1, $$25));
20963
- }, $convert_file$24.$$arity = -2);
20964
- Opal.alias(self, "render_file", "convert_file");
20965
- if ($$($nesting, 'RUBY_ENGINE')['$==']("opal")) {
20966
- return nil
20967
- } else {
20968
- return nil
20969
- };
20970
- })(Opal.get_singleton_class(self), $nesting);
21103
+ if ($$($nesting, 'RUBY_ENGINE')['$==']("opal")) {
21104
+ } else {
21105
+ nil
21106
+ };
20971
21107
  if ($$($nesting, 'RUBY_ENGINE')['$==']("opal")) {
20972
21108
  } else {
20973
21109
  nil
@@ -20976,6 +21112,7 @@ Opal.modules["asciidoctor/js/postscript"] = function(Opal) {
20976
21112
  self.$require("asciidoctor.rb"+ '/../' + "asciidoctor/core_ext");
20977
21113
  self.$require("asciidoctor.rb"+ '/../' + "asciidoctor/helpers");
20978
21114
  self.$require("asciidoctor.rb"+ '/../' + "asciidoctor/logging");
21115
+ self.$require("asciidoctor.rb"+ '/../' + "asciidoctor/rx");
20979
21116
  self.$require("asciidoctor.rb"+ '/../' + "asciidoctor/substitutors");
20980
21117
  self.$require("asciidoctor.rb"+ '/../' + "asciidoctor/version");
20981
21118
  self.$require("asciidoctor.rb"+ '/../' + "asciidoctor/abstract_node");
@@ -20994,6 +21131,8 @@ Opal.modules["asciidoctor/js/postscript"] = function(Opal) {
20994
21131
  self.$require("asciidoctor.rb"+ '/../' + "asciidoctor/stylesheets");
20995
21132
  self.$require("asciidoctor.rb"+ '/../' + "asciidoctor/table");
20996
21133
  self.$require("asciidoctor.rb"+ '/../' + "asciidoctor/writer");
21134
+ self.$require("asciidoctor.rb"+ '/../' + "asciidoctor/load");
21135
+ self.$require("asciidoctor.rb"+ '/../' + "asciidoctor/convert");
20997
21136
  if ($$($nesting, 'RUBY_ENGINE')['$==']("opal")) {
20998
21137
 
20999
21138
  self.$require("asciidoctor.rb"+ '/../' + "asciidoctor/syntax_highlighter");
@@ -21028,6 +21167,15 @@ var fromHash = function (hash) {
21028
21167
  return object
21029
21168
  }
21030
21169
 
21170
+ var fromHashKeys = function (hash) {
21171
+ var object = {}
21172
+ var data = hash.$$keys
21173
+ for (var key in data) {
21174
+ object[key.toString()] = data[key].value
21175
+ }
21176
+ return object
21177
+ }
21178
+
21031
21179
  /**
21032
21180
  * @private
21033
21181
  */
@@ -21080,6 +21228,12 @@ function initializeClass (superClass, className, functions, defaultFunctions, ar
21080
21228
  if (typeof constructorFunction === 'function') {
21081
21229
  initialize = function () {
21082
21230
  var args = Array.from(arguments)
21231
+ for (var i = 0; i < args.length; i++) {
21232
+ // convert all (Opal) Hash arguments to JSON.
21233
+ if (typeof args[i] === 'object' && '$$smap' in args[i]) {
21234
+ args[i] = fromHash(args[i])
21235
+ }
21236
+ }
21083
21237
  args.unshift(null)
21084
21238
  var result = new (Function.prototype.bind.apply(constructorFunction, args)) // eslint-disable-line
21085
21239
  Object.assign(this, result)
@@ -21089,7 +21243,14 @@ function initializeClass (superClass, className, functions, defaultFunctions, ar
21089
21243
  }
21090
21244
  } else if (typeof initializeFunction === 'function') {
21091
21245
  initialize = function () {
21092
- initializeFunction.apply(this, arguments)
21246
+ var args = Array.from(arguments)
21247
+ for (var i = 0; i < args.length; i++) {
21248
+ // convert all (Opal) Hash arguments to JSON.
21249
+ if (typeof args[i] === 'object' && '$$smap' in args[i]) {
21250
+ args[i] = fromHash(args[i])
21251
+ }
21252
+ }
21253
+ initializeFunction.apply(this, args)
21093
21254
  if (typeof postConstructFunction === 'function') {
21094
21255
  postConstructFunction.bind(this)()
21095
21256
  }
@@ -23092,7 +23253,7 @@ var Logger = Opal.const_get_qualified(Opal.Asciidoctor, 'Logger', true)
23092
23253
  Opal.Asciidoctor.Logger = Logger
23093
23254
 
23094
23255
  Logger.prototype.getMaxSeverity = function () {
23095
- const result = this.max_severity
23256
+ var result = this.max_severity
23096
23257
  return result === Opal.nil ? undefined : result
23097
23258
  }
23098
23259
  Logger.prototype.getFormatter = function () {
@@ -23254,11 +23415,51 @@ SyntaxHighlighter.register = function (names, functions) {
23254
23415
  var prototype = classObject.prototype
23255
23416
  var properties = Object.getOwnPropertyNames(prototype)
23256
23417
  functions = {}
23257
- for (var propertyName of properties) {
23418
+ for (var propertyIdx in properties) {
23419
+ var propertyName = properties[propertyIdx]
23258
23420
  functions[propertyName] = prototype[propertyName]
23259
23421
  }
23260
23422
  }
23261
- const scope = initializeClass(SyntaxHighlighterBase, name, functions)
23423
+ var scope = initializeClass(SyntaxHighlighterBase, name, functions, {}, {
23424
+ 'format': function (args) {
23425
+ if (args.length >= 2 && typeof args[2] === 'object' && '$$smap' in args[2]) {
23426
+ args[2] = fromHash(args[2])
23427
+ }
23428
+ if (args.length >= 1) {
23429
+ args[1] = args[1] === Opal.nil ? undefined : args[1]
23430
+ }
23431
+ return args
23432
+ },
23433
+ 'highlight': function (args) {
23434
+ if (args.length >= 3 && typeof args[3] === 'object' && '$$smap' in args[3]) {
23435
+ var opts = args[3]
23436
+ opts = fromHash(opts)
23437
+ for (var key in opts) {
23438
+ var value = opts[key]
23439
+ if (key === 'callouts') {
23440
+ var callouts = fromHashKeys(value)
23441
+ for (var idx in callouts) {
23442
+ var callout = callouts[idx]
23443
+ for (var i = 0; i < callout.length; i++) {
23444
+ var items = callout[i]
23445
+ for (var j = 0; j < items.length; j++) {
23446
+ items[j] = items[j] === Opal.nil ? undefined : items[j]
23447
+ }
23448
+ }
23449
+ }
23450
+ opts[key] = callouts
23451
+ } else {
23452
+ opts[key] = value === Opal.nil ? undefined : value
23453
+ }
23454
+ }
23455
+ args[3] = opts
23456
+ }
23457
+ if (args.length >= 2) {
23458
+ args[2] = args[2] === Opal.nil ? undefined : args[2]
23459
+ }
23460
+ return args
23461
+ }
23462
+ })
23262
23463
  for (var functionName in functions) {
23263
23464
  if (functions.hasOwnProperty(functionName)) {
23264
23465
  (function (functionName) {
@@ -23968,6 +24169,12 @@ InlineMacroProcessor.prototype.getName = function () {
23968
24169
  InlineMacroProcessor.prototype.parseContentAs = function (value) {
23969
24170
  this.$parse_content_as(value)
23970
24171
  }
24172
+ /**
24173
+ * @memberof Extensions/InlineMacroProcessor
24174
+ */
24175
+ InlineMacroProcessor.prototype.matchFormat = function (value) {
24176
+ this.$match_format(value)
24177
+ }
23971
24178
 
23972
24179
  /**
23973
24180
  * @namespace
@@ -24392,7 +24599,7 @@ Html5Converter.prototype.convert = function (node, transform, opts) {
24392
24599
  }
24393
24600
 
24394
24601
 
24395
- var ASCIIDOCTOR_JS_VERSION = '2.0.0-rc.3';
24602
+ var ASCIIDOCTOR_JS_VERSION = '2.0.3';
24396
24603
 
24397
24604
  /**
24398
24605
  * Get Asciidoctor.js version number.