Ошибка при попытке реализовать amp-усы

Я пытаюсь повторить этот пример безуспешно. Я хочу добавить список, используя mustache шаблон, как это:

<ul>
    <amp-list width=auto
              height=100
              layout=fixed-height
              src="/assets/popular.json">
          <template type="amp-mustache"
                    id="amp-template-id">
              <li>
                  <a href={{url}}>{{title}}</a>
              </li>
          </template>
    </amp-list>
</ul>

мой /assets/popular.json файл:

{
 "items": [
   {
     "title": "amp-carousel",
     "url": "https://ampbyexample.com/components/amp-carousel"
   },
   {
     "title": "amp-img",
     "url": "https://ampbyexample.com/components/amp-img"
   },
   {
     "title": "amp-ad",
     "url": "https://ampbyexample.com/components/amp-ad"
   },
   {
     "title": "amp-accordion",
     "url": "https://ampbyexample.com/components/amp-accordion"
   }
 ]
}

Но я не могу заставить его работать, ценности в json не заменяются в шаблоне, я получаю эту ошибку:

Missing URL for attribute 'href' in tag 'a'

Я не знаю, почему значение {{url}} не заменяется должным образом с содержанием json,

Я добавил необходимое scripts в голове.

1 ответ

Решение

Недавно я мигрировал в Хьюго из Джекилла и столкнулся с той же проблемой. Ниже приведены решения для обоих.

Джекил

Это решено сейчас, проблема была я использую jekyllи так теги {{tag}} были интерпретированы как liquid tag, Я решил это, написав код так:

<ul>
<amp-list width=auto
    height=100
    layout=fixed-height
    src="/assets/popular.json">
  <template type="amp-mustache"
      id="amp-template-id">
    <li>
      <a href="{% raw %}{{url}}{% endraw %}">{% raw %}{{title}}{% endraw %}</a>
    </li>
  </template>
</amp-list>
</ul>

Обновление: я написал более подробное объяснение

Хьюго

<ul>
<amp-list width=auto
    height=100
    layout=fixed-height
    src="/assets/popular.json">
  <template type="amp-mustache"
      id="amp-template-id">
    <li>
      <a class="card related" id={{"{{id}}"}} {{ printf "href=%q" ""{url}}" | safeHTMLAttr }}>
         {{"{{title}}"}}
      </a>
    </li>
  </template>
</amp-list>
</ul>
Другие вопросы по тегам