MCPcopy Index your code
hub / github.com/GitbookIO/gitbook / findParsableFile

Function findParsableFile

lib/parse/findParsableFile.js:13–34  ·  view source on GitHub ↗

Find a file parsable (Markdown or AsciiDoc) in a book @param {Book} book @param {String} filename @return {Promise }

(book, filename)

Source from the content-addressed store, hash-verified

11 @return {Promise<File | Undefined>}
12*/
13function findParsableFile(book, filename) {
14 var fs = book.getContentFS();
15 var ext = path.extname(filename);
16 var basename = path.basename(filename, ext);
17 var basedir = path.dirname(filename);
18
19 // Ordered list of extensions to test
20 var exts = parsers.extensions;
21
22 return Promise.some(exts, function(ext) {
23 var filepath = basename + ext;
24
25 return fs.findFile(basedir, filepath)
26 .then(function(found) {
27 if (!found || book.isContentFileIgnored(found)) {
28 return undefined;
29 }
30
31 return fs.statFile(found);
32 });
33 });
34}
35
36module.exports = findParsableFile;

Callers 1

lookupStructureFileFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…