MasterView is a rails-optimized (x)html friendly template engine plugin
provides another option to the existing rails view templates (rhtml and
rxml). The main idea is to provide a template engine that would provide
the power of layouts, partials, and rails helpers but still be
editable/styleable in a WYSIWYG editor. It was also a major goal that
syntax of these attribute directives be very similar to rails helpers so
that one could intuitively start using MasterView with little learning
other than knowing rails. MasterView was inspired by Amrita, Kwartz,
Tapestry, Zope/PHP TAL, Liquid, and Web Objects but designed with a
approach and specifically targetted for rails users.
A short video which demos the basic operation is available at
Screenshots and illustrations
MasterView is released under MIT open source licensing.
Create/extend a template engine for rails that would be XHTML
friendly and thus could be edited/styled with a WYSIWYG HTML editor
late in development without breaking template.
Keep it simple. DRY. No extra config files, simple syntax with ruby
Design it specifically for ruby and rails. Use the full power and
not be limited in its capabilities over what can be done with ERb
Work nicely with layouts, partials, and rails html helpers.
Reduce complexity, work with existing rails code, no extra view
logic or hashes than what is used by ERb (rhtml). Scaffold generate
templates or work from existing html prototype. Make scaffolds nicely
and easily useable for production with minor changes.
Reduce the numbers of files, simplifying editing. Define partials
and layouts naturallyl right in the template, no need to go to
Preview in browser without running an app. Allow for dummy data in
the template so that the page can be viewed and styled independently
Performance equal to ERb (rhtml)
Changed default development settings for enable_admin_pages and
enable_view_rhtml = true (false in production) to make it easy
for new users to get up and running. Added check_box, radio_button,
select, collection_select directives. Refactor attr_value parsing
to be more robust taking into account nested objects. Internal rework
of directive handling to support alternate namespaces for directives.
Std app directives dir at rails app/masterview/directives will be
automatically added to MasterView load path if exists.
Maintenance release - fixed problem when rails encounters exception
in either compiling or involving a RuntimeError and MasterView is
to not generate rhtml to the file system. Fixed by extending rails
TemplateError class to check for source in MasterView and then fallback
to file system.
Added Mongrel support, a new image_tag directive and some additional
stylesheet_link directives can infer the path from the src attribute if
attr_value is empty. Also added additional logging around startup and
version of MasterView that is running and a new admin page to visually
what MasterView features are currently loaded (tidy,auto parsing on
parse on startup, reading rhtml direct from masterview (eliminating
Visit the online documentation page at http://masterview.org/ for
screenshots, illustrations, complete installation and usage information.
We would love to hear your feedback and ideas around this project! Visit
rubyforge project http://rubyforge.org/projects/masterview to join the
users mailing list or to add yourself to the announce list to receive
announcements. Check out the
videohttp://masterview.org/videos/demo_short.htmlto see MasterView
Thanks for your time!!
MasterView Development Team
Jeff B. and Deb Lewis