mirror of
https://github.com/GitbookIO/gitbook.git
synced 2026-09-22 02:23:30 +00:00
Merge pull request #78 from mrpotes/mocha-windows
Fix URL creation on windows
This commit is contained in:
+4
-10
@@ -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);
|
||||
|
||||
Vendored
+3
@@ -31,6 +31,9 @@ Some more nice content ....
|
||||
|
||||
[Link to another Markdown file](./xyz/file.md)
|
||||
|
||||
And look at this pretty picture:
|
||||

|
||||
|
||||
Lets go for another exercise but this time with some context :
|
||||
|
||||
---
|
||||
|
||||
+9
-2
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user