Keystone.js 内容字段类型呈现最佳实践
Keystone.js Content field type rendering best practice
我有一个内容类型为 html 的字段。从 GraphQL 端点,我收到一个 slate.js 结构,如
"contentExtended": {
"document": "{\"object\":\"document\",\"data\":{},\"nodes\":[{\"object\":\"block\",\"type\":\"paragraph\",\"data\":{},\"nodes\":[{\"object\":\"text\",\"text\":\"Test extended\",\"marks\":[]}]},{\"object\":\"block\",\"type\":\"paragraph\",\"data\":{},\"nodes\":[{\"object\":\"text\",\"text\":\"\",\"marks\":[]}]},{\"object\":\"block\",\"type\":\"cloudinaryImage\",\"data\":{\"_joinIds\":[\"5feb1aad43a7940689283e62\"]},\"nodes\":[{\"object\":\"block\",\"type\":\"image\",\"data\":{},\"nodes\":[{\"object\":\"text\",\"text\":\"\",\"marks\":[]}]},{\"object\":\"block\",\"type\":\"caption\",\"data\":{},\"nodes\":[{\"object\":\"text\",\"text\":\"\",\"marks\":[]}]}]},{\"object\":\"block\",\"type\":\"paragraph\",\"data\":{},\"nodes\":[{\"object\":\"text\",\"text\":\"\",\"marks\":[]}]}]}"
},
其中 contentExtended 是我的字段名称。
请注意,该文档还在 GraphQL 查询结果的其他地方包含对 cloudinaryImage 的引用,因此我假设 Keystone.js 知道如何呈现它。
我想将其呈现为 html 代码,我将在我的博客应用程序中使用,尽可能不费力。
推荐的正确方法是什么?
作为参考,我有 keystone graphql 模式;我正在使用 allPosts 查询获取帖子。
https://gist.github.com/Firfi/42c9fd94c738cb463e4d7e7e28de751b
Keystone 使用 SlateJS v0.47,它的格式与现代 SlateJS 不同。
基本靠自己,Keystone不会帮你渲染。
这是我如何进行基本渲染的示例:https://gist.github.com/dimaip/0454b58d360f26c1e6a87310ace61f8c
我不使用 cloudinary,所以不确定您应该如何渲染它,但我想您可以使用图像的 ID (5feb1aad43a7940689283e62
) 构建一个 url?
我有一个内容类型为 html 的字段。从 GraphQL 端点,我收到一个 slate.js 结构,如
"contentExtended": {
"document": "{\"object\":\"document\",\"data\":{},\"nodes\":[{\"object\":\"block\",\"type\":\"paragraph\",\"data\":{},\"nodes\":[{\"object\":\"text\",\"text\":\"Test extended\",\"marks\":[]}]},{\"object\":\"block\",\"type\":\"paragraph\",\"data\":{},\"nodes\":[{\"object\":\"text\",\"text\":\"\",\"marks\":[]}]},{\"object\":\"block\",\"type\":\"cloudinaryImage\",\"data\":{\"_joinIds\":[\"5feb1aad43a7940689283e62\"]},\"nodes\":[{\"object\":\"block\",\"type\":\"image\",\"data\":{},\"nodes\":[{\"object\":\"text\",\"text\":\"\",\"marks\":[]}]},{\"object\":\"block\",\"type\":\"caption\",\"data\":{},\"nodes\":[{\"object\":\"text\",\"text\":\"\",\"marks\":[]}]}]},{\"object\":\"block\",\"type\":\"paragraph\",\"data\":{},\"nodes\":[{\"object\":\"text\",\"text\":\"\",\"marks\":[]}]}]}"
},
其中 contentExtended 是我的字段名称。
请注意,该文档还在 GraphQL 查询结果的其他地方包含对 cloudinaryImage 的引用,因此我假设 Keystone.js 知道如何呈现它。
我想将其呈现为 html 代码,我将在我的博客应用程序中使用,尽可能不费力。
推荐的正确方法是什么?
作为参考,我有 keystone graphql 模式;我正在使用 allPosts 查询获取帖子。
https://gist.github.com/Firfi/42c9fd94c738cb463e4d7e7e28de751b
Keystone 使用 SlateJS v0.47,它的格式与现代 SlateJS 不同。
基本靠自己,Keystone不会帮你渲染。
这是我如何进行基本渲染的示例:https://gist.github.com/dimaip/0454b58d360f26c1e6a87310ace61f8c
我不使用 cloudinary,所以不确定您应该如何渲染它,但我想您可以使用图像的 ID (5feb1aad43a7940689283e62
) 构建一个 url?