<img src=“https://travis-ci.org/saito/smallcage.png” alt=“Build Status” />
SmallCage is a simple, but powerful website generator. It converts content and template files, which has common elements in a website, to a plain, static website. No database, no application container, and no repeat in many pages is needed. You can keep your site well with very little work.
With SmallCage, you can
-
simply separate your template from content.
-
convert your content to a plain, static website. It’s easy to serve and test.
-
generate multi pages from a single CSV file or even Google Docs spreadsheet.
-
share your template with various web applications: Ruby on Rails, WordPress, and MovableType.
-
manage your website with a source code management system like a Git, Subversion, and CVS.
-
customize the rules of convert with Ruby.
Please visit our wiki for more detailed discussion.
$ sudo gem install smallcage
If successfully installed, smc command will be available.
$ smc Usage: smc <subcommand> [options] SmallCage 0.1.9 - a simple website generator Subcommands are: update [path] Build smc contents. clean [path] Remove files generated from *.smc source. server [path] [port] Start HTTP server. auto [path] [port] Start auto update server. import [name|uri] Import project. export [path] [outputpath] Export project. uri [path] Print URIs. manifest [path] Generate Manifest.html file. Options are: -h, --help Show this help message. -v, --version Show version info.
Create document root.
$ mkdir htdocs $ cd htdocs
Import default project.
$ smc import Import: base Create: /_smc /_smc/helpers /_smc/helpers/base_helper.rb /_smc/helpers/site_helper.rb /_smc/templates /_smc/templates/default.rhtml /_smc/templates/footer.rhtml /_smc/templates/header.rhtml Import these files?[Yn]: y A /_smc A /_smc/helpers A /_smc/helpers/base_helper.rb A /_smc/helpers/site_helper.rb A /_smc/templates A /_smc/templates/default.rhtml A /_smc/templates/footer.rhtml A /_smc/templates/header.rhtml :
Publish all smc files.
$ smc update A /index.html A /sample/index.html A /sample/redirect.html A /sample/sub/contents.html A /sample/sub/index.html
Start HTTP server.
$ smc server . 8080
…and access localhost:8080