【问题标题】:Netlify CMS custom preview not working with gatsbyNetlify CMS 自定义预览不适用于 gatsby
【发布时间】:2020-07-03 19:34:34
【问题描述】:

我克隆了this gatsby netlify cms starter blog 并尝试添加自定义预览。我已按照所有说明进行操作,但仍然无法正常工作。这是我的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。任何帮助将不胜感激。

You can view my repo here

【问题讨论】:

    标签: gatsby preview static-site netlify-cms headless-cms


    【解决方案1】:

    你说

    import { BlogPostTemplate } from '../../templates/blog-post'
    

    但我在那个文件夹中看不到同名的文件?

    这是你的repo和官方的starter不同的,应该是

    import { PostTemplate } from '../../templates/post-template'
    

    【讨论】:

    • 谢谢,这个问题现在已经过时了。我解决了这个问题,看来实际问题是我的主机在更改后没有更新。
    猜你喜欢
    • 1970-01-01
    • 2020-03-13
    • 2020-04-01
    • 2021-08-20
    • 2018-09-26
    • 1970-01-01
    • 1970-01-01
    • 2019-04-18
    • 2012-04-30
    相关资源
    最近更新 更多