Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A miniature site generator.
Ruby

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bin
lib
spec
.document
.gitignore
LICENSE
README.rdoc
Rakefile
VERSION
loc.sh

README.rdoc

hx

A miniature web site generator; a spiritual successor to Hobix.

History

Concepts

Filters

Require and Autoload

Hx supports a very limited sort of autoload; when a filter class name is provided in a configuration file, and that class doesn't already exist, Hx will try to require a corresponding library. The name of that library will be derived from the class name; for example, if Hx::Backend::RawFiles is missing, Hx will try to require hx/backend/rawfiles.

Beyond this, you can also manually require additional libraries at load time by listing them in the require section in the configuration file.

Tutorial

A Trivial Static Site

options:
  output_dir: site
output:
  - filter: Hx::Backend::RawFiles
    options:
      entry_dir: static

A Site With Entries and Indexes

options:
  output_dir: site
sources:
  entries:
    - filter: Hx::Backend::Hobix
      options:
        entry_dir: entries
    - sort_by: updated
  indices:
    input: entries
    filter: Hx::Listing::RecursiveIndex
output:
  - input: indices
    filter: Hx::Output::LiquidTemplate
    options:
      extension: html
      template: section
  - input: entries
    filter: Hx::Output::LiquidTemplate
    options:
      extension: html
      template: entry
  - filter: Hx::Backend::RawFiles
    options:
      entry_dir: static

A Site with Date-Based Archives and an Atom Feed

options:
  output_dir: site
  template_dir: templates
sources:
  entries:
    - filter: Hx::Backend::Hobix
      options:
        entry_dir: entries
    - sort_by: updated
  indices:
    input: entries
    filter: Hx::Listing::RecursiveIndex
  archives:
    input: entries
    filter: Hx::Listing::DateArchive
    sort_by: id
output:
  - input: indices
    only: index
    filter: Hx::Output::LiquidTemplate
    options:
      extension: html
      template: front
  - input: indices
    except: index
    filter: Hx::Output::LiquidTemplate
    options:
      extension: html
      template: section
  - input: entries
    filter: Hx::Output::LiquidTemplate
    options:
      extension: html
      template: entry
  - input: archives
    only: */index
    filter: Hx::Output::LiquidTemplate
    options:
      extension: html
      template: year 
  - input: archives 
    only: */*/index
    filter: Hx::Output::LiquidTemplate
    options:
      extension: html
      template: month
  - input: indices
    only: index
    filter: Hx::Output::LiquidTemplate
    options:
      extension: atom
      template: feed
  - filter: Hx::Backend::RawFiles
    options:
      entry_dir: static

Copyright

Copyright © 2009-2011 MenTaLguY. See LICENSE for details.

Something went wrong with that request. Please try again.