Skip to content

Releases: asciidoctor/asciidoctor-pdf

v1.5.0

11 Feb 08:59
Compare
Choose a tag to compare

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.

v1.5.0 RC 3

04 Feb 09:34
Compare
Choose a tag to compare
v1.5.0 RC 3 Pre-release
Pre-release

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.

v1.5.0 RC 2

09 Jan 11:43
Compare
Choose a tag to compare
v1.5.0 RC 2 Pre-release
Pre-release

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.

v1.5.0 RC 1

06 Jan 11:29
Compare
Choose a tag to compare
v1.5.0 RC 1 Pre-release
Pre-release

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.

v1.5.0 Beta 8

23 Nov 18:19
Compare
Choose a tag to compare
v1.5.0 Beta 8 Pre-release
Pre-release

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.

v1.5.0 Beta 7

30 Oct 06:09
Compare
Choose a tag to compare
v1.5.0 Beta 7 Pre-release
Pre-release

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.

v1.5.0 Beta 6

12 Oct 22:23
Compare
Choose a tag to compare
v1.5.0 Beta 6 Pre-release
Pre-release

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.

v1.5.0 Beta 5

13 Sep 22:02
Compare
Choose a tag to compare
v1.5.0 Beta 5 Pre-release
Pre-release

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.

v1.5.0 Beta 4

05 Sep 00:30
Compare
Choose a tag to compare
v1.5.0 Beta 4 Pre-release
Pre-release

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.

v1.5.0 Beta 3

30 Aug 21:44
Compare
Choose a tag to compare
v1.5.0 Beta 3 Pre-release
Pre-release

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.