Light weight templates for react
Go to file
Amit Kaufman c6055f8628 Added summary of the entire doc (in bullet points) 2014-11-14 22:20:15 +02:00
src Improved error handling when lambda expression missing => 2014-11-13 01:02:31 +02:00
test Fixed empty lambda expressions 2014-11-13 00:25:12 +02:00
.eslintrc improve cli, eslint quotes 2014-11-11 11:18:34 +02:00
.gitignore Initial version 2014-11-10 12:55:24 +02:00
.npmignore add npm ignore 2014-11-10 17:30:46 +02:00
LICENSE Initial commit 2014-11-10 12:47:49 +02:00
README.md Added summary of the entire doc (in bullet points) 2014-11-14 22:20:15 +02:00
package.json add use strict to generated code 2014-11-11 11:27:59 +02:00

README.md

react-templates

Light weight templates for react. Reasons that we love it:

  • No runtime libraries. No magic. Just simple pre-compilation to a clear code
  • Super easy to write panels. By panels we mean components that have a lot of HTML code and non-reusable logic
  • Very good separation of presentation and logic. Almost no HTML within the component file
  • Declerative coding for presentation. HTML that you write and inspect look similar
  • Easy syntax. Similar to HTML. All IDEs recognize this format

How does it work

React templates compiles a *.rt file (react template - extended HTML format) into a javascript file. Currently, this file supports requirejs format, that will return a function. This function, when applied, will return a virtual react DOM (based on React.DOM elements and user custom components). A common use case would be that a React component would require a JS file generated by a template, and then call func.apply(this), causing the template to have the component as its context.

Basic concepts for react templates:

  • Any valid HTML is a template (and comments)
  • {} to identify JS execution context
  • rt-if
  • rt-repeat
  • rt-scope
  • rt-class
  • style
  • event handlers
  • doctype rt, require dependencies, and calling other components