diff options
author | Samy Pessé <samypesse@gmail.com> | 2014-11-01 15:00:13 +0100 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2014-11-01 15:00:13 +0100 |
commit | 002d685ebb53b7cdf786191688c4077cd0a6d846 (patch) | |
tree | abe9220702d7fecdd27b7dd80e37eaf02a5b8d1d /lib/parse/includer.js | |
parent | 1e4632080b64c7f100c3886454fedab70c7d8909 (diff) | |
download | gitbook-002d685ebb53b7cdf786191688c4077cd0a6d846.zip gitbook-002d685ebb53b7cdf786191688c4077cd0a6d846.tar.gz gitbook-002d685ebb53b7cdf786191688c4077cd0a6d846.tar.bz2 |
Adapt include in page parsing to works on clientside
Diffstat (limited to 'lib/parse/includer.js')
-rw-r--r-- | lib/parse/includer.js | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/parse/includer.js b/lib/parse/includer.js new file mode 100644 index 0000000..f7f20e0 --- /dev/null +++ b/lib/parse/includer.js @@ -0,0 +1,15 @@ +// Return a fs inclduer +module.exports = function(ctx, folders, resolveFile, readFile) { + return function(name) { + return ctx[name] || + folders.map(function(folder) { + // Try including snippet from FS + try { + var fname = resolveFile(folder, name); + // Trim trailing newlines/space of imported snippets + return readFile(fname, 'utf8').trimRight(); + } catch(err) {} + }) + .filter(Boolean)[0]; + } +}; |