Compilers¶
Coffee Script compiler¶
The Coffee Script compiler uses Coffee Script to compile your javascript.
To use it add this to your PIPELINE['COMPILERS']
PIPELINE['COMPILERS'] = (
'pipeline.compilers.coffee.CoffeeScriptCompiler',
)
COFFEE_SCRIPT_BINARY
¶
Command line to execute for coffee program. You will most likely change this to the location of coffee on your system.
Defaults to
'/usr/bin/env coffee'
.
COFFEE_SCRIPT_ARGUMENTS
¶
Additional arguments to use when coffee is called.
Defaults to
''
.
Live Script compiler¶
The LiveScript compiler uses LiveScript to compile your javascript.
To use it add this to your PIPELINE['COMPILERS']
PIPELINE['COMPILERS'] = (
'pipeline.compilers.livescript.LiveScriptCompiler',
)
LIVE_SCRIPT_BINARY
¶
Command line to execute for LiveScript program. You will most likely change this to the location of lsc on your system.
Defaults to
'/usr/bin/env lsc'
.
LIVE_SCRIPT_ARGUMENTS
¶
Additional arguments to use when lsc is called.
Defaults to
''
.
LESS compiler¶
The LESS compiler uses LESS to compile your stylesheets.
To use it add this to your PIPELINE['COMPILERS']
PIPELINE['COMPILERS'] = (
'pipeline.compilers.less.LessCompiler',
)
LESS_BINARY
¶
Command line to execute for lessc program. You will most likely change this to the location of lessc on your system.
Defaults to
'/usr/bin/env lessc'
.
LESS_ARGUMENTS
¶
Additional arguments to use when lessc is called.
Defaults to
''
.
SASS compiler¶
The SASS compiler uses SASS to compile your stylesheets.
To use it add this to your PIPELINE['COMPILERS']
PIPELINE['COMPILERS'] = (
'pipeline.compilers.sass.SASSCompiler',
)
SASS_BINARY
¶
Command line to execute for sass program. You will most likely change this to the location of sass on your system.
Defaults to
'/usr/bin/env sass'
.
SASS_ARGUMENTS
¶
Additional arguments to use when sass is called.
Defaults to
''
.
Stylus compiler¶
The Stylus compiler uses Stylus to compile your stylesheets.
To use it add this to your PIPELINE['COMPILERS']
PIPELINE['COMPILERS'] = (
'pipeline.compilers.stylus.StylusCompiler',
)
STYLUS_BINARY
¶
Command line to execute for stylus program. You will most likely change this to the location of stylus on your system.
Defaults to
'/usr/bin/env stylus'
.
STYLUS_ARGUMENTS
¶
Additional arguments to use when stylus is called.
Defaults to
''
.
ES6 compiler¶
The ES6 compiler uses Babel to convert ES6+ code into vanilla ES5.
Note that for files to be transpiled properly they must have the file extension .es6
To use it add this to your PIPELINE['COMPILERS']
PIPELINE['COMPILERS'] = (
'pipeline.compilers.es6.ES6Compiler',
)
BABEL_BINARY
¶
Command line to execute for babel program. You will most likely change this to the location of babel on your system.
Defaults to
'/usr/bin/env babel'
.
BABEL_ARGUMENTS
¶
Additional arguments to use when babel is called.
Defaults to
''
.
Write your own compiler class¶
You can write your own compiler class, for example if you want to implement other types of compilers.
To do so, you just have to create a class that inherits from pipeline.compilers.CompilerBase
and implements match_file
and compile_file
when needed.
Finally, specify it in the tuple of compilers PIPELINE['COMPILERS']
in the settings.
Example¶
A custom compiler for an imaginary compiler called jam
from pipeline.compilers import CompilerBase
class JamCompiler(CompilerBase):
output_extension = 'js'
def match_file(self, filename):
return filename.endswith('.jam')
def compile_file(self, infile, outfile, outdated=False, force=False):
if not outdated and not force:
return # No need to recompiled file
return jam.compile(infile, outfile)
3rd Party Compilers¶
Here is an (in)complete list of 3rd party compilers that integrate with django-pipeline
Compass (requires RubyGem)¶
- Creator
- Description
Compass compiler for django-pipeline using the original Ruby gem.
- Link
https://github.com/mila-labs/django-pipeline-compass-rubygem
Compass (standalone)¶
- Creator
- Description
django-pipeline-compass is a compiler for django-pipeline. Making it really easy to use scss and compass with out requiring the compass gem.
- Link
https://github.com/vbabiy/django-pipeline-compass
Libsass (standalone)¶
- Creator
- Description
libsasscompiler is a compiler for django-pipeline. Making it really easy to use scss/sass with the super fast libsass library.
- Link
https://github.com/sonic182/libsasscompiler