From b1e3165a809ec9d3f07ad34883c6370df98e0674 Mon Sep 17 00:00:00 2001 From: Sparshith Nairbalige Rai Date: Thu, 13 Sep 2018 14:28:23 -0700 Subject: [PATCH] [New Feature] Accept file path as inputNode --- index.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index a15cd54..348ca26 100644 --- a/index.js +++ b/index.js @@ -60,6 +60,16 @@ MarkdownResolver.prototype.readDirectory = function(srcPath, allFiles) { }, []); } +MarkdownResolver.prototype.readFile = function (srcPath, allFiles) { + let content = fs.readFileSync(srcPath, { encoding: 'utf8' }); + content = frontmatter(content); + let entry = { path: srcPath }; + entry.content = content.body; + entry.attributes = content.attributes; + allFiles.push(entry); + return [entry]; +} + MarkdownResolver.prototype.relativePath = function(srcDir) { let relPath = srcDir.replace(this.options.basePath, ''); return relPath.replace(/^\/|\/$/g, ''); @@ -69,7 +79,8 @@ MarkdownResolver.prototype.build = function() { let output = { files: [] }; output.trees = Array.prototype.reduce.call(this._inputNodes, (trees, srcDir) => { - trees[this.relativePath(srcDir)] = this.readDirectory(srcDir, output.files); + let isFile = fs.statSync(srcDir).isFile(); + trees[this.relativePath(srcDir)] = isFile ? this.readFile(srcDir, output.files) : this.readDirectory(srcDir, output.files); return trees; }, {});