DI

Inject dependencies

Similar to how remark and rehype plugins and other options can be passed you can also inject your own implementations instead of the existing ones.

Changing any of these potentially requires updating components as well.

Please feel free to replace existing implementations like the following:

Contributions to the existing implementations are always welcome!

Feel free to check the for any potential overlap.

export type DocServiceOptions = ConfigOptions & {
  // other options
  mdxBundlerOptions: MDXBundlerOptions;
  frontmatterProcessor?: FrontmatterProcessor;
  sortProvider?: SortProvider<Awaited<ReturnType<typeof bundleMDX>>>;
  tocPlugin?: (headings: DocHeading[]) => unified.Plugin;
};