/cartero-node-hook

Node.js run time library for Cartero.

Primary LanguageJavaScriptMIT LicenseMIT

cartero-node-hook

A hook for cartero implemented in Node.js.

build status

Installation

npm install cartero-node-hook

Usage

var hook = require( 'cartero-node-hook' );
var path = require( 'path' );

var h = hook( {
  parcelsDirPath : path.join( 'views' ),
  outputDirPath : path.join( 'static/assets' )
} );

// get the js and css html of a parcel
h.getParcelTags( parcelPath, function( err, tags ) {
  // tags.script is a string of <script> tags
  // tags.style is a string of <link> tags
} );

Using Express? cartero-express-midddleware automatically populates res.locals with the script and link tags for the view being rendered.

API

h = hook( parcelsDirPath, outputDirPath, options );

parcelsDirPath and outputDirPath are the absolute paths to your views directory and cartero output directory, respectively, as passed into cartero at build time. options may contain outputDirPath, which is base url corresponding to the cartero output directory relative to the domain root (default '/').

h.getParcelTags( parcelPath, cb )

Get the HTML tags to load the script and style assets for a parcel.

h.getParcelTags( '~/my-app/views/page1', function( err, tags ) {
	// tags.script is a string of <script> tags
	// tags.style is a string of <link> tags
} );

h.getParcelAssets( parcelPath, cb )

Returns a hash of asset paths keyed by asset type. All paths are relative to the output directory.

h.getParcelAssets( '/usr/rotunda/my-app/views/page2', function( err, assets ) {
	console.log( assets.style );  // array of paths (ex: [ 'url/to/bundle.css' ])
}

Contributors

License

MIT