Skip to content

Commit

Permalink
Fix for bug futurepress#1367
Browse files Browse the repository at this point in the history
  • Loading branch information
pravin-d committed Dec 3, 2023
1 parent f09089c commit 7dbe068
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 3 deletions.
2 changes: 1 addition & 1 deletion src/book.js
Expand Up @@ -547,7 +547,7 @@ class Book {

return this.load(navPath, "xml")
.then((xml) => {
this.navigation = new Navigation(xml);
this.navigation = new Navigation(xml, navPath);
this.pageList = new PageList(xml);
return this.navigation;
});
Expand Down
9 changes: 7 additions & 2 deletions src/navigation.js
@@ -1,11 +1,12 @@
import {qs, qsa, querySelectorByType, filterChildren, getParentByTagName} from "./utils/core";
import Path from './utils/path'

/**
* Navigation Parser
* @param {document} xml navigation html / xhtml / ncx
*/
class Navigation {
constructor(xml) {
constructor(xml, navPath='') {
this.toc = [];
this.tocByHref = {};
this.tocById = {};
Expand All @@ -14,6 +15,9 @@ class Navigation {
this.landmarksByType = {};

this.length = 0;
if (navPath) {
this.tocPath = new Path(navPath)
}
if (xml) {
this.parse(xml);
}
Expand Down Expand Up @@ -198,7 +202,8 @@ class Navigation {
return;
}

let src = content.getAttribute("href") || "";
const href = content.getAttribute("href") || "";
let src = this.tocPath.join(href)

if (!id) {
id = src;
Expand Down
11 changes: 11 additions & 0 deletions src/utils/path.js
Expand Up @@ -58,6 +58,17 @@ class Path {
return (what.charAt(what.length-1) === "/");
}

/**
* Join a paths
*
* https://nodejs.org/api/path.html#pathjoinpaths
* @param {string} what
* @returns {string} joined path
*/
join (what) {
return path.join(this.directory, what);
}

/**
* Resolve a path against the directory of the Path
*
Expand Down

0 comments on commit 7dbe068

Please sign in to comment.