Use when creating Docusaurus plugins (remark, rehype, theme, content, lifecycle) to extend markdown, modify HTML, or add custom functionality
// Remark plugin - transforms markdown AST module.exports = function remarkPlugin(options = {}) { return async function transformer(ast, vfile) { const { visit } = require('unist-util-visit'); visit(ast, 'link', (node) => { // Transform nodes node.data = node.data || {}; node.data.hProperties = { className: 'custom' }; }); return ast; }; }; // In docusaurus.config.js: // remarkPlugins: [require('./plugins/my-plugin')]
unist-util-visit
loadContent()
contentLoaded()
postBuild()
Detailed guides for each plugin type: