MasterView is a rails-optimized (x)html friendly template engine plugin
that provides another option to the existing rails view templates
(rhtml and rxml). The main idea is to provide a template engine that
would provide all the power of layouts, partials, and rails helpers but
still be editable/styleable in a WYSIWYG editor. It was also a major
goal that the syntax of these attribute directives be very similar to
rails helpers so that one could intuitively start using MasterView with
little learning curve other than knowing rails. MasterView was inspired
by Amrita, Kwartz, Tapestry, Zope/PHP TAL, Liquid, and Web Objects but
designed with a fresh approach and specifically targetted for rails
Releae 0.3.2 is primarily a
maintenance release to fix a minor incompatibility with Rails 1.2.2
which was causing a blank screen on a view compile error rather than
the normal debug output. Also there was a defect in the parameter
parsing when using multiple parameters that was corrected. Finally the
authorization mechanism for accessing the MasterView admin pages was
made customizable by allowing a user configurable module to be used.
Tested with Rails 1.2.2
Release 0.3.1 was a maintenance release addressing an issue with ruby
1.8.5 (wrong number of arguments 1 for 2 during scaffold generation),
fixing a problem with the deprecated/directive_base used for
custom directives, updating a few out of date docs, and accomodating a
change to the API of the Rails 1.2 generator.
Release 0.3.0 was a major release for MasterView
emphasis on refactoring and simplifying the API for building
directives. A DSL syntax was chosen to greatly simplify the creation of
directives to both help the core team with directive development as to
also enable developers to create their own custom directives easily.
MasterView has been constructed to allow directives to be shared
amongst the community and this refactoring will enable custom
development. To further enhance sharing and prevent collisions, this
release introduces custom namespaces to the directives allowing users
to create their own namespaces to prevent conflict. Namespaces as well
as many other metadata about directives can now be configured at both
the app-level and installation-level providing flexibility.
A short video which demos the basic operation is available at
Screenshots and illustrations
MasterView is released under MIT open source licensing.
Main site: [
Rubyforge Project site: http://rubyforge.org/projects/masterview
- Create/extend a template engine for rails that would be XHTML friendly and
thus could be edited/styled with a WYSIWYG HTML editor even late in
development without breaking template.
- Keep it simple. DRY. No extra config files, simple syntax with ruby flavor.
- 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 (rhtml)
- 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 initial templates or
work from existing html prototype. Make scaffolds nicely styled 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 another file.
- Preview in browser without running an app. Allow for dummy data in the
template so that the page can be viewed and styled independently of the
- Performance equal to ERb (rhtml)
Jeff Barczewski and Deb Lewis
== Recent changes (Release 0.3.2 - Maintenance release plus custom admin auth)
release addresses a compatibility problem with Rails 1.2 where a view
syntax error would not display the normal debug output but instead
displayed only a blank screen. Also fixed a parsing problem with
multiple parameters in some directives. Added the ability to use custom
mixin for authorization to MasterView admin screens. Changed the
MasterView generator to use request, flash, and params rather than
deprecated @request, @flash, and @params. Tested with Rails 1.2.2
== Recent changes (Release 0.3.1 - Maintenance release
release addresses an issue with ruby 1.8.5, fixes a problem with the
deprecated/directive_base used for custom directives, updates a few out
of date docs, and accomodates a change to the API of the Rails 1.2
== Recent changes (Release 0.3.0 - Major update - refactoring of directive API (for developing directives)
directive API for creating directives has been refactored and
simplified. This will enable directives to be developed more easily by
both core developers and MasterView users. The end goal is to make it
extremely simple for anyone to create their own custom directives and
to share those with the community, and thus the project can live and
grow into many specialty areas. The directive API refactoring is one
more step towards those goals.
The old directive_base.rb which provided the API for
directives has been deprecated and moved to
deprecated/directive_base.rb, MasterViewdevelopers which have developed
custom directives should upgrade those directives to the new API as
soon as possible. During the transition period one can use the original
API by requiring the deprecated/directive_base.rb file and changing
their directive to inherit from DirectiveBaseOld rather than
== Recent changes (Release 0.2.5)
Fix AdminPage compatibility with Rails 1.1.5+ which uses safe_load_paths to find controllers
Fix rake mv:view_rhtml RHTML=foo/_bar.rhtml was not able to find partials
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 the rubyforge project
to join the users mailing list or to add yourself to the announce list to receive future announcements. Check out the [
video](http://masterview.org/videos/demo_short.html) to see MasterView in action!
Thanks for your time!!
MasterView Development Team