UNPKG

@codedoc/core

Version:

Create beautiful modern documentation websites.

108 lines 4.54 kB
"use strict"; 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