New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

prismic-nodejs

Package Overview
Dependencies
Maintainers
3
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

prismic-nodejs

prismic.io middleware for express

1.5.1
latest
Source
npm
Version published
Maintainers
3
Created
Source

prismic-nodejs

Prismic.io support for NodeJS

npm version Status Dependency Status

This is a set of helpers to use Prismic.io in a NodeJS application. Currently it only contains a helper to create a preview route. If you're starting from scratch, our NodeJS SDK is a good base.

Installation

npm install prismic-nodejs --save

Usage

const prismic = require('prismic-nodejs');
const PrismicConfig = require('./prismic-configuration');

The Prismic object is extended from the Javascript Kit, so any attribute of the official kit, for example Predicates, is also available in the object exposed by express-prismic.

It is recommended to create a middleware method that will fetch the Api object for your repository and expose data to your templates:

// This is the configuration for prismic.io
/*
 * Initialize prismic context and api
 */
app.use((req, res, next) => {
  Prismic.api(PrismicConfig.apiEndpoint, { accessToken: PrismicConfig.accessToken, req })
  .then((api) => {
    req.prismic = { api };
    res.locals.ctx = {
      endpoint: PrismicConfig.apiEndpoint,
      linkResolver: PrismicConfig.linkResolver,
    };
    next();
  }).catch((err) => {
    const message = err.status === 404 ? 'There was a problem connecting to your API, please check your configuration file for errors.' : `Error 500: ${err.message}`;
    res.status(err.status).send(message);
  });
});

You can then call it in your routes if you need to query your repository:

app.route('/').get((req, res) => {
  req.prismic.api.getByUID('page', 'get-started')
    .then((document) => {
      res.render('index-prismic', { document });
    })
    .catch((err) => {
    // Don't forget error management
      res.status(500).send(`Error 500: ${err.message}`);
    });
});

Previews

You can preview any document including drafts in your production site, securely. All you have to do is include this route:

app.route('/preview').get((req, res) => (
  Prismic.preview(req.prismic.api, PrismicConfig.linkResolver, req, res)
));

Then:

  • Configure the URL to that preview route in the settings of your repository
  • Make sure that the Prismic Toolbar is included in your views

Keywords

express

FAQs

Package last updated on 18 Jan 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts