如何使用JavaScript配置DocPad集合&引用;警告:自定义集合XYZ不是有效的集合实例;
使用JavaScript时如何配置DocPad集合 在站点启动期间显示以下消息:“警告:自定义集合myCollection不是有效的集合实例” 配置:如何使用JavaScript配置DocPad集合&引用;警告:自定义集合XYZ不是有效的集合实例;,javascript,configuration,docpad,Javascript,Configuration,Docpad,使用JavaScript时如何配置DocPad集合 在站点启动期间显示以下消息:“警告:自定义集合myCollection不是有效的集合实例” 配置: var docpadConfig = { collections: { // The collection causing problems. myCollection: function () { return []; } }, templateData: { site: {
var docpadConfig = {
collections: {
// The collection causing problems.
myCollection: function () {
return [];
}
},
templateData: {
site: {
url: "http://site-url.com",
oldUrls: [],
title: "Site title",
description: "Site description",
keywords: "DocPad",
styles: ["/vendor/normalize.css", "/vendor/h5bp.css", "/styles/style.css"],
scripts: ["/vendor/log.js", "/vendor/modernizr.js", "/scripts/script.js"]
},
getPreparedTitle: function () {
if (this.document.title) {
return this.document.title + " | " + this.site.title;
} else {
return this.site.title;
}
},
getPreparedDescription: function () {
return this.document.description || this.site.description;
},
getPreparedKeywords: function () {
return this.site.keywords.concat(this.document.keywords || []).join(", ");
}
}
};
module.exports = docpadConfig;
通过观看Benjamin Lupton的一些YouTube剪辑,我推断DocPad使用Backbone.js——我是否应该在配置中导入Backbone并使用Backbone.Collection实例?如果是,我该怎么做?我找到了很多咖啡脚本示例,但我似乎不知道如何将它们应用于普通JavaScript
任何冗长的JavaScript配置示例都将不胜感激,因为我相信我迟早会想对配置进行一些调整:)使用以下方法使其正常工作:
var docpadConfig = {
collections: {
journalEntries: function () {
var documents = this.getCollection("documents");
var sortByDescendingDate = [{ date: -1 }];
// I've added "type" to the meta section of some documents.
var typeEqualsJournal = { type: { $eq: "journal" } };
var journals = documents.findAllLive(typeEqualsJournal, sortByDescendingDate);
journals.on("add", function (model) {
model.setMetaDefaults({ layout: "journal" });
});
return journals;
}
},
...