diff options
Diffstat (limited to 'lib/output/ebook/getCoverPath.js')
-rw-r--r-- | lib/output/ebook/getCoverPath.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/output/ebook/getCoverPath.js b/lib/output/ebook/getCoverPath.js new file mode 100644 index 0000000..c2192d4 --- /dev/null +++ b/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 cover = config.getValue('cover', 'cover.jpg'); + + // Resolve to absolute + cover = fs.pickFile(outputRoot, cover); + if (cover) { + return cover; + } + + // Multilingual? try parent folder + if (book.isLanguageBook()) { + cover = fs.pickFile(path.join(outputRoot, '..'), cover); + } + + return cover; +} + +module.exports = getCoverPath; |