Webgen 0.5.8 released

Hey everybody!

webgen 0.5.8 has just been released! If you don’t know what webgen is,
read the “What’s webgen?” section down below.

This announcement is also available at

This release brings some very useful new features and paves the way for
more new features in the next versions!

The most notable change is that there is no distinction between website
styles and templates anymore - both are called bundles now or more
specifically, for example, style bundles. Since both were basically the
same but provided different kinds of content I thought that it would be
useful to drop the distinction.

This also lead to changes in the CLI command create which can now
take any number of website bundles from which the new website will be
created. Also, the create command got a new companion, the apply
command which can be used to apply website bundles to an already
existing website.

But that’s not all regarding website bundles: after the addition of a
new source class for handling local or remote, possibily gzipped, tar
archives, it is now very easy to provide style bundles or even complete
websites on websites. For example, if a user develops a new website
style bundle and puts it on his website, anyone can use it by just using

webgen create -b default -b 

http://www.example.com/webgen/ubercool-style.tar.gz new_site

As usual, some minor enhancements, many bug fixes and many
documentation updates made it into this release! See the changes
section for a complete list of changes and also note that some parts of
the API got deprecated!


  • Major enhancements:

    • Everything except feed handling (due to the dependency feedtools
      not working) is now Ruby 1.9 compatible! However, be aware that
      some used libraries may not work correctly under Ruby 1.9 - this
      is, for example, sometimes the case with Maruku!

    • The distinction between website styles and website templates is no
      more - say welcome to website bundles!

    • Added new source class which can handle local or remote (gzipped)
      tar archives - see Source::TarArchive

    • Added new CLI command for applying a style bundle to a webgen
      website - see The webgen command

  • Minor enhancements:

    • Added new value current for attribute node for webgen block
      content processor - see ContentProcessor::Blocks

    • The CLI commands apply and create can now make use of remote
      website bundles due to Source::TarArchive

    • Added new option contentprocessor.redcloth.hard_breaks for
      specifying if single newlines should become HTML line break tags

    • The use of the environment variable WEBGEN_WEBSITE moved from the
      CLI to the main Webgen::Website class sothat it is also available
      when programmatically using webgen.

  • Bug fixes:

    • Tag::Link: the linked-to node is now correctly specified for
      partial site regeneration

    • Fixed Node#changed? and Node#meta\_info\_changed?: dependent
      meta information nodes are now checked in Node#changed?

    • SourceHandler::Virtual: changes in the meta information for
      virtual nodes are now correctly detected

    • SourceHandler::Metainfo: empty meta information files don’t throw
      errors anymore

    • SourceHandler::Metainfo: deleting a path/alcn from a meta
      information file now correctly updates the affected nodes

    • SourceHandler::Virtual/SourceHandler::Page: detection of
      deleted paths between webgen runs now works correctly and doesn’t
      throw error anymore (bug reported by Tim H.)

    • SourceHandler::Fragment: fixed bug with header tag attribute

    • Fixed a small CSS bug in the website bundle style-andres06

    • Fixed bug in CLI: commands specified in ext/init.rb are now
      correctly recognized

    • Webgen::Website: #execute_in_env now correctly sets back prior
      website object

    • Updated used versions of dependencies, rake is now a development
      dependency, all development dependencies now use >= instead of
      just =. This fixes a bug with rake (reported by Chad Wooley)

  • Documentation:

    • The documentation now includes previews of all website style

    • The configuration option reference now shows the default
      values for each option

    • Updated installation instructions and added platform specific notes

    • Added documentation for Source::FileSystem and

    • Other general user documentation updates

    • Went through the whole API documentation and fixed documentation
      bugs and added some new documentation

    • Online API documentation now uses the new RDoc template darkfish

  • Deprecation notes:

    • The objects node, ref_node, dest_node and website are
      deprecated and will be removed in one of the next versions, use
      context.node, context.ref_node, context.dest_node and
      context.website instead!

    • Node#flagged is now called Node#flagged? - the old name will be
      removed in one of the next releases.

    • Webgen::Block is now named Webgen::Page::Block and
      Webgen::WebgenPageFormatError is now called
      Webgen::Page::FormatError - the old names will be removed in one
      of the next releases.

    • Webgen::ContentProcessor::Context is now named Webgen::Context

      • the old name will be removed in one of the next releases.
    • All website templates have been removed, there is just one
      default website bundle instead for a default website.

    • The class Webgen::WebsiteManager now handles bundles instead of
      styles and templates.

What’s webgen?

webgen is a tool to generate static websites by combining content
with template files. You create one or more template files in which
you define the layout of your page and where the content should go.
After that you create page files in which you only define the
content. You can use a variety of markup languages like Textile or
Markdown or Haml to define your content and you can add dynamic parts
via ERB or by using webgen tags. This allows the automatic generation
of menus, breadcrumb trails and much more!


gem install webgen


See http://webgen.rubyforge.org/documentation/