我克隆了这个 gatsby netlify cms 入门博客并尝试添加自定义预览。我已按照所有说明进行操作,但仍然无法正常工作。这是我的config.yml
:
...
collections:
- name: "blog"
label: "Blog"
folder: "content/blog"
create: true
fields:
- { name: path, label: Path }
- { name: date, label: Date, widget: date }
- { name: title, label: Title }
- { name: description, label: Description }
- { name: body, label: Body, widget: markdown }
我添加了gatsby-plugin-netlify-cms
这样的:
plugins: [
{
resolve: 'gatsby-plugin-netlify-cms',
options: {
modulePath: `${__dirname}/src/cms/cms.js`,
},
},
在我的cms.js
,我有:
import CMS from 'netlify-cms-app'
import BlogPostPreview from './preview-templates/BlogPostPreview'
CMS.registerPreviewTemplate('blog', BlogPostPreview)
而我BlogPostPreview
只是渲染BlogPostTemplate
:
import React from 'react'
import { BlogPostTemplate } from '../../templates/blog-post'
const BlogPostPreview = ({ entry, widgetFor }) => {
return (
<BlogPostTemplate
body={widgetFor('body')}
title={entry.getIn(['data', 'title'])}
date={new Date()}
/>
)
}
export default BlogPostPreview
我错过了什么吗?我不这么认为。我将我的配置与官方的 starter repo 进行了比较,没有发现任何差异。当我转到管理门户上的新博客文章时,我只看到默认的纯 html。任何帮助将不胜感激。