deposit
Inject dynamic resources into your html pages
Install
npm install deposit --save
Usage
var fs = ;var http = ;var deposit = ; var d = ; // Set up injectorsd;d; http;
Sample HTML file
<!-- inject:env --> <!-- endinject --> <!-- inject:fetch url=http://some.site.com/page timeout=5 assign=bob --> Default Content This is what it looks like if the data doesn’t get fetched (or gets fetched with an error). <!-- endinject -->
API
deposit([options])
options
d.injector(name, function (options, done) {})
name
- The name of the inejctor. This is the name you will use in your html document. Only slug-valid names are allowed (i.e.fetch
,custom-injector
, etc).
d.tree([filepath, function (err, contents) {}])
Parse and inject a file. By default, the function returns a stream. You may also provide a callback and it will be called and return the parsed file contents. This method also has a streaming interface.
filepath
- The path to the file to parse and inject.
d.blockTree([filepath, function (err blocks) {}])
Parse the given html file and return an object representation of the parseable blocks. This method also has a streaming interface.
filepath
- The path to the file to parse and inject.
Injectors
Injectors are used to put dynamic content into the html as static content. Injectors are basically plugins that exports a function:
module { });
The injector function recieves 2 parameters:
options
- This is an object map of the options in the commented markup. If the html had<!-- inject:fetch url=http://some.site.com/page timeout=5 assign=bob -->
, the options would beurl: http://some.site.com/page
timeout: 5
assign: bob
done
- This callback gets called with these values -done(err, content)
. The content will be injected and replace the commented markup
Run Test
npm install
npm test