问题标签 [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.
jekyll - 无法在 Jekyll 中检索自定义 Netlify CMS 集合
我基于 Jekyll 创建了一个新的 Netlify CMS 网站并创建了新的集合workshop
和consultant
使用 Netlify CMS 界面,我可以查看、添加、编辑和删除新集合,但无法在视图中检索它们。
配置.yml
当我尝试检索新创建的workshops
但consultants
我无法让它工作时:
当我尝试调试对象时,它返回 NULL:{{ site.workshops | jsonify }}
最让我困惑的是,我可以通过管理界面访问这些集合,但在过去的 4 个小时里,我未能在视图中检索它们。
我错过了什么?
hugo - 在 netlify 上找不到带有 hugo 的页面
我最近翻译了一个我自己写的网站,所以我没有使用主题,我在 localhost 上对其进行了测试,它运行完美,但是,当我尝试在 netlify 上托管它时,我得到一个找不到页面的错误。我在 netlify.toml 文件和 netlify 的持续部署设置上都将发布目录设置为 public,如下所示:
netlify.toml,
我想我已经遵循了那里的所有指南,但似乎没有任何效果。
这是我在 github 上的仓库的链接https://github.com/guidogr95/amazondigital
还有最后的部署日志:
当我下载部署文件时,我注意到没有 index.html,只有这些文件:
我尝试在本地环境中使用“hugo”命令并上传创建的公用文件夹,这样做会显示该站点,但这不是正确的方法,我也想使用 netlify cms 并使用该方法不行。请,任何帮助将不胜感激,在此先感谢
netlify-cms - Netlify CMS 如何在其 UI 中对集合进行排序?
我知道目前无法通过 Netlify CMS 中的 UI 对集合进行排序,但有人可以告诉我它目前是如何对降价文件进行排序的吗?起初我以为是文件名,但这不是 100% 准确的。
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
如果我在页面模板中记录相同的道具,它包含数据。我最好的猜测是与事件道具的创建有关/不可变映射不适用于嵌套的东西,除非你在某处定义它。
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
无法解析文件路径?
jekyll - # 未定义的方法“gsub”(无方法错误)
我正在尝试将我的 Jekyll 安装与 NetlifyCMS 连接起来。我正在使用一个自定义主题,在没有 CMS 部分的情况下可以正常工作,但是当我按照NetflifyCMS 文档进行集成时,我得到了这个错误。
我在 Mac OSX 上运行它,这是我的 config.yml 。相关部分是收集部分:
yaml - Netlify CMS - 将数据保存到项目根目录(例如 `__dirname`)
我在 Gatsby 主题中使用 Netlify CMS。这是我的项目结构的示例:
更多信息:
gatsby-theme-example
使用gatsby-plugin-netlify-cms,config.yml
文件位于root/themes/gatsby-theme-example/static/admin/config.yml
gatsby-theme-example
并example-theme-site
通过yarn workspaces连接,但是我打算在gatsby-theme-example
它完全开发后发布到 npm,以便用户可以将其作为包安装。example-theme-site
仅用于开发测试目的。
这意味着:
- 运行
yarn workspace example-theme-site develop
将gatsby develop
运行example-theme-site
- 然后用户可以访问
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
. 我不确定如何在不对其进行硬编码的情况下使路径相对于根目录。
我看到我可以指定在. file
folder
config.yml
我能看到的唯一选择是在开发时在文件路径(例如)中硬编码,然后更改它,使其与我将主题发布到 npm 之前相关。config.yml
__dirname
file: "../../sites/example-theme-site/data/content.md"
node_modules
这里还有其他更合适的解决方案吗?
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
文件更改为带有连字符和缩进的正确格式,此错误将得到解决。
我尝试将小部件设置为object
or list
,并尝试显式设置format
and extension
,yaml
但这也不能解决问题。例如
我在这里做错了什么?
graphql - GraphQL/Netlify CMS - 如果查询字段未定义(不存在),则不会出错
我将 Gatsby 与 Netlify CMS 一起使用,并且在文件集合中有一些可选字段。问题是我无法使用 GraphQL 检索这些字段,因为如果该字段留空,则该字段不存在。
例如,假设我有以下集合文件:
所有字段都是可选的。因此,假设用户只输入了main
. 然后将数据保存为:
light
,dark
并且contrastText
根本没有保存 - 它们完全被排除在外。
当我在 GraphQL 中查询数据时,我显然需要检查所有字段,因为我不知道哪些可选字段是由用户填写的,哪些是空白的。这意味着我的查询应该是这样的:
使用上面用户只填写main
字段的例子,上面的查询会抛出一个错误light
,dark
并且contrastText
字段不存在。
我为此使用了文件集合类型(而不是文件夹集合类型),因此我无法设置默认值。无论如何我是否可以设置默认值都没有关系,因为 GraphQL 和 Yaml 不接受undefined
作为值 - 它们只能接受null
空字符串 ( ""
) 作为最佳选择。
即使我手动保存 yaml 文件并将所有字段值设置为null
or ""
,这也不起作用,因为它会导致其他问题,因为我正在将查询结果与另一个 javascript 对象深度合并。
我只需要undefined
为每个空白(缺失)字段返回 GraphQL,而不是抛出错误,或者根本不返回空白/缺失字段。
这似乎是一个常见问题(处理 Netlify CMS 中的可选字段),但文档中没有关于它的任何内容。人们如何处理这个问题?