Использование Netlify CMS с Hugo - создание сообщений с галереями

Я новичок как в Hugo, так и в Netlify, поэтому, возможно, я просто делаю это неправильно.

Я успешно создал и развернул сайт с галереями, используя Hugo, Galleria и развертывание в Netlify Все это сработало. Однако я хочу попробовать использовать Netlify CMS и изо всех сил пытаюсь настроить его для работы с функцией галереи. (отлично подходит для написания текстового сообщения)

Я не уверен, является ли это ограничением Netlify CMS, или я делаю галереи способом, который не подходит для статических сайтов.

Чтобы реализовать галерею в Hugo, я делаю следующее в начале каждого сообщения:

+++
date = "2017-02-13T23:17:09+01:00"
summary = "In which I fail to RTFM, visit a Lamasery, and eat a lot of fruit."
tags = []
title = "China 2017: Day 11"

[[galleria]]
imgSrc = "../images/china/11/Lama-Temple.JPG"
imgTitle = "Hall In The Lama Temple"
imgDesc = "One of the main halls of the Lama Temple."

[[galleria]]
imgSrc = "../images/china/11/Octagonal-Hall.JPG"
imgTitle = "Octagonal Hall"
imgDesc = "An octagonal building just inside the entrance of the Lama Temple"

.
.
.
+++

Затем на странице макета:

  {{ if isset .Params "galleria" }}
  <div class="galleria">
  {{ range .Params.galleria}}
  <img src="{{ .imgSrc }}" alt="{{ .imgTitle }}" data-title="{{ .imgTitle }}" data-description="{{ .imgDesc }}">
  {{ end }}
  </div>
  {{ end }}

В настройке Netlify CMS я попытался добавить виджет Object:

 -  name: "galleria"
         label: "Gallery" 
         widget: "object"
         optional: true
         fields:
          - {label: "Title", name: "imgTitle", widget: "string"}
          - {label: "Gallery Image", name: "imgSrc", widget: "image"}
          - {label: "Description", name: "imgDesc", widget: "string"}

У меня остались две проблемы:

(i) Объект появляется, но, конечно, только один раз. Как мне настроить его, чтобы я мог вводить столько изображений, сколько я хочу?

(ii) При сборке я получаю сообщение об ошибке: ERROR 2017/05/28 22:37:20 Error while rendering "page": template: _default/single.html:23:15: executing "_default/single.html" at <.imgSrc>: can't evaluate field imgSrc in type interface {}

Кажется, я делаю что-то не так, даже пытаясь добавить одно изображение (и связанные с ним данные) в сообщение.


person Starfall Projects    schedule 31.05.2017    source источник


Ответы (1)


Поместите это здесь на тот случай, если другие люди застрянут на этом.

После расспросов и благодарности милым людям на канале Netlify Gitter:

Мне следовало использовать виджет списка, а не объект. YAML теперь выглядит так:

-  name: "galleria"
         label: "Gallery" 
         widget: "list"
         optional: true
         fields:
          - {label: "Title", name: "imgTitle", widget: "string"}
          - {label: "Gallery Image", name: "imgSrc", widget: "image"}
          - {label: "Description", name: "imgDesc", widget: "string"}

Это устранило ошибку сборки и предоставило мне виджет в редакторе CMS, где я могу добавить столько (или несколько) изображений, сколько захочу.

Теперь у меня возникла следующая проблема, когда сообщения, созданные с помощью CMS, создаются правильно, отображаются в правильных папках в репо, но 404. . .

person Starfall Projects    schedule 01.06.2017
comment
Вы когда-нибудь получали ответ на свой второй вопрос? Похоже, это вызвано тем, что ваша тема Hugo не включена в качестве подмодуля. Если он не включен должным образом, сборщик не найдет его, и страницы не будут построены. Вы можете решить эту проблему, удалив папку .git из папки темы, или вы можете включить его с помощью git-submodule. (Поскольку это второстепенный вопрос по отношению к основному вопросу, я просто дам ссылку на некоторые инструкции, а не записываю их в этом комментарии.) - person Jessica Parsons; 17.06.2017
comment
Ошибка 404 была связана с ошибкой разработчика - baseURL (очевидно) не работал во время тестирования в домене netlify, когда URL-адрес сайта был установлен в качестве моего правильного домена - person Starfall Projects; 17.06.2017