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 [email protected].
To post to this group, send email to [email protected].
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.