问题标签 [netlify-cms]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
232 浏览

jekyll - 无法在 Jekyll 中检索自定义 Netlify CMS 集合

我基于 Jekyll 创建了一个新的 Netlify CMS 网站并创建了新的集合workshopconsultant

使用 Netlify CMS 界面,我可以查看、添加、编辑和删除新集合,但无法在视图中检索它们。

配置.yml

当我尝试检索新创建的workshopsconsultants我无法让它工作时:

当我尝试调试对象时,它返回 NULL:{{ site.workshops | jsonify }}

最让我困惑的是,我可以通过管理界面访问这些集合,但在过去的 4 个小时里,我未能在视图中检索它们。

我错过了什么?

0 投票
1 回答
422 浏览

hugo - 在 netlify 上找不到带有 hugo 的页面

我最近翻译了一个我自己写的网站,所以我没有使用主题,我在 localhost 上对其进行了测试,它运行完美,但是,当我尝试在 netlify 上托管它时,我得到一个找不到页面的错误。我在 netlify.toml 文件和 netlify 的持续部署设置上都将发布目录设置为 public,如下所示:

netlify.toml,

和: Netlify 的配置

我想我已经遵循了那里的所有指南,但似乎没有任何效果。

这是我在 github 上的仓库的链接https://github.com/guidogr95/amazondigital

还有最后的部署日志:

当我下载部署文件时,我注意到没有 index.html,只有这些文件:

部署文件

我尝试在本地环境中使用“hugo”命令并上传创建的公用文件夹,这样做会显示该站点,但这不是正确的方法,我也想使用 netlify cms 并使用该方法不行。请,任何帮助将不胜感激,在此先感谢

0 投票
1 回答
781 浏览

netlify-cms - Netlify CMS 如何在其 UI 中对集合进行排序?

我知道目前无法通过 Netlify CMS 中的 UI 对集合进行排序,但有人可以告诉我它目前是如何对降价文件进行排序的吗?起初我以为是文件名,但这不是 100% 准确的。

0 投票
1 回答
1261 浏览

netlify-cms - “配置应该具有必需的属性'media_folder'” - 当它这样做时

自从我玩 netlifycms 以来已经有一段时间了——我觉得我以前遇到过这个问题,但找不到答案。我的 config.yml 中有 media_folder - 但我收到一个错误,它找不到一个配置设置 - 有人有什么想法吗?所以这是我的配置(完整文件

但是在加载页面(这里)我得到

我究竟做错了什么?

0 投票
0 回答
343 浏览

reactjs - 在 Gatsby Netlify 启动器中,使用自定义预览组件、不可变 entry.getIn 和 widgetsFor 从列表中返回空对象

我已经设法使用 react-scrollmagic 和 react-gsap 构建了一个带有“幻灯片”的自定义主页。我已更改 index.md 以包含每张幻灯片所需的字段和列表,以及 static/admin/config.yml 中的字段定义,以便 Netlify 将它们拾取。我已经更新了 index-page.js 模板以对我的新字段进行 Proptype 检查,并且所有内容都可以正常加载到 index-page 模板中。

我正在努力解决的是 CMS 的预览组件。无论我尝试了什么,我都会返回幻灯片/列表的空对象。我已经尝试过地图,以及 Immutable 的 getIn 的所有可能配置。我错过了什么?

这是 static/admin/config.yml

这是 index-page.js 模板

这是此页面的预览组件:

这是我在控制台注销这些东西时得到的数据:

数据

以及地图功能中的 SLIDES

如果我在页面模板中记录相同的道具,它包含数据。我最好的猜测是与事件道具的创建有关/不可变映射不适用于嵌套的东西,除非你在某处定义它。

0 投票
1 回答
1210 浏览

javascript - Gatsby gatsby-remark-relative-images 不会将 yaml 绝对图像路径转换为相对路径

我目前正在尝试将 yaml 文件中的绝对路径解析为相对路径,以便可以在 gatsby 中使用 graphql 进行查询。绝对路径由 netlify-cms 提供。

当将相同的路径放在md文件中并用于gatsby-remark-relative-images将其转换为相对路径时,完全没有问题,但同样不适用于yaml。

图片文件放在static/img/里面,cms提供的路径是/img/xxx.jpg

src/data/pages/index.yaml

盖茨比-config.js

此外,这里是将节点中的绝对路径转换为相对路径的地方

盖茨比-node.js

最后,这里是定义 netlify-cms 配置的地方

静态/管理员/config.yml

错误信息

我已经确保所有图像都存在于static/img/文件夹中。我还多次尝试重新启动服务器,以避免图像不加载问题。从 netlify-cms 给出的图像路径应该保持原样,/img/xxx.jpg因为有很多其他降价文件使用它并且解析路径没有问题。

我可以知道是否有任何配置问题我做错或错过导致gatsby-remark-relative-images无法解析文件路径?

0 投票
1 回答
511 浏览

jekyll - # 未定义的方法“gsub”(无方法错误)

我正在尝试将我的 Jekyll 安装与 NetlifyCMS 连接起来。我正在使用一个自定义主题,在没有 CMS 部分的情况下可以正常工作,但是当我按照NetflifyCMS 文档进行集成时,我得到了这个错误。

我在 Mac OSX 上运行它,这是我的 config.yml 。相关部分是收集部分:

0 投票
1 回答
127 浏览

yaml - Netlify CMS - 将数据保存到项目根目录(例如 `__dirname`)

我在 Gatsby 主题中使用 Netlify CMS。这是我的项目结构的示例:

更多信息:

  • gatsby-theme-example使用gatsby-plugin-netlify-cmsconfig.yml文件位于root/themes/gatsby-theme-example/static/admin/config.yml
  • gatsby-theme-exampleexample-theme-site通过yarn workspaces连接,但是我打算在gatsby-theme-example它完全开发后发布到 npm,以便用户可以将其作为包安装。example-theme-site仅用于开发测试目的。

这意味着:

  1. 运行yarn workspace example-theme-site developgatsby develop运行example-theme-site
  2. 然后用户可以访问http://localhost:8000/admin和访问 Netlify CMS。登录后,这将使用位于其中的配置文件加载 Netlify CMSroot/themes/gatsby-theme-example/static/admin/config.yml

我想在此之后发生的下一步是:

  • 用户向 Netlify CMS 添加内容
  • 保存/发布时,此新数据将保存在root/sites/example-theme-site/data目录下。

这是我遇到困难的问题,因为配置文件位于gatsby-theme-example但我希望数据保存到example-theme-site. 我不确定如何在不对其进行硬编码的情况下使路径相对于根目录。

我看到我可以指定在. filefolderconfig.yml我能看到的唯一选择是在开发时在文件路径(例如)中硬编码,然后更改它,使其与我将主题发布到 npm 之前相关。config.yml__dirnamefile: "../../sites/example-theme-site/data/content.md"node_modules

这里还有其他更合适的解决方案吗?

0 投票
1 回答
76 浏览

gatsby - 保存为 .yaml 格式时,Netlify CMS 不包括连字符

我正在使用 Gatsbygatsby-plugin-netlify-cms将 Netlify CMS 添加到网站,netlify-cms-backend-fs以允许 Netlify CMS 使用文件系统而不是远程仓库在开发模式下工作,并gatsby-transformer-yaml转换 yaml 文件以便可以通过 GraphQL 查询访问它。

以下是相关代码:

我能够访问 Netlify CMS 仪表板、创建新条目并发布它。然而,当它发布时,它的内容data/business.yaml是:

应该被格式化为(注意连字符和缩进):

结果是我无法使用以下方法查询此数据:

因为allBusinessYaml不存在。

如果我手动将data/business.yaml文件更改为带有连字符和缩进的正确格式,此错误将得到解决。

我尝试将小部件设置为objector list,并尝试显式设置formatand extensionyaml但这也不能解决问题。例如

我在这里做错了什么?

0 投票
0 回答
962 浏览

graphql - GraphQL/Netlify CMS - 如果查询字段未定义(不存在),则不会出错

我将 Gatsby 与 Netlify CMS 一起使用,并且在文件集合中有一些可选字段。问题是我无法使用 GraphQL 检索这些字段,因为如果该字段留空,则该字段不存在。

例如,假设我有以下集合文件:

所有字段都是可选的。因此,假设用户只输入了main. 然后将数据保存为:

light,dark并且contrastText根本没有保存 - 它们完全被排除在外。

当我在 GraphQL 中查询数据时,我显然需要检查所有字段,因为我不知道哪些可选字段是由用户填写的,哪些是空白的。这意味着我的查询应该是这样的:

使用上面用户只填写main字段的例子,上面的查询会抛出一个错误lightdark并且contrastText字段不存在。

我为此使用了文件集合类型(而不是文件夹集合类型),因此我无法设置默认值。无论如何我是否可以设置默认值都没有关系,因为 GraphQL 和 Yaml 不接受undefined作为值 - 它们只能接受null空字符串 ( "") 作为最佳选择。

即使我手动保存 yaml 文件并将所有字段值设置为nullor "",这也不起作用,因为它会导致其他问题,因为我正在将查询结果与另一个 javascript 对象深度合并。

我只需要undefined为每个空白(缺失)字段返回 GraphQL,而不是抛出错误,或者根本不返回空白/缺失字段。

这似乎是一个常见问题(处理 Netlify CMS 中的可选字段),但文档中没有关于它的任何内容。人们如何处理这个问题?