diff options
Diffstat (limited to 'lib/models/summaryArticle.js')
-rw-r--r-- | lib/models/summaryArticle.js | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/lib/models/summaryArticle.js b/lib/models/summaryArticle.js index 9b5b653..6da8d1d 100644 --- a/lib/models/summaryArticle.js +++ b/lib/models/summaryArticle.js @@ -40,7 +40,8 @@ SummaryArticle.prototype.getDepth = function() { }; /** - * Get path (without anchor) to the pointing file + * Get path (without anchor) to the pointing file. + * It also normalizes the file path. * * @return {String} */ @@ -58,8 +59,8 @@ SummaryArticle.prototype.getPath = function() { var pathname = (parts.length > 1? parts.slice(0, -1).join('#') : ref); - // Normalize path to remove ('./', etc) - return location.normalize(pathname); + // Normalize path to remove ('./', '/...', etc) + return location.flatten(pathname); }; /** @@ -107,6 +108,32 @@ SummaryArticle.prototype.isPage = function() { }; /** + * Check if this article is a file (exatcly) + * + * @param {File} file + * @return {Boolean} + */ +SummaryArticle.prototype.isFile = function(file) { + return ( + file.getPath() === this.getPath() + && this.getAnchor() === undefined + ); +}; + +/** + * Check if this article is the introduction of the book + * + * @param {Book|Readme} book + * @return {Boolean} + */ +SummaryArticle.prototype.isReadme = function(book) { + var readme = book.getFile? book : book.getReadme(); + var file = readme.getFile(); + + return this.isFile(file); +}; + +/** * Is article pointing to aan absolute url * * @return {Boolean} |