summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamy Pessé <samypesse@gmail.com>2016-04-27 14:37:02 +0200
committerSamy Pessé <samypesse@gmail.com>2016-04-27 14:37:02 +0200
commitd585269228393a398cce6dae66d1ab63ea1d5d9b (patch)
treefd249f004a6161ce428f50003a716e93c37780ed
parent50f535b910dc9092378e343a5f948104564cb462 (diff)
downloadgitbook-d585269228393a398cce6dae66d1ab63ea1d5d9b.zip
gitbook-d585269228393a398cce6dae66d1ab63ea1d5d9b.tar.gz
gitbook-d585269228393a398cce6dae66d1ab63ea1d5d9b.tar.bz2
Correctly ignore summary and templates from assets
-rw-r--r--lib/parse/__tests__/parseBook.js21
-rw-r--r--lib/parse/listAssets.js10
-rw-r--r--lib/parse/parseIgnore.js5
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) {