asciidoctor 1.5.7.1 → 1.5.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (94) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.adoc +95 -5
  3. data/Gemfile +23 -13
  4. data/README-de.adoc +482 -0
  5. data/README-fr.adoc +128 -119
  6. data/README-jp.adoc +2 -3
  7. data/README-zh_CN.adoc +2 -3
  8. data/README.adoc +131 -106
  9. data/asciidoctor.gemspec +9 -7
  10. data/data/locale/attributes-ar.adoc +1 -1
  11. data/data/locale/attributes-bg.adoc +1 -1
  12. data/data/locale/attributes-ca.adoc +1 -1
  13. data/data/locale/attributes-cs.adoc +1 -1
  14. data/data/locale/attributes-da.adoc +1 -1
  15. data/data/locale/attributes-de.adoc +1 -1
  16. data/data/locale/attributes-en.adoc +1 -1
  17. data/data/locale/attributes-es.adoc +1 -1
  18. data/data/locale/attributes-fa.adoc +1 -1
  19. data/data/locale/attributes-fi.adoc +1 -1
  20. data/data/locale/attributes-fr.adoc +1 -1
  21. data/data/locale/attributes-hu.adoc +1 -1
  22. data/data/locale/attributes-id.adoc +1 -1
  23. data/data/locale/attributes-it.adoc +1 -1
  24. data/data/locale/attributes-ja.adoc +1 -1
  25. data/data/locale/attributes-kr.adoc +1 -1
  26. data/data/locale/attributes-nb.adoc +1 -1
  27. data/data/locale/attributes-nl.adoc +1 -1
  28. data/data/locale/attributes-nn.adoc +1 -1
  29. data/data/locale/attributes-pl.adoc +1 -1
  30. data/data/locale/attributes-pt.adoc +1 -1
  31. data/data/locale/attributes-pt_BR.adoc +1 -1
  32. data/data/locale/attributes-ro.adoc +1 -1
  33. data/data/locale/attributes-ru.adoc +1 -1
  34. data/data/locale/attributes-sr.adoc +5 -4
  35. data/data/locale/attributes-sr_Latn.adoc +5 -4
  36. data/data/locale/attributes-sv.adoc +23 -0
  37. data/data/locale/attributes-tr.adoc +1 -1
  38. data/data/locale/attributes-uk.adoc +1 -1
  39. data/data/locale/attributes-zh_CN.adoc +1 -1
  40. data/data/locale/attributes-zh_TW.adoc +1 -1
  41. data/data/stylesheets/asciidoctor-default.css +23 -23
  42. data/lib/asciidoctor.rb +110 -104
  43. data/lib/asciidoctor/abstract_block.rb +55 -32
  44. data/lib/asciidoctor/abstract_node.rb +32 -17
  45. data/lib/asciidoctor/attribute_list.rb +8 -7
  46. data/lib/asciidoctor/block.rb +5 -7
  47. data/lib/asciidoctor/cli/options.rb +5 -9
  48. data/lib/asciidoctor/converter.rb +2 -2
  49. data/lib/asciidoctor/converter/docbook45.rb +7 -20
  50. data/lib/asciidoctor/converter/docbook5.rb +36 -37
  51. data/lib/asciidoctor/converter/factory.rb +10 -8
  52. data/lib/asciidoctor/converter/html5.rb +90 -65
  53. data/lib/asciidoctor/converter/manpage.rb +72 -62
  54. data/lib/asciidoctor/converter/template.rb +8 -6
  55. data/lib/asciidoctor/core_ext/1.8.7/concurrent/hash.rb +5 -0
  56. data/lib/asciidoctor/document.rb +62 -10
  57. data/lib/asciidoctor/extensions.rb +74 -16
  58. data/lib/asciidoctor/helpers.rb +11 -14
  59. data/lib/asciidoctor/list.rb +2 -2
  60. data/lib/asciidoctor/parser.rb +223 -195
  61. data/lib/asciidoctor/path_resolver.rb +15 -7
  62. data/lib/asciidoctor/reader.rb +65 -36
  63. data/lib/asciidoctor/section.rb +6 -4
  64. data/lib/asciidoctor/substitutors.rb +170 -149
  65. data/lib/asciidoctor/table.rb +16 -8
  66. data/lib/asciidoctor/version.rb +1 -1
  67. data/man/asciidoctor.1 +6 -5
  68. data/man/asciidoctor.adoc +3 -2
  69. data/test/api_test.rb +236 -0
  70. data/test/attribute_list_test.rb +242 -0
  71. data/test/attributes_test.rb +65 -52
  72. data/test/blocks_test.rb +408 -260
  73. data/test/converter_test.rb +7 -7
  74. data/test/document_test.rb +60 -54
  75. data/test/extensions_test.rb +218 -32
  76. data/test/fixtures/doctime-localtime.adoc +2 -0
  77. data/test/fixtures/section-a.adoc +4 -0
  78. data/test/fixtures/subs.adoc +0 -1
  79. data/test/invoker_test.rb +56 -18
  80. data/test/links_test.rb +105 -81
  81. data/test/lists_test.rb +636 -265
  82. data/test/logger_test.rb +1 -1
  83. data/test/manpage_test.rb +140 -3
  84. data/test/paragraphs_test.rb +42 -42
  85. data/test/parser_test.rb +63 -183
  86. data/test/paths_test.rb +21 -4
  87. data/test/preamble_test.rb +9 -9
  88. data/test/reader_test.rb +78 -28
  89. data/test/sections_test.rb +273 -151
  90. data/test/substitutions_test.rb +53 -19
  91. data/test/tables_test.rb +286 -163
  92. data/test/test_helper.rb +4 -3
  93. data/test/text_test.rb +65 -65
  94. metadata +16 -21
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ad8e487a317ee7c1ba5e138157d4515b3af5bdf53ff0dc18afca5eeaa1eb2c63
4
- data.tar.gz: a9e4b482528e1f57fbf390ead5e49f17a1ad099f14da9b4cd9755e2ddcb8de20
3
+ metadata.gz: af6c978f632685e857521e4db2550da18b58a5b2f50b309ca7b4f5768db46d86
4
+ data.tar.gz: aea7c7d7eff7d6830ff2dda3a945e997e88ce2ba2a1548c4cfc5a315f330026d
5
5
  SHA512:
6
- metadata.gz: 45c2b7128e586c4533b7c2aee5c9b4f249bc5d2a212b30b89828f3358be983d1d950c1b50ddfa3661587a284c426b89b088c4f58369bf3083f084134679e51c0
7
- data.tar.gz: ee0bb8f333c509e165f56eb46f5de656c9930f04235081fcbb072ab36bd40cd0eb664d12d03bb4c6053caaf6d8895dbf674cbe78de30ad9f3f0704aef811d6ed
6
+ metadata.gz: 2cdb5ae6d6adf2c526ff15c8ad98d1ac4931c872e126112364830968a19bca910168a4d84dad94e7e2af01543ee1c89f373ee7eaa1d9a4010c5968bf8fede1d0
7
+ data.tar.gz: e644397e6f5f8029d8597b35ba17d950e2eaf39d2ed7078550d250c18630279741bad9d37a98e6b0c034afa3c4bdd7c2ea09c33ee95159230faf1b34d04a8139
@@ -13,6 +13,96 @@ 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
+ == 1.5.8 (2018-10-28) - @mojavelinux
17
+
18
+ Enhancements::
19
+
20
+ * if set, add value of part-signifier and chapter-signifier attributes to part and chapter titles (#2738)
21
+ * allow position (float) and alignment (align) to be set on video block (#2425)
22
+ * substitute attribute references in attrlist of include directive (#2761)
23
+ * add Document#set_header_attribute method for adding method directly to document header during parsing (#2820)
24
+ * add helper method to extension processor classes to create lists and list items
25
+ * allow ordered and unordered lists to be nested to an arbitrary / unlimited depth (#2854)
26
+ * add `prefer` DSL method to extension registry and document processor to flag extension as preferred (#2848)
27
+ * allow manname and manpurpose to be set using document attributes; don't look for NAME section in this case (#2810)
28
+ * substitute attribute references in target of custom block macro (honoring attribute-missing setting) (#2839)
29
+ * interpret `<.>` as an auto-numbered callout in verbatim blocks and callout lists (#2871)
30
+ * require marker for items in callout list to have circumfix brackets (e.g., `<1>` instead of `1>`) (#2871)
31
+ * preserve comment guard in front of callout number in verbatim block if icons is not enabled (#1360)
32
+ * add more conventional styles to quote block when it has the excerpt role (#2092)
33
+ * colspecs can be separated by semi-colon instead of comma (#2798)
34
+ * change AbstractBlock#find_by to respond to StopIteration exception; stop traversal after matching ID (#2900)
35
+ * change AbstractBlock#find_by to honor return values :skip and :skip_children from filter block to skip node and its descendants or just its descendants, respectively (#2067)
36
+ * add API to retrieve authors as array; use API in converters (#1042) (*@mogztter*)
37
+ * add support for start attribute on source block to set starting line number when converting to DocBook (#2915)
38
+ * track imagesdir for image on node and in catalog (#2779)
39
+ * allow starting line number to be set using start attribute when highighting source block with Pygments or CodeRay (#1742)
40
+ * upgrade highlight.js to 9.13.1
41
+
42
+ Fixes::
43
+
44
+ * don't hang on description list item that begins with /// (#2888)
45
+ * don't crash when using AsciiDoc table cell style on column in CSV table (#2817)
46
+ * show friendly error if CSV data for table contains unclosed quote (#2878) (*@zelivans*)
47
+ * don't crash when attribute entry continuation is used on last line of file (#2880) (*@zelivans*)
48
+ * treat empty/missing value of named block attribute followed by other attributes (e.g., caption=,cols=2*) as empty string
49
+ * AbstractNode#set_option does nothing if option is already set (PR #2778)
50
+ * allow revnumber to be an attribute reference in revision info line (#2785)
51
+ * use ::File.open instead of ::IO.binread in Reader for Asciidoctor.js compatibility
52
+ * add fallback for timezone when setting doctime
53
+ * preserve UNC path that begins with a double backslash (Windows) (#2869)
54
+ * fix formatting of quote block (indentation) in manpage output (#2792)
55
+ * catalog inline anchors in ordered list items (#2812)
56
+ * detect closing tag on last line with no trailing newline (#2830)
57
+ * process `!name@` attribute syntax property; follow-up to #642
58
+ * change document extension processor DSL methods to return registered extension instance instead of array of instances
59
+ * use fallback value for manname-title to prevent crash in manpage converter
60
+ * consolidate inner whitespace in prose in manpage output (#2890)
61
+ * only apply subs to node attribute value if enclosed in single quotes (#2905)
62
+ * don't hide URI scheme if target of link macro is a bare URI scheme
63
+ * fix crash when child section of part is out of sequence and section numbering is enabled (#2931)
64
+ * fix crash when restoring passthroughs if passthrough role is enclosed in single quotes (#2882, #2883)
65
+ * don't eagerly apply subs to inline attributes in general
66
+ * make sure encoding of output file is UTF-8
67
+ * prevent warning about invalid `:asciidoc` option when using custom templates with Slim 4 (#2928)
68
+ * use Pathname#relative_path_from to compute relative path to file outside of base directory (#2108)
69
+
70
+ Improvements::
71
+
72
+ * change trailing delimiter on part number to colon (:) (#2738)
73
+ * interpret open line range as infinite (#2914)
74
+ * rename number property on AbstractBlock to numeral, but keep number as deprecated alias
75
+ * use CSS class instead of hard-coded inline float style on tables and images (#2753)
76
+ * use CSS class instead of hard-coded inline text-align style on block images (#2753)
77
+ * allow hyphen to be used custom block macro name as long as it's not the first character (#2620)
78
+ * use shorthands %F and %T instead of %Y-%m-%d and %H:%M:%S to format time
79
+ * read file in binary mode whenever contents are being normalized
80
+ * use .drop(0) to duplicate arrays (roughly 1.5x as fast as .dup)
81
+ * only recognize a bullet glyph which is non-repeating as an unordered list marker
82
+ * rename SyntaxDsl module to SyntaxProcessorDsl (internal)
83
+ * fail if name given to block macro contains illegal characters
84
+ * normalize all whitespace in value of manpurpose attribute
85
+ * make space before callout number after custom line comment character optional
86
+ * parse attrlist on inline passthrough as a shorthand attribute syntax or literal role (#2910)
87
+ * add support for range syntax (.. delimiter) to highlight attribute on source block (#2918)
88
+ * add support for unbounded range to highlight attribute on source block (#2918)
89
+ * automatically assign title and caption on image block if title is set on custom block source (#2926)
90
+ * use OS independent timezone (UTC or time offset) in doctime and localtime attributes (#2770)
91
+ * report correct line number for inline anchor with id already in use (#2769)
92
+ * generate manpage even if input is non-conforming or malformed (#1639)
93
+ * allow authorinitials for single author to be overridden (#669)
94
+
95
+ Documentation::
96
+
97
+ * translate README into German (#2829) (*@jwehmschulte*)
98
+ * sync French translation of README (*@mogztter*)
99
+ * add Swedish translation of built-in attributes (PR #2930) (*@jonasbjork*)
100
+
101
+ Build / Infrastructure::
102
+
103
+ * replace thread_safe with concurrent-ruby (PR #2822) (*@junaruga*)
104
+
105
+ // tag::compact[]
16
106
  == 1.5.7.1 (2018-05-10) - @mojavelinux
17
107
 
18
108
  Fixes::
@@ -22,9 +112,9 @@ Fixes::
22
112
 
23
113
  Build / Infrastructure::
24
114
 
25
- * drop obsolete logic in rake build
26
- * allow lib dir to be overridden for tests using an environment variable (PR #2758)
27
- * load asciidoctor/version from LOAD_PATH in gemspec if not found locally (PR #2760)
115
+ * drop obsolete logic in rake build (*@aerostitch*)
116
+ * allow lib dir to be overridden for tests using an environment variable (PR #2758) (*@aerostitch*)
117
+ * load asciidoctor/version from LOAD_PATH in gemspec if not found locally (PR #2760) (*@aerostitch*)
28
118
 
29
119
  == 1.5.7 (2018-05-02) - @mojavelinux
30
120
 
@@ -33,6 +123,7 @@ Enhancements::
33
123
  * BREAKING: drop XML tags, character refs, and non-word characters (except hyphen, dot, and space) when auto-generating section IDs (#794)
34
124
  ** hyphen, dot, and space are replaced with value of idseparator, if set; otherwise, spaces are dropped
35
125
  * allow attribute names to contain any word character defined by Unicode (#2376, PR #2393)
126
+ * do not recognize attribute entry line if name contains a colon (PR #2377)
36
127
  * route all processor messages through a logger instead of using Kernel#warn (#44, PR #2660)
37
128
  * add MemoryLogger for capturing messages sent to logger into memory (#44, PR #2660)
38
129
  * add NullLogger to prevent messages from being logged (#44, PR #2660)
@@ -202,8 +293,8 @@ Distribution Packages::
202
293
  * https://packages.ubuntu.com/search?keywords=asciidoctor[Ubuntu (asciidoctor)]
203
294
  * https://pkgs.alpinelinux.org/packages?name=asciidoctor[Alpine Linux (asciidoctor)]
204
295
  * https://software.opensuse.org/package/rubygem-asciidoctor[OpenSUSE (rubygem-asciidoctor)]
296
+ // end::compact[]
205
297
 
206
- // tag::compact[]
207
298
  == 1.5.6.2 (2018-03-20) - @mojavelinux
208
299
 
209
300
  Bug fixes::
@@ -238,7 +329,6 @@ Distribution Packages::
238
329
  https://github.com/asciidoctor/asciidoctor/issues?q=milestone%3Av1.5.6.2[issues resolved] |
239
330
  https://github.com/asciidoctor/asciidoctor/releases/tag/v1.5.6.2[git tag] |
240
331
  https://github.com/asciidoctor/asciidoctor/compare/v1.5.6.1...v1.5.6.2[full diff]
241
- // end::compact[]
242
332
 
243
333
  == 1.5.6.1 (2017-07-23) - @mojavelinux
244
334
 
data/Gemfile CHANGED
@@ -4,25 +4,35 @@ source 'https://rubygems.org'
4
4
  gemspec
5
5
 
6
6
  group :development do
7
- if (ruby_version = Gem::Version.new RUBY_VERSION) < (Gem::Version.new '2.1.0')
8
- if ruby_version < (Gem::Version.new '2.0.0')
9
- gem 'haml', '~> 4.0.0'
10
- if ruby_version < (Gem::Version.new '1.9.3')
11
- gem 'cucumber', '~> 1.3.0'
12
- gem 'nokogiri', '~> 1.5.0'
13
- gem 'slim', '~> 2.1.0'
14
- gem 'tilt', '2.0.7'
7
+ ruby_version = Gem::Version.new RUBY_VERSION
8
+ gem 'concurrent-ruby', '~> 1.0.0' unless ruby_version < (Gem::Version.new '1.9.3')
9
+ if ruby_version < (Gem::Version.new '2.2.0')
10
+ if ruby_version < (Gem::Version.new '2.1.0')
11
+ if ruby_version < (Gem::Version.new '2.0.0')
12
+ gem 'haml', '~> 4.0.0'
13
+ if ruby_version < (Gem::Version.new '1.9.3')
14
+ gem 'cucumber', '~> 1.3.0'
15
+ gem 'nokogiri', '~> 1.5.0'
16
+ gem 'slim', '~> 2.1.0'
17
+ gem 'thread_safe', '0.3.6'
18
+ gem 'tilt', '2.0.7'
19
+ else
20
+ gem 'nokogiri', '~> 1.6.0'
21
+ gem 'slim', '<= 3.0.7'
22
+ end
15
23
  else
16
24
  gem 'nokogiri', '~> 1.6.0'
17
- gem 'slim', '<= 3.0.7'
18
25
  end
19
26
  else
20
- gem 'nokogiri', '~> 1.6.0'
27
+ gem 'nokogiri', '~> 1.7.0' if Gem::Platform.local =~ 'x86-mingw32' || Gem::Platform.local =~ 'x64-mingw32'
28
+ # pin nokogiri because XPath behavior changed on JRuby starting in 1.8.3 (see sparklemotion/nokogiri#1803)
29
+ gem 'nokogiri', '1.8.2' if RUBY_ENGINE == 'jruby'
30
+ gem 'racc', '~> 1.4.0' if RUBY_VERSION == '2.1.0' && RUBY_ENGINE == 'rbx'
21
31
  end
22
- elsif ruby_version < (Gem::Version.new '2.2.0')
23
- gem 'nokogiri', '~> 1.7.0' if Gem::Platform.local =~ 'x86-mingw32' || Gem::Platform.local =~ 'x64-mingw32'
32
+ else
33
+ # pin nokogiri because XPath behavior changed on JRuby starting in 1.8.3 (see sparklemotion/nokogiri#1803)
34
+ gem 'nokogiri', '1.8.2' if RUBY_ENGINE == 'jruby'
24
35
  end
25
- gem 'racc', '~> 1.4.0' if RUBY_VERSION == '2.1.0' && RUBY_ENGINE == 'rbx'
26
36
  end
27
37
 
28
38
  group :doc do
@@ -0,0 +1,482 @@
1
+ = Asciidoctor
2
+ Dan Allen <https://github.com/mojavelinux[@mojavelinux]>; Sarah White <https://github.com/graphitefriction[@graphitefriction]>; Ryan Waldron <https://github.com/erebor[@erebor]>
3
+ v1.5.8, 2018-10-28
4
+ // settings:
5
+ :idprefix:
6
+ :idseparator: -
7
+ :source-language: ruby
8
+ :language: {source-language}
9
+ ifndef::env-github[:icons: font]
10
+ ifdef::env-github[]
11
+ :status:
12
+ :outfilesuffix: .adoc
13
+ :caution-caption: :fire:
14
+ :important-caption: :exclamation:
15
+ :note-caption: :paperclip:
16
+ :tip-caption: :bulb:
17
+ :warning-caption: :warning:
18
+ endif::[]
19
+ // Variables:
20
+ :release-version: 1.5.8
21
+ // URIs:
22
+ :uri-org: https://github.com/asciidoctor
23
+ :uri-repo: {uri-org}/asciidoctor
24
+ :uri-asciidoctorj: {uri-org}/asciidoctorj
25
+ :uri-asciidoctorjs: {uri-org}/asciidoctor.js
26
+ :uri-project: http://asciidoctor.org
27
+ ifdef::env-site[:uri-project: link:]
28
+ :uri-docs: {uri-project}/docs
29
+ :uri-news: {uri-project}/news
30
+ :uri-manpage: {uri-project}/man/asciidoctor
31
+ :uri-issues: {uri-repo}/issues
32
+ :uri-contributors: {uri-repo}/graphs/contributors
33
+ :uri-rel-file-base: link:
34
+ :uri-rel-tree-base: link:
35
+ ifdef::env-site[]
36
+ :uri-rel-file-base: {uri-repo}/blob/master/
37
+ :uri-rel-tree-base: {uri-repo}/tree/master/
38
+ endif::[]
39
+ :uri-changelog: {uri-rel-file-base}CHANGELOG.adoc
40
+ :uri-contribute: {uri-rel-file-base}CONTRIBUTING.adoc
41
+ :uri-license: {uri-rel-file-base}LICENSE
42
+ :uri-tests: {uri-rel-tree-base}test
43
+ :uri-discuss: http://discuss.asciidoctor.org
44
+ :uri-irc: irc://irc.freenode.org/#asciidoctor
45
+ :uri-rubygem: https://rubygems.org/gems/asciidoctor
46
+ :uri-what-is-asciidoc: {uri-docs}/what-is-asciidoc
47
+ :uri-user-manual: {uri-docs}/user-manual
48
+ :uri-install-docker: https://github.com/asciidoctor/docker-asciidoctor
49
+ //:uri-install-doc: {uri-docs}/install-toolchain
50
+ :uri-install-macos-doc: {uri-docs}/install-asciidoctor-macos
51
+ :uri-render-doc: {uri-docs}/render-documents
52
+ :uri-themes-doc: {uri-docs}/produce-custom-themes-using-asciidoctor-stylesheet-factory
53
+ :uri-gitscm-repo: https://github.com/git/git-scm.com
54
+ :uri-prototype: {uri-gitscm-repo}/commits/master/lib/asciidoc.rb
55
+ :uri-freesoftware: https://www.gnu.org/philosophy/free-sw.html
56
+ :uri-foundation: https://foundation.zurb.com
57
+ :uri-opal: https://opalrb.com
58
+ :uri-tilt: https://github.com/rtomayko/tilt
59
+ :uri-ruby: https://ruby-lang.org
60
+ // images:
61
+ :image-uri-screenshot: https://raw.githubusercontent.com/asciidoctor/asciidoctor/master/screenshot.png
62
+
63
+ {uri-project}[Asciidoctor] ist ein _schneller_, {uri-license}[Open Source] Textverarbeitungs- und Publishing-Toolchain für die Konvertierung von {uri-what-is-asciidoc}[AsciiDoc]-Inhalten in HTML5, DocBook, PDF und andere Formate.
64
+ Asciidoctor ist in Ruby geschrieben und läuft auf allen gängigen Betriebsystemen.
65
+ Um die Installation zu vereinfachen wird Asciidoctor als Gem auf {uri-rubygem}[RubyGems.org] verpackt und ist als Paket für gängige Linux-Distributionen und MacOS erhältlich.
66
+ Asciidoctor kann auch in einer JVM mit {uri-asciidoctorj}[AsciidoctorJ] oder einer beliebigen Javascript-Umgebung mit {uri-asciidoctorjs}[Asciidoctor.js] ausgeführt werden.
67
+ Das Asciidoctor-Projekt wird {uri-repo}[auf Github] gehostet.
68
+
69
+ ifndef::env-site[]
70
+ Dieses Dokument ist auch in folgenden Sprachen erhältlich: +
71
+ {uri-rel-file-base}README-zh_CN.adoc[汉语]
72
+ |
73
+ {uri-rel-file-base}README.adoc[English]
74
+ |
75
+ {uri-rel-file-base}README-fr.adoc[Français]
76
+ |
77
+ {uri-rel-file-base}README-jp.adoc[日本語]
78
+ endif::[]
79
+
80
+ .Wichtige Dokumentation
81
+ [.compact]
82
+ * {uri-docs}/what-is-asciidoc[Was ist AsciiDoc?]
83
+ * {uri-docs}/asciidoc-writers-guide[Asciidoctor Benutzerhandbuch]
84
+ * {uri-docs}/user-manual[Asciidoctor Gebrauchshandbuch]
85
+ * {uri-docs}/asciidoc-syntax-quick-reference[AsciiDoc Syntax-Referenz]
86
+
87
+ ifdef::status[]
88
+ .*Projekt Status*
89
+ image:https://img.shields.io/travis/asciidoctor/asciidoctor/master.svg[Build Status (Travis CI), link=https://travis-ci.org/asciidoctor/asciidoctor]
90
+ image:https://ci.appveyor.com/api/projects/status/ifplu67oxvgn6ceq/branch/master?svg=true&amp;passingText=green%20bar&amp;failingText=%23fail&amp;pendingText=building%2E%2E%2E[Build Status (AppVeyor), link=https://ci.appveyor.com/project/asciidoctor/asciidoctor]
91
+ //image:https://img.shields.io/coveralls/asciidoctor/asciidoctor/master.svg[Coverage Status, link=https://coveralls.io/r/asciidoctor/asciidoctor]
92
+ //image:https://codeclimate.com/github/asciidoctor/asciidoctor/badges/gpa.svg[Code Climate, link="https://codeclimate.com/github/asciidoctor/asciidoctor"]
93
+ image:https://inch-ci.org/github/asciidoctor/asciidoctor.svg?branch=master[Inline docs, link="https://inch-ci.org/github/asciidoctor/asciidoctor"]
94
+ endif::[]
95
+
96
+ == Sponsoren
97
+
98
+ Wir möchten unseren großzügigen Sponsoren danken, ohne deren Unterstützung Asciidoctor nicht möglich wäre.
99
+ Vielen Dank an die Sponsoren für ihr Engagement zur Verbesserung der technischen Dokumentation!
100
+
101
+ image:https://www.okta.com/sites/all/themes/Okta/images/blog/Logos/Okta_Logo_BrightBlue_Medium.png[Okta,280,link=https://developer.okta.com/signup?utm_source=asciidoctor&utm_medium=logo&utm_campaign=sponsor,title="Add User Auth to Your Apps in Minutes with Okta"]
102
+ &nbsp; &nbsp; &nbsp;
103
+ image:https://secure.gravatar.com/avatar/823717a797dbd78ceff7b26aa397f383.png?size=200[OpenDevise,100,link=https://opendevise.com,title="Let the Creators of Asciidoctor and Antora Help You to Accelerate Your Docs"]
104
+
105
+ Unsere Change Makers, https://developer.okta.com/signup?utm_source=asciidoctor&utm_medium=text-link&utm_campaign=sponsor[Okta] und https://opendevise.com[OpenDevise], sowie unsere Strategiesponsoren https://www.khronos.org/[Khronos Group] und Linda Roberts finanzieren Asciidoctor maßgeblich.
106
+ Zusätzliche Mittel werden von unseren https://asciidoctor.org/supporters[Community Backers] zur Verfügung gestellt.
107
+
108
+ Sie können dieses Projekt unterstützen, indem Sie Sponsor bei https://opencollective.com/asciidoctor[OpenCollective] werden.
109
+
110
+ == Das große Ganze
111
+
112
+ Asciidoctor liest Inhalte, die im Klartext geschrieben wurden, wie im Feld links im Bild unten gezeigt, und wandelt Sie in HTML5 um, wie im rechten Feld dargestellt.
113
+ Asciidoctor wendet ein Standard-Stylesheet auf das HTML5-Dokument an, um ein angenehmes Out-of-the-Box-Erlebnis zu bieten.
114
+
115
+ image::{image-uri-screenshot}[Preview of AsciiDoc source and corresponding rendered HTML]
116
+
117
+ == AsciiDoc Verarbeitung
118
+
119
+ Asciidoctor liest und analysiert Text, der in der AsciiDoc-Syntax geschrieben wurde, und leitet dann den Parse-Tree durch eine Reihe von eingebauten Konvertern, um HTML5, DocBook 5 und man-pages zu erzeugen.
120
+ Sie haben die Möglichkeit, eigene Konverter zu verwenden oder {uri-tilt}[Tilt]-gestützte Vorlagen zu laden, um die generierte Ausgabe anzupassen oder zusätzliche Formate zu erzeugen.
121
+
122
+ Asciidoctor ist ein Ersatz für den Original AsciiDoc Python Prozessor (`asciidoc.py`).
123
+ Die Asciidoctor-Testsuite verfügt über {uri-tests}[mehr als 2,000 Tests], um die Kompatibilität mit der AsciiDoc-Syntax sicherzustellen.
124
+
125
+ Neben der klassischen AsciiDoc-Syntax erkennt Asciidoctor zusätzliche Markup- und Formatierungsoptionen, wie z.B. fontbasierte Icons (z.B. `+icon:fire[]+`) und UI-Elemente (z.B. `+button:[Save]+`).
126
+ Asciidoctor bietet auch ein modernes, __responsive Theme__, das auf {uri-foundation}[Foundation] basiert, um die HTML5-Ausgabe zu gestalten.
127
+
128
+ == Wo Ruby hingeht, folgt Asciidoctor
129
+
130
+ Sie können Asciidoctor in einer JVM mit JRuby ausführen.
131
+ Um die Asciidoctor API direkt aus Java und anderen JVM-Sprachen aufzurufen, verwenden Sie {uri-asciidoctorj}[AsciidoctorJ].
132
+ Es stehen Ihnen auf {uri-asciidoctorj}[AsciidoctorJ] basierende Plugins zur Verfügung, die den Asciidoctor Prozessor in Apache Maven, Gradle oder Javadoc Builds integrieren.
133
+
134
+ Asciidoctor läuft auch in JavaScript.
135
+ {uri-opal}[Opal] wird verwendet, um den Ruby-Source in JavaScript umzukompilieren, um {uri-asciidoctorjs}[Asciidoctor.js] zu erzeugen.
136
+ Asciidoctor.js ist eine voll funktionsfähige Version von Asciidoctor, die in jeder JavaScript-Umgebung wie z.B. einem Webbrowser oder Node.js funktioniert.
137
+ Es wird für die AsciiDoc Vorschau-Erweiterungen für Chrome, Atom, Brackets und andere webbasierte Werkzeuge verwendet.
138
+
139
+ == Anforderungen
140
+
141
+ Asciidoctor arbeitet unter Linux, MacOS und Windows und benötigt eine der folgenden Implementierungen von {uri-ruby}[Ruby]:
142
+
143
+ * Ruby (MRI/CRuby 1.8.7 - 2.5)
144
+ * JRuby (1.7 in Ruby 1.8 und 1.9 modes, 9000)
145
+ * Rubinius 2.2.x
146
+ * Opal (JavaScript)
147
+
148
+ [CAUTION]
149
+ ====
150
+ Wenn Sie eine nicht-englische Windows-Umgebung verwenden, können Sie auf einen `Encoding::UndefinedConversionError` stoßen, wenn Sie Asciidoctor aufrufen.
151
+ Um dieses Problem zu beheben, empfehlen wir, die aktive Codepage in Ihrer Konsole auf UTF-8 umzustellen:
152
+
153
+ chcp 65001
154
+
155
+ Sobald Sie diese Änderung vorgenommen haben, haben Sie alle Ihre Unicode-Kopfschmerzen hinter sich.
156
+ Wenn Sie eine IDE wie Eclipse verwenden, stellen Sie sicher, dass Sie dort auch die Kodierung auf UTF-8 setzen.
157
+ Asciidoctor funktioniert am besten, wenn Sie UTF-8 überall verwenden.
158
+ ====
159
+
160
+ == Installation
161
+
162
+ Asciidoctor kann mit (a) Paketmanagern für gängige Linux-Distributionen, (b) Homebrew für MacOS, (c) dem Befehl `gem install` (empfohlen für Windows-Benutzer), (d) dem Asciidoctor Docker-Image oder (e) Bundler installiert werden.
163
+
164
+ Der Vorteil der Verwendung des Paketmanagers Ihres Betriebssystems zur Installation des Gem ist, dass er die Installation von Ruby und der RubyGems-Bibliothek übernimmt, wenn diese Pakete nicht bereits auf Ihrem Rechner installiert sind.
165
+
166
+ === (a) Linux Paketmanager
167
+
168
+ Die vom Paketmanager installierte Version von Asciidoctor entspricht möglicherweise nicht der neuesten Version von Asciidoctor.
169
+ Konsultieren Sie das Paket-Repository für Ihre Distribution, um herauszufinden, welche Version in der Distribution gepackt ist.
170
+
171
+ * https://pkgs.alpinelinux.org/packages?name=asciidoctor[Alpine Linux (asciidoctor)]
172
+ * https://www.archlinux.org/packages/?name=asciidoctor[Arch Linux (asciidoctor)]
173
+ * https://packages.debian.org/sid/asciidoctor[Debian (asciidoctor)]
174
+ * https://apps.fedoraproject.org/packages/rubygem-asciidoctor[Fedora (asciidoctor)]
175
+ * https://software.opensuse.org/package/rubygem-asciidoctor[OpenSUSE (rubygem-asciidoctor)]
176
+ * https://packages.ubuntu.com/search?keywords=asciidoctor[Ubuntu (asciidoctor)]
177
+
178
+ Wenn Sie eine Version von Asciidoctor verwenden möchten, die neuer ist als die, die vom Paketmanager installiert wurde, lesen Sie bitte die <<gem-install, Installationsanweisungen>>.
179
+
180
+ ==== apk (Alpine Linux)
181
+
182
+ Um ein Gem auf Alpine Linux zu installieren, öffnen Sie ein Terminal und geben Sie folgendes ein:
183
+
184
+ $ sudo apk add asciidoctor
185
+
186
+ ==== pacman (Arch Linux)
187
+
188
+ Um ein Gem auf Arch-basierten Distributionen zu installieren, öffnen Sie ein Terminal und geben Sie folgendes ein:
189
+
190
+ $ sudo pacman -S asciidoctor
191
+
192
+ ==== APT
193
+
194
+ Auf Debian und Debian-basierten Distributionen wie Ubuntu nutzen Sie APT um Asciidoctor zu installieren.
195
+ Um das Paket zu installieren, öffnen Sie ein Terminal und geben Sie folgendes ein:
196
+
197
+ $ sudo apt-get install -y asciidoctor
198
+
199
+ ==== DNF
200
+
201
+ Auf RPM-basierten Linux-Distributionen, wie Fedora, CentOS und RHEL, nutzen Sie den DNF Paketmanager um Asciidoctor zu installieren.
202
+ Um das Paket zu installieren, öffnen Sie ein Terminal und geben Sie folgendes ein:
203
+
204
+ $ sudo dnf install -y asciidoctor
205
+
206
+ === (b) Homebrew (macOS)
207
+
208
+ Sie können Homebrew, den macOS-Paketmanager, verwenden, um Asciidoctor zu installieren.
209
+ Wenn Sie Homebrew nicht auf Ihrem Computer haben, führen Sie zuerst die Installationsanweisungen unter https://brew.sh/[brew.sh] aus.
210
+ Sobald Homebrew installiert ist, können Sie das Asciidoctor gem installieren.
211
+ Öffnen Sie ein Terminal und geben Sie folgendes ein:
212
+
213
+ $ brew install asciidoctor
214
+
215
+ Homebrew installiert das `asciidoctor` Gem in ein exklusives Präfix, das unabhängig von den System-Gems ist.
216
+
217
+ === (c) Windows
218
+
219
+ Um Asciidoctor unter Windows zu installieren, gibt es zwei einfache Möglichkeiten.
220
+
221
+ ==== Chocolatey
222
+
223
+ Wenn Sie bereits https://chocolatey.org[chocolatey] verwenden, können Sie folgenden Befehl verwenden:
224
+
225
+ [source]
226
+ ----
227
+ choco install ruby
228
+ ----
229
+
230
+ Danach folgen Sie der <<gem-install,Gem Installation>>.
231
+
232
+ ==== Rubyinstaller
233
+
234
+ Oder Sie benutzen den https://rubyinstaller.org/downloads/[Rubyinstaller], laden Sie das für Ihre Windows Version passende Paket herunter und nach der Installation folgen Sie ebenfalls der <<gem-install, Gem Installation>>.
235
+
236
+ [#gem-install]
237
+ === (d) gem install
238
+
239
+ Bevor Sie Asciidoctor mit `gem install` installieren, sollten Sie https://rvm.io[RVM] verwenden, um Ruby in Ihrem Home-Verzeichnis zu installieren (z.B. Userspace).
240
+ Dann können Sie den Befehl `gem` sicher verwenden, um den Asciidoctor Gem zu installieren oder zu aktualisieren.
241
+ Bei der Verwendung von RVM werden Gems an einem vom System isolierten Ort installiert.
242
+
243
+ Öffnen Sie ein Terminal und geben Sie folgendes ein:
244
+
245
+ $ gem install asciidoctor
246
+
247
+ Wenn Sie eine Vorabversion (z.B. einen Release-Kandidaten) installieren möchten, verwenden Sie:
248
+
249
+ $ gem install asciidoctor --pre
250
+
251
+ === (e) Docker
252
+
253
+ Siehe {uri-install-docker}[Installing Asciidoctor using Docker].
254
+
255
+ === (f) Bundler
256
+
257
+ . Erstellen Sie ein Gemfile im Stammordner Ihres Projekts (oder im aktuellen Verzeichnis).
258
+ . Fügen Sie den `asciidoctor` Gem wie folgt zu Ihrem Gemfile hinzu:
259
+
260
+ +
261
+ [source,subs=attributes+]
262
+ ----
263
+ source 'https://rubygems.org'
264
+ gem 'asciidoctor'
265
+ # oder spezifizieren Sie die Version explizit
266
+ # gem 'asciidoctor', '{release-version}'
267
+ ----
268
+
269
+ . Speichern Sie das Gemfile
270
+ . Öffnen Sie ein Terminal und installieren Sie das Gem mit:
271
+
272
+ $ bundle
273
+
274
+ Um das Gem zu aktualisieren, geben Sie die neue Version im Gemfile an und führen Sie `bundle` erneut aus.
275
+ Die Verwendung von `bundle update` (ohne Angabe eines Gem) wird *nicht* empfohlen, da es auch andere Gems aktualisiert, was möglicherweise nicht das gewünschte Ergebnis ist.
276
+
277
+ == Upgrade
278
+
279
+ Wenn Sie Asciidoctor mit einem Paketmanager installiert haben, ist ihr Betriebssystem wahrscheinlich so konfiguriert, dass es Pakete automatisch aktualisiert.
280
+ In diesem Fall müssen Sie das Gem nicht manuell aktualisieren.
281
+
282
+ === apk (Alpine Linux)
283
+
284
+ Um das Gem zu aktualisieren, nutzen Sie:
285
+
286
+ $ sudo apk add -u asciidoctor
287
+
288
+ === APT
289
+
290
+ Um das Gem zu aktualisieren, nutzen Sie:
291
+
292
+ $ sudo apt-get upgrade -y asciidoctor
293
+
294
+ === DNF
295
+
296
+ Um das Gem zu aktualisieren, nutzen Sie:
297
+
298
+ $ sudo dnf update -y asciidoctor
299
+
300
+ === Homebrew (macOS)
301
+
302
+ Um das Gem zu aktualisieren, nutzen Sie:
303
+
304
+ $ brew update
305
+ $ brew upgrade asciidoctor
306
+
307
+ === gem install
308
+
309
+ Wenn Sie Asciidoctor zuvor mit dem Befehl `gem` installiert haben, müssen Sie Asciidoctor manuell aktualisieren, wenn eine neue Version veröffentlicht wird.
310
+ Sie können mit folgendem Befehl aktualisieren:
311
+
312
+ $ gem install asciidoctor
313
+
314
+ Wenn Sie eine neue Version des Edelsteins mit `gem install` installieren, werden mehrere Versionen installiert.
315
+ Verwenden Sie den folgenden Befehl, um die alten Versionen zu entfernen:
316
+
317
+ $ gem cleanup asciidoctor
318
+
319
+ == Verwendung
320
+
321
+ Wenn der Asciidoctor Gem erfolgreich installiert wurde, ist das `asciidoctor` Kommandozeilen-Interface (CLI) in Ihrem PATH verfügbar.
322
+ Um die Verfügbarkeit zu überprüfen, führen Sie den folgenden Befehl in Ihrem Terminal aus:
323
+
324
+ $ asciidoctor --version
325
+
326
+ Sie sollten Informationen über die Asciidoctor-Version und Ihre Ruby-Umgebung im Terminal sehen.
327
+
328
+ [.output,subs=attributes+]
329
+ ....
330
+ Asciidoctor 1.5.7 [https://asciidoctor.org]
331
+ Laufzeitumgebung (ruby 2.5.1p57 [x86_64-linux]) (lc:UTF-8 fs:UTF-8 in:- ex:UTF-8)
332
+ ....
333
+
334
+ Asciidoctor bietet auch eine API.
335
+ Die API ist für die Integration mit anderer Ruby-Software wie Rails, Sinatra und GitHub und anderen Sprachen wie Java (über {uri-asciidoctorj}[AsciidoctorJ]) und JavaScript (über {uri-asciidoctorjs}[Asciidoctor.js]) vorgesehen.
336
+
337
+ === Kommandozeile
338
+
339
+ Mit dem Befehl `asciidoctor` können Sie Asciidoctor von der Kommandozeile (z.B. einem Terminal) aus aufrufen.
340
+
341
+ Der folgende Befehl konvertiert die Datei README.adoc nach HTML und speichert das Ergebnis in der Datei README.html im gleichen Verzeichnis.
342
+ Der Name der erzeugten HTML-Datei wird aus der Quelldatei abgeleitet, indem die Dateierweiterung auf `.html` geändert wird.
343
+
344
+ $ asciidoctor README.adoc
345
+
346
+ Sie können den Asciidoctor-Prozessor steuern, indem Sie verschiedene Flags und Schalter hinzufügen, über die Sie sich mittels folgendem Befehl informieren können:
347
+
348
+ $ asciidoctor --help
349
+
350
+ Zum Beispiel, um die Datei in ein anderes Verzeichnis zu schreiben, verwenden Sie:
351
+
352
+ $ asciidoctor -D output README.adoc
353
+
354
+ Die `asciidoctor` {uri-manpage}[man page] bietet eine vollständige Referenz der Kommandozeile.
355
+
356
+ Lesen Sie die folgenden Ressourcen, um mehr über die Verwendung des `asciidoctor`-Befehls zu erfahren.
357
+
358
+ * {uri-render-doc}[How do I convert a document?]
359
+ * {uri-themes-doc}[How do I use the Asciidoctor stylesheet factory to produce custom themes?]
360
+
361
+ === Ruby API
362
+
363
+ Um Asciidoctor in Ihrer Anwendung verwenden zu können, benötigen Sie zunächst das Gem:
364
+
365
+ [source]
366
+ ----
367
+ require 'asciidoctor'
368
+ ----
369
+
370
+ Sie können dann eine AsciiDoc-Quelldatei in eine HTML-Datei konvertieren:
371
+
372
+ [source]
373
+ ----
374
+ Asciidoctor.convert_file 'README.adoc', to_file: true, safe: :safe
375
+ ----
376
+
377
+ WARNING: Bei Verwendung von Asciidoctor über die API ist der Standard-Sicherheitsmodus `:secure`.
378
+ Im sicheren Modus sind mehrere Kernfunktionen deaktiviert, darunter die `include`-Direktive.
379
+ Wenn Sie diese Funktionen aktivieren möchten, müssen Sie den Sicherheitsmodus explizit auf `:server` (empfohlen) oder `:safe` setzen.
380
+
381
+ Sie können einen AsciiDoc-String auch in ein integrierbares HTML (zum Einfügen in eine HTML-Seite) konvertieren, mit:
382
+
383
+ [source]
384
+ ----
385
+ content = '_Zen_ in the art of writing https://asciidoctor.org[AsciiDoc].'
386
+ Asciidoctor.convert content, safe: :safe
387
+ ----
388
+
389
+ Wenn Sie das komplette HTML-Dokument wünschen, aktivieren Sie die Option `head_footer` wie folgt:
390
+
391
+ [source]
392
+ ----
393
+ content = '_Zen_ in the art of writing https://asciidoctor.org[AsciiDoc].'
394
+ html = Asciidoctor.convert content, header_footer: true, safe: :safe
395
+ ----
396
+
397
+ Wenn Sie Zugriff auf das analysierte Dokument benötigen, können Sie die Konvertierung in einzelne Schritte aufteilen:
398
+
399
+ [source]
400
+ ----
401
+ content = '_Zen_ in the art of writing https://asciidoctor.org[AsciiDoc].'
402
+ document = Asciidoctor.load content, header_footer: true, safe: :safe
403
+ puts document.doctitle
404
+ html = document.convert
405
+ ----
406
+
407
+ Denken Sie daran, dass __Sie die Ausgabe__ von Asciidoctor __ändern können__, wenn Sie sie nicht mögen!
408
+ Asciidoctor unterstützt benutzerdefinierte Konverter, die die Konvertierung vom geparsten Dokument in die generierte Ausgabe übernehmen können.
409
+
410
+ Eine einfache Möglichkeit, die Ausgabe stückweise anzupassen, ist die Verwendung des Template-Konverters.
411
+ Der Template-Konverter ermöglicht es Ihnen, eine von {uri-tilt}[Tilt]-gestützte Template-Datei zur Verfügung zu stellen, um die Konvertierung eines beliebigen Knotens im Dokument zu handhaben.
412
+
413
+ Wie auch immer Sie vorgehen, Sie können die Ausgabe zu 100% kontrollieren.
414
+ Weitere Informationen zur Verwendung der API oder zur Anpassung der Ausgabe finden Sie im {uri-user-manual}[Benutzerhandbuch].
415
+
416
+ == Mitwirken
417
+
418
+ Neue Mitwirkende sind immer willkommen!
419
+ Wenn Sie Fehler oder Auslassungen im Quellcode, in der Dokumentation oder im Inhalt der Website entdecken, zögern Sie bitte nicht, ein Problem zu melden oder eine Pull Request mit einem Fix zu öffnen.
420
+
421
+ Hier sind einige Möglichkeiten, wie *Sie* dazu beitragen können:
422
+
423
+ * durch Verwendung von Vorabversionen (Alpha-, Beta- oder Preview-Versionen)
424
+ * durch das Melden von Fehlern
425
+ * durch Vorschläge für neue Funktionen
426
+ * durch das Verfassen oder Bearbeiten von Dokumentationen
427
+ * durch Schreiben von Code mit Tests -- _Kein Patch ist zu klein._
428
+ ** Tippfehler beheben
429
+ ** Kommentare hinzufügen
430
+ ** inkonsistente Leerzeichen bereinigen
431
+ ** Tests schreiben!
432
+ * Refactoring von Code
433
+ * durch die Behebung von {uri-issues}[Problemen]
434
+ * durch Überprüfung von Patches
435
+
436
+ Der {uri-contribute}[Contributing Guide] bietet Informationen darüber, wie man Probleme, Feature Requests, Code und Dokumentation für das Asciidoctor Projekt erstellt, gestaltet und einreicht.
437
+
438
+ == Hilfe finden
439
+
440
+ Asciidoctor wurde entwickelt, um Ihnen das Schreiben und Veröffentlichen Ihrer Inhalte zu erleichtern.
441
+ Aber wir können es nicht ohne ihr Feedback machen!
442
+ Wir ermutigen Sie, Fragen zu stellen und alle Aspekte des Projekts auf der Diskussionsliste, auf Twitter oder im Chatroom zu diskutieren.
443
+
444
+ Chat (Gitter):: image:https://badges.gitter.im/Join%20In.svg[Gitter, link=https://gitter.im/asciidoctor/asciidoctor]
445
+ Discussionsliste (Nabble):: {uri-discuss}
446
+ Twitter:: https://twitter.com/search?f=tweets&q=%23asciidoctor[#asciidoctor] hashtag or https://twitter.com/asciidoctor[@asciidoctor] mention
447
+
448
+ ifdef::env-github[]
449
+ Weitere Informationen und Dokumentation zu Asciidoctor finden Sie auf der Website des Projekts.
450
+
451
+ {uri-project}[Home] | {uri-news}[News] | {uri-docs}[Docs]
452
+ endif::[]
453
+
454
+ Die Asciidoctor-Organisation auf GitHub hostet den Quellcode des Projekts, den Issue Tracker und Unterprojekte.
455
+
456
+ Source repository (git):: {uri-repo}
457
+ Issue tracker:: {uri-issues}
458
+ Asciidoctor Organization auf GitHub:: {uri-org}
459
+
460
+ == Lizenz
461
+
462
+ Copyright (C) 2012-2018 Dan Allen, Sarah White und die einzelnen Mitarbeiter von Asciidoctor.
463
+ Die Nutzung dieser Software wird unter den Bedingungen der MIT-Lizenz gewährt.
464
+
465
+ Siehe die {uri-license}[LIZENZ] für den vollen Lizenztext.
466
+
467
+ == Authoren
468
+
469
+ *Asciidoctor* wird von https://github.com/mojavelinux[Dan Allen] und https://github.com/graphitefriction[Sarah White] geleitet und hat Beiträge von {uri-contributors}[vielen Personen} in Asciidoctors großartiger Gemeinschaft erhalten.
470
+ Das Projekt wurde 2012 von https://github.com/erebor[Ryan Waldron] initiiert und basiert auf einem {uri-prototype}[Prototyp] von https://github.com/nickh[Nick Hengeveld].
471
+
472
+ *AsciiDoc* wurde von Stuart Rackham gegründet und hat Beiträge von vielen Personen aus der AsciiDoc-Community erhalten.
473
+
474
+ ifndef::env-site[]
475
+ == Changelog
476
+
477
+ ifeval::[{safe-mode-level} < 20]
478
+ include::CHANGELOG.adoc[tag=compact,leveloffset=+1]
479
+ endif::[]
480
+
481
+ Eine vollständige Liste der Änderungen in älteren Versionen finden Sie im {uri-changelog}[CHANGELOG].
482
+ endif::[]