Files
supabase/apps/docs/features/directives/README.md
Charis c2fe11850d feat: embed code samples from github (#29519)
Add the ability to embed code samples from GitHub into tutorials, so we can have a single source of truth for the source code.

Introduces the <$CodeSample /> syntax, which is a special syntax and not a real React component (see the directives/README.md for why on earth I did it this way -- in this specific case, CodeHike adjusts the MDX syntax tree before it gets compiled, and we need to adjust it ourselves before CodeHike sees it, so we need to get down to the level of manipulating the AST in order to make this work with CodeHike).

Adjusted one of the example tutorials to use this new feature as a test.
2024-09-26 15:54:57 -04:00

812 B

Directives

Directives are a custom feature of the Supabase docs content system, which allows you to extend MDX to provide custom functionality.

Why not a React component?

MDX supports React components, and that is the preferred way to add new features. If your use case is supported by a React component alone, use that instead.

Custom directives are used to implement features that need low-level parse or compile-time control over the MDX AST.

Syntax

We reserve a special syntax for directives, which start with a $ sign. For example:

<$CodeSample />

This syntax was chosen because it is both:

  • Sufficiently standard to be supported by MDX parsers without needing to build a custom extension.
  • Sufficiently uncommon to avoid collisions with other React components used in docs.