diff options
Diffstat (limited to 'lib/backbone/file.js')
-rw-r--r-- | lib/backbone/file.js | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/lib/backbone/file.js b/lib/backbone/file.js deleted file mode 100644 index 209e261..0000000 --- a/lib/backbone/file.js +++ /dev/null @@ -1,69 +0,0 @@ -var _ = require('lodash'); - -function BackboneFile(book) { - if (!(this instanceof BackboneFile)) return new BackboneFile(book); - - this.book = book; - this.log = this.book.log; - - // Filename in the book - this.path = ''; - this.parser; - - _.bindAll(this); -} - -// Type of the backbone file -BackboneFile.prototype.type = ''; - -// Parse a backbone file -BackboneFile.prototype.parse = function() { - // To be implemented by each child -}; - -// Handle case where file doesn't exists -BackboneFile.prototype.parseNotFound = function() { - -}; - -// Return true if backbone file exists -BackboneFile.prototype.exists = function() { - return Boolean(this.path); -}; - -// Locate a backbone file, could be .md, .asciidoc, etc -BackboneFile.prototype.locate = function() { - var that = this; - var filename = this.book.config.getStructure(this.type, true); - this.log.debug.ln('locating', this.type, ':', filename); - - return this.book.findParsableFile(filename) - .then(function(result) { - if (!result) return; - - that.path = result.path; - that.parser = result.parser; - }); -}; - -// Read and parse the file -BackboneFile.prototype.load = function() { - var that = this; - this.log.debug.ln('loading', this.type, ':', that.path); - - return this.locate() - .then(function() { - if (!that.path) return that.parseNotFound(); - - that.log.debug.ln(that.type, 'located at', that.path); - - return that.book.readFile(that.path) - - // Parse it - .then(function(content) { - return that.parse(content); - }); - }); -}; - -module.exports = BackboneFile; |