@signalwire/docusaurus-plugin-llms-txt
Version:
Generate Markdown versions of Docusaurus HTML pages and an llms.txt index file
45 lines (44 loc) • 1.09 kB
JavaScript
/**
* GFM configuration resolution
* Handles remark-gfm configuration setup and defaults
*/
import { DEFAULT_GFM } from '../constants';
/**
* Resolve GFM configuration with defaults
*/
export function resolveGfmConfig(content) {
if (!content.remarkGfm) {
return content;
}
if (content.remarkGfm === true) {
return {
...content,
remarkGfm: DEFAULT_GFM,
};
}
if (typeof content.remarkGfm === 'object') {
return {
...content,
remarkGfm: {
...DEFAULT_GFM,
...content.remarkGfm,
},
};
}
return content;
}
/**
* Apply GFM configuration to plugin options
*/
export function applyGfmConfiguration(options) {
const content = options.content ?? {};
if (!(content.remarkGfm === true ||
(typeof content.remarkGfm === 'object' && content.remarkGfm !== null))) {
return options;
}
const resolvedContent = resolveGfmConfig(content);
return {
...options,
content: resolvedContent,
};
}