Magneto is a static site generator.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Magneto is a static site generator.


Hi, I'm Don Melton. I wrote Magneto to generate my own website. Magneto was inspired by nanoc and Jekyll, but it's a much simpler tool with fewer features and less policy.

For example, Magneto is not "blog aware" like some other systems, but it allows you to write a site controller script and plugins which can easily generate blog posts, an index page and a RSS feed. This is how I use it. There may be more work up front compared to other tools, but Magneto gives you very precise control over its behavior and output.

Before using Magneto, realize that it does have limitations due to its simplicity and that its programming interface may change because it's still under development.


Magneto is available as a gem which you can install like this:

sudo gem install magneto


magneto [OPTION]...

Source file items, their templates and the site controller script are loaded from the items and templates directories and from the script.rb file, all within the current directory. These are watched for changes and reloaded when automatic regeneration is enabled.

Ruby library files are loaded from the plugins directory only once.

The generated site is written to the output directory.

Configuration is loaded from config.yaml but can be overriden using the following options:

-c, --config PATH                use specific YAML configuration file
-s, --source PATH                use specific source directory
-o, --output PATH                use specific output directory

    --[no-]hidden                include [exclude] hidden source files
    --[no-]remove                remove [keep] obsolete output
    --[no-]auto                  enable [disable] automatic regeneration

-h, --help                       display this help and exit
    --version                    output version information and exit


Magneto doesn't have any dependencies for basic operation.

Enabling automatic regeneration requires installation of the Directory Watcher gem:

sudo gem install directory_watcher

Using any of the built-in filters could require additional gem installations.


Magneto is copyright Don Melton and available under a MIT license.