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 - v1.6.1

Published by mojavelinux about 3 years ago

Summary

This is a bug fix release for the v1.6.x line to fix a regression introduced into Prawn by a change in Ruby 3. It also includes a backport of the footnotes alignment from the v2.0.x line.

Distribution

Changelog

Enhancements

  • align footnotes block to the bottom of the page it is placed on (#1833)

Bug Fixes

  • don't strip leading null character from fragment text when arranging lines when running on Ruby 3 (#1963)

Release meta

Released on: 2021-05-10
Released by: @mojavelinux
Release beer: Dragon's Milk Reserve by New Holland Brewing

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.

asciidoctor-pdf - v1.6.0

Published by mojavelinux over 3 years ago

Summary

This is special major release of Asciidoctor PDF before transitioning to semantic versioning. The purpose of this release is to make Asciidoctor PDF compatible with Ruby 3 (in advance of the Asciidoctor PDF 2.0.0 release). As part of that upgrade, this release drops support for Ruby < 2.5 (which also means JRuby < 9.2). It also drops support for Asciidoctor < 2. In order to get the full CI matrix running, support for controlling the location of the gs command using the GS environment variable was backported to this release. As part of removing patches to support Ruby < 2.5, the fix to not hyphenate a hyphen was also backported.

The Asciidoctor PDF 1.5.x release line does not work on Ruby 3 because the version of Prawn it depends on cannot be installed on Ruby 3. And it's not possible to upgrade Prawn in that release line since newer versions of Prawn dropped support for Ruby < 2.5. Since that upgrade constitutes a major breaking change, we've decided to create a 1.6.x release line. Since Asciidoctor PDF isn't yet using semantic versioning, this is considered a major release.

As part of upgrading Prawn, this release also upgrades prawn-svg, prawn-icon, and ttfunk. Those upgrades bring in additional enhancements. For example, the ttfunk upgrade adds partial support for OTF fonts. The prawn-svg upgrade adds support for loading embedded images from a data URI. And the prawn-icon upgrade brings in a newer version of Font Awesome (5.15.1).

Distribution

Changelog

Enhancements

  • allow path of ghostscript command to be controlled using GS env var (#1791)

Bug Fixes

  • do not hyphenate a hyphen when hyphenation is enabled (#1562)

Compliance

  • add support for Ruby 3 and drop support for Ruby < 2.5 and JRuby < 9.2 (#1681)
  • upgrade to Prawn 2.4.0 (adds support for Ruby 3)
  • upgrade to prawn-svg 0.32 (adds support for Ruby 3 without a patch and for loading embedded images from a data URI)
  • upgrade to prawn-icon 3.0.x
  • release lock on ttfunk version (1.6 produces slightly different output from 1.5 for certain missing glyphs)
  • drop support for Asciidoctor < 2 (#1552)

Build / Infrastructure

  • run tests against pygments.rb 2.x in addition to pygments.rb 1.2.0

Release meta

Released on: 2021-05-10
Released by: @mojavelinux
Release beer: Sun Reaper by Toppling Goliath

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.

asciidoctor-pdf - v1.5.4

Published by mojavelinux almost 4 years ago

Summary

Thanks to community feedback and testing, we bring you yet another bug fix release. The most significant fix in this release is to restore compatibility with the latest Asciidoctor 2.0 release when using Pygments. A regression was fixed to keep the caption with the block image when the image is scaled down to fit on the page. Images in the theme are now resolved correctly when theme is loaded from classloader when using JRuby. And it's now possible to control the font family used for conums inside a verbatim block. This release also brings a minor release upgrade for prawn-svg. There are additional fixes you can find listed in the CHANGELOG.

Distribution

Changelog

Bug Fixes

  • restore compatiblity with Asciidoctor 2.0.12 when using Pygments (#1846)
  • fix numeric assertions in test suite (#1542)
  • keep caption with image when image is scaled down to fit page (#1803)
  • prevent inline image from rendering multiple times if fallback font is used for alt text (#1858)
  • disable cache tests if open-uri-cache gem is not available
  • disable hyphen tests if text-hyphen gem is not available
  • compensate for change in how character_spacing is applied in FontMetricCache#width_of after Prawn 2.2.2
  • allow inline image to be enclosed in link macro (alt text was breaking parsing)
  • use oembed API over HTTPS to get thumbnail for Vimeo video
  • use conum font family defined in theme for conum in verbatim block (#1611)
  • patch float precision constant so prawn-table does not fail to arrange cells that span columns (#1835)
  • resolve images in theme correctly when theme is loaded from classloader (JRuby only) (#1829)

Compliance

  • upgrade to prawn-svg 0.31 (adds support for loading embedded images from a data URI) (#1810)

Build / Infrastructure

  • migrate Linux CI jobs to GitHub Actions

Release meta

Released on: 2021-01-09
Released by: @mojavelinux
Release beer: D.O.R.I.S. the Detroyer by Hoppin' Frog

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.5.3

Published by mojavelinux over 4 years ago

Summary

Thanks to community feedback and testing, we bring you yet another bug fix release. First, it fixes a crash when the text transform is applied to the heading cell in the table body. It also removes the extra hyphen when hyphenation is enabled and a hyphen appears at the end of the line. And finally, it looks in the correct font, honoring the font style, when trying to find which font provides the glyph. Finally, if the format of an image is unsupported, and prawn-gmagick has already been loaded, the log message will not suggest installing it. And that's it!

Distribution

Changelog

Bug Fixes

  • do not hyphen a hyphen when hyphenation is enabled (#1562)
  • fix crash when applying text transform to heading cell in table body (#1575)
  • honor font style when looking for glyph in font
  • only suggest installing prawn-gmagick gem if not loaded (#1578)

Release meta

Released on: 2020-02-28
Released by: @mojavelinux
Release beer: Orange Tango Jam by Alternation 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 - v1.5.2

Published by mojavelinux over 4 years ago

Summary

This release fixes just two bugs. First, it ensures that all images are properly closed after reading and that temporary image files are always cleaned up (which fixes several warnings on Windows). Second, it fixes the crash when the btn or kbd macros are used in a section title. And that's it!

Distribution

Changelog

Bug Fixes

  • fix crash if btn or kbd macro is used in section title (#1563)
  • ensure background and admonition icon image files are closed after being read (#1566)
  • ensure temporary images generated by running content are cleaned up (#1566)

Release meta

Released on: 2019-02-21
Released by: @mojavelinux
Release beer: Monkey's Wedding by Resolute 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 - v1.5.1

Published by mojavelinux over 4 years ago

Summary

Work has started on Asciidoctor PDF 2. While that happens, we'll roll bugs fixes and minor enhancements into the 1.5.x line. This release is the first in that series. It fixes the line spacing between the first and second lines of an indented paragraph as well as the abstract. In order to test it properly, we needed to add support for changing the font color of the first line of the abstract. The first-line category for the abstract is now documented in the theming guide. One lingering reference to the Pdf module was renamed to PDF. And that's it!

Distribution

Changelog

Enhancements

  • allow theme to control font color of first line of abstract

Fixes

  • fix spacing after first line of indented paragraph (#1557)

Release meta

Released on: 2019-02-16
Released by: @mojavelinux
Release beer: Monkey's Wedding by Resolute 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 - v1.5.0

Published by mojavelinux over 4 years ago

Summary

This is it! You can finally install the Asciidoctor PDF gem without the --pre flag. What made us decide it's ready? Perhaps it's the 1,000 tests in the test suite. Perhaps it's the 900 resolved issues. Perhaps because it's the 30th release in the project history. Or perhaps, it was just time ;)

This release brings with it several notable improvements and bug fixes since the last candidate release. Feature-wise, there's now broader support for using a data URI target as the image target (i.e., background image and running content image), the page mode can be fully configured using the pdf-page-mode attribute or page_mode theme key, the front and back cover can be set to a blank page, a pass block will render as a literal block, and if a table has multiple header rows (which must be configured using an extension), those rows will act like header rows (i.e., styled appropriately and repeated on subsequent pages). In the bug fix category, the processor won't crash if the document has a PDF cover page and SVG page background, the background and border will be drawn around the entire block in an AsciiDoc table cell, the character spacing in an inline SVG won't be altered by the image placeholder, and the processor will only warn once per missing character per font.

Consult the CHANGELOG for this release, as well as previous releases, for a full picture of what has changed recently.

Next steps

Following this release, Asciidoctor PDF will adhere to semantic versioning and only support versions of Ruby that themselves are in an active cycle. The Asciidoctor PDF 2.0.0 release will mostly be the same as this one, though will swap a few default settings that could affect compatibility.

Distribution

Changelog

  • support table with multiple head rows & decorate accordingly (#1539)
  • draw background and border around entire delimited block with wrapped text that appears inside an AsciiDoc table cell (#820)
  • fix crash when document has PDF cover page and SVG page background (#1546)
  • allow page mode to be fully configured using pdf-page-mode attribute or page_mode theme key (#840)
  • allow background image to be specified using a data URI
  • allow running content image to be specified using a data URI
  • support creating empty front or back cover by assigning empty value to front-cover-image or back-cover-image attribute
  • only warn once per missing character (#1545)
  • render pass block as listing block, using raw source as contents
  • prevent image placeholder from altering character spacing in inline SVG (#1550)

Release meta

Released on: 2019-02-11
Released by: @mojavelinux
Release beer: Black IPA by Bent Barley

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.5.0 RC 3

Published by mojavelinux over 4 years ago

Summary

This release contains a bunch of bug fixes, some minor refinements, and a handful of long-awaited enhancements. This is the last release candidate before the final 1.5.0 release, so be sure to give it a good test! The suite of nearly 1,000 tests should certainly help. Since the last release, we got the full test suite running again on Windows (Ruby 2.3-2.7 and JRuby), so we're even more confident in the results it gives us.

The main issue fixed by this release is the placement of inline images. The correct amount of space is once again reserved for inline images so text in the same line doesn't run together. This is most noticeable if you use the Asciidoctor Mathematical extension. If an entry in the TOC wraps across a page boundary, the dots leading up to the page number will be displayed on the page with the page number. If you use a background image in your document, the converter will not crash if the image is not readable. If the theme file has a syntax error, you'll see a log message that tells you the location of the error (and the default theme will be used instead). If a font with an absolute path cannot be found, the search path is not reported. And log messages are no longer emitted from the scratch document, so you should not see duplicate messages about the same problem.

So what are these long-awaited enhancements? Well, there are some good ones. The custom theme can now merge its font catalog with the theme it extends. This makes it easy to create custom themes that use custom fonts. If one of those fonts only has a single style (such as an emoji font), you can register it once by assigning the path directly to the font name (e.g., MyEmoji: /path/to/my-emoji.ttf). Speaking of emoji, the default-with-fallback-font theme (-a pdf-theme=default-with-fallback-font) now ships with an emoji fallback font by default (NotoEmoji). So you can have fun playing with emoji in your document. If your custom font is missing a character, you can discover which character by enabling verbose mode (-v). You can use remote images for any background image specified in the theme or as the running content image (when the allow-uri-read attribute is set on the document). Speaking of the running content, the vertical alignment can be further controlled using an offset as the second value (e.g., [top, 10]). And the max-width on an image or table caption can be specified as a % of the container width.

You may be interested in an early draft of a dark theme, which you can find in the examples directory. See https://github.com/asciidoctor/asciidoctor-pdf/blob/master/examples/chronicles-dark-theme.yml

Consult the CHANGELOG to find the complete list of changes.

Distribution

Changelog

  • reserve space for inline image correctly so it doesn't mangle the character spacing in the line when the image wraps (#1516)
  • allow custom theme to merge font catalog with theme being extended (#1505)
  • allow font path to be declared once for all font styles (#1507)
  • continue border, background, and column rule of admonition block on subsequent pages when block gets split (#1287)
  • allow max-width on caption be specified as a percentage (of the container width) (#1484)
  • add support for remote image in running content (if allow-uri-read attribute is set) (#1536)
  • add support for remote background images specified by theme (if allow-uri-read attribute is set) (#1536)
  • add support for remote title page logo image specified by theme (if allow-uri-read attribute is set) (#1536)
  • place dots on correct page when section title in TOC wraps across a page boundary (#1533)
  • add destination to top of imported PDF if ID is specified on image block
  • log reason if theme file cannot be parsed or compiled (#1491)
  • fix crash if background image in theme is not readable
  • bundle emoji font and use as fallback in default-with-fallback-font theme (#1129)
  • add dark theme for chronicles example
  • allow vertical-align key for header and footer categories to accept numeric offset as second value (e.g., [top, 10]) (#1488)
  • link font family for abstract and sidebar to heading font family if only latter is set
  • if path of missing font is absolute, don't suggest that it was not found in the fontsdir
  • allow use of style "regular" as alias for "normal" when defining font
  • emit warning in verbose mode if glyph cannot be found in fallback font (#1529)
  • don't crash if table is empty and emit warning (#607)
  • only emit warning when non-WINANSI character is used with AFM font if verbose mode is enabled
  • do not emit warning when non-WINANSI character is used with AFM font inside scratch document
  • do not emit log messages from scratch document
  • upgrade treetop to 1.6
  • reenable tests on Windows (#1499) @slonopotamus

Release meta

Released on: 2019-02-04
Released by: @mojavelinux
Release beer: Sterling Tripel by Peak View

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.5.0 RC 2

Published by mojavelinux almost 5 years ago

Summary

We discovered a few bugs in the first release candidate, so here's another one (with even more tests) for you.

The most critical bugs fixed were a crash when converting a header cell in the table body, an incompatibility with Ruby 2.7 that was messing up text wrapping, and improper parsing of the pdf-page-margin attribute value. The warning when reading data from a remote URL with Ruby 2.7 was also corrected.

There are two small enhancements that come with this release candidate. Any warnings encountered when parsing SVGs (by prawn-svg) are passed directly to Asciidoctor's logger. You can now configure the PDF generator to compress streams (which, in turn, makes the generated PDF smaller) by setting the compress document attribute. (This setting is redundant if you're using the optimizer by setting the optimize document attribute).

Consult the CHANGELOG to find the complete list of changes.

Distribution

Changelog

  • patch Prawn to fix incompatibilty with Ruby 2.7
  • fix crash when assigning font style to header cell in table body (#1468)
  • fix parsing of array value of pdf-page-margin attribute (#1475)
  • fix warning when reading data from a remote URL when running with Ruby 2.7 (#1477)
  • pass SVG warnings to logger (#1479)
  • compress streams if the compress attribute is set on the document (#1471)
  • don't set heading-font-family in default theme so it inherits from base

Release meta

Released on: 2019-12-09
Released by: @mojavelinux
Release beer: Bear Chested by 105 West Brewing Company

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.5.0 RC 1

Published by mojavelinux almost 5 years ago

Summary

Asciidoctor PDF is finally moving into the final stage of the first stable release with this first release candidate! It does so having over 900 tests and a small pile of enhancements since the last beta.

Before getting into the fun stuff, the most recent release of ttfunk (1.6.0) broke Asciidoctor PDF. It turns out our patch was obsolete anyway, so just removing the patch solved the issue. But this new version has an outstanding issue with font subsetting, so we've decided to lock the version of ttfunk to 1.5.x for this release. The asciidoctor-pdf-optimize bin script has also been fixed so it doesn't crash due to a missing library.

Probably the two most exciting enhancements in this release are the ability to start the page numbering and/or running content on an arbitrary page of the body (using the start_at key with an integer value) and line highlighting in source blocks (when using Rouge or Pygments and the highlight block attribute is set). On the topic of source blocks, if the lines of a source block wrap when line numbering is enabled, the wrapped lines will start after the line number gutter.

Other enhancements include support for data URI when the image format is SVG, ignoring case when sorting index terms, section title partitioning if the title-separator document attribute or the separator block attribute is set, support for writing the output to stdout, support for the unbreakable option on open blocks (thanks @Mogztter!), and the ability to control the toclevels per section (including being able to exclude the current section from the toc). Note that the converter will no longer apply the recto margin to the title page when media=prepress if cover is absent unless value of front-cover-image attribute is ~. The mailto: prefix is no longer added to visible mailto URI if hide-uri-scheme is set.

The theming system picked up several nice enhancements in this release. The theme can now set the base text decoration width, the font kerning per category, a background image for running content, a border on admonition, quote, and verse blocks, and both the alignment and width of the image caption can be set to inherit from the image. If a block image has a percentage width, that width is now honored. An inline image can be configured to fit the height of the line by setting fit=line. And a custom inline role can now control the text transform. You might also notice that the border offset now expands the width of an inline element so the border doesn't run into surrounding text.

This release also includes a number of minor bug fixes. Consult the CHANGELOG to find the complete list of changes.

Distribution

Changelog

  • support data URI for SVG image (#1423)
  • account for border offset in width of fragment (#1264)
  • ignore case when sorting index terms (#1405)
  • partition section title (title and subtitle) if title-separator document attribute or separator block attribute is set (#623)
  • allow page numbering to start after first page of body by assigning an integer to the page_numbering_start_at theme key (#560)
  • allow running content to start after first page of body by assigning an integer to the running_content_start_at theme key (#1455)
  • allow output file to be written to stdout (#1411)
  • implement line highlighting for source blocks when using Rouge as source highlighter (#681)
  • implement line highlighting for source blocks when using Pygments as source highlighter (#1444)
  • indent wrapped lines in source block beyond linenum gutter (#504)
  • don't mangle source block if linenums are enabled and language is not set
  • don't print line number if source block is empty
  • don't apply recto margin to title page if cover is absent unless value of front-cover-image attribute is ~ (#793)
  • expose theme as property on converter
  • add support for unbreakable option on open blocks (#1407) @mogztter
  • don't add mailto: prefix to revealed mailto URI when hide-uri-scheme is set (#920)
  • allow theme to set base text decoration width (#1414)
  • allow theme to set font-kerning per category (#1431)
  • allow theme to specify background image for running content (#356)
  • allow theme to specify border for admonition block (#444)
  • allow theme to specify background color for admonition block (#444)
  • allow theme to specify background color and full border for quote and verse blocks (#1309)
  • allow text alignment roles to be used to control alignment of discrete heading
  • allow theme to configure image caption align(ment) to inherit from image align(ment) (#1459)
  • allow theme to confine width of image caption to width of image (#1291)
  • don't apply border to block if border width is not set (or nil)
  • use font color from pygments style for unhighlighted text (#1441)
  • render stem block as raw literal block
  • render stem phrase as monospaced text
  • honor percentage unit on width attribute value on image (#1402)
  • fix crash when capitalizing text that does not contain markup
  • allow custom inline role to control text transform (#1379)
  • convert link macro enclosed in smart quotes
  • allow inline image to be fit within line using fit=line (#711)
  • fix fit=cover for background image when aspect ratio of image is taller than page (#1430)
  • compute and apply line metrics for cells in table head row (#1436)
  • compute and apply line metrics correctly for cells in table body and foot rows (#1436)
  • allow section to override toclevels for self and children using toclevels attribute on section (#734)
  • allocate space for pagenum in toc consistently (#1434)
  • fall back to default theme instead of crashing if specified theme cannot be resolved
  • allow font color to be set on nested span in passthrough content
  • move width and align attributes from font tag to width and align style properties on span tag
  • compute table cell padding correctly when specified as a 4 element array
  • preserve isolated callout on final line of source block
  • fix missing require in asciidoctor-pdf-optimize script (#1467)
  • lock version of ttfunk to 1.5.x

Release meta

Released on: 2019-12-06
Released by: @mojavelinux
Release beer: Pink Boats DIPA by Burly 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 - v1.5.0 Beta 8

Published by mojavelinux almost 5 years ago

Summary

We made a breakthrough and finally integrated automatic hyphenation into this converter. Therefore, we decided it best to put out a beta release to get some feedback on it before moving forward with a stable release. If the feedback is good, we'll proceed with the first release candidate next. Here's what changed to get us closer to that release:

If the text-hyphen gem is installed, and you've set the hyphens attribute on the document, Asciidoctor PDF will automatically hyphenate prose based according to the language rules. The hyphenation language is determined either by the value of the hyphens attribute (default en_us) or the value of the lang attribute, if set. And another fun feature, you can now set the width and color of the text decoration. And both the underline and line-through built-in roles can be customized using the theme. You can force the PDF document to start in fullscreen mode by setting the pdf-page-mode attribute or page_mode theme key to fullscreen. A hanging indent is applied to wrapped entries in both the toc and index. If you place the toc manually using the toc macro, the toc will appear in the outline in the same location in the document. A regression which caused the AsciiDoc table cell to overflow the bounds of the table and create an extra page has been fixed. The cjk breaks behavior now extend to table cells. XML special characters in a literal table cell are no longer double escaped. Finally, you can now use the theme to customize the content of the author line on the title page.

And we should probably mention that the converter now has 800 tests. 🎉

Consult the CHANGELOG to find the complete list of changes.

Distribution

Changelog

  • automatically hyphenate prose using the text-hyphen gem if the hyphens document attribute is set (#20)
  • set hyphenation language using the hyphens attribute value, falling back to the lang attribute (#20)
  • add support for capitalize text transform (#1382)
  • fix AsciiDoc table cell from overflowing bounds of table and creating extra page (#1369)
  • don't double escape XML special characters in literal table cell (#1370)
  • allow theme to customize the width and color of text decoration (underline and line-through) (#812)
  • use same line height throughout abstract
  • don't mangle XML attribute values when applying lowercase text transform (#1391)
  • place toc at same position in outline as it is in the document (#1361)
  • log warning with error message if remote image cannot be retrieved
  • allow initial page mode to be set to fullscreen using pdf-page-mode=fullscreen attribute or page_mode=fullscreen theme key (#1357)
  • allow theme to configure content of entries in authors line on title page (#800)
  • allow theme to override styles of caption on admonition blocks (#561)
  • allow theme to configure hanging indent for titles in toc (#1153)
  • apply hanging indent to wrapped entries in index (#645)
  • allow theme to configure text decoration of headings (#811)
  • define line-through and underline roles as built-in custom roles so they can be customized (#1393)
  • allow top value of logo and title on title page to be specified in any measurement unit
  • don't set a top value for the logo on the title page if not set in theme
  • if value of scripts attribute is cjk, break lines between any two CJK characters except punctuation in table cells (#1359) (@gasol)
  • ignore invalid cellbgcolor value (#1396)
  • recommend installing prawn-gmagick gem if image format is unsupported
  • set cache_images option on SVG interface if cache-uri attribute is set on document (#223)
  • upgrade prawn-svg to fix display of links in plantuml diagrams (#1105)
  • allow icon set to be specified as prefix on target of icon macro (#1365)
  • write Unix epoch dates to pdfmark file in UTC when reproducible is set
  • don't include software versions in PDF info if reproducible attribute is set
  • fix optimizer so it applies pdfmark after reading input file
  • allow converter instance to be reused

Release meta

Released on: 2019-11-23
Released by: @mojavelinux
Release beer: The Night Is Dark And Full of Hops by Peak View Brewing Company

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.5.0 Beta 7

Published by mojavelinux almost 5 years ago

Summary

The feedback from the last beta led us to discover several important bugs, which warrants yet another beta release. But with over 700 tests, we're more confident than ever the release candidate for the 1.5.0 release is just over the horizon. Here's what changed to get us one step closer:

The section indent feature is now implemented properly. Despite being introduced in the last release, we discovered it was compounding the indent for each nested section and block. Now the section indent is applied once for the whole document. We also discovered the implicit page-count attribute in the running content was off if the start at for the running content or page numbering was changed. In fact, a lot of logic related to implicit attributes in the running content was cleaned up. The PDF outline would disappear or show the wrong doctitle in certain scenarios, which is now fixed. If the document is missing a doctitle, it defaults to the value of the untitled-label attribute. Individual elements on the title page can be disabled from the theme using the display: none property. Using the image macro, you can now import ranges of pages from another PDF document as specified by the pages attribute. The PDF optimizer integrated into the converter in the last release is now available as a standalone bin script named asciidoctor-pdf-optimize. And, finally, the text decoration can be controlled using a custom inline role. Oh, and did we mention there are now > 700 tests? 🎉

Consult the CHANGELOG to find the complete list of changes.

Distribution

Changelog

  • fix value of implicit page-count attribute when page numbering and running content don't start on same page (#1334)
  • fix value of implicit chapter-title attribute on preface pages (#1340)
  • show value of untitled-label attribute in outline if doctitle is not set (#1348)
  • don't show entry for doctitle in outline if doctitle is not set and untitled-label attribute is unset (#1348)
  • generate outline if document has doctitle but no body (#1349)
  • allow elements on title page to be disabled from theme using display: none (#1346)
  • set chapter-title attribute to value of toc-title attribute on toc pages in book (#1338)
  • set section-title attribute to value of toc-title attribute on toc pages in article if page has no other sections (#1338)
  • allow ranges of pages from PDF file to be imported using image macro as specified by pages attribute (#1300)
  • set default footer content in base theme; remove logic to process footer_<side>_content: none key (#1320)
  • include doctitle in outline for article when article is only a single page (#1322)
  • allow custom (inline) role to control text decoration property (#1326)
  • point doctitle entry in outline to first page of content when doctype is article and document has front cover
  • fix asciidoctor-pdf-optimize script and register it as a bin script
  • rename -q CLI option of asciidoctor-pdf-optimize script to --quality
  • only promote first paragraph of preamble to lead paragraph (assuming it has no role) (#1332)
  • don't promote first paragraph of preamble to lead paragraph if it already has a role (#1332)
  • fix crash when document has no doctitle or sections and untitled-label attribute is unset
  • ignore invalid align value for title logo image (#1352)

Release meta

Released on: 2019-10-29
Released by: @mojavelinux
Release beer: BAMARILLO! by Resolute

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.5.0 Beta 6

Published by mojavelinux about 5 years ago

Summary

The amount of feedback we received on the last beta led to improvements that warranted another beta release. This release brings us one step closer still to the release candidates for the 1.5.0 release. And an exciting release it is! Here are some of the highlights:

After several years and much refactoring, we're pleased to announce that the table of contents can finally be positioned using the toc macro. If an entry in the toc wraps, the dot leaders extend from the wrapped line to the page number. To address backwards compatibility, fit=contain is once again the default for cover and page background images. And it's now possible to use fit=fill for all background images. If what you are looking for is a watermark rather than a background image, you can set it using the matching page-foreground-image attribute or theme key. If you are looking to squeeze the main body text into a narrower column than the section titles, you can now set the indent using the section_indent key in the theme. If you want to use the theme to style captions differently for different block types, most block categories now accept the caption subcategory. To stretch your AsciiDoc semantics further, you may be interested in checking out the new ordered and unordered description lists. Speaking of the description lists, at long last, the horizontal description list style is now supported. And, finally, the PDF optimizer is now integrated into the converter. Just set the optimize document attribute.

If you are touching the internals of Asciidoctor PDF, note that the source has been moved from lib/asciidoctor-pdf to lib/asciidoctor/pdf. However, you can still require the converter using either asciidoctor-pdf or asciidoctor/pdf.

Consult the CHANGELOG to find a complete list of changes.

Distribution

Changelog

  • reorganize source files under asciidoctor/pdf folder (instead of asciidoctor-pdf)
  • reorganize monkeypatch files under asciidoctor/pdf/ext
  • allow toc to be positioned using toc macro (#1030)
  • extend dots leading up to page number from wrapped line in toc (#1152)
  • set fit=contain by default on cover and page background images (#1275)
  • implement fit=fill for cover, page background, and running content raster (non-SVG) images (#1276)
  • allow foreground image (e.g., watermark) to be added to each page using page-foreground-image attribute or theme key (#727)
  • allow section body to be indented using section_indent key in theme (#737)
  • add glyphs for built-in characters to bundled monospace font (M+ 1mn) (#1274)
  • look for "noborder" role on image even if other roles are defined
  • remove deprecated table_odd_row_background_color and table_even_row_background_color keys from theme
  • implement unordered and ordered description lists (#1280)
  • recognize transparent as valid value for cellbgcolor attribute
  • allow custom role to revert font style to normal (#1286)
  • allow theme to control font properties (font size, font color, etc) of description list term (#1289)
  • allow theme to override caption styles for specific block categories: blockquote, code, example, footnotes, image, listing, and table (#307)
  • allow theme to control style of verse block independently of a quote block (#40)
  • position list marker correctly when media=prepress and list item is advanced to next page or split across pages (#1303)
  • layout horizontal dlist in two columns (#310)
  • apply normal substitutions to content of manname section (#1294)
  • optimize PDF using quality specified in value of optimize attribute if optimize attribute is set (#535)
  • allow xref macro to override xrefstyle set on document
  • assume admonition icon in theme is a legacy FontAwesome icon if the icon set prefix is absent
  • rewrite optimize-pdf as a bin script named asciidoctor-pdf-optimize
  • allow image alt text formatting and arrangement to be controlled by theme (#730)
  • upgrade prawn-icon to 2.5.0 (which upgrades Font Awesome to 5.11.2)

Release meta

Released on: 2019-10-11
Released by: @mojavelinux
Release beer: Ice Climber 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 - v1.5.0 Beta 5

Published by mojavelinux about 5 years ago

Summary

This release brings us one step closer to the release candidates for the 1.5.0 release. It addresses problems with the modified start page for running content and page numbering when the document is missing a title page, fixes inconsistent line height for list items and toc entries when the content only consists of monospaced text, preserves indentation in verbatim blocks that use tabs when the tabsize attribute is not set, and allows roles to override the properties of built-in element, such as an inline literal phrase.

Consult the CHANGELOG to find a complete list of changes.

Distribution

Changelog

  • pass styles for inline elements downwards when parsing, allowing role to override default styles for element (#1219)
  • document title in outline should point to second page if document has cover page (#1268)
  • start at setting for running content and page numbering must account for disabled title page (book doctype) (#1263)
  • start at setting for running content and page numbering must account for front cover (#1266)
  • preserve indentation that uses tabs in verbatim blocks when tabsize is not set (#1258)
  • use consistent line height for list items and toc entries if text is entirely monospace (#1204)
  • fix spacing between items in qanda list
  • expand home directory reference in theme name when value ends with .yml and no themedir is specified

Release meta

Released on: 2019-09-13
Released by: @mojavelinux
Release beer: Bull Proof by Odell 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 - v1.5.0 Beta 4

Published by mojavelinux about 5 years ago

Summary

This release addresses a major bug that prevented the converter from working when loaded from a JAR (as is the case with AsciidoctorJ PDF). Namely, the path separator used to delimit multiple font dirs cannot be a colon, so we've switched it to always being a semi-colon. This release was moved up to allow AsciidoctorJ PDF to be released.

This release contains a handful of other bug fixes as well. Hyphens in custom roles defined in the theme are preserved, the font catalog can be defined under the flattened font_catalog key in the theme file, the converter no longer crashes when highlighting source using Pygments (again), the font color in a section title is honored when displayed in the toc, the toc won't overrun the first page of content when the toc has titles which wrap.

We squeezed in one new feature. Using the second argument to the outlinelevels attribute, you can control the depth at which the outline is expanded (e.g., 3:1). By default, all levels are expanded.

Consult the CHANGELOG to find a complete list of changes.

Distribution

Changelog

  • always use ; as delimiter to separate multiple font dirs to be compatible with JAR paths (#1250)
  • preserve hyphens in role names in theme file (#1254)
  • allow second arg of outlinelevels attribute to control expand depth of outline (#1224)
  • allow font catalog and font fallbacks to be defined as flat keys in the theme file (#1243)
  • don't crash when adding indentation guards to source highlighted with Pygments (#1246)
  • don't override font color of formatted text in toc (#1247)
  • prevent toc from overrunning first page of content by reserving more space for the page number (#1242)
  • allow number of digits reserved for page number in the toc to be adjusted using toc-max-pagenum-digits attribute (#1242)

Release meta

Released on: 2019-09-04
Released by: @mojavelinux
Release beer: Fifteener Double IPA by River North 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 - v1.5.0 Beta 3

Published by mojavelinux about 5 years ago

Summary

This release marks and important next step towards the 1.5.0 release by continuing to stabilize the code (now nearing 500 tests) and introducing numerous long sought-after features.

So what are those long sought-after features? Custom fonts can be loaded from multiple directories (even combined with built-in fonts), the border is now drawn around example blocks that get split across pages, the theme can specify a border to draw around block images, the image macro can import a specific page from another PDF document, proper line breaks are implemented for text in CJK languages, the theme can control the page break before and after part and chapters, attribute references can be used in image paths in the theme file, the theme can configure a background and border on a phrase with a custom role, a role can be used to change the font color of a font-based icon, and the cellbgcolor attribute in table cells is now honored.

A number of bugs have also been addressed. Those include fixing the placement of toc in article when doctitle is not set, not dropping headings if the base font family is not set in theme, not inserting a blank page at start of document if media=prepress and document does not have a cover, converting hyphen to underscore in theme key for admonition icon type, resolving images in running content relative to themesdir, resolving icon images relative to docdir instead of the current directory, adding the missing .notdef glyph to the bundled fonts, and fixing some crashes when using the syntax highlighter.

Consult the CHANGELOG for a full list of changes.

Distribution

Changelog

  • fill and stroke bounds of example across all pages (#362)
  • allow page background color and background image to be used simultaneously (#1186)
  • allow multiple font dirs to be specified (#80)
  • allow theme to specifiy initial zoom (#305)
  • strip surrounding whitespace from text in normal table cells
  • allow attribute references to be used in image paths in theme (#588)
  • honor the cellbgcolor attribute defined in a table cell to set the cell background color (#234) (mch)
  • add the .notdef glyph to the bundled fonts (a box which is used as the default glyph if the font is missing a character) (#1194)
  • don't drop headings if base font family is not set in theme
  • don't crash if heading margins are not set in theme
  • don't rely on base_line_height_length theme key in converter (should be internal to theme)
  • set fallback value for base (root) font size
  • reduce min font size in base theme
  • allow theme to configure the minimum height required after a section title for it to stay on same page (#1210)
  • convert hyphen to underscore in theme key for admonition icon type (#1217)
  • always resolve images in running content relative to themesdir (instead of document) (#1183)
  • fix placement of toc in article when doctitle is not set (#1240)
  • honor text alignment role on abstract paragraph(s)
  • don't insert blank page at start of document if media=prepress and document does not have a cover (#1181)
  • insert blank page after cover if media=prepress (#1181)
  • add support for stretch role on table (as preferred alias for spread) (#1225)
  • include revremark on title page if specified (#1198)
  • allow theme to configure border around block image (#767)
  • align first block of list item with marker if primary text is blank (#1196)
  • apply correct margin to list item if primary text is blank (#1196)
  • allow page break before and after part and before chapter to be configured by theme (#74)
  • allow page number of PDF to import to be specified using page attribute on image macro (#1202)
  • use value of theme key heading-margin-page-top as top margin for heading if cursor is at top of page (#576)
  • resolve icon image relative to docdir instead of current working directory
  • allow theme to style mark element; add default styles to built-in themes (#1226)
  • resolve variables in font catalog in theme file
  • if value of scripts attribute is cjk, break lines between any two CJK characters (except punctuation) (#1206)
  • add support for role to font-based icon (to change font color) (#349)
  • use fallback size for admonition icon
  • allow attribute reference in running content to be escaped using a backslash
  • fix crash if source-highlighter attribute is defined outside the header (#1231)
  • fix crash when aligning line numbers of source highlighted with Pygments (#1233)
  • allow theme to configure text background and border on a phrase with a custom role (#1223)

Release meta

Released on: 2019-08-30
Released by: @mojavelinux
Release beer: Ryetribution by Halfpenny Brewing Company

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.5.0 Beta 2

Published by mojavelinux about 5 years ago

Summary

Continuing with the beta series, this release brings numerous bug fixes and a healthy handful of enhancements. Asciidoctor PDF now has 370 tests in its arsenal to make it resilient against bugs and regressions as changes are made to the code base. While there's always room for more tests, it's the validation we'll need to advance beyond beta.

There were several problems that were addressed (and tested) related to page creation, which can be tricky in Prawn. Thanks to these fixes, background images are now applied to the correct pages. Additionally, aligning a table will no longer mess with the margins of subsequent pages. You may have also noticed that colors containing uppercase characters were being lost, which is no longer the case. Legacy Font Awesome icons are properly mapped so you don't have to change your document despite the previous upgrade to Font Awesome 5. The pdf-themesdir attribute is ignored unless pdf-theme is also set, which will prevent the default theme from being loaded from the wrong location.

The theme gives you more control than ever before. You can specify font properties for custom roles to control formatting of phrases. And the big and small roles are supported out of the box. For keybinding and button elements, you can set a background and/or border too. You can control the character ranges used for conums. If you don't want to include the section number in the chapter and section titles in the running content, you can now set the title-style in the theme to change this behavior.

The fonts have also been updated using the provided script. The bundled monospaced font (M+ 1mn) now includes all Latin, Greek, and Cyrillic characters. And the prose font has been regenerated so that it's easier to patch in the future.

Consult the CHANGELOG for a full list of changes.

Distribution

Changelog

  • only apply title page background image to the title page (#1144)
  • make sure title page background or color (and only title page background or color) gets applied to title page even when page has already been created (#1144)
  • fix crash when image_width is defined in theme (#995)
  • fix crash when toc is enabled and toc-title attribute is unset
  • correctly map legacy Font Awesome icon names when icon set is not specified (#1157)
  • coerce color values in theme that contain uppercase letters (#1149)
  • prevent table alignment from modifying margins of subsequent pages; only align table if width is less than bounds (#1170)
  • ensure base font color is set
  • use more robust mechanism to detect an empty page; tare content stream after adding page background color or image
  • ignore pdf-themesdir unless pdf-theme is specified (#1167)
  • allow theme to control glyphs used for conums (#133)
  • allow theme to control background and border of inline kbd (#313, #1004)
  • add support for link on image in running content (#1002)
  • allow theme to disable font kerning
  • add support for default theme alignment for tables (#1164)
  • add theming support to (inline) roles on phrases (#368)
  • allow theme to customize style of titles in running content (#1044)
  • add support for the built-in big and small roles on phrases (#459)
  • route AFM font warning through Asciidoctor logger
  • upgrade code font (M+ 1mn) to TESTFLIGHT-63a
  • include all alphanumeric characters in code font (mplus1mn) (#282)
  • report clearer error message when theme can't be found or loaded
  • document how to prepare a TTF font to work best with Asciidoctor PDF (#297)

Release meta

Released on: 2019-07-30
Released by: @mojavelinux
Release beer: Dragon's Milk Reserve Maple by New Holland Brewing Company

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.5.0 Beta.1

Published by mojavelinux over 5 years ago

Summary

After many years, Asciidoctor PDF is finally ready to exit alpha status. The simple reason? Tests. Asciidoctor PDF now has over 300 tests in its arsenal to make it resilient against bugs and regressions as changes are made to the code base. While there's always room for more tests, this suite gives us plenty of confidence to enter beta.

The transition from alpha to beta also brought a slew of bug fixes, enhancements, and minor improvements. First and foremost, the running header works again (now with tests!). It's possible to size and position cover page images, background images, and images in the running content using the pdfwidth, cover, and position attributes on the image macro. Since the image position can now be controlled, we changed the default to center (vertical and horizontal). SVGs won't go fetching remote images unless the allow-uri-read document attribute is set via the API. There have been quite a number of new knobs and switches added to the theme. And speaking of the theme, we decided to fix the terminology and rename pdf-style and pdf-stylesdir to pdf-theme and pdf-themesdir, respectively (don't worry, though, the old names still work too). And if pdf-theme is a path, and pdf-themesdir is not set, the pdf-themesdir is set automatically. You can now find a custom theme for the chronicles example that you can use as a reference. If you a working with different page layouts in a single document, the running content will now keep up!

Deprecation notices:

  • The legacy keys for the running content have been removed. Refer to the theming guide for the current schema.
  • The pdf-style and pdf-stylesdir attribute have been renamed to pdf-theme and pdf-themesdir, respectively (though the old names still work too).
  • The fallback font has been removed from the default theme (since it really slows down Prawn). Set pdf-theme=default-with-fallback-font to restore previous behavior (or define a fallback font in your own theme).
  • The cover images and page background images are now centered by default and resized proportionally to fit the boundaries of the page. Use the pdfwidth (or fit) and position attributes on the image macro to customize this behavior.
  • Remote images referenced in an SVG will only be fetched if the allow-uri-read attribute is set via the Asciidoctor API or CLI.
  • The text-alignment attribute has been renamed to text-align.

Consult the CHANGELOG for a full list of changes.

Distribution

Changelog

  • rename pdf-style and pdf-stylesdir attributes to pdf-theme and pdf-themesdir, respectively (while still honoring the old names for compatibility) (#1127)
  • don't load fallback font by default; move fallback font to default-with-fallback-font theme
  • apply cell padding to table cells in the head row (#1098)
  • allow the theme to control the padding of table cells in the head row using the table_head_cell_padding key (#1098)
  • fix position of table caption for reduced-width tables when caption align is center (#1138)
  • adjust width of table caption to match width of table unless table_caption_max_width is none in theme (#1138)
  • fix position of text in running header (#1087)
  • ignore start attribute on ordered list if marker is disabled
  • allow start value to be negative for ordered lists that use arabic or roman numbering (#498)
  • don't convert values in theme which are not color keys to a string (#1089)
  • apply page layout specified on page break even when break falls page boundary (#1091)
  • scale SVG background image to fit page in the same way raster image is scaled (#765)
  • allow page background size to be controlled using image macro attributes (#1117)
  • allow page background image position to be controlled using position attribute on image macro (#1124)
  • add support for fit=cover for cover page, page background, and running content images (#1136)
  • change default background image position to center (#1124)
  • allow cover image position to be controlled using position attribute on image macro (#1134)
  • change default cover image position to center (#1134)
  • set enable_file_requests_with_root and enable_web_requests options for all SVGs (#683)
  • automatically set pdf-stylesdir if pdf-style ends with .yml and pdf-stylesdir is not specified (#1126)
  • replace hyphens with underscores in top-level theme keys
  • allow hyphens to be used in variable references in theme (#1122)
  • allow theme to control background and border of inline code (literal) (#306)
    • NOTE: The border will not work correctly if the phrase has nested formatting
  • allow theme to control background and border of inline button (#451)
  • resolve null color value in theme to nil (aka not set)
  • add support for cgi-style options on source language when syntax highlighting with Rouge (#1102)
  • apply custom theme to chronicles example to customize running content and demonstrate how to extend default theme
  • drop remapping of legacy running content keys in theme data
  • resize running content to fit page layout (#1036)
  • exclude border width from running content area (#1109)
  • support text-transform property in running content (#702)
  • make depth of section titles assigned to section-title attribute in running content configurable (#1141)
  • support width attribute on image in running content if no other dimension attribute is specified
  • apply correct scale-down logic to image in running content
  • allow image format to be specified using format attribute (cover page image, page background image, running content image) (#1132)
  • allow theme to set bottom border properties (color, style, and width) of table head row (#770)
  • allow column rule and spacing to be specified for running content when multiple columns are specified (#1093)
  • never load base theme when loading default theme; otherwise load base theme if extends isn't specified, but only if theme data hasn't been initialized
  • shorten text-alignment attribute to text-align
  • set PDF version to 1.4 by default (#302)
  • allow PDF version to be set using pdf-version document attribute (#302)

Release meta

Released on: 2019-07-08
Released by: @mojavelinux
Release beer: Piggie Smalls Wee Heavy by Resolute Brewing Company

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.5.0 Alpha 18

Published by mojavelinux over 5 years ago

Summary

With this release, the Asciidoctor PDF test suite has been extended to over 200 tests! This release also restores compatibility with Asciidoctor 1.5 (back to 1.5.3) (and verified by the CI build). The parsing of a bibref and link inside footnotes has been restored. This release brings several small improvements, some of which have been lingering for a long time, such as the ability to extend themes, indent the first line of a paragraph, part numbering. Consult the CHANGELOG for a full list of changes.

Distribution

Changelog

  • restore compatibility with Asciidoctor back to 1.5.3 and add verification to test matrix (#1038)
  • allow one theme to extend another theme using the top-level extends key (#367)
  • allow theme to set text indent for paragraphs using prose_text_indent (#191)
  • allow theme to set spacing between adjacent paragraphs using prose_margin_inner (#191)
  • show parts in toc when toclevels=0 (#783)
  • add support for autonumbered callouts in source blocks (#1076)
  • fix duplication of footnotes in keep together regions (#1047)
  • display standalone preamble in book normally (#1051)
  • allow outline depth to be set using outlinelevels attribute independent of toclevels (#1054)
  • fix compounding cell padding (#1053)
  • add support for qanda list (#1013)
  • fix parsing of bibref and link inside footnote text (#1061)
  • restore square brackets around ID of bibliography entry with custom ID (#1065)
  • add page_numbering_start_at key to theme to control start page for page numbering (#1041)
  • don't allow running_content_start_at key to affect page numbering (#1041)
  • substitute {chapter-title} property on front matter pages (replace with doctitle and toc-title, respectively, when running content starts before first page of body) (#1040)
  • allow side margins to be set on elements on title page (#824)
  • don't promote preamble to preface if preface-title attribute is empty
  • expand padding value for running content (header and footer) to array
  • add support for unnumbered (and no-bullet) style on ordered list (#1073)
  • add visual regression capability to test suite (@beatchristen)
  • ensure index section doesn't get numbered when using Asciidoctor < 1.5.7
  • add part signifier and part number to part title if partnums is set; allow signifier to be customized using part-signifier attribute (#597)
  • add support for the chapter-signifier attribute as the prefered alternative to chapter-label
  • warn if the image referenced in the running content cannot be found (#731)

Release meta

Released on: 2019-06-01
Released by: @mojavelinux
Release beer: Elevated IPA by La Cumbre

Logs: resolved issues | full diff

Credits

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-pdf - v1.5.0 Alpha 17

Published by mojavelinux over 5 years ago

With this release, Asciidoctor PDF finally has a test suite (with > 100 tests)! It also follows core in dropping support for Ruby < 2.3. Many users will be happy to know that footnotes will now be rendered as endnotes instead of inline! Users will also enjoy the fact that the document title and TOC now show on the first page of content for non-book doctypes (set title-page to restore old behavior). Font Awesome 5 makes it's first appearance in the Asciidoctor ecosystem with this release. Integration with Asciidoctor Diagram is also be smoother, SVGs render a whole lot better, and there's no longer extra space around SVGs when only the viewBox is specified in the file. Most of the dependencies have been updated as well. Consult the CHANGELOG for a full list of changes.

Distribution

Changelog

  • drop support for Ruby < 2.3 (and installation will fail for Ruby < 2.1)
  • add asciidoctor/pdf and asciidoctor/pdf/version require aliases (#262)
  • rename module to Asciidoctor::PDF and define Asciidoctor::Pdf alias for backwards compatibility (#262)
  • switch to tilde dependency versions (flexible patch number) instead of ranges
  • upgrade prawn-svg to 0.29.1; resolves numerous SVG rendering issues (#886, #430)
  • drop support for Rouge < 2
  • add a test suite (#37)
  • allow running content (header and footer) to be enabled on title and toc pages; controlled by running_content_start_at property in theme (#606)
  • add support for nbsp named entity (i.e., +&nbsp;); replace occurances of nbsp named entity with a single space in outline
  • upgrade to FontAwesome 5; introduce the fas, far, and fab icon sets, now preferred over fa; drop support for octicons (#891) (@jessedoyle)
  • place footnotes at end of chapters in books or end of document otherwise (#85) (@bcourtine)
  • place toc directly after document title when doctype is not book (#233) (@ogmios-voice)
  • add page layout control to page break (#490) (@resort-diaper)
  • allow additional style properties to be set per heading level (#176) (@billybooth)
  • add support for hexadecimal character references, including in link href (#486)
  • force set data-uri attribute on document so Asciidoctor Diagram returns absolute image paths (#1033)
  • set line spacing for non-AsciiDoc table cells (#296)
  • consider all scripts when looking for leading alpha characters in index (#853)
  • don't create title page for article doctype unless title-page attribute is set (#105)
  • don't show article title if notitle attribute is set (#998)
  • generate name section for manpage doctype automatically (#882)
  • remove unprocessed passthroughs in literal cells
  • apply font style from theme to formatted text description list term (#854)
  • prevent tempfile for remote image from being deleted before it's used (#947)
  • handle case when uri to make breakable is empty (#936)
  • add support for frame=ends as alternative to frame=topbot on table
  • allow table frame and grid to be set globally using the table-frame and table-grid attributes (#822)
  • disable table stripes by default (#1049)
  • allow table stripes to be enabled globally using table-stripes attribute (#1049)
  • use new logging subsystem, if available; otherwise, use shim (#905)
  • allow alignment of list text to be controlled using roles (#182)
  • allow text alignment to be set for abstract (#893)
  • prevent text from overlapping page number in TOC (#839)
  • allow ulist marker to be controlled by theme (#798)
  • add support for reftext for bibliography entry (#864)
  • add support for fw (full-width) icons (#890)
  • decouple vw units with alignment (#948)
  • add align-to-page option for block images (#948)
  • add support for SVG admonition icons (#828) (@keith-packard)
  • rename pastie theme for Rouge to asciidoctor_pdf_default
  • add bw theme for Rouge (#1018)
  • reset top margin of index columns when overflowing to new page (#929)
  • add support for line numbers in source listings (#224)
  • add U+2060 (word joiner) character to built-in Noto Serif font and fallback font (#877)
  • add U+202F (narrow no-break space) character to fallback font (#807)
  • ensure callout number ends up on same page as item text (#914)
  • guard against pygments returning nil (#884)
  • encode quotes in alt text of inline image (#977)
  • fix crash when menu macro is used in a section or block title (#934)
  • only look for the start attribute on the code block itself when highlighting with rouge
  • apply block styling to background for line-oriented tokens in rouge by default
  • detect pagenum ranges in index when media is print or prepress (#906)
  • ignore style when resolving icon font (#956, #874)
  • remove correct width method when overloading Prawn::Text::Formatted::Fragment
  • remove ZWSP from alt text of image to prevent fragment from being duplicated (#958)
  • avoid call to super in prepended module to fix Ruby 1.9.3
  • look for correct file to require in bin script
  • upgrade prawn-icon from 1.3.0 to 1.4.0
  • upgrade rouge to 2.2.1
  • add concurrent-ruby to runtime dependencies for compatiblity w/ Asciidoctor 1.5.8

Release meta

Released on: 2019-04-23
Released by: @mojavelinux
Release beer: KBS by Founders Brewing Company

Logs: resolved issues | full diff

Credits

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.