summaryrefslogtreecommitdiffstats
path: root/lib/output/helper/fileToOutput.js
blob: 967316292fbc6779a1eba2aa860852b8f37e30b4 (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
30
31
32
var path = require('path');

var PathUtils = require('../../utils/path');
var LocationUtils = require('../../utils/location');

var OUTPUT_EXTENSION = '.html';

/**
    Convert a filePath (absolute) to a filename for output

    @param {Output} output
    @param {String} filePath
    @return {String}
*/
function fileToOutput(output, filePath) {
    var book = output.getBook();
    var readme = book.getReadme();
    var fileReadme = readme.getFile();

    if (
        path.basename(filePath, path.extname(filePath)) == 'README' ||
        (fileReadme.exists() && filePath == fileReadme.getPath())
    ) {
        filePath = path.join(path.dirname(filePath), 'index' + OUTPUT_EXTENSION);
    } else {
        filePath = PathUtils.setExtension(filePath, OUTPUT_EXTENSION);
    }

    return LocationUtils.normalize(filePath);
}

module.exports = fileToOutput;