summaryrefslogtreecommitdiffstats
path: root/lib/utils/page.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/utils/page.js')
-rw-r--r--lib/utils/page.js10
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 {