asciidoctor

A fast, open source text processor and publishing toolchain, written in Ruby, for converting AsciiDoc content to HTML 5, DocBook 5, and other formats.

OTHER License

Downloads
2
Stars
4.6K
Committers
196

Bot releases are hidden (Show)

asciidoctor - v2.0.2

Published by mojavelinux over 5 years ago

Summary

A bug fix release to address a critical bug found in the 2.0.0 and 2.0.1 releases. Namely, verbatim substitutions were not being applied to literal paragraphs inside of list items. This release also adds the #lines and #source methods to Asciidoctor::Table:Cell so it quacks more like an AbstractBlock (and to address an incompatibility with asciidoctor-bibtex).

Distributions

Asciidoctor is also packaged for Fedora, Debian, Ubuntu, Alpine Linux, OpenSUSE, and Homebrew. You can use the system's package manager to install the package named asciidoctor.

Release meta

Released on: 2019-03-26
Released by: @mojavelinux
Release beer: Wolfpicker Experimental IPA by Odell Brewing Co

Logs: resolved issues | full diff | issues resolved in 2.0.x (cumulative)

Changelog

Bug Fixes::

  • apply verbatim substitutions to literal paragraphs attached to list item (#3205)
  • implement #lines and #source methods on Table::Cell based on cell text (#3207)
asciidoctor - v2.0.1

Published by mojavelinux over 5 years ago

Summary

A bug fix release to address regressions found shortly after the 2.0.0 release. The main change is that attribute references in section titles are resolved properly. There were also two fix to the extension option API to retain backwards compatibility with existing extensions. Writers that use the AsciiMath integration will be happy to know that asciimath blocks are now centered like latexmath blocks.

Distributions

Asciidoctor is also packaged for Fedora, Debian, Ubuntu, Alpine Linux, OpenSUSE, and Homebrew. You can use the system's package manager to install the package named asciidoctor.

Release meta

Released on: 2019-03-25
Released by: @mojavelinux

Logs: resolved issues | full diff | issues resolved in 2.0.x (cumulative)

Changelog

Bug Fixes

  • convert titles of cataloged block and section nodes containing attribute references eagerly to resolve attributes while in scope (#3202)
  • customize MathJax (using a postfilter hook) to apply displaymath formatting to AsciiMath block (#2498)
  • fix misspelling of deprecated default_attrs DSL function (missing trailing "s")
  • remove unused location property (attr_accessor :location) on DocinfoProcessor class
  • look for deprecated extension option :pos_attrs if :positional_attrs option is missing (#3199)
  • add detail to load error message if path differs from gem name (#1884)

Build / Infrastructure

  • bundle .yardopts in RubyGem (#3193)
asciidoctor - v2.0.0 Release Candidate 3

Published by mojavelinux over 5 years ago

A testing release in preparation for 2.0.0.

Consult the CHANGELOG for details about what's to expect in 2.0.0. The full release notes will be deferred until the final version is available.

asciidoctor - v2.0.0 Release Candidate 2

Published by mojavelinux over 5 years ago

A testing release in preparation for 2.0.0.

Consult the CHANGELOG for details about what's to expect in 2.0.0. The full release notes will be deferred until the final version is available.

asciidoctor - v2.0.0

Published by mojavelinux over 5 years ago

Summary

Now this is a major version. The big 2.0!

This release is a major step forward for Asciidoctor. Not only does it get us over the pitfall of second version syndrome, it marks a switch to semantic versioning and a faster release cycle. It also goes a long way towards modernizing the codebase by dropping unsupported versions of Ruby (Ruby < 2.3 and JRuby < 9.1), switching to modern Ruby syntax and IO / encoding operations, dumping workarounds for older versions of Ruby, removing load path manipulation and string mutation, clarifying the boundaries of the API, tightening the extension DSL, testing on newer Ruby platforms such as TruffleRuby, beginning to apply consistent formatting to the source code, and applying substantial cleanups to the test suite. We're also working on rolling out a brand new documentation site powered by Antora (Asciidoctor's documentation site builder) that brings substantial content updates (soon to be available at docs.asciidoctor.org). And, as always, there's a measurable boost in performance, with roughly a 7% improvement in processing speed on CRuby and a 20% improvement on JRuby!

But this release is about more than just the versioning strategy, refactoring, and performance. There are a number of notable features for you to explore that further the extensibility of the platform.

Highlights

The main feature highlight of the 2.0 release is the pluggable syntax highlighter. Prior to 2.0, the syntax highlighting integration was baked directly into the core processor, only offering the option to use CodeRay, Pygments, highlight.js, and prettify. These integrations are all still supported out of the box, along with a new integration with Rouge (>= 2.1), but they're all now implementations of the syntax highlighter extension. And having been given a fresh look, all of these integrations have been polished and improved. (For example, you can specify additional languages for highlight.js to load using the highlightjs-languages attribute and dark Pygments styles are fully supported).

Like with custom converters, you can register a new or replacement syntax highlighter. The adapter receives callbacks for all the strategic points at which the syntax highlighter needs to contribute to the conversion process, including highlighting the source code and contributing external resources to the output. You can publish your syntax highlighting adapter as a RubyGem to share with other users.

The converter API has been completely redesigned based on the work done for the syntax highlighter API. But don't worry, existing converters are expected to continue to work as the old APIs have been bridged to the new ones. A custom converter can now be registered in just a few lines of code. It's even possible to access and extend the built-in converters (which now use the same API) using Converter.for, making it easier than ever to develop your own converter. If you extended from the provided base converter, all convert handler methods are prefixed with convert_ to prevent them from colliding with built-in and helper methods (and an adapter is included to ensure compatibility with existing converters). To top it off, converter registration is now thread-safe out of the box. As you dive deep into the new API, you're sure to discover even more added value.

In Asciidoctor 2.0, we say goodbye to the DocBook 4.5 converter. DocBook 4.5 was superceded by DocBook 5 nearly a decade ago and there's no reason anyone should be using it anymore. But, if for some reason, you still rely on DocBook 4.5 output, it wouldn't be hard to take the code from 1.5.8 and develop a custom converter to produce it.

As a heads up, source document files must be encoded in UTF-8 or have a BOM (magic encoding hint). Asciidoctor does not accept documents encoded any other way. In short, when reading a file, Asciidoctor either honors the BOM or assumes the encoding is UTF-8. When using the API, on the other hand, you can pass a string with a different encoding and Asciidoctor will automatically reencode it to UTF-8 (using Ruby's String#encode method).

There are some nice enhancements and shorthands when creating content. If you set the collapsible option on an example block, it will be converted to a details/summary tag set (and the requisite styles have been added to the default stylesheet to support this block type). If the source language is set on a listing block or on the document, the block is automatically promoted to a source block. When defining index terms, you can now specifiy the see or see also relationship. If for some reason the AsciiDoc syntax escaping you, a handy cheatsheet is always at your fingertips using the command asciidoctor --help syntax.

Other highights of this release are as follows:

  • fixed a number of crashes and one hang in parser due to unexpected or malformed content
  • substitutions in section and block titles are now applied in normal substitution order
  • block attributes no longer inherit from document attributes by default (a feature now reserved for specific cases only)
  • processor substitutes footnotes after all other macros
  • processor substitutes custom inline macros before all other macros
  • attribute-missing setting respected when processing include directives and block macros
  • log dropped lines at info level when attribute-missing=drop-line (including include directives)
  • enhanced find_by to locate table cells and blocks inside AsciiDoc table cells
  • renamed find_by directives to better aligns with NodeFilter from DOM (:reject instead of :skip, :prune instead of :skip_children, :stop to short-circuit)
  • added parse_attributes helper to base extension processor class
  • separated the functionality of the -w (enable script warnings) and -v (enable verbose logging) CLI flags
  • allow failure level of CLI to be set to info
  • renamed header_footer option to standalone and add the -e, --embedded CLI flag as an alias for -s, --no-header-footer
  • can now delegate to a registered backend using the syntax synthetic:delegate when using custom templates with an unregistered backend name
  • if the target of a formal xref macro has a file extension, assume it's a path reference
  • added a docinfo insertion slot in the header location of a standalone output document and moving the footer insertion slot below built-in docinfo content
  • log debug message instead of a warning when the block style is unknown to further promote the use of block extensions
  • log warning message at info level if inline macro processor returns a String value
  • always store the section numeral as a string; compute part numeral at assignment
  • allow the ID and role properties to be set on the API for ordered and unordered list items
  • inline anchors at the start of callout list items get cataloged (and thus valid xref targets)
  • always use :refs table in the document catalog to look for registered IDs and stop populating the deprecated :ids table
  • modified the Table::Cell class to extend from AbstractBlock instead of AbstractNode
  • apply subs to Inline node returned by inline macro processor if specified
  • dropped the verse table cell and the 2-character quote block syntax
  • renamed hardbreaks document attribute to hardbreaks-option
  • substitute replacements in author values used in document header
  • extend TLD for implicit e-mail addresses to 5 characters; allow ampersand in address part
  • drop legacy LaTeX math delimiters if present (for compatibility with pandoc output)
  • only promote indexterms automatically if indexterm-promotion option is set (DocBook output)
  • drop indexterms table from document catalog in preparation for new model to be introduced in 2.x

Distributions

Asciidoctor is also packaged for Fedora, Debian, Ubuntu, Alpine Linux, OpenSUSE, and Homebrew. You can use the system's package manager to install the package named asciidoctor.

Release meta

Released on: 2019-03-22
Released by: @mojavelinux
Release beer: A selection of beers from Collaboration Fest 2019 and the FireStone Walker 22nd Anniversary Ale

Logs: resolved issues | full diff

Credits

We'd like to give a big shout out to @mogztter, who provided critical technical assistance and advice to help get this release finished and to make it what it is today.

Thanks to the following people who contributed to this release:

@mogztter, @graphitefriction, @zelivans, @nik9000, @robertpanzer, @aerostitch, @andrewcarver, @vmj, @owenh000, @Hentaro1989, @eskwayrd, @apnadkarni, @benhourigan, @lordofthejars, @miltador, @oncletom, @farleylai, @bimlas, @rahmanusta, @taqtiqa-mark, @chrylis, @nfrankel, @fiech, @gdamore, @rkratky, @jghub, @zaxebo1, @andorchen, @obilodeau, @schauder, @mafritsch, @plaindocs, @dmalan, @michael-o, @alexanderzobkov, @jods4, @jtkorb, @sbrannen, @razrfalcon, @paulofrancalacerda, @andrewcarver, @sums801, @sandmann1, @jxxcarlson, @janicesignalfx, @abelsromero, @jirutka, @elextr, @danyill, @ulehnerhs, @5pacetoast, @anidotnet, @lodestone, @phlow, @jaredmorgs, @stephenhay, @chickenkiller, @foadsf, @skycaptain

Additional thanks to the following people for updating translations of the built-in attributes: @deining, @bnogent.

The push to Asciidoctor 2.0 was fueled by our former Change Maker sponsor, Okta. We want to thank Okta for their support, as well as our other generous sponsors, without whose support Asciidoctor would not be possible. Thank you sponsors for your dedication to improving the state of technical documentation!

You can support this project by becoming a sponsor on OpenCollective. For those still contributing via BountySource, we kindly ask that you switch your donations over to OpenCollective because it's a nicer system and better aligns with our values.

A very special thanks to all our awesome supporters on OpenCollective. Their support provided critical funding for the development of this release and the ongoing development of the project.

Changelog

Enhancements / Compliance

  • drop support for Ruby < 2.3 and JRuby < 9.1 and remove workarounds (#2764)
  • drop support for Slim < 3 (#2998)
  • drop the converter for the docbook45 backend (#3005)
  • apply substitutions to section and block titles in normal substitution order (#1173)
  • make syntax highlighter pluggable; extract all logic into adapter classes (#2106)
  • add syntax highlighter adapter for Rouge (>= 2.1) (#1040)
  • redesign Converter API based on SyntaxHighlighter API; remap deprecated API to new API to ensure compatibility (#2891)
  • repurpose built-in converters as regular converters (#2891)
  • make registration and resolution of global converters thread-safe (#2891)
  • fold the default converter factory into the Converter module (#2891)
  • add a default implementation for Converter#convert in the Base converter (#2891)
  • rename Converter::BackendInfo to Converter::BackendTraits; map backend_info to new backend_traits method (#2891)
  • allow built-in converter classes to be resolved using Converter#for and instantiated using Converter#create (#2891)
  • allow converter factory to be passed using :converter_factory API option (#2891)
  • honor htmlsyntax if defined on converter (#2891)
  • add backend_traits_source keyword argument to CompositeConverter constructor (#2891)
  • add support for start attribute when using prettify to highlight source blocks with line numbering enabled
  • use String#encode to encode String as UTF-8 instead of using String#force_encoding (#2764)
  • add FILE_READ_MODE, URI_READ_MODE, and FILE_WRITE_MODE constants to control open mode when reading files and URIs and writing files (#2764)
  • set visibility of private and protected methods (#2764)
  • always run docinfo processor extensions regardless of safe mode (gives control to extension) (#2966)
  • use infinitive verb form for extension DSL method names; map deprecated method names where appropriate
  • add docinfo insertion slot for header location to built-in converters (#1720)
  • add support for the muted option on vimeo videos (allows autoplay to work in Chrome) (#3014)
  • use value of prettify-theme attribute as is if it starts with http:// or https:// (#3020)
  • allow icontype to be set using icons attribute (#2953)
  • when using a server-side syntax highlighter, highlight content of source block even if source language is not set (#3027)
  • automatically promote a listing block without an explicit style to a source block if language is set (#1117)
  • remove the 2-character (i.e., "") quote block syntax
  • don't allow block role to inherit from document attribute; only look for role in block attributes (#1944)
  • split out functionality of -w CLI flag (script warnings) from -v CLI flag (verbose logging) (#3030)
  • log possible invalid references at info level (#3030)
  • log dropped lines at info level when attribute-missing=drop-line (#2861)
  • honor attribute-missing setting when processing include directives and block macros (#2855)
  • log warning when include directive is not resolved due to missing attribute or blank target; always include warning in output document (#2868)
  • use the third argument of AbstractNode#attr / AbstractNode#attr? to set the name of a fallback attribute to look for on the document (#1934)
  • change default value of third argument to Abstractnode#attr / AbstractNode#attr? to nil so attribute doesn't inherit by default (#3059)
  • look for table-frame, table-grid, and table-stripes attributes on document as fallback for frame, grid, and stripes attributes on table (#3059)
  • always assume the target of a shorthand interdocument xref is a reference to an AsciiDoc document (source-to-source) (#3021)
  • if the target of a formal xref macro has a file extension, assume it's a path reference (#3021)
  • never assume target of a formal xref macro is a path reference unless a file extension or fragment is present (#3021)
  • encode characters in URI to comply with RFC-3986
  • implement full support for styled xreftext in manpage converter (#3077)
  • allow the ID and role properties to be set on a list item of ordered and unordered lists via the API (#2840)
  • yield processor instance to registration block for document processor if block has non-zero arity (i.e., has parameters)
  • add Document#parsed? method to check whether document has been parsed
  • modify Cell class to extend from AbstractBlock instead of AbstractNode (#2963)
  • implement block? and inline? methods on Column, both which return false (#2963)
  • drop verse table cell style (treat as normal table cell) (#3111)
  • allow negated subs to be specified on inline pass macro (#2191)
  • log warning if footnoteref macro is found and compat mode is not enabled (#3114)
  • log info message if inline macro processor returns a String value (#3176)
  • apply subs to Inline node returned by inline macro processor if subs attribute is specified (#3178)
  • add create_inline_pass helper method to base extension processor class (#3178)
  • log debug message instead of warning if block style is unknown (#3092)
  • allow backend to delegate to a registered backend using the syntax synthetic:delegate when using custom templates (e.g., slides:html) (#891)
  • AbstractBlock#find_by looks inside AsciiDoc table cells if traverse_documents selector option is true (#3101)
  • AbstractBlock#find_by finds table cells, which can be selected using the :table_cell context in the selector (#2524)
  • allow ampersand to be used in e-mail address (#2553)
  • propogate ID assigned to inline passthrough (#2912)
  • rename control keywords in find_by to better align with the standard NodeFilter terminology
  • stop find_by iteration if filter block returns :stop directive
  • rename header_footer option to standalone (while still honoring header_footer for backwards compatibility) (#1444)
  • replace anchors and xrefs before footnotes (replace footnotes last in macros substitution group)
  • apply substitution for custom inline macro before all other macros
  • only promote index terms automatically (A, B, C becomes A > B > C + B > C + C) if indexterm-promotion option is set on document (#1487)
  • add support for see and see-also on index terms; parse attributes on indexterm macros if text contains = (#2047)
  • drop :indexterms table from document catalog (in preparation for solution to #450 in a 2.x release)
  • load additional languages for highlight.js as defined in the comma-separated highlightjs-languages attribute (#3036)
  • log warning if conditional expression in ifeval directive is invalid (#3161)
  • drop lines that contain an invalid preprocessor directive (#3161)
  • rename AbstractBlock#find_by directives; use :prune in place of :skip_children and :reject in place of :skip
  • convert example block into details/summary tag set if collapsible option is set; open by default if open option is set (#1699)
  • substitute replacements in author values used in document header (#2441)
  • require space after semi-colon that separates multiple authors (#2441)
  • catalog inline anchors at start of callout list items (#2818) (@owenh000)
  • add parse_attributes helper method to base extension Processor class (#2134)

Improvements

  • propagate document ID to DocBook output (#3011)
  • always store section numeral as string; compute roman numeral for part at assignment time (@vmj)
  • refactor code to use modern Hash syntax
  • define LIB_DIR constant; rename *_PATH constants to *_DIR constants to be consistent with RubyGems terminology (#2764)
  • only define ROOT_DIR if not already defined (for compatibility with Asciidoctor.js)
  • move custom docinfo content in footer below built-in docinfo content in footer in HTML converter (#3017)
  • read and write files using File methods instead of IO methods (#2995)
  • value comparison in AbstractNode#attr? is only performed if expected value is truthy
  • align default CodeRay style with style for other syntax highlighters (#2106)
  • ensure linenos class is added to linenos column when source highlighter is pygments and pygments-css=style
  • rename CSS class of Pygments line numbering table to linenotable (to align with Rouge) (#1040)
  • remove unused Converter#convert_with_options method (#2891)
  • add -e, --embedded CLI flag as alias for -s, --no-header-footer (require long option to specify eRuby impl) (#1444)
  • don't store the options attribute on the block once the options are parsed (#3051)
  • add an options method on AbstractNode to retrieve the set of option names (#3051)
  • pass :input_mtime option to Document constructor; let Document constructor assign docdate/time/year attributes (#3029)
  • never mutate strings; add a frozen_string_literal: true magic comment to top of all Ruby source files (#3054)
  • always use docdate and doctime to compute docyear and docdatetime (#3064)
  • rename PreprocessorReader#exceeded_max_depth? to PreprocessorReader#exceeds_max_depth? and return nil if includes are disabled
  • stop populating :ids table in document catalog (#3084)
  • always use :refs table in document catalog to look for registered IDs (#3084)
  • don't compute and store reference text in document catalog (#3084)
  • populate reference text table lazily for resolving ID by reference text (#3084)
  • don't store fallback reference text on :bibref node (#3085)
  • call AbstractNode#reftext instead of AbstractNode#text to retrieve reference text for bibref node (#3085)
  • only map unparsed attrlist of inline macro to target when format is short
  • add clearer exception message when source data is binary or has invalid encoding (#2884)
  • rename context for table cell and table column to :table_cell and :table_column, respectively
  • rename hardbreaks document attribute to hardbreaks-option; retain hardbreaks as a deprecated alias (#3123)
  • extend TLD for implicit e-mail addresses to 5 characters (#3154)
  • truncate with precision (instead of rounding) when computing absolute width for columns in DocBook output (#3131)
  • drop legacy LaTeX math delimiters (e.g, $..$) if present (#1339)
  • use proper terminology in warning message about mismatched preprocessor directive (#3165)
  • rename low-level extension attribute name :pos_attrs to :positional_attrs
  • mark default_attrs extension DSL method deprecated in favor of default_attributes
  • upgrade MathJax to 2.7.5

Bug Fixes

  • fix crash caused by inline passthrough macro with the macros sub clearing the remaining passthrough placeholders (#3089)
  • fix crash if ifeval directive is missing expression (#3164)
  • prevent relative leveloffset from making section level negative and causing hang (#3152)
  • don't fail to parse Markdown-style quote block that only contains attribution line (#2989)
  • enforce rule that Setext section title must have at least one alphanumeric character; fixes problem w/ block nested inside quote block (#3060)
  • apply header subs to doctitle value when assigning it back to the doctitle document attribute (#3106)
  • don't fail if value of pygments-style attribute is not recognized; gracefully fallback to default style (#2106)
  • do not alter the $LOAD_PATH (#2764)
  • fix crash if stem block is empty (#3118)
  • remove conditional comment for IE in output of built-in HTML converter; fixes sidebar table of contents (#2983)
  • fix styling of source blocks with linenums enabled when using prettify as syntax highlighter (#640)
  • update default stylesheet to support prettify themes (#3020)
  • remove hard-coded color values on source blocks in default stylesheet (#3020)
  • add fallback if relative path cannot be computed because the paths are located on different drives (#2944)
  • ignore explicit section level style (#1852)
  • don't eat space before callout number in source block if line-comment attribute is empty (#3121)
  • check if type is defined in a way that's compatible with autoload
  • fix invalid check for DSL in extension class (previously always returned true)
  • scope constant lookups (#2764)
  • use byteslice instead of slice to remove BOM from string (#2764)
  • don't fail if value of -a CLI option is empty string or equals sign (#2997)
  • allow failure level of CLI to be set to info
  • Reader#push_include should not fail if data is nil
  • fix deprecated ERB trim mode that was causing warning (#3006)
  • move time anchor after query string on vimeo video to avoid dropping options
  • allow color for generic text, line numbers, and line number border to inherit from Pygments style (#2106)
  • enforce and report relative include depth properly (depth=0 rather than depth=1 disables nested includes)
  • allow outfilesuffix to be soft set from API (#2640)
  • don't split paragraphs in table cell at line that resolves to blank if adjacent to other non-blank lines (#2963)
  • initialize the level to WARN when instantiating the NullLogger
  • next_adjacent_block should not fail when called on dlist item (#3133)
  • don't suppress browser styles for summary tag; add pointer cursor and panel margin bottom (#3155)
  • only consider TLDs in e-mail address that have ASCII alpha characters
  • allow underscore in domain of e-mail address

Build / Infrastructure

  • clear SOURCE_DATE_EPOCH env var when testing timezones (PR #2969) (@aerostitch)
  • remove compat folder (removes the AsciiDoc Python config file that provides pseudo-compliance with Asciidoctor and a stylesheet for an old Font Awesome migration)
  • add Ruby 2.6.0 to build matrix
  • stop running CI job on unsupported versions of Ruby
  • exclude test suite, build script, and Gemfile from gem (#3044)
  • split build tasks out into individual files
asciidoctor - v2.0.0 Release Candidate 1

Published by mojavelinux over 5 years ago

This is the first release candidate for Asciidoctor 2.0.0. Once Asciidoctor 2.0.0 is released, the project will adhere to semantic versioning and only support versions of Ruby that themselves are in an active cycle. Only minor changes and bug fixes will be made between this version and the final release.

Consult the CHANGELOG for details about what's to expect in 2.0.0. The full release notes will be deferred until the final version is available.

asciidoctor - v1.5.8

Published by mojavelinux almost 6 years ago

Summary

This release was made possible by support from our Change Maker sponsor, Okta.

According to the release notes for 1.5.7, there wasn't supposed be another releases in the 1.5.x line. However, due to scheduling conflicts, the 2.0.0 release got pushed back. So this semi-major release was cut to get us back on track.

This release consists of over 50 enhancements and fixes that accumulated in the meantime, as well as a response to a CVE and several updates needed for Asciidoctor.js. Although unintentional, this release also includes a 10% boost in performance.

A huge thanks to @zelivans for throwing curveballs at the processor and uncovering numerous hard-to-catch bugs, including one which became CVE-2018-18385. Fixes for all those issues have been included in this release.

The most significant change in this release is that unordered and ordered lists can be nested to any depth. Also related to lists, it's now possible to specify auto-numbered callout numbers using <.>. And guard comments in front of callouts are preserved if font-based icons are not enabled. You can now set a starting line number for numbered source blocks when using Pygments or CodeRay for source highlighting in HTML or when converting to DocBook. Attribute references in the target of a custom block macro or the attrlist of an include directive are now replaced automatically. If the part-signifier and/or chapter-signifier attributes are set, the values of these attributes are prepended to the part and chapter title, respectively.

If you're using the API, there are several nice enhancements as well. It's now possible to short-circuit the AbstractBlock#find_by method once a match is found or you want to abort the search. The authors of the document can be retrieved neatly as an array. The imagesdir that was set at the location of an image is now recorded on the image node as well as in the catalog.

Thanks to @jwehmschulte for translating the README into German, to @mogztter for syncing the French translation, @jonasbjork for adding Swedish translations for the built-in attributes, @BojanStipic for updating the Serbian translations for the built-in attributes, and @stoeps13 for improving the Windows installation instructions. Also thanks to @junaruga for replacing the deprecated thread_safe gem integration with concurrent-ruby.

Following this release, the master branch will transition to 2.0.0 and semantic versioning (really, this time). Work will continue on the new documentation site for Asciidoctor that's based on Antora.

Distributions

Asciidoctor is also packaged for Fedora, Debian, Ubuntu, Alpine Linux, OpenSUSE, and Homebrew. Please use the system's package manager to install the package named asciidoctor.

Release meta

Released on: 2018-10-28
Released by: @mojavelinux
Release beer: Trappistes Rochefort 10

Logs: resolved issues | full diff

Credits

This release cycle welcomed in our first Change Maker sponsor, Okta. We want to thank Okta and our other generous sponsors, without whose support Asciidoctor would not be possible. Thank you to all our sponsors for your dedication to improving the state of technical documentation!

Thanks to the following people who contributed to this release:

@zelivans, @mogztter, @graphitefriction, @jwehmschulte, @jonasbjork, @junaruga, @owenh000, @BojanStipic, @aerostitch, @ds26gte, @diguage, @kikijiki, @ztmr, @gilgamaze, @ecki, @sometimesfood, @mperktold, @ilvetz, @pdmayoSFI, and @stoeps13.

A very special thanks to all our awesome supporters on BountySource (Salt) and OpenCollective. Their support provided critical funding for the development of this release and the ongoing development of the project.

You can support this project by becoming a sponsor on OpenCollective. For those still contributing via BountySource, we kindly ask that you switch your donations over to OpenCollective because it's a nicer system and better aligns with our values.

Changelog

Enhancements

  • if set, add value of part-signifier and chapter-signifier attributes to part and chapter titles (#2738)
  • allow position (float) and alignment (align) to be set on video block (#2425)
  • substitute attribute references in attrlist of include directive (#2761)
  • add Document#set_header_attribute method for adding method directly to document header during parsing (#2820)
  • add helper method to extension processor classes to create lists and list items
  • allow ordered and unordered lists to be nested to an arbitrary / unlimited depth (#2854)
  • add prefer DSL method to extension registry and document processor to flag extension as preferred (#2848)
  • allow manname and manpurpose to be set using document attributes; don't look for NAME section in this case (#2810)
  • substitute attribute references in target of custom block macro (honoring attribute-missing setting) (#2839)
  • interpret <.> as an auto-numbered callout in verbatim blocks and callout lists (#2871)
  • require marker for items in callout list to have circumfix brackets (e.g., <1> instead of 1>) (#2871)
  • preserve comment guard in front of callout number in verbatim block if icons is not enabled (#1360)
  • add more conventional styles to quote block when it has the excerpt role (#2092)
  • colspecs can be separated by semi-colon instead of comma (#2798)
  • change AbstractBlock#find_by to respond to StopIteration exception; stop traversal after matching ID (#2900)
  • 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)
  • add API to retrieve authors as array; use API in converters (#1042) (@mogztter)
  • add support for start attribute on source block to set starting line number when converting to DocBook (#2915)
  • track imagesdir for image on node and in catalog (#2779)
  • allow starting line number to be set using start attribute when highighting source block with Pygments or CodeRay (#1742)
  • upgrade highlight.js to 9.13.1

Fixes

  • don't hang on description list item that begins with /// (#2888)
  • don't crash when using AsciiDoc table cell style on column in CSV table (#2817)
  • show friendly error if CSV data for table contains unclosed quote (#2878) (@zelivans)
  • don't crash when attribute entry continuation is used on last line of file (#2880) (@zelivans)
  • treat empty/missing value of named block attribute followed by other attributes (e.g., caption=,cols=2*) as empty string
  • AbstractNode#set_option does nothing if option is already set (PR #2778)
  • allow revnumber to be an attribute reference in revision info line (#2785)
  • use ::File.open instead of ::IO.binread in Reader for Asciidoctor.js compatibility
  • add fallback for timezone when setting doctime
  • preserve UNC path that begins with a double backslash (Windows) (#2869)
  • fix formatting of quote block (indentation) in manpage output (#2792)
  • catalog inline anchors in ordered list items (#2812)
  • detect closing tag on last line with no trailing newline (#2830)
  • process !name@ attribute syntax properly; follow-up to #642
  • change document extension processor DSL methods to return registered extension instance instead of array of instances
  • use fallback value for manname-title to prevent crash in manpage converter
  • consolidate inner whitespace in prose in manpage output (#2890)
  • only apply subs to node attribute value if enclosed in single quotes (#2905)
  • don't hide URI scheme if target of link macro is a bare URI scheme
  • fix crash when child section of part is out of sequence and section numbering is enabled (#2931)
  • fix crash when restoring passthroughs if passthrough role is enclosed in single quotes (#2882, #2883)
  • don't eagerly apply subs to inline attributes in general
  • make sure encoding of output file is UTF-8
  • prevent warning about invalid :asciidoc option when using custom templates with Slim 4 (#2928)
  • use Pathname#relative_path_from to compute relative path to file outside of base directory (#2108)

Improvements

  • change trailing delimiter on part number to colon (:) (#2738)
  • interpret open line range as infinite (#2914)
  • rename number property on AbstractBlock to numeral, but keep number as deprecated alias
  • use CSS class instead of hard-coded inline float style on tables and images (#2753)
  • use CSS class instead of hard-coded inline text-align style on block images (#2753)
  • allow hyphen to be used custom block macro name as long as it's not the first character (#2620)
  • use shorthands %F and %T instead of %Y-%m-%d and %H:%M:%S to format time
  • read file in binary mode whenever contents are being normalized
  • use .drop(0) to duplicate arrays (roughly 1.5x as fast as .dup)
  • only recognize a bullet glyph which is non-repeating as an unordered list marker
  • rename SyntaxDsl module to SyntaxProcessorDsl (internal)
  • fail if name given to block macro contains illegal characters
  • normalize all whitespace in value of manpurpose attribute
  • make space before callout number after custom line comment character optional
  • parse attrlist on inline passthrough as a shorthand attribute syntax or literal role (#2910)
  • add support for range syntax (.. delimiter) to highlight attribute on source block (#2918)
  • add support for unbounded range to highlight attribute on source block (#2918)
  • automatically assign title and caption on image block if title is set on custom block source (#2926)
  • use OS independent timezone (UTC or time offset) in doctime and localtime attributes (#2770)
  • report correct line number for inline anchor with id already in use (#2769)
  • generate manpage even if input is non-conforming or malformed (#1639)
  • allow authorinitials for single author to be overridden (#669)

Documentation

  • translate README into German (#2829) (@jwehmschulte)
  • sync French translation of README (@mogztter)
  • add Swedish translation of built-in attributes (PR #2930) (@jonasbjork)

Build / Infrastructure

  • replace thread_safe with concurrent-ruby (PR #2822) (@junaruga)
asciidoctor - v1.5.7.1

Published by mojavelinux over 6 years ago

This release was made possible by support from our Change Maker sponsor, Okta.

Summary

A patch release to fix a regression in list parsing and makes accommodations for Linux packaging.

Distributions

Asciidoctor is also packaged for Fedora, Debian, Ubuntu, Alpine Linux, OpenSUSE, and Homebrew. Please use the system's package manager to install the package named asciidoctor.

Release meta

Released on: 2018-05-10
Released by: @mojavelinux
Release beer: Boulevard Grand Cru

Logs: resolved issues | full diff

Credits

We'd like to take this opportunity to thank Okta, as well as our other awesome sponsors, without whose support Asciidoctor would not be possible. Thank you sponsors for your dedication to improving the state of technical documentation!

If you'd like to support this project, you can become a sponsor on OpenCollective or BountySource (Salt). This support provides critical funding for the ongoing development of the project.

Thanks to the following people who contributed ideas, code, or documentation to this release: @aerostitch

Changelog

Fixes

  • fix regression where block attributes where being inherited by sibling blocks in a complex list item (#2771)
  • don't apply lead styling to first paragraph in nested document (AsciiDoc table cell) if role is present (#2624)

Build / Infrastructure

  • drop obsolete logic in rake build (@aerostitch)
  • allow lib dir to be overridden for tests using an environment variable (PR #2758) (@aerostitch)
  • load asciidoctor/version from LOAD_PATH in gemspec if not found locally (PR #2760) (@aerostitch)
asciidoctor - v1.5.7

Published by mojavelinux over 6 years ago

This release was made possible by support from our Change Maker sponsor, Okta.

Summary

Continuing with the Asciidoctor tradition of major patch releases, this release resolves over 100 issues. As impressive as that sounds, it's time to break with this tradition. Starting with the next major release (v2.0.0), Asciidoctor will switch to semantic versioning (SemVer). By adopting SemVer, fixes can be released sooner and the version number will reflect the impact of the changes being introduced. The next major release will also drop support for versions of Ruby that are no longer maintained (which includes Ruby 1.8.7 through 2.1 or 2.2).

Now on to what's new and noteworthy...

The most significant change in this release is that all warning and error messages are now routed through a logger (finally!). Many of the messages also include context about the source location (file, dir, path, lineno), which can be useful for integrations and tooling. You can even force the CLI to exit with a non-successful exit code if the messages reach the threshold specified using the --failure-level option. When using the API, you can feed your own logger to the LoggerManager to capture, route, or observe the messages.

Good log messages demand good line number tracking. In this release, the line numbers reporting is much more accurate, especially for lists and tables. When reported, line numbers will be within a single line of the source of the problem.

Section ID generation has been enhanced. XML tags are now dropped from a section title before an ID is generated from it, and character references and non-word characters (except hyphens, dots, and spaces) are dropped instead of being replaced with the idseparator character. This behavior is more compatible with other systems (i.e., GitHub) and produces nicer IDs. But there's a chance that auto-generated IDs you're relying on will change, so please be sure to check.

Other notable changes include numbering of parts when partnums is set (including xref text when using xrefstyle), cataloging and validating inline anchors at the start of a list item or table cell, consolidation of the footnote and footnoteref macros into the footnote macro, allowing table stripes to be controlled using the stripes attribute, support for soft unsetting an attribute from the API or CLI using name!@, allowing the soft set modifier to be placed at the end of the attribute name instead of its value (e.g., icons@=font), intelligent parsing of text as attributes in the xref and link macros, hard line breaks in AsciiMath equations, allowing the position of section anchors to be configured, adding source location information to additional nodes when the sourcemap option is specified, allowing a block title to begin with a period, and support for shadow man pages. To get a full list of what changed, consult out the changelog below.

This release also launched a bright new logo for the project. Thanks to @mmajko, @graphitefriction, and @Mogztter for helping to turn ideas into action and producing a set of logos. You can find the logo files in the brand repository.

Asciidoctor logo

Work has also begun on a new documentation portal for Asciidoctor based on Antora. This new site will include documentation for the AsciiDoc language, the Asciidoctor processor, and other components in the Asciidoctor ecosystem.

Distributions

Asciidoctor is also packaged for Fedora, Debian, Ubuntu, Alpine Linux, OpenSUSE, and Homebrew. Please use the system's package manager to install the package named asciidoctor.

Release meta

Released on: 2018-05-01
Released by: @mojavelinux
Release beer: Barrel Aged Ten Fidy

Logs: resolved issues | full diff

Credits

This release cycle welcomed in our first Change Maker sponsor, Okta. We'd like to take this opportunity to thank Okta, as well as our other awesome sponsors, without whose support Asciidoctor would not be possible. Thank you sponsors for your dedication to improving the state of technical documentation!

If you'd like to support this project, you can become a sponsor on OpenCollective or BountySource (Salt). This support provides critical funding for the ongoing development of the project.

Thanks to the following people who contributed ideas, code, or documentation to this release:

@mogztter, @graphitefriction, @aerostitch, @tiwai, @dimztimz, @bk2204, @PauloFrancaLacerda, @seikichi, @akosma, @ahus1, @flashcode, @mmajko, @miltador, @errier, @vivien, @wotsushi, @sindzicat, @zmwangx, @aokiplayer, @chickenkiller, @mareknovotny, and @huiyifyj.

Changelog

Enhancements

  • BREAKING: drop XML tags, character refs, and non-word characters (except hyphen, dot, and space) when auto-generating section IDs (#794)

    • hyphen, dot, and space are replaced with value of idseparator, if set; otherwise, spaces are dropped
  • BREAKING: disable interdocument xrefs in compat mode (#2740)

  • pass non-AsciiDoc file extensions in target of xref through unprocessed (#2740)

  • process any known AsciiDoc file extension in target of shorthand interdocument xref if hash is also present (e.g., <<target.asciidoc#,text>>) (#2740)

  • only allow .adoc to be used in target of formal xref macro to create an interdocument xref (with or without a hash) (#2740)

  • allow attribute names to contain any word character defined by Unicode (#2376, PR #2393)

  • do not recognize attribute entry line if name contains a colon (PR #2377)

  • route all processor messages through a logger instead of using Kernel#warn (#44, PR #2660)

  • add MemoryLogger for capturing messages sent to logger into memory (#44, PR #2660)

  • add NullLogger to prevent messages from being logged (#44, PR #2660)

  • log message containing source location / cursor as an object; provides more context (#44, PR #2660)

  • pass cursor for include file to :include_location key in message context (PR #2729)

  • add :logger option to API to set logger instance (#44, PR #2660)

  • add --failure-level=LEVEL option to CLI to force non-zero exit code if specified logging level is reached (#2003, PR #2674)

  • parse text of xref macro as attributes if attribute signature found (equal sign) (#2381)

  • allow xrefstyle to be specified per xref by assigning the xrefstyle attribute on the xref macro (#2365)

  • recognize target with .adoc extension in xref macro as an interdocument xref

  • resolve nested includes in remote documents relative to URI (#2506, PR #2511)

  • support !name@ (preferred), !name=@, name!@, and name!=@ syntax to soft unset attribute from API or CLI (#642, PR #2649)

  • allow modifier to be placed at end of name to soft set an attribute (e.g., icons@=font) (#642, PR #2649)

  • interpret false attribute value defined using API as a soft unset (#642, PR #2649)

  • number parts if partnums attribute is set (#2298)

  • allow footnote macro to define or reference footnote reference (footnoteref macro now deprecated) (#2347, PR #2362)

  • allow custom converter to be used with custom templates; converter must declare that it supports templates (#2619)

  • allow manpage path for manpage help topic to be specified using ASCIIDOCTOR_MANPAGE_PATH environment variable (PR #2653) (@aerostitch)

  • if manpage cannot be found in default path inside gem, use man -w asciidoctor to resolve installed path (PR #2653)

  • uncompress contents of manpage for manpage help topic if path ends with .gz (PR #2653) (@aerostitch)

  • define source and manual refmiscinfo entries in manpage output if manual and source attributes are defined (PR #2636) (@tiwai)

  • add syntax for adding hard line breaks in block AsciiMath equations (#2497, PR #2579) (@dimztimz)

  • add positioning option to sectanchors attribute (sectanchors=before or sectanchors=after) (#2485, PR #2486)

  • allow table striping to be configured using the stripes attribute (even, odd, all, or none) or stripes roles on table (#1365, PR #2588)

  • add rel=nofollow property to links (text or image) when nofollow option is set (#2605, PR #2692)

  • populate Document#source_location when sourcemap option is enabled (#2478, PR #2488)

  • populate source_location property on list items when sourcemap option is set on document (PR #2069) (@mogztter)

  • populate Table::Cell#source_location when sourcemap option is enabled (#2705)

  • allow local include to be flagged as optional by setting optional option (#2389, PR #2413)

  • allow block title to begin with a period (#2358, PR #2359)

  • catalog inline anchor at start of list items in ordered and unordered lists, description list terms, and table cells (#2257)

  • register document in catalog if id is set; assign reftext to document attributes if specified in a block attribute line (#2301, PR #2428)

  • allow automatic width to be applied to individual columns in a table using the special value ~ (#1844)

  • use the quote element in DocBook converter to represent smart quotes (#2272, PR #2356) (@bk2204)

  • parse and pass all manpage names to output document master (i.e., shadow man pages) (#1811, #2543, PR #2414)

  • parse credit line of shorthand quote block as block attributes; apply normal subs to credit line in shorthand quote blocks (#1667, PR #2452)

  • populate copyright element in DocBook output from value of copyright attribute (#2728)

  • preserve directories if source dir and destination dir are set (#1394, PR #2421)

  • allow linkcss to be unset from API or CLI when safe mode is secure

  • convert quote to epigraph element in DocBook output if block has epigraph role (#1195, PR #2664) (@bk2204)

  • number special sections in addition to regular sections when sectnums=all (#661, PR #2463)

  • upgrade to Font Awesome 4.7.0 (#2569)

  • upgrade to MathJax 4.7.4 (#2190)

Bug fixes

  • set :to_dir option value correctly when output file is specified (#2382)
  • preserve leading indentation in contents of AsciiDoc table cell if contents starts with a newline (#2712)
  • the shorthand syntax on the style to set block attributes (id, roles, options) no longer resets block style (#2174)
  • match include tags anywhere on line as long as offset by word boundary on left and space or newline on right (#2369, PR #2683)
  • warn if an include tag specified in the include directive is unclosed in the included file (#2361, PR #2696)
  • use correct parse mode when parsing blocks attached to list item (#1926)
  • fix typo in gemspec that removed README and CONTRIBUTING files from the generated gem (PR #2650) (@aerostitch)
  • preserve id, role, title, and reftext on open block when converting to DocBook; wrap in <para> or <formalpara> (#2276)
  • don't turn bare URI scheme (no host) into a link (#2609, PR #2611)
  • don't convert inter-document xref to internal anchor unless entire target file is included into current file (#2200)
  • fix em dash replacement in manpage converter (#2604, PR #2607)
  • don't output e-mail address twice when replacing bare e-mail address in manpage output (#2654, PR #2665)
  • use alternate macro for monospaced text in manpage output to not conflict w/ AsciiDoc macros (#2751)
  • enforce that absolute start path passed to PathResolver#system_path is inside of jail path (#2642, PR #2644)
  • fix behavior of PathResolver#descends_from? when base path equals / (#2642, PR #2644)
  • automatically recover if start path passed to PathResolver#system_path is outside of jail path (#2642, PR #2644)
  • re-enable left justification after invoking tmac URL macro (#2400, PR #2409)
  • don't report warning about same level 0 section multiple times (#2572)
  • record timings when calling convert and write on Document (#2574, PR #2575)
  • duplicate header attributes when restoring; allows header attributes to be restored an arbitrary number of times (#2567, PR #2570)
  • propagate :catalog_assets option to nested document (#2564, PR #2565)
  • preserve newlines in quoted CSV data (#2041)
  • allow opening quote around quoted CSV field to be on a line by itself
  • output table footer after body rows (#2556, PR #2566) (@PauloFrancaLacerda)
  • move @page outside of @media print in default stylesheet (#2531, PR #2532)
  • don't throw exception if text of dd node is nil (#2529, PR #2530)
  • don't double escape ampersand in manpage output (#2525) (@dimztimz)
  • fix crash when author_1 attribute is assigned directly (#2481, PR #2487)
  • fix CSS for highlighted source block inside colist (#2474, PR #2490)
  • don't append file extension to data uri of admonition icon (#2465, PR #2466)
  • fix race condition in Helpers.mkdir_p (#2457, PR #2458)
  • correctly process nested passthrough inside unconstrained monospaced (#2442, PR #2443)
  • add test to ensure ampersand in author line is not double escaped (#2439, PR #2440)
  • prevent footnote ID from clashing with auto-generated footnote IDs (#2019)
  • fix alignment of icons in footnote (#2415, PR #2416)
  • add graceful fallback if pygments.rb fails to return a value (#2341, PR #2342)
  • escape specialchars in source if pygments fails to highlight (#2341)
  • do not recognize attribute entry line if name contains colon (PR #2377)
  • allow flow indexterm to be enclosed in round brackets (#2363, PR #2364)
  • set outfilesuffix to match file extension of output file (#2258, PR #2367)
  • add block title to dlist in manpage output (#1611, PR #2434)
  • scale text to 80% in print styles (#1484, PR #2576)
  • fix alignment of abstract title when using default stylesheet (PR #2732)
  • only set nowrap style on table caption for auto-width table (#2392)
  • output non-breaking space for man manual if absent in DocBook output (PR #2636)
  • don't crash if stem type is not recognized (instead, fallback to asciimath)

Improvements / Refactoring

  • BREAKING: rename table spread role to stretch (#2589, PR #2591)
  • use cursor marks to track lines more accurately; record cursor at the start of each block, list item, or table cell (PR #2701, PR #2547) (@seikichi)
  • log a warning message if an unterminated delimited block is detected (#1133, PR #2612)
  • log a warning when nested section is found inside special section that doesn't support nested sections (#2433, PR #2672)
  • read files in binary mode to disable automatic endline coercion (then explicitly coerce to UTF-8) (PR #2583, PR #2694)
  • resolve / expand parent references in start path passed to PathResolver#system_path (#2642, PR #2644)
  • update PathResolver#expand_path to resolve parent references (#2642, PR #2644)
  • allow start path passed to PathResolver#system_path to be outside jail if target brings resolved path back inside jail (#2642, PR #2644)
  • don't run File.expand_path on Dir.pwd (assume Dir.pwd is absolute) (#2642, PR #2644)
  • posixify working_dir passed to PathResolver constructor if absolute (#2642, PR #2644)
  • optimize detection for footnote* and indexterm* macros (#2347, PR #2362)
  • log a warning if a footnote reference cannot be resolved (#2669)
  • set logger level to DEBUG when verbose is enabled
  • coerce value of :template_dirs option to an Array (PR #2621)
  • make block roles specified using shorthand syntax additive (#2174)
  • allow paragraph to masquerade as open block (PR #2412)
  • move callouts into document catalog (PR #2394)
  • document ID defined in block attribute line takes precedence over ID defined inside document title line
  • don't look for link and window attributes on document when resolving these attributes for an image
  • when linkattrs is set, only parse attributes in link macro if equals is present
  • skip line comments in name section of manpage (#2584, PR #2585)
  • always activate extension registry passed to processor (PR #2379)
  • skip extension registry activation if no groups are registered (PR #2373)
  • don't apply lead styling to first paragraph if role is present (#2624, PR #2625)
  • raise clearer exception when extension class cannot be resolved (#2622, PR #2623)
  • add methods to read results from timings (#2578, PR #2580)
  • collapse bottom margin of last block in AsciiDoc table cell (#2568, PR #2593)
  • set authorcount to 0 if there are no authors (#2519, PR #2520)
  • validate fragment of interdoc xref that resolves to current doc (#2448, PR #2449)
  • put id attribute on tag around phrase instead of preceding anchor (#2445, PR #2446)
  • alias Document#title method to no args Document#doctitle method (#2429, PR #2432)
  • upgrade missing or unreadable include file to an error (#2424, PR #2426)
  • add compliance setting to disable natural cross references (#2405, PR #2460)
  • make hash in inter-document xref target optional if target has extension (#2404, PR #2406)
  • only append output file extension to interdocument xref if file extension of target is empty or a known AsciiDoc extension (#2404, PR #2406)
  • add CSS class to part that matches role (#2401, PR #2402)
  • add fit-content class to auto-width table (#2392)
  • automatically assign parent reference when adding node to parent (#2398, PR #2403)
  • leave inline anchor in section title as is if section has ID (#2243, PR #2427)
  • align and improve error message about invalid use of partintro between HTML5 and DocBook converters
  • rephrase warning when level 0 sections are found and the doctype is not book
  • report correct line number when duplicate bibliography anchor is found
  • only warn if thread_safe gem is missing when using built-in template cache
  • drop deprecated compact option from CLI; remove from manpage
  • use more robust mechanism for lazy loading the asciimath gem
  • use consistent phrase to indicate the processor is automatically recovering from a problem
  • change Reader#skip_comment_lines to not return skipped lines
  • add styles to default stylesheet for display on Kindle (kf8) devices (PR #2475)
  • purge render method from test suite (except to verify alias)
  • make path_resolver available as property on Document
  • use 3-value shorthand for CSS property values in default stylesheet, where possible

Documentation

  • translate section-refsig into German (PR #2633) (@ahus1)
  • synchronize French README with English version (PR #2637) (@flashcode)

Build / Infrastructure

  • create an official logo for the project (#48) (@mmajko)
  • update Ruby versions in AppVeyor build matrix (PR #2388) (@miltador)
  • add mailinglist, changelog, source, and issues URI to gem spec
  • allow blocks and substitutions tests to be run directly
  • an asciidoctor formula is now available for Homebrew (@zmwangx)
asciidoctor - v1.5.6.2

Published by mojavelinux over 6 years ago

This release is intended for Asciidoctor.js to be used as the foundation of the Asciidoctor 1.5.6 release. In addition to fixing compatibility issues with Asciidoctor.js, it includes a few critical fixes and improvements taken from the 1.5.7 development iteration. One of those is the ability to use multiple xref macros on the same line.

The most notable improvement in this release is that the logic for resolving the path of an include directive has been moved to a method. This method is now overridden in Asciidoctor.js in order to properly resolve the path of an include directive in the browser environment.

If you're using Asciidoctor Ruby, you're welcome to upgrade to 1.5.6.2. However, since most of the changes are designed for compatibility with Asciidoctor.js, you won't notice much change and may want to just wait for the 1.5.7 release.

Distributions

Asciidoctor is also packaged for Fedora, Debian, Ubuntu, Mint, Alpine Linux, and OpenSUSE. Please use the system's package manager to install the package named asciidoctor.

Changelog

Bug fixes

  • fix match for multiple xref macros w/ implicit text in same line (#2450)
  • PathResolver#root? returns true for absolute URL in browser env (#2595)

Improvements / Refactoring

  • resolve include target correctly in browser (xmlhttprequest IO module) (#2599, #2602)
  • extract method to resolve include path (allowing Asciidoctor.js to override) (#2610)
  • don't expand docdir value passed to API (#2518)
  • check mandatory attributes when creating an image block (#2349)
  • drop is_ prefix from boolean methods in PathResolver (PR #2587)
  • change Reader#replace_next_line to return true
  • organize methods in AbstractNode

Build / Infrastructure

  • clean up dependencies
  • add Ruby 2.5.0 to CI build matrix (PR #2528)
  • update nokogiri to 1.8.0 for ruby >= 2.1 (PR #2380)

Release meta

Released on: 2017-03-20
Released by: @mojavelinux
Release beer: Bonfire WtFO Double IPA

Logs: resolved issues | full diff

Credits

A huge thanks to @Mogztter for helping to work out the changes necessary in core to allow the include directive to be properly supported in Asciidoctor.js.

A very special thanks to all the awesome supporters of the Asciidoctor Salt campaign who provided critical funding for the development of this release and the ongoing development of the project.

asciidoctor - v1.5.6.1

Published by mojavelinux about 7 years ago

This release fixes regressions and integration problems that were introduced in the 1.5.6 release. Mostly notably, compatibility with Asciidoctor Diagram was restored, content in a delimited block after a skipped block is preserved, attributes are substituted in the target of inline image occurring in a section or block title, and an unnecessary warning when attempting to copy the stylesheet is suppressed. We're also happy to report that Travis CI now takes care of releasing the gem to RubyGems.org. Additional changes can be found in the changelog below.

If you're upgrading from an earlier version, you're advised to skip 1.5.6 and move directly to 1.5.6.1. Downstream projects, such as Asciidoctor.js and AsciidoctorJ, will based their 1.5.6 release on this version rather than 1.5.6.

Distributions

Asciidoctor is also packaged for Fedora, Debian, Ubuntu, Mint, Alpine Linux, and OpenSUSE. Please use the system's package manager to install the package named asciidoctor.

Changelog

Bug fixes

  • continue to read blocks inside a delimited block after content is skipped (PR #2318)
  • don't create an empty paragraph for skipped content inside a delimited block (PR #2319)
  • allow the subs argument of Substitutors#apply_subs to be nil
  • coerce group name to symbol when registering extension (#2324)
  • eagerly substitute attributes in target of inline image macro (#2330)
  • don't warn if source stylesheet can't be read but destination already exists (#2323)
  • track include path correctly if path is absolute and outside of base directory (#2107)
  • preprocess second line of setext section title (PR #2321)
  • preprocess second line of setext discrete heading (PR #2332)
  • return filename as relative path if filename doesn't share common root with base directory (#2107)

Improvements / Refactoring

  • change default text for inter-document xref (PR #2316)
  • add additional tests to test behavior of Reader#peek_lines
  • parse revision info line correctly that only has version and remark; add missing test for scenario
  • rename AtxSectionRx constant to AtxSectionTitleRx for consistency with SetextSectionTitleRx constant
  • use terms "atx" and "setext" to refer to section title syntax (PR #2334)
  • rename HybridLayoutBreakRx constant to ExtLayoutBreakRx
  • change terminology from "floating title" to "discrete heading"
  • consolidate skip blank lines and check for end of reader (PR #2325)
  • have Reader#skip_blank_lines report end of file (PR #2325)
  • don't mix return type of Parser.build_block method (PR #2328)
  • don't track eof state in reader (PR #2320)
  • use shift instead of advance to consume line when return value isn't needed (PR #2322)
  • replace terminology "floating title" with "discrete heading"
  • remove unnecessary nil_or_empty? checks in substitutor
  • leverage built-in assert / refute methods in test suite

Build / Infrastructure

  • config Travis CI job to release gem (PR #2333)
  • add SHA1 hash to message used for triggered builds
  • trigger build of AsciidoctorJ on every change to core
  • trigger build of Asciidoctor Diagram on every change to core

Release meta

Released on: 2017-07-23
Released by: @mojavelinux
Release beer: She'brew Double IPA

Logs: resolved issues | full diff

Credits

Thanks to the following people who contributed to this release:

@Mogztter, @JBR69, @robertpanzer, @ztmr, and @pepijnve.

Special thanks goes to @vogella for providing additional financial support following the 1.5.6 release.

A very special thanks to all the awesome supporters of the Asciidoctor Salt campaign who provided critical funding for the development of this release and the ongoing development of the project.

asciidoctor - v1.5.6

Published by mojavelinux over 7 years ago

This iteration began as a minor release and morphed into one of the most important and substantial releases to date. This release brings several landmark features, major performance improvements (25% increase in speed), critical bug fixes, and lots of important internal restructuring.

The most recognizable new feature is surely the formal cross reference text (e.g., Figure 1, “Architecture”). To support this feature, the references table is now populated with nodes instead of just reference text, making it easier for extensions to use this information. Additionally, bibliography anchors now support reference text and more warnings have been added if references are invalid.

There are also major enhancements to partial includes, which can now be used to exclude in addition to including tagged regions. In the area of security, rel="noopener" attribute is added to all links that target _blank. Block extensions now have access to the context of the block that was matched via the cloaked-context attribute. In the bug category, complex content on callout list items is retained in HTML output, the operation logic for ifndef has been made compliant, lines that shouldn't be recognized aren't, and substitutions are applied more consistently and accurately.

But that's just a partial summary. To get the whole story, check out the changelog below.

Distributions

Asciidoctor is also packaged for Fedora, Debian, Ubuntu, Mint, Alpine Linux, and OpenSUSE. Please use the system's package manager to install the package named asciidoctor.

Changelog

Enhancements

  • use custom cross reference text if xrefstyle attribute is set (full, short, basic) (#858, #1132)
  • store referenceable nodes under refs key in document catalog (PR #2220)
  • apply reftext substitutions (specialchars, quotes, replacements) to value returned by reftext method (PR #2220)
  • add xreftext method to AbstractBlock, Section, and Inline to produce formatted text for xref (PR #2220)
  • introduce attributes chapter-refsig, section-refsig, and appendix-refsig to set reference signifier for chapter, section, and appendix, respectively (PR #2220)
  • add rel="noopener" to links that target _blank or when noopener option is set (#2071)
  • add option to exclude tags when including a file (#1516)
  • add meta for shortcut icon if favicon attribute is set (#1574)
  • allow use of linenums option to enable line numbers on a source block (#1981)
  • allow extension groups to be unregistered individually (#1701)
  • catalog bibliography anchors and capture reftext (#560, #1562)
  • automatically add bibliography style to unordered list in bibliography section (#1924)
  • disable startinline option when highlighting PHP if mixed option is set on source block (PR #2015) (@ricpelo)
  • configure Slim to resolve includes in specified template dirs (#2214)
  • dump manpage when -h manpage flag is passed to CLI (#2302)
  • add resolves_attributes method to DSL for macros (#2122)
  • invoke convert on result of custom inline macro if value is an inline node (#2132)
  • resolve attributes for custom short inline macros if requested (#1797)
  • add convenience method to create section from extension; use same initialization logic as parser (#1957)
  • add handles? method to DSL for IncludeProcessor (#2119)
  • pass through preload attribute to video tag (#2046)
  • add start and end times for audio element (#1930)
  • set localyear and docyear attributes (#1372)
  • pass cloaked context to block extension via cloaked-context attribute (#1606)
  • add support for covers in DocBook 5 converter (#1939)
  • accept named pipe (fifo) as the input file (#1948)
  • add AbstractBlock#next_adjacent_block helper method
  • rename Document#references to catalog; alias references to catalog (PR #2237)
  • rename extensions_registry option to extension_registry
  • rename Extensions.build_registry method to create
  • autoload extensions source file when Asciidoctor::Extensions is referenced (PR #2114, PR #2312)
  • apply default_attrs to custom inline macro (PR #2127)
  • allow tab separator for table to be specified using \t (#2073)
  • add Cell#text= method

Improvements

  • significant improvements to performance, especially in parser and substitutors
  • process include directive inside text of short form preprocessor conditional (#2146)
  • add support for include tags in languages that only support only circumfix comments (#1729)
  • allow spaces in target of block image; target must start and end with non-space (#1943)
  • add warning in verbose mode if xref is not found (@fap-) (#2268)
  • add warning if duplicate ID is detected (#2244)
  • validate that output file will not overwrite input file (#1956)
  • include docfile in warning when stylesheet cannot be read (#2089)
  • warn if doctype=inline is used and block has unexpected content model (#1890)
  • set built-in docfilesuffix attribute (#1673)
  • make sourcemap field on Document read/write (#1916)
  • allow target of xref to begin with attribute reference (#2007)
  • allow target of xref to be expressed with leading # (#1546)
  • allow kbd and btn macros to wrap across multiple lines (#2249)
  • allow menu macro to span multiple lines; unescape escaped closing bracket
  • make menu macro less greedy
  • allow ampersand to be used as the first character of the first segment of a menu (#2171)
  • enclose menu caret in HTML tag (#2165)
  • use black text for menu reference; tighten word spacing (#2148)
  • fix parsing of keys in kbd macro (PR #2222)
  • add support for the window option for the link on a block image (#2172)
  • set correct level for special sections in parser (#1261)
  • always set numbered property on appendix to true
  • store number for formal block on node (#2208)
  • set sectname of header section to header (#1996)
  • add the remove_attr method to AbstractNode (#2227)
  • use empty string as default value for set_attr method (#1967)
  • make start argument to system_path optional (#1965)
  • allow API to control subs applied to ListItem text (#2035)
  • allow text of ListItem to be assigned (in an extension) (#2033)
  • make generate_id method on section a static method (#1929)
  • validate name of custom inline macro; cache inline macro rx (#2136)
  • align number in conum list to top by default (#1999)
  • fix CSS positioning of interactive checkbox (#1840)
  • fix indentation of list items when markers are disabled (none, no-bullet, unnumbered, unstyled) (PR #2286)
  • instruct icon to inherit cursor if inside a link
  • close all files opened internally (#1897)
  • be more precise about splitting kbd characters (#1660)
  • rename limit method on String to limit_bytesize (#1889)
  • leverage Ruby's match? method to speed up non-capturing regexps (PR #1938)
  • preserve inline break in manpages (@letheed)
  • check for presence of SOURCE_DATE_EPOCH instead of value; fail if value is malformed
  • add Rows#by_section method to return table sections (#2219)
  • cache which template engines have been loaded to avoid unnecessary processing
  • rename assign_index method to enumerate_section (PR #2242)
  • don't process double quotes in xref macro (PR #2241)
  • optimize attr and attr? methods (PR #2232)
  • use IO.write instead of File.open w/ block; backport for Opal
  • backport IO.binread to Ruby 1.8.7 to avoid runtime check
  • cache backend and doctype values on document
  • allow normalize option to be set on PreprocessorReader; change default to false
  • move regular expression constants for Opal to Asciidoctor.js build (PR #2070)
  • add missing comma in warning message for callout list item out of sequence
  • combine start_with? / end_with? checks into a single method call
  • rename UriTerminator constant to UriTerminatorRx
  • promote subs to top-level constants; freeze arrays
  • rename PASS_SUBS constant to NONE_SUBS
  • rename EOL constant to LF (retain EOL as alias)
  • rename macro regexp constants so name follows type (e.g., InlineImageMacroRx)

Compliance

  • retain block content in items of callout list when converting to HTML and man page (#1478)
  • only substitute specialchars for content in literal table cells (#1912)
  • fix operator logic for ifndef directive with multiple attributes (#1983)
  • only recognize uniform underline for setext section title (#2083)
  • don't match headings with mixed leading characters (#2074)
  • fix layout break from matching lines it shouldn't
  • fix behavior of attribute substitution in docinfo content (PR #2296)
  • encode spaces in URI (PR #2274)
  • treat empty string as a valid block title
  • preprocess lines of a simple block (#1923)
  • don't drop trailing blank lines when splitting source into lines (PR #2045)
  • only drop known AsciiDoc extensions from the inter-document xref path (#2217)
  • don't number special sections or special subsections by default (#2234)
  • assign sectname based on name of manuscript element (#2206)
  • honor leveloffset when resolving implicit doctitle (#2140)
  • permit leading, trailing, and repeat operators in target of preprocessor conditional (PR #2279)
  • don't match link macro in block form (i.e., has two colons after prefix) (#2202)
  • do not match bibliography anchor that begins with digit (#2247)
  • use [ \t] (or \s) instead of \p{Blank} to match spaces (#2204)
  • allow named entity to have trailing digits (e.g., there4) (#2144)
  • only assign style to image alt text if alt text is not specified
  • substitute replacements in non-generated alt text of block image (PR #2285)
  • keep track of whether alt text is auto-generated by assigning default-alt attribute (PR #2287)
  • suppress info element in docbook output if noheader attribute is set (#2155)
  • preserve leading indentation in literal and verse table cells (#2037)
  • preserve whitespace in literal and verse table cells (#2029)
  • set doctype-related attributes in AsciiDoc table cell (#2159)
  • fix comparison logic when preprocessing first line of AsciiDoc table cell
  • set filetype to man when backend is manpage (#2055)
  • respect image scaling in DocBook converter (#1059)
  • share counters between AsciiDoc table cells and main document (#1942)
  • generate ID for floating title from converted title (#2016)
  • split "treeprocessor" into two words; add aliases for compatibility (PR #2179)
  • allow trailing hyphen in attribute name used in attribute reference
  • allow escaped closing bracket in text of xref macro
  • process pass inline macro with empty text; invert extract logic
  • drop support for reftext document attribute (must be specified on node)
  • fix compliance with Haml >= 5 (load Haml eagerly; remove ugly option)
  • don't match inline image macro if target contains endline or leading or trailing spaces
  • assign id instead of target on ref/bibref node (PR #2307)
  • remove regexp hacks for Opal (#2110)
  • drop outdated quoting exceptions for Opal (PR #2081)

Bug fixes

  • don't allow table borders to cascade to nested tables (#2151)
  • escape special characters in reftext of anchor (#1694)
  • sanitize content of authors meta tag in HTML output (#2112)
  • fix stray marks added when unescaping unconstrained passthroughs (PR #2079)
  • don't confuse escaped quotes in CSV data as enclosing quotes (#2008)
  • don't activate implicit header if cell in first line of table contains a blank line (#1284, #644)
  • allow compat-mode in AsciiDoc table cell to inherit from parent document (#2153)
  • manify all normal table cell content (head, body, foot) in manpage output
  • add missing newline after table caption in manpage output (#2253)
  • correctly format block title on video in manpage output
  • don't crash if substitution list resolves to nil (#2183)
  • fail with informative message if converter cannot be resolved (#2161)
  • fix regression of not matching short form of custom block macro
  • encode double quotes in image alt text when used in an attribute (#2061)
  • encode double quote and strip XML tags in value of xreflabel attribute in DocBook converter (PR #2220)
  • fix typo in base64 data (PR #2094) (@mogztter)
  • permit pass macro to surround a multi-line attribute value with hard line breaks (#2211)
  • fix sequential inline anchor macros with empty reftext (#1689)
  • don't mangle compound names when document has multiple authors (#663)
  • don't drop last line of verbatim block if it contains only a callout number (#2043)
  • prevent leading & trailing round brackets from getting caught in indexterm (#1581)
  • remove cached title when title is set on block (#2022)
  • remove max-width on the callout number icon (#1895)
  • eagerly add hljs class for highlight.js (#2221)
  • fix SOURCE_DATE_EPOCH lookup in Opal
  • fix paths with file URI scheme are inevitably absolute (PR #1925) (@mogztter)
  • only resolve file URLs when JavaScript IO module is xmlhttprequest (PR #1898) (@mogztter)
  • fix formatting of video title in manpage converter
  • don't increment line number if peek_lines overruns buffer (fixes some cases when line number is off)
  • freeze extension processor instance, not class
  • fix numbering bug in reindex_sections
  • handle cases when there are no lines for include directive to select

Documentation

  • enable admonition icons in README when displayed on GitHub
  • add German translation of chapter-label (PR #1920) (@fap-)
  • add Ukrainian translation of built-in attributes (PR #1955) (@hedrok)
  • add Norwegian Nynorsk translation; updated Norwegian Bokmål translation of built-in attributes (PR #2142) (@huftis)
  • add Polish translation of built-in attributes (PR #2131) (@ldziedziul)
  • add Romanian translation of built-in attributes (PR #2125) (@vitaliel)
  • fix Japanese translation of built-in attributes (PR #2116) (@haradats)
  • add Bahasa Indonesia translation of built-in labels (@triyanwn)

Build / Infrastructure

  • upgrade highlight.js to 9.12.0 (#1652)
  • include entire test suite in gem (PR #1952) (@voxik)
  • upgrade Slim development dependency to 3.0.x (PR #1953) (@voxik)
  • upgrade Haml development dependency to 5.0.x
  • upgrade Nokogiri to 1.6.x (except on Ruby 1.8) (PR #1213)
  • add Ruby 2.4 to CI test matrix (PR #1980)
  • upgrade cucumber and JRuby in CI build (PR #2005)
  • fix reference to documentation in attributes.adoc (PR #1901) (@stonio)
  • trap and verify all warnings when tests are run with warnings enabled
  • set default task in build to test:all
  • configure run-tests.sh script to run all tests
  • configure feature tests to only show progress
  • configure Slim in feature tests to use html as format instead of deprecated html5
  • lock version of yard to fix invalid byte sequence in Ruby 1.9.3
  • modify rake build to trigger dependent builds (specifically, Asciidoctor.js) (@mogztter) (PR #2305)

Release meta

Released on: 2017-07-12
Released by: @mojavelinux
Release beer: Stickee Monkey (2017)

Logs: resolved issues | full diff

Credits

Thanks to the following people who contributed to this release:

@graphitefriction, @fap-, @vogella, @shahryareiv, @ricpelo, @mattadamson, @ceefour, @filiphr, @eikerethmeier, @robertpanzer, @gpakosz, @janicecmt, @cristoper, @jjaderberg, @getreu, @oncletom, @hsablonniere, @nerk, @megathaum, @k-mack, @jmini, @indigo423, @davidgamba, @sanmai-nl, @github-login, @deepaksingla14, @farleylai, @prudhomm, @littleancientforestkami, @zaxebo1, @lefou, @msc-, @jirutka, @elextr, @wolandscat, @lordofthejars, @lodestone, @asknet, @iandarwin, @jexp, @voxik, @kito99, @tduchateau, @owenh000, @mogztter, @jponge, @nathany, @jxxcarlson, @ramsey, @edoverflow, @pavs, @otavio, @rahmanusta, @sandersk, @hedrok, @huftis, @ldziedziul, @vitaliel, @haradats, @triyanwn, @stonio, and @letheed

Special thanks goes to @vogella and @fap-, both for their financial support of the project as well as critical insight and important patches to make the custom cross reference text feature happen.

A very special thanks to all the awesome supporters of the Asciidoctor Salt campaign who provided critical funding for the development of this release and the ongoing development of the project.

asciidoctor - v1.5.5

Published by mojavelinux about 8 years ago

Primarily a bug, compatibility, and security fix release, this update also introduces a full set of translations for built-in labels thanks to our awesome community! Additionally, during this release cycle, @diguage contributed a Chinese translation of the README and @Mizuho32 contributed a Japanese translation of the README.

Distributions

Asciidoctor is also packaged for Fedora, Debian, Ubuntu, Mint, Alpine Linux, and OpenSUSE. Please use the system's package manager to install the package named asciidoctor.

Changelog

Enhancements

  • Add preference to limit the maximum size of an attribute value (#1861)
  • Honor SOURCE_DATE_EPOCH environment variable to accomodate reproducible builds (@JojoBoulix) (#1721)
  • Add reversed attribute to ordered list if reversed option is enabled (#1830)
  • Add support for additional docinfo locations (e.g., :header)
  • Configure default stylesheet to break monospace word if exceeds length of line; add roles to prevent breaks (#1814)
  • Introduce translation file for built-in labels (@ciampix)
  • Provide translations for built-in labels in 21 languages:
    • kr - @JmyL
    • it - @ciampix
    • bg - @ivannov
    • da - @maxandersen
    • pt - @radcortez
    • es - @eddumelendez
    • jp - @leathersole
    • no - @aslakknutsen
    • fa - @shahryareiv
    • ru - @AlexanderZobkov
    • zh - @dongwq
    • pt_BR - @rmpestano
    • fr - @ncomet
    • fi - @lgvz
    • hu - @patoi
    • sr - @BojanStipic
    • de - @fwilhe
    • tr - @rahmanusta
    • ca - @abelsromero
    • ar - @aboullaite
    • nl - @roelvs
  • Translate README to Chinese (@diguage)
  • Translate README to Japanese (@Mizuho32)

Improvements

  • Style nested emphasized phrases properly when using default stylesheet (#1691)
  • Honor explicit table width even when autowidth option is set (#1843)
  • Only explicit noheader option on table should disable implicit table header (#1849)
  • Support docbook orient="land" attribute on tables (#1815)
  • Add alias named list to retrieve parent List of ListItem
  • Update push_include method to support chaining (#1836)
  • Enable font smoothing on Firefox on OSX (#1837)
  • Support combined use of sectanchors and sectlinks in HTML5 output (#1806)
  • fix API docs for find_by
  • Upgrade to Font Awesome 4.6.3 (@allenan, @mogztter) (#1723)
  • README: add install instructions for Alpine Linux
  • README: Switch yum commands to dnf in README
  • README: Mention Mint as a Debian distro that packages Asciidoctor
  • README: Add caution advising against using gem update to update a system-managed gem (@oddhack)
  • README: sync French version with English version (@flashcode)
  • Add missing endline after title element when converting open block to HTML
  • Move list_marker_keyword method from AbstractNode to AbstractBlock
  • Rename definition list to description list internally

Compliance

  • Support 6-digit decimal char refs, 5-digit hexidecimal char refs (#1824)
  • Compatibility fixes for Opal
  • Check for number using Integer instead of Fixnum class for compatibility with Ruby 2.4

Bug fixes

  • Use method_defined? instead of respond_to? to check if method is already defined when patching (#1838)
  • Fix invalid conditional in HTML5 converter when handling of SVG
  • Processor#parse_content helper no longer shares attribute list between blocks (#1651)
  • Fix infinite loop if unordered list marker is immediately followed by a dot (#1679)
  • Don't break SVG source when cleaning if svg start tag name is immediately followed by endline (#1676)
  • Prevent template converter from crashing if .rb file found in template directory (#1827)
  • Fix crash when generating section ID when both idprefix & idseparator are blank (#1821)
  • Use stronger CSS rule for general text color in Pygments stylesheet (#1802)
  • Don't duplicate forward slash for path relative to root (#1822)

Infrastructure

  • Build gem properly in the absense of a git workspace, make compatible with JRuby (#1779)
  • Run tests in CI using latest versions of Ruby, including Ruby 2.3 (@ferdinandrosario)

Release meta

Released on: 2016-10-05
Released by: @mojavelinux
Release beer: Boulevard Rye-on-Rye X - Sazerac (2016)

Logs: resolved issues | full diff

Credits

Thanks to the following people who contributed to this release:

@JmyL, @ciampix, @ivannov, @maxandersen, @radcortez, @eddumelendez, @leathersole, @aslakknutsen, @shahryareiv, @AlexanderZobkov, @dongwq, @rmpestano, @ncomet, @lgvz, @patoi, @BojanStipic, @fwilhe, @rahmanusta, @abelsromero, @aboullaite, @roelvs, @gjtorikian, @thoragan, @pavs, @bk2204, @jojoboulix, @mogztter and @andya9.

A very special thanks to all the awesome supporters of the Asciidoctor Salt campaign who provided critical funding for the development of this release as well as ongoing development of the project.

asciidoctor - v1.5.4

Published by mojavelinux almost 9 years ago

Primarily a bug fix release that includes numerous improvements to the manpage converter thanks to @ds26gte, upgraded Font Awesome and MathJax components, compatibility changes for Asciidoctor.js and other bug fixes.

During this release cycle, a French translation of the README was contributed by @anthonny and revised by @Mogztter, @gscheibel and @mgreau. The French translation is the first translation of this document.

Distributions

Changelog

Enhancements

  • translate README into French (@anthonny, @mogztter, @gscheibel, @mgreau) (#1630)
  • allow linkstyle in manpage output to be configured (#1610)

Improvements

  • upgrade to MathJax 2.6.0 and disable loading messages
  • upgrade to Font Awesome 4.5.0
  • disable toc if document has no sections (#1633)
  • convert inline asciimath to MathML (using asciimath gem) in DocBook converter (#1622)
  • add attribute to control build reproducibility (@bk2204) (#1453)
  • recognize file:/// as a file root in Opal browser env (#1561)
  • honor icon attribute on admonition block when font-based icons are enabled (@robertpanzer) (#1593)
  • resolve custom icon relative to iconsdir; add file extension if absent (#1634)
  • allow asciidoctor cli to resolve library path when invoked without leading ./

Compliance

  • allow special section to be nested at any depth (#1591)
  • ensure colpcwidth values add up to 100%; increase precision of values to 4 decimal places (#1647)
  • ignore blank cols attribute on table (#1647)
  • support shorthand syntax for block attributes on document title (#1650)

Bug fixes

  • don't include default toc in AsciiDoc table cell; don't pass toc location attributes to nested document (#1582)
  • guard against nil dlist list item in find_by (#1618)
  • don't swallow trailing line when include file is not readable (#1602)
  • change xlink namespace to xl in DocBook 5 output to prevent parse error (#1597)
  • make callouts globally unique within document, including AsciiDoc table cells (#1626)
  • initialize Slim-related attributes regardless of when Slim was loaded (@terceiro) (#1576)
  • differentiate literal backslash from escape sequence in manpage output (@ds26gte) (#1604)
  • don't mistake line beginning with . for troff macro in manpage output (@ds26gte) (#1589)
  • escape leading dots so user content doesn't trigger troff macros in manpage output (@ds26gte) (#1631)
  • use \c after .URL macro to remove extraneous space in manpage output (@ds26gte) (#1590)
  • fix missing endline after .URL macro in manpage output (#1613)
  • properly handle spacing around .URL/.MTO macro in manpage output (@ds26gte) (#1641)
  • don't swallow doctitle attribute followed by block title (#1587)
  • change strategy for splitting names of author; fixes bug in Opal/Asciidoctor.js
  • don't fail if library is loaded more than once

Infrastructure

  • remove trailing endlines in project source code
  • update contributing guidelines
  • explicitly test ifeval scenario raised in issue #1585
  • remove backreference substitution hack for Opal/Asciidoctor.js
  • fix assignment of default Hash value for Opal/Asciidoctor.js
  • add JRuby 9.0.4.0 and Ruby 2.3.0 to the Travis CI build matrix

Release meta

Released on: 2016-01-05
Released by: @mojavelinux
Release beer: Depth-Charged Double Bastard (2015)

Logs: resolved issues | full diff

Credits

Thanks to the following people who contributed to this release:

Dorai Sitaram (@ds26gte), Guillaume Grossetie (@mogztter), brian m. carlson (@bk2204), Leif Gruenwoldt (@leif81), Jens Getreu (@getreu), Anthonny Quérouil (@anthonny), Robert Panzer (@robertpanzer), Jean-Michel Bruel (@jmbruel), Guillaume Scheibel (@gscheibel), Dave Smith (@devunwired), Willem Salembier (@wsalembi)

A very special thanks to all the awesome supporters of the Asciidoctor Salt campaign who provided critical funding for the development of this release as well as ongoing development of the project.

asciidoctor - v1.5.3

Published by mojavelinux almost 9 years ago

A 1.5.x micro substantial release that introduces a few key enhancements as well as many bug fixes, minor improvements and internal changes. Specifically, this release adds advanced support for SVGs, no more swallowed exceptions, a built-in manpage backend, AsciiMath conversion DocBook through integration with the asciimath gem, more understandable docinfo configuration and a slew of fixes and improvements.

Distributions

Changelog

Enhancements

  • add support for interactive & inline SVGs (#1301, #1224)
  • add built-in manpage backend (@davidgamba) (#651)
  • create Mallard backend; see asciidoctor-mallard (@bk2204) (#425)
  • add AsciiMath to MathML converter to support AsciiMath in DocBook converter (@pepijnve) (#954)
  • allow text of selected lines to be highlighted in source block by Pygments or CodeRay (#1429)
  • use value of docinfo attribute to control docinfo behavior (#1510)
  • add docinfosubs attribute to control which substitutions are performed on docinfo files (@mogztter) (#405)
  • drop ability to specify multiple attributes with a single -a flag when using the CLI (@mogztter) (#405)
  • make subtitle separator chars for document title configurable (@rmannibucau) (#1350)
  • make XrefInlineRx regexp more permissive (Mathieu Boespflug) (#844)

Improvements

  • load JavaScript and CSS at bottom of HTML document (@mogztter) (#1238)
  • list available backends in help text (@plaindocs) (#1271)
  • properly expand tabs in literal text (#1170, #841)
  • add source-indent as document attribute (@mogztter) (#1169)
  • upgrade MathJax to 2.5.3 (#1329)
  • upgrade Font Awesome to 4.4.0 (@mogztter) (#1465)
  • upgrade highlight.js to 8.6 (now 8.9.1) (#1390)
  • don't abort if syntax highlighter isn't available (#1253)
  • insert docinfo footer below footer div (#1503)
  • insert toc at default location in embeddable HTML (#1443)
  • replace _ and - in generated alt text for inline images
  • restore attributes to header attributes after parse (#1255)
  • allow docdate and doctime to be overridden (#1495)
  • add CSS class .center for center block alignment (#1456)
  • recognize U+2022 (bullet) as alternative marker for unordered lists (@mogztter) (#1177)
  • allow videos to work for local files by prepending asset-uri-scheme (Chris) (#1320)
  • always assign playlist param when loop option is enabled for YouTube video
  • parse isolated version in revision line (@bk2204) (#790)
  • autoload Tilt when template converter is instantiated (#1313)
  • don't overwrite existing id entry in references table (#1256)
  • use outfilesuffix attribute defined in header when resolving outfile (#1412)
  • make AsciiDoc safe mode option on Slim engine match document (#1347)
  • honor htmlsyntax attribute when backend is html/html5 (#1530)
  • tighten spacing of wrapped lines in TOC (#1542)
  • tune padding around table cells in horizontal dlist (#1418)
  • load Droid Sans Mono 700 in default stylesheet
  • set line height of table cells used for syntax highlighting
  • set font-family of kbd; refine styling (#1423)
  • extract condition into quote_lines? method (@mogztter)
  • extract inline code into read_paragraph method (@mogztter)
  • parent of block in ListItem should be ListItem (#1359)
  • add helper methods to List and ListItem (#1551)
  • add method AbstractNode#add_role and AbstractNode#remove_role (@robertpanzer) (#1366)
  • introduce helper methods for sniffing URIs (#1422)
  • add helper to calculate basename without file extension
  • document -I and -r options in the manual page (@bk2204)
  • fix --help output text for -I (@bk2204)
  • don't require open-uri-cached if already loaded
  • do not attempt to scan pattern of non-existent directory in template converter
  • prevent CodeRay from bolding every 10th line number

Compliance

  • use <sup> for footnote reference in text instead of <span> (#1523)
  • fix alignment of wrapped text in footnote (#1524)
  • include full stop after footnote number in embeddable HTML
  • show manpage title & name section in embeddable HTML (#1179)
  • resolve missing attribute in ifeval to empty string (#1387)
  • support unbreakable & breakable options on table (rockyallen) (#1140)

Bug fixes

  • don't truncate exception stack in Asciidoctor.load (#1248)
  • don't fail to save cause of Java exception (@robertpanzer) (#1458)
  • fix precision error in timings report (#1342)
  • resolve regexp for inline macro lazily (#1336)
  • block argument to find_by should filter results (#1393)
  • strip comment lines in indented text of dlist item (#1537)
  • preserve escaped delimiter at end of line in a table (#1306)
  • correctly calculate colnames for implicit columns (#1556)
  • don't crash if colspan exceeds colspec (#1460)
  • account for empty records in colspec (#1375)
  • ignore empty cols attribute on table
  • use .inspect to print MathJax delimiters (again) (#1198)
  • use while loop instead of begin/while loop to address bug in Asciidoctor.js (#1408)
  • force encoding of attribute values passed from cli (#1191)
  • don't copy css if stylesheet or stylesdir is a URI (#1400)
  • fix invalid color value in default CodeRay theme
  • built-in writer no longer fails if output is nil (#1544)
  • custom template engine options should take precedence
  • fallback to require with a non-relative path to support Debian package (@mogztter)
  • pass opts to recursive invocations of PathResolver#system_path
  • fix and test external links in docbook backend
  • use format symbol :html instead of :html5 for Slim to fix warnings
  • fix documentation for inline_macro and block_macro (Andrea Bedini)
  • fix grammar in warning messages regarding thread_safe gem

Infrastructure

  • migrate opal_ext from core to Asciidoctor.js (#1517)
  • add Ruby 2.2 to CI build; only specify minor Ruby versions
  • enable containerized builds on Travis CI
  • add config to run CI build on AppVeyor
  • exclude benchmark folder from gem (#1522)

Release meta

Released on: 2015-10-31
Released by: @mojavelinux
Release beer: St Bernardus Abt 12

Logs: resolved issues | full diff

Credits

Thanks to the following people who contributed to this release:

Jakub Jirutka (@jirutka), roel van steenberghe (@roelvs), Chris K Wensel (@cwensel), Konrad Malawski (@ktoso), Tobias Roeser (@lefou), Thomas Kern (@nerk), Robert Panzer (@robertpanzer), Katrina Owen (@kytrinyx), Pepijn Van Eeckhoudt (@pepijnve), Kendall Clark (@kendall), Alex Soto (@lordofthejars), Abel Salgado Romero (@abelsromero), Bela Hausmann (@and3k), Rob Winch (@rwinch), Mathieu Boespflug (@mboes), Chris (@crydalch), Jason Rose-Kuhrt (@jasonkuhrt), brian m. carlson (@bk2204), David Baldwin (@davebaldwin), Samual Wright (@plaindocs), David Gamba (@davidgamba), Stephen Hay (@stephenhay), Sol Bekic (@s0lll0s), Jakub Nawalaniec (@pielgrzym), Bruce Momjian (@bmomjian), Phil Webb (@philwebb), James Carlson (@jxxcarlson), Joel C. Salomon (@jcsalomon), Guillaume Grossetie (@mogztter), Sarah White (@graphitefriction), Ken Dreyer (@ktdreyer)

A very special thanks to all the awesome supporters of the Asciidoctor Salt campaign who provided critical funding for the development of this release as well as ongoing development of the project.

asciidoctor - v1.5.2

Published by mojavelinux almost 10 years ago

A 1.5.x micro release that introduce bug fixes, minor enhancements and improvements and internal changes. This release introduces several improvements to docinfo, including better encoding support, configurable docinfo directory and a docinfo extension point.

Changelog

Enhancements

  • add docinfo extension (@mogztter) (#1162)
  • allow docinfo to be in separate directory from content, specified by docinfodir attribute (@mogztter) (#511)
  • enable TeX equation auto-numbering if eqnums attribute is set (@jxxcarlson) (#1110)

Improvements

  • recognize -- as valid line comment for callout numbers; make line comment configurable (#1068)
  • upgrade highlight.js to version 8.4 (#1216)
  • upgrade Font Awesome to version 4.2.0 (@clojens) (#1201)
  • define JAVASCRIPT_PLATFORM constant to simplify conditional logic in the JavaScript environment (#897)
  • provide access to destination directory, outfile and outdir via Document object (#1203)
  • print encoding information in version report produced by asciidoctor -v (#1210)
  • add intrinsic attribute named cpp with value C++ (#1208)
  • preserve URI targets passed to stylesheet and related attributes (#1192)
  • allow numeric characters in block attribute name (#1103)
  • support custom YouTube playlists (#1105)
  • make start number for unique id generation configurable (#1148)
  • normalize and force UTF-8 encoding of docinfo content (#831)
  • allow subs and default_subs to be specified in Block constructor (#749)
  • enhance error message when reading binary input files (@mogztter) (#1158)
  • add append method as alias to << method on AbstractBlock (#1085)
  • assign value of preface-title as title of preface node (#1090)
  • fix spacing around checkbox in checklist (#1138)
  • automatically load Slim's include plugin when using slim templates (@jirutka) (#1151)
  • mixin Slim helpers into execution scope of slim templates (@jirutka) (#1143)
  • improve DocBook output for manpage doctype (@bk2204) (#1134, #1142)

Compliance

  • substitute attribute entry value in attributes defined outside of header (#1130)
  • allow empty cell to appear at end of table row (#1106)
  • only produce one row for table in CSV or DSV format with a single cell (#1180)

Bug fixes

  • add explicit to_s call to generate delimiter settings for MathJax config (#1198)
  • fix includes that reference absolute Windows paths (#1144)
  • apply DSL to extension block in a way compatible with Opal

Distributions

Release meta

Released on: 2014-11-27
Released by: @mojavelinux
Release beer: Avery 5 Monks

Logs: resolved issues | full diff

asciidoctor - v1.5.0

Published by mojavelinux about 10 years ago

Asciidoctor 1.5.0 is a stable major release and sequel to 0.1.4. We shifted the numbers to adopt a semantic versioning scheme and communicate that this release is well beyond stable.

Changelog

See http://asciidoctor.org/news/2014/08/12/asciidoctor-1-5-0-released for more details about this release.

Release meta

Released on: 08-12-2014
Released by: @mojavelinux
Release beer: St. Bernardus Abt 12

asciidoctor - v1.5.1

Published by mojavelinux about 10 years ago

A 1.5.x micro release that introduce bug fixes, minor improvements and internal changes.

Changelog

Bug fixes

  • recognize tag directives inside comments within XML files for including tagged regions
  • restore passthroughs inside footnotes when more than one footnote appears on the same line
  • -S flag in cli recognizes safe mode name as lowercase string
  • do not match # in character reference when looking for marked text
  • add namespace to lang attribute in DocBook 5 backend
  • restore missing space before conum on last line of listing when highlighting with Pygments
  • place conums on correct lines when line numbers are enabled when highlighting with Pygments
  • don't expand mailto links in print styles

Improvements

  • implement File.read in Node (JavaScript) environment
  • assign sectnumlevels and toclevels values to maxdepth attribute on AsciiDoc processing instructions in DocBook output
  • add test for usage of image block macro with data URI
  • use badges from shields.io in README

Release meta

Released on: 2014-09-19
Released by: @mojavelinux
Release beer: Delirium Tremens

Logs: resolved issues | full diff

asciidoctor - v1.5.0 Release Candidate 2

Published by mojavelinux about 10 years ago

The second release candidate for the upcoming 1.5.0 release. Includes compatibility fixes for compiling Asciidoctor.js.

asciidoctor - v1.5.0 Release Candidate 1

Published by mojavelinux about 10 years ago

The first release candidate for the long-awaited Asciidoctor 1.5.0 release. Only minor changes and bug fixes will be made between this version and the final release.