Skip to content

Releases: asciidoctor/jekyll-asciidoc

v3.0.0

31 Aug 06:12
Compare
Choose a tag to compare

Summary

This release is a major step forward for this plugin. Support for Ruby < 2.3 and Jekyll < 3.0 have been dropped, which means most of the hacks and workarounds have also been cleared out. A code linter (Rubocop) has been set up to enforce consistency in the coding style, and we now have a code coverage report being generated as well (running on a substantially larger test suite). As a result, the code is much clearer, more organized, and easier to understand. With the release, the project will now adhere to semantic versioning.

In terms of features, excerpts are now extracted correctly and get converted to HTML automatically, collections which are not written still get processed (i.e., integrated), the date page variable is set from the revdate AsciiDoc attribute even for documents in collections, more control is given over the page layout including being able to define it using front matter defaults, the asciidoc property is set on all pages generated from AsciiDoc, and site-wide AsciiDoc attributes can be defined under the asciidoc category instead of (or in addition to) the asciidoctor category in the site configuration. A number of crashes have also been fixed. And the plugin has been verified to work with newly-released Jekyll 4.

Consult the CHANGELOG to find the full list of changes.

Changelog

  • only support Ruby >= 2.3.0 and Jekyll >= 3.0.0
  • update tests to only run against supported versions
  • load processor eagerly (at end of plugin initialization)
  • don't crash if document body is empty (#179)
  • process AsciiDoc header if page has only an AsciiDoc header but no body
  • honor layout defined in frontmatter defaults (#187)
  • allow page layout to be soft set in site config (#193)
  • set asciidoc property to true on all AsciiDoc pages (#189)
  • set asciidoc property to true on any (AsciiDoc) page enriched by this plugin (i.e., page.asciidoc) (#189)
  • don't call nil_or_empty? outside of an Asciidoctor context (#142)
  • don't delete category and tag; sync w/ first entry in array of matching property (#160)
  • don't coerce a falsy value of page-layout defined in _config.yml to nil
  • integrate collections that are not written (output flag is set to false) (#161)
  • allow site-wide AsciiDoc attributes to also be defined on asciidoc key in site configuration (#126)
  • set date page variable from revdate for any document in a collection (posts or otherwise) (#202)
  • allow non-ASCII word character to be used in name of attribute reference in config file
  • use File.write instead of IO.write (as IO.write has extra magic we don't need)
  • auto-generate excerpts for posts and documents written in AsciiDoc (#200)
  • document how to enable STEM support (#163)
  • document that a liquid tag that includes HTML must be enclosed in a passthrough block (#180)
  • document that page attributes must be defined in the document header (#172)
  • document both the plugins and gems config keys and when to use one vs the other (#159)
  • document how to disable publishing for a page
  • document how to make a draft post
  • recommend installing gems into project and using a .ruby-version file
  • pass standalone option through data instead of prepending to content
  • set up code coverage reports (#196)
  • set up code linter (Rubocop) (#201)

Release meta

Released on: 2019-08-30
Released by: @mojavelinux
Release beer: Oeillade Shadow by Grist Brewing Company

Logs: resolved issues | full diff

Credits

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

v2.1.1

09 Nov 05:50
Compare
Choose a tag to compare

A patch release to fix a few bugs in the 2.1 series. It address two cases where an undefined method was being called on an object. It also respects the layout defined in the frontmatter defaults.

Changes

  • honor layout defined in frontmatter defaults (#187)
  • don't call nil_or_empty? outside of an Asciidoctor context (#142)
  • handle case when document body is empty (#179)

Distributions

v2.1.0

21 May 09:54
Compare
Choose a tag to compare

A minor feature release that brings the tocify_asciidoc filter for adding a table of contents to your Liquid templates, better handling of attribute values, improved documentation, and better testing on Ruby 1.9.3. This was also the first release that was handled partially by the CI build.

Changes

  • Add tocify_asciidoc Liquid filter for generating a table of contents from the parsed AsciiDoc document (Jekyll 3+ only) (#37)
  • Remove trailing @ when resolving attribute reference in value of attribute defined in config
  • Prefixing attribute defined in config with minus removes previously defined (e.g., built-in) attribute (#123)
  • Convert attribute values in config as follows: true becomes empty string; false becomes nil, number becomes string (#127)
  • Merge category page variable into categories variable and tag page variable into tags variable (#149)
  • Assign document ID to page variable named docid (#146)
  • Enable CI for Windows platform by configuring job on AppVeyor
  • Catch SyntaxError when using Psych YAML parser with Ruby 1.9.3
  • Set minimum version of Ruby to 1.9.3 in the gemspec
  • Document that the name of page variable created from a page attribute is automatically lowercased
  • Parse the value of the revdate attribute using Jekyll::Utils.parse_date
  • Document how to assign a specific time to a post
  • Document how to make site-wide AsciiDoc attributes accessible to Liquid templates (#137)
  • Fix crash when converting an auto-extracted excerpt when base_dir option is set to :docdir
  • Add additional documentation and make other minor improvements to the README

Distributions

v2.0.1

06 Jul 06:21
Compare
Choose a tag to compare

This is a bug fix release. The main improvement is to prevent hook callbacks from registering each time the site regenerates in watch mode. The gem has also updated to include the gemspec and test suite to accommodate platform packaging.

Changes

  • align localtime and localdate attributes with site.time and site.timezone (#117)
  • don't register hook callbacks again when regenerating site; use static methods for hook callbacks (#121)
  • bundle CHANGELOG.adoc and test suite in gem
  • minor improvements to README

Distributions

v2.0.0

03 Jul 06:01
Compare
Choose a tag to compare

This release is a major rewrite of the plugin. The integration with AsciiDoc is now much deeper. You can expect many more features of AsciiDoc to just work. Of particular note, the Jekyll front matter header is no longer required and the layout is automatically selected based on the page type, so you can use standard AsciiDoc documents. Additionally, path-related implicit attributes are defined, allowing images generated by Asciidoctor Diagram end up in the right location. You'll also find the README for the plugin to be much more informative. Enjoy!

Changes

  • Split source into multiple files; move all classes under the Jekyll::AsciiDoc module
  • Avoid redundant initialization caused by the jekyll-watch plugin
  • Set docdir, docfile, docname, outfile, outdir, and outpath attributes for each file if using Jekyll 3 (#59)
    • docdir is only set if value of base_dir option is :docdir
    • setting outdir allows proper integration with Asciidoctor Diagram
  • Automatically set imagesoutdir attribute if imagesdir attribute is relative to root
  • Pass site information (root, source, destination, baseurl and url) through as AsciiDoc attributes
  • Automatically generate stylesheet for Pygments (#30)
  • Change default layout to match collection label (#104)
    • page for pages, post for posts, collection label for all others; use default layout as fallback
  • Resolve attribute references in attribute values defined in config (#103)
  • Apply AsciiDoc header integration to documents in all collections (#93)
  • Document how to create and enable templates to customize the HTML that Asciidoctor generates (#73)
  • Allow base_dir option to track document directory by setting the value to :docdir (#80)
  • Add a comprehensive test suite (#77)
  • Allow site-wide Asciidoctor attributes to be specified as a Hash; convert to Hash if Array is used (#87)
  • Interpret page attribute values as YAML data
  • Use Jekyll.logger to write log messages (#85)
  • Add topic to all log messages
  • Restructure configuration keys so all general settings are under the asciidoc key (#82)
  • Don't enable hardbreaks attribute by default (#69)
  • Bump minimum version of Jekyll to 2.3.0 and document requirement in README (#76)
  • Allow layout to be disabled to create standalone document; support additional values for layout (#63)
  • Make front matter header optional (#57)
  • Apply site-wide Asciidoctor configuration (options/attributes) when loading document header (#67)
  • Disable liquid processor on AsciiDoc files by default; enable using liquid page variable (#65)
  • Resolve empty page attribute value as empty string (#70)
  • Soft assign linkattrs attribute
  • Allow plugin to work in safe mode (#112)
  • Major restructure and rewrite of README
  • Document how to use plugin with GitLab Pages (#47)
  • Document asciidocify filter

Distributions

v1.1.2

11 May 03:17
Compare
Choose a tag to compare
  • Fix for documents that did not contain an attribute beginning with page- (#60)

v1.1.1

11 May 03:15
Compare
Choose a tag to compare

Changes

  • The AsciiDoc document title overrides the title set in the front matter or the title that's automatically generated (in the case of a post) (#48)
  • The AsciiDoc page-related attributes override the matching entries in the page data (i.e., front matter)
  • The value of page-related attributes are treated as YAML values (automatic type coercion)
  • page- is the default prefix for page-related AsciiDoc attributes (e.g., page-layout). (#51)
  • The key to configure the page attribute prefix is asciidoc_page_attribute_prefix; the value should not contain the trailing hyphen (#51)
  • The date of a post can be set using the revdate AsciiDoc attribute (#53)
  • Only configure the Asciidoctor options once (previously it was being called twice in serve mode)
  • Set env attribute to site instead of jekyll (#55)

v1.0.1

19 Mar 21:39
Compare
Choose a tag to compare

Jekyll 3 support

This release enables use with Jekyll 3. It is still compatible with Jekyll 2.

  • Jekyll 3 support - (#36, #33)
  • Documentation and onboarding improvements - (#25, #24)
  • Improvements to release process (#28)

Distributions

v1.0.0

22 Jun 07:24
Compare
Choose a tag to compare

Initial release.