Link Resolving in Javascript

When working with field types such as Link or Rich Text, the prismic-javascript development kit will need to generate links to documents within your website.

Since routing is specific to your site, you will need to define your Link Resolver and provide it to some of the methods used on the fields.

Adding to an existing project

If you are incorporating prismic.io into your exisiting javascript project, you will need to create a Link Resolver.

Here is an example that shows how to add a Link Resolver function.

Copy
var PrismicDOM = require('prismic-dom');

var linkResolver = function(doc) {
  // Pretty URLs for known types
  if (doc.type === 'blog') return "/post/" + doc.uid;
  if (doc.type === 'page') return "/" + doc.uid;
  // Fallback for other types, in case new custom types get created
  return "/doc/" + doc.id;
};

var html = PrismicDOM.RichText.asHtml(document.data.body, linkResolver);

Accessible attributes

When creating your link resolver function, you will have access to certain attributes of the linked document.

doc.id

string

The document id

doc.uid

string

The user-friendly unique id

doc.type

string

The custom type of the document

doc.tags

array

Array of the document tags

doc.lang

string

The language code of the document

doc.isBroken

boolean

Boolean that states if the link is broken or not