@codedoc/core
Version:
Create beautiful modern documentation websites.
108 lines • 4.54 kB
JavaScript
;
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
};
var __spreadArrays = (this && this.__spreadArrays) || function () {
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
for (var r = Array(s), k = 0, i = 0; i < il; i++)
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
r[k] = a[j];
return r;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.configuration = void 0;
var marked_1 = require("@connectv/marked");
var defaults_1 = require("./defaults");
var plugin_1 = require("./plugin");
/**
*
* Will create a codedoc configuration object (type `CodedocConfig`)
* using the given config overrides. This will simply extend the default
* configuration using given values in the overrides.
*
* @param override
* @returns a complete codedoc configuration
*
*/
function configuration(override) {
var res = __assign({}, defaults_1.DefaultConfig);
if (override.plugins)
override = __spreadArrays(override.plugins, [
function () { return ({
markdown: {
customComponents: defaults_1.DefaultMarkdownCustomComponents,
customInlineComponents: defaults_1.DefaultMarkdownCustomInlineComponents,
},
tocMarkdown: {
customComponents: defaults_1.DefaultToCMarkdownCustomComponents,
customInlineComponents: defaults_1.DefaultToCMarkdownCustomInlineComponents,
},
bundle: {
init: defaults_1.DefaultConfig.bundle.init
},
afterBuild: defaults_1.DefaultConfig.afterBuild,
}); },
]).reduce(plugin_1.plug, override);
if (override.src)
Object.assign(res.src, override.src);
if (override.dest)
Object.assign(res.dest, override.dest);
if (override.bundle)
Object.assign(res.bundle, override.bundle);
if (override.afterBuild)
res.afterBuild = override.afterBuild;
if (override.page) {
if (override.page.title)
Object.assign(res.page.title, override.page.title);
if (override.page.favicon)
res.page.favicon = override.page.favicon;
if (override.page.meta)
res.page.meta = override.page.meta;
if (override.page.fonts)
res.page.fonts = override.page.fonts;
if (override.page.scripts)
res.page.scripts = override.page.scripts;
if (override.page.stylesheets)
res.page.stylesheets = override.page.stylesheets;
if (override.page.post)
res.page.post = __spreadArrays((res.page.post || []), override.page.post);
}
if (override.dev)
Object.assign(res.dev, override.dev);
if (override.theme)
res.theme = override.theme;
if (override.markdown)
Object.assign(res.markdown, override.markdown);
if (override.tocMarkdown)
Object.assign(res.tocMarkdown, override.tocMarkdown);
res.markdown.Link = marked_1.linkedComponents(res.markdown.customInlineComponents);
res.tocMarkdown.Link = marked_1.linkedComponents(res.tocMarkdown.customInlineComponents);
res.markdown.BlockQuote = marked_1.quotedComponents(res.markdown.customComponents);
res.tocMarkdown.BlockQuote = marked_1.quotedComponents(res.tocMarkdown.customComponents);
if (override.misc)
res.misc = override.misc;
return res;
}
exports.configuration = configuration;
__exportStar(require("./config.type"), exports);
__exportStar(require("./override.type"), exports);
__exportStar(require("./defaults"), exports);
//# sourceMappingURL=index.js.map