@nolebase/integrations
Version:
A unconfig (unified configurations) for both VitePress and VitePress theme. Supporting all Nólëbase Integrations with default theme.
43 lines (37 loc) • 1.31 kB
JavaScript
;
const node_process = require('node:process');
const defu = require('defu');
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
const defu__default = /*#__PURE__*/_interopDefaultCompat(defu);
function presetMarkdownIt(options) {
const opts = defu__default(options, {
bidirectionalLinks: {
options: {
dir: node_process.cwd()
}
},
unlazyImages: {
options: {
imgElementTag: "NolebaseUnlazyImg"
}
},
inlineLinkPreview: true
});
return {
async install(md) {
if (opts.bidirectionalLinks) {
const { BiDirectionalLinks } = await import('@nolebase/markdown-it-bi-directional-links');
md.use(BiDirectionalLinks(opts.bidirectionalLinks.options));
}
if (opts.unlazyImages) {
const { UnlazyImages } = await import('@nolebase/markdown-it-unlazy-img');
md.use(UnlazyImages(), opts.unlazyImages.options);
}
if (opts.inlineLinkPreview) {
const { InlineLinkPreviewElementTransform } = await import('@nolebase/vitepress-plugin-inline-link-preview/markdown-it');
md.use(InlineLinkPreviewElementTransform, opts.inlineLinkPreview.options);
}
}
};
}
exports.presetMarkdownIt = presetMarkdownIt;