diff options
author | Samy Pessé <samypesse@gmail.com> | 2015-09-04 19:12:27 +0200 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2015-09-04 19:12:27 +0200 |
commit | 377e470b15b5013035cfc4552cc764fc1ba0f357 (patch) | |
tree | d79f1c35f42b1a8bdb82c78688e97e47aa394729 /lib/utils/page.js | |
parent | e0a3f0cea550d05dc0e4d2ce689fe58315f043ad (diff) | |
download | gitbook-377e470b15b5013035cfc4552cc764fc1ba0f357.zip gitbook-377e470b15b5013035cfc4552cc764fc1ba0f357.tar.gz gitbook-377e470b15b5013035cfc4552cc764fc1ba0f357.tar.bz2 |
Add warning for file outside spine
Diffstat (limited to 'lib/utils/page.js')
-rw-r--r-- | lib/utils/page.js | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/utils/page.js b/lib/utils/page.js index fde2eaa..727f3b3 100644 --- a/lib/utils/page.js +++ b/lib/utils/page.js @@ -13,6 +13,8 @@ var fs = require('./fs'); var batch = require('./batch'); var code = require('./code'); +var parsableExtensions = require('gitbook-parsers').extensions; + // Render a cheerio dom as html var renderDom = function($, dom, options) { if (!dom && $._root && $._root.children) { @@ -196,11 +198,19 @@ function normalizeHtml(src, options) { var absolutePath = links.join(options.base, parts.pathname); var anchor = parts.hash || ""; + // If is in navigation relative: transform as content if (options.navigation[absolutePath]) { absolutePath = options.book.contentLink(absolutePath); } + // If md/adoc/rst files is not in summary + // or for ebook, signal all files that are outside the summary + else if (_.contains(parsableExtensions, path.extname(absolutePath)) + || _.contains(['epub', 'pdf', 'mobi'], options.book.options.generator)) { + options.book.log.warn.ln("page", options.input, "contains an hyperlink to resource outside spine '"+href+"'"); + } + // Transform as absolute href = links.toAbsolute("/"+absolutePath, options.base, options.output)+anchor; } else { |