Skip to content
This repository was archived by the owner on Apr 3, 2026. It is now read-only.

Latest commit

 

History

History
102 lines (74 loc) · 3.51 KB

File metadata and controls

102 lines (74 loc) · 3.51 KB

RELEASE HISTORY

0.4.0 | 2011-11-27

This release of Malt is a major improvement over the previous release. Where as before not all formats behaved consistently --for instance, not all templating engines handled block yielding, this release has ensured consistent functionality across all engines. A couple of significant changes were made to do this.

Most important to the end user, templating formats can no longer use yield to insert block content, but rather must use content. This was done to avoid unnecessary implementation complexity due to Ruby's limitation on the use of yield within Proc objects. The code is much cleaner and subsequently more robust thanks to this change.

The builder-style engines (Builder, Markaby, Erector and Nokogiri) have all been united under a single Builder format class. The common extension for such files is .rbml. These engines have been tweaked to behave uniformly, supporting explicit and implicit evaluation modes and using instance variables and externalized scope.

In addition to these changes, a few new formats/engines have been added, including Creole, Maruku, WikiCloth, CoffeeScript and Nokogiri Builder.

Changes:

  • Add Creole, Maruku and WikiCloth markup engine/formats.
  • Add CoffeeScript transpiler engine/formats.
  • Add Nokogiri Builder format.
  • Support scope and localsstyle data, as well asdata` option.
  • Unified builder engines under one .rbml/.builder format.
  • Use #content instead of #yield for block content!
  • Add :multi option for multi-format rendering.
  • Overhaul internal engine API, for better overall design.
  • Formats delegate to master Malt.render method.

0.3.0 | 2010-11-04

New release adds a Malt::Machine class that encapsulates all Malt's class level functionality. This allow Malt to be be more finally controlled. For example an instance of Malt::Machine can be used to limit rendering to a select set of formats.

Changes:

  • Add Machine class to encapsulate toplevel functions.
  • Add feature via Machine options to select available formats.
  • Add #to_default to for converting to default format.
  • Add Malt.engine? to test for supported engine types.
  • Rename Malt.support? to Malt.format?.
  • Rename Malt.main to Malt.cli.

0.2.0 | 2010-10-22

Malt now support Erector, Markaby, Builder and Mustache templates. Erector, Markaby and Builder are Ruby-based formats --templates are simply Ruby code. This requires them to use instance variables in templates rather than local variables/methods. Something to keep in mind.

Changes:

  • Add support for Erector templates.
  • Add support for Markaby templates.
  • Add support for Builder templates.
  • Add support for Mustache templates.
  • Add :pass option to render method.
  • Rename :format option to :to for render method.

0.1.1 | 2010-09-21

This release simple fixes two bugs. One to handle variant arity in format class #render methods. Currently the interface can vary dependent on whether they accept interpolation data or not (this will probably be uniform in the future). The other fix raises an error if no engine exists to handle a given format.

Changes:

  • Bug fix to raise error if format not handled by any engine.
  • Bug fix to underlying #render calls to handle variant arities.

0.1.0 | 2010-08-23

This if the initial release of Malt. I have no doubt the code base still needs some fine-tuning --hence the 0.1 version, but I have put it to good use with the latest version of Brite, my static website generator, so I know that it is at least is a working state.

Changes:

  • Initial release.