Thanks to the Twoslash integration of Shiki, the default code syntax highlighter, it is as simple as adding a transformer.
npm install fumadocs-twoslash
Add to your Shiki transformers.
Example for Fumadocs MDX
import createMDX from 'fumadocs-mdx/config';
import { rehypeCodeDefaultOptions } from 'fumadocs-core/mdx-plugins';
import { transformerTwoslash } from 'fumadocs-twoslash';
/** @type {import('next').NextConfig} */
const withMDX = createMDX({
mdxOptions: {
rehypeCodeOptions: {
transformers: [
...rehypeCodeDefaultOptions.transformers,
transformerTwoslash(),
],
},
},
});
export default withMDX(config);
Add stylings and components.
import 'fumadocs-ui/twoslash.css';
import { Popup, PopupContent, PopupTrigger } from 'fumadocs-ui/twoslash/popup';
const mdxComponents = {
Popup,
PopupContent,
PopupTrigger,
};
Learn more about Twoslash notations.
console.g- group
- groupCollapsed
- groupEnd
;
const player: Player = { name: 'Hello World' };
const a = '123';
console.log(a);
import { generateFiles } from 'fumadocs-openapi';
void generateFiles({
input: ['./museum.yaml'],
output: './content/docs/ui',
});
const a = '123';
a = 132;Cannot assign to 'a' because it is a constant.
const b = 1;
const c = 1;
const d = 1;
Custom annotation message