summaryrefslogtreecommitdiffstats
path: root/lib/backbone/page.js
blob: bf3494a7bc28cfc0f30a3984713b13ea0e801c9f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
var path = require('path');

/*
A page represent a parsable file in the book (Markdown, Asciidoc, etc)
*/

function Page(book, filename) {
    if (!(this instanceof Page)) return new Page(book, filename);

    this.book = book;
    this.filename = filename;
}

// Return the filename of the page with another extension
// "README.md" -> "README.html"
Page.prototype.withExtension = function(ext) {
    return path.join(
        path.dirname(this.filename),
        path.basename(this.filename, path.extname(this.filename)) + ext
    );
};

// Read the page as a string
Page.prototype.read = function() {
    return this.book.readFile(this.filename);
};


module.exports = Page;