Merge pull request #78 from mrpotes/mocha-windows

Fix URL creation on windows
This commit is contained in:
Aaron O'Mullan
2014-04-10 11:44:33 -07:00
3 changed files with 16 additions and 12 deletions
+4 -10
View File
@@ -46,16 +46,12 @@ GitBookRenderer.prototype.link = function(href, title, text) {
var o = this._extra_options;
// Relative link, rewrite it to point to github repo
if(!parsed.protocol && parsed.path && parsed.path[0] != '/' && o && o.repo && o.dir) {
href = 'https://github.com/' + o.repo + '/blob' + path.normalize(path.join(
'/',
o.dir,
href
));
href = url.resolve('https://github.com/' + o.repo + '/blob/', [o.dir, href].join("/"));
parsed = url.parse(href);
}
// Generate HTML for link
var out = '<a href="' + href + '"';
var out = '<a href="' + parsed.href + '"';
// Title if no null
if (title) {
out += ' title="' + title + '"';
@@ -80,10 +76,8 @@ GitBookRenderer.prototype.image = function(href, title, text) {
// Relative image, rewrite it depending output
if(!parsed.protocol && parsed.path && parsed.path[0] != '/' && o && o.dir && o.outdir) {
_href = path.relative(o.outdir, path.normalize(path.join(
o.dir,
href
)));
var outdir = o.outdir.charAt(o.outdir.length - 1) === '/' ? o.outdir : o.outdir + '/';
_href = url.resolve(outdir, [o.dir, href].join('/'));
}
return GitBookRenderer.super_.prototype.image.call(this, _href, title, text);
+3
View File
@@ -31,6 +31,9 @@ Some more nice content ....
[Link to another Markdown file](./xyz/file.md)
And look at this pretty picture:
![Pretty](../assets/my-pretty-picture.png "Pretty")
Lets go for another exercise but this time with some context :
---
+9 -2
View File
@@ -6,7 +6,10 @@ var page = require('../').parse.page;
var CONTENT = fs.readFileSync(path.join(__dirname, './fixtures/PAGE.md'), 'utf8');
var LEXED = page(CONTENT);
var LEXED = page(CONTENT, {
dir: 'course',
outdir: '_book'
});
var HR_CONTENT = fs.readFileSync(path.join(__dirname, './fixtures/HR_PAGE.md'), 'utf8');
var HR_LEXED = page(HR_CONTENT);
@@ -30,6 +33,10 @@ describe('Page parsing', function() {
assert(LEXED[2].content);
});
it('should make image URLs relative', function() {
assert(LEXED[2].content.indexOf('_book/assets/my-pretty-picture.png') !== -1);
})
it('should gen code and content for exercise sections', function() {
assert(LEXED[1].content);
assert(LEXED[1].code);
@@ -67,7 +74,7 @@ describe('Relative links', function() {
repo: 'GitBookIO/javascript',
// Imaginary folder of markdown file
dir: 'course',
dir: 'course'
});
assert(LEXED[0].content.indexOf('https://github.com/GitBookIO/javascript/blob/src/something.cpp') !== -1);