【发布时间】:2018-04-12 21:38:19
【问题描述】:
所以我建立了一个主题为 [Moon] 的 Jekyll 站点(无法持久化条目:TypeError:无法读取未定义的属性 'sha')并将其上传到我的 GitHub repository。然后我想将 Netlify 的管理面板添加到我的网站,所以我按照this guide 将config.yml 修改为以下代码:
backend:
name: git-gateway
publish_mode: editorial_workflow
media_folder: "files"
display_url: https://ccsource.org
slug:
encoding: "ascii"
clean_accents: true
collections:
- name: "story"
label: "Story"
folder: "_posts"
extension: "md"
slug: "{{year}}-{{month}}-{{day}}-{{slug}}"
create: true
fields:
- {label: "Layout", name: "layout", widget: "hidden", default: "post"}
- {label: "Title", name: "title", widget: "string"}
- label: "tags"
name: "tags"
widget: "list"
allow_add: true
default: ["story"]
- {label: "Summary", name: "excerpt", widget: "string", required: false}
- {label: "comments", name: "comments", widget: "hidden", default: true}
- label: "Publish date"
name: "date"
widget: "datetime"
default: ""
format: "MMM Do YY"
- {label: "Body", name: "body", widget: "markdown", required: true}
因为我得到了类似的降价示例文件:
---
layout: post
title: "Sample"
date: 2016-03-15
excerpt: "Hello..."
tag:
- sample
- post
- video
comments: true
---
# Sample
但在完成所有设置和部署之后,我访问了我的网站的管理面板并尝试创建一个新帖子,但我不断收到以下错误。
Failed to persist entry: TypeError: Cannot read property 'sha' of undefined
我已经用谷歌搜索并将 branch 值修改为与我的 github 存储库匹配的 site,但错误一直显示,我该如何解决?
【问题讨论】:
-
首先,
slug: "---"绝对行不通。slug设置是设置 GitHub 中 post 的文件名。您想通过设置来更改什么,或者可以将其删除? -
@tech4him 实际上根据他们的official documentation,
extension值确定他们应该找到哪个扩展名,slug值是文件名应该被调用的(或也称为 url slug)。 -
自从@tech4him 发表评论后,您似乎更新了您的问题。我在本地运行了您的存储库,并且使用 GitHub 后端一切正常。我不确定您如何使用 Git 网关后端,因为您没有适当的身份小部件。你是怎么登录的?
-
@ShawnErquhart 是的,根据他们的官方文档,我已经添加了更多值,但错误仍然显示
-
@ShawnErquhart 我试图删除
branch下的backend,因为没有明确的文档说明我应该放哪个值。后端使用的是 netlify 的git-gateway而不是 GitHub 的服务。 (referrence document)
标签: jekyll netlify netlify-cms