public
Description: A Merb plugin that creates a static version of a website, for deployment to any webserver.
Homepage: http://peepcode.com/system/screens/
Clone URL: git://github.com/topfunky/merb_static.git
merb_static / README
100644 60 lines (38 sloc) 1.685 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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