Snippets reutilizáveis
One of the core principles of software development is DRY (Don't Repeat Yourself). This is a principle that applies to documentation as well. If you find yourself repeating the same content in multiple places, you should consider creating a custom snippet to keep your content in sync.
Criando um snippet personalizado
Pré-condição: Você deve criar seu arquivo de snippet no diretório snippets.
Qualquer página no diretório snippets será tratada como um snippet e não será
renderizada como uma página independente. Se você quiser criar uma página independente
a partir do snippet, importe o snippet para outro arquivo e chamou-o como um
componente.
Exportação padrão
- Adicione conteúdo ao seu arquivo de snippet que você deseja reutilizar em vários locais. Opcionalmente, você pode adicionar variáveis que podem ser preenchidas via props quando você importar o snippet.
Olá mundo! Este é o meu conteúdo que quero reutilizar em páginas. Minha palavra-chave do
dia é {word}.
O conteúdo que você deseja reutilizar deve estar dentro do diretório snippets para
que a importação funcione.
- Importe o snippet para seu arquivo de destino.
title: Meu título
description: Minha Descrição
import MySnippet from '/snippets/path/to/my-snippet.mdx';
## Cabeçalho
Lorem ipsum dolor sit amet.
<MySnippet word="bananas" />
Variáveis reutilizáveis
- Exporte uma variável do seu arquivo de snippet:
export const myName = 'meu nome';
export const myObject = { fruit: 'morangos' };
- Importe o snippet do seu arquivo de destino e use a variável:
title: Meu título
description: Minha Descrição
import { myName, myObject } from '/snippets/path/to/custom-variables.mdx';
Olá, meu nome é {myName} e eu gosto de {myObject.fruit}.
Componentes reutilizáveis
- Dentro do seu arquivo de snippet, crie um componente que receba props exportando seu componente na forma de uma função arrow.
export const MyComponent = ({ title }) => (
<div>
<h1>{title}</h1>
<p>... conteúdo do snippet ...</p>
</div>
);
O MDX não compila dentro do corpo de uma função arrow. Prefira a sintaxe HTML quando possível ou use uma exportação padrão se precisar usar MDX.
- Importe o snippet para seu arquivo de destino e passe as props
title: Meu título
description: Minha Descrição
import { MyComponent } from '/snippets/custom-component.mdx';
Lorem ipsum dolor sit amet.
<MyComponent title={'Título personalizado'} />