diff options
author | Samy Pessé <samypesse@gmail.com> | 2016-06-29 10:31:06 +0200 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2016-06-29 10:31:06 +0200 |
commit | c9c2dde2b63505177265c66b1a6c4dd358415416 (patch) | |
tree | 444b6a539c93f677c6f8ee5eac67dca8de7cdab8 /lib/models/summaryArticle.js | |
parent | d9a1d387c7a61aa18cdb9b2916bc761e0f902804 (diff) | |
download | gitbook-c9c2dde2b63505177265c66b1a6c4dd358415416.zip gitbook-c9c2dde2b63505177265c66b1a6c4dd358415416.tar.gz gitbook-c9c2dde2b63505177265c66b1a6c4dd358415416.tar.bz2 |
Add method "isFile" and "isReadme" in SummaryArticle
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} |