Skip to content
A Merb plugin that creates a static version of a website, for deployment to any webserver.
Ruby
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
lib
spec
.gitignore
LICENSE
README
Rakefile
merb_static.gemspec

README

merb_static
===========

WARNING: EXPERIMENTAL. Some features are missing or partially implemented. This is being use on small single-page sites but hasn't yet been tested with complex sites.

A plugin for the Merb framework that generates static HTML (and other) files from a dynamic Merb application.

Provides functionality similar to static-site building tools like Webby, but you can use all the plugins, helpers, and databases available to Merb.

For example, I use Mac OS X to generate screenshots for a news-reading application, but deploy to a Linux box hosted at RailsMachine. I can use merb_static to generate the HTML locally and deploy the static files and images to the server.

  http://peepcode.com/system/screens/

Usage
=====

In config/dependencies.rb:

  dependency "merb_static"
  
Add other configuration information to your Merb configuration.

  Merb::Plugins.config[:merb_static] = {
    :urls  => ["/"],
    :domain => "http://peepcode.com",
    :remote => {
      :domain   => "peepcode.com",
      :username => "deploy",
      :passphrase => "my ssh key passphrase",
      :path => "/full/path/to/deploy/this/app/to"
    }
  }

Generate the static site:

  rake merb_static:build
  
Start over:

  rake merb_static:clean
  
Build and deploy to a remote server:

  rake merb_static:sync

You may want to run your own app's tasks first by creating a custom Rake task:

  task :my_sync => [:my_build_task, "merb_static:sync"]

TODO
====

* Documentation
* Configuration options
* Spidering of all urls on a site
* Recommendations for writing sites that will be archived
* Synchronization task
* Tips: Use Merb::Config[:path_prefix] to generate URLs at a path

Something went wrong with that request. Please try again.