gulp-slim
Install
gem install slim
npm install gulp-slim --save-dev
Usage
var gulp = require("gulp");
var slim = require("gulp-slim");
gulp.task('slim', function(){
gulp.src("./src/slim/*.slim")
.pipe(slim({
pretty: true
}))
.pipe(gulp.dest("./dist/html/"));
});
or write it in CoffeeScript.
gulp = requier 'gulp'
slim = require 'gulp-slim'
gulp.task 'slim', ->
gulp.src './src/slim/*.slim'
.pipe slim pretty: true
.pipe gulp.dest './dist/html/'
Options
The options are the same as what's supported by slimrb
.
pretty: true
erb: true
compile: true
rails: true
translator: true
logicLess: true
Set bundler: true
to invoke slimrb
via bundler.
You can also add custom options with options
key. Value can be string
or array
.
slim({
pretty: true,
options: 'attr_quote="\'"'
})
slim({
pretty: true,
options: ['attr_quote="\'"', 'js_wrapper=:cdata']
})
Some Scenarios
With AngularJS
If you want to compile such a source.
doctype html
html ng-app="app"
head
body ng-controller="YourController as ctrl"
p {{ desc }}
p
| {{ something }}
a ng-href="https://github.com/{{ user }}"
You need to specify a attr_delims
.
var gulp = require("gulp");
var slim = require("gulp-slim");
gulp.task('slim', function(){
gulp.src("./src/slim/*.slim")
.pipe(slim({
pretty: true,
options: "attr_delims={'(' => ')', '[' => ']'}"
}))
.pipe(gulp.dest("./dist/html/"));
});
With Another Encoding
For example, if slimrb
's default is US-ASCII
but you want to compile a source in utf-8
, then use encoding
option.
var gulp = require("gulp");
var slim = require("gulp-slim");
gulp.task('slim', function(){
gulp.src("./src/slim/*.slim")
.pipe(slim({
pretty: true,
options: "encoding='utf-8'"
}))
.pipe(gulp.dest("./dist/html/"));
});