11ty короткий код для вывода меню

#javascript #eleventy

#javascript #одиннадцать

Вопрос:

Я пытаюсь создать 11ty универсальный короткий код, который выводит меню при передаче коллекции. (Я не совсем уверен, что это лучший способ вывода меню.) До сих пор я пытался:

 config.addShortcode("navList", function( list ) { 
  var result = [];
  list.forEach(function(post, i) {
    result.push( '<li><a href="'   post.url   '">'   post.data.title   '</a></li>');
  });

  return result.join('');
  

Который, похоже, работает не совсем правильно, поскольку он возвращает мне URL, но не заголовок. (Я также не совсем уверен, что я создаю их правильным способом 11ty.) Любая помощь была бы оценена.

Комментарии:

1. Можете ли вы показать нам пример того, как list выглядит?

2. с точки зрения JavaScript (я не использовал eleventy, возможно, вам следует пометить его в вашем вопросе), что вы получаете от объекта ‘post’?

3. @MihaiT К моему удивлению, я попытался пометить оба eleventy и 11ty , ни один из них не существует. Я бы создал тег, если бы был с ним более знаком.

4. 11ty.io для любопытных

5. List это 11ty коллекция 11ty.io/docs/collections который я бы назвал как {% navList collections.nav %}

Ответ №1:

Ааааа И это правильно, произошла ошибка копирования и вставки в другом месте.