"riotify" is a browserify transformer for riot ".tag" files.
npm install riotify
This module is meant to be used together with browserify or module-deps:
Either of the two commands below result creates the same result:
browserify -t riotify app.js
module-deps -t riotify app.js | browser-pack
Example app.js
:
var riot = require('riot')
var todo = require('./todo.tag')
riot.mount(todo)
Example todo.tag
:
<todo>
<div each={ items }>
<h3>{ title }</h3>
</div>
this.items = [ { title: 'First' }, { title: 'Second' } ]
</todo>
Note that your tag files actually need to have the extension ".tag".
This plugin can give riot's compile options.
% browserify -t [ riotify --type coffeescript --template jade ] app.js
You can also configure it in package.json
{
"name": "my-package",
"browserify": {
"transform": [
[ "riotify", {"type": "coffeescript", "template": "jade" } ],
]
}
}
- compact:
Boolean
- Minify
</p> <p>
to</p><p>
- Minify
- expr:
Boolean
- Run expressions trough parser defined with
--type
- Run expressions trough parser defined with
- type:
String, coffeescript | cs | es6 | none
- JavaScript pre-processor
- template:
String, jade
- HTML pre-processor
- ext:
String
- custom extension, you’re free to use any file extension for your tags (instead of default .tag):
See more: https://muut.com/riotjs/compiler.html
var gulp = require('gulp');
var browserify = require('browserify');
var riotify = require('riotify');
var source = require('vinyl-source-stream');
gulp.task('browserify', function(){
browserify({ entries: ['src/app.js'] })
.transform(riotify, { template: 'jade' }) // pass options if you need
.bundle()
.pipe(source('app.js'))
.pipe(gulp.dest('dist/'))
});
These are the simplest cases. uglify
and sourcemaps
would be needed.
npm test
Jan Henning Thorsen - jhthorsen@cpan.org