Skip to content

Grunt plugin for autoinsertion of script tags in an html file

Notifications You must be signed in to change notification settings

sailshq/grunt-sails-linker

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

grunt-sails-linker

Autoinsert script tags (or other filebased tags) in an html file.

Getting started

This plugin requires Grunt ~0.4.x or ^1.0.0.

When the task is run, the destination file(s) is updated with script tags pointing to all the source files. The reason this plugin was built was to automate the process of inserting script tags when building large web apps.

npm install grunt-sails-linker --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-sails-linker');

The "sails-linker" task

Overview

In your project's Gruntfile, add a section named sails-linker to the data object passed into grunt.initConfig().

grunt.initConfig({
  'sails-linker': {
    defaultOptions: {
      options: {
        startTag: '<!--SCRIPTS-->',
        endTag: '<!--SCRIPTS END-->',
        fileTmpl: '<script src="%s"></script>',
        appRoot: 'app/'
      },
      files: {
        // Target-specific file lists and/or options go here.
        'app/index.html': ['app/scripts/**/*.js']
      },
    },
  },
})

Options

options.startTag

Type: String Default value: '<!--SCRIPTS-->'

Script tags are places between the startTag and endTag

options.endTag

Type: String Default value: '<!--SCRIPTS END-->'

Script tags are places between the startTag and endTag

options.fileTmpl

Type: String Default value: '<script src="%s"></script>'

The template used to insert the reference to the script files.

options.fileRef

Type: Function Default value: undefined

Optional function which takes the filepath as argument and returns a String inserted as reference to the script file. Note that option.fileRef takes precedence over option.fileTmpl.

options.appRoot

Type: String Default value: ''

The root of the application. Script links are relative from this folder.

options.relative

Type: Boolean Default value: false

Reference files using a relative url.

options.inline

Type: Boolean Default value: false

Pass the contents of a file rather than the filepath into fileTmpl. For example, if options.inline is set to true and fileTmpl is set to <script>%s</script>, the script contents will be injected between <script> tags.

Help

First, please check out the relevant documentation in Concepts > Assets. If you have further questions or are having trouble, click here.

Bugs   NPM version

To report a bug, click here.

Contributing

Please observe the guidelines and conventions laid out in the Sails project contribution guide when opening issues or submitting pull requests.

NPM

License

Copyright © 2013 Scott Laursen Copyright © 2013 Zoli Kahan

The Sails framework is free and open-source under the MIT License.

About

Grunt plugin for autoinsertion of script tags in an html file

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 95.5%
  • HTML 4.5%