Glyph - Changelog

v0.5.3 – October 4 2014

1 Bug Fixed

ID Description
#216

Fix error with SCSS generation

v0.5.2 – November 11th 2012

2 Features Implemented

ID Description
#208

HTML output now indented automatically.

#206

CSS improvements.

2 Bugs Fixed

ID Description
#209

Made Glyph compatible with gli v2.×.

#207

Fixed heading level of aliased macro always set to 2.

v0.5.1 – December 4th 2011

2 Bugs Fixed

ID Description
#203

Fixed error in pubdate macro.

#204

Updated CodeRay stylesheet.

v0.5.0 – August 28th 2011

16 Features Implemented

ID Description
#152

It is now possible to generate a PDF document through HTML5, not only HTML, by setting the output.pdf.through setting to html5.

#165

The fragment macro and the embed macro can be used to delimit and embed text fragments, in a way much similar to snippets.

#177

Introduced the concept of “macro representations”, to make macro code output-independent.

#179

Macro can be composed with other macros via backslashes, provided that containers only take exactly one parameter. The new xml macro dispatcher must be used composed with other macros to create raw XML tags, prepending = to macro names no longer works.

#180

Glyph can now generate ebooks in MOBI and EPUB format – with Calibre’s help.

#181

By using the new let macro macro, it is possible to define lexically scoped “variables” via the attribute: macro, and retrieve them within the scope of the let macro using the attribute macro.

#182

A while macro can be used to execute glyph code multiple times.

#183

The s macro dispatcher can be used to call almost any instance method of the Ruby String class. The match macro cannot be used anymore; use s/match instead.

#184

The old rewrite: macro has been renamed to define:. The new define: macro fully supports recursion.

#189

The add macro, the subtract macro and the multiply macro macro can be used to perform operations on integers.

#190

The lt, gt, lte, gte macros can be used to compare integer values.

#194

The load macro macro can be used to embed the contents of a file without performing any evaluation.

#195

\/ must not be used as invisible space separator, instead of \..

#197

Snippets are no longer managed via a separate snippet.yml file and must be defined within Glyph source files, using the snippet: macro.

#200

Typing glyph -v now prints the current version of Glyph on the screen.

#201

Glyph no longer depends on Jeweler to create and manage its gem.

4 Bugs Fixed

ID Description
#151

Fixed a bug related to Jeweler’s gemspec validation. And for all it matters, Jeweler is no longer a development dependency for Glyph.

#166

Temporary output files are now placed in a temporary folder.

#196

Glyph now handles non-ASCII characters properly with Ruby 1.9 as well.

#199

Fixed a bug that caused incorrect TOC nesting when using the src attribute of the section macro.

v0.4.2 – October 22th 2010

3 Features Implemented

ID Description
#172

A new output? macro can be used to test whether Glyph is compiling to a particular output format.

#175

The conditional macro now support a third parameter (else branch).

#176

A bunch of new aliases and shortcuts are available for the section macro.

1 Bug Fixed

ID Description
#178

No error is raised anymore if less than the required parameters/attributes are supplied to a rewritten macro.

v0.4.1 – September 23th 2010

5 Bugs Fixed

ID Description
#169

*.scss files are now supported by the style macro.

#170

Improved default CodeRay stylesheet.

#171

SCSS now used internally by Glyph to generate default CSS files.

#173

Consecutive escape sequences are now interpreted correctly in topics.

#174

Fixed error causing broken images in web5/html5 output.

v0.4.0 – September 3th 2010

13 Features Implemented

ID Description
#40

A new stats command can be used to display statistics about project files, snippets, macros, bookmarks and links.

#73

It is now possible to validate online HTTP links.

#112

It is now possible to use wkhtmltopdf instead of Prince to generate PDF files from HTML files.

#114

It is now possible to generate documents comprised of multiple files (topics).

#115

It is now possible to define layouts (used when generating multi-file outputs) using Glyph macros.

#120

It is now possible to compile your project to a single HTML5 file (html5 output) or multiple files (web5 output)

#135

Stylesheets can now be linked and imported as well as embedded.

#138

web and web5 output formats inherit html macros.

#142

A new navigation macro can be used in web and web5 outputs to navigate through topics.

#143

A topic-based TOC is generated when compiling to web or web5

#144

Two new validators are now available to check whether a macro has (or doesn’t have) a certain ancestor: within and not_within.

#147

The default stylesheets provided by Glyph are now compatible with HTML5 outputs (html5 and web5).

#148

It is now possible to create custom tasks and commands to extend Glyph functionality.

7 Bugs Fixed

ID Description
#133

Added HTML charset to Glyph documents (utf-8).

#136

Moved utility functions to separate Glyph::Utils module.

#139

Heavily restructured Glyph configuration.

#140

Added Glyph::Macro::Helpers module to avoid code duplication in macros for different output formats.

#141

Prevented non-rb files to be loaded as macros.

#145

Dotfiles are now ignored by init command.

#167

Fixed PDF book download links.

v0.3.0 – June 13th 2010

13 Features Implemented

ID Description
#39

A new outline command is available to display the document outline.

#110

It is now possible to use Glyph language to produce arbitrary XML code.

#111

System settings are now stored within a system.* namespace and cannot be changed via the config: macro or the config command.

#116

It is now possible to use named attributes within Glyph macros.

#119

A new parser was implemented from scratch to improve performance. Treetop gem no longer required.

#121

Some macros have been removed in favor of XML fallback, others have been updated.

#123

The SyntaxNode class has been specialized to differentiate between macros, attributes, parameters, text and escapes.

#124

Implemented new article macro and book macro.

#126

A new rewrite macro has been implemented to create simple macros using just Glyph code.

#127

A new alias macro has been implemented to create macro aliases.

#128

A blacklist for XML tags has been exposed via the language.options.xml_blacklist setting.

#129

The include macro can now be used in lite mode, it can evaluate ruby files and requires relative paths.

#130

A new “safe mode” has been implemented to explicitly forbid certain potentially unsafe macros.

3 Bugs Fixed

ID Description
#109

Performance has been dramatically improved by implementing a parser from scratch (see #119)

#122

Macro encoding/decoding no longer necessary due to the new parser (see #119)

#125

Warning messages have been streamlined.

v0.2.0 – May 9th 2010

11 Features Implemented

ID Description
#62

A new highlight macro is available to highlight source code (CodeRay or UltraViolet required).

#76

It is now possible to use Glyph programmatically via the new Glyph#filter and Glyph#compile methods.

#87

It is now possible to define snippets inside a Glyph source file using the snippet: macro.

#88

It is now possible to change configuration settings inside a Glyph source file using the config: macro (Jabbslad).

#89

It is now possible to compile a single Glyph source file without creating a Glyph project.

#92

6 new macros have been defined to allow conditional processing (condition macro, eq macro, not macro, and macro, or macro, match macro)

#94

It is now possible to add validators to macros, for example to check the number of parameters they take.

#97

The compile command command can now take an extra --auto switch to trigger document auto-regeneration whenever a source file is changed (koraktor).

#99

Added a document.draft setting. If set to true, comments and TODOs are rendered in output files.

#100

Glyph CSS files are no longer copied to new projects, but they can be referenced as if they were (see also #93).

#108

It is now possible to define Glyph macros within Glyph source files using the macro: macro.

8 Bugs Fixed

ID Description
#86

Warning and error messages have been updated, and it is now possible to show additional debug information. Additionally, syntax errors are now handled before the document is processed.

#93

Default css files were not copied when creating a new project. The issue has been resolved by allowing the style macro to reference Glyph’s system styles (see also #100).

#95

The config command did not save data to YAML configuration files. This has been fixed ensuring that internal configuration overrides are not saved to the YAML file too.

#98

Glyph is now fully compatible with Ruby 1.9.1 and JRuby 1.4.0.

#101

Additional tests have been developed to improve Textile support. There should no longer be errors when using textile block elements inside Glyph macros.

#103

Fixed a bug that caused test failures when deleting the test project directory.

#104

Nested Glyph macros calling Macro#interpret no longer ignore escape delimiters.

#107

Added the possibility to encode (using the encode macro) and decode (using the decode macro) macros so that they can be interpreted later.

v0.1.0 – April 8th 2010

Initial release.