Compare commits

...

2 Commits

Author SHA1 Message Date
Samy Pesse 0bce3517fd Bump version to 3.0.2 2016-05-25 21:50:38 +02:00
Samy Pesse 089815a8fd Fix #1328: fix crash when anchor links 2016-05-25 21:49:58 +02:00
4 changed files with 25 additions and 10 deletions
+3
View File
@@ -2,6 +2,9 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/). This project adheres to [Semantic Versioning](http://semver.org/).
## 3.0.2
- Fix crash for anchor links
## 3.0.1 ## 3.0.1
- Fix regression in link resolution when contain anchor - Fix regression in link resolution when contain anchor
- Fix `structure.<name>` configuration not supporting filenames with dots - Fix `structure.<name>` configuration not supporting filenames with dots
+12 -2
View File
@@ -40,9 +40,8 @@ describe('resolveLinks', function() {
}); });
describe('Anchor', function() { describe('Anchor', function() {
var TEST = '<p>This is a <a href="test/cool.md#an-anchor"></a></p>';
it('should prevent anchors in resolution', function() { it('should prevent anchors in resolution', function() {
var TEST = '<p>This is a <a href="test/cool.md#an-anchor"></a></p>';
var $ = cheerio.load(TEST); var $ = cheerio.load(TEST);
return resolveLinks('hello.md', resolveFileCustom, $) return resolveLinks('hello.md', resolveFileCustom, $)
@@ -51,6 +50,17 @@ describe('resolveLinks', function() {
expect(link.attr('href')).toBe('test/cool.html#an-anchor'); expect(link.attr('href')).toBe('test/cool.html#an-anchor');
}); });
}); });
it('should ignore pure anchor links', function() {
var TEST = '<p>This is a <a href="#an-anchor"></a></p>';
var $ = cheerio.load(TEST);
return resolveLinks('hello.md', resolveFileCustom, $)
.then(function() {
var link = $('a');
expect(link.attr('href')).toBe('#an-anchor');
});
});
}); });
describe('Custom Resolver', function() { describe('Custom Resolver', function() {
+3 -1
View File
@@ -30,8 +30,9 @@ function resolveLinks(currentFile, resolveFile, $) {
// Split anchor // Split anchor
var parsed = url.parse(href); var parsed = url.parse(href);
href = parsed.pathname; href = parsed.pathname || '';
if (href) {
// Calcul absolute path for this // Calcul absolute path for this
href = LocationUtils.toAbsolute(href, currentDirectory, '.'); href = LocationUtils.toAbsolute(href, currentDirectory, '.');
@@ -40,6 +41,7 @@ function resolveLinks(currentFile, resolveFile, $) {
// Convert back to relative // Convert back to relative
href = LocationUtils.relative(currentDirectory, href); href = LocationUtils.relative(currentDirectory, href);
}
// Add back anchor // Add back anchor
href = href + (parsed.hash || ''); href = href + (parsed.hash || '');
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "gitbook", "name": "gitbook",
"version": "3.0.1", "version": "3.0.2",
"homepage": "https://www.gitbook.com", "homepage": "https://www.gitbook.com",
"description": "Library and cmd utility to generate GitBooks", "description": "Library and cmd utility to generate GitBooks",
"main": "lib/index.js", "main": "lib/index.js",