asciidoctor 2.0.15 → 2.0.17
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 +86 -11
- data/LICENSE +1 -1
- data/README-de.adoc +9 -12
- data/README-fr.adoc +9 -12
- data/README-jp.adoc +10 -13
- data/README-zh_CN.adoc +9 -12
- data/README.adoc +33 -18
- data/asciidoctor.gemspec +2 -9
- data/data/locale/attributes-fr.adoc +2 -2
- data/data/locale/attributes-th.adoc +23 -0
- data/data/locale/attributes-vi.adoc +23 -0
- data/data/stylesheets/asciidoctor-default.css +54 -53
- data/data/stylesheets/coderay-asciidoctor.css +9 -9
- data/lib/asciidoctor/abstract_block.rb +11 -9
- data/lib/asciidoctor/abstract_node.rb +9 -8
- data/lib/asciidoctor/block.rb +6 -6
- data/lib/asciidoctor/cli/invoker.rb +1 -2
- data/lib/asciidoctor/cli/options.rb +25 -25
- data/lib/asciidoctor/convert.rb +1 -0
- data/lib/asciidoctor/converter/docbook5.rb +20 -22
- data/lib/asciidoctor/converter/html5.rb +112 -94
- data/lib/asciidoctor/converter/manpage.rb +61 -52
- data/lib/asciidoctor/converter/template.rb +12 -13
- data/lib/asciidoctor/converter.rb +6 -4
- data/lib/asciidoctor/core_ext/hash/merge.rb +1 -1
- data/lib/asciidoctor/document.rb +39 -41
- data/lib/asciidoctor/extensions.rb +20 -12
- data/lib/asciidoctor/list.rb +2 -6
- data/lib/asciidoctor/load.rb +10 -9
- data/lib/asciidoctor/logging.rb +10 -8
- data/lib/asciidoctor/parser.rb +172 -189
- data/lib/asciidoctor/path_resolver.rb +3 -3
- data/lib/asciidoctor/reader.rb +71 -72
- data/lib/asciidoctor/rx.rb +3 -2
- data/lib/asciidoctor/section.rb +7 -0
- data/lib/asciidoctor/substitutors.rb +101 -103
- data/lib/asciidoctor/syntax_highlighter/coderay.rb +2 -1
- data/lib/asciidoctor/syntax_highlighter/highlightjs.rb +1 -1
- data/lib/asciidoctor/syntax_highlighter/pygments.rb +14 -5
- data/lib/asciidoctor/syntax_highlighter/rouge.rb +2 -1
- data/lib/asciidoctor/syntax_highlighter.rb +8 -11
- data/lib/asciidoctor/table.rb +18 -20
- data/lib/asciidoctor/timings.rb +3 -3
- data/lib/asciidoctor/version.rb +1 -1
- data/lib/asciidoctor.rb +7 -7
- data/man/asciidoctor.1 +26 -28
- data/man/asciidoctor.adoc +33 -27
- metadata +8 -62
    
        data/lib/asciidoctor/table.rb
    CHANGED
    
    | @@ -259,7 +259,8 @@ class Table::Cell < AbstractBlock | |
| 259 259 | 
             
                    cell_style = attributes['style'] || cell_style unless in_header_row
         | 
| 260 260 | 
             
                    update_attributes attributes
         | 
| 261 261 | 
             
                  end
         | 
| 262 | 
            -
                   | 
| 262 | 
            +
                  case cell_style
         | 
| 263 | 
            +
                  when :asciidoc
         | 
| 263 264 | 
             
                    asciidoc = true
         | 
| 264 265 | 
             
                    inner_document_cursor = opts[:cursor]
         | 
| 265 266 | 
             
                    if (cell_text = cell_text.rstrip).start_with? LF
         | 
| @@ -270,7 +271,7 @@ class Table::Cell < AbstractBlock | |
| 270 271 | 
             
                    else
         | 
| 271 272 | 
             
                      cell_text = cell_text.lstrip
         | 
| 272 273 | 
             
                    end
         | 
| 273 | 
            -
                   | 
| 274 | 
            +
                  when :literal
         | 
| 274 275 | 
             
                    literal = true
         | 
| 275 276 | 
             
                    cell_text = cell_text.rstrip
         | 
| 276 277 | 
             
                    # QUESTION should we use same logic as :asciidoc cell? strip leading space if text doesn't start with newline?
         | 
| @@ -357,14 +358,10 @@ class Table::Cell < AbstractBlock | |
| 357 358 | 
             
                apply_subs @text, @subs
         | 
| 358 359 | 
             
              end
         | 
| 359 360 |  | 
| 360 | 
            -
              # Public: Set the String text.
         | 
| 361 | 
            +
              # Public: Set the String text for this cell.
         | 
| 361 362 | 
             
              #
         | 
| 362 363 | 
             
              # This method shouldn't be used for cells that have the AsciiDoc style.
         | 
| 363 | 
            -
               | 
| 364 | 
            -
              # Returns the new String text assigned to this Cell
         | 
| 365 | 
            -
              def text= val
         | 
| 366 | 
            -
                @text = val
         | 
| 367 | 
            -
              end
         | 
| 364 | 
            +
              attr_writer :text
         | 
| 368 365 |  | 
| 369 366 | 
             
              # Public: Handles the body data (tbody, tfoot), applying styles and partitioning into paragraphs
         | 
| 370 367 | 
             
              #
         | 
| @@ -406,7 +403,7 @@ class Table::Cell < AbstractBlock | |
| 406 403 | 
             
              end
         | 
| 407 404 |  | 
| 408 405 | 
             
              def to_s
         | 
| 409 | 
            -
                 | 
| 406 | 
            +
                %(#{super} - [text: #{@text}, colspan: #{@colspan || 1}, rowspan: #{@rowspan || 1}, attributes: #{@attributes}])
         | 
| 410 407 | 
             
              end
         | 
| 411 408 | 
             
            end
         | 
| 412 409 |  | 
| @@ -414,7 +411,7 @@ end | |
| 414 411 | 
             
            # class are primarily responsible for tracking the buffer of a cell as the parser
         | 
| 415 412 | 
             
            # moves through the lines of the table using tail recursion. When a cell boundary
         | 
| 416 413 | 
             
            # is located, the previous cell is closed, an instance of Table::Cell is
         | 
| 417 | 
            -
            # instantiated, the row is closed if the cell  | 
| 414 | 
            +
            # instantiated, the row is closed if the cell satisfies the column count and,
         | 
| 418 415 | 
             
            # finally, a new buffer is allocated to track the next cell.
         | 
| 419 416 | 
             
            class Table::ParserContext
         | 
| 420 417 | 
             
              include Logging
         | 
| @@ -534,12 +531,13 @@ class Table::ParserContext | |
| 534 531 | 
             
              #
         | 
| 535 532 | 
             
              # returns true if the buffer has unclosed quotes, false if it doesn't or it
         | 
| 536 533 | 
             
              # isn't quoted data
         | 
| 537 | 
            -
              def buffer_has_unclosed_quotes? append = nil
         | 
| 538 | 
            -
                if (record = append ? (@buffer + append).strip : @buffer.strip) ==  | 
| 534 | 
            +
              def buffer_has_unclosed_quotes? append = nil, q = '"'
         | 
| 535 | 
            +
                if (record = append ? (@buffer + append).strip : @buffer.strip) == q
         | 
| 539 536 | 
             
                  true
         | 
| 540 | 
            -
                elsif record.start_with?  | 
| 541 | 
            -
                   | 
| 542 | 
            -
             | 
| 537 | 
            +
                elsif record.start_with? q
         | 
| 538 | 
            +
                  qq = q + q
         | 
| 539 | 
            +
                  if ((trailing_quote = record.end_with? q) && (record.end_with? qq)) || (record.start_with? qq)
         | 
| 540 | 
            +
                    ((record = record.gsub qq, '').start_with? q) && !(record.end_with? q)
         | 
| 543 541 | 
             
                  else
         | 
| 544 542 | 
             
                    !trailing_quote
         | 
| 545 543 | 
             
                  end
         | 
| @@ -632,20 +630,20 @@ class Table::ParserContext | |
| 632 630 | 
             
                  @buffer = ''
         | 
| 633 631 | 
             
                  cellspec = nil
         | 
| 634 632 | 
             
                  repeat = 1
         | 
| 635 | 
            -
                  if @format == 'csv' && !cell_text.empty? && cell_text.include?('"')
         | 
| 633 | 
            +
                  if @format == 'csv' && !cell_text.empty? && (cell_text.include? (q = '"'))
         | 
| 636 634 | 
             
                    # this may not be perfect logic, but it hits the 99%
         | 
| 637 | 
            -
                    if cell_text.start_with? | 
| 635 | 
            +
                    if (cell_text.start_with? q) && (cell_text.end_with? q)
         | 
| 638 636 | 
             
                      # unquote
         | 
| 639 637 | 
             
                      if (cell_text = cell_text.slice(1, cell_text.length - 2))
         | 
| 640 638 | 
             
                        # trim whitespace and collapse escaped quotes
         | 
| 641 | 
            -
                        cell_text = cell_text.strip.squeeze | 
| 639 | 
            +
                        cell_text = cell_text.strip.squeeze q
         | 
| 642 640 | 
             
                      else
         | 
| 643 641 | 
             
                        logger.error message_with_context 'unclosed quote in CSV data; setting cell to empty', source_location: @reader.cursor_at_prev_line
         | 
| 644 642 | 
             
                        cell_text = ''
         | 
| 645 643 | 
             
                      end
         | 
| 646 644 | 
             
                    else
         | 
| 647 645 | 
             
                      # collapse escaped quotes
         | 
| 648 | 
            -
                      cell_text = cell_text.squeeze | 
| 646 | 
            +
                      cell_text = cell_text.squeeze q
         | 
| 649 647 | 
             
                    end
         | 
| 650 648 | 
             
                  end
         | 
| 651 649 | 
             
                end
         | 
| @@ -664,7 +662,7 @@ class Table::ParserContext | |
| 664 662 | 
             
                    # QUESTION is this right for cells that span columns?
         | 
| 665 663 | 
             
                    unless (column = @table.columns[@current_row.size])
         | 
| 666 664 | 
             
                      logger.error message_with_context 'dropping cell because it exceeds specified number of columns', source_location: @reader.cursor_before_mark
         | 
| 667 | 
            -
                      return
         | 
| 665 | 
            +
                      return nil
         | 
| 668 666 | 
             
                    end
         | 
| 669 667 | 
             
                  end
         | 
| 670 668 |  | 
    
        data/lib/asciidoctor/timings.rb
    CHANGED
    
    | @@ -49,9 +49,9 @@ module Asciidoctor | |
| 49 49 |  | 
| 50 50 | 
             
                def print_report to = $stdout, subject = nil
         | 
| 51 51 | 
             
                  to.puts %(Input file: #{subject}) if subject
         | 
| 52 | 
            -
                  to.puts %(  Time to read and parse source: #{'%05.5f'  | 
| 53 | 
            -
                  to.puts %(  Time to convert document: #{'%05.5f'  | 
| 54 | 
            -
                  to.puts %(  Total time (read, parse and convert): #{'%05.5f'  | 
| 52 | 
            +
                  to.puts %(  Time to read and parse source: #{sprintf '%05.5f', read_parse.to_f})
         | 
| 53 | 
            +
                  to.puts %(  Time to convert document: #{sprintf '%05.5f', convert.to_f})
         | 
| 54 | 
            +
                  to.puts %(  Total time (read, parse and convert): #{sprintf '%05.5f', read_parse_convert.to_f})
         | 
| 55 55 | 
             
                end
         | 
| 56 56 |  | 
| 57 57 | 
             
                private
         | 
    
        data/lib/asciidoctor/version.rb
    CHANGED
    
    
    
        data/lib/asciidoctor.rb
    CHANGED
    
    | @@ -53,12 +53,12 @@ module Asciidoctor | |
| 53 53 | 
             
              module SafeMode
         | 
| 54 54 | 
             
                # A safe mode level that disables any of the security features enforced
         | 
| 55 55 | 
             
                # by Asciidoctor (Ruby is still subject to its own restrictions).
         | 
| 56 | 
            -
                UNSAFE = 0 | 
| 56 | 
            +
                UNSAFE = 0
         | 
| 57 57 |  | 
| 58 58 | 
             
                # A safe mode level that closely parallels safe mode in AsciiDoc. This value
         | 
| 59 59 | 
             
                # prevents access to files which reside outside of the parent directory of
         | 
| 60 60 | 
             
                # the source file and disables any macro other than the include::[] directive.
         | 
| 61 | 
            -
                SAFE = 1 | 
| 61 | 
            +
                SAFE = 1
         | 
| 62 62 |  | 
| 63 63 | 
             
                # A safe mode level that disallows the document from setting attributes
         | 
| 64 64 | 
             
                # that would affect the conversion of the document, in addition to all the
         | 
| @@ -66,19 +66,19 @@ module Asciidoctor | |
| 66 66 | 
             
                # changing the backend or source-highlighter using an attribute defined
         | 
| 67 67 | 
             
                # in the source document header. This is the most fundamental level of
         | 
| 68 68 | 
             
                # security for server deployments (hence the name).
         | 
| 69 | 
            -
                SERVER = 10 | 
| 69 | 
            +
                SERVER = 10
         | 
| 70 70 |  | 
| 71 71 | 
             
                # A safe mode level that disallows the document from attempting to read
         | 
| 72 72 | 
             
                # files from the file system and including the contents of them into the
         | 
| 73 73 | 
             
                # document, in additional to all the security features of SafeMode::SERVER.
         | 
| 74 74 | 
             
                # For instance, this level disallows use of the include::[] directive and the
         | 
| 75 75 | 
             
                # embedding of binary content (data uri), stylesheets and JavaScripts
         | 
| 76 | 
            -
                # referenced by the document.(Asciidoctor and trusted extensions may still
         | 
| 76 | 
            +
                # referenced by the document. (Asciidoctor and trusted extensions may still
         | 
| 77 77 | 
             
                # be allowed to embed trusted content into the document).
         | 
| 78 78 | 
             
                #
         | 
| 79 79 | 
             
                # Since Asciidoctor is aiming for wide adoption, this level is the default
         | 
| 80 80 | 
             
                # and is recommended for server deployments.
         | 
| 81 | 
            -
                SECURE = 20 | 
| 81 | 
            +
                SECURE = 20
         | 
| 82 82 |  | 
| 83 83 | 
             
                # A planned safe mode level that disallows the use of passthrough macros and
         | 
| 84 84 | 
             
                # prevents the document from setting any known attributes, in addition to all
         | 
| @@ -86,9 +86,9 @@ module Asciidoctor | |
| 86 86 | 
             
                #
         | 
| 87 87 | 
             
                # Please note that this level is not currently implemented (and therefore not
         | 
| 88 88 | 
             
                # enforced)!
         | 
| 89 | 
            -
                #PARANOID = 100 | 
| 89 | 
            +
                #PARANOID = 100
         | 
| 90 90 |  | 
| 91 | 
            -
                @names_by_value =  | 
| 91 | 
            +
                @names_by_value = (constants false).map {|sym| [(const_get sym), sym.to_s.downcase] }.sort {|(a), (b)| a <=> b }.to_h
         | 
| 92 92 |  | 
| 93 93 | 
             
                def self.value_for_name name
         | 
| 94 94 | 
             
                  const_get name.upcase, false
         | 
    
        data/man/asciidoctor.1
    CHANGED
    
    | @@ -1,13 +1,13 @@ | |
| 1 1 | 
             
            '\" t
         | 
| 2 2 | 
             
            .\"     Title: asciidoctor
         | 
| 3 | 
            -
            .\"    Author: Dan Allen, Sarah White | 
| 4 | 
            -
            .\" Generator: Asciidoctor 2.0. | 
| 5 | 
            -
            .\"      Date:  | 
| 3 | 
            +
            .\"    Author: Dan Allen, Sarah White
         | 
| 4 | 
            +
            .\" Generator: Asciidoctor 2.0.17
         | 
| 5 | 
            +
            .\"      Date: 2022-01-05
         | 
| 6 6 | 
             
            .\"    Manual: Asciidoctor Manual
         | 
| 7 | 
            -
            .\"    Source: Asciidoctor 2.0. | 
| 7 | 
            +
            .\"    Source: Asciidoctor 2.0.17
         | 
| 8 8 | 
             
            .\"  Language: English
         | 
| 9 9 | 
             
            .\"
         | 
| 10 | 
            -
            .TH "ASCIIDOCTOR" "1" " | 
| 10 | 
            +
            .TH "ASCIIDOCTOR" "1" "2022-01-05" "Asciidoctor 2.0.17" "Asciidoctor Manual"
         | 
| 11 11 | 
             
            .ie \n(.g .ds Aq \(aq
         | 
| 12 12 | 
             
            .el       .ds Aq '
         | 
| 13 13 | 
             
            .ss \n[.ss] 0
         | 
| @@ -109,11 +109,10 @@ This name is also used to build the full path to the custom converter templates. | |
| 109 109 | 
             
            If a template engine is not specified, it will be auto\-detected based on the file extension of the custom converter templates found.
         | 
| 110 110 | 
             
            .RE
         | 
| 111 111 | 
             
            .sp
         | 
| 112 | 
            -
            \fB\-e, \-\- | 
| 112 | 
            +
            \fB\-e, \-\-embedded\fP
         | 
| 113 113 | 
             
            .RS 4
         | 
| 114 | 
            -
             | 
| 115 | 
            -
             | 
| 116 | 
            -
            Defaults to \fIerb\fP.
         | 
| 114 | 
            +
            Output an embeddable document, which excludes the header, the footer, and everything outside the body of the document.
         | 
| 115 | 
            +
            This option is useful for producing documents that can be inserted into an external template.
         | 
| 117 116 | 
             
            .RE
         | 
| 118 117 | 
             
            .sp
         | 
| 119 118 | 
             
            \fB\-I, \-\-load\-path\fP=\fIDIRECTORY\fP
         | 
| @@ -172,8 +171,8 @@ Matching templates found in subsequent directories override ones previously disc | |
| 172 171 | 
             
            .sp
         | 
| 173 172 | 
             
            \fB\-\-failure\-level\fP=\fILEVEL\fP
         | 
| 174 173 | 
             
            .RS 4
         | 
| 175 | 
            -
             | 
| 176 | 
            -
            If this option is not set | 
| 174 | 
            +
            Set the minimum logging level (default: FATAL) that yields a non\-zero exit code (i.e., failure).
         | 
| 175 | 
            +
            If this option is not set, the program exits with a zero exit code even if warnings or errors have been logged.
         | 
| 177 176 | 
             
            .RE
         | 
| 178 177 | 
             
            .sp
         | 
| 179 178 | 
             
            \fB\-q, \-\-quiet\fP
         | 
| @@ -207,6 +206,7 @@ Print timings report to stderr (time to read, parse, and convert). | |
| 207 206 | 
             
            Print a help message.
         | 
| 208 207 | 
             
            Show the command usage if \fITOPIC\fP is not specified or recognized.
         | 
| 209 208 | 
             
            Dump the Asciidoctor man page (in troff/groff format) if \fITOPIC\fP is \fImanpage\fP.
         | 
| 209 | 
            +
            Print an AsciiDoc syntax crib sheet (in AsciiDoc) if \fITOPIC\fP is \fIsyntax\fP.
         | 
| 210 210 | 
             
            .RE
         | 
| 211 211 | 
             
            .sp
         | 
| 212 212 | 
             
            \fB\-V, \-\-version\fP
         | 
| @@ -239,30 +239,28 @@ Refer to the \fBAsciidoctor\fP issue tracker at \c | |
| 239 239 | 
             
            .URL "https://github.com/asciidoctor/asciidoctor/issues?q=is%3Aopen" "" "."
         | 
| 240 240 | 
             
            .SH "AUTHORS"
         | 
| 241 241 | 
             
            .sp
         | 
| 242 | 
            -
            \fBAsciidoctor\fP  | 
| 242 | 
            +
            \fBAsciidoctor\fP is led and maintained by Dan Allen and Sarah White and has received contributions from many individuals in the Asciidoctor community.
         | 
| 243 | 
            +
            The project was started in 2012 by Ryan Waldron based on a prototype written by Nick Hengeveld for the Git website.
         | 
| 244 | 
            +
            Jason Porter wrote the first implementation of the CLI interface provided by this command.
         | 
| 243 245 | 
             
            .sp
         | 
| 244 | 
            -
            \fBAsciiDoc\fP was  | 
| 246 | 
            +
            \fBAsciiDoc.py\fP was created by Stuart Rackham and has received contributions from many individuals in the AsciiDoc.py community.
         | 
| 245 247 | 
             
            .SH "RESOURCES"
         | 
| 246 248 | 
             
            .sp
         | 
| 247 | 
            -
            \fBProject  | 
| 249 | 
            +
            \fBProject website:\fP \c
         | 
| 248 250 | 
             
            .URL "https://asciidoctor.org" "" ""
         | 
| 249 251 | 
             
            .sp
         | 
| 250 | 
            -
            \ | 
| 252 | 
            +
            \fBProject documentation:\fP \c
         | 
| 253 | 
            +
            .URL "https://docs.asciidoctor.org" "" ""
         | 
| 254 | 
            +
            .sp
         | 
| 255 | 
            +
            \fBSource repository:\fP \c
         | 
| 251 256 | 
             
            .URL "https://github.com/asciidoctor/asciidoctor" "" ""
         | 
| 252 257 | 
             
            .sp
         | 
| 253 | 
            -
            \ | 
| 254 | 
            -
            .URL "https:// | 
| 258 | 
            +
            \fBCommunity chat:\fP \c
         | 
| 259 | 
            +
            .URL "https://asciidoctor.zulipchat.com" "" ""
         | 
| 255 260 | 
             
            .sp
         | 
| 256 | 
            -
            \fBDiscussion list | 
| 257 | 
            -
            .URL " | 
| 261 | 
            +
            \fBDiscussion list:\fP \c
         | 
| 262 | 
            +
            .URL "https://discuss.asciidoctor.org" "" ""
         | 
| 258 263 | 
             
            .SH "COPYING"
         | 
| 259 264 | 
             
            .sp
         | 
| 260 | 
            -
            Copyright (C) 2012\- | 
| 261 | 
            -
             | 
| 262 | 
            -
            .SH "AUTHORS"
         | 
| 263 | 
            -
            .sp
         | 
| 264 | 
            -
            Dan Allen
         | 
| 265 | 
            -
            .sp
         | 
| 266 | 
            -
            Sarah White
         | 
| 267 | 
            -
            .sp
         | 
| 268 | 
            -
            Ryan Waldron
         | 
| 265 | 
            +
            Copyright (C) 2012\-present Dan Allen, Sarah White, Ryan Waldron, and the individual contributors to Asciidoctor.
         | 
| 266 | 
            +
            Use of this software is granted under the terms of the MIT License.
         | 
    
        data/man/asciidoctor.adoc
    CHANGED
    
    | @@ -1,27 +1,28 @@ | |
| 1 1 | 
             
            = asciidoctor(1)
         | 
| 2 | 
            -
            Dan Allen; Sarah White | 
| 2 | 
            +
            Dan Allen; Sarah White
         | 
| 3 3 | 
             
            :doctype: manpage
         | 
| 4 | 
            -
            :release-version: 2.0. | 
| 4 | 
            +
            :release-version: 2.0.17
         | 
| 5 5 | 
             
            :man manual: Asciidoctor Manual
         | 
| 6 6 | 
             
            :man source: Asciidoctor {release-version}
         | 
| 7 | 
            -
             | 
| 7 | 
            +
            ifdef::backend-manpage[:!author:]
         | 
| 8 8 |  | 
| 9 | 
            -
            ==  | 
| 9 | 
            +
            == Name
         | 
| 10 10 |  | 
| 11 11 | 
             
            asciidoctor - converts AsciiDoc source files to HTML, DocBook, and other formats
         | 
| 12 12 |  | 
| 13 | 
            -
            ==  | 
| 13 | 
            +
            == Synopsis
         | 
| 14 14 |  | 
| 15 15 | 
             
            *asciidoctor* [_OPTION_]... _FILE_...
         | 
| 16 16 |  | 
| 17 | 
            -
            ==  | 
| 17 | 
            +
            == Description
         | 
| 18 18 |  | 
| 19 19 | 
             
            The asciidoctor(1) command converts the AsciiDoc source file(s) _FILE_ to HTML5, DocBook 5, man(ual) page, and other custom output formats.
         | 
| 20 20 |  | 
| 21 21 | 
             
            If _FILE_ is _-_ then the AsciiDoc source is read from standard input.
         | 
| 22 22 |  | 
| 23 | 
            -
            ==  | 
| 23 | 
            +
            == Options
         | 
| 24 24 |  | 
| 25 | 
            +
            // tag::options[]
         | 
| 25 26 | 
             
            === Security Settings
         | 
| 26 27 |  | 
| 27 28 | 
             
            *-B, --base-dir*=_DIR_::
         | 
| @@ -79,10 +80,9 @@ This option may be specified more than once. | |
| 79 80 | 
             
              This name is also used to build the full path to the custom converter templates.
         | 
| 80 81 | 
             
              If a template engine is not specified, it will be auto-detected based on the file extension of the custom converter templates found.
         | 
| 81 82 |  | 
| 82 | 
            -
            *-e, -- | 
| 83 | 
            -
               | 
| 84 | 
            -
               | 
| 85 | 
            -
              Defaults to _erb_.
         | 
| 83 | 
            +
            *-e, --embedded*::
         | 
| 84 | 
            +
              Output an embeddable document, which excludes the header, the footer, and everything outside the body of the document.
         | 
| 85 | 
            +
              This option is useful for producing documents that can be inserted into an external template.
         | 
| 86 86 |  | 
| 87 87 | 
             
            *-I, --load-path*=_DIRECTORY_::
         | 
| 88 88 | 
             
              Add the specified directory to the load path, so that _-r_ can load extensions from outside the default Ruby load path.
         | 
| @@ -126,8 +126,8 @@ Matching templates found in subsequent directories override ones previously disc | |
| 126 126 | 
             
            === Processing Information
         | 
| 127 127 |  | 
| 128 128 | 
             
            *--failure-level*=_LEVEL_::
         | 
| 129 | 
            -
               | 
| 130 | 
            -
              If this option is not set | 
| 129 | 
            +
              Set the minimum logging level (default: FATAL) that yields a non-zero exit code (i.e., failure).
         | 
| 130 | 
            +
              If this option is not set, the program exits with a zero exit code even if warnings or errors have been logged.
         | 
| 131 131 |  | 
| 132 132 | 
             
            *-q, --quiet*::
         | 
| 133 133 | 
             
              Silence application log messages and script warnings.
         | 
| @@ -150,19 +150,21 @@ Matching templates found in subsequent directories override ones previously disc | |
| 150 150 | 
             
              Print a help message.
         | 
| 151 151 | 
             
              Show the command usage if _TOPIC_ is not specified or recognized.
         | 
| 152 152 | 
             
              Dump the Asciidoctor man page (in troff/groff format) if _TOPIC_ is _manpage_.
         | 
| 153 | 
            +
              Print an AsciiDoc syntax crib sheet (in AsciiDoc) if _TOPIC_ is _syntax_.
         | 
| 153 154 |  | 
| 154 155 | 
             
            *-V, --version*::
         | 
| 155 156 | 
             
              Print program version number.
         | 
| 156 157 | 
             
            +
         | 
| 157 158 | 
             
            *-v* can also be used if no source files are specified.
         | 
| 159 | 
            +
            // end::options[]
         | 
| 158 160 |  | 
| 159 | 
            -
            ==  | 
| 161 | 
            +
            == Environment
         | 
| 160 162 |  | 
| 161 163 | 
             
            *Asciidoctor* honors the *SOURCE_DATE_EPOCH* environment variable.
         | 
| 162 164 | 
             
            If this variable is assigned an integer value, that value is used as the epoch of all input documents and as the local date and time.
         | 
| 163 165 | 
             
            See https://reproducible-builds.org/specs/source-date-epoch/ for more information about this environment variable.
         | 
| 164 166 |  | 
| 165 | 
            -
            ==  | 
| 167 | 
            +
            == Exit Status
         | 
| 166 168 |  | 
| 167 169 | 
             
            *0*::
         | 
| 168 170 | 
             
              Success.
         | 
| @@ -170,27 +172,31 @@ See https://reproducible-builds.org/specs/source-date-epoch/ for more informatio | |
| 170 172 | 
             
            *1*::
         | 
| 171 173 | 
             
              Failure (syntax or usage error; configuration error; document processing failure; unexpected error).
         | 
| 172 174 |  | 
| 173 | 
            -
            ==  | 
| 175 | 
            +
            == Bugs
         | 
| 174 176 |  | 
| 175 177 | 
             
            Refer to the *Asciidoctor* issue tracker at https://github.com/asciidoctor/asciidoctor/issues?q=is%3Aopen.
         | 
| 176 178 |  | 
| 177 | 
            -
            ==  | 
| 179 | 
            +
            == Authors
         | 
| 180 | 
            +
             | 
| 181 | 
            +
            *Asciidoctor* is led and maintained by Dan Allen and Sarah White and has received contributions from many individuals in the Asciidoctor community.
         | 
| 182 | 
            +
            The project was started in 2012 by Ryan Waldron based on a prototype written by Nick Hengeveld for the Git website.
         | 
| 183 | 
            +
            Jason Porter wrote the first implementation of the CLI interface provided by this command.
         | 
| 178 184 |  | 
| 179 | 
            -
            * | 
| 185 | 
            +
            *AsciiDoc.py* was created by Stuart Rackham and has received contributions from many individuals in the AsciiDoc.py community.
         | 
| 180 186 |  | 
| 181 | 
            -
             | 
| 187 | 
            +
            == Resources
         | 
| 182 188 |  | 
| 183 | 
            -
             | 
| 189 | 
            +
            *Project website:* https://asciidoctor.org
         | 
| 184 190 |  | 
| 185 | 
            -
            *Project  | 
| 191 | 
            +
            *Project documentation:* https://docs.asciidoctor.org
         | 
| 186 192 |  | 
| 187 | 
            -
            * | 
| 193 | 
            +
            *Source repository:* https://github.com/asciidoctor/asciidoctor
         | 
| 188 194 |  | 
| 189 | 
            -
            * | 
| 195 | 
            +
            *Community chat:* https://asciidoctor.zulipchat.com
         | 
| 190 196 |  | 
| 191 | 
            -
            *Discussion list | 
| 197 | 
            +
            *Discussion list:* https://discuss.asciidoctor.org
         | 
| 192 198 |  | 
| 193 | 
            -
            ==  | 
| 199 | 
            +
            == Copying
         | 
| 194 200 |  | 
| 195 | 
            -
            Copyright \(C) 2012- | 
| 196 | 
            -
             | 
| 201 | 
            +
            Copyright \(C) 2012-present Dan Allen, Sarah White, Ryan Waldron, and the individual contributors to Asciidoctor.
         | 
| 202 | 
            +
            Use of this software is granted under the terms of the MIT License.
         | 
    
        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.17
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Dan Allen
         | 
| @@ -13,36 +13,8 @@ authors: | |
| 13 13 | 
             
            autorequire: 
         | 
| 14 14 | 
             
            bindir: bin
         | 
| 15 15 | 
             
            cert_chain: []
         | 
| 16 | 
            -
            date:  | 
| 16 | 
            +
            date: 2022-01-06 00:00:00.000000000 Z
         | 
| 17 17 | 
             
            dependencies:
         | 
| 18 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 19 | 
            -
              name: asciimath
         | 
| 20 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 21 | 
            -
                requirements:
         | 
| 22 | 
            -
                - - "~>"
         | 
| 23 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 24 | 
            -
                    version: 2.0.0
         | 
| 25 | 
            -
              type: :development
         | 
| 26 | 
            -
              prerelease: false
         | 
| 27 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 28 | 
            -
                requirements:
         | 
| 29 | 
            -
                - - "~>"
         | 
| 30 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 31 | 
            -
                    version: 2.0.0
         | 
| 32 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 33 | 
            -
              name: coderay
         | 
| 34 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 35 | 
            -
                requirements:
         | 
| 36 | 
            -
                - - "~>"
         | 
| 37 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 38 | 
            -
                    version: 1.1.0
         | 
| 39 | 
            -
              type: :development
         | 
| 40 | 
            -
              prerelease: false
         | 
| 41 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 42 | 
            -
                requirements:
         | 
| 43 | 
            -
                - - "~>"
         | 
| 44 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 45 | 
            -
                    version: 1.1.0
         | 
| 46 18 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 47 19 | 
             
              name: concurrent-ruby
         | 
| 48 20 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -105,14 +77,14 @@ dependencies: | |
| 105 77 | 
             
                requirements:
         | 
| 106 78 | 
             
                - - "~>"
         | 
| 107 79 | 
             
                  - !ruby/object:Gem::Version
         | 
| 108 | 
            -
                    version: 5. | 
| 80 | 
            +
                    version: 5.14.0
         | 
| 109 81 | 
             
              type: :development
         | 
| 110 82 | 
             
              prerelease: false
         | 
| 111 83 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 112 84 | 
             
                requirements:
         | 
| 113 85 | 
             
                - - "~>"
         | 
| 114 86 | 
             
                  - !ruby/object:Gem::Version
         | 
| 115 | 
            -
                    version: 5. | 
| 87 | 
            +
                    version: 5.14.0
         | 
| 116 88 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 117 89 | 
             
              name: nokogiri
         | 
| 118 90 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -141,34 +113,6 @@ dependencies: | |
| 141 113 | 
             
                - - "~>"
         | 
| 142 114 | 
             
                  - !ruby/object:Gem::Version
         | 
| 143 115 | 
             
                    version: 12.3.0
         | 
| 144 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 145 | 
            -
              name: rouge
         | 
| 146 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 147 | 
            -
                requirements:
         | 
| 148 | 
            -
                - - "~>"
         | 
| 149 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 150 | 
            -
                    version: 3.26.0
         | 
| 151 | 
            -
              type: :development
         | 
| 152 | 
            -
              prerelease: false
         | 
| 153 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 154 | 
            -
                requirements:
         | 
| 155 | 
            -
                - - "~>"
         | 
| 156 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 157 | 
            -
                    version: 3.26.0
         | 
| 158 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 159 | 
            -
              name: rspec-expectations
         | 
| 160 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 161 | 
            -
                requirements:
         | 
| 162 | 
            -
                - - "~>"
         | 
| 163 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 164 | 
            -
                    version: 3.8.0
         | 
| 165 | 
            -
              type: :development
         | 
| 166 | 
            -
              prerelease: false
         | 
| 167 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 168 | 
            -
                requirements:
         | 
| 169 | 
            -
                - - "~>"
         | 
| 170 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 171 | 
            -
                    version: 3.8.0
         | 
| 172 116 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 173 117 | 
             
              name: slim
         | 
| 174 118 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -244,8 +188,10 @@ files: | |
| 244 188 | 
             
            - data/locale/attributes-sr.adoc
         | 
| 245 189 | 
             
            - data/locale/attributes-sr_Latn.adoc
         | 
| 246 190 | 
             
            - data/locale/attributes-sv.adoc
         | 
| 191 | 
            +
            - data/locale/attributes-th.adoc
         | 
| 247 192 | 
             
            - data/locale/attributes-tr.adoc
         | 
| 248 193 | 
             
            - data/locale/attributes-uk.adoc
         | 
| 194 | 
            +
            - data/locale/attributes-vi.adoc
         | 
| 249 195 | 
             
            - data/locale/attributes-zh_CN.adoc
         | 
| 250 196 | 
             
            - data/locale/attributes-zh_TW.adoc
         | 
| 251 197 | 
             
            - data/locale/attributes.adoc
         | 
| @@ -307,7 +253,7 @@ licenses: | |
| 307 253 | 
             
            - MIT
         | 
| 308 254 | 
             
            metadata:
         | 
| 309 255 | 
             
              bug_tracker_uri: https://github.com/asciidoctor/asciidoctor/issues
         | 
| 310 | 
            -
              changelog_uri: https://github.com/asciidoctor/asciidoctor/blob/ | 
| 256 | 
            +
              changelog_uri: https://github.com/asciidoctor/asciidoctor/blob/HEAD/CHANGELOG.adoc
         | 
| 311 257 | 
             
              mailing_list_uri: http://discuss.asciidoctor.org
         | 
| 312 258 | 
             
              source_code_uri: https://github.com/asciidoctor/asciidoctor
         | 
| 313 259 | 
             
            post_install_message: 
         | 
| @@ -325,7 +271,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 325 271 | 
             
                - !ruby/object:Gem::Version
         | 
| 326 272 | 
             
                  version: '0'
         | 
| 327 273 | 
             
            requirements: []
         | 
| 328 | 
            -
            rubygems_version: 3.2. | 
| 274 | 
            +
            rubygems_version: 3.2.32
         | 
| 329 275 | 
             
            signing_key: 
         | 
| 330 276 | 
             
            specification_version: 4
         | 
| 331 277 | 
             
            summary: An implementation of the AsciiDoc text processor and publishing toolchain
         |