diff options
author | Samy Pessé <samypesse@gmail.com> | 2016-05-24 15:32:30 +0200 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2016-05-24 15:32:30 +0200 |
commit | fb930d889fcb0c630e7ee51ecec4bf4350e29ce4 (patch) | |
tree | 7cd65d007df4ea19a2002abb6e151b1d6ee91067 /lib/output/modifiers/resolveLinks.js | |
parent | 721a75309bf3d796d5569d1d06473724c4445a88 (diff) | |
download | gitbook-fb930d889fcb0c630e7ee51ecec4bf4350e29ce4.zip gitbook-fb930d889fcb0c630e7ee51ecec4bf4350e29ce4.tar.gz gitbook-fb930d889fcb0c630e7ee51ecec4bf4350e29ce4.tar.bz2 |
Fix anchor breaking links resolution
Diffstat (limited to 'lib/output/modifiers/resolveLinks.js')
-rw-r--r-- | lib/output/modifiers/resolveLinks.js | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/output/modifiers/resolveLinks.js b/lib/output/modifiers/resolveLinks.js index 116ce8b..907a667 100644 --- a/lib/output/modifiers/resolveLinks.js +++ b/lib/output/modifiers/resolveLinks.js @@ -1,4 +1,5 @@ var path = require('path'); +var url = require('url'); var LocationUtils = require('../../utils/location'); var editHTMLElement = require('./editHTMLElement'); @@ -27,6 +28,10 @@ function resolveLinks(currentFile, resolveFile, $) { return; } + // Split anchor + var parsed = url.parse(href); + href = parsed.pathname; + // Calcul absolute path for this href = LocationUtils.toAbsolute(href, currentDirectory, '.'); @@ -36,6 +41,9 @@ function resolveLinks(currentFile, resolveFile, $) { // Convert back to relative href = LocationUtils.relative(currentDirectory, href); + // Add back anchor + href = href + (parsed.hash || ''); + $a.attr('href', href); }); } |