rioct-cli
v3.0.0
Published
Converts HTML templates to React
Downloads
108
Readme
Rioct
Rioct is a HTML templating language for React, built on top of react-templates, of which it extends the syntax and adds new features.
Notable features
Compared to react-templates
- easier syntax:
if,eachwithout thert-prefix - develop mode: a lot easier to debug with errors no longer "swallowed" by React. Expressions are checked for type integrity.
- accepts
.htmlfile extension (so to make HTML syntax highlight work in editors) - can use
<kebab-case>tag identifiers (turned into PascalCase) - can make use of the
<style>tag - can use lower case names for events or attributes (e.g.
onclickinstead ofonClick) - automatically binds event handlers to
this - content yielding with
<yield />,<yield from=""/>and<yield to=""/> showandhideattributes- unified
classattributes - supports custom brackets like
{{ }}or{% %}.
Compared to Riot
- templates are compiled to pure JavaScript code, no runtime is required other than React
- early catching of errors with expressions syntax checked at compile time
- expressions are statically compiled, no bracket processing of any kind at runtime
- can extend native elements (
li,input, etc..) with theiskeyword - has variable scoping
scope= - element is bound to
thiseven in child nodes - expressions need explicit
this, no ambiguity betweenwindowand local - no
parent.parenthell - no node inheritances in loops
- true
<virtual>node (does not create an element) - true
ifattribute (does not create child element whenfalse) - import dependencies with
<import>tag - builtin dynamic styles, can simulate scoped sytles with
_this_ - byte-saving option that normalizes Html Whitespaces
List of npm packages
rioct-cliis the command line compiler tool that turns.htmltemplates into actual React JavaScript code.rioctis a TypeScript-friendly library to help consume compiled templates. The package is optional and it's needed only for some advanced features. To use this package, TypeScript is not required (but recommended).rioct-loaderis a webpack loader for Rioct templates, so that you canrequire()directly template files from JavaScript.
Topics
- rioct-cli
- rioct
- template language reference
