This package provides an Express compatible middleware which integrates the FT Navigation package into your application and adds the navigation data, including editions data, to each response making it available to your application's route handlers. This data is required to render the navigation components header and footer.
This package is compatible with Node 12+ and is distributed on npm.
npm install --save @financial-times/dotcom-middleware-navigation
After installing the package create a new instance of the middleware and register it with your application. The middleware can be configured with several options:
const express = require('express')
const app = express()
+ const navigation = require('@financial-times/dotcom-middleware-navigation')
+ app.use(navigation.init())
Once registered, a navigation
property will be added to the response locals object containing the navigation data.
app.get('/', (request, response) => {
console.log(response.locals.navigation) // { ... }
})
The middleware accepts the following parameters. All options will be passed along to the FT Navigation package:
Enables fetching hierarchical navigation data for the current path including any parent and child pages. Defaults to false
.
Enables overriding of the default current path logic. Defaults to:
(request) => normalizePath(request.get('ft-vanity-url') || request.path)
See the FT navigation documentation for more details.
See the FT navigation documentation for more details.
See the FT navigation documentation for more details.