asciidoctor 2.0.3 → 2.0.4
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.
- checksums.yaml +4 -4
- data/CHANGELOG.adoc +10 -0
- data/README-de.adoc +2 -2
- data/README-fr.adoc +2 -2
- data/README-jp.adoc +2 -2
- data/README-zh_CN.adoc +2 -2
- data/README.adoc +27 -21
- data/lib/asciidoctor.rb +2 -2
- data/lib/asciidoctor/abstract_block.rb +4 -2
- data/lib/asciidoctor/converter.rb +37 -28
- data/lib/asciidoctor/core_ext/float/truncate.rb +2 -1
- data/lib/asciidoctor/core_ext/hash/merge.rb +2 -1
- data/lib/asciidoctor/document.rb +2 -2
- data/lib/asciidoctor/inline.rb +1 -1
- data/lib/asciidoctor/list.rb +1 -1
- data/lib/asciidoctor/logging.rb +1 -1
- data/lib/asciidoctor/version.rb +1 -1
- data/man/asciidoctor.1 +4 -4
- data/man/asciidoctor.adoc +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 24d8917dc8dad4c33e7cf89ec9956e44970aa150f1ab706cbd53e7df36f1097c
|
|
4
|
+
data.tar.gz: 00d23a0e1534f5c51314ab890be5e4f4cacd07613220cdcc3f6c7f797cd40a67
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b60f7bb9ce11278b39b6a7c6839c0a350220946a458eb10b7563b61270413ec84ae5480c71e008d39e746c1a5703e6e9a4a3c02592a71c12883c765c20d5c0fd
|
|
7
|
+
data.tar.gz: 2510ab8398502b191c8f5be983350b517d35e3ec9245cb2e407d3ef4c95d5b1965c91073264fc316db59b6b874a7c4f4a8402ee4cd0c7ac1591afd54f6de68e1
|
data/CHANGELOG.adoc
CHANGED
|
@@ -13,6 +13,16 @@ endif::[]
|
|
|
13
13
|
This document provides a high-level view of the changes introduced in Asciidoctor by release.
|
|
14
14
|
For a detailed view of what has changed, refer to the {uri-repo}/commits/master[commit history] on GitHub.
|
|
15
15
|
|
|
16
|
+
== 2.0.4 (2019-03-31) - @mojavelinux
|
|
17
|
+
|
|
18
|
+
Bug Fixes::
|
|
19
|
+
|
|
20
|
+
* allow Asciidoctor to load cleanly on Ruby 2.0 - 2.2 for distributions that provide support for these older Ruby versions
|
|
21
|
+
* make Asciidoctor::Converter::Config.register_for method public as documented
|
|
22
|
+
* remove unused Asciidoctor::Converter::BackendTraits#derive_backend_traits private method
|
|
23
|
+
* move Asciidoctor::Converter::BackendTraits.derive_backend_traits method to Asciidoctor::Converter
|
|
24
|
+
* mark render and render_file methods as deprecated in API docs
|
|
25
|
+
|
|
16
26
|
== 2.0.3 (2019-03-28) - @mojavelinux
|
|
17
27
|
|
|
18
28
|
Bug Fixes::
|
data/README-de.adoc
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
= Asciidoctor
|
|
2
2
|
Dan Allen <https://github.com/mojavelinux[@mojavelinux]>; Sarah White <https://github.com/graphitefriction[@graphitefriction]>; Ryan Waldron <https://github.com/erebor[@erebor]>
|
|
3
|
-
v2.0.
|
|
3
|
+
v2.0.4, 2019-03-31
|
|
4
4
|
// settings:
|
|
5
5
|
:idprefix:
|
|
6
6
|
:idseparator: -
|
|
@@ -17,7 +17,7 @@ ifdef::env-github[]
|
|
|
17
17
|
:warning-caption: :warning:
|
|
18
18
|
endif::[]
|
|
19
19
|
// Variables:
|
|
20
|
-
:release-version: 2.0.
|
|
20
|
+
:release-version: 2.0.4
|
|
21
21
|
// URIs:
|
|
22
22
|
:uri-org: https://github.com/asciidoctor
|
|
23
23
|
:uri-repo: {uri-org}/asciidoctor
|
data/README-fr.adoc
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
= Asciidoctor
|
|
2
2
|
Dan Allen <https://github.com/mojavelinux[@mojavelinux]>; Sarah White <https://github.com/graphitefriction[@graphitefriction]>; Ryan Waldron <https://github.com/erebor[@erebor]>
|
|
3
|
-
v2.0.
|
|
3
|
+
v2.0.4, 2019-03-31
|
|
4
4
|
// settings:
|
|
5
5
|
:idprefix:
|
|
6
6
|
:idseparator: -
|
|
@@ -17,7 +17,7 @@ ifdef::env-github[]
|
|
|
17
17
|
:warning-caption: :warning:
|
|
18
18
|
endif::[]
|
|
19
19
|
// Variables:
|
|
20
|
-
:release-version: 2.0.
|
|
20
|
+
:release-version: 2.0.4
|
|
21
21
|
// URIs:
|
|
22
22
|
:uri-org: https://github.com/asciidoctor
|
|
23
23
|
:uri-repo: {uri-org}/asciidoctor
|
data/README-jp.adoc
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
= Asciidoctor
|
|
2
2
|
Dan Allen <https://github.com/mojavelinux[@mojavelinux]>; Sarah White <https://github.com/graphitefriction[@graphitefriction]>; Ryan Waldron <https://github.com/erebor[@erebor]>
|
|
3
|
-
v2.0.
|
|
3
|
+
v2.0.4, 2019-03-31
|
|
4
4
|
// settings:
|
|
5
5
|
:page-layout: base
|
|
6
6
|
:idprefix:
|
|
@@ -18,7 +18,7 @@ ifdef::env-github[]
|
|
|
18
18
|
:warning-caption: :warning:
|
|
19
19
|
endif::[]
|
|
20
20
|
// Variables:
|
|
21
|
-
:release-version: 2.0.
|
|
21
|
+
:release-version: 2.0.4
|
|
22
22
|
// URIs:
|
|
23
23
|
:uri-org: https://github.com/asciidoctor
|
|
24
24
|
:uri-repo: {uri-org}/asciidoctor
|
data/README-zh_CN.adoc
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
= Asciidoctor
|
|
2
2
|
Dan Allen <https://github.com/mojavelinux[@mojavelinux]>; Sarah White <https://github.com/graphitefriction[@graphitefriction]>; Ryan Waldron <https://github.com/erebor[@erebor]>
|
|
3
|
-
v2.0.
|
|
3
|
+
v2.0.4, 2019-03-31
|
|
4
4
|
// settings:
|
|
5
5
|
:page-layout: base
|
|
6
6
|
:idprefix:
|
|
@@ -18,7 +18,7 @@ ifdef::env-github[]
|
|
|
18
18
|
:warning-caption: :warning:
|
|
19
19
|
endif::[]
|
|
20
20
|
// Variables:
|
|
21
|
-
:release-version: 2.0.
|
|
21
|
+
:release-version: 2.0.4
|
|
22
22
|
// URIs:
|
|
23
23
|
:uri-org: https://github.com/asciidoctor
|
|
24
24
|
:uri-repo: {uri-org}/asciidoctor
|
data/README.adoc
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
= Asciidoctor
|
|
2
2
|
Dan Allen <https://github.com/mojavelinux[@mojavelinux]>; Sarah White <https://github.com/graphitefriction[@graphitefriction]>; Ryan Waldron <https://github.com/erebor[@erebor]>
|
|
3
|
-
v2.0.
|
|
3
|
+
v2.0.4, 2019-03-31
|
|
4
4
|
// settings:
|
|
5
5
|
:idprefix:
|
|
6
6
|
:idseparator: -
|
|
@@ -17,7 +17,7 @@ ifdef::env-github[]
|
|
|
17
17
|
:warning-caption: :warning:
|
|
18
18
|
endif::[]
|
|
19
19
|
// Variables:
|
|
20
|
-
:release-version: 2.0.
|
|
20
|
+
:release-version: 2.0.4
|
|
21
21
|
// URIs:
|
|
22
22
|
:uri-org: https://github.com/asciidoctor
|
|
23
23
|
:uri-repo: {uri-org}/asciidoctor
|
|
@@ -35,7 +35,7 @@ ifdef::env-site[:uri-project: link:]
|
|
|
35
35
|
:uri-contributors: {uri-repo}/graphs/contributors
|
|
36
36
|
:uri-rel-file-base: link:
|
|
37
37
|
:uri-rel-tree-base: link:
|
|
38
|
-
ifdef::env-site[]
|
|
38
|
+
ifdef::env-site,env-yard[]
|
|
39
39
|
:uri-rel-file-base: {uri-repo}/blob/master/
|
|
40
40
|
:uri-rel-tree-base: {uri-repo}/tree/master/
|
|
41
41
|
endif::[]
|
|
@@ -51,7 +51,7 @@ endif::[]
|
|
|
51
51
|
:uri-install-docker: https://github.com/asciidoctor/docker-asciidoctor
|
|
52
52
|
//:uri-install-doc: {uri-docs}/install-toolchain
|
|
53
53
|
:uri-install-macos-doc: {uri-docs}/install-asciidoctor-macos
|
|
54
|
-
:uri-
|
|
54
|
+
:uri-convert-doc: {uri-docs}/convert-documents
|
|
55
55
|
:uri-themes-doc: {uri-docs}/produce-custom-themes-using-asciidoctor-stylesheet-factory
|
|
56
56
|
:uri-gitscm-repo: https://github.com/git/git-scm.com
|
|
57
57
|
:uri-prototype: {uri-gitscm-repo}/commits/master/lib/asciidoc.rb
|
|
@@ -64,12 +64,14 @@ endif::[]
|
|
|
64
64
|
:image-uri-screenshot: https://raw.githubusercontent.com/asciidoctor/asciidoctor/master/screenshot.png
|
|
65
65
|
|
|
66
66
|
{uri-project}[Asciidoctor] is a _fast_, {uri-license}[open source] text processor and publishing toolchain for converting {uri-what-is-asciidoc}[AsciiDoc] content to HTML5, DocBook, PDF, and other formats.
|
|
67
|
-
Asciidoctor is written in Ruby and runs on all major
|
|
68
|
-
To simplify installation, Asciidoctor is packaged and distributed as a gem to {uri-rubygem}[RubyGems.org] and is packaged for popular Linux distributions and macOS.
|
|
69
|
-
Asciidoctor can also be run in a JVM using {uri-asciidoctorj}[AsciidoctorJ] or in any JavaScript environment using {uri-asciidoctorjs}[Asciidoctor.js].
|
|
67
|
+
Asciidoctor is written in Ruby and runs on all major operating systems.
|
|
70
68
|
The Asciidoctor project is {uri-repo}[hosted on GitHub].
|
|
71
69
|
|
|
72
|
-
|
|
70
|
+
To simplify installation, Asciidoctor is packaged and distributed as a RubyGem (aka gem) to {uri-rubygem}[RubyGems.org].
|
|
71
|
+
It's also distributed as a package for popular Linux distributions and macOS.
|
|
72
|
+
In addition to running on Ruby, Asciidoctor can be executed on a JVM using {uri-asciidoctorj}[AsciidoctorJ] or in any JavaScript environment (including the browser) using {uri-asciidoctorjs}[Asciidoctor.js].
|
|
73
|
+
|
|
74
|
+
ifndef::env-site,env-yard[]
|
|
73
75
|
This document is also available in the following languages: +
|
|
74
76
|
{uri-rel-file-base}README-zh_CN.adoc[汉语]
|
|
75
77
|
|
|
|
@@ -88,23 +90,27 @@ endif::[]
|
|
|
88
90
|
* {uri-docs}/asciidoc-syntax-quick-reference[AsciiDoc Syntax Reference]
|
|
89
91
|
|
|
90
92
|
ifdef::status[]
|
|
91
|
-
|
|
92
|
-
image:https://img.shields.io/travis/asciidoctor/asciidoctor/master.svg[Build Status (Travis CI),
|
|
93
|
-
image:https://ci.appveyor.com/api/projects/status/ifplu67oxvgn6ceq/branch/master?svg=true&passingText=green%20bar&failingText=%23fail&pendingText=building%2E%2E%2E[Build Status (AppVeyor),
|
|
94
|
-
//image:https://img.shields.io/coveralls/asciidoctor/asciidoctor/master.svg[Coverage Status,
|
|
95
|
-
//image:https://codeclimate.com/github/asciidoctor/asciidoctor/badges/gpa.svg[Code Climate,
|
|
96
|
-
image:https://inch-ci.org/github/asciidoctor/asciidoctor.svg?branch=master[Inline docs,
|
|
93
|
+
//.*Project health*
|
|
94
|
+
image:https://img.shields.io/travis/asciidoctor/asciidoctor/master.svg[Build Status (Travis CI),link=https://travis-ci.org/asciidoctor/asciidoctor]
|
|
95
|
+
image:https://ci.appveyor.com/api/projects/status/ifplu67oxvgn6ceq/branch/master?svg=true&passingText=green%20bar&failingText=%23fail&pendingText=building%2E%2E%2E[Build Status (AppVeyor),link=https://ci.appveyor.com/project/asciidoctor/asciidoctor]
|
|
96
|
+
//image:https://img.shields.io/coveralls/asciidoctor/asciidoctor/master.svg[Coverage Status,link=https://coveralls.io/r/asciidoctor/asciidoctor]
|
|
97
|
+
//image:https://codeclimate.com/github/asciidoctor/asciidoctor/badges/gpa.svg[Code Climate,link=https://codeclimate.com/github/asciidoctor/asciidoctor]
|
|
98
|
+
image:https://inch-ci.org/github/asciidoctor/asciidoctor.svg?branch=master[Inline docs,link=https://inch-ci.org/github/asciidoctor/asciidoctor]
|
|
99
|
+
image:https://img.shields.io/badge/rubydoc.info-{release-version}-blue.svg[library (API) docs,link=https://www.rubydoc.info/gems/asciidoctor/{release-version}]
|
|
97
100
|
endif::[]
|
|
98
101
|
|
|
99
102
|
== Sponsors
|
|
100
103
|
|
|
101
|
-
We want to recognize our
|
|
102
|
-
Thank you sponsors
|
|
104
|
+
We want to recognize our {uri-project}/supporters[sponsors] for their commitment to improving the state of technical documentation by supporting this project.
|
|
105
|
+
Thank you sponsors!
|
|
106
|
+
Without your generous support, Asciidoctor would not be possible.
|
|
103
107
|
|
|
108
|
+
ifndef::env-site,env-yard[]
|
|
104
109
|
Major funding for Asciidoctor is provided by our *Change Maker*, https://opendevise.com[OpenDevise], our *Strategy Sponsors*, https://www.khronos.org/[Khronos Group] and Linda Roberts, and our *Pull Request Backers*, Brian Dominick, Guillaume Grossetie, and Abel Salgado Romero.
|
|
105
|
-
Additional funding is provided by our
|
|
110
|
+
Additional funding is provided by the supporters listed on our {uri-project}/supporters[Community Backers] page.
|
|
111
|
+
endif::[]
|
|
106
112
|
|
|
107
|
-
You can support this project by becoming a sponsor
|
|
113
|
+
You can support this project by becoming a sponsor through https://opencollective.com/asciidoctor[OpenCollective].
|
|
108
114
|
|
|
109
115
|
== The Big Picture
|
|
110
116
|
|
|
@@ -118,8 +124,8 @@ image::{image-uri-screenshot}[Preview of AsciiDoc source and corresponding rende
|
|
|
118
124
|
Asciidoctor reads and parses text written in the AsciiDoc syntax, then feeds the parse tree to a set of built-in converters to produce HTML5, DocBook 5, and man(ual) page output.
|
|
119
125
|
You have the option of using your own converter or loading {uri-tilt}[Tilt]-supported templates to customize the generated output or produce additional formats.
|
|
120
126
|
|
|
121
|
-
Asciidoctor is a drop-in replacement for
|
|
122
|
-
The Asciidoctor test suite has {uri-tests}[> 2,
|
|
127
|
+
Asciidoctor is a drop-in replacement for its predecessor, AsciiDoc Python (`asciidoc.py`).
|
|
128
|
+
The Asciidoctor test suite has {uri-tests}[> 2,350 tests] to ensure compatibility with the AsciiDoc syntax.
|
|
123
129
|
|
|
124
130
|
In addition to the classic AsciiDoc syntax, Asciidoctor recognizes additional markup and formatting options, such as font-based icons (e.g., `+icon:fire[]+`) and UI elements (e.g., `+button:[Save]+`).
|
|
125
131
|
Asciidoctor also offers a modern, responsive theme based on {uri-foundation}[Foundation] to style the HTML5 output.
|
|
@@ -352,7 +358,7 @@ The `asciidoctor` {uri-manpage}[man page] provides a complete reference of the c
|
|
|
352
358
|
|
|
353
359
|
Refer to the following resources to learn more about how to use the `asciidoctor` command.
|
|
354
360
|
|
|
355
|
-
* {uri-
|
|
361
|
+
* {uri-convert-doc}[How do I convert a document?]
|
|
356
362
|
* {uri-themes-doc}[How do I use the Asciidoctor stylesheet factory to produce custom themes?]
|
|
357
363
|
|
|
358
364
|
=== Ruby API
|
data/lib/asciidoctor.rb
CHANGED
|
@@ -1502,7 +1502,7 @@ module Asciidoctor
|
|
|
1502
1502
|
end
|
|
1503
1503
|
end
|
|
1504
1504
|
|
|
1505
|
-
#
|
|
1505
|
+
# Deprecated: Use {Asciidoctor.convert} instead.
|
|
1506
1506
|
alias render convert
|
|
1507
1507
|
|
|
1508
1508
|
# Public: Parse the contents of the AsciiDoc source file into an
|
|
@@ -1519,7 +1519,7 @@ module Asciidoctor
|
|
|
1519
1519
|
::File.open(filename, FILE_READ_MODE) {|file| self.convert file, options }
|
|
1520
1520
|
end
|
|
1521
1521
|
|
|
1522
|
-
#
|
|
1522
|
+
# Deprecated: Use {Asciidoctor.convert_file} instead.
|
|
1523
1523
|
alias render_file convert_file
|
|
1524
1524
|
|
|
1525
1525
|
# Internal: Automatically load the Asciidoctor::Extensions module.
|
|
@@ -74,7 +74,7 @@ class AbstractBlock < AbstractNode
|
|
|
74
74
|
converter.convert self
|
|
75
75
|
end
|
|
76
76
|
|
|
77
|
-
#
|
|
77
|
+
# Deprecated: Use {AbstractBlock#convert} instead.
|
|
78
78
|
alias render convert
|
|
79
79
|
|
|
80
80
|
# Public: Get the converted result of the child blocks by converting the
|
|
@@ -432,8 +432,10 @@ class AbstractBlock < AbstractNode
|
|
|
432
432
|
end
|
|
433
433
|
end
|
|
434
434
|
|
|
435
|
+
protected
|
|
436
|
+
|
|
435
437
|
# Internal: Performs the work for find_by, but does not handle the StopIteration exception.
|
|
436
|
-
|
|
438
|
+
def find_by_internal selector = {}, result = [], &block
|
|
437
439
|
if ((any_context = (context_selector = selector[:context]) ? nil : true) || context_selector == @context) &&
|
|
438
440
|
(!(style_selector = selector[:style]) || style_selector == @style) &&
|
|
439
441
|
(!(role_selector = selector[:role]) || (has_role? role_selector)) &&
|
|
@@ -3,15 +3,14 @@ module Asciidoctor
|
|
|
3
3
|
# A module for defining converters that are used to convert {AbstractNode} objects in a parsed AsciiDoc document to an
|
|
4
4
|
# output (aka backend) format such as HTML or DocBook.
|
|
5
5
|
#
|
|
6
|
-
#
|
|
6
|
+
# A {Converter} is typically instantiated each time an AsciiDoc document is processed (i.e., parsed and converted).
|
|
7
|
+
# Implementing a custom converter entails:
|
|
7
8
|
#
|
|
8
9
|
# * Including the {Converter} module in a converter class and implementing the {Converter#convert} method or extending
|
|
9
10
|
# the {Converter::Base Base} class and implementing the dispatch methods that map to each node.
|
|
10
11
|
# * Optionally registering the converter with one or more backend names statically using the +register_for+ DSL method
|
|
11
12
|
# contributed by the {Converter::Config Config} module.
|
|
12
13
|
#
|
|
13
|
-
# {Converter} instances are typically instantiated for each instance of a parsed AsciiDoc document.
|
|
14
|
-
#
|
|
15
14
|
# Examples
|
|
16
15
|
#
|
|
17
16
|
# class TextConverter
|
|
@@ -32,7 +31,7 @@ module Asciidoctor
|
|
|
32
31
|
# end
|
|
33
32
|
# end
|
|
34
33
|
# end
|
|
35
|
-
# puts Asciidoctor.convert_file 'sample.adoc', backend: :text
|
|
34
|
+
# puts Asciidoctor.convert_file 'sample.adoc', backend: :text, safe: :safe
|
|
36
35
|
#
|
|
37
36
|
# class Html5Converter < (Asciidoctor::Converter.for 'html5')
|
|
38
37
|
# register_for 'html5'
|
|
@@ -40,7 +39,7 @@ module Asciidoctor
|
|
|
40
39
|
# %(<p>#{node.content}</p>)
|
|
41
40
|
# end
|
|
42
41
|
# end
|
|
43
|
-
# puts Asciidoctor.convert_file 'sample.adoc'
|
|
42
|
+
# puts Asciidoctor.convert_file 'sample.adoc', safe: :safe
|
|
44
43
|
module Converter
|
|
45
44
|
autoload :CompositeConverter, %(#{__dir__}/converter/composite)
|
|
46
45
|
autoload :TemplateConverter, %(#{__dir__}/converter/template)
|
|
@@ -83,6 +82,23 @@ module Converter
|
|
|
83
82
|
true
|
|
84
83
|
end
|
|
85
84
|
|
|
85
|
+
# Public: Derive backend traits (basebackend, filetype, outfilesuffix, htmlsyntax) from the given backend.
|
|
86
|
+
#
|
|
87
|
+
# backend - the String backend from which to derive the traits
|
|
88
|
+
#
|
|
89
|
+
# Returns the backend traits for the given backend as a [Hash].
|
|
90
|
+
def self.derive_backend_traits backend
|
|
91
|
+
return {} unless backend
|
|
92
|
+
if (t_outfilesuffix = DEFAULT_EXTENSIONS[(t_basebackend = backend.sub TrailingDigitsRx, '')])
|
|
93
|
+
t_filetype = t_outfilesuffix.slice 1, t_outfilesuffix.length
|
|
94
|
+
else
|
|
95
|
+
t_outfilesuffix = %(.#{t_filetype = t_basebackend})
|
|
96
|
+
end
|
|
97
|
+
t_filetype == 'html' ?
|
|
98
|
+
{ basebackend: t_basebackend, filetype: t_filetype, htmlsyntax: 'html', outfilesuffix: t_outfilesuffix } :
|
|
99
|
+
{ basebackend: t_basebackend, filetype: t_filetype, outfilesuffix: t_outfilesuffix }
|
|
100
|
+
end
|
|
101
|
+
|
|
86
102
|
module BackendTraits
|
|
87
103
|
def basebackend value = nil
|
|
88
104
|
value ? (backend_traits[:basebackend] = value) : backend_traits[:basebackend]
|
|
@@ -113,25 +129,14 @@ module Converter
|
|
|
113
129
|
end
|
|
114
130
|
|
|
115
131
|
def backend_traits
|
|
116
|
-
@backend_traits ||= derive_backend_traits
|
|
132
|
+
@backend_traits ||= Converter.derive_backend_traits @backend
|
|
117
133
|
end
|
|
118
134
|
|
|
119
135
|
alias backend_info backend_traits
|
|
120
136
|
|
|
121
|
-
|
|
122
|
-
BackendTraits.derive_backend_traits @backend
|
|
123
|
-
end
|
|
124
|
-
|
|
137
|
+
# Deprecated: Use {Converter.derive_backend_traits} instead.
|
|
125
138
|
def self.derive_backend_traits backend
|
|
126
|
-
|
|
127
|
-
if (t_outfilesuffix = DEFAULT_EXTENSIONS[(t_basebackend = backend.sub TrailingDigitsRx, '')])
|
|
128
|
-
t_filetype = t_outfilesuffix.slice 1, t_outfilesuffix.length
|
|
129
|
-
else
|
|
130
|
-
t_outfilesuffix = %(.#{t_filetype = t_basebackend})
|
|
131
|
-
end
|
|
132
|
-
t_filetype == 'html' ?
|
|
133
|
-
{ basebackend: t_basebackend, filetype: t_filetype, htmlsyntax: 'html', outfilesuffix: t_outfilesuffix } :
|
|
134
|
-
{ basebackend: t_basebackend, filetype: t_filetype, outfilesuffix: t_outfilesuffix }
|
|
139
|
+
Converter.derive_backend_traits backend
|
|
135
140
|
end
|
|
136
141
|
end
|
|
137
142
|
|
|
@@ -142,7 +147,7 @@ module Converter
|
|
|
142
147
|
# backends - One or more String backend names with which to associate this {Converter} class.
|
|
143
148
|
#
|
|
144
149
|
# Returns nothing.
|
|
145
|
-
|
|
150
|
+
def register_for *backends
|
|
146
151
|
Converter.register self, *backends
|
|
147
152
|
end
|
|
148
153
|
end
|
|
@@ -241,7 +246,9 @@ module Converter
|
|
|
241
246
|
registry.merge
|
|
242
247
|
end
|
|
243
248
|
|
|
244
|
-
private
|
|
249
|
+
private
|
|
250
|
+
|
|
251
|
+
def registry
|
|
245
252
|
raise ::NotImplementedError, %(#{Factory} subclass #{self.class} must implement the ##{__method__} method)
|
|
246
253
|
end
|
|
247
254
|
end
|
|
@@ -252,10 +259,10 @@ module Converter
|
|
|
252
259
|
def initialize seed_registry = nil
|
|
253
260
|
if seed_registry
|
|
254
261
|
seed_registry.default = seed_registry.delete '*'
|
|
262
|
+
@registry = seed_registry
|
|
255
263
|
else
|
|
256
|
-
|
|
264
|
+
@registry = {}
|
|
257
265
|
end
|
|
258
|
-
@registry = seed_registry
|
|
259
266
|
end
|
|
260
267
|
|
|
261
268
|
# Public: Unregister all Converter classes that are registered with this factory. Intended for testing only.
|
|
@@ -306,11 +313,11 @@ module Converter
|
|
|
306
313
|
|
|
307
314
|
def for backend
|
|
308
315
|
@@registry.fetch backend do
|
|
309
|
-
PROVIDED[backend] ? @@mutex.synchronize do
|
|
316
|
+
PROVIDED[backend] ? (@@mutex.synchronize do
|
|
310
317
|
# require is thread-safe, so no reason to refetch
|
|
311
318
|
require PROVIDED[backend]
|
|
312
319
|
@@registry[backend]
|
|
313
|
-
end : catch_all
|
|
320
|
+
end) : catch_all
|
|
314
321
|
end
|
|
315
322
|
end
|
|
316
323
|
|
|
@@ -344,7 +351,9 @@ module Converter
|
|
|
344
351
|
@registry.fetch(backend) { super }
|
|
345
352
|
end
|
|
346
353
|
|
|
347
|
-
private
|
|
354
|
+
private
|
|
355
|
+
|
|
356
|
+
def catch_all
|
|
348
357
|
@registry.default || super
|
|
349
358
|
end
|
|
350
359
|
end
|
|
@@ -357,9 +366,9 @@ module Converter
|
|
|
357
366
|
#
|
|
358
367
|
# Returns nothing.
|
|
359
368
|
private_class_method def self.included into
|
|
360
|
-
into.include BackendTraits
|
|
369
|
+
into.send :include, BackendTraits
|
|
361
370
|
into.extend Config
|
|
362
|
-
end
|
|
371
|
+
end || :included
|
|
363
372
|
|
|
364
373
|
# An abstract base class for defining converters that can be used to convert {AbstractNode} objects in a parsed
|
|
365
374
|
# AsciiDoc document to a backend format such as HTML or DocBook.
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
# NOTE remove once minimum required Ruby version is at least 2.4
|
|
3
|
-
|
|
3
|
+
# NOTE use `send :prepend` to be nice to Ruby 2.0
|
|
4
|
+
Float.send :prepend, (Module.new do
|
|
4
5
|
def truncate *args
|
|
5
6
|
if args.length == 1
|
|
6
7
|
if (precision = Integer args.shift) == 0
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
# NOTE remove once minimum required Ruby version is at least 2.6
|
|
3
|
-
|
|
3
|
+
# NOTE use `send :prepend` to be nice to Ruby 2.0
|
|
4
|
+
Hash.send :prepend, (Module.new do
|
|
4
5
|
def merge *args
|
|
5
6
|
(len = args.length) < 1 ? super({}) : (len > 1 ? args.inject(self) {|acc, arg| acc.merge arg } : (super args[0]))
|
|
6
7
|
end
|
data/lib/asciidoctor/document.rb
CHANGED
|
@@ -956,7 +956,7 @@ class Document < AbstractBlock
|
|
|
956
956
|
output
|
|
957
957
|
end
|
|
958
958
|
|
|
959
|
-
#
|
|
959
|
+
# Deprecated: Use {Document#convert} instead.
|
|
960
960
|
alias render convert
|
|
961
961
|
|
|
962
962
|
# Public: Write the output to the specified file
|
|
@@ -1327,7 +1327,7 @@ class Document < AbstractBlock
|
|
|
1327
1327
|
attrs['outfilesuffix'] = converter.outfilesuffix unless attribute_locked? 'outfilesuffix'
|
|
1328
1328
|
end
|
|
1329
1329
|
elsif converter
|
|
1330
|
-
backend_traits = Converter
|
|
1330
|
+
backend_traits = Converter.derive_backend_traits new_backend
|
|
1331
1331
|
new_basebackend = backend_traits[:basebackend]
|
|
1332
1332
|
new_filetype = backend_traits[:filetype]
|
|
1333
1333
|
if init
|
data/lib/asciidoctor/inline.rb
CHANGED
|
@@ -32,7 +32,7 @@ class Inline < AbstractNode
|
|
|
32
32
|
converter.convert self
|
|
33
33
|
end
|
|
34
34
|
|
|
35
|
-
#
|
|
35
|
+
# Deprecated: Use {Inline#convert} instead.
|
|
36
36
|
alias render convert
|
|
37
37
|
|
|
38
38
|
# Public: Returns the converted alt text for this inline image.
|
data/lib/asciidoctor/list.rb
CHANGED
data/lib/asciidoctor/logging.rb
CHANGED
data/lib/asciidoctor/version.rb
CHANGED
data/man/asciidoctor.1
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'\" t
|
|
2
2
|
.\" Title: asciidoctor
|
|
3
3
|
.\" Author: Dan Allen, Sarah White, Ryan Waldron
|
|
4
|
-
.\" Generator: Asciidoctor 2.0.
|
|
5
|
-
.\" Date: 2019-03-
|
|
4
|
+
.\" Generator: Asciidoctor 2.0.4
|
|
5
|
+
.\" Date: 2019-03-31
|
|
6
6
|
.\" Manual: Asciidoctor Manual
|
|
7
|
-
.\" Source: Asciidoctor 2.0.
|
|
7
|
+
.\" Source: Asciidoctor 2.0.4
|
|
8
8
|
.\" Language: English
|
|
9
9
|
.\"
|
|
10
|
-
.TH "ASCIIDOCTOR" "1" "2019-03-
|
|
10
|
+
.TH "ASCIIDOCTOR" "1" "2019-03-31" "Asciidoctor 2.0.4" "Asciidoctor Manual"
|
|
11
11
|
.ie \n(.g .ds Aq \(aq
|
|
12
12
|
.el .ds Aq '
|
|
13
13
|
.ss \n[.ss] 0
|
data/man/asciidoctor.adoc
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: asciidoctor
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.0.
|
|
4
|
+
version: 2.0.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Dan Allen
|
|
@@ -13,7 +13,7 @@ authors:
|
|
|
13
13
|
autorequire:
|
|
14
14
|
bindir: bin
|
|
15
15
|
cert_chain: []
|
|
16
|
-
date: 2019-03-
|
|
16
|
+
date: 2019-03-31 00:00:00.000000000 Z
|
|
17
17
|
dependencies:
|
|
18
18
|
- !ruby/object:Gem::Dependency
|
|
19
19
|
name: asciimath
|