diff options
Diffstat (limited to 'packages/gitbook/lib/output/ebook/getCoverPath.js')
-rw-r--r-- | packages/gitbook/lib/output/ebook/getCoverPath.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/packages/gitbook/lib/output/ebook/getCoverPath.js b/packages/gitbook/lib/output/ebook/getCoverPath.js new file mode 100644 index 0000000..ab6b579 --- /dev/null +++ b/packages/gitbook/lib/output/ebook/getCoverPath.js @@ -0,0 +1,30 @@ +var path = require('path'); +var fs = require('../../utils/fs'); + +/** + Resolve path to cover file to use + + @param {Output} + @return {String} +*/ +function getCoverPath(output) { + var outputRoot = output.getRoot(); + var book = output.getBook(); + var config = book.getConfig(); + var coverName = config.getValue('cover', 'cover.jpg'); + + // Resolve to absolute + var cover = fs.pickFile(outputRoot, coverName); + if (cover) { + return cover; + } + + // Multilingual? try parent folder + if (book.isLanguageBook()) { + cover = fs.pickFile(path.join(outputRoot, '..'), coverName); + } + + return cover; +} + +module.exports = getCoverPath; |