node-ssi

A SSI parser

Usage no npm install needed!

<script type="module">
  import nodeSsi from 'https://cdn.skypack.dev/node-ssi';
</script>

README

node-ssi

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="path" -->
  <!--# include virtual="path" -->

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

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

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

Note:

  • file includes are always relative to the baseDir provided in the options.
  • virtual 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

  • 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