Hello RoR: Talk,

I have been working on a declarative style template engine that differs 
substantially from Haml and ERB.  I'm calling it express_templates.

Express Templates uses Ruby's block structure and execution order to define 
document templates and fragments of markup as procs and blocks in a 
declarative, macro-like Ruby DSL.  Simple example:

ul {
  li { "one" }
  li "two"
  li %q({{:three}})
}

Express Templates provides a Component concept that allows a component 
developer to encapsulate template fragments and to re-use common logic patterns 
in a Ruby class.  No logic goes in the template code or fragments.  All logic 
is implemented via Components.  The file extension for an express_template is 
.html.et but the syntax is just Ruby.

Gem is on github:  https://github.com/aelogica/express_templates

More example code is in the README.  There is ample test coverage and 
documentation should you wish to play with it.  It has only two runtime 
dependancies, both of which I hope to remove for a 1.0 release:  active_support 
and parslet.

I am building express_templates to scratch my own itch on a substantial 
internal project and to make my own and my teams' efforts more efficient.  My 
goal is to facilitate a complete Ruby web UX framework and component hierarchy 
where the page can still be rendered server-side in the traditional way via the 
View Context and where the Rails app still owns the layout.  I think something 
like this is important for the future of Rails.

Components in express_templates can leverage advanced client side JS without 
requiring the user to handcraft markup or client framework code.  Express 
Templates itself has no opinion on JS frameworks.  A library of components 
built on express_templates could select any suitable JS framework or none at 
all.  

I presented express_templates in a lightning talk at RubyConf on Tuesday.  
Slides here:  
https://speakerdeck.com/stalcottsmith/express-templates-declarative-views-with-components

Your feedback or encouragement may help guide me to a 1.0 production release 
sometime in Q1.

Have you been looking for something like this?  What kind of pain do you 
experience with large or new projects using current template schemes?  What 
approaches are others taking aside from going all in on JS heavy apps?  I want 
to know.


Thank you and kind regards,


Steven Talcott Smith
Master Developer, Chief Happiness Officer
ÆLOGICA

http://aelogica.com | Great software teams for hire
http://appexpress.io | Rapid Application Development
http://bit.ly/level_up_book | Level Up! Tips & Techniques to Up Your Game as a 
Professional Developer

gpg keyprint C162F8EF  [report security issues promptly and privately]


-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-talk+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/05331B62-3BC0-4CAA-88B8-9A6850EBFBE8%40aelogica.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to