asciidoctor-pdf

Asciidoctor PDF: A native PDF converter for AsciiDoc based on Asciidoctor and Prawn, written entirely in Ruby.

MIT License

Downloads
3.5M
Stars
1.1K
Committers
88

Bot releases are hidden (Show)

asciidoctor-pdf - v2.1.5

Published by mojavelinux over 2 years ago

This is a patch release in the 2.1.x release line that includes backports of bug fixes from the 2.2.x release line.

If a block caption has both a background color and an outside margin, the background color will be placed at the location of the text rather than stacked above it. If the font size is set on tables in the theme, the font scaling will not compound in a nested table. Rather, the font size in the nested table will match the font size in the parent table.

Distribution

Changelog

Bug Fixes

  • fix position of background color on caption with outside margin (#2271)
  • don't allow font scale to compound when entering nested table (#2276)

Release meta

Released on: 2022-07-10
Released by: @mojavelinux
Release beer: DDH Juicy Bits by WeldWerks Brewing

Logs: resolved issues | full diff

Credits

A very special thanks to all the awesome supporters of the Asciidoctor OpenCollective campaign, who provide critical funding for the ongoing development of this project.

asciidoctor-pdf - v2.1.4

Published by mojavelinux over 2 years ago

This is a patch release in the 2.1.x release line that includes backports from the 2.2.x release line. It fixes several issues that have been hiding in the shadows for a long time and enhances the warning message for truncated table cells.

If the alt text for a block image, video, or audio exceeds the width of the content area, the text will wrap to the next line instead of being advanced to the next page. This fix prevents a fixed width table cell from breaching the height of the page. In the event that a table cell does exceed the height of a page, and the sourcemap is enabled, the warning message will include the source location of the cell. The converter will no longer suggest enabling the allow-uri-read attribute if an image target contains a colon, but is not a URL. If a custom role contains the text-transform property, that transform will be applied the value of an attribute reference. Previously, the transform would be applied before attribute references are resolved.

Distribution

Changelog

Improvements

  • include source location in warning message for truncated table cell if sourcemap is enabled (#2261)

Bug Fixes

  • allow alt text for block image, video, and audio to wrap to next line on same page (#2258)
  • apply text-tranform from custom role on phrase after attributes have been resolved (#2263)
  • make URL check more strict so image target containing a colon is not mistaken as a URL

Release meta

Released on: 2022-06-25
Released by: @mojavelinux
Release beer: We Are the Weirdos by Beer Zombies Brewing

Logs: resolved issues | full diff

Credits

A very special thanks to all the awesome supporters of the Asciidoctor OpenCollective campaign, who provide critical funding for the ongoing development of this project.

asciidoctor-pdf - v2.1.3

Published by mojavelinux over 2 years ago

This is a patch release in the 2.1.x release line that backports fixes from the 2.2.x release line. It addresses a few minor layout bugs and one hairy bug that was staring us straight in the face.

If the value of either the page-numbering-start-at or running-content-start-at theme key is set to 1, the converter was treating that value as 1 instead of 2. Now it will interpret it as entered. If you import a page using the image macro, the converter will restore the margin and column layout on the page that follows it. Various border-color keys now accept the value transparent rather than causing the converter to crash.

Distribution

Changelog

Bug Fixes

  • interpret start-at theme keys with value 1 correctly (as 1 instead of 2) (#2255)
  • restore column layout after importing page(s) from PDF (#2253)
  • fix crash when border color is transparent (thematic-break-border-color, admonition-column-rule, quote-border-color, verse-border-color)
  • ensure page margin is restored after imported page

Release meta

Released on: 2022-06-23
Released by: @mojavelinux
Release beer: Safe Stream IPA by Athletic Brewing Co.

Logs: resolved issues | full diff

Credits

A very special thanks to all the awesome supporters of the Asciidoctor OpenCollective campaign, who provide critical funding for the ongoing development of this project.

asciidoctor-pdf - v2.1.2

Published by mojavelinux over 2 years ago

This is a patch release in the 2.1.x release line. It fixes a few minor bugs. If the layout is changed from portrait to landscape or vice-versa in the main document, that same change is applied to the scratch document. This ensures that the extent of the content block is computed correctly. If an extended converter overrides the get_entries_for_toc method, the converter looks at that result instead of Document#sections? to determine if the TOC should be inserted. And the converter now uses the correct logic to insert an empty page before the TOC with automatic placement in a prepress book.

Numerous updates and enhancements were made to the docs during this release cycle as well.

The 2.2.x release line will be created following this patch release.

Distribution

Changelog

Bug Fixes

  • apply page layout from main document to new page in scratch document (#2248)
  • use correct logic to insert page before TOC with automatic placement when doctype=book and media=prepress
  • use get_entries_for_toc to determine if the TOC is non-empty rather than Document#sections?

Release meta

Released on: 2022-06-17
Released by: @mojavelinux
Release beer: Strata-Ford IPA by Athletic Brewing Co.

Logs: resolved issues | full diff

Credits

A very special thanks to all the awesome supporters of the Asciidoctor OpenCollective campaign, who provide critical funding for the ongoing development of this project.

asciidoctor-pdf - v2.1.1

Published by mojavelinux over 2 years ago

This is the first patch release in the 2.1.x release line. It's once again focused on the columnar layout, fixing one edge case and providing additional information for extensions. This release also addresses a crash when using CodeRay as the syntax highlighter and a code block uses a source language that CodeRay does not recognize.

An SVG that's shorter than the height of the current column will be placed in the correct column. The Extent for a decorated block provides access to the zero-based column where the block starts (from.column) and where the cursor was when the block was encountered (current.column). This information is used by the extended converter in the docs that demonstrates how to imprint the source language label on a code block.

The converter now draws a border around a phrase with a custom role using the base border color if the role defines a border width without a border color.

Distribution

Changelog

Improvements

  • store zero-based column on Extent for extensions to use to position cursor at start of extent

Bug Fixes

  • place block image in SVG format in correct column when align is left and page columns are enabled (#2241)
  • accurately trap LoadError from CodeRay if source language is not recognized on code block
  • only draw rounded rectangle around phrase if border-radius is > 0
  • use base-border-color value if border width is set on role for inline phrase but not border color

Release meta

Released on: 2022-06-14
Released by: @mojavelinux
Release beer: Field Guide by Outer Range Brewing Co.

Logs: resolved issues | full diff

Credits

A very special thanks to all the awesome supporters of the Asciidoctor OpenCollective campaign, who provide critical funding for the ongoing development of this project.

asciidoctor-pdf - v2.0.7

Published by mojavelinux over 2 years ago

This patch release focuses on fixes related to image processing and rendering. First, it fixes a crash if an inline image without an explicit width is used in the doctitle or a section title with an automatic ID. The converter now delegates to prawn-gmagick, if available, to read an image referenced in an SVG, thus adding support for more formats and improving performance. The path of that image can now refer to any location within the Asciidoctor jail (i.e., base dir) rather than being restricted to the docdir. When prawn-gmagick is not available, and the converter encounters a corrupt or incomplete PNG or JPG, it will not recommend using prawn-gmagick (as the problem is with the image data, not the format). The prawn-gmagick integration is now verified to work on macOS.

This release was the first test of automating the release notes. The script didn't work entirely, but we're a step closer.

Distribution

Changelog

Improvements

  • don't recommend prawn-gmagick if PNG or JPG is corrupt or incomplete
  • add helper method to determine when to recommend the prawn-gmagick gem

Bug Fixes

  • fix crash when doctitle or section title with automatic ID contains inline image without explicit width (#2228)
  • use prawn-gmagick, if available, to read raster image referenced by SVG (#2223)
  • allow image path in SVG to refer to any location within Asciidoctor jail (no restriction if safe mode is unsafe) (#1941)

Release meta

Released on: 2022-06-03
Released by: @mojavelinux
Release beer: Living the Ska Dream by Living the Dream Brewing

Logs: resolved issues | full diff

Credits

A very special thanks to all the awesome supporters of the Asciidoctor OpenCollective campaign, who provide critical funding for the ongoing development of this project.

asciidoctor-pdf - v2.0.6

Published by mojavelinux over 2 years ago

This is a patch release that further stabilizes the 2.0.x release line. This release fixes a regression/inconsistency with the layout of collapsible blocks, patches prawn-gmagick to fix a long-standing issue where the bit depth is sometimes read incorrectly, and correctly handles an SVG with a width specified using px units. It also ensures that the converter does not crash if a custom role for an inline phrase defines a border width without a border color, ignoring the border in this case.

Distribution

Changelog

Bug Fixes

  • indent content of collapsible block and apply bottom margin to match style of HTML output (#2219)
  • patch prawn-gmagick to reread bit depth of a PNG image if it extracts the wrong value (#2216)
  • interpret width of SVG correctly when width is defined in file using px units (#2215)
  • don't crash if inline role defines border width but not border color

Release meta

Released on: 2022-05-30
Released by: @mojavelinux
Release beer: Angel of Darkness by Wild Blue Yonder Brewing Co.

Logs: resolved issues | full diff

Credits

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

asciidoctor-pdf - v2.0.5

Published by mojavelinux over 2 years ago

This patch release is a continuation of 2.0.4 to fix a long-standing issue in the calculation of the TOC extent (the page range) when the sectids attribute is unset. All TOC entries are now included when computing the TOC extent so it matches the TOC extent when inked in the primary document. This patch release fixes another long-standing issue in the calculation of the width of a marked phrase (a phrase with a background color and/or border) when text justification is on.

Distribution

Changelog

Bug Fixes

  • do not filter TOC entries without an ID when computing the TOC extent (#2210)
  • fix width of multi-word phrase with background and border offset (#2059)

Release meta

Released on: 2022-05-26
Released by: @mojavelinux
Release beer: 7-Speed IPA by Living the Dream

Logs: resolved issues | full diff

Credits

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

asciidoctor-pdf - v2.0.4

Published by mojavelinux over 2 years ago

This is a very minor patch release to fix a regression in the calculation of the TOC extent (the page span of the TOC) when the sectids attribute is toggled in the document. We expect to put out another patch release shortly to fix the issue more comprehensively.

Distribution

Changelog

Bug Fixes

  • fix calculation of TOC extent when TOC entry has children but no ID (#2208)

Release meta

Released on: 2022-05-26
Released by: @mojavelinux
Release beer: Ghost in the Machine by Parish Brewing Co.

Logs: resolved issues | full diff

Credits

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

asciidoctor-pdf - v2.0.3

Published by mojavelinux over 2 years ago

Leveraging our new automated release process, we're putting out patch releases as fast and furious as the fixes for bugs we discover. This is a patch release that only fixes bugs and does not introduce any new functionality.

The fixes include adjusting the TrimBox on pages so the optimizer can successfully produce PDF/X compatible documents using Ghostscript, setting the height of an image resized to fit the height of a page accurately so it does not cause a page to be skipped, and truncating the title page contents to fit on a single page, logging a warning if this occurs. The one minor improvement is that an extended converter can access the optimize quality and compliance settings specified by the user through the @optimize instance variable.

Distribution

Changelog

Improvements

  • compute the optimize settings in init_pdf and store as Hash instead of after writing the PDF file

Bug Fixes

  • adjust TrimBox to fit inside of BleedBox when using optimizer and compliance is PDF/X (#2203)
  • set height of resized image to available height to avoid float precision error when scaling down image to fit page (#2205)
  • prevent content on title page from overrunning the bounds of a single page and warn; restriction applies to ink_title_page

Release meta

Released on: 2022-05-25
Released by: @mojavelinux
Release beer: Ghost in the Machine by Parish Brewing Co.

Logs: resolved issues | full diff

Credits

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

asciidoctor-pdf - v2.0.2

Published by mojavelinux over 2 years ago

In keeping with semantic versioning, this is a patch release that only fixes bugs and does not introduce any new functionality. We're continuing to work on bug fixes that didn't make it into 2.0.0. This release fixes two issues that pertain to table layouts. The first is that the column width calculation has been fixed in certain cases when the table contains colspans. The second is that the table will be advanced to the next page if the first row does not fit in the remaining space on the page when it contains a rowspan.

Distribution

Changelog

Bug Fixes

  • use specified column widths to avoid bugs in column width calculation when using colspans (#1368)
  • advance table to next page if rowspan in first row does not fit in space remaining on current page (#403)

Release meta

Released on: 2022-05-22
Released by: @mojavelinux
Release beer: The Citra Bomb One by HopLark

Logs: resolved issues | full diff

Credits

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

asciidoctor-pdf - v2.0.1

Published by mojavelinux over 2 years ago

In keeping with semantic versioning, this is a patch release that only fixes bugs and does not introduce any new functionality. Shortly after the 2.0.0, there were two edge case bugs discovered. The first is that an inline image that is resized to fit the height of the page would cause the converter to go into an infinite loop trying to position it on the following page. We added a safeguard against this infinite loop in general, then fixed the position calculation so it would fit. We also discovered that long contiguous lines in a source block with linenums enabled would cause the line to be advanced to the next page and into the linenum gutter, which was also fixed.

Distribution

Changelog

Bug Fixes

  • scale inline image to fit within available height of page, accounting for the top padding of the line and the bottom gutter (#2193)
  • short-circuit formatted_text routine and log error if fragments in first line cannot fit on a new page
  • break and wrap long contiguous text in source block when linenums are enabled (#2198)

Release meta

Released on: 2022-05-21
Released by: @mojavelinux
Release beer: Xocolatl by Wild Blue Yonder

Logs: resolved issues | full diff

Credits

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

asciidoctor-pdf - v2.0.0

Published by mojavelinux over 2 years ago

We began the journey towards the 2.0.0 release over two years ago with a goal of making this converter more accurate, easier to extend, and more thoroughly documented. It all started with #789. The result has turned out to be better than anything we could have hoped for. We never thought it would include basic support for image floats, and yet here we are. And despite all the changes, this release is backwards compatible with all existing themes and extended converters written for 1.6.x.

PDF, and printable documents in general, present what often feels like a bottomless pit of requirements. By providing a more robust framework, the hope is that users will be able to build on it to serve their own needs rather than having to wait and lobby for changes to the converter itself. The extended converter use cases page in the new docs highlights just how far this converter can be stretched to accommodate those needs. (If you look close, you can even find a recipe for applying a multi-column layout).

Getting the converter to work this way led to solutions for hundreds of open issues, 222 to be exact. With > 2,000 tests riding in on > 1,500 new commits means this converter is far more stable than it has ever been in the past. The converter is well-tested, better organized, and sufficiently documented. And while it still has limitations, that list has been cut down substantially.

This release marks a switch to semantic versioning and leaner releases in the future. Although this software is now very stable, the release also marks a shift in strategy to begin exploring other approaches to producing PDF documents, most likely by leveraging web technologies. We have pushed this PDF generation library well beyond its limits and intended use. To take this conversion further, new solutions are needed. We're leaving this repository in a state where it can continue to be maintained within the boundaries of what it currently provides. We wouldn't go so far as to call it maintenance mode, but maintenance will certainly become the focus.

Distribution

Changelog

For a more complete list of enhancements, improvements, and bug fixes that are included in this major milestone, see the What's New page in the documentation.

Improvements

  • use more stable approach to recreating current bounds in scratch document
  • add foundation to support multi-column layout for the body of an article (using an extended converter only)

Release meta

Released on: 2022-05-18
Released by: @mojavelinux
Release beer: 🎄 St. Bernardus Christmas Ale by St. Bernardus

Logs: resolved issues | full diff

Credits

A huge shout out to Sarah White (@graphitefriction) for collecting the raw materials of docs scattered throughout the repository and elsewhere and organizing them into a documentation component in the Asciidoctor documentation site. Not only do those docs make Asciidoctor PDF more approachable for new users, they also make the task of supporting all users a lot easier.

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

asciidoctor-pdf - v2.0.0 RC 1

Published by mojavelinux over 2 years ago

As we rounded up the issues and polished the documentation in preparation for the 2.0.0 release, we were able to squeeze in a few more enhancements, improvements, and bug fixes. We're more confident than ever that we're ready for a final release, which is why this release has been labeled as the release candidate.

The main enhancement is that it's now possible to position the caption for code and example blocks on the bottom end (below the block) using the theme. You can also use the theme to turn on text hyphenation. In an effort to organize the code, we've sorted the methods in the converter and marked which methods are private. This will give you more confidence when writing an extended converter. We've added a whole bunch of examples of extended converters to the docs. On the bug fix front, we finally fixed a long-standing issue that the top padding of line height was not being applied to the first line on the page when content is split across pages. We also addressed a few edge cases, like removing the image border on the title page logo, not leaving behind an entry for an empty notitle section at the bottom of the TOC and outline, and looking for the correct alignment role names on a block image. Since the focus of this release was largely on documentation, there have been a bunch of additions and improvements there as well.

The final 2.0.0 will follow this release shortly.

Distribution

Changelog

Enhancements

  • allow theme to position caption for code and example blocks below block using caption-end key (#1730)
  • allow hyphenation to be turned on and configured using the base-hyphens key in the theme (#2161)
  • replace docdir attribute reference in value of pdf-themesdir and pdf-fontsdir attributes (if not already replaced) (#412)
  • split out start_title_page method from ink_title_page to make customization of the title page simpler using an extended converter
  • introduce start_toc_page method to handle positioning cursor at first page of TOC

Improvements

  • reclassify and mark which methods in the converter are private
  • organize methods in converter
  • add DOM traversal methods to simplify the logic in the converter
  • remove requirement to add dummy text to title page to preserve it

Bug Fixes

  • apply top line height padding to first line of text when text runs to top of next page (#2173)
  • don't add entry to outline for notitle section if no content follows it
  • don't add entry to TOC for notitle section if no content follows it
  • look for block align roles on image instead of text align roles (#2176)
  • use correct left value when creating bounding box
  • don't apply border on block images to logo image on title page

Release meta

Released on: 2022-05-17
Released by: @mojavelinux
Release beer: Strata-Ford IPA by Athletic Brewing

Logs: resolved issues | full diff

Credits

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

asciidoctor-pdf - v2.0.0 Beta 2

Published by mojavelinux over 2 years ago

We received a lot of great feedback from the first beta that led to nearly a dozen bug fixes. While wrapping up documentation tasks for the 2.0.0, we had a breakthrough with wrapping...

Thanks to numerous changes and improvements to the code leading up to the 2.0.0 release, we determined it was easier to support image floats than to document how to patch them in. Thus, we're thrilled to announce that this release supports wrapping paragraph text around a floating image (a block image with the float attribute set)!

As part of that change, we updated the converter to coerce the image caption to automatically fit within the bounds of the image if the float attribute is set. Other types of blocks can be enlisted in float wrapping using an extended converter, which is now documented. We also added orphan checking to discrete headings, added a key to control the column gap in the index section, and added support for the text-transform property and the normal_italic font style to the first line of the abstract. The spacing around a thematic break is now controlled using padding instead of margins. The built-in theme suffix with-fallback-font has been changed to with-font-fallbacks, the sans-with-fallback-font has been renamed to default-sans-with-font-fallbacks, and there's a new default-sans theme. Finally, it's now possible to override the convert handler for listing, literal, stem, and pass blocks.

During this development cycle, the new docs for Asciidoctor PDF continued to be improved and reorganized. There's almost full coverage for the new features added in 2.0.0. Speaking of coverage, the test suite has surpassed the 2,000 test mark!

We're going to give users a chance to try this release so we can uncover any unexpected regressions, errors, or problem areas. If they come up, we will try to address them quickly so that we can turn around a final release very soon.

Distribution

Changelog

Enhancements

  • add support for float attribute on image; wrap ensuing paragraphs around image with float attribute (#353)
  • add supports_float_wrapping? method for extended converter to override to enlist other blocks in float wrapping; add example to docs (#353)
  • add image-float-gap key to theme to control space around image float (#353)
  • add support for text-transform property on first line of abstract in theme (#2141)
  • rename resolve_alignment_from_role to resolve_text_align_from_role to reflect proper terminology and purpose; alias old method name
  • add support for orphan avoidance to discrete headings to match behavior of section titles (using call to arrange_heading) (#2151)
  • rename arrange_section to arrange_heading to reflect proper terminology and purpose
  • add index-column-gap key to theme to control size of gap between columns
  • coerce image-caption-max-width to fit-content if float attribute is set on block image (#2150)
  • add support for text box with fixed height via :height option to typeset_text helper
  • configure typeset_text and ink_prose to return remaining fragments when :height option is specified
  • add support for :indent_paragraphs option to formatted text box (#353)
  • if float attribute is set on block image, set max width on caption to fit-content if max width not already set to a fit-content value
  • add built-in default-sans theme

Improvements

  • rename theme suffix with-fallback-font to with-font-fallbacks
  • rename sans-with-fallback-font theme to default-sans-with-font-fallbacks
  • configure spacing around thematic break using thematic-break-padding key instead of margin top and bottom (#2164)
  • rename convert_listing_or_literal to convert_code and alias old name
  • reify convert handler for STEM blocks (convert_stem)
  • reify convert handler for pass blocks (convert_pass) and remove block decoration

Bug Fixes

  • honor caption-align when element align is not left and caption-max-width is % of element width (e.g., fit-content(50%)) (#2156)
  • do not orphan sidebar title (#2158)
  • allow theme to set font style of first line of abstract to normal_italic (#2138)
  • add support for :color option to Prawn::Text::Formatted::Box directly and remove workarounds
  • preserve columns on subsequent pages in the index section (#2149)
  • fix return value of cursor method inside block for column box in index section
  • correctly detect preceding code block when determining whether to collapse top margin of colist
  • apply bottom margin to thematic break that falls at top of page (#2164)
  • allow extended converter to override convert_code method to handle convert_listing and convert_literal calls
  • restore margin below pass block
  • remove use of deprecated theme keys in default-for-print theme

Release meta

Released on: 2022-05-14
Released by: @mojavelinux
Release beer: The Thistle by Iron Mule Brewery

Logs: resolved issues | full diff

Credits

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

asciidoctor-pdf - v2.0.0 Beta 1

Published by mojavelinux over 2 years ago

The march is on towards the 2.0.0 release! We've determined that converter's behavior and APIs are now stable for this major release. The focus now turns towards fixing bugs, compatibility issues, and minor features that don't introduce breaking changes or deprecations.

Notable new features in this release include a new document attribute (index-pagenum-sequence-style) to control the style of page sequences in the index, a new document attribute (outline-title) to control the text and appearance of the title in the PDF outline, a new API method to control which elements are enlisted in the TOC and the corresponding logic to support non-sections, support for the smallcaps text transform (e.g., Sᴍᴀʟʟ Cᴀᴘᴛɪᴀʟ Lᴇᴛᴛᴇʀs) and updates to the bundled fonts to support those glyphs, and the ability to control the color of all borders using the base-border-color key when extending the base theme. In the theme, the caption-end key was added to the image category and the caption-side key on the table category was renamed to caption-end to be consistent.

During this development cycle, the new docs for Asciidoctor PDF continued to be improved and reorganized. Along with lots of updates to the theming guide, they include a new page that covers a variety of use cases that can be addressed using an extended converter. The new docs will now go live on https://docs.asciidoctor.org in conjunction with this release.

We're going to give users a chance to try this release so we can uncover any unexpected regressions, errors, or problem areas. If they come up, we will try to address them quickly so that we can turn around a final release very soon.

May the 4th be with you! 🤺

Distribution

Changelog

Enhancements

  • introduce index-pagenum-sequence-style document attribute to control style of sequential page numbers in index when media=screen (#1656)
  • allow entry for document in outline to be controlled using outline-title attribute (#1789)
  • allow extended converter to insert or filter toc entries by overriding get_entries_for_toc method (#2097)
  • add asciidoctor/pdf/nopngmagick script to unregister Gmagick handler for PNG images only (#1687)
  • allow theme to configure which end the caption is placed for a block image (#2115)
  • add Page#imported method to mark page as imported (which suppresses running contennt)
  • add support for smallcaps text transform by replacing lowercase letters with small capital variants (#1192)
  • use base-border-color as default border color; control appearance of border using border-width value alone (#2134)
  • remove border colors in base theme so all border colors can be controlled using base-border-color when extending theme
  • enable running footer when using base theme

Bug Fixes

  • allow border width of block image to be specified as an array (1, 2, or 4 values) (#2119)
  • rename delete_page extension method to delete_current_page to avoid conflict with incompatible method on Prawn::Document
  • remap table-caption-side theme key to table-caption-end (#2125)
  • add missing glyph for ÿ in built-in fonts
  • remove use of deprecated keys in chronicles-dark-theme.yml

Release meta

Released on: 2022-05-04
Released by: @mojavelinux
Release beer: In the Steep by Outer Range Brewing

Logs: resolved issues | full diff

Credits

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

asciidoctor-pdf - v2.0.0 Alpha 3

Published by mojavelinux over 2 years ago

This release was mostly about improving consistency and compatibility as we near the Asciidoctor 2.0.0 release.

The main new feature is support for setting a border and padding per heading level, including the document title of an article. Implementing this feature meant adding support for setting the border width and padding independently on all edges of a block and capping the border corners. Any time a padding or margin value can be specified in the theme using an array value, the 2- and 3-value forms are now accepted. To help with the transition to Asciidoctor PDF 2.0.0, bottom padding hacks detected in an older theme are automatically neutralize to retain the same appearance to the degree possible. The top and bottom padding on quote and verse blocks is now uniform in the default theme, and tighter in the base theme. The default border and grid color and width for tables has been updated to match the behavior of the previous stable release. As usual, consult the CHANGELOG for a more detailed view of what has changed.

During this development cycle, the new docs for Asciidoctor PDF continued to be improved and reorganized thanks to the work by Sarah. The new docs will go live on https://docs.asciidoctor.org at the same time Asciidoctor PDF 2.0.0 is released.

To reiterate, we don't anticipate having many alpha releases or a long prerelease cycle. We're going to give users a chance to try this release so we can uncover any unexpected regressions, errors, or problem areas. If they come up, we will try to address them quickly so that we can turn around a final release very soon.

Distribution

Changelog

Enhancements

  • allow border width of block to be specified per edge using 4-value array (#2102)
  • allow padding on block to be specified using 2-value array for ends and sides or 3-value array with implied left side value (#2104)
  • allow margins in running content to be specified using 2-value array for ends and sides or 3-value array with implied left side value (#2104)
  • allow theme to set border and padding on headings per level (#434)

Improvements

  • reduce top and bottom padding on quote and verse blocks in base theme
  • use uniform top and bottom padding on quote blocks in default theme
  • change inscribe_ method prefix in converter to ink_

Bug Fixes

  • allow ink_toc method in extended converter to insert page above TOC page
  • remap layout_ methods contributed to converter by prepended module
  • neutralize padding hacks in themes designed before the converter had smart margins
  • allow smallest ends or sides border width on block to be less than 1
  • cap border corners on block when width is defined using array (uniform or otherwise) (#2103)
  • fix crash in certain circumstances when theme does not define value for base-border-width key
  • use sensible fallbacks for table border and grid color and width (retains backwards compatibility)

Release meta

Released on: 2022-04-30
Released by: @mojavelinux
Release beer: Proper Pour by Boulevard Brewing

Logs: resolved issues | full diff

Credits

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

asciidoctor-pdf - v2.0.0 Alpha 2

Published by mojavelinux over 2 years ago

We received great feedback on the first alpha for Asciidoctor PDF 2, and immediately got to work fixing bugs and wrapping up issues that didn't make it into the first alpha. This release very nearly represents what we want Asciidoctor PDF 2 to be.

There are several notable enhancements in this release worth drawing attention to. First, you can now add the notitle option to the title of any section so it only appears in the TOC, not the document. This can be useful for creating entries in the TOC that are not sections, as the entry will effectively link to the first child element. Speaking of sections, you now add the breakable option to a section to keep the title with the first block of content, just like you can do for tables. It doesn't change where the section breaks, but it does provide a hint to the converter to do extra work to keep the section title from being orphaned. On the table front, you can now style the ends and sides of the frame and the rows and cols of the grid independently. To help improve the terminology in the theme, we have separated the align and text-align keys so the meaning of these keys doesn't get entangled. You can also now set a background color on any caption and define image-based admonition icons in the theme. If you are writing an extended converter, note that all methods with the prefix layout_ have been renamed to have the prefix inscribe_. However, if a converter uses the old method names, it will still work. Finally, this release includes numerous bug fixes and a few improvements to the log messages. As usual, consult the CHANGELOG for a more detailed view of what changed.

During this development cycle, the new docs for Asciidoctor PDF continued to be improved and reorganized thanks to the work by Sarah. The new docs will go live on https://docs.asciidoctor.org at the same time Asciidoctor PDF 2.0.0 is released.

To reiterate, we don't anticipate having many alpha releases or a long prerelease cycle. We're going to give users a chance to try this release so we can uncover any unexpected regressions, errors, or problem areas. If they come up, we will try to address them quickly so that we can turn around a final release very soon.

Distribution

Changelog

Enhancements

  • separate align and text-align keys in theme schema; remap old keys for backwards compatibility (#2095)
  • allow theme to control the border on all sides of tables independently (#902)
  • keep section title with first block of content is breakable option is set on section (#2075, #38)
  • pass part, chapterlike, and hidden options to arrange_section method
  • add support for background-color property on caption (#1995)
  • add support for image-based icons, resolved from iconsdir and having the icontype file extension (#1770)
  • add asciidoctor/pdf/nogmagick script to prevent Gmagick from handling PNG images (#1687)
  • change name of untitled option on special section to notitle
  • allow the title of any section to be hidden using the notitle option
  • allow imported PDF page to be referenced in TOC by enclosing in parent section with notitle option (#1213)
  • allow entry for preface to be added to TOC without adding title to body using the notitle option on the preface section (#1786)
  • automatically promote the notitle option from the first block in the premable to preface section; restore lead role on opening paragraph (#1786)

Improvements

  • change "icon" to "icon image" in warning about missing admonition icon image
  • report admonition type in warning about missing implicit admonition icon image

Bug Fixes

  • set the base font of the front cover image is a PDF and the title page is not active (#2092)
  • pass through warnings in background SVG to logger (#1940)
  • keep closing quote with trailing ellipsis in text enclosed in typographic quotes (#321)
  • collapse space in front of hidden index term (#2061)
  • delete dests on page before deleting it (keeps generated PDF clean of obsolete destinations)
  • don't call arrange_section if section title is hidden
  • remove theme_font enclosure around call to start_new_chapter and start_new_part
  • change layout_ method prefix to inscribe_ in converter (#2099)

Release meta

Released on: 2022-04-28
Released by: @mojavelinux
Release beer: Hop Zombie Red IPA by Lone Tree Brewing

Logs: resolved issues | full diff

Credits

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

asciidoctor-pdf - v2.0.0 Alpha 1

Published by mojavelinux over 2 years ago

I'm not even sure where to begin with summarizing this release, which has been in the works for well over two years. While still based on the same technology (Prawn), this release is a drastic improvement over the previous release line (thanks to some clever ingenuity and pure grit). I suppose I should start with the fact that the number of tests increased by almost 1,000 (from 1,032 to 1,890), which now cover 99.5% of the code. You can imagine those increases teased out a lot of bugs, which is reflected in the lengthy CHANGELOG and the 150 resolved issues.

Apart from a plethora of bug fixes, the flagship enhancements this release brings are that blocks are breakable by default, all blocks are arranged using the same logic, extra margin is not added below the last block of a parent, and the theming system is much more comprehensive.

IMPORTANT: You no longer need to declare a dependency on the upstream of the prawn-table gem in your Gemfile. The patch for prawn-table has been moved into Asciidoctor PDF, so you can use the version of prawn-table that is pulled in as a transitive dependency.

Reworking how blocks are arranged was the primary issue that was holding up this release. Previously, when the converter needed to know the boundaries of a block, it would render the block in a scratch document and return its height. This approach had several key flaws. First, the height in the scratch documented didn't always line up with the height of the block when rendered in the primary document, so the border and background would be off. The process also required that blocks be unbreakable by default in order to work reliably. And it didn't account for orphaned block titles. The logic has been completely rewritten to compute the extent of the block (start and end cursor) with intelligent positioning using multiple passes in order to get an accurate measure of the where the block begins and ends. As part of that change, blocks no longer need to be unbreakable, and thus have been changed to be breakable by default. The new logic also ensures that if no content is written on the first page, or only the block title fits, the block will automatically be advanced to the next page (regardless of whether the block is breakable). You can read more about the requirements and design behind this change in #2003 and #2004 (and the batch of related issues resolved by those issues).

As part of the new arrange block logic, the open block now serves as a generic container for keeping chunks of content together that don't themselves support the unbreakable option. And while tables now support the unbreakable option, this is the mechanism used behind the scenes to achieve that behavior.

Another big enhancement that was holding up the release was an overhaul of margin handling. In previous releases, the converter would add a bottom margin to the last block inside of another block or list. There were some hacks in place to minimize this quirk, but many edge cases still slipped through. The margin handling has been rewritten so that the bottom margin is only added to a block if it is followed by another block within the same enclosure (such as inside a sidebar). Top margins have been dropped and all margins are defined from the bottom edge of the block. With this new logic in place, you should no longer expect to see gaps at the bottom of content, and it drastically simplifies both the theme and the converter code.

For those who've been waiting for it, you can now apply a role defined in a theme to a paragraph. The role can be used to control the font properties, text alignment, and text transform. Speaking of the theme, there are many new categories and keys, and several have been renamed for consistency. There are also several new built-in themes for producing print-optimized PDFs and for replacing the bundle serif font (Noto Serif) with the equivalent sans font. Consult the theming guide for details.

On the compliance front, Asciidoctor PDF 2 will require Ruby 2.7 and JRuby 9.2 at a minimum.

Last but not least, during this development cycle, the docs for Asciidoctor moved to https://docs.asciidoctor.org. Thanks to the work by Sarah, the docs for Asciidoctor PDF are being migrated to join the family.

We do not anticipate having many alpha releases or a long prerelease cycle. We're going to give users a chance to try this release so we can uncover any unexpected regressions, errors, or problem areas. If they come up, we will try to address them quickly so that we can turn around a final release in a few weeks.

Distribution

Changelog

Enhancements

  • make delimited blocks breakable by default; require the unbreakable option on the block to retain the previous "keep together" behavior (#2004, #578, #509, #240)
  • add support for the %unbreakable option on a table to prevent it from being split across pages (#2022, #871, #819, #331)
  • add support for the %breakable option on a table (special case) to keep the caption and ID with the start of the table (#2022, #993)
  • implement smart bottom margins on blocks to prevent extra space below blocks, particularly nested blocks (#1515, #1513, #1845)
  • drop support for top-margin key on block and prose categories in theme; space between delimited blocks and lists now controlled using bottom margins only (#1515)
  • allow location of anchor for block to be positioned relative to content using block-anchor-top key in theme (#2013)
  • allow page numbering and running content to start after first page of a document without a title page by assigning an integer to the respective start_at theme key (#1644)
  • allow page numbering and running content to start after toc (wherever it's placed) by assigning the keyword after-toc to the respective start_at theme key (#1763)
  • allow theme to configure page numbering to start at cover (#1727)
  • allow the front and back cover images to be defined in the theme (#1584)
  • allow the front and back cover images to be specified as a data URI (#1584)
  • allow theme to control margin and content margin of running content per periphery (header or footer) and per side (recto or verso) (#994)
  • allow theme to control border style of delimited blocks (example, sidebar, code, admonition, verse, quote) (#1586)
  • allow theme to control font color of first line of abstract using abstract-first-line-font-color key
  • allow theme to control background color and border offset (only for background) of links (#1705)
  • support custom role on paragraph to allow theme to control font properties (#483)
  • change lead category in theme to built-in role named lead (#2031)
  • allow theme to control line height of blocks using line-height property where font properties are accepted (#2032)
  • don't render index section if index is empty (i.e., there are no index entries)
  • allow title of special section to be hidden by setting untitled option on section
  • stabilize font paths in built-in themes by prefixing paths with GEM_FONTS_DIR (#1568)
  • assign page-layout attribute in running content so it can be used to select a background per layout (#1570)
  • reset numbering of footnotes in each chapter (#1639)
  • add chapter xreftext to label of footnote reference that refers to previous chapter (#1639)
  • add support for assigning the same font file to all font variants (i.e., styles) using the wildcard key (*) (#1588)
  • bundle Noto Sans in addition to Noto Serif and add built-in theme sans-with-fallback-font (#2010)
  • allow caption max-width to be set to percentage of content by passing argument to fit-content function (#1494)
  • allow theme to control text alignment of caption independent of box alignment (#1493)
  • set chapter-numeral attribute in running content on pages in chapter if sectnums attribute is set (#1373)
  • set part-numeral attribute in running content on pages in part if partnums attribute is set (#1373)
  • add support for normal_italic font style (to reset font style to normal, then apply italic) (#1603)
  • honor text alignment roles (e.g., text-left) or list-text-align theme key on callout lists
  • honor text alignment roles (e.g., text-center) on block image (#1609)
  • honor role and inherited role on inline image (#1939, #1376)
  • disable running header and/or footer on toc pages if noheader and/or nofooter option is set on toc macro (#1378)
  • add support for preamble toc placement
  • only insert macro toc at location of first toc macro
  • ignore requested pages not found in imported PDF (#1616)
  • disable document outline if outline document attribute is unset (#1619)
  • keep temporary artifacts (for debugging) if KEEP_ARTIFACTS env var is set
  • define a dest name "toc" at the top of the default toc location
  • normalize space characters in authors content and drop lines with unresolved attribute references (#1642)
  • skip image block with missing image if computed alt text resolves to empty string (#1645)
  • custom theme does not inherit from base theme by default; must be specified explicitly using extends: base (#1640)
  • allow theme to configure number of index columns using index_columns key (#1663)
  • configure AsciiDoc table cell to inherit font properties from table and scale font size of nested blocks (#926)
  • scale font size of literal table cell (#1696)
  • add support for id attribute on link macro
  • add support for link attribute on icon macro (#1915)
  • allow theme to configure width of block border on ends separate from sides (#1693)
  • add additional glyphs to built-in fonts (heavy checkmark to fallback font; both checkmarks to monospaced font; numero sign to prose and fallback fonts) (#1625)
  • allow theme to specify text decoration style, color, and width for captions (globally)
  • allow admonition icon image to be remote (if allow-uri-read is set) or data URI (#1711)
  • allow theme to configure font color of unresolved footnote using unresolved role
  • show textual label on admonition if icon image fails to embed (#1741)
  • allow theme to disable title page by assigning false to title_page category key (#1754)
  • allow Rouge theme to be specified as theme class or instance (API only)
  • allow theme to control font size of dot leader in TOC
  • allow section to override outlinelevels for self and children using outlinelevels attribute on section
  • use value of author attribute for PDF info and pdfmark if locked by the API (#1778)
  • only extend theme in extends hierarchy once unless modified with !important (#1800)
  • add print-optimized themes (default-for-print and default-for-print-with-fallback-font) (#1699)
  • add support for power operator in theme (with same precedence as multiply and divide) (#1813)
  • include floor and ceil match characters in fallback font (#1832) (@oddhack)
  • allow horizontal and vertical lines of table grid to be styled independently (#1875) (@hextremist)
  • allow theme to define the characters for typographical quotation marks (#1880) (@klonfish)
  • allow theme to control top margin of callout lists that immediately follow a code block using callout-list-margin-top-after-code key (#1895)
  • introduce layout_general_heading to allow extended converter to access node (#1904)
  • use Document#authors to retrieve authors instead of extracting the information from the indexed document attributes
  • add support for character references that contain both uppercase and lowercase hexadecimal characters (#1990) (@etiwnad)
  • log error and skip table instead of raising error if cell content cannot fit into column width of table (#2009)
  • extract arrange_section method to compute whether section title should be advanced to next page (#2023)
  • introduce callout-list category in theme to control font properties and item spacing of callout lists (#1722)
  • only indent inner paragraphs (paragraphs that follow an adjacent paragraph) if prose-text-indent-inner key is set in theme (#2034)
  • stop and restart conversion in scratch document once the code determines the block does not fit in the available space (#2003)

Bug Fixes

  • reimplement arrange block logic by using scratch document to compute extent for content block in primary document instead of height (#2003, #2016, #789)
  • correctly compute height of delimited block attached to description of item in horizontal dlist (follow-up to #2003)
  • do not crash if item in horizontal description list has no desc
  • do not crash if item in unordered description list has no desc and do not append subject stop to term
  • ensure that Time.parse is loaded
  • resolve images in theme correctly when theme is loaded from classloader (JRuby only) (#1829)
  • log warning rather than crash if front cover image cannot be embedded (such as a broken SVG)
  • do not insert blank line in index when term is forced to break (#1665)
  • honor prepress page margins on subsequent pages in index (#1929)
  • use more robust strategy for line height normalization that accounts for case when line contains only monospaced text (#1650)
  • add support for line-height property on lead role as documented
  • prevent generator from allocating space for placeholder null char (used for anchors) if font is missing glyph (#1672)
  • ensure background and admonition icon image files are closed after being read (#1566)
  • ensure temporary images generated by running content are cleaned up (#1566)
  • fix encoding of indent in wrapped source blocks when font is AFM (#1934)
  • fix spacing after first line of indented paragraph (#1557)
  • fix crash if btn or kbd macro is used in section title (#1563)
  • fix crash when applying text transform to heading cell in table body (#1575)
  • allow custom inline role to control text transform when it's not the only role on the phrase
  • do not convert already converted intrinsic width for block and inline SVG
  • honor font style when looking for glyph in font
  • resolve character references in custom admonition label (as defined via caption attribute)
  • convert blocks inside abstract, not just the contents of the blocks
  • only suggest installing prawn-gmagick gem if not loaded (#1578)
  • applying double border style to thematic break should honor border width
  • warn once instead of crashing if page background image cannot be embedded (#1780)
  • warn once instead of crashing if cache-uri is set but library is not available
  • sanitize values of PDF info values (#1594)
  • configure headings to inherit font styles from theme (#1604)
  • use conum font family defined in theme for conum in verbatim block (#1611)
  • apply font color and text transform from theme to terms in horizontal dlist (#1994)
  • prevent content of AsciiDoc table cell from overrunning content on subsequent pages (#1623)
  • account for top/bottom padding when computing height of AsciiDoc table cell
  • log error message if table cell is truncated (#1626)
  • take hard line breaks into account when computing natural width of table cell (#1762)
  • use "toc" as the default dest name for the macro toc
  • position page split indicator correctly when block has transparent border
  • replace block macro with missing PDF target with alt text
  • consistently use default margin when page margin resolves to empty array
  • sort page numbers in index numerically instead of lexicographically; sort mixed page number types correctly (#1657)
  • use informal title prefixed with down indicator for collapsible block (#1660)
  • don't apply border, shading, or padding to collapsible block (#1660)
  • escape bare ampersand in attribution and citetitle of quote or verse block (#1662)
  • fix numeric assertions in test suite (#1542)
  • prevent converter for list item from inserting new page to position marker when next page is already instantiated (#2001)
  • keep block anchor with code block when block is moved to next page (#1897)
  • keep block anchor with admonition block when block is moved to next page
  • remove poorly-defined (and undocumented) border bottom property for caption
  • fix crash when theme specifies CMYK value for table border color (#1700)
  • fallback gracefully if unrecognized convert-time syntax highlighter is used
  • correctly process a sequence of two or more callouts separated by spaces in a source block (#1898)
  • allow callouts sub to be disabled on source blocks (#1704)
  • show missing footnote reference in superscript
  • fix crash when icons=font and admonition_label_min_width is set in theme
  • use oembed API over HTTPS to get thumbnail for Vimeo video
  • show link to Vimeo video if allow-uri-read attribute is not set
  • don't apply syntax highlighting if Rouge lexer fails to highlight source; show plain source instead
  • don't apply syntax highlighting to source block if specialchars sub is disabled
  • apply border bottom to correct table row when frame and grid are disabled (#1873)
  • allow caption max width to be set by theme to fixed value
  • fix crash when footnote is defined in section title with auto-generated ID
  • do not duplicate footnotes in desc of horizontal description list (#1775)
  • allow an index term to be defined in section title with auto-generated ID
  • fix alignment of link box for image in running content with numeric vertical alignment
  • fix vertical center alignment of normal table cell
  • short-circuit xreftext containing a circular reference path
  • prevent PDF page import from corrupting references in PDF (#1726)
  • display decimal list marker correctly when list is reversed (e.g., 10., 09., 08., etc)
  • use correct spacing for dotted border dash on table (length and spacing should match width)
  • set color space on page with only image so font color is preserved in running content (#1742)
  • compute font size for superscript and subscript correctly when parent element uses em and % units (#1745)
  • respect hyphenation exceptions when word is adjacent to non-word character (#1715)
  • fix crash when TOC is enabled and index is empty
  • align TOC section properly when index exceeds one page and section_indent is positive (#1735)
  • fix left margin drift when indentation is active across a page break (#1735, #1949)
  • render image at end of section title in corresponding toc entry (#1752)
  • allow inline image to be enclosed in link macro (alt text was breaking parsing)
  • prevent inline image from rendering multiple times if fallback font is used for alt text (#1858)
  • allow theme to set font style of first line of abstract to normal
  • resize admonition label to fit if height exceeds height of content box
  • fix crash when underline style is used in Rouge theme
  • fix crash when Text token is not defined in custom Rouge theme
  • fix crash when Pygments style is not recognized; fall back to pastie style
  • avoid loss of precision in CMYK color value for conum or footnote font
  • use value of untitled-label attribute as fallback value for doctitle in running content (#1772)
  • use value of untitled-label attribute as fallback value for Title field in pdfmark (follow-up to #1772)
  • show sensible error message if background image cannot be loaded (e.g., data is corrupt)
  • honor alignment role when aligning alt text for missing block image
  • don't crash when rendering alt text for block image if value of align attribute is invalid (#1781)
  • correctly scale down SVG that only marginally exceeds bounds of page when fit=scale-down
  • prevent font scale from compounding for nested blocks in AsciiDoc table cell (#2007)
  • don't suppress actual error message when theme cannot be loaded; may contain information about theme being extended
  • force inline image to fit within table cell when width is larger than available space (#1798)
  • hide print annotation for bare email address (#1806)
  • patch float precision constant so prawn-table does not fail to arrange cells that span columns (#1835)
  • capture footnotes in AsciiDoc table cell and render them with other footnotes at end of article/chapter (#1777)
  • prevent PDF from being used as logo image on title page (since it cannot work properly anyway)
  • don't crash when generating TOC if section title is empty
  • escape closing square bracket around alt text of missing image so it doesn't get matched as part of a link macro
  • use value of author attribute in PDF info and pdfmark if authors attribute is not set (#1922)
  • honor pdf-folio-placement setting even when media=prepress (#1917)
  • honor pre-wrap role on phrase (#1927)
  • verify alignment of list marker in AsciiDoc table cell (#1965)
  • don't crash if value of width attribute on image has invalid format (#1970)
  • don't render borders and backgrounds in scratch document
  • don't insert blank page after document title if first block (chapter or toc macro) has nonfacing option (#1988)
  • coerce negated variable reference to number if value of variable is numeric
  • prepress page margins should honor value of pdf-folio-placement (#1918)
  • ensure callout number in callout list stays with primary text when item is advanced to next page (#1967)

Compliance

  • drop support for Ruby < 2.7 and JRuby < 9.2 (#1681, #2038)
  • declare the matrix gem as a dependency to fix compatibility with Ruby 3.1
  • use YAML.safe_load from Ruby stdlib instead of safe_yaml gem
  • drop deprecated Pdf module alias in API (leaving only PDF)
  • remove deprecated "ascii" fonts; only bundle the more complete "subset" fonts
  • remove support for <color> tag in passthrough content; use <font color="..."> instead (may affect themes)
  • remove asciidoctor-pdf/converter and asciidoctor-pdf/version shim scripts; use asciidoctor/pdf/converter and asciidoctor/pdf/version instead
  • rename Optimizer#generate_file method to Optimizer#optimize_file
  • drop support for deprecated pdf-style and pdf-stylesdir attributes (#1827)
  • drop use of the undocumented vertical-spacing key from the built-in themes
  • rename the outline-list category in the theme to list and map the outline-list- keys to list- with warning if found (#1894)
  • rename the literal category in the theme to codespan and map the literal- keys to codespan- with warning if found (#1796)
  • rename the blockquote category key in the theme to quote and map the blockquote- prefix to quote- with warning if found (#2054)
  • rename the key category key in theme to kbd and map the key- prefix to kbd- with warning if found (#2052)
  • remove unneeded _mb functions (e.g., uppercase_mb); multibyte support for upcase, downcase, and capitalize is now provided by corelib

Build / Infrastructure

  • migrate Linux CI jobs to GitHub Actions (#1814)
  • enable CI job on macOS (#1817)
  • add Ruby 3.1 to CI matrix; use as primary Ruby
  • test against Asciidoctor upstream (#1821)
  • skip tests for unreadable files when euid is 0
  • use prawn-table release and drop recommendation to use the development version (converter now patches prawn-table)

Release meta

Released on: 2022-04-20
Released by: @mojavelinux
Release beer: Rochefort 10 by Brasserie de Rochefort

Logs: resolved issues | full diff

Credits

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

asciidoctor-pdf - v1.6.2

Published by mojavelinux almost 3 years ago

Summary

This is a patch release for the v1.6.x line to fix a regression introduced by upgrading Prawn and to backport the feature to control when the link URI is shown using the show-link-uri attribute.

Distribution

Changelog

Enhancements

  • show URL of link for any media type when show-link-uri is set (#951)
  • do not show URL of link when media type is screen or prepress when show-link-uri is unset (#951)

Bug Fixes

  • update patches for PDF::Core.real and PDF::Core.real_params to prevent scientific notation ending up in PDF (#1983) (@rillbert)

Release meta

Released on: 2021-12-31
Released by: @mojavelinux
Release beer: Hop Excavator by Our Mutual Friend

Logs: full diff

Credits

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