fixed most problems with upgrade

This commit is contained in:
AJ ONeal 2015-01-23 03:59:09 -07:00
parent 2797fd06a7
commit 73112a8677
2 changed files with 15 additions and 12 deletions

View File

@ -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 () {

View File

@ -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)) {