CtrlK
BlogDocsLog inGet started
Tessl Logo

docusaurus-plugins

Use when creating Docusaurus plugins — write remark transformers for markdown AST, rehype transformers for HTML/HAST, lifecycle plugins that add routes/webpack config/global data via loadContent and contentLoaded, theme plugins and swizzled components, and content plugins for custom data sources. Triggers on tasks involving custom remark/rehype plugins, content plugins, theme plugins, or Docusaurus lifecycle hooks.

71

Quality

86%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

The canonical home for this skill is mcclowes/docusaurus-plugins

SKILL.md
Quality
Evals
Security

Docusaurus Plugin Guide

Quick Start

// 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')]

Choosing a plugin type

Start here — pick the type from what you need to change, then open the matching reference file:

You want to…UseReference
Change markdown syntax/content before HTMLRemarkremark-plugins.md
Change the generated HTMLRehyperehype-plugins.md
Add routes, webpack config, or global build dataLifecyclelifecycle-plugins.md
Override or wrap UI componentsThemetheme-plugins.md
Load a custom content source (CMS, API, files)Contentcontent-plugins.md

Core Principles

  • 5 Plugin Types: Remark (markdown), Rehype (HTML), Lifecycle (routes/webpack), Theme (components), Content (custom data)
  • Remark: Transforms markdown before HTML conversion, use unist-util-visit for AST traversal
  • Rehype: Transforms HTML after compilation, processes HAST (HTML AST)
  • Lifecycle: Most flexible, implements hooks like loadContent(), contentLoaded(), postBuild()
  • Export function: Returns transformer (remark/rehype) or plugin object (lifecycle)

Reference Files

Detailed guides for each plugin type:

  • references/remark-plugins.md - Markdown transformation
  • references/rehype-plugins.md - HTML processing
  • references/lifecycle-plugins.md - Routes, webpack, global data
  • references/theme-plugins.md - Themes and swizzling
  • references/content-plugins.md - Custom content types
  • references/package-structure.md - Publishing and config
Repository
mcclowes/skills-docusaurus
Last updated
First committed

Canonical home

mcclowes/docusaurus-plugins
In sync

since Jun 17, 2026

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.