@codedoc/core
Version:
Create beautiful modern documentation websites.
75 lines • 4.21 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 __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.plug = void 0;
function plug(config, plugin) {
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
var res = __assign({}, config);
var 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 = __spreadArrays(((_a = config.bundle) === null || _a === void 0 ? void 0 : _a.init) || [], override.bundle.init || []);
}
if (override.afterBuild) {
res.afterBuild = __spreadArrays(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: __spreadArrays(((_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: __assign(__assign({}, override.markdown.customComponents), (_l = config.markdown) === null || _l === void 0 ? void 0 : _l.customComponents),
customInlineComponents: __assign(__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: __assign(__assign({}, override.tocMarkdown.customComponents), (_o = config.tocMarkdown) === null || _o === void 0 ? void 0 : _o.customComponents),
customInlineComponents: __assign(__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;
}
exports.plug = plug;
//# sourceMappingURL=plugin.js.map