Skip to content

v3.0.0

Latest
Compare
Choose a tag to compare
@mojavelinux mojavelinux released this 31 Aug 06:12

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.