倾斜的 RichText 标记下
注: 此软件包只支持 Prismic API V2, 如果您正在使用 V1 , 您可以使用此软件包, 但需要重新绘制正在传递的富文本 blob 。 虽然这没有被通知.
这是一种将出自Prismic的RichText字段的数据转换为平分字符串的方法.
支持的选项
- 标题1-6
- 粗体
- 斜体
- 图像
- 链接到网络
- 链接媒体
- 链接到文档
- 有序名单
- 无序列表
- 预格式化
- 内嵌
- 右对左
已确认的 markdown 软件包
这种方法最有可能与大多数减值软件包相配合,不过我只用:
使用量
示例棱镜文档
{
"id": "WKxlPCUEEIZ10AHU",
"uid": "example-page",
"type": "page",
"href": "https://your-repo-name.prismic.io/api/documents/search...",
"tags": [],
"first_publication_date": "2017-01-13T11:45:21.000Z",
"last_publication_date": "2017-02-21T16:05:19.000Z",
"slugs": [
"example-page"
],
"linked_documents": [],
"lang": "en-us",
"alternate_languages": [...],
"data": {
"title": [
{
"type": "heading1",
"text": "Example Page",
"spans": []
}
]
}
}
处理丰富文本
import MarkdownIt from 'markdown-it';
import richTextToMarkdown from '@edwinjoseph/prismic-richtext-markdown';
// resolver function example from https://prismic.io/docs/javascript/beyond-the-api/link-resolving
const linkResolver = (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;
};
const md = new MarkdownIt();
const mkdown = richTextToMarkdown(document.data.title, linkResolver);
const result = md.render(mkdown);
// => <h1>Example Page</h1>