Yazılım geliştirmenin temel prensiplerinden biri DRY’dir (Don’t Repeat
Yourself - Kendini Tekrarlama). Bu prensip dokümantasyon için de geçerlidir.
Aynı içeriği birden fazla yerde tekrarladığınızı fark ederseniz, içeriğinizi
senkronize tutmak için özel bir parçacık oluşturmayı düşünmelisiniz.
Özel parçacık oluşturma
Ön koşul: Parçacık dosyanızı snippets dizininde oluşturmanız gerekir.
snippets dizinindeki herhangi bir sayfa parçacık olarak değerlendirilir ve
bağımsız bir sayfa olarak işlenmez. Parçacıktan bağımsız bir sayfa
oluşturmak istiyorsanız, parçacığı başka bir dosyaya aktarın ve bileşen
olarak çağırın.
Varsayılan dışa aktarma
- Birden fazla konumda yeniden kullanmak istediğiniz içeriği parçacık dosyanıza ekleyin.
İsteğe bağlı olarak, parçacığı içe aktardığınızda props aracılığıyla doldurulan
değişkenler ekleyebilirsiniz.
Hello world! This is my content I want to reuse across pages. My keyword of the
day is {word}.
Yeniden kullanmak istediğiniz içerik, içe aktarmanın çalışması için snippets
dizini içinde olmalıdır.
- Parçacığı hedef dosyanıza aktarın.
---
title: My title
description: My Description
---
import MySnippet from '/snippets/path/to/my-snippet.mdx';
## Header
Lorem impsum dolor sit amet.
<MySnippet word="bananas" />
Yeniden kullanılabilir değişkenler
- Parçacık dosyanızdan bir değişken dışa aktarın:
snippets/path/to/custom-variables.mdx
export const myName = 'my name';
export const myObject = { fruit: 'strawberries' };
- Hedef dosyanızdan parçacığı içe aktarın ve değişkeni kullanın:
---
title: My title
description: My Description
---
import { myName, myObject } from '/snippets/path/to/custom-variables.mdx';
Hello, my name is {myName} and I like {myObject.fruit}.
Yeniden kullanılabilir bileşenler
- Parçacık dosyanızın içinde, bileşeninizi ok fonksiyonu biçiminde dışa aktararak
props alan bir bileşen oluşturun.
snippets/custom-component.mdx
export const MyComponent = ({ title }) => (
<div>
<h1>{title}</h1>
<p>... snippet content ...</p>
</div>
);
MDX, ok fonksiyonunun gövdesinde derlenmez. Mümkün olduğunda HTML
sözdizimine bağlı kalın veya MDX kullanmanız gerekiyorsa varsayılan dışa aktarma kullanın.
- Parçacığı hedef dosyanıza aktarın ve props’ları iletin
---
title: My title
description: My Description
---
import { MyComponent } from '/snippets/custom-component.mdx';
Lorem ipsum dolor sit amet.
<MyComponent title={'Custom title'} />