У меня есть статический веб-сайт, использующий рули и мастера по металлу. Я могу создать collection
под названием carriers
из моего файла конфигурации metalmith, но плагин pattern
игнорирует файлы уценки, поэтому carriers
всегда пуст
В моем JS-файле есть конфигурация metalmith следующим образом
...//other metalsmith plugins
.use(
collections({
carriers: { pattern: '**/*.md' }
})
)
.use(markdown())
.use(
layouts({
engine: 'handlebars',
directory: './src/layouts',
partials: './src/partials'
})
)
...//other metalsmith plugins
И мой carriers.hbs
содержит следующее
<section id = "carriers" class = "integrations">
<div class = "cards">
{{log collections}}
{{#each collections.carriers }}
<h5>{{this.title}}</h5>
{{/each}}
</div>
</section>
Встроенный помощник {{log collections}}
Handlebars регистрирует этот { carriers: [ metadata: undefined ] }
, и сгенерированный html-файл выглядит следующим образом
<main>
<section id = "carriers" class = "integrations">
<div class = "cards">
</div>
</section>
</main>
Так что же мне здесь не хватает?
Update
So I got more experience with Metalsmith and now got to know why the markdown files were not available. This is because of theMetalsmith.source('my-directory')
did not contain the markdown files and they were in another folder.
К сожалению, у меня нет решения для этого, потому что мой проект был слишком большим, чтобы его можно было отследить, имея мой небольшой опыт работы в Metalsmith. Тем не менее, основные моменты, которые, как я считаю, вызывают проблемы, и на которые следует обращать внимание:
markdown()
должен быть перед layouts()
), иначе вы можете получить ошибку или неожиданные результатыcollections