Netlify CMS Rebuild Config.yml Changes

Я только начинаю работать с Netlify CMS и не понимаю, как обновить CMS после того, как мой admin/config.yml изменится

Я клонировал проект Hugo по умолчанию, изменил некоторые поля config.yml файла для домашней страницы и правильно подключил их в index.html. Созданный статический файл выглядит правильно.

Однако, когда я перехожу на CMS (/admin), я вижу только старый контент index.html (в разделе предварительного просмотра CMS). Поэтому я переименовал папку js и скопировал только файл app.js в новую папку js. Но это ломает вещи, говоря, что cms.js отсутствует. Я добавил старую, но она не подняла cms-preview-templates.

Я думал, что все это будет сгенерировано из config.yml .. Нужно ли мне вручную редактировать файлы JS для настройки CMS? Или можно восстановить все файлы после config.yml и изменения связанных файлов html?

На странице справки по настройке вашего собственного сайта мало говорится о редактировании шаблона.

Обновление. Я вижу, что cms.js файл содержит примерно следующее содержание:

import HomePreview from "./cms-preview-templates/home"; import PostPreview from "./cms-preview-templates/post"; import ProductsPreview from "./cms-preview-templates/products"; import ValuesPreview from "./cms-preview-templates/values"; import ContactPreview from "./cms-preview-templates/contact";

и когда я проверяю эти файлы (ветка master), они содержат содержимое исходного образца проекта и не содержат внесенных мной изменений. Что мне нужно сделать, чтобы автоматически обновлять эти файлы шаблонов, когда я вношу изменения на свой сайт (соответствующие изменения находятся в файле admin/config.yml)?

Спасибо!


person Ecognium    schedule 07.10.2018    source источник


Ответы (2)


Внесение изменений локально в содержимое проекта не будет отражено в NetlifyCMS, пока вы не отправите эти изменения в репозиторий. Настройка по умолчанию config.yml не включает локальный рабочий процесс, поскольку в настоящее время у него нет серверной части локальной файловой системы.

Изменения в admin/config.yml будут работать локально, но ожидается, что данные содержимого изменятся в том месте, где находится ваша серверная конфигурация.

Пример:

Следующая конфигурация будет искать изменения на GitHub в master ветви репозитория netlify/netlifycms-example.

admin/config.yml

backend:
  name: github
  repo: netlify/netlifycms-example
  branch: master

Обновление. Когда вы вносите изменения в config.yml и изменяете шаблоны в генераторе сайта, вам также необходимо будет внести эти изменения в код шаблона предварительного просмотра, чтобы система управления сайтом правильно отображала ваши данные в предварительном просмотре.

person talves    schedule 07.10.2018
comment
Благодарю. Да, я понимаю, что его нужно отправить в репо, и на самом деле я напрямую запускал CMS с Netlify .. Когда я заметил там старый контент, я подумал, что мне нужно как-то запустить обновление файлов JS, и смотрел на мои локальные исходные файлы. Если я обновлю файл admin/config.yml, нужно ли мне что-нибудь делать, чтобы сообщить CMS, что шаблоны страниц изменились? Если да, то как? - person Ecognium; 07.10.2018

Вы можете использовать netlify-cms-proxy-server для локальной разработки.

Отредактируйте свой config.yaml, чтобы добавить поле local_backend, вот так


backend
  name: git-gateway

# important bits here
local_backend: true

...

Затем в каталоге проекта запустите netlify-cms-proxy-server

npx netlify-cms-proxy-server

Запустите локальный сервер разработки, и все будет хорошо.

# note: may be different depending on your project's configuration
hugo server -D

Для получения дополнительных сведений ознакомьтесь с netlify-cms документы по работе с локальным репозиторием git.

person Josiah Nunemaker    schedule 04.04.2020