Prismic Helpers for API V2
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
dist fix tests Mar 27, 2018
src HTML-escape text; implement ‘pre’ element; tests; updates Feb 22, 2018
test
.babelrc
.gitignore
.npmignore typescript version May 8, 2017
.travis.yml HTML-escape text; implement ‘pre’ element; tests; updates Feb 22, 2018
README.md update readme Jul 31, 2017
bower.json change references from arnaudlewis to prismicio May 9, 2017
package-lock.json 2.0.6 Oct 17, 2017
package.json update yarn.lock + upgrade prismic-richtext Mar 27, 2018
webpack.config.js serialize richtext with the help of the new lib prismic-richtext whic… Jul 24, 2017
yarn.lock update yarn.lock + upgrade prismic-richtext Mar 27, 2018

README.md

JavaScript library with static helpers to render HTML with Prismic API V2 BETA

npm version Build Status

It's meant to work in pair with the prismic-javascript library, a new javascript kit for the prismic API v2 available here:

Installation

Prismic Api Endpoint

Your endpoint must contains "v2" at the end, otherwise it means that you're working on the API V1 so this library won't work for you.

apiEndpoint: your-repo-name.prismic.io/api/v2

NPM

npm install prismic-dom --save

CDN

https://unpkg.com/prismic-dom

(You may need to adapt the version number)

Downloadable version

On our release page: https://github.com/prismicio/prismic-dom/releases.

The kit is universal, it can be used:

  • Server-side with NodeJS
  • Client-side as part of your build with Browserify, Webpack
  • Client-side with a simple script tag

Demo project

You can find an integration of prismic content with the new API V2 in the following project:

Usage

With NodeJS, you can expose PrismicDOM directly in your locals to have it in your templates:

import PrismicDOM from 'prismic-dom';

res.locals.DOM = PrismicDOM;

Render a RichText:

  • As Html
  DOM.RichText.asHtml(mydoc.data.myrichtext, linkResolver)
  • As Text
  DOM.RichText.asText(mydoc.data.myrichtext)

Get a URL from a Link fragment of any kind

//link resolver not required if sure that it's not a document link
DOM.Link.url(mydoc.data.mylink, ctx.linkResolver)

Convert a Date as string from the API to an ISO Date:

DOM.Date(mydoc.data.mydate)

Install the kit locally

Source files are in the src/ directory. You only need Node.js and npm to work on the codebase.

npm install
npm run dev

Documentation

Please document any new feature or bugfix using the JSDoc syntax. You don't need to generate the documentation, we'll do that.

If you feel an existing area of code is lacking documentation, feel free to write it; but please do so on its own branch and pull-request.

If you find existing code that is not optimally documented and wish to make it better, we really appreciate it; but you should document it on its own branch and its own pull request.

License

This software is licensed under the Apache 2 license, quoted below.

Copyright 2013-2017 Prismic.io (http://prismic.io).

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this project except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.