Use html link in search index

This commit is contained in:
Samy Pessé
2015-01-22 22:46:35 +01:00
parent 66841b1bb7
commit 322cf59a34
3 changed files with 17 additions and 17 deletions
+14
View File
@@ -8,6 +8,7 @@ var fs = require("./utils/fs");
var parseNavigation = require("./utils/navigation");
var parseProgress = require("./utils/progress");
var pageUtil = require("./utils/page");
var links = require("./utils/links");
var Configuration = require("./configuration");
var TemplateEngine = require("./template");
@@ -412,6 +413,19 @@ Book.prototype.parentRoot = function() {
return this.root;
};
// Normalize a link to .html and convert README -> index
Book.prototype.contentLink = function(link) {
if (
path.basename(link) == "README"
|| link == this.readmeFile
) {
link = path.join(path.dirname(link), "index"+path.extname(link));
}
link = links.changeExtension(link, ".html");
return link;
}
// Index a page into the search index
Book.prototype.indexPage = function(page) {
var nav = this.navigation[page.path];
+1 -2
View File
@@ -21,8 +21,7 @@ var BaseGenerator = function(book) {
};
BaseGenerator.prototype.callHook = function(name, data) {
//return this.plugins.hook(name, data);
return Q();
return this.plugins.hook(name, data);
};
// Prepare the genertor
+2 -15
View File
@@ -73,7 +73,7 @@ Generator.prototype.prepareTemplates = function() {
);
// Add filter
this.env.addFilter("contentLink", this.contentLink.bind(this));
this.env.addFilter("contentLink", this.book.contentLink.bind(this.book));
this.env.addFilter('lvl', function(lvl) {
return lvl.split(".").length;
});
@@ -93,24 +93,11 @@ Generator.prototype.finish = function() {
.then(this.writeSearchIndex);
};
// Normalize a link to .html and convert README -> index
Generator.prototype.contentLink = function(link) {
if (
path.basename(link) == "README"
|| link == this.book.readmeFile
) {
link = path.join(path.dirname(link), "index"+path.extname(link));
}
link = links.changeExtension(link, ".html");
return link;
}
// Convert an input file
Generator.prototype.writeParsedFile = function(page) {
var that = this;
var output = this.contentLink(page.path);
var output = this.book.contentLink(page.path);
output = path.join(that.options.output, output);
var basePath = path.relative(path.dirname(output), this.options.output) || ".";