diff options
author | Samy Pessé <samypesse@gmail.com> | 2016-04-27 14:37:02 +0200 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2016-04-27 14:37:02 +0200 |
commit | d585269228393a398cce6dae66d1ab63ea1d5d9b (patch) | |
tree | fd249f004a6161ce428f50003a716e93c37780ed | |
parent | 50f535b910dc9092378e343a5f948104564cb462 (diff) | |
download | gitbook-d585269228393a398cce6dae66d1ab63ea1d5d9b.zip gitbook-d585269228393a398cce6dae66d1ab63ea1d5d9b.tar.gz gitbook-d585269228393a398cce6dae66d1ab63ea1d5d9b.tar.bz2 |
Correctly ignore summary and templates from assets
-rw-r--r-- | lib/parse/__tests__/parseBook.js | 21 | ||||
-rw-r--r-- | lib/parse/listAssets.js | 10 | ||||
-rw-r--r-- | lib/parse/parseIgnore.js | 5 |
3 files changed, 34 insertions, 2 deletions
diff --git a/lib/parse/__tests__/parseBook.js b/lib/parse/__tests__/parseBook.js new file mode 100644 index 0000000..37f7f02 --- /dev/null +++ b/lib/parse/__tests__/parseBook.js @@ -0,0 +1,21 @@ +jest.autoMockOff(); + +var Book = require('../../models/book'); +var createMockFS = require('../../fs/mock'); + +describe('parseBook', function() { + var parseBook = require('../parseBook'); + + pit('should parse glossary if exists', function() { + var fs = createMockFS({ + 'README.md': 'Hello World', + 'GLOSSARY.md': '# Glossary\n\n## Hello\nDescription for hello' + }); + var book = Book.createForFS(fs); + + return parseBook(book) + .then(function(resultBook) { + + }); + }); +}); diff --git a/lib/parse/listAssets.js b/lib/parse/listAssets.js index 6159eda..a0dbbc9 100644 --- a/lib/parse/listAssets.js +++ b/lib/parse/listAssets.js @@ -10,12 +10,20 @@ function listAssets(book, pages) { var fs = book.getContentFS(); + var summary = book.getSummary(); + var summaryFile = summary.getFile().getPath(); + + var glossary = book.getGlossary(); + var glossaryFile = glossary.getFile().getPath(); + return fs.listAllFiles() .then(function(files) { return files.filterNot(function(file) { return ( book.isContentFileIgnored(file) || - pages.has(file) + pages.has(file) || + file !== summaryFile || + file !== glossaryFile ); }); }); diff --git a/lib/parse/parseIgnore.js b/lib/parse/parseIgnore.js index 3ffe89e..3dd44f2 100644 --- a/lib/parse/parseIgnore.js +++ b/lib/parse/parseIgnore.js @@ -25,7 +25,10 @@ function parseIgnore(book) { '_book', '*.pdf', '*.epub', - '*.mobi' + '*.mobi', + + // Ignore files in the templates folder + '_layouts' ]); return Promise.serie(IGNORE_FILES, function(filename) { |