Files
hextra_mirror/exampleSite/content/docs/guide/shortcodes/tabs.fa.md

125 lines
4.3 KiB
Markdown
Raw Normal View History

---
2025-08-14 22:07:15 +08:00
title: تب‌ها
next: /docs/guide/deploy-site
---
## مثال
2025-08-14 22:07:15 +08:00
{{< tabs items="macOS,Linux,Windows" >}}
2025-08-14 22:07:15 +08:00
{{< tab >}}**macOS**: یک سیستم عامل دسکتاپ توسط اپل.{{< /tab >}}
{{< tab >}}**Linux**: یک سیستم عامل متن‌باز.{{< /tab >}}
{{< tab >}}**Windows**: یک سیستم عامل دسکتاپ توسط مایکروسافت.{{< /tab >}}
{{< /tabs >}}
2025-08-14 22:07:15 +08:00
## نحوه استفاده
### پیش‌فرض
```
{{</* tabs items="JSON,YAML,TOML" */>}}
2025-08-14 22:07:15 +08:00
{{</* tab */>}}**JSON**: JavaScript Object Notation (JSON) یک فرمت متنی استاندارد برای نمایش داده‌های ساختاریافته بر اساس نحو شیء جاوااسکریپت است.{{</* /tab */>}}
{{</* tab */>}}**YAML**: YAML یک زبان سریال‌سازی داده‌های قابل خواندن توسط انسان است.{{</* /tab */>}}
{{</* tab */>}}**TOML**: TOML هدفش این است که یک فرمت فایل پیکربندی حداقلی باشد که به دلیل معناشناسی واضح، خواندنش آسان باشد.{{</* /tab */>}}
{{</* /tabs */>}}
```
2025-08-14 22:07:15 +08:00
### مشخص کردن ایندکس انتخاب شده
2025-08-14 22:07:15 +08:00
از ویژگی `defaultIndex` برای مشخص کردن تب انتخاب شده استفاده کنید. ایندکس از 0 شروع می‌شود.
```
{{</* tabs items="JSON,YAML,TOML" defaultIndex="1" */>}}
2025-08-14 22:07:15 +08:00
{{</* tab */>}}**JSON**: JavaScript Object Notation (JSON) یک فرمت متنی استاندارد برای نمایش داده‌های ساختاریافته بر اساس نحو شیء جاوااسکریپت است.{{</* /tab */>}}
{{</* tab */>}}**YAML**: YAML یک زبان سریال‌سازی داده‌های قابل خواندن توسط انسان است.{{</* /tab */>}}
{{</* tab */>}}**TOML**: TOML هدفش این است که یک فرمت فایل پیکربندی حداقلی باشد که به دلیل معناشناسی واضح، خواندنش آسان باشد.{{</* /tab */>}}
{{</* /tabs */>}}
```
2025-08-14 22:07:15 +08:00
تب `YAML` به طور پیش‌فرض انتخاب خواهد شد.
{{< tabs items="JSON,YAML,TOML" defaultIndex="1" >}}
2025-08-14 22:07:15 +08:00
{{< tab >}}**JSON**: JavaScript Object Notation (JSON) یک فرمت متنی استاندارد برای نمایش داده‌های ساختاریافته بر اساس نحو شیء جاوااسکریپت است.{{< /tab >}}
{{< tab >}}**YAML**: YAML یک زبان سریال‌سازی داده‌های قابل خواندن توسط انسان است.{{< /tab >}}
{{< tab >}}**TOML**: TOML هدفش این است که یک فرمت فایل پیکربندی حداقلی باشد که به دلیل معناشناسی واضح، خواندنش آسان باشد.{{< /tab >}}
{{< /tabs >}}
2025-08-14 22:07:15 +08:00
### استفاده از Markdown
2025-08-14 22:07:15 +08:00
نحو Markdown شامل بلوک کد نیز پشتیبانی می‌شود:
````
{{</* tabs items="JSON,YAML,TOML" */>}}
{{</* tab */>}}
```json
2025-08-14 22:07:15 +08:00
{ "hello": "world" }
```
{{</* /tab */>}}
2025-08-14 22:07:15 +08:00
... سایر تب‌ها را به همین ترتیب اضافه کنید
{{</* /tabs */>}}
````
{{< tabs items="JSON,YAML,TOML" >}}
{{< tab >}}
```json
2025-08-14 22:07:15 +08:00
{ "hello": "world" }
```
{{< /tab >}}
{{< tab >}}
```yaml
2025-08-14 22:07:15 +08:00
hello: world
```
{{< /tab >}}
{{< tab >}}
```toml
2025-08-14 22:07:15 +08:00
hello = "world"
```
{{< /tab >}}
{{< /tabs >}}
2025-08-14 22:07:15 +08:00
### همگام‌سازی تب‌ها
تب‌هایی که لیست `items` یکسانی دارند می‌توانند همگام‌سازی شوند. وقتی فعال باشد، انتخاب یک تب تمام تب‌های دیگر با `items` یکسان را به‌روز می‌کند و انتخاب را در بین صفحات به خاطر می‌سپارد.
به صورت جهانی در فایل `hugo.yaml` در بخش `page` فعال کنید:
```yaml {filename="hugo.yaml"}
params:
page:
tabs:
sync: true
```
با فعال کردن این گزینه، دو بلوک تب زیر همیشه آیتم انتخاب شده یکسانی را نمایش خواهند داد:
```markdown
{{</* tabs items="A,B" */>}}
{{</* tab */>}}محتوای A{{</* /tab */>}}
{{</* tab */>}}محتوای B{{</* /tab */>}}
{{</* /tabs */>}}
{{</* tabs items="A,B" */>}}
{{</* tab */>}}محتوای دوم A{{</* /tab */>}}
{{</* tab */>}}محتوای دوم B{{</* /tab */>}}
{{</* /tabs */>}}
```