Welcome to Static!

Not all websites require server side scripting. Many sites could be written out in plain html, though over a few pages it usually proves to be something of a pain. Maintenance of plain html sites that change with any sort of frequency also poses some annoyances, especially in coordinating the dom structure and the copy editors.

So we find ourselves using server side scripting in places where it is less necessary than convenient. Sometimes choosing PHP for its ‘code where you stand’ nature, sometimes opting for rails, recognizing the value in a layout and partial structure in these sites. Sometimes we just get comfortable in our tools or find that while there are other solutions available, there are few if any that actually make the process any simpler.

Install Static

  1. $ sudo gem install rbml (should be version 0.0.5.9.4.2)
  2. $ sudo gem install static
  • static may or may not work with windows under cygwin
  • if anyone can confirm or deny this, i would appreciate it

Getting Started

When starting static for the first time ~/static is generated as the static home. In that are three directories: projects, layouts, and .templates. In any case a prompt (->) will appear, and starting or loading a project is as easy as start and load.

A (very) Brief Walkthrough

  1. Start static
      $ static
  2. Start a new project
      -> start 
  3. Edit the site map
      -> edit site.map 
  4. Choose a layout and build the blueprint and content from it
      -> build all 
  5. Edit the copy and blueprint for each page as you choose
      -> edit copy
    
      -> edit blueprint
  6. Generate the site as often as you like
      -> generate

Basic Organization

When starting a project a directory of the same name will be generated in ~/static/projects. In the beginning this will only contain project_info. As the steps to site generation are completed other directories will be added.

The Directories of A Static Project

project_info
Holds the site.map and the site.info.
layout
Defines the structure of the default html wrapper, main navigation, blueprint and contents. Used by the build command, but not consulted during generate.
base
Holds the default.rbml, where site generation begins, serves as a bank for site-wide partials, and contains resources, stylesheets and scripts
contents
Has one yaml formatted .copy file for every page in the site map.
blueprint
Has one .rbml file for every page in the site map. Can also accomodate page-specific partials
collections
Collections are a series of yaml entries that share a base set of attributes and default display files. The collections directory holds files associated with the display and organization of each collection.

Enjoy!

So this has been a brief tour of static. The mailing list is open and I am open to quite a lot of suggestions if there is any interest to be had.