Skip to content

Express middleware to render Server Side Includes

Notifications You must be signed in to change notification settings

ln-e/ssi-middleware

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Express middleware to render Server Side Includes

NPM version

Express-style middleware to process SSI directives.

The #include supports both static files and virtual paths which are fetched via HTTP(S).

<html>
  <!--#include file="/static.txt"-->
  <!--#include virtual="/dynamic"-->
</html>

Other ssi instructions supported via node-ssi

Usage

See the basic usage example below. In order to resolve static files the baseDir option has to be provided, respectively baseUrl to resolve virtual paths.

  import express from 'express';
  import { ssi } from '@ln-e/ssi-middleware';

  const app = express();
  const port = 3000;

  app.use(ssi({
    baseDir: `${__dirname}/public`,
    baseUrl: `http://localhost:${port}`,
    request: {
      // See https://npmjs.com/package/request for options.
      // This enables the use of self-signed certificates:
      strictSSL: false
    },
    payloadFn: (req, res) => {
      return { GEO: req.headers.COUNTY_BY_IP };
    }
  }));

  app.listen(port);

License

MIT

About

Express middleware to render Server Side Includes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 99.3%
  • HTML 0.7%