123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267 |
- /**
- * Autoinsert script tags (or other filebased tags) in an html file.
- *
- * ---------------------------------------------------------------
- *
- * Automatically inject <script> tags for javascript files and <link> tags
- * for css files. Also automatically links an output file containing precompiled
- * templates using a <script> tag.
- *
- * For usage docs see:
- * https://github.com/Zolmeister/grunt-sails-linker
- *
- */
- module.exports = function(grunt) {
- grunt.config.set('sails-linker', {
- devJs: {
- options: {
- startTag: '<!--SCRIPTS-->',
- endTag: '<!--SCRIPTS END-->',
- fileTmpl: '<script src="%s"></script>',
- appRoot: '.tmp/public'
- },
- files: {
- '.tmp/public/**/*.html': require('../pipeline').jsFilesToInject,
- 'views/**/*.html': require('../pipeline').jsFilesToInject,
- 'views/**/*.ejs': require('../pipeline').jsFilesToInject
- }
- },
- devJsRelative: {
- options: {
- startTag: '<!--SCRIPTS-->',
- endTag: '<!--SCRIPTS END-->',
- fileTmpl: '<script src="%s"></script>',
- appRoot: '.tmp/public',
- relative: true
- },
- files: {
- '.tmp/public/**/*.html': require('../pipeline').jsFilesToInject,
- 'views/**/*.html': require('../pipeline').jsFilesToInject,
- 'views/**/*.ejs': require('../pipeline').jsFilesToInject
- }
- },
- prodJs: {
- options: {
- startTag: '<!--SCRIPTS-->',
- endTag: '<!--SCRIPTS END-->',
- fileTmpl: '<script src="%s"></script>',
- appRoot: '.tmp/public'
- },
- files: {
- '.tmp/public/**/*.html': ['.tmp/public/min/production.min.js'],
- 'views/**/*.html': ['.tmp/public/min/production.min.js'],
- 'views/**/*.ejs': ['.tmp/public/min/production.min.js']
- }
- },
- prodJsRelative: {
- options: {
- startTag: '<!--SCRIPTS-->',
- endTag: '<!--SCRIPTS END-->',
- fileTmpl: '<script src="%s"></script>',
- appRoot: '.tmp/public',
- relative: true
- },
- files: {
- '.tmp/public/**/*.html': ['.tmp/public/min/production.min.js'],
- 'views/**/*.html': ['.tmp/public/min/production.min.js'],
- 'views/**/*.ejs': ['.tmp/public/min/production.min.js']
- }
- },
- devStyles: {
- options: {
- startTag: '<!--STYLES-->',
- endTag: '<!--STYLES END-->',
- fileTmpl: '<link rel="stylesheet" href="%s">',
- appRoot: '.tmp/public'
- },
- files: {
- '.tmp/public/**/*.html': require('../pipeline').cssFilesToInject,
- 'views/**/*.html': require('../pipeline').cssFilesToInject,
- 'views/**/*.ejs': require('../pipeline').cssFilesToInject
- }
- },
- devStylesRelative: {
- options: {
- startTag: '<!--STYLES-->',
- endTag: '<!--STYLES END-->',
- fileTmpl: '<link rel="stylesheet" href="%s">',
- appRoot: '.tmp/public',
- relative: true
- },
- files: {
- '.tmp/public/**/*.html': require('../pipeline').cssFilesToInject,
- 'views/**/*.html': require('../pipeline').cssFilesToInject,
- 'views/**/*.ejs': require('../pipeline').cssFilesToInject
- }
- },
- prodStyles: {
- options: {
- startTag: '<!--STYLES-->',
- endTag: '<!--STYLES END-->',
- fileTmpl: '<link rel="stylesheet" href="%s">',
- appRoot: '.tmp/public'
- },
- files: {
- '.tmp/public/index.html': ['.tmp/public/min/production.min.css'],
- 'views/**/*.html': ['.tmp/public/min/production.min.css'],
- 'views/**/*.ejs': ['.tmp/public/min/production.min.css']
- }
- },
- prodStylesRelative: {
- options: {
- startTag: '<!--STYLES-->',
- endTag: '<!--STYLES END-->',
- fileTmpl: '<link rel="stylesheet" href="%s">',
- appRoot: '.tmp/public',
- relative: true
- },
- files: {
- '.tmp/public/index.html': ['.tmp/public/min/production.min.css'],
- 'views/**/*.html': ['.tmp/public/min/production.min.css'],
- 'views/**/*.ejs': ['.tmp/public/min/production.min.css']
- }
- },
- // Bring in JST template object
- devTpl: {
- options: {
- startTag: '<!--TEMPLATES-->',
- endTag: '<!--TEMPLATES END-->',
- fileTmpl: '<script type="text/javascript" src="%s"></script>',
- appRoot: '.tmp/public'
- },
- files: {
- '.tmp/public/index.html': ['.tmp/public/jst.js'],
- 'views/**/*.html': ['.tmp/public/jst.js'],
- 'views/**/*.ejs': ['.tmp/public/jst.js']
- }
- },
- devJsJade: {
- options: {
- startTag: '// SCRIPTS',
- endTag: '// SCRIPTS END',
- fileTmpl: 'script(src="%s")',
- appRoot: '.tmp/public'
- },
- files: {
- 'views/**/*.jade': require('../pipeline').jsFilesToInject
- }
- },
- devJsRelativeJade: {
- options: {
- startTag: '// SCRIPTS',
- endTag: '// SCRIPTS END',
- fileTmpl: 'script(src="%s")',
- appRoot: '.tmp/public',
- relative: true
- },
- files: {
- 'views/**/*.jade': require('../pipeline').jsFilesToInject
- }
- },
- prodJsJade: {
- options: {
- startTag: '// SCRIPTS',
- endTag: '// SCRIPTS END',
- fileTmpl: 'script(src="%s")',
- appRoot: '.tmp/public'
- },
- files: {
- 'views/**/*.jade': ['.tmp/public/min/production.min.js']
- }
- },
- prodJsRelativeJade: {
- options: {
- startTag: '// SCRIPTS',
- endTag: '// SCRIPTS END',
- fileTmpl: 'script(src="%s")',
- appRoot: '.tmp/public',
- relative: true
- },
- files: {
- 'views/**/*.jade': ['.tmp/public/min/production.min.js']
- }
- },
- devStylesJade: {
- options: {
- startTag: '// STYLES',
- endTag: '// STYLES END',
- fileTmpl: 'link(rel="stylesheet", href="%s")',
- appRoot: '.tmp/public'
- },
- files: {
- 'views/**/*.jade': require('../pipeline').cssFilesToInject
- }
- },
- devStylesRelativeJade: {
- options: {
- startTag: '// STYLES',
- endTag: '// STYLES END',
- fileTmpl: 'link(rel="stylesheet", href="%s")',
- appRoot: '.tmp/public',
- relative: true
- },
- files: {
- 'views/**/*.jade': require('../pipeline').cssFilesToInject
- }
- },
- prodStylesJade: {
- options: {
- startTag: '// STYLES',
- endTag: '// STYLES END',
- fileTmpl: 'link(rel="stylesheet", href="%s")',
- appRoot: '.tmp/public'
- },
- files: {
- 'views/**/*.jade': ['.tmp/public/min/production.min.css']
- }
- },
- prodStylesRelativeJade: {
- options: {
- startTag: '// STYLES',
- endTag: '// STYLES END',
- fileTmpl: 'link(rel="stylesheet", href="%s")',
- appRoot: '.tmp/public',
- relative: true
- },
- files: {
- 'views/**/*.jade': ['.tmp/public/min/production.min.css']
- }
- },
- // Bring in JST template object
- devTplJade: {
- options: {
- startTag: '// TEMPLATES',
- endTag: '// TEMPLATES END',
- fileTmpl: 'script(type="text/javascript", src="%s")',
- appRoot: '.tmp/public'
- },
- files: {
- 'views/**/*.jade': ['.tmp/public/jst.js']
- }
- }
- });
- grunt.loadNpmTasks('grunt-sails-linker');
- };
|