mxdocgen
Version:
A small tool that mimics the documentation generation capabilities offered in Mendix Studio Pro, but with greater flexibility. It uses the Mendix Model SDK to extract information from a Mendix model, which is then fed into a set of templates to generate
36 lines • 1.58 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
exports.__esModule = true;
var path_1 = __importDefault(require("path"));
var fs = __importStar(require("fs"));
var pkg_dir_1 = __importDefault(require("pkg-dir"));
var mustache_1 = __importDefault(require("mustache"));
exports.defaultTemplateConfig = {
directory: path_1["default"].join(pkg_dir_1["default"].sync(__dirname), "templates"),
extension: ".html",
mainTemplate: "Main"
};
exports.render = function (config, templateData) {
var templates = loadTemplates(config.directory, config.extension, config.mainTemplate);
return mustache_1["default"].render(templates.main, templateData, templates.partials);
};
var loadTemplates = function (directory, extension, main) { return ({
main: loadTemplate(directory, extension, main),
partials: function (partialName) { return loadTemplate(directory, extension, partialName); }
}); };
var loadTemplate = function (directory, extension, name) {
var cleanExtension = extension.match(/^[.\\/]*(.*)$/)[1];
return fs.readFileSync(path_1["default"].join(directory, name + "." + cleanExtension), {
encoding: "utf8"
});
};
//# sourceMappingURL=templates.js.map
;