UNPKG

@codedoc/core

Version:

Create beautiful modern documentation websites.

53 lines 3.41 kB
export function plug(config, plugin) { var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p; const res = Object.assign({}, config); const override = plugin(config); if (override.src) res.src = Object.assign({}, override.src, config.src); if (override.dest) res.dest = Object.assign({}, override.dest, config.dest); if (override.bundle) { res.bundle = res.bundle || {}; res.bundle.init = [...((_a = config.bundle) === null || _a === void 0 ? void 0 : _a.init) || [], ...override.bundle.init || []]; } if (override.afterBuild) { res.afterBuild = [...config.afterBuild || [], ...override.afterBuild]; } if (override.page) { res.page = res.page || {}; if (override.page.title) res.page.title = Object.assign({}, override.page.title, (_b = config.page) === null || _b === void 0 ? void 0 : _b.title); if (override.page.favicon) res.page.favicon = ((_c = config.page) === null || _c === void 0 ? void 0 : _c.favicon) || override.page.favicon; if (override.page.meta) res.page.meta = Object.assign({}, override.page.meta, (_d = config.page) === null || _d === void 0 ? void 0 : _d.meta, { keywords: [...((_f = (_e = config.page) === null || _e === void 0 ? void 0 : _e.meta) === null || _f === void 0 ? void 0 : _f.keywords) || [], ...override.page.meta.keywords || []] }); if (override.page.fonts) res.page.fonts = Object.assign({}, override.page.fonts, (_g = config.page) === null || _g === void 0 ? void 0 : _g.fonts); if (override.page.scripts) res.page.scripts = (((_h = config.page) === null || _h === void 0 ? void 0 : _h.scripts) || []).concat(override.page.scripts); if (override.page.stylesheets) res.page.stylesheets = (((_j = config.page) === null || _j === void 0 ? void 0 : _j.stylesheets) || []).concat(override.page.stylesheets); if (override.page.post) res.page.post = (((_k = config.page) === null || _k === void 0 ? void 0 : _k.post) || []).concat(override.page.post); } if (override.dev) config.dev = Object.assign({}, override.dev, config.dev); if (override.markdown) { res.markdown = Object.assign({}, override.markdown, config.markdown, { customComponents: Object.assign(Object.assign({}, override.markdown.customComponents), (_l = config.markdown) === null || _l === void 0 ? void 0 : _l.customComponents), customInlineComponents: Object.assign(Object.assign({}, override.markdown.customInlineComponents), (_m = config.markdown) === null || _m === void 0 ? void 0 : _m.customInlineComponents), }); } if (override.tocMarkdown) { res.tocMarkdown = Object.assign({}, override.tocMarkdown, config.tocMarkdown, { customComponents: Object.assign(Object.assign({}, override.tocMarkdown.customComponents), (_o = config.tocMarkdown) === null || _o === void 0 ? void 0 : _o.customComponents), customInlineComponents: Object.assign(Object.assign({}, override.tocMarkdown.customInlineComponents), (_p = config.tocMarkdown) === null || _p === void 0 ? void 0 : _p.customInlineComponents), }); } if (override.misc) res.misc = Object.assign({}, override.misc, config.misc); return res; } //# sourceMappingURL=plugin.js.map