Claude-skill-registry docusaurus-plugins
Use when creating Docusaurus plugins (remark, rehype, theme, content, lifecycle) to extend markdown, modify HTML, or add custom functionality
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/docusaurus-plugins" ~/.claude/skills/majiayu000-claude-skill-registry-docusaurus-plugins-954fc2 && rm -rf "$T"
manifest:
skills/data/docusaurus-plugins/SKILL.mdsource content
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')]
Core Principles
- 5 Plugin Types: Remark (markdown), Rehype (HTML), Lifecycle (routes/webpack), Theme (components), Content (custom data)
- Remark: Transforms markdown before HTML conversion, use
for AST traversalunist-util-visit - 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