connect-lb-include
v0.3.0
Published
Connect middleware for `#include`-ing HTML files inside other HTML files, using `lb-include`
Downloads
6
Maintainers
Readme
connect-lb-include
Library for using lb-include
as
connect
middleware (perhaps in an
express
app).
This will apply lb-include
to all responses where Content-Type: text/html
is set.
Builds hosted by Travis CI:
master
: ,
develop
:
Install
$ npm install --save-dev connect-lb-include
Getting Started
For a fuller demo, look at demo/demo.js
in this repo (and run it!). Here's an example of basic usage:
var express = require('express'),
lbInclude = require('connect-lb-include'),
serveStatic = require('serve-static');
var app = express();
app.use(lbInclude({ root: __dirname }));
app.use(serveStatic(__dirname));
app.listen(9000);
Anytime something with a Content-Type
of text/html
is returned by your routes, it will
automatically get passed through lb-include
by this middleware.
Configuration
You can pass an optional configuration object, which will be passed through to lb-include
.
var app = express();
app.use(lbInclude({ ... }));
app.use(serveStatic(__dirname));
app.listen(9000);
You can pass any option supported by lb-include
(see the documentation for lb-include
for the entire list).
root directory
If you do not pass a root
option, it will be assumed to be process.cwd()
The root
option controls what the root directory is. This is passed as the root directory to lb-include
,
which uses it to resolve root-relative #include
file paths (like <!-- #include file="/foo.html" -->
).
When lb-include
resolves relative include paths, it does so relative to the file. For connect-lb-include
,
the request URL is sanitized and mapped onto root
, and that resulting location is used to resolve
file-relative #include
s (e.g. a response at URL /foo/bar/baz.html
would be considered to be
at <root>/foo/bar/baz.html
for #include
purposes.
License
Released under the MIT license © Jeffrey Stanton
See LICENSE.md for full license text