= {project-name} Changelog :project-name: Asciidoctor PDF :uri-repo: https://github.com/asciidoctor/asciidoctor-pdf This document provides a high-level view of the changes to the {project-name} by release. For a detailed view of what has changed, refer to the {uri-repo}/commits/master[commit history] on GitHub. == 1.5.0.rc.2 (2020-01-09) - @mojavelinux * patch Prawn to fix incompatibilty with Ruby 2.7 (to fix text wrapping) * 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 == 1.5.0.rc.1 (2020-01-06) - @mojavelinux * 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 == 1.5.0.beta.8 (2019-11-23) - @mojavelinux * 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 == 1.5.0.beta.7 (2019-10-29) - @mojavelinux * 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__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) == 1.5.0.beta.6 (2019-10-11) - @mojavelinux * 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) == 1.5.0.beta.5 (2019-09-13) - @mojavelinux * 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 == 1.5.0.beta.4 (2019-09-04) - @mojavelinux * 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) == 1.5.0.beta.3 (2019-08-30) - @mojavelinux * allow multiple font dirs to be specified using the pdf-fontsdir attribute (#80) * fill and stroke bounds of example across all pages (#362) * allow page background color and background image to be used simultaneously (#1186) * 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) * resolve variables in font catalog in theme file * 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) * 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 * allow theme to configure text background and border on a phrase with a custom role (#1223) * fix crash if source-highlighter attribute is defined outside the header (#1231) * fix crash when aligning line numbers of source highlighted with Pygments (#1233) == 1.5.0.beta.2 (2019-07-30) - @mojavelinux * 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) == 1.5.0.beta.1 (2019-07-08) - @mojavelinux * 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 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) * allow cover image size to be controlled using fit, pdfwidth, and width attributes; don't scale image by default (#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) * 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) == 1.5.0.alpha.18 (2019-06-01) - @mojavelinux * restore compatibility with Asciidoctor back to 1.5.3 and add verification to test matrix (#1038) * 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) == 1.5.0.alpha.17 (2019-04-23) - @mojavelinux * 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., `+ `); 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) * fix rendering of footnotes directly adjacent to text in a normal table cell (#927) * 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) * remove duplicate message when syntax highlighter is unavailable; don't crash processor (#1078) * 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 == 1.5.0.alpha.16 (2017-07-30) - @mojavelinux * add support for xrefstyle attribute (#464) * allow page side to be based on physical page number and/or be inverted (#813) (@fap-) * fix layout error caused by nested keep together blocks (#791) * upgrade prawn-svg to allow generic font names to be mapped in SVG (#777) * upgrade prawn-svg to fix issue with dotted lines (#741) * upgrade prawn-svg to enable linear gradients (#228) * don't attempt to parse text in literal cell (#816) * warn if theme variable cannot be resolved; don't replace (#801) * number appendix subsections based on appendix number when doctype is book (#627) * don't add break hints to URI when using AFM font (#795) * add rescue check for scratch document when state is not initialized * allow page margin to be a single number; fixes regression introduced by #749 * check for margin as array, then as numeric, then as string * extend version range for prawn-templates (#803) * add missing part-title attribute to theming guide (#827) * clarify in theming guide that variables are defined in document order * clarify that the fallback font is only used when the primary font is a TrueType font * add more information about prawn-gmagick to README * fix warnings and incompatibility when using Ruby 1.9.3 * document in README how to install Asciidoctor PDF on Ruby 2.0.0 * enable Travis CI; configure CI-based deployment to RubyGems.org {uri-repo}/issues?q=milestone%3Av1.5.0.alpha.16[issues resolved] | {uri-repo}/releases/tag/v1.5.0.alpha.16[git tag] == 1.5.0.alpha.15 (2017-03-27) - @mojavelinux * fix compatibility with Prawn 2.2.0 (#775) * add workaround for TTFunk bug when font table has empty data (#619, #651) * take fallback font into account when calculating width of string (#651) * fill and stroke bounds of sidebar across all pages (#259) (@TobiasHector) * allow page margin to be set using pdf-page-margin attribute (#749) * implement none, no-bullet and unstyled unordered list styles * add dots to all levels in TOC if toc_dot_leader_levels is all * use bold style for description list term by default (#776) * always escape index term text (#761) * don't crash if color value on text span is invalid * implement start line number for source listing (Rouge) (#752) * enable "start inline" option when highlighting PHP (#755) * persuade CodeRay to handle html+ source languages * introduce stripes attribute to table to control zebra striping (#724) * use theme key table_body_stripe_background_color to control color of table stripes (#724) * allow theme to set style of table border and grid (#766) * allow theme to set text transform on header cell in table body (#750) * set top border width of first body row to match bottom border width of header row * don't add TOC if empty (#747) * optimize code that generates outline level * don't recalculate header_cell_data for each row * use slightly more efficient way to find Pygments lexer * upgrade rouge to 2.0.7 * upgrade prawn-templates to 0.0.5 * revise information in theming guide pertaining to custom fonts * document in README how to get full support for CJK languages * document in theming guide that Asciidoctor PDF subsets font when embedding * document that background images are scaled to fit bounds of page * add note in theming guide about using double quoted strings {uri-repo}/issues?q=milestone%3Av1.5.0.alpha.15[issues resolved] | {uri-repo}/releases/tag/v1.5.0.alpha.15[git tag] == 1.5.0.alpha.14 (2017-02-05) - @mojavelinux * add support for AsciiDoc table cells (including nested tables) (#6) * patch text cell to remove cursor advancement * make header cell in body inherit styles from table head (#239) * don't crash if table is empty and cols are explicitly set (#610) * fix vertical centering for cells in table head row * implement converter for index (#386) * record page number for index term when writing anchor (#639) * support the underline and line-through roles on phrases (#339) * allow printed URI to break at break opportunities (#563) * don't drop subsequent images after inline image fails to load * don't crash if inline image is an unsupported format; issue warning instead (#587) * show alt text when image fails to embed (#693) * always show block image caption even if image fails to embed * delegate to method to handle missing image * permit use of GIF image format if prawn-gmagick is available (#573) * add support for image macros that have a data URI target (#318) * don't crash if format of image in running content is unrecognized * only fit image within bounds of running content if contain option is set * document fit attribute for image in running content * fix alignment for SVG image in running content * keep block image with caption (#690) * place destination for block image on same page as image * set color space when block image occurs on page by itself (#688) * resize SVG to fit page (#691) * backport resize method from prawn-svg and use it * disable system font scan in Prawn SVG * use character spacing to fine-tune width of placeholder for inline image (#686) * fix duplicate inline image rendering (@fap-) (#388) * constrain inline image to width of bounds * add support for pdfwidth to inline images (@fap-) (#620) * honor pdfwidth attribute for image in running content (#625) * add support for absolute measurement units to scaledwidth attribute (#674) * resize inline SVG without an explicit width (#684) * resize inline image to fit within content height (#700) * calculate height of inline image correctly in table cell (#295) * fix bug in calculation when image overflows page (#708) * simplify calculation of rendered width and height of images * add square brackets around alt text for inline image * don't surround alt text of block image with non-breaking spaces * specify width & height when embedding (inline) raster image to avoid recalc * resize title logo image to keep on page (#714) * don't leave blank page when importing PDF page (#614) * fix running content dimensions (#616) * introduce document attribute to control default text alignment (#396) * allow setting a default columns spec for running content on both recto and verso pages; set if not defined * show example of center column alignment in default theme * map dynamic section-title attribute in running content to current section if page has no section (#709) * assign dynamic part-title attribute for use in running content (#596) * don't set dynamic chapter-title attribute in running content for preface unless doctype is book * clear section and chapter title in running content when part changes (#910, #879) * clear section title in running content when chapter changes (#910) * assign page number label to each page (#641) * don't set dynamic page-number attribute in running content of pagenums is disabled * allow toc title properties to be controlled by theme (#701) * use correct number of dots when font style is applied to toc level (#621) * allow theme to control which toc levels have dot leaders; default to 2-3 (#631) * set font color of page number for parts in toc * don't crash when toc dot leader is empty string * list preface with title in table of contents (#732) * allow theme to apply text decoration to link text (#567) * allow page layout to be controlled from document (#565) * don't crash if image in running content fails to embed (#728) * treat abstract section as abstract block (#703) * set example block background to white by default * automatically wire unspecified code and conum font family to literal font family * add support for background colors when highlighting code with Rouge * add support underline style for token in Rouge theme (#665) * drop background colors on strings in rouge pastie theme * add support for image-based icons (#479) (@JBR69) * preliminary support for vertical alignment of admonition icon/label * allow side padding on admonition label to be controlled separately from admonition content * add more control over vertical rule in admonition block (#601) * allow theme to control font properties for admonition content (#592) * only add lead role to first paragraph of preamble (#654) * display poster image for video with link to video URI (#287) * add link to audio file (#475) * don't drop anchor within text that overruns page (#638) * display title for abstract (#582) * display title for open block (#577) * display block title on quote and verse blocks (#416) * don't draw border for quote/verse block on empty page or if border width is 0 * allow delimiter between author names on title page to be configured in theme * coerce resolved value of content key in theme to String (#653) * honor background color from Pygments theme * set default inner/outer margins in base theme * document missing glyph encoding warning in theming guide; minor rewording * document how to configure fonts in SVG images (#739) * document how to use Asciidoctor Mathematical to enable STEM support (#45) * transform text containing multibyte characters (#363) * document in theming guide how to transform unicode letters with Ruby < 2.4 * show unmodified text if text_transform is none (#584) * make performance optimization to formatted text transform * use reference_bounds instead of @margin_box to move past bottom * handle negative bottom padding properly at page boundary * use value of docdatetime & localdatetime attributes in PDF info (#590) * use truncate_to_precision instead of round to truncate floats; map to native method in Ruby >= 2.4 * upgrade prawn-svg dependency to 0.26.x * upgrade prawn-icon to 1.3.0 * document in the README how to use the autofit option on verbatim blocks * clarify in README how inline image are sized * clarify instructions in README about how to specify a page number range for printing * document in theming guide how to define and apply a custom Rouge theme * rename pdfmarks to pdfmarks; document pdfmark attribute in theming guide * describe the quoted string value type in the theming guide * add self-referencing anchor to each key prefix in theming guide * document nonfacing option for sections (@jnerlich) * fix documentation for toc_dot_leader_font_color in theming guide (@davidgamba) * document that dot leader inherits font properties from toc category * fill in missing defaults for keys in theming guide * rewrite intro to Keys section in theming guide * add keys for prose, menu, and conum categories to theming guide * document outline_list_marker_font_color key in theming guide * refactor measurement value helpers into module (#677) * add reproducible flag to examples * add inline ref and corresponding xref to chronicles example * fix Ruby warnings * update instructions and Gemfile config to use with Ruby 1.9.3 * configure build as the default rake task {uri-repo}/issues?q=milestone%3Av1.5.0.alpha.14[issues resolved] | {uri-repo}/releases/tag/v1.5.0.alpha.14[git tag] == 1.5.0.alpha.13 (2016-09-19) - @mojavelinux * Add support for mirror (recto/verso) margins and facing pages when media=prepress * Add non-breaking hyphen glyph to built-in fonts so its intended behavior is honored (#462) * Add page break before a book part (#329) * Allow running (header/footer) content to be arranged in columns (#449) * Allow font properties to be set per element in running content (#454) * Prevent the SVG from modifying the document font (#494) * Implement decorative border for multipage quote and verse blocks (#270, #557, #558) * Encode anchors in hex that contain characters outside of ASCII range (#481, #301) * Size the line number gutter correctly (accounting for width of largest line number) (#402) * Allow theme to specify default value for pdfwidth attribute on image and document in README (#455) * Fix front matter page numbering by adding page labels for all front matter pages in outline (#458) * Allow image type to be specified explicitly using format attribute on image macro (#540) * Add support for literal and verse table cell styles * Preserve indentation in literal and verse table cells * Preserve paragraph breaks in normal table cells * Honor value of width attribute even when autowidth option is set on table (#519) * Align table title to left edge of table, regardless of table alignment (#469) * Add support for reversed option on ordered list (#491) * Don't drop whitespace in front of conum on final line of source block (#470) * Add more control over position of elements on title page, including support for vw units (#418) * Allow table caption position/side to be controlled by theme (#531) * Use base_align setting from theme as default alignment for headings * Resolve bare image-related attribute values relative to base_dir * Only allow Prawn SVG to fetch remote images if the allow-uri-read attribute is set (#548) * Introduce page_margin_inner and page_margin_outer keys to theme * Start title page, toc, main content, parts, and chapters on recto page when media=prepress and doctype=book * Allow default font style for table to be set via theme (table_font_style) * Use correct default bullet per nested unordered list level (#529) * Call start_new_part at start of each book part * Delegate to layout_part_title method to layout part title * Don't match a special section as a chapter unless the doctype is book * Fix list marker placement when list item touches bottom of page * Eliminate excessive spacing between list items that contain nested lists * Drop lines in running (header/footer) content with unresolved attributes (#522) * Ensure start_new_chapter is always executed at a chapter transition (#524) * Add support for root xref (e.g., <<included-doc#>>) (#521) * Prevent block from spilling to next page if there's no more content (#361) * Add support for px units to pdf-page-size attribute * Fix parsing error when value of pdf-page-size attribute is unitless * Don't crash if table is empty (#480) * Don't crash when deleting last remaining page; don't delete last page if empty (#317) * Don't orphan space between conums when extracting from verbatim block (#506) * Properly scope attr and attr? lookups * Rename internal page_start and page_end attributes to pdf-page-start and pdf-page-end, respectively * Fix settings for table header cell * Fix padding around content of quote block in default theme * Read theme file with UTF-8 encoding (#533) * Allow temporary image file to be deleted on Windows (#425) * Don't crash if theme file is empty (#551) * Don't crash if cover image can't be read; warn instead * Clarify in theming guide how to write numbers with 3 or more digits (#555) * Document how inline images are sized * Document how to disable default footer from theme * Update explanation of WINANSI encoding behavior in theming guide * Restore support for Ruby 1.9.3 (#528) * Upgrade prawn-icon to 1.2.0 (which upgrades Font Awesome to 4.6.3) * Upgrade prawn-svg to 0.25.2 (by way of more lenient version range) * Fix Ruby warnings * Document in README how image paths are resolved * Configure README for better preview on GitHub * Update chronicles example to modern AsciiDoc syntax; update content {uri-repo}/issues?q=milestone%3Av1.5.0.alpha.13[issues resolved] | {uri-repo}/releases/tag/v1.5.0.alpha.13[git tag] == 1.5.0.alpha.12 (2016-08-05) - @mojavelinux * Fix incompatibility with Rouge 2 source highlighter (#471) * Declare rouge gem in Gemfile for use with examples * Add option to make URLs visible in printed PDF using show-link-uri or media=print attributes (#435, #463) * Document options for scaling an image (#453) * Add support for images to span width of page (#424) * Fix embedding of remote images; fix case when imagesdir is a URI (#467) * Collapse non-significant whitespace (#465) * Document how to inherit font size for a given heading level (#460) * Decode character references in link URIs (#448) * Use arrow as caret for menu path instead of pipe (#441) * Document theme-related AsciiDoc attributes in theming guide (#428) * Section title alignment should be customizable via theme (#343) * Collapse all whitespace when normalizing (#355) * Require space on either side of math operator to avoid interpretting dates as math equations (#429) * Allow specifying a font style for a title on the title page (#423) * Fix Prawn SVG to support arrow heads on lines (#75) * Upgrade prawn-svg to 0.25.1 * Upgrade prawn-icon to 1.1.0 * Fix rendering of two images in header or footer (#421) * Allow table grid color and width to be controlled by theme (@ntfc) * Fix undefined local variable or method `dest_y' when adding auto-generated anchor to section (#419) * SVG files that include image elements are not rendered correctly improvement (@AlexanderZobkov) (#414) * Fix Prawn SVG to support currentColor keyword (#407) * Parser should recognize up to 6 digit character references (#404) * Properly convert a negative measurement value in theme * Coerce percentage value to float instead of integer in theme * Set minimum required Ruby version to 1.9.3 instead of 1.9 * Use title capitalization for section titles in theming guide * Update and reorganize keys in theming guide; document numerous keys previous missing * Add hints to theming guide about how to apply styles when using Maven or Gradle (@fwilhe) * Fix gemspec to collect files when project is not a git repository or git is not available {uri-repo}/issues?q=milestone%3Av1.5.0.alpha.12[issues resolved] | {uri-repo}/releases/tag/v1.5.0.alpha.12[git tag] == 1.5.0.alpha.11 (2016-01-05) - @mojavelinux * Allow font style for first line of abstract to be controlled by theme (@nawroth) (#378) * Add option to make builds reproducible (@bk2204) (#338) * Set default page size to A4 (@stephenhay) (#319) * Preprocess all hex color values (#381) * Add note about preprocessing hex color values to theming guide (#381) * Honor base font style (#373) * Don't fail to delete tmp file (#369) * Lazy load icon fonts if detected (#364) * Reduce heading line height in default theme (#351) * Set default (fallback) SVG font from theme (#210) * Expand last column to fit width of table (#372) * Don't cache resolved imagesdir attribute value * Use fallback when merging icon data * Defer to built-in caching in prawn-icon * Document replacements and numeric character refs in header/footer content * Document base_font_size_min setting in theming guide * Document that page background colors & images do not currently work in AsciidoctorJ PDF * Use failproof relative require logic in bin script {uri-repo}/issues?q=milestone%3Av1.5.0.alpha.11[issues resolved] | {uri-repo}/releases/tag/v1.5.0.alpha.11[git tag] == 1.5.0.alpha.10 (2015-11-01) - @mojavelinux * Allow admonition icon to be customized by theme (#121) (@jessedoyle) * Update to prawn-icon 1.0.0 (#335) (@jessedoyle) * Only generate the pdfmarks file if the pdfmarks attribute is set * Honor table alignment (via align attribute or role) (#299) * Use Hash for ViewerPreferences; set initial magnification (#303) * Handle case when colpcwidth is unspecified (#314) * Show title for lists (olist, ulist, dlist) (#316) * Don't attempt to add running content if document has no content pages * Correctly calculate toc page range (#322) * Don't insert blank page after back cover (#328) * Document theme key that sets sidebar padding (#344) * Handle case when CodeRay passes nil text to text_token {uri-repo}/issues?q=milestone%3Av1.5.0.alpha.10[issues resolved] | {uri-repo}/releases/tag/v1.5.0.alpha.10[git tag] == 1.5.0.alpha.9 (2015-08-02) - @mojavelinux * Apply point conversion to image widths (#221) * Restore missing glyphs in Noto Serif font; adds support for Cyrillic languages (#72, #99) * Add support for the Rouge source highlighter (#247) * Fix parsing of style attribute in inline markup when it contains spaces; fixes Pygments highlighting * Expand tabs to spaces in source document (#236) * Scale down SVG if width is wider than page (#242) * Load a base theme with defaults for required keys (#132) * Enable PDF page import using block image macro (#177) * Restore method in PDF::Core needed to import PDF page (#237) * Restore text rendering mode after PDF import (#251) * Support writing to STDOUT and other IO objects (#254) * Enable pagenums by default; allow noheader & nofooter to control running header/footer (#205) * Implement explicit table width, including autowidth (#258) * Handle conversion to windows-1252 more gracefully when using built-in (AFM) fonts (#290) * Disable warning if using a built-in (AFM) font * Remove use of rhythm theme keys from converter (#289) * Allow font_style to be set on literal text (#291) * Parse inline image macro value of page_background_image (#222) * Allow theme to control header cells in table body (#272) * Make line height in running header/footer configurable (#274) * Normalize text content in running header/footer (#266) * Modify vertical alignment setting for running header/footer (#264) * Use table background color, even if white; upgrade to Prawn Table 0.2.2 (#214) * Delete trailing content page if empty (#147) * Fix dry run calculation of block height...again (#215) * Move footnotes to inline in a lighter shade * Fix for JRuby 1.7 running in 2.0 mode * Upgrade Prawn SVG to 0.21.0; fixes most badge SVGs * Upgrade thread_safe gem * Prevent crash if doc has no sections (@abatalev) {uri-repo}/issues?q=milestone%3Av1.5.0.alpha.9[issues resolved] | {uri-repo}/releases/tag/v1.5.0.alpha.9[git tag] == 1.5.0.alpha.8 (2015-06-23) - @mojavelinux * Support inline images (#9) * Support link attribute on inline images (#209) * Support inline icon macro (#97) * Allow fine-grained control over image width (#76) * Size conversion not yet applied to images on title page or in running header/footer * Enable checklists (#181) * Fix block height calculation when content is indented by propagating bounds to scratch document (#215) * Don't insert page break before content whose height exceeds a single page (#183) * Dash border of literal/listing block at page boundary when broken across pages (#190) * Don't crash if toc entry is too long (#200) * Add missing methods on OpenStruct to fix Rubinius compatibility (#81) * Autofit font size in listing & literal blocks if autofit option is specified (#185) * Support border style (e.g., double, dashed, dotted) (#196) * Allow font color of outline list marker to be set by theme (#170) * Allow use of hyphen in property names in the theme (#193) * Only include table of contents if toc attribute is defined in header (#187) * Improve parsing of pdf-page-size attribute * Handle case in colist converter when previous block isn't found (#173) * Print Asciidoctor PDF version in CLI output * Upgrade Prawn (< 3.0.0, >= 1.3.0) (#68) * Upgrade Prawn SVG to 0.20.0 * Document gem installation in README (#112) * Perform code cleanups (#195) * Silence warning about toc block macro * Add -example suffix to example file names * Use CodeRay as syntax highlighter in examples (#207) * Use proper font names in default them to support custom fonts in SVGs * Rework parser to parse void elements * Apply first line formatting correctly (no dropped words) * Add support for text-center role on paragraphs * Update theming guide * Fix cross references in README {uri-repo}/issues?q=milestone%3Av1.5.0.alpha.8[issues resolved] | {uri-repo}/releases/tag/v1.5.0.alpha.8[git tag] == 1.5.0.alpha.7 (2015-05-31) - @mojavelinux * Add support for font-based icons (Jesse Doyle) (#15) * Enable font fallback support (Rei) * Support single value for font_fallbacks key in theme * Reenable M+ 1p as the fallback font * Add option to specify the background color for even table rows (Tord Heimdal) (#104) * Add block title for paragraphs (David Gamba) (#67) * Allow custom page size setting (Otavio Salvador) (#84) * Fix xref to sections (#56) * Fix xrefs to non-section content (#110) * Allow theme to control layout of title page (#135) * Allow theme to control style of table of contents (#167) * Allow running header & footer content to be customized (#89) * Tighten spacing between list items, make value configurable (#92) * Support CMYK color values (#155) * Add support for measurement values in theme (#156) * Name per-level heading theme keys consistently (e.g., heading_h_font_size) (#157) * Preprocess theme data to allow # in front of hex colors (#158) * Support linkable images (#51) * Render table footer row (#123) * Don't crash if sectids attribute is disabled (#70) * Support text transform in theme (uppercase / lowercase) (#138) * Keep together shouldn't create blank pages (#150) * Properly resolve image target as system path (#87) * Show warning when image cannot be read (#148) * Allow page background image to be specified (#134) * Support PDF format as cover page (#113) * Accomodate numbered list with large numbers (#91) * Position list marker correctly (#140) * Allow theme to set font size & family of table cells (#139) * Unencode character entities in document title (#136) * Process callouts in listing & literal blocks (#31) * Use :center to vertically align table cell (#118) * Normalize endlines in table cell text (#116) * Support setting page size via attribute (#65) * Remove unused fonts; update version of NotoSerif font license file * Remove Asciidoctor theme until we're ready to fully implement * Restore source highlighting when nested inside block * Allow keys in theme to be nested to an arbitrary depth * Assign width to border for blockquote if not specified in theme * Add support for font family and style per heading level * Implement basic converter for inline_indexterm * Coerce negative values in theme if they slip through * Use preserve_indentation in layout_prose * Support remote images * Add warning about unsupported gif format * Abort cli if option parsing returns exit code * Use SafeYAML to load theme files * Handle transparent value for table background colors {uri-repo}/issues?q=milestone%3Av1.5.0.alpha.7[issues resolved] | {uri-repo}/releases/tag/v1.5.0.alpha.7[git tag] == 1.5.0.alpha.6 (2014-11-28) - @mojavelinux * Add pdf-fontsdir attributes to redefine fonts directory (andrey) * Use require_relative to load Asciidoctor PDF in asciidoctor-pdf script (Ryan Bigg) * Add example for specifying theme file (Leif Gruenwoldt) (#61) * Add thread_safe gem to remove warning when registering converter {uri-repo}/issues?q=milestone%3Av1.5.0.alpha.6[issues resolved] | {uri-repo}/releases/tag/v1.5.0.alpha.6[git tag] == 1.5.0.alpha.5 (2014-09-15) - @mojavelinux * Allow chapter label to be controlled using the `chapter-label` attribute (#47) * Prevent toc from overflowing content (#35) * Fix page numbering for various permutations of front matter * Don't activate implicit header include processor by default (#48, #25) * Draw box around listings and literal blocks than span more than one page (#11) {uri-repo}/issues?q=milestone%3Av1.5.0.alpha.5[issues resolved] | {uri-repo}/releases/tag/v1.5.0.alpha.5[git tag] == 1.5.0.alpha.4 (2014-09-09) - @mojavelinux * Fix yield statement so Asciidoctor PDF can be used with JRuby * Document that the coderay gem must be installed to run the examples (#42) {uri-repo}/issues?q=milestone%3Av1.5.0.alpha.4[issues resolved] | {uri-repo}/releases/tag/v1.5.0.alpha.4[git tag] == 1.5.0.alpha.3 (2014-09-08) - @mojavelinux * Remove unnecessary dependencies (tilt, slim, thread_safe) {uri-repo}/issues?q=milestone%3Av1.5.0.alpha.3[issues resolved] | {uri-repo}/releases/tag/v1.5.0.alpha.3[git tag] == 1.5.0.alpha.2 (2014-09-05) - @mojavelinux * Add magic encoding header to source file so Asciidoctor PDF can be used with Ruby 1.9.3 (#33, #36) {uri-repo}/issues?q=milestone%3Av1.5.0.alpha.2[issues resolved] | {uri-repo}/releases/tag/v1.5.0.alpha.2[git tag] == 1.5.0.alpha.1 (2014-09-04) - @mojavelinux * Rewrite as proper Asciidoctor converter (#29) * Initial pre-release {uri-repo}/issues?q=milestone%3Av1.5.0.alpha.1[issues resolved] | {uri-repo}/releases/tag/v1.5.0.alpha.1[git tag]