所以,这无疑是一个利基问题。它与metalsmith-collections
通过gulpsmith
有关。
我正在向静态网站添加博客,并通过metalsmith
使用gulpsmith
这样做。
我在使用metalsmith-collections
进行此设置时遇到问题,但似乎一切都应该正常工作。
我会尝试显示相关代码。
这是我(我认为)相关的必要模块:
var gulp = require('gulp');
var metalsmith = require('metalsmith');
var gulpsmith = require('gulpsmith');
var markdown = require('metalsmith-markdown');
var collections = require('metalsmith-collections');
我有一个gulp'博客'任务,否则按预期工作。
gulp.task('blog', function() {
return gulp
.src(blogInput)
.pipe(gulp_front_matter()).on("data", function(file) {
assign(file, file.frontMatter);
delete file.frontMatter;
})
.pipe(
gulpsmith()
.use(collections({
posts: {
pattern: '/src/blog/*.md',
sortBy: 'date',
reverse: true
}
}))
)
.pipe(gulp.dest(blogOutput))
});
我想输出我最新博文的列表。
因此,我的hbs
模板如下:
<article>
<ul>
{{#each collections.posts}}
<li>
<h3>{{this.title}}</h3>
<article>{{this.contents}}</article>
</li>
{{/each}}
</ul>
问题代码显然在上面:
{{#each collections.posts}}
那里没有输出。
从技术上讲,输出是这样的:
<article>
<ul>
</ul>
</article>
不迭代应该生成的帖子数组。
不确定这是否是所有相关代码,但我很乐意为任何帮助疑难解答添加更多内容。
任何建议都非常感谢。
更新
var blogInput = './src/blog/*.md';
var blogOutput = './blog/';