2.0.0 • Published 7 years ago
nunjucks-browsersync-server v2.0.0
nunjucks-browsersync-server
Easily create and configure a browser-sync + nunjucks server for serving static pages on the fly during template development
Installation
npm install nunjucks-browsersync-server
API
server
Server module
server.start(config)
Start a nunjucks-browsersync-server instance
Kind: static method of server
Param | Type | Default | Description |
---|---|---|---|
config | Object | ||
config.staticPath | String | A path containing static assets you want to serve along with your nunjucks pages | |
config.basePort | Number | 8020 | The port you want the server to start looking for available ports to serve on. The browser-sync ui server will start on the next port after the one that the server starts on |
config.nunjucks | Object | An object of nunjucks configuration options | |
config.nunjucks.root | string | The root path where your nunjucks files are | |
config.nunjucks.renderPath | string | The folder name of the pages folder you want to render on the server. Is also used to match the urls under which you want nunjucks to render | |
config.nunjucks.data | function | A function returning the data you want to pass to the nunjucks templates | |
config.nunjucks.globals | Object | Any other nunjucks globals you want to add | |
config.nunjucks.extension | string | "'.njk'" | The extension to match for nunjucks files |
config.nunjucks.configureEnv | function | A function that exposes the nunjucks environment instance in order to directly manipulate it if necessary | |
config.browserSync | Object | browser-sync configuration optiosn to mix with the defaults. See browser-sync docs. |
Example
// Imagine a directory structure
// - assets
// - html
// -- pages
// --- page-1.njk
// -- layouts
// -- partials
// -- data.json
var server = require('nunjucks-browsersync-server')
server.start({
staticPath: './assets',
browsersync: {
files: ['./assets/**', './html/**']
},
nunjucks: {
root: './html',
renderPath: 'pages',
globals: require('../nunjucks'),
data: require('./html/data.json')
}
})
// Now you can go to localhost:8020/pages/page-1.html and it will render the nunjucks page at './html/pages/page-1.njk' on the fly
Contributing to nunjucks-browsersync-server
Standard JS applies
camelCase for function and variable names
Github Flow - branch, submit pull requests
Getting set up
- Pull the repo
- run
npm install
- run
gulp
to build fromindex.es6.js
to the compiledindex.js
file