asciidoctor 1.5.4 → 1.5.5

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of asciidoctor might be problematic. Click here for more details.

Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.adoc +72 -5
  3. data/CONTRIBUTING.adoc +3 -3
  4. data/Gemfile +23 -0
  5. data/README-fr.adoc +416 -0
  6. data/README-jp.adoc +395 -0
  7. data/README-zh_CN.adoc +414 -0
  8. data/README.adoc +134 -72
  9. data/asciidoctor.gemspec +49 -0
  10. data/data/locale/attributes.adoc +470 -0
  11. data/data/stylesheets/asciidoctor-default.css +6 -5
  12. data/lib/asciidoctor.rb +22 -19
  13. data/lib/asciidoctor/abstract_block.rb +20 -10
  14. data/lib/asciidoctor/abstract_node.rb +3 -14
  15. data/lib/asciidoctor/cli/invoker.rb +5 -4
  16. data/lib/asciidoctor/cli/options.rb +1 -1
  17. data/lib/asciidoctor/converter/docbook5.rb +1 -1
  18. data/lib/asciidoctor/converter/factory.rb +1 -5
  19. data/lib/asciidoctor/converter/html5.rb +36 -31
  20. data/lib/asciidoctor/converter/manpage.rb +14 -9
  21. data/lib/asciidoctor/converter/template.rb +8 -4
  22. data/lib/asciidoctor/core_ext.rb +7 -6
  23. data/lib/asciidoctor/core_ext/{string → 1.8.7/string}/chr.rb +1 -1
  24. data/lib/asciidoctor/core_ext/1.8.7/string/limit.rb +28 -0
  25. data/lib/asciidoctor/core_ext/{symbol → 1.8.7/symbol}/length.rb +1 -1
  26. data/lib/asciidoctor/core_ext/nil_or_empty.rb +23 -0
  27. data/lib/asciidoctor/core_ext/string/limit.rb +10 -0
  28. data/lib/asciidoctor/document.rb +33 -26
  29. data/lib/asciidoctor/extensions.rb +16 -16
  30. data/lib/asciidoctor/helpers.rb +1 -1
  31. data/lib/asciidoctor/list.rb +3 -0
  32. data/lib/asciidoctor/parser.rb +47 -43
  33. data/lib/asciidoctor/path_resolver.rb +3 -1
  34. data/lib/asciidoctor/reader.rb +15 -14
  35. data/lib/asciidoctor/section.rb +2 -2
  36. data/lib/asciidoctor/stylesheets.rb +2 -1
  37. data/lib/asciidoctor/substitutors.rb +44 -46
  38. data/lib/asciidoctor/table.rb +41 -38
  39. data/lib/asciidoctor/version.rb +1 -1
  40. data/man/asciidoctor.1 +11 -4
  41. data/man/asciidoctor.adoc +7 -1
  42. data/test/attributes_test.rb +52 -0
  43. data/test/blocks_test.rb +8 -8
  44. data/test/document_test.rb +13 -1
  45. data/test/extensions_test.rb +38 -0
  46. data/test/invoker_test.rb +15 -0
  47. data/test/lists_test.rb +78 -53
  48. data/test/manpage_test.rb +15 -0
  49. data/test/paths_test.rb +3 -0
  50. data/test/reader_test.rb +2 -2
  51. data/test/sections_test.rb +10 -0
  52. data/test/substitutions_test.rb +12 -6
  53. data/test/tables_test.rb +76 -2
  54. metadata +16 -45
  55. data/lib/asciidoctor/core_ext/object/nil_or_empty.rb +0 -23
  56. data/test/fixtures/asciidoc_index.txt +0 -521
  57. data/test/fixtures/basic-docinfo-footer.html +0 -6
  58. data/test/fixtures/basic-docinfo-footer.xml +0 -8
  59. data/test/fixtures/basic-docinfo.html +0 -1
  60. data/test/fixtures/basic-docinfo.xml +0 -4
  61. data/test/fixtures/basic.asciidoc +0 -5
  62. data/test/fixtures/chapter-a.adoc +0 -3
  63. data/test/fixtures/child-include.adoc +0 -5
  64. data/test/fixtures/circle.svg +0 -8
  65. data/test/fixtures/custom-backends/erb/html5/block_paragraph.html.erb +0 -6
  66. data/test/fixtures/custom-backends/haml/docbook45/block_paragraph.xml.haml +0 -6
  67. data/test/fixtures/custom-backends/haml/html5-tweaks/block_paragraph.html.haml +0 -1
  68. data/test/fixtures/custom-backends/haml/html5/block_paragraph.html.haml +0 -3
  69. data/test/fixtures/custom-backends/haml/html5/block_sidebar.html.haml +0 -5
  70. data/test/fixtures/custom-backends/slim/docbook45/block_paragraph.xml.slim +0 -6
  71. data/test/fixtures/custom-backends/slim/html5/block_paragraph.html.slim +0 -3
  72. data/test/fixtures/custom-backends/slim/html5/block_sidebar.html.slim +0 -5
  73. data/test/fixtures/custom-docinfodir/basic-docinfo.html +0 -1
  74. data/test/fixtures/custom-docinfodir/docinfo.html +0 -1
  75. data/test/fixtures/docinfo-footer.html +0 -1
  76. data/test/fixtures/docinfo-footer.xml +0 -9
  77. data/test/fixtures/docinfo.html +0 -1
  78. data/test/fixtures/docinfo.xml +0 -3
  79. data/test/fixtures/dot.gif +0 -0
  80. data/test/fixtures/encoding.asciidoc +0 -13
  81. data/test/fixtures/grandchild-include.adoc +0 -3
  82. data/test/fixtures/hello-asciidoctor.pdf +0 -0
  83. data/test/fixtures/include-file.asciidoc +0 -24
  84. data/test/fixtures/include-file.xml +0 -5
  85. data/test/fixtures/master.adoc +0 -5
  86. data/test/fixtures/parent-include-restricted.adoc +0 -5
  87. data/test/fixtures/parent-include.adoc +0 -5
  88. data/test/fixtures/sample.asciidoc +0 -26
  89. data/test/fixtures/stylesheets/custom.css +0 -3
  90. data/test/fixtures/subs-docinfo.html +0 -2
  91. data/test/fixtures/subs.adoc +0 -7
  92. data/test/fixtures/tip.gif +0 -0
  93. data/test/test_helper.rb +0 -399
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 535a8de8deadb9acd40a7d412f1e148ef33cd5d6
4
- data.tar.gz: 3706223606515ac060f8a2078b3d796719bdef26
3
+ metadata.gz: df2c7e4f13f4dd3005683aacb5ba5c82f66cbb95
4
+ data.tar.gz: 0166c918b333decd7eaac636c6c738916740a1da
5
5
  SHA512:
6
- metadata.gz: 08ba16f2d379ae31508ee3f1963a45c078e4ce8dd20adf106df02f35ac89e0161a1253adbc4313baf4149cab5e7c9b8fb5f1ee2c53c57e844e3f0457b221b4e1
7
- data.tar.gz: a5292f0b48dcbee18188b2f0de51bd3306fbed3aa09b1b0a647f00df00f01c74510878b0161b3c25ca1d1c983cf6645cd7e07e61a03a13dba41536327fb623c0
6
+ metadata.gz: 591fc288faff0a883162d38264a7a6a3ce3c9c5e9453cd164b58136e146806f233cf7c41b5046104be07fe2d348fd6528e357940602fbf1faa8571f5bceca410
7
+ data.tar.gz: e5264cf1ec776cf8af7941d835cf4067534e07f80f4da77924c778c81c7f54042e34577eb569e8f1dc0b845aa7dc133645ec1ec3372e70ccf938ac417c37cabf
@@ -1,6 +1,8 @@
1
1
  = Asciidoctor Changelog
2
- :uri-asciidoctor: https://github.com/asciidoctor/asciidoctor
3
- :uri-asciidoc: http://asciidoctor.org/docs/what-is-asciidoc
2
+ :uri-asciidoctor: http://asciidoctor.org
3
+ :uri-asciidoc: {uri-asciidoctor}/docs/what-is-asciidoc
4
+ :uri-repo: https://github.com/asciidoctor/asciidoctor
5
+ :icons: font
4
6
  :star: icon:star[role=red]
5
7
  ifndef::icons[]
6
8
  :star: ★
@@ -9,9 +11,73 @@ endif::[]
9
11
  {uri-asciidoctor}[Asciidoctor] is a _fast_, open source text processor and publishing toolchain for converting {uri-asciidoc}[AsciiDoc] content into HTML5, DocBook 5 (or 4.5) and other formats.
10
12
 
11
13
  This document provides a high-level view of the changes introduced in Asciidoctor by release.
12
- For a detailed view of what has changed, refer to the https://github.com/asciidoctor/asciidoctor/commits/master[commit history] on GitHub.
14
+ For a detailed view of what has changed, refer to the {uri-repo}/commits/master[commit history] on GitHub.
13
15
 
14
16
  // tag::compact[]
17
+ == 1.5.5 (2016-10-05) - @mojavelinux
18
+
19
+ Enhancements::
20
+ * Add preference to limit the maximum size of an attribute value (#1861)
21
+ * Honor SOURCE_DATE_EPOCH environment variable to accomodate reproducible builds (@JojoBoulix) (#1721)
22
+ * Add reversed attribute to ordered list if reversed option is enabled (#1830)
23
+ * Add support for additional docinfo locations (e.g., :header)
24
+ * Configure default stylesheet to break monospace word if exceeds length of line; add roles to prevent breaks (#1814)
25
+ * Introduce translation file for built-in labels (@ciampix)
26
+ * Provide translations for built-in labels (@JmyL - kr, @ciampix - it, @ivannov - bg, @maxandersen - da, @radcortez - pt, @eddumelendez - es, @leathersole - jp, @aslakknutsen - no, @shahryareiv - fa, @AlexanderZobkov - ru, @dongwq - zh, @rmpestano - pt_BR, @ncomet - fr, @lgvz - fi, @patoi - hu, @BojanStipic - sr, @fwilhe - de, @rahmanusta - tr, @abelsromero - ca, @aboullaite - ar, @roelvs - nl)
27
+ * Translate README to Chinese (@diguage)
28
+ * Translate README to Japanese (@Mizuho32)
29
+
30
+ Improvements::
31
+ * Style nested emphasized phrases properly when using default stylesheet (#1691)
32
+ * Honor explicit table width even when autowidth option is set (#1843)
33
+ * Only explicit noheader option on table should disable implicit table header (#1849)
34
+ * Support docbook orient="land" attribute on tables (#1815)
35
+ * Add alias named list to retrieve parent List of ListItem
36
+ * Update push_include method to support chaining (#1836)
37
+ * Enable font smoothing on Firefox on OSX (#1837)
38
+ * Support combined use of sectanchors and sectlinks in HTML5 output (#1806)
39
+ * fix API docs for find_by
40
+ * Upgrade to Font Awesome 4.6.3 (@allenan, @mogztter) (#1723)
41
+ * README: add install instructions for Alpine Linux
42
+ * README: Switch yum commands to dnf in README
43
+ * README: Mention Mint as a Debian distro that packages Asciidoctor
44
+ * README: Add caution advising against using gem update to update a system-managed gem (@oddhack)
45
+ * README: sync French version with English version (@flashcode)
46
+ * Add missing endline after title element when converting open block to HTML
47
+ * Move list_marker_keyword method from AbstractNode to AbstractBlock
48
+ * Rename definition list to description list internally
49
+
50
+ Compliance::
51
+ * Support 6-digit decimal char refs, 5-digit hexidecimal char refs (#1824)
52
+ * Compatibility fixes for Opal
53
+ * Check for number using Integer instead of Fixnum class for compatibility with Ruby 2.4
54
+
55
+ Bug fixes::
56
+ * Use method_defined? instead of respond_to? to check if method is already defined when patching (#1838)
57
+ * Fix invalid conditional in HTML5 converter when handling of SVG
58
+ * Processor#parse_content helper no longer shares attribute list between blocks (#1651)
59
+ * Fix infinite loop if unordered list marker is immediately followed by a dot (#1679)
60
+ * Don't break SVG source when cleaning if svg start tag name is immediately followed by endline (#1676)
61
+ * Prevent template converter from crashing if .rb file found in template directory (#1827)
62
+ * Fix crash when generating section ID when both idprefix & idseparator are blank (#1821)
63
+ * Use stronger CSS rule for general text color in Pygments stylesheet (#1802)
64
+ * Don't duplicate forward slash for path relative to root (#1822)
65
+
66
+ Infrastructure::
67
+ * Build gem properly in the absense of a git workspace, make compatible with JRuby (#1779)
68
+ * Run tests in CI using latest versions of Ruby, including Ruby 2.3 (@ferdinandrosario)
69
+
70
+ Distribution Packages::
71
+
72
+ * http://rubygems.org/gems/asciidoctor[RubyGem (asciidoctor)]
73
+ * https://apps.fedoraproject.org/packages/rubygem-asciidoctor[Fedora (rubygem-asciidoctor)]
74
+ * http://packages.debian.org/sid/asciidoctor[Debian (asciidoctor)]
75
+ * http://packages.ubuntu.com/saucy/asciidoctor[Ubuntu (asciidoctor)]
76
+
77
+ https://github.com/asciidoctor/asciidoctor/issues?q=milestone%3Av1.5.5[issues resolved] |
78
+ https://github.com/asciidoctor/asciidoctor/releases/tag/v1.5.5[git tag] |
79
+ https://github.com/asciidoctor/asciidoctor/compare/v1.5.4...v1.5.5[full diff]
80
+
15
81
  == 1.5.4 (2016-01-03) - @mojavelinux
16
82
 
17
83
  Enhancements::
@@ -100,7 +166,7 @@ Improvements::
100
166
  * restore attributes to header attributes after parse (#1255)
101
167
  * allow docdate and doctime to be overridden (#1495)
102
168
  * add CSS class `.center` for center block alignment (#1456)
103
- * recognize U+2022 as alternative marker for unordered lists (@mogztter) (#1177)
169
+ * recognize U+2022 (bullet) as alternative marker for unordered lists (@mogztter) (#1177)
104
170
  * allow videos to work for local files by prepending asset-uri-scheme (Chris) (#1320)
105
171
  * always assign playlist param when loop option is enabled for YouTube video
106
172
  * parse isolated version in revision line (@bk2204) (#790)
@@ -125,6 +191,7 @@ Improvements::
125
191
  * fix `+--help+` output text for `-I` (@bk2204)
126
192
  * don't require open-uri-cached if already loaded
127
193
  * do not attempt to scan pattern of non-existent directory in template converter
194
+ * prevent CodeRay from bolding every 10th line number
128
195
 
129
196
  Compliance::
130
197
  * use `<sup>` for footnote reference in text instead of `<span>` (#1523)
@@ -177,6 +244,7 @@ Distribution Packages::
177
244
  https://github.com/asciidoctor/asciidoctor/issues?q=milestone%3Av1.5.3[issues resolved] |
178
245
  https://github.com/asciidoctor/asciidoctor/releases/tag/v1.5.3[git tag] |
179
246
  https://github.com/asciidoctor/asciidoctor/compare/v1.5.2...v1.5.3[full diff]
247
+ // end::compact[]
180
248
 
181
249
  == 1.5.2 (2014-11-27) - @mojavelinux
182
250
 
@@ -231,7 +299,6 @@ Distribution Packages::
231
299
  https://github.com/asciidoctor/asciidoctor/issues?q=milestone%3Av1.5.2[issues resolved] |
232
300
  https://github.com/asciidoctor/asciidoctor/releases/tag/v1.5.2[git tag] |
233
301
  https://github.com/asciidoctor/asciidoctor/compare/v1.5.1...v1.5.2[full diff]
234
- // end::compact[]
235
302
 
236
303
  == 1.5.1 (2014-09-29) - @mojavelinux
237
304
 
@@ -38,12 +38,12 @@ An ideal bug report would include a pull request with failing specs.
38
38
  . {uri-branch-help}[Create a topic branch] (preferably using the pattern `issue-XYZ`, where `XYZ` is the issue number).
39
39
  . Add tests for your unimplemented feature or bug fix. (See <<writing-and-executing-tests>>)
40
40
  . Run `bundle exec rake` to run the tests.
41
- If your tests pass, return to step 3.
41
+ If your tests pass, return to step 4.
42
42
  . Implement your feature or bug fix.
43
43
  . Run `bundle exec rake` to run the tests.
44
- If your tests fail, return to step 5.
44
+ If your tests fail, return to step 6.
45
45
  . Add documentation for your feature or bug fix.
46
- . If your changes are not 100% documented, go back to step 7.
46
+ . If your changes are not 100% documented, go back to step 8.
47
47
  . Add, commit, and push your changes.
48
48
  . {uri-pr-help}[Submit a pull request].
49
49
 
data/Gemfile ADDED
@@ -0,0 +1,23 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Look in asciidoctor.gemspec for runtime and development dependencies
4
+ gemspec
5
+
6
+ # enable this group to use Guard for continuous testing
7
+ # after removing comments, run `bundle install` then `guard`
8
+ #group :guardtest do
9
+ # gem 'guard'
10
+ # gem 'guard-test'
11
+ # gem 'libnotify'
12
+ # gem 'listen', :github => 'guard/listen'
13
+ #end
14
+
15
+ group :ci do
16
+ gem 'simplecov', '~> 0.9.1'
17
+ if ENV['SHIPPABLE']
18
+ gem 'simplecov-csv', '~> 0.1.3'
19
+ gem 'ci_reporter', '~> 2.0.0'
20
+ gem 'ci_reporter_minitest', '~> 1.0.0'
21
+ #gem 'ci_reporter_cucumber', '~> 1.0.0'
22
+ end
23
+ end
@@ -0,0 +1,416 @@
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
+ // FIXME use build system to expand includes statically so document renders properly on GitHub
4
+ ifeval::[{safe-mode-level} < 20]
5
+ include::_settings-README.adoc[]
6
+ endif::[]
7
+ ifeval::[{safe-mode-level} >= 20]
8
+ // settings:
9
+ :page-layout: base
10
+ :idprefix:
11
+ :idseparator: -
12
+ :source-language: ruby
13
+ :language: {source-language}
14
+ ifdef::env-github[:status:]
15
+ // URIs:
16
+ :uri-org: https://github.com/asciidoctor
17
+ :uri-repo: {uri-org}/asciidoctor
18
+ :uri-asciidoctorj: {uri-org}/asciidoctorj
19
+ :uri-asciidoctorjs: {uri-org}/asciidoctor.js
20
+ :uri-project: http://asciidoctor.org
21
+ ifdef::env-site[:uri-project: link:]
22
+ :uri-docs: {uri-project}/docs
23
+ :uri-news: {uri-project}/news
24
+ :uri-manpage: {uri-project}/man/asciidoctor
25
+ :uri-issues: {uri-repo}/issues
26
+ :uri-contributors: {uri-repo}/graphs/contributors
27
+ :uri-rel-file-base: link:
28
+ :uri-rel-tree-base: link:
29
+ ifdef::env-site[]
30
+ :uri-rel-file-base: {uri-repo}/blob/master/
31
+ :uri-rel-tree-base: {uri-repo}/tree/master/
32
+ endif::[]
33
+ :uri-changelog: {uri-rel-file-base}CHANGELOG.adoc
34
+ :uri-contribute: {uri-rel-file-base}CONTRIBUTING.adoc
35
+ :uri-license: {uri-rel-file-base}LICENSE.adoc
36
+ :uri-tests: {uri-rel-tree-base}test
37
+ :uri-discuss: http://discuss.asciidoctor.org
38
+ :uri-irc: irc://irc.freenode.org/#asciidoctor
39
+ :uri-rubygem: https://rubygems.org/gems/asciidoctor
40
+ :uri-what-is-asciidoc: {uri-docs}/what-is-asciidoc
41
+ :uri-user-manual: {uri-docs}/user-manual
42
+ :uri-install-docker: https://github.com/asciidoctor/docker-asciidoctor
43
+ //:uri-install-doc: {uri-docs}/install-toolchain
44
+ :uri-install-osx-doc: {uri-docs}/install-asciidoctor-macosx
45
+ :uri-render-doc: {uri-docs}/render-documents
46
+ :uri-themes-doc: {uri-docs}/produce-custom-themes-using-asciidoctor-stylesheet-factory
47
+ :uri-gitscm-repo: https://github.com/git/git-scm.com
48
+ :uri-prototype: {uri-gitscm-repo}/commits/master/lib/asciidoc.rb
49
+ :uri-freesoftware: https://www.gnu.org/philosophy/free-sw.html
50
+ :uri-foundation: http://foundation.zurb.com
51
+ :uri-tilt: https://github.com/rtomayko/tilt
52
+ :uri-ruby: https://ruby-lang.org
53
+ // images:
54
+ :image-uri-screenshot: https://raw.githubusercontent.com/asciidoctor/asciidoctor/master/screenshot.png
55
+ endif::[]
56
+
57
+ {uri-project}/[Asciidoctor] est un processeur de texte _rapide_ et une chaîne de publication pour convertir du contenu {uri-what-is-asciidoc}[AsciiDoc] en HTML5, DocBook 5 (ou 4.5) et d'autres formats.
58
+ Asciidoctor est écrit en Ruby, packagé sous forme de RubyGem et publié sur {uri-rubygem}[RubyGems.org].
59
+ La gemme est aussi incluse dans plusieurs distributions Linux, dont Fedora, Debian et Ubuntu.
60
+ Asciidoctor est open source, {uri-repo}[hébergé sur GitHub] et distribué sous {uri-license}[licence MIT].
61
+
62
+ ifndef::env-site[]
63
+ .Ce document est traduit dans les langues suivantes :
64
+ * {uri-rel-file-base}README.adoc[Anglais]
65
+ * {uri-rel-file-base}README-zh_CN.adoc[Chinois]
66
+ * {uri-rel-file-base}README-jp.adoc[Japonais]
67
+ endif::[]
68
+
69
+ .Documentation clé
70
+ [.compact]
71
+ * {uri-docs}/what-is-asciidoc[Qu'est ce qu'AsciiDoc ?]
72
+ * {uri-docs}/asciidoc-writers-guide[Guide pour Rédacteur AsciiDoc]
73
+ * {uri-docs}/asciidoc-syntax-quick-reference[Syntaxe de Référence AsciiDoc]
74
+ * {uri-docs}/user-manual[Manuel Utilisateur Asciidoctor]
75
+
76
+ .Asciidoctor est disponible partout où Ruby est disponible
77
+ ****
78
+ Vous pouvez exécuter Asciidoctor dans la JVM en utilisant JRuby.
79
+ Pour invoquer l'API Asciidoctor directement depuis Java ou d'autres langages de la JVM, utilisez {uri-asciidoctorj}[AsciidoctorJ].
80
+ Des plugins basés sur AsciidoctorJ permettent d'intégrer le processeur Asciidoctor avec Apache Maven, Gradle ou Javadoc.
81
+
82
+ Asciidoctor s'exécute également au sein de JavaScript.
83
+ Nous utilisons http://opalrb.org[Opal] pour transcrire le code source Ruby en JavaScript afin de produire {uri-asciidoctorjs}[Asciidoctor.js], une version pleinement fonctionnelle d'Asciidoctor qui s'intègre dans tout environnement JavaScript, comme un navigateur web ou Node.js.
84
+ Asciidoctor.js est utilisé pour faire fonctionner les extensions AsciiDoc Preview pour Chrome, Atom, Brackets et autres outils web.
85
+ ****
86
+
87
+ ifdef::status[]
88
+ .*Santé du projet*
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
+ == En un mot
97
+
98
+ Asciidoctor lit du contenu écrit en texte brut, comme présenté dans la partie gauche de l'image ci-dessous, et le convertit en HTML5, comme présenté dans la partie droite.
99
+ Asciidoctor applique une feuille de style par défaut au document HTML5 afin de fournir une expérience de lecture agréable, clé en main.
100
+
101
+ image::{image-uri-screenshot}[Prévisualisation d'une source AsciiDoc et le rendu HTML correspondant]
102
+
103
+ == Le traitement d'AsciiDoc
104
+
105
+ Asciidoctor lit et analyse la syntaxe du texte écrit en AsciiDoc afin de créer une représentation, sous forme d'arbre, à partir de laquelle des templates sont appliqués pour produire de l'HTML5, du DocBook 5 (ou 4.5).
106
+
107
+ Vous avez la possibilité d'écrire votre propre convertisseur ou de fournir des templates supportant {uri-tilt}[Tilt] pour personnaliser le résultat généré ou pour produire des formats alternatifs.
108
+
109
+ NOTE: Asciidoctor est un remplaçant du processeur AsciiDoc original écrit en Python (`asciidoc.py`).
110
+ La suite de tests Asciidoctor possède {uri-tests}[> 1,600 tests] pour garantir la compatibilité avec la syntaxe AsciiDoc.
111
+
112
+ En plus de la syntaxe AsciiDoc standard, Asciidoctor reconnaît des balises additionnelles ainsi que des options de formatage, comme les polices d'icônes (par exemple `+icon:fire[]+`) et des éléments d'interface (par exemple `+button:[Enregistrer]+`).
113
+ Asciidoctor offre aussi un thème moderne et « responsive » basé sur {uri-foundation}[Foundation] pour styliser le document HTML5 généré.
114
+
115
+ == Prérequis
116
+
117
+ Asciidoctor fonctionne sur Linux, OS X (Mac), Windows et requiert une des implémentations suivantes :
118
+
119
+ * MRI (Ruby 1.8.7, 1.9.3, 2.0, 2.1, 2.2 & 2.3)
120
+ * JRuby (1.7 dans les modes Ruby 1.8 et 1.9, 9000)
121
+ * Rubinius 2.2.x
122
+ * Opal (JavaScript)
123
+
124
+ Votre aide est appréciée pour tester Asciidoctor sur l'une de ces plateformes.
125
+ Référez-vous au paragraphe <<Contributions>> si vous souhaitez vous impliquer dans ce projet.
126
+
127
+ [CAUTION]
128
+ ====
129
+ Si vous utilisez un environnement Windows dans une autre langue que l'anglais, vous pourriez tomber sur l'erreur `Encoding::UndefinedConversionError` lors du lancement d'Asciidoctor.
130
+ Pour corriger ce problème, nous recommandons de changer la page de code en UTF-8 dans votre console :
131
+
132
+ chcp 65001
133
+
134
+ Après ce changement, tous les maux de tête liés à l'Unicode seront derrière vous.
135
+ Si vous utilisez un environnement de développement comme Eclipse, assurez-vous de définir l'encodage en UTF-8.
136
+ Asciidoctor fonctionne mieux lorsque vous utilisez UTF-8 partout.
137
+ ====
138
+
139
+ == Installation
140
+
141
+ Asciidoctor peut être installé en utilisant la commande (a) `gem install`, (b) Bundler ou (c) les gestionnaires de paquets pour les distributions Linux populaires.
142
+
143
+ TIP: L'avantage d'utiliser le gestionnaire de paquets pour installer la gemme est que l'installation englobe celle des librairies Ruby et RubyGems si elles ne sont pas déjà installés.
144
+ L'inconvénient est que le paquet n'est pas forcément mis à jour immédiatement après la mise à disposition de la gemme.
145
+ Si vous avez besoin de la dernière version, vous devez passer par la commande `gem`.
146
+
147
+ === (a) Installation de la gemme
148
+
149
+ Ouvrir un terminal et taper (en excluant le `$`) :
150
+
151
+ $ gem install asciidoctor
152
+
153
+ Si vous souhaitez installer une version pre-release (c'est-à-dire, une « release candidate »), utilisez :
154
+
155
+ $ gem install asciidoctor --pre
156
+
157
+ .Mettre à jour votre installation
158
+ [TIP]
159
+ ====
160
+ Si vous avez une précédente version d'Asciidoctor installée, vous pouvez la mettre à jour en utilisant :
161
+
162
+ $ gem update asciidoctor
163
+
164
+ Si vous installez une nouvelle version de la gemme en utilisant `gem install` au lieu de `gem update`, vous aurez plusieurs versions d'installées.
165
+ Si c'est le cas, utilisez la commande gem suivante pour supprimer la vieille version :
166
+
167
+ $ gem cleanup asciidoctor
168
+ ====
169
+
170
+ === (b) Bundler
171
+
172
+ . Créez un fichier Gemfile à la racine de votre projet (ou du répertoire courant)
173
+ . Ajoutez la gemme `asciidoctor` dans votre fichier Gemfile comme ci-dessous :
174
+ +
175
+ [source]
176
+ ----
177
+ source 'https://rubygems.org'
178
+ gem 'asciidoctor'
179
+ # ou spécifier la version explicitement
180
+ # gem 'asciidoctor', '1.5.4'
181
+ ----
182
+
183
+ . Sauvegardez le fichier Gemfile
184
+ . Ouvrez un terminal et installez la gemme en utilisant :
185
+
186
+ $ bundle
187
+
188
+ Pour mettre à jour la gemme, spécifiez la nouvelle version dans le fichier Gemfile et exécutez `bundle` à nouveau.
189
+ Utiliser `bundle update` *n*'est *pas* recommandé car les autres gemmes seront également mises à jour, ce qui n'est pas forcément le résultat voulu.
190
+
191
+ === (c) Gestionnaire de paquets Linux
192
+
193
+ ==== DNF (Fedora 21 ou supérieure)
194
+
195
+ Pour installer la gemme sur Fedora 21 ou supérieure en utilisant dnf, ouvrez un terminal et tapez :
196
+
197
+ $ sudo dnf install -y asciidoctor
198
+
199
+ Pour mettre à jour la gemme, utilisez :
200
+
201
+ $ sudo dnf update -y asciidoctor
202
+
203
+ TIP: Votre système peut être configuré pour mettre à jour automatiquement les paquets rpm, auquel cas aucune action de votre part ne sera nécessaire pour mettre à jour la gemme.
204
+
205
+ ==== apt-get (Debian, Ubuntu, Mint)
206
+
207
+ Pour installer la gemme sur Debian, Ubuntu ou Mint, ouvrez un terminal et tapez :
208
+
209
+ $ sudo apt-get install -y asciidoctor
210
+
211
+ Pour mettre à jour la gemme, utilisez :
212
+
213
+ $ sudo apt-get upgrade -y asciidoctor
214
+
215
+ TIP: Votre système peut être configuré pour mettre à jour automatiquement les paquets deb, auquel cas aucune action de votre part ne sera nécessaire pour mettre à jour la gemme.
216
+
217
+ La version d'Asciidoctor installé par le gestionnaire de paquets (apt-get) peut ne pas correspondre à la dernière version d'Asciidoctor.
218
+ Consultez le dépôt de paquets de votre distribution pour trouver quelle version est disponible par version de distribution.
219
+
220
+ * https://packages.debian.org/search?keywords=asciidoctor&searchon=names&exact=1&suite=all&section=all[Paquet asciidoctor par version de Debian]
221
+ * http://packages.ubuntu.com/search?keywords=asciidoctor&searchon=names&exact=1&suite=all&section=all[Paquet asciidoctor par version d'Ubuntu]
222
+ * https://community.linuxmint.com/software/view/asciidoctor[Paquet asciidoctor par version de Mint]
223
+
224
+ [CAUTION]
225
+ ====
226
+ Il est déconseillé d'utiliser la commande `gem update` pour mettre à jour la gemme gérée par le gestionnaire de paquets.
227
+ Le faire mettrait la système dans un état incohérent car le gestionnaire de paquets ne pourrait plus gérer les fichiers (qui sont installés dans /usr/local).
228
+ En résumé, les gemmes du système doivent être gérées seulement par le gestionnaire de paquets.
229
+
230
+ Si vous souhaitez utiliser une version d'Asciidoctor qui est plus récente que celle installée par votre gestionnaire de paquets, vous devriez utiliser http://rvm.io[RVM] pour installer Ruby dans votre répertoire personnel (dans votre espace utilisateur).
231
+ Vous pouvez alors utiliser la commande `gem` pour installer ou mettre à jour la gemme Asciidoctor.
232
+ En utilisant RVM, les gemmes sont installées dans un emplacement isolé du système.
233
+ ====
234
+
235
+ ==== apk (Alpine Linux)
236
+
237
+ Pour installer la gemme sur Alpine Linux, ouvrez un terminal et tapez :
238
+
239
+ $ sudo apk add asciidoctor
240
+
241
+ Pour mettre à jour la gemme, utilisez :
242
+
243
+ $ sudo apk add -u asciidoctor
244
+
245
+ TIP: Votre système peut être configuré pour mettre à jour automatiquement les paquets apk, auquel cas aucune action de votre part ne sera nécessaire pour mettre à jour la gemme.
246
+
247
+ === Autres options d'installation
248
+
249
+ * {uri-install-docker}[Installation d'Asciidoctor avec Docker]
250
+ * {uri-install-osx-doc}[Installation d'Asciidoctor sur Mac OS X]
251
+ // pour l'instant, l'entrée suivante est juste une répétition de l'information dans ce README
252
+ //* {uri-install-doc}[Installation de l'outillage Asciidoctor]
253
+
254
+ == Utilisation
255
+
256
+ Si la gemme Asciidoctor s'est installée correctement, la ligne de commande (CLI) `asciidoctor` sera disponible dans votre PATH.
257
+ Pour vérifier sa disponibilité, exécutez la commande suivante dans votre terminal :
258
+
259
+ $ asciidoctor --version
260
+
261
+ Vous devriez voir les informations concernant la version d'Asciidoctor et celle de votre environnement Ruby s'afficher dans le terminal.
262
+
263
+ [.output]
264
+ ....
265
+ Asciidoctor 1.5.4 [http://asciidoctor.org]
266
+ Runtime Environment (ruby 2.2.2p95 [x86_64-linux]) (lc:UTF-8 fs:UTF-8 in:- ex:UTF-8)
267
+ ....
268
+
269
+ Asciidoctor fournit aussi une API.
270
+ Cette API permet une intégration avec d'autres logiciels Ruby, comme Rails, Sinatra et GitHub, ainsi que d'autres langages comme Java (via {uri-asciidoctorj}[AsciidoctorJ]) ou JavaScript (via {uri-asciidoctorjs}[Asciidoctor.js]).
271
+
272
+ === Interface de Ligne de Commande (CLI)
273
+
274
+ La commande `asciidoctor` vous permet d'invoquer Asciidoctor à partir de la ligne de commande (c'est-à-dire, un terminal).
275
+
276
+ La commande suivante convertit le fichier README.adoc en HTML et sauvegarde le résultat dans le fichier README.html dans le même répertoire.
277
+ Le nom du fichier HTML généré est tiré de celui du fichier source, l'extension a été changée pour `.html`.
278
+
279
+ $ asciidoctor README.adoc
280
+
281
+ Vous pouvez contrôler le processeur Asciidoctor en ajoutant plusieurs paramètres, vous pouvez en apprendre plus sur ces derniers en utilisant la commande :
282
+
283
+ $ asciidoctor --help
284
+
285
+ Par exemple, pour écrire le fichier dans un répertoire différent, utilisez :
286
+
287
+ $ asciidoctor -D output README.adoc
288
+
289
+ La {uri-manpage}[page man] `asciidoctor` fournit une référence complète sur l'interface de ligne de commande.
290
+
291
+ Référez-vous aux ressources suivantes pour en apprendre davantage sur la façon d'utiliser la commande `asciidoctor`.
292
+
293
+ * {uri-render-doc}[Comment convertir un document ?]
294
+ * {uri-themes-doc}[Comment utiliser la fabrique de feuilles de style Asciidoctor pour produire des thèmes personnalisés ?]
295
+
296
+ === API Ruby
297
+
298
+ Pour utiliser Asciidoctor dans votre application, vous avez tout d'abord besoin de faire un « require » sur la gemme :
299
+
300
+ [source]
301
+ require 'asciidoctor'
302
+
303
+ Vous pouvez ensuite convertir un fichier AsciiDoc en fichier HTML en utilisant :
304
+
305
+ [source]
306
+ Asciidoctor.convert_file 'README.adoc', to_file: true, safe: :safe
307
+
308
+ WARNING: Quand vous utilisez Asciidoctor via l'API, le mode de sûreté par défaut est `:secure`.
309
+ Dans le mode « secure », plusieurs fonctionnalités centrales sont désactivées, comme la directive `include`.
310
+ Si vous souhaitez activer ces fonctionnalités, vous aurez besoin de définir explicitement le mode de sûreté avec une la valeur `:server` (recommandée) ou `:safe`.
311
+
312
+ Vous pouvez aussi convertir une chaîne de texte en fragment HTML (pour une insertion dans une page HTML) en utilisant :
313
+
314
+ [source]
315
+ ----
316
+ content = '_Zen_ in the art of writing http://asciidoctor.org[AsciiDoc].'
317
+ Asciidoctor.convert content, safe: :safe
318
+ ----
319
+
320
+ Si vous voulez le document HTML complet, activez l'option `header_footer` comme ci-dessous :
321
+
322
+ [source]
323
+ ----
324
+ content = '_Zen_ in the art of writing http://asciidoctor.org[AsciiDoc].'
325
+ html = Asciidoctor.convert content, header_footer: true, safe: :safe
326
+ ----
327
+
328
+ Si vous avez besoin d'accéder au document analysé, vous pouvez séparer la conversion en deux étapes distinctes :
329
+
330
+ [source]
331
+ ----
332
+ content = '_Zen_ in the art of writing http://asciidoctor.org[AsciiDoc].'
333
+ document = Asciidoctor.load content, header_footer: true, safe: :safe
334
+ puts document.doctitle
335
+ html = document.convert
336
+ ----
337
+
338
+ Gardez en tête que si vous n'aimez pas le contenu généré par Asciidoctor, _vous pouvez le changer !_
339
+ Asciidoctor supporte des convertisseurs personnalisés qui peuvent prendre en charge la conversion depuis le document analysé jusqu'au contenu généré.
340
+
341
+ Une façon simple de personnaliser les morceaux de contenu générés est d'utiliser le convertisseur de template.
342
+ Le convertisseur de template vous permet, en utilisant un template supporté par {uri-tilt}[Tilt], de prendre en charge la conversion de n'importe quel élément dans le document.
343
+
344
+ Vous l'aurez compris, vous _pouvez_ complètement prendre le contrôle sur le contenu généré.
345
+ Pour plus d'informations sur comment utiliser l'API ou personnaliser le contenu généré, référez-vous au {uri-user-manual}[manuel utilisateur].
346
+
347
+ == Contributions
348
+
349
+ Dans l'esprit du {uri-freesoftware}[logiciel libre], _tout le monde_ est encouragé à aider en vue d'améliorer le projet.
350
+ Si vous découvrez des erreurs ou des oublis dans le code source, la documentation, ou le contenu du site web, s'il vous plaît n'hésitez pas à ouvrir un ticket ou une « pull request » avec un correctif.
351
+ Les contributeurs et contributrices sont toujours les bienvenus !
352
+
353
+ Voici quelques façons de contribuer :
354
+
355
+ * en utilisant les versions prerelease (alpha, beta ou preview),
356
+ * en rapportant des anomalies,
357
+ * en suggérant de nouvelles fonctionnalités,
358
+ * en écrivant ou éditant la documentation,
359
+ * en écrivant des spécifications,
360
+ * en écrivant du code -- _Aucun patch n'est trop petit_
361
+ ** corriger une coquille,
362
+ ** ajouter des commentaires,
363
+ ** nettoyer des espaces inutiles,
364
+ ** écrire des tests !
365
+ * en refactorant le code,
366
+ * en corrigeant des {uri-issues}[anomalies],
367
+ * en effectuant des relectures des patches.
368
+
369
+ Le guide du {uri-contribute}[parfait Contributeur] fournit des informations sur comment créer, styliser et soumettre des tickets, des demandes de fonctionnalités, du code et de la documentation pour le projet Asciidoctor.
370
+
371
+ == Être aidé
372
+
373
+ Le projet Asciidoctor est développé pour vous aider à écrire et publier du contenu.
374
+ Mais nous ne pouvons pas le faire sans avoir vos avis !
375
+ Nous vous encourageons à poser vos questions et discuter de n'importe quels aspects du projet sur la liste de discussion, Twitter ou dans le salon de discussion.
376
+
377
+ Mailing list:: {uri-discuss}
378
+ Twitter (Chat):: hashtag #asciidoctor ou la mention @asciidoctor
379
+ Gitter (Chat):: image:https://badges.gitter.im/Join%20In.svg[Gitter, link=https://gitter.im/asciidoctor/asciidoctor]
380
+ ////
381
+ IRC (Chat):: {uri-irc}[#asciidoctor] sur FreeNode IRC
382
+ ////
383
+
384
+ ifdef::env-github[]
385
+ De plus amples informations et documentations sur Asciidoctor peuvent être trouvées sur le site web du projet.
386
+
387
+ {uri-project}/[Home] | {uri-news}[News] | {uri-docs}[Docs]
388
+ endif::[]
389
+
390
+ L'organisation Asciidoctor sur GitHub héberge le code source du projet, le gestionnaire de tickets ainsi que des sous-projets.
391
+
392
+ Dépôt des sources (git):: {uri-repo}
393
+ Gestionnaire de tickets:: {uri-issues}
394
+ L'organisation Asciidoctor sur GitHub:: {uri-org}
395
+
396
+ == Copyright et licence
397
+
398
+ Copyright (C) 2012-2016 Dan Allen, Ryan Waldron et le projet Asciidoctor.
399
+ Une utilisation libre de ce logiciel est autorisée sous les termes de la licence MIT.
400
+
401
+ Consultez le fichier {uri-license}[LICENSE] pour plus de détails.
402
+
403
+ == Auteurs
404
+
405
+ *Asciidoctor* est mené par https://github.com/mojavelinux[Dan Allen] et https://github.com/graphitefriction[Sarah White] et reçoit de nombreuses contributions de la part de la {uri-contributors}[géniale communauté] Asciidoctor.
406
+ Le projet a été initié en 2012 par https://github.com/erebor[Ryan Waldron] et est basé sur {uri-prototype}[un prototype] écrit par https://github.com/nickh[Nick Hengeveld].
407
+
408
+ *AsciiDoc* a été démarré par Stuart Rackham et a reçu de nombreuses contributions de la part de la communauté AsciiDoc.
409
+
410
+ == Changelog
411
+
412
+ ifeval::[{safe-mode-level} < 20]
413
+ include::CHANGELOG.adoc[tags=compact;parse,leveloffset=+1]
414
+ endif::[]
415
+
416
+ Référez-vous au fichier {uri-changelog}[CHANGELOG] pour une liste complète des changements des versions précédentes.