diff options
author | Samy Pessé <samypesse@gmail.com> | 2016-05-12 12:19:00 +0200 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2016-05-12 12:19:00 +0200 |
commit | a091c5b331282bbcc4e0a3b79fbc32dd6f842747 (patch) | |
tree | 39bcc8a395111f059f4e65dc44f072b28a3d10a3 /lib/templating/conrefsLoader.js | |
parent | 784b3379b50bb0c2986efaca55940d14feb10d3a (diff) | |
download | gitbook-a091c5b331282bbcc4e0a3b79fbc32dd6f842747.zip gitbook-a091c5b331282bbcc4e0a3b79fbc32dd6f842747.tar.gz gitbook-a091c5b331282bbcc4e0a3b79fbc32dd6f842747.tar.bz2 |
Fix path resolution when generating page with conrefs
Diffstat (limited to 'lib/templating/conrefsLoader.js')
-rw-r--r-- | lib/templating/conrefsLoader.js | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/templating/conrefsLoader.js b/lib/templating/conrefsLoader.js index 52d2a95..475aa92 100644 --- a/lib/templating/conrefsLoader.js +++ b/lib/templating/conrefsLoader.js @@ -62,7 +62,14 @@ var ConrefsLoader = nunjucks.Loader.extend({ resolve: function(from, to) { // If origin is in the book, we enforce result file to be in the book if (PathUtils.isInRoot(this.rootFolder, from)) { - var href = LocationUtils.toAbsolute(to, path.dirname(from), this.rootFolder); + + // Path of current template in the rootFolder (not absolute to fs) + var fromRelative = path.relative(this.rootFolder, from); + + // Resolve "to" to a filepath relative to rootFolder + var href = LocationUtils.toAbsolute(to, path.dirname(fromRelative), ''); + + // Return absolute path return PathUtils.resolveInRoot(this.rootFolder, href); } |