fixed most problems with upgrade
This commit is contained in:
parent
2797fd06a7
commit
73112a8677
22
desirae.js
22
desirae.js
|
@ -703,7 +703,6 @@
|
||||||
var collection
|
var collection
|
||||||
;
|
;
|
||||||
|
|
||||||
//console.log('entity.collection', entity.collection);
|
|
||||||
if ('root' === type) {
|
if ('root' === type) {
|
||||||
// TODO 'no magic', 'defaults in the app, not the lib'
|
// TODO 'no magic', 'defaults in the app, not the lib'
|
||||||
collection = { permalink: '/:filename/' };
|
collection = { permalink: '/:filename/' };
|
||||||
|
@ -711,8 +710,6 @@
|
||||||
collection = desi.config[type][entity.collection];
|
collection = desi.config[type][entity.collection];
|
||||||
}
|
}
|
||||||
|
|
||||||
//console.log('type');
|
|
||||||
//console.log(type);
|
|
||||||
Desi._transformers[type].forEach(function (obj) {
|
Desi._transformers[type].forEach(function (obj) {
|
||||||
try {
|
try {
|
||||||
obj.transform(desi, env, collection, entity, i, entities);
|
obj.transform(desi, env, collection, entity, i, entities);
|
||||||
|
@ -849,8 +846,8 @@
|
||||||
view.entity.home_path = view.entity.base_path + '/index.html';
|
view.entity.home_path = view.entity.base_path + '/index.html';
|
||||||
env.original_base_path = env.base_path;
|
env.original_base_path = env.base_path;
|
||||||
if (env.explicitIndexes) {
|
if (env.explicitIndexes) {
|
||||||
view.entity.base_path = view.entity.base_path + '/index.html';
|
view.entity.base_path = path.join(view.entity.base_path, 'index.html');
|
||||||
env.base_path = env.base_path + '/index.html';
|
env.base_path = path.join(env.base_path, 'index.html');
|
||||||
}
|
}
|
||||||
newview = datamap(view);
|
newview = datamap(view);
|
||||||
env.base_path = env.original_base_path;
|
env.base_path = env.original_base_path;
|
||||||
|
@ -967,24 +964,23 @@
|
||||||
console.info("[index] compiling " + (entity.path || entity.name));
|
console.info("[index] compiling " + (entity.path || entity.name));
|
||||||
compiled.push({ contents: html, path: path.join('index.html') });
|
compiled.push({ contents: html, path: path.join('index.html') });
|
||||||
} else {
|
} else {
|
||||||
console.info("[non-index] compiling " + entity.path, entity.relative_file);
|
console.info("[collection] compiling " + entity.path, entity.relative_file);
|
||||||
compiled.push({ contents: html, path: path.join(entity.relative_file) });
|
compiled.push({ contents: html, path: path.join(entity.relative_file) });
|
||||||
}
|
}
|
||||||
|
|
||||||
entity.yml.redirects = entity.yml.redirects || [];
|
|
||||||
|
|
||||||
if (/\/index.html$/.test(entity.permalink)) {
|
if (/\/index.html$/.test(entity.permalink)) {
|
||||||
entity.yml.redirects.push(entity.permalink.replace(/\/index.html$/, '.html'));
|
entity.redirects.push(entity.permalink.replace(/\/index.html$/, '.html'));
|
||||||
} else if (/\.html$/.test(entity.permalink)) {
|
} else if (/\.html$/.test(entity.permalink)) {
|
||||||
entity.yml.redirects.push(entity.permalink.replace(/\.html?$/, '/index.html'));
|
entity.redirects.push(entity.permalink.replace(/\.html?$/, '/index.html'));
|
||||||
} else {
|
} else {
|
||||||
// found index, ignoring redirect
|
// found index, ignoring redirect
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO why are redirects broken?
|
||||||
var redirectHtml = Mustache.render(desi.partials.redirect, view)
|
var redirectHtml = Mustache.render(desi.partials.redirect, view)
|
||||||
;
|
;
|
||||||
|
|
||||||
entity.yml.redirects.forEach(function (redirect) {
|
entity.redirects.forEach(function (redirect) {
|
||||||
|
|
||||||
compiled.push({
|
compiled.push({
|
||||||
contents: redirectHtml
|
contents: redirectHtml
|
||||||
|
@ -1088,7 +1084,9 @@
|
||||||
size += saved.size;
|
size += saved.size;
|
||||||
|
|
||||||
if (saved.error) {
|
if (saved.error) {
|
||||||
|
console.error('[ERROR] saving fsapi batch at root');
|
||||||
console.error(saved.error);
|
console.error(saved.error);
|
||||||
|
throw new Error(saved.error);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!saved.errors || !saved.errors.length) {
|
if (!saved.errors || !saved.errors.length) {
|
||||||
|
@ -1096,7 +1094,9 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
saved.errors.forEach(function (e) {
|
saved.errors.forEach(function (e) {
|
||||||
|
console.error('[ERROR] saving fsapi batch');
|
||||||
console.error(e);
|
console.error(e);
|
||||||
|
throw new Error(e);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}).then(function () {
|
}).then(function () {
|
||||||
|
|
|
@ -60,11 +60,12 @@
|
||||||
|
|
||||||
// _root is not subject to the same permalink rules as collections,
|
// _root is not subject to the same permalink rules as collections,
|
||||||
// so we just go ahead and define that here
|
// so we just go ahead and define that here
|
||||||
console.log('root entity.path', entity.path);
|
|
||||||
if (/^index\.\w+$/.test(entity.path)) {
|
if (/^index\.\w+$/.test(entity.path)) {
|
||||||
entity.permalink = '/';
|
entity.permalink = '/';
|
||||||
} else {
|
} else {
|
||||||
entity.permalink = entity.yml.permalink || entity.path.replace(/\.\w+$/, '/');
|
entity.permalink = entity.yml.permalink || entity.path.replace(/\.\w+$/, '/');
|
||||||
|
entity.redirects = entity.redirects || [];
|
||||||
|
entity.redirects.push(entity.permalink.replace(/\/$/, '/index.html'));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -101,6 +102,8 @@
|
||||||
entity.slug = Desi.slugify(entity.title);
|
entity.slug = Desi.slugify(entity.title);
|
||||||
entity.slug_path = Desi.slugifyPath(entity.relativePath);
|
entity.slug_path = Desi.slugifyPath(entity.relativePath);
|
||||||
entity.slugPath = Desi.slugifyPath(entity.relativePath);
|
entity.slugPath = Desi.slugifyPath(entity.relativePath);
|
||||||
|
// TODO type checking like below
|
||||||
|
entity.redirects = Array.isArray(entity.yml.redirects) && entity.yml.redirects|| [];
|
||||||
|
|
||||||
// categories
|
// categories
|
||||||
if (Array.isArray(entity.yml.categories)) {
|
if (Array.isArray(entity.yml.categories)) {
|
||||||
|
|
Loading…
Reference in New Issue