Skip to content

Commit 7be191a

Browse files
committed
fixed relative_url filter
1 parent 36b5dee commit 7be191a

2 files changed

Lines changed: 14 additions & 13 deletions

File tree

src/supporting-files/base.html.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
module.exports = `<!doctype html>
22
<html lang="en">
33
<head>
4-
{% if stackbit_banner.show_banner %}<link rel="stylesheet" type="text/css" href={{ "assets/css/stackbit-banner.css" | relative_url }}>{% endif %}
4+
{% if stackbit_banner.show_banner %}<link rel="stylesheet" type="text/css" href="{{ "assets/css/stackbit-banner.css" | relative_url }}">{% endif %}
55
{% include "html_head.html" %}
66
{% if liveReload %}<script type="text/javascript" src={{ "assets/js/live-reload.js" | relative_url }}></script>{% endif %}
77
</head>

src/unibit.js

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ module.exports = class Unibit {
2929

3030
this.logger.log(`Generating site into ${path.resolve(this.outputDir)}`);
3131
_.forEach(options, (value, key) => {
32-
this.logger.log(` ${key}: ${value}`);
32+
this.logger.log(` ${key}: ${JSON.stringify(value)}`);
3333
});
3434

3535
this.watcher = null;
@@ -201,7 +201,7 @@ module.exports = class Unibit {
201201
return this.renderAndSavePage(context, page.url).then(() => {
202202
let pageRenderQueue = _.remove(this.pageRenderQueue);
203203
return forEachPromise(pageRenderQueue, renderItem => {
204-
return this.renderAndSavePage(renderItem.context, renderItem.outputUrl);
204+
return this.renderAndSavePage(renderItem.context, renderItem.pageUrl);
205205
});
206206
});
207207
});
@@ -260,23 +260,24 @@ module.exports = class Unibit {
260260
});
261261
}
262262

263-
addPageToRenderQueue(context, outputUrl) {
263+
addPageToRenderQueue(context, pageUrl) {
264264
this.pageRenderQueue.push({
265265
context: context,
266-
outputUrl: outputUrl
266+
pageUrl: pageUrl
267267
});
268268
}
269269

270-
renderAndSavePage(context, url) {
270+
renderAndSavePage(context, pageUrl) {
271271
this.assert(this.renderingPage === null, `Trying to generate two pages in parallel`);
272-
const outputUrl = url.match(/\w+\.\w+$/) ? url : path.join(url, 'index.html');
272+
let outputPath = pageUrl.match(/\w+\.\w+$/) ? pageUrl : path.join(pageUrl, 'index.html');
273+
outputPath = outputPath.replace(/^\//, '');
273274
this.renderingPage = {
274275
context: context,
275-
outputUrl: outputUrl
276+
outputPath: outputPath
276277
};
277278
return this.renderPage(context).then(res => {
278279
this.renderingPage = null;
279-
this.savePage(res, outputUrl);
280+
this.savePage(res, outputPath);
280281
});
281282
}
282283

@@ -407,10 +408,10 @@ module.exports = class Unibit {
407408
});
408409
});
409410
_.tail(pages).forEach(page => {
410-
let outputUrl = page.url;
411+
let pageUrl = page.url;
411412
// override the original paginate function to return current pagination page
412413
let pageContext = Object.assign({}, context, {paginate: () => page});
413-
this.addPageToRenderQueue(pageContext, outputUrl);
414+
this.addPageToRenderQueue(pageContext, pageUrl);
414415
});
415416
return pages[0];
416417
}
@@ -421,8 +422,8 @@ module.exports = class Unibit {
421422
}
422423
let urlsRelativeToBase = _.get(site.config.data, 'urls_relative_to_base', true);
423424
if (!urlsRelativeToBase && !_.startsWith(url, '/')) {
424-
let pageDir = path.parse(this.renderingPage.outputUrl).dir;
425-
return path.join(pageDir, url);
425+
let pageDir = path.parse(this.renderingPage.outputPath).dir;
426+
return path.relative(pageDir, url);
426427
} else {
427428
let baseUrl = _.get(site.config.data, 'baseurl', '');
428429
return path.join(baseUrl, '/', url);

0 commit comments

Comments
 (0)