public
Description: Automatically create Radiant layouts based on HTML files in other extensions
Homepage:
Clone URL: git://github.com/freelancing-god/radiant-layout-layer.git
name age message
file LICENCE Sun Jan 11 01:44:41 -0800 2009 Extremely minor tidy [freelancing-god]
file README.textile Thu Jan 22 19:17:58 -0800 2009 Adding snippets support as well [freelancing-god]
file layout_layer_extension.rb Mon May 18 12:55:04 -0700 2009 Fixing 0.8.0 reference [freelancing-god]
directory lib/ Mon May 18 13:05:11 -0700 2009 Adding rake task [freelancing-god]
README.textile

Layout Layer

This extension only does one job, but it does it well: Automatically creates layouts and snippets based on HTML files in other extensions.

Why?

The reason boils down to the following:

  • I don’t like writing layouts within a browser
  • My layouts are tied to extensions

So: Any HTML files within an extension’s layouts folder (which is not part of the default extension generation) will get replicated to a Layout object within the Radiant application. If it is nested within folders, then the name becomes a Ruby-like indication of this (eg: directory/file.html becomes a layout named Directory::File). Here’s a rough example:

- vendor/extensions/site_core
- vendor/extensions/site_core/layouts
- vendor/extensions/site_core/layouts/article.html
- vendor/extensions/site_core/layouts/home.html
- vendor/extensions/site_core/layouts/forums.html
- vendor/extensions/site_core/layouts/forums/topic.html
- vendor/extensions/site_core/layouts/forums/topics.html

These layouts get regenerated every time the Rails environment is reloaded. On production systems, this happens when you restart the web server (for example: Mongrel). In development systems, it happens every time you load a page. You should never need to do anything beyond edit the files to see the changes reflected as your developing your intricate CMS.

All the above applies to Snippets as well.

Who is Responsible?

This extension was written in under an hour by Pat Allan – that’s not meant as a boast, just an indication of how small it is. If you have questions, comments, suggestions, criticisms and/or patches, you can either email pat at freelancing-gods dot com, hassle him on Twitter, or send a message via GitHub.