summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/output/website/onAsset.js9
-rw-r--r--lib/parse/__tests__/listAssets.js29
-rw-r--r--lib/parse/listAssets.js8
3 files changed, 40 insertions, 6 deletions
diff --git a/lib/output/website/onAsset.js b/lib/output/website/onAsset.js
index 17b6ba7..69dfc4f 100644
--- a/lib/output/website/onAsset.js
+++ b/lib/output/website/onAsset.js
@@ -10,16 +10,17 @@ var fs = require('../../utils/fs');
function onAsset(output, asset) {
var book = output.getBook();
var options = output.getOptions();
+ var bookFS = book.getContentFS();
- var rootFolder = book.getContentRoot();
var outputFolder = options.get('root');
-
- var filePath = path.resolve(rootFolder, asset);
var outputPath = path.resolve(outputFolder, asset);
return fs.ensureFile(outputPath)
.then(function() {
- return fs.copy(filePath, outputPath);
+ return bookFS.readAsStream(asset)
+ .then(function(stream) {
+ return fs.writeStream(outputPath, stream);
+ });
})
.thenResolve(output);
}
diff --git a/lib/parse/__tests__/listAssets.js b/lib/parse/__tests__/listAssets.js
new file mode 100644
index 0000000..2f66fd1
--- /dev/null
+++ b/lib/parse/__tests__/listAssets.js
@@ -0,0 +1,29 @@
+var Immutable = require('immutable');
+
+var Book = require('../../models/book');
+var createMockFS = require('../../fs/mock');
+var listAssets = require('../listAssets');
+var parseGlossary = require('../parseGlossary');
+
+describe('listAssets', function() {
+ pit('should not list glossary as asset', function() {
+ var fs = createMockFS({
+ 'GLOSSARY.md': '# Glossary\n\n## Hello\nDescription for hello',
+ 'assetFile.js': '',
+ 'assets': {
+ 'file.js': ''
+ }
+ });
+ var book = Book.createForFS(fs);
+
+ return parseGlossary(book)
+ .then(function(resultBook) {
+ return listAssets(resultBook, Immutable.Map());
+ })
+ .then(function(assets) {
+ expect(assets.size).toBe(2);
+ expect(assets.includes('assetFile.js'));
+ expect(assets.includes('assets/file.js'));
+ });
+ });
+});
diff --git a/lib/parse/listAssets.js b/lib/parse/listAssets.js
index c43b054..dc7ce92 100644
--- a/lib/parse/listAssets.js
+++ b/lib/parse/listAssets.js
@@ -17,6 +17,9 @@ function listAssets(book, pages) {
var glossary = book.getGlossary();
var glossaryFile = glossary.getFile().getPath();
+ var langs = book.getLanguages();
+ var langsFile = langs.getFile().getPath();
+
return timing.measure(
'parse.listAssets',
fs.listAllFiles()
@@ -25,8 +28,9 @@ function listAssets(book, pages) {
return (
book.isContentFileIgnored(file) ||
pages.has(file) ||
- file !== summaryFile ||
- file !== glossaryFile
+ file === summaryFile ||
+ file === glossaryFile ||
+ file === langsFile
);
});
})