summaryrefslogtreecommitdiffstats
path: root/lib/output/helper/fileToURL.js
blob: 44ad2d836ee40be20b90c6e7b63ab520add30111 (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
var path = require('path');
var LocationUtils = require('../../utils/location');

var fileToOutput = require('./fileToOutput');

/**
    Convert a filePath (absolute) to an url (without hostname).
    It returns an absolute path.

    "README.md" -> "/"
    "test/hello.md" -> "test/hello.html"
    "test/README.md" -> "test/"

    @param {Output} output
    @param {String} filePath
    @return {String}
*/
function fileToURL(output, filePath) {
    var options = output.getOptions();
    var directoryIndex = options.get('directoryIndex');

    filePath = fileToOutput(output, filePath);

    if (directoryIndex && path.basename(filePath) == 'index.html') {
        filePath = path.dirname(filePath) + '/';
    }

    return LocationUtils.normalize(filePath);
}

module.exports = fileToURL;