Skip to content
A server side include system
JavaScript HTML
Branch: master
Clone or download
This branch is 1 commit ahead, 15 commits behind yanni4night:master.

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
test
.gitignore
.travis.yml
Gruntfile.js
README.md
appveyor.yml
index.js
package.json

README.md

node-ssi

Note: I've swapped around the file and virtual declarations as, ASFAI, they didn't match the WAMP / MAMP usage.

NPM version Downloads Build Status Dependency status Build status Built with Grunt

A server-side-include system for nodejs.

We only support parts of nginx ssi syntax:

  <!--# include file="sibling/file.shtml" -->
  <!--# include virtual="/child/sibling/file.shtml" -->

  <!--# set var="k" value="v" -->

  <!--# echo var="n" default="default" -->

  <!--# if expr="test" -->
  <!--# elif expr="" -->
  <!--# else -->
  <!--# endif -->

Note:

  • virtual includes are always relative to the baseDir provided in the options.
  • file includes are relative to the current file.

usage

var SSI = require('node-ssi');
var ssi = new SSI({
        baseDir: './html/',
        encoding: 'utf-8'
        payload: {
            v: 5
        }
    });

// handle a file
ssi.compileFile('index.html', {payload:{title: 'Index'}}, function(err, content){

    });

//handle a content
ssi.compile('<!--# echo var="v" default="default" -->', function(err,content){

    });

test

grunt test

changelog

  • 2015-04-09[10:30:00]:swapped file and virtual definitions
  • 2014-11-03[17:00:51]:support special chars like \n,\v etc.
  • 2014-12-04[12:39:20]:thanks for @nfriedly,we fixed some bugs and support more features

todo

better lexer

license

MIT

You can’t perform that action at this time.