honkit
Version:
HonKit is building beautiful books using Markdown.
39 lines (38 loc) • 1.39 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.onFinish = onFinish;
const path_1 = __importDefault(require("path"));
const promise_1 = __importDefault(require("../../utils/promise"));
const fs_1 = __importDefault(require("../../utils/fs"));
const json_1 = __importDefault(require("../../json"));
/**
Finish the generation
@param {Output} output
@return {Output}
*/
function onFinish(output) {
const book = output.getBook();
const outputRoot = output.getRoot();
if (!book.isMultilingual()) {
return (0, promise_1.default)(output);
}
// Get main language
const languages = book.getLanguages();
const mainLanguage = languages.getDefaultLanguage();
// Read the main JSON
return (fs_1.default
.readFile(path_1.default.resolve(outputRoot, mainLanguage.getID(), "README.json"), "utf8")
// Extend the JSON
.then((content) => {
const json = JSON.parse(content);
json.languages = json_1.default.encodeLanguages(languages);
return json;
})
.then((json) => {
return fs_1.default.writeFile(path_1.default.resolve(outputRoot, "README.json"), JSON.stringify(json, null, 4));
})
.thenResolve(output));
}