summaryrefslogtreecommitdiffstats
path: root/lib/output/helper/fileToOutput.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/output/helper/fileToOutput.js')
-rw-r--r--lib/output/helper/fileToOutput.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/lib/output/helper/fileToOutput.js b/lib/output/helper/fileToOutput.js
new file mode 100644
index 0000000..9673162
--- /dev/null
+++ b/lib/output/helper/fileToOutput.js
@@ -0,0 +1,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;