This is a small bug fix release, updating is recommended.
Changes
2 bug fixes:
Give the default meta information for directories a higher priority to avoid problems
Fix wrong value of the destination node that occured in certain situations with chained nodes
webgen 1.4.0 released
Published on by Thomas Leitner
Thanks to an (unrelated) bug report for a website with more than 4700 page files I
tried to optimize the node finder a bit more, with quite good results!
Depending on the options one uses, node finder option sets can now be cached more effectively which
brings down the number of different node sets and therefore more performance (drastically in some
cases)!
Another important change is the new io_open_mode meta information which can be used to change how
a file should be opened. This allows one, for example, to use the mode ‘r:BOM|UTF-8’ to open UTF-8
files with a Unicode byte order marker without problems or to specify different encodings for
certain files.
Last but not least: webgen now uses cmdparse version 3.0.1 instead of 2.x which brings better help
output and some other nice changes. However, this also means that custom CLI extensions won’t work
anymore! If you have written such an extension, please update it to be compatible to the newer
cmdparse version!
Changes
7 minor changes:
Optimized node finder to more effectively cache node sets
Nicer hierarchical output for item tracker nodes descriptions when using webgen show
dependencies
Updated path handler api to optionally produce a true hierarchical structure instead of the
standard RDoc file/directory structure
Updated path handler api to additionally create fragment nodes for attributes (not just
methods)
Updated path handler api template to use an <h2> heading instead of <h1>
The IO open mode can now be set on a per path basis with the new io_open_mode meta information
(requested by Johann Friedrich Heinrichmeyer)
Setting an empty pipeline on a block in a Webgen Page Format file now works
webgen 1.3.0 released
Published on by Thomas Leitner
This release fixes some bugs and introduces an updated node finder filter ‘lang’. It now allows to
include nodes in the default language if such a node has no translation to the specified languages.
This means, for example, that if a website is not completely translated to some language, the
untranslated nodes appear in the menu.
Changes
1 minor change:
Node finder filter ‘lang’ has been updated to support the default fallback language
3 bug fixes:
Fixed the website.link_to_current_page configuration option so that it really works (reported
by Johann Friedrich Heinrichmeyer)
Virtual nodes now get the correct node class (reported by Johann Friedrich Heinrichmeyer)
This release brings mainly some overall and specific performance enhancements. The most benefit
comes from caching some often needed data and optimizing calls to URI objects.
However, there is also a specific benefit for those using kramdown and many predefined link
definitions as those will not get cached, too. Note that this will need at least kramdown 1.3.2 to
work!
On command line parsing errors, only the error is now shown, not the complete help
2 bug fixes:
Fixed auto-generate mode when the current directory is not the website directory
Path handler feed: custom cn/dest_path meta information is now respected
webgen 1.1.0 released
Published on by Thomas Leitner
This release mainly re-introduces two options that were available in the 0.5.x series:
website.link_to_current_page and tag.langbar.mapping (formerly named tag.langbar.lang_names).
Fixed problem with US-ASCII encoding on some internally used URIs
Fixed problem with “webgen install BUNDLE_NAME” where bundle could not be installed because it
was missing and webgen ran into an error
webgen 1.0.0 released
Published on by Thomas Leitner
It has been long since the last version of the 0.5.x series, more than three years. If you thought
that development on webgen halted you were wrong.
With the two beta releases at the end of last year most of the major remaining bugs of this complete
rewrite were fixed and the only big job was to update the webgen website. This took me longer than
expected but during the update of the website, including all of the documentation, webgen was
actively used and in the process I uncovered some more problems which are now fixed, too.
So without further ado I present you webgen 1.0.0!
Why would you want to use it? Here are some reasons:
The basic promise of webgen didn’t change. It still allows one without knowledege of a programming
language to easily create and generate a website, built from templates and content files. However,
the one-oh-oh version now uses the latest libraries to do its job and is up-to-date in all
regards.
Better CLI commands: The webgen CLI now provides more tools for working with a website. Aside
from the usual things like creating a new website and generating the output, it can show the
available extension bundles, all available extensions, the configuration options (including
documentation, syntax and examples), the generated node tree (including meta information) and node
dependencies.
With the addition of the dry run mode, you can preview what webgen would do without actually
changing anything in the destination directory. Combine this with the destination.show_changes
configuration option to see the actual changes that would be done!
Better partial site generation: The whole core of webgen was ripped apart and re-implemented
to make it easier to add dependent items to a node and the whole system got faster. It is now
easier than ever to write an extension that handles a new type of item. Additionally, the webgen
CLI can now show the items on which a node depends so that you can see at a glance why a node
might get re-generated.
Node search API: Many extensions need to generate a possibly nested list of nodes (for
example, the tag menu or the path handler feed). Prior to webgen 1.0.0 each of these
extensions had to do the work themselves. With this new version, the node_finder extension
provides a mechanism to do this in a standardized way. You just provide it with a set of options
that defines the nodes that you want and it does all the rest!
Many built-in extensions: All built-in extensions that were available in 0.5.x are also
available in the 1.0.0 version, plus some more. And if you are missing some extension, it is now
very easy to create new extensions; you can even publish them as gems to make them easily
available and installable to other users.
Here are two of the new extensions:
The misc.dummy_index extension automatically generates directory index files that are missing.
The path_handler.api extension uses RDoc to create Ruby API documentation files that have the
same look and feel as the rest of the website. No longer is it necessary to generate the API
documentation separately!
There are also some extension bundles available as Rubygems, they follow the naming scheme
webgen-...-bundle.
You can find the full documentation of webgen on the webgen website at http://webgen.gettalong.org
For information on how to upgrade a webgen 0.5.x website to this new version, have a look at the
upgrade documentation.
webgen 0.5.15 released
Published on by Thomas Leitner
Changes
Minor changes:
kramdown version equal to 0.11.0 is now needed
Bug fixes:
Fixed bug RF#28393: Worked around a Rubygems problem regarding empty directories (reported by
Hans de Graaff)
webgen 0.5.14 released
Published on by Thomas Leitner
This release changes the version of the kramdown library to 0.10.0 and contains one small bug fix.
Changes
Minor changes:
kramdown version equal to 0.10.0 is now needed
Bug fixes:
Fixed bug RF#28392: problem with rdoc test (reported by Hans de Graaff)
webgen 0.5.13 released
Published on by Thomas Leitner
This just a minor maintainance release which fixes some bugs and adds support for Sassy CSS.
Changes
Minor changes:
Specifying a prefix for kramdown generated header IDs is now possible
Added support for Sassy CSS
A haml version greater than 3.0.0 is now needed
A kramdown version greater or equal to 0.9.0 is now needed
Bug fixes:
Fixed problem in ContentProcessor::Less where a non-useful error message was shown
webgen 0.5.12 released
Published on by Thomas Leitner
This release includes two minor changes and some bug fixes: The output of the meta information tag
is now escaped by default. This can be changed by setting the tag.metainfo.escape_html option in
the configuration file. And a rake task for showing outdated translations has been added.
Changes
Minor changes:
Added a rake task to show outdated translations
Added a configuration option for specifying whether a meta info value should be escaped
Bug fixes:
All error messages now display useful path names (reported by Eric Sunshine)
Fixed another CSS bug with sub directories in style bundle ‘andreas07’ (reported by Thomas
Deselaers)
Fixed problem with unintentionally modified link meta information that lead to errors
Commands are now correctly shown when running webgen --help
Fixed a problem where an incorrect path was shown in error messages
webgen 0.5.11 released
Published on by Thomas Leitner
In this release there are two big changes regarding the internals of webgen:
The dependency on facets has been removed since it was only used in two or three places and since
the facets project is not very stable regarding its API.
The default markup language used by the webgen is Markdown and the default processor for
converting Markdown to HTML has been Maruku for a long time. However, Maruku has some bugs that
need to be fixed and although it runs under Ruby 1.9 there are some issues. Therefore the new
default processor for Markdown will be kramdown from now on. Aside from being actively
maintained, it is about 5x faster than Maruku and runs on Ruby 1.9 without problems.
This means that if you used the default configuration, you will automatically use kramdown from
now on. If you still want to use Maruku, just change the default processing pipeline for page
files:
The short name markdown now also refers to kramdown instead of Maruku.
Aside from the new content processor kramdown, another content processor for LESS has been added and
the content processor head has been updated to handle arbitrary link tags. Many bugs have been
fixed in this release as well.
Note: All deprecated methods have been removed in this release!
Added content processor less (extends CSS with variables, mixins, operations, …)
Updated content processor head to allow the specification of arbitrary link tags and
links to javascript and CSS files by the user
Minor changes:
Added a CSS class to the HTML tag of the currently selected language of Tag::Langbar
(requested by Damien Robert)
Removed dependency on facets
All deprecated methods have been removed
Bug fixes:
Fixed atom feed template to produce completely valid feeds
Fixed order of feed entries (now sorted from most recent to oldest) (reported by Tuomo Valkonen)
Fixed error in SourceHandler::Virtual when creating virtual directories (reported by Tuomo
Valkonen)
Fixed bug in ContentProcessor::Blocks: context.dest_node was not correctly set when
#render_block was called via the context object
Fixed bug in Sourcehandler::Main: an error was raised when the configuration option
output.do_deletion was set to true (reported by Thomas Deselaers)
Fixed RF#27075: Typo in webgen documentation (reported by Luis Parravicini)
Fixed bug which occured when archive-tar-minitar was not installed
Fixed CSS bug with sub directories in style bundle ‘andreas07’ (reported by Thomas Deselaers)
Fixed a bug with path patterns not matching correctly (reported by Damien Robert)
Fixed bug in ContentProcessor::Tags with regard to parsing strings/files with a multi-byte
encoding under Ruby 1.9 (reported by Stefano Crocco)
Fixed bug in terminal size detection (webgen CLI now works in Emacs shell buffer) (reported by
Bob Dobbs)
webgen 0.5.10 released
Published on by Thomas Leitner
This is just a small bug fix release. The only change feature wise was the addition of a content
processor for checking XML (XHTML) files for validness.
Changes
Minor enhancements:
Added content processor xmllint for checking an XML (XHTML) file for well-formedness and
validness
Bug fixes:
Tag::TikZ: the generated image tags now always have an alt attribute
Fixed problem with the webgui when creating a new website
Fixed problem with matching directory nodes (reported by Hermann Schichl)
Fixed bug RF#26885: paths with dots in the extension and without a language part were handled
incorrectly (reported by John Lockman)
Fixed bug RF#26890: detecting unused paths did not always work correctly (reported by John
Lockman)
Fixed problem with handling paths of the form NUMBER.REST (e.g. 1340.png): the number part
is now considered the basename and the rest is the extension
webgen 0.5.9 released
Published on by Thomas Leitner
This release does not bring many new and cool features (some naturally made it into this release ;-)
but it is another step to bringing more advanced functionality like image gallery and blog support
to webgen. Since gallery and blog template files will rely heavily on embedded Ruby scripts via erb,
haml and thelike, the functionality of the context object has been expanded to allow the
programmatic inclusion of tags and the rendering of blocks.
Another important change in this release is that the naming convention for paths has been made
stricter so that it is easier to derive the (a)(l)cn from a source path.
Also note that there have been some incompatible API changes!
Changes
Major enhancements:
webgen tags can now be accessed and used via the context object provided by some content
processors (builder, erb, erubis, and haml).
Tag handlers that do not use the Webgen::Tag::Base module now need to provide one more
method - see the API documentation!
Likewise, blocks can now be rendered via the context object in the same way as can be done via
the blocks content processor.
Change in source path naming convention: only files have different parts now (sort information,
basename, extension), directories and fragments not - see Source Paths Naming Convention!
Also note that directories now always have a trailing slash (source paths and canonical names)!
This change may lead to unexpected behaviour if you used the sort information part or an
extension in your directory names! Check this before upgrading to this version!
There is the new notion of passive sources which do not actively create nodes from paths but
only on-demand when a to-be-resolved path is not found. This is, for example, very useful for
shipping default files that can easily be overridden with custom files by putting the custom
files under the to-be-resolve path in a normal source directory.
There is now a better system for error reporting which allows for more detailed and more
specific (with path name and approximate line number) error reports.
Minor enhancements:
Added new content processor head for inserting CSS/JS fragments and links into the head
section of an HTML file. Arbitrary meta tags can also be inserted.
Added new content processor tidy for running tidy over a (most often generated) HTML
file (requested by Michael Franzl).
Special characters like German umlauts and spaces are now allowed in paths (suggested by Michael
Franzl). However, note that using paths with such characters may lead to problems when accessing
them later on the server!
Added new configuration option output.do_deletion for specifying if generated files
should be deleted if their respective source is deleted (suggested by Matthias Kirschner).
Added new configuration option tag.coderay.css which allows the inclusion of external
stylesheets.
Added new meta information used_nodes for specifying dependencies for a node (suggested
by Hermann Schichl).
The feed source handler now uses the passive sources system for finding its templates and does
not rely on the feedtools library anymore (which gives a huge speedup).
The sitemap source handler now uses the passive sources system for finding its templates and dos
not rely on the builder library anymore. And the format of a *.sitemap file is now similar
to that of a *.feed file for consistency.
The ERB::Util module is now available when using the erb content processor.
Directories are not created anymore if they do not contain any files.
There is now the distinction between textual and binary content processors.
The leading and trailing whitespace of content blocks in Webgen Page Format is not removed
anymore.
Bug fixes:
Fixed bug RF#25943: apply command did not work without explicitly specifying a directory
Tag::Relocatable: the resolved node is now additionally used as dependency for detecting a
change
Switching on host_os instead of arch for specifying Windows specific behaviour (in
preparation for the change of the Windows Ruby Installer).
Using $?.exitstatus instead of bit shifting to fix a JRuby issue
webgen tag handlers are now called only if all mandatory parameters are set
Fixed Website#render to work when called multiple times
Fixed Node#is_directory? to also work when called on a fragment with a trailing slash
Incompatible API changes:
Since one can now get at the parent node of a to-be-created node directly via the Path object,
the interface for creating nodes has been simplified. The method
SourceHandler::Base#create_node now only takes a path parameter and optionally an options hash
for special cases (fragment nodes and virtual nodes), SourceHandler::Base#node_exists has seen
a similar change.
The create_nodes service signature also changed. Also note that the before_node_created
message now only sends the path instead of parent and path.
These changes will in most cases render custom source handlers nonfunctional! Read the API
documentation and have a look at the shipped source handlers!
Node.absolute_name has been removed since it has no purpose anymore!
Deprecation notes:
Path#cnbase and Path#cnbase= are now deprecated, use Path#basename and Path#basename=
instead!
Common.absolute_path(path, base) is deprecated, use Path.make_absolute(base, path) instead!
Note the different parameter order!
Node#absolute_cn and Node#absolute_lcn are now deprecated, use Node#acn and Node#alcn
instead!
webgen 0.5.8 released
Published on by Thomas Leitner
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
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!
Changes
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 so that 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 Hunter)
SourceHandler::Fragment: fixed bug with header tag attribute parsing
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 bundles
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 Source::TarArchive
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.
webgen 0.5.7 released
Published on by Thomas Leitner
Although this is a just a minor interim release, the 0.5.x series is declared stable with this
release and should be used instead of the old stable 0.4.x series! The one exception is when you
rely on features of the 0.4.x series that have not been ported to 0.5.x yet.
Aside from this this release brings some new features, various issues were fixed and the homepage
was updated so that the current version and release date are visible from the start page.
Changes
Major enhancements:
0.5.x series declared the new stable webgen series
Minor enhancements:
Added two very useful options to ContentProcessor::Blocks
Added one new option to Tag::LangBar
Added .ico as extension that is handled by SourceHandler::Copy (suggested by Matthias Kirschner)
Added detection of non webgen website
Updated API and user documentation
Current webgen version and release date visible on start date (tip from Sebastian Gassner)
The webgen CLI now uses the environment variable WEBGEN_WEBSITE instead of the current
directory as the location of the webgen website if the switch -d is not specified
Bug fixes:
Fixed a small bug in Common::Sitemap: directories with just an index file did not appear in the
sitemap (reported by Damien Robert)
Removed causes of Ruby code warnings
webgen 0.5.6 released
Published on by Thomas Leitner
The main emphasis on this release lies on a new implementation of the update tree/write tree cycle
which now also allows the creation of nodes not only in the update tree phase but also in the write
phase. A user visible change of this is, for example, that nodes for page fragment are now not
created at page node creation time but through a content processor when the page node is
written. Since menus would not be correctly generated in this situation, the update/write cycle is
now executed as often as needed (which amounts to two times in nearly all situations).
Since the internal code changed a lot from the last release, you may need to update your
extensions to comply with the new internal API! Have a look at the ChangeLog or the git log to
see all changes.
Building on the above changes a new webgen tag for generating high quality graphics using the LaTeX
library PGF/TikZ is now available.
The next release of webgen will concentrate on the blog support. For example, a source handler for
automatically generating tag pages is in the works. Stay tuned!
Changes
Major enhancements:
Updated internals to allow for node creation during the write phase
Fragment nodes are now generated by the content processor fragments
Added new webgen tag link for generating links
Added new webgen tag tikz for generating high quality graphics
Minor enhancements:
Added new option to SourceHandler::Feed for specifying the name of the block that should be
rendered for the feed entry content
Added new option to SourceHandler::Feed for specifying the RSS version that should be used
The feed entries for SourceHandler::Feed are now ordered from newest to oldest instead of the
other way around
Added new configuration option tag.langbar.lang_names
Many documentation fixes, especially in the configuration reference
Bug fixes:
Fixed a small bug in Webgen::Page: empty block options work again now
Fixed all bugs that occured when running the test suite with Ruby 1.9
webgen 0.5.5 released
Published on by Thomas Leitner
This is just a small release which fixes a bug with absolute virtual URLs. The only change feature
wise was the addition of the configuration option tag.menu.nested which allows to generate either
a nested or a sequential menu (like the horizontal menu style in webgen 0.4.x).
If you want to live on the edge, a beta gem is now provided via Github’s gem server. To use the beta
gem you need to run
gem sources -a http://gems.github.com
gem install gettalong-webgen
Be aware that these beta gems are not officially supported but are normally in quite a useable state
and are updated more often than the official gem for testing purposes.
Changes
Minor enhancements:
New configuration option tag.menu.nested
Depending on fixed gem version (using = instead of >=)
Bug fixes:
RF#21349: absolute virtual URLs didn’t work correctly
small docu fixes
webgen 0.5.4 released
Published on by Thomas Leitner
This release features updated documentation and some enhancements and fixes. The upgrading
instructions have been expanded and provide now more details on how to convert an old 0.4.x site to
0.5.x.
Changes
Major enhancements:
Added content processor erubis
Added content processor rdiscount
Minor enhancements:
Added configuration file helpers for setting the default processing pipeline
New content processor short names aliases: textile for redcloth, markdown for maruku
Better error messages when parsing files in Webgen Page Format
Updated documentation
Bug fixes:
Circular dependencies between nodes are now correctly prevented
webgen 0.5.3 released
Published on by Thomas Leitner
This release brings some usability and feature enhancements to webgen as well as several bug
fixes. Also note that this release requires facets version 2.4.3 instead of 2.4.1!
Setting some configuration options (for example, the path patterns used by
Webgen::SourceHandler::Copy) was very complicated in previous releases. With the introduction of
configuration file helpers this gets much easier now. For example, adding some path patterns for
Webgen::SourceHandler::Copy can be done like this now:
patterns:
Copy:
add: [**/*.pdf, **/*.avi]
A new source handler for automatic feed generation has been added. This is the first part of the
blogging support that will be introduced in the following versions of webgen.
The styling of the menu tag has been modified: an additional CSS class specifying the current menu
level has been added and the surrounding div tag has been removed.
Attention: This may break websites which relied on the surrounding div tag with the
webgen-menu CSS class for styling.
I have added upgrading information for upgrading 0.4.x websites to 0.5.x.
Changes
Major enhancements:
Added a feed source handler for generating atom and/or RSS feeds.
Added a sitemap source handler for generating XML sitemaps
Ported the sitemap tag and feature-enhanced it
Minor enhancements:
Added configuration file helpers, see configuration file documentation.
Updated metainfo source handler to be more efficient.
Updated breadcrumb trail tag to allow the specification of a start and an end level and added
better node change checking.
Added new meta information kind for specifying the kind of a node (used, for example, by the
new sitemap tag)
Added new meta information change_freq and priority (used by the new sitemap source handler)
Added new meta information draft which can be set on paths that should not create any nodes
New level specific CSS class names for generated menus
Removed unnecessary div tag surrounding generated menus
Added upgrading information
Bug fixes:
Meta information sort_info was not correctly set which lead to sort errors when creating menus.
Fixed bug with meta information change detection: modified_at was taken into account although
this changes on every content change.
Fix some other bugs releated to the meta information modified_at.
An API change in facets from version 2.4.1 to 2.4.3 prevented webgen from working, now facets
2.4.3 is needed for webgen.
Fixed bug in template source handler: template chain resolution stopped at default.template in
sub directory and did not go further towards the root directory.
webgen 0.5.2 released
Published on by Thomas Leitner
This release brings some updates to the core as well as a browser based GUI, some bug fixes and
better Windows support. The most noteable update to the core is better partial site generation
support.
When a file that was in the menu changed, all files which included a menu with a link to this file
got regenerated, too. However, that was not always necessary since the content of the changed file
does not appear in the menu, only its meta information title. Therefore the new system checks if
the meta information of the changed file has changed and only then regenerates all menus. This
system is now also used by all other extensions like the breadcrumb trail or the langbar tag.
The new webgen webgui which can be started via webgen webgui is a graphical pendant to the command
line interface. It features
auto-completion of entered website directory paths
possibility to create and render websites
live view of a rendered website or preview of a to-be-created website
The preview mode when creating a website is very useful for choosing the right template and style
for a new website, especially for people new to webgen.
Changes
Major enhancements:
better partial site regeneration
browser based GUI
Bug fixes:
RF#21507: rdoc documentation link now works again
corrected some Windows specific bugs, test suite runs fine now on Windows
terminal width recognition now works again
global command line option --log-level now works as intended
webgen 0.5.1 released
Published on by Thomas Leitner
Since the 0.5.0 release did not have as many features as the older 0.4.x releases, this release as
well as the next few releases concentrate on porting features from the latest 0.4.x version. The
focus of this release was adding the missing content processors and most of the more widely used
tags.
If you want to have a currently missing feature in the next release, write to the mailing list!
A new google group which mirrors the webgen-users mailing list on Rubyforge has
also be created.
Changes
Major feature enhancements:
ported 4 content processors: haml, sass, rdoc and builder
ported 5 tags: breadcrumb_trail, langbar, include_file, execute_cmd and date
implemented 1 new tag: coderay
Bug fixes:
fixed bug RF#21387: webgen CLI now works correctly when stty is not available
webgen 0.5.0 released
Published on by Thomas Leitner
This is the first release of the new development line of webgen which is a complete rewrite of the
0.4.x series. The new architecture allows for partial website generation, faster start-up times and
easier extension development.
The 0.5.0 version is not as feature rich and tested as the the latest 0.4.x version, yet. This will
change with the following versions.
Changes
Complete rewrite of 0.4.x series
webgen 0.4.7 released
Published on by Thomas Leitner
Minor release with feature enhancements:
added support for Haml markup
added support for Sass markup
webgen 0.4.6 released
Published on by Thomas Leitner
This is a bug fix release:
fixed bug in handling of meta information in File/Pagehandler (thanks to Andrea Ferro)
fixed bug in handling of directory and file names with special characters (see Bug #13757)
webgen 0.4.5 released
Published on by Thomas Leitner
This release contains some bug fixes:
a small bug fix for Tag/News - there have been some cases where loading the plugin lead to an
error. This has been fixed now!
fixed a bug with file name resolution: filenames are now searched using a case insensitive search
sothat, for example, images with an uppercase extension are processed correctly
fixed bug in File/ThumbnailWriter: no check was performed if a thumbnail for a given image already
existed
One new feature: links can now be customized by providing a custom link renderer via the meta
information link_callback - more information on the Meta Information Reference
webgen 0.4.4 released
Published on by Thomas Leitner
Only a (very) small bug fix version due to Rubygems being case sensitive when it comes to gem names.
This version fixes the installation problem with Rubygems! Everything else is identical to the
0.4.3 version!
webgen 0.4.3 released
Published on by Thomas Leitner
I got mails about webgen not working with Ruby 1.8.6 on Windows anymore. It seems that a bug in the
1.8.6 release prevents webgen from correctly finding directories. However, this bug has already been
fixed which means that webgen should work again with the next One-Click-Installer for Windows. Until
then I recommend using webgen with the latest 1.8.5 version on Windows (I found that it is no
problem to have two versions of Ruby installed on Windows using the One-Click-Installer).
And now on to the new features and other changes:
Updated exifr support to version 0.10 - versions lower than 0.10 are not supported anymore!
redcloth is now a dependency sothat all the examples and website templates really work out-of-the-box!
Removed website style plain due to incompatible license.
Added submitted plugin Tag/HtmlMetaInfo from Andrea Censi - thanks!
Added submitted plugin Tag/News from Jeremy Hinegardner - thanks!
Added submitted plugin ContentConverter/Maruku from Andrea Censi - thanks!
Closed bugs:
Page and template files can now be written using either Windows, Mac or Unix EOL encodings!
Fixed order of webgen data directory discovery - local data directories are preferred now!
File/TemplateHandler will not use the default metainfo from File/PageHandler anymore!
webgen 0.4.2 released
Published on by Thomas Leitner
Another minor release which concentrates on fixing some bugs and adding some new features:
New features:
Implemented support for sipttra (Simple Plain Text Tracker) files and using it for the project
status page
HTML is now the default content format for template files
New parameters for Tag/BreadcrumbTrail: Tag/BreadcrumbTrail:omitLast and
Tag/BreadcrumbTrail:omitIndexFile
New parameter Core/Configuration:customVars for storing custom global variables and a new plugin
Tag/CustomVar for accessing them
Added an example websites section to the examples section
Added a HowTo page which answer some often asked questions!
Added a man page contributed by the Debian project
Closed bugs:
Specifying arguments to the run command to render only certain files now actually works! ;-)
Fixed bug when loading site specific plugins: the use of load_plugin should now work correctly!
All website styles updated to behave correctly when File/DefaultHandler:linkToCurrentPage is false
Thanks for the many comments and suggestions since the last release, especially to Bill Paxton,
Massimiliano Filacchioni, Erhard Karger, Alejandro Sierra, Fritz Heinrichmeyer and Vincent Fourmond!
webgen 0.4.1 released
Published on by Thomas Leitner
A minor release with bug fixes and some small enhancements:
webgen Windows bug resolved: webgen now really runs on Windows - thanks for the fast feedback!
Rake task for running webgen - thanks to Jeremy Hinegardner for providing it!
Meta information template can now be set to nil to specify that no template should be used!
Small documentation updates - thanks to John Gabriel for pointing out some flaws!
webgen 0.4.0 released
Published on by Thomas Leitner
This is a major release with many updates to the webgen core, the plugins and the documentation.
Plugins written for prior version won’t work with this one anymore. However, changing them to work
again is easy. As an upgrade guide is currently not available have a look at webgen plugins and the
API documentation to see how to do upgrade plugins.
Major changes:
New website layout :-)
webgen now includes many website styles which can be used out of the box!
Template files have the same format as page files now and can be nested!
Speed-up through caching of node information
New and cool gallery style
New content converter plugin (ContentConverter/XmlBuilder)
New plugin for syntax highlighting (Misc/SyntaxHighlighter)
Many changes to the core (plugin system revised, webgen can now be used from other Ruby
applications directly, faster node resolution, hooks are now spelled with only lowercase letters,
…)
Structure of meta information blocks changed
New meta information linkAttrs for setting additional attributes on links
Handling and structure of meta information backing file changed
Evaluation of page files changed (first converted to HTML, then ERB, then webgen tags)
“Static” menus now available
New sub-commands for the webgen command
Gallery editor application deprecated.
Many tests have been added.
Documentation on the homepage as well as the API documentation is now more complete
Fixed many bugs
Many other changes
For detailed information have a look at the ChangeLog file included in the webgen distribution!
Upcoming features:
More documentation
Blogging plugins
RSS generation plugins
webgen 0.3.8 released
Published on by Thomas Leitner
Bug fix release
webgen 0.3.7 released
Published on by Thomas Leitner
Major changes:
Now using cmdparse version 2.0.0!
Attention: For unified naming in reference to image galleries, I have removed all occurences of
the word “picture” from the code and documentation and replaced it with “image”. Therefore you may
need to adapt your code, especially custom gallery layouters!
Attention: Many documentation and library files have been renamed for better consistency! Custom
plugins may have to be adapted!
New application for managing image galleries (only alpha quality currently!)
Smileys are now optionally replaced with emoticons (several different emoticon packs available) ->
see Misc/SmileyReplacer
Site specific commands (used in command line processing) can now be used
New plugin Tag/Download for nice download links
New parameters: PageFileHandler:defaultPageMetaData, SitemapTag:honorInMenu
Images in image galleries can now be ordered by specifying the orderInfo meta information
The use of directory index files is now optional: by setting the parameter
File/DirectoryHandler:indexFile to nil directory index files are not used
Languages can now be specified using 2-char ISO-639-1 codes or 3-char ISO-639-2 codes
Now there is a link (next to the wiki link) to the source of each page unless the page was
programmatically generated.
webgen 0.3.4 released
Published on by Thomas Leitner
Major changes:
FileHandler now uses path patterns and/or extensions for determining which files to process!
ERB (embedded ruby) can now be used in templates and page files !
Relocatable tag now accepts complex URIs (URIs with query and fragment part, absolute URIs)
Changed meta info name menuOrder to orderInfo (e.g. used for specifying order information for
menus) – you have to adapt your page and backing files!!!
Now you can let webgen create the basic directories and files by executing webgen create my_site
New logging plugin lets you have more control over logging and log files
Now each website can have a plugin directory
New parameters for: Tag/WikiLink
Changed format of backing files -> have a look at the documentation
Removed obsolete Extension Loader plugin
Fixed bugs
webgen 0.3.2 released
Published on by Thomas Leitner
Bug fix release for bug #1637 and other bugs
webgen 0.3.1 released
Published on by Thomas Leitner
Major changes:
Better DefaultLayouter for image galleries
Output names for page files now customizable (see File/PageHandler)
On-the-fly creation of thumbnails for images with RMagick
New tags: Tag/Sitemap
Tag lang renamed, new name langbar!
New parameters for menu tag
Automatic checking of HTML files on their validness
Fixed bugs
webgen 0.3.0 released
Published on by Thomas Leitner
Major changes:
Textile, Markdown, RDOC and HTML as content format supported!!!
New tags: Tag/WikiLink
Improved plugin system
On-the-fly creation of new tags
Fixed bugs
Improved online documentation: pages on file handlers and tags now show parameters and other
additional info
Added comprehensive test suite
and more…
webgen 0.2.0 released
Published on by Thomas Leitner
The new release contains some more documentation, bug fixes and many new features:
directly noticeable is the colorized output for showing plugins and the configuration parameters
more tags and new options for the existing tags
support for ‘virtual files’ which allow the inclusion of links to external files into menus and
the like
better default handling of various error situations
it’s now easier to add new plugins for tags and file handlers
and more …
And last but not least, there is now a homepage at http://webgen.gettalong.org which was generated
with webgen and shows most of its features.
webgen 0.1.0 released
Published on by Thomas Leitner
webgen is a template based web page generator. It is used to generate static web pages from
templates and page description files.
All basic things are working and some documentation does also exist :-).
An example website is included which should get you started. Use “rake testsite” or change to the
testsite directory and type “ruby -I../lib ../bin/webgen” to build the testsite. The output will go
to testsite/output.