## ارجاع به منابع ایستا{#referencing-static-assets}
## ارجاع به منابع ایستا{#referencing-static-assets}
تمام فایلهای Markdown به کامپوننتهای Vue تبدیل و توسط [Vite](https://vitejs.dev/guide/assets.html) پردازش میشوند. شما میتوانید، **و باید**، هر نوع دارایی را با استفاده از URLهای نسبی مرجع قرار دهید:
تمام فایلهای Markdown به کامپوننتهای Vue تبدیل و توسط [Vite](https://vitejs.dev/guide/assets.html) پردازش میشوند. شما میتوانید، **و باید**، هر نوع دارایی را با استفاده از URLهای نسبی مرجع قرار دهید:
@ -20,7 +20,7 @@ PDFها یا سندهای دیگر که از طریق پیوندها در ف
تمام ارجاعهای مسیر **ایستا**، شامل مسیرهای مطلق، باید بر اساس ساختار دایرکتوری کاری شما تعیین شوند.
تمام ارجاعهای مسیر **ایستا**، شامل مسیرهای مطلق، باید بر اساس ساختار دایرکتوری کاری شما تعیین شوند.
## دایرکتوری عمومی{#the-public-directory}
## دایرکتوری عمومی{#the-public-directory}
گاهی اوقات ممکن است نیاز داشته باشید منابع ایستا را فراهم کنید که به صورت مستقیم در هیچیک از Markdown یا کامپوننتهای قالب شما ارجاع نشدهاند، یا ممکن است بخواهید برخی فایلها را با نام اصلی خود سرویس دهید. به عنوان مثال، فایلهایی مانند `robots.txt`، آیکونهای fav، و آیکونهای PWA.
گاهی اوقات ممکن است نیاز داشته باشید منابع ایستا را فراهم کنید که به صورت مستقیم در هیچیک از Markdown یا کامپوننتهای قالب شما ارجاع نشدهاند، یا ممکن است بخواهید برخی فایلها را با نام اصلی خود سرویس دهید. به عنوان مثال، فایلهایی مانند `robots.txt`، آیکونهای fav، و آیکونهای PWA.
# اتصال به یک سیستم مدیریت محتوا (CMS){#connecting-to-a-cms}
# اتصال به یک سیستم مدیریت محتوا (CMS){#connecting-to-a-cms}
## گامهای کلی{#general-workflow}
## گامهای کلی{#general-workflow}
اتصال ویتپرس به یک سیستم مدیریت محتوا به طور عمده بر اساس [مسیریابی پویا](./routing#dynamic-routes) خواهد بود. حتماً قبل از شروع، با روش کار آن آشنا شوید.
اتصال ویتپرس به یک سیستم مدیریت محتوا به طور عمده بر اساس [مسیریابی پویا](./routing#dynamic-routes) خواهد بود. حتماً قبل از شروع، با روش کار آن آشنا شوید.
@ -51,6 +51,6 @@ outline: deep
<!-- @content -->
<!-- @content -->
```
```
## راهنماهای ادغام{#integration-guides}
## راهنماهای ادغام{#integration-guides}
اگر راهنمایی درباره ادغام ویتپرس با یک سیستم مدیریت محتوا خاص نوشتهاید، لطفاً از لینک "ویرایش این صفحه" زیر استفاده کنید تا آن را ارسال کنید!
اگر راهنمایی درباره ادغام ویتپرس با یک سیستم مدیریت محتوا خاص نوشتهاید، لطفاً از لینک "ویرایش این صفحه" زیر استفاده کنید تا آن را ارسال کنید!
وقتی ویتپرس حضور یک فایل ورودی تم را شناسایی کند، همواره از تم سفارشی به جای تم پیشفرض استفاده میکند. با این حال، شما میتوانید [تم پیشفرض را گسترش دهید](./extending-default-theme) تا سفارشیسازیهای پیشرفتهتری را روی آن اعمال کنید.
وقتی ویتپرس حضور یک فایل ورودی تم را شناسایی کند، همواره از تم سفارشی به جای تم پیشفرض استفاده میکند. با این حال، شما میتوانید [تم پیشفرض را گسترش دهید](./extending-default-theme) تا سفارشیسازیهای پیشرفتهتری را روی آن اعمال کنید.
## رابط تم{#theme-interface}
## رابط تم{#theme-interface}
یک تم سفارشی ویتپرس به عنوان یک شی تعریف میشود که شامل رابط زیر است:
یک تم سفارشی ویتپرس به عنوان یک شی تعریف میشود که شامل رابط زیر است:
# بارگذاری داده در زمان ساخت{#build-time-data-loading}
# بارگذاری داده در زمان ساخت{#build-time-data-loading}
ویتپرس یک ویژگی به نام **بارگذارهای داده** ارائه میدهد که به شما این امکان را میدهد که دادههای دلخواه را بارگیری کنید و آنها را از صفحات یا اجزا وارد کنید. بارگذاری داده فقط **در زمان ساخت** اجرا میشود: دادههای حاصل به صورت JSON در بسته JavaScript نهایی سریالیزه میشوند.
ویتپرس یک ویژگی به نام **بارگذارهای داده** ارائه میدهد که به شما این امکان را میدهد که دادههای دلخواه را بارگیری کنید و آنها را از صفحات یا اجزا وارد کنید. بارگذاری داده فقط **در زمان ساخت** اجرا میشود: دادههای حاصل به صورت JSON در بسته JavaScript نهایی سریالیزه میشوند.
بارگذارهای داده میتوانند برای بارگیری دادههای از راه دور یا تولید فرادادهها بر اساس فایلهای محلی استفاده شوند. به عنوان مثال، میتوانید از بارگذارهای داده استفاده کنید تا تمام صفحات API محلی خود را تجزیه کنید و به طور خودکار یک فهرست از تمام ورودیهای API تولید کنید.
بارگذارهای داده میتوانند برای بارگیری دادههای از راه دور یا تولید فرادادهها بر اساس فایلهای محلی استفاده شوند. به عنوان مثال، میتوانید از بارگذارهای داده استفاده کنید تا تمام صفحات API محلی خود را تجزیه کنید و به طور خودکار یک فهرست از تمام ورودیهای API تولید کنید.
## استفاده ابتدایی{#basic-usage}
## استفاده ابتدایی{#basic-usage}
یک فایل بارگذار داده باید با `.data.js` یا `.data.ts` پایان یابد. فایل باید یک صادرات پیشفرض از یک شی با متد `load()` داشته باشد:
یک فایل بارگذار داده باید با `.data.js` یا `.data.ts` پایان یابد. فایل باید یک صادرات پیشفرض از یک شی با متد `load()` داشته باشد:
@ -52,7 +52,7 @@ export default {
}
}
```
```
## داده از فایلهای محلی{#data-from-local-files}
## داده از فایلهای محلی{#data-from-local-files}
وقتی نیاز به تولید داده بر اساس فایلهای محلی دارید، باید از گزینه `watch` در بارگذار داده استفاده کنید تا تغییرات اعمال شده به این فایلها بتواند به روزرسانیهای سریع منجر شود.
وقتی نیاز به تولید داده بر اساس فایلهای محلی دارید، باید از گزینه `watch` در بارگذار داده استفاده کنید تا تغییرات اعمال شده به این فایلها بتواند به روزرسانیهای سریع منجر شود.
@ -133,7 +133,7 @@ import { data as posts } from './posts.data.js'
</template>
</template>
```
```
### گزینهها{#options}
### گزینهها{#options}
احتمالاً داده پیشفرض به تمام نیازها پاسخ نمیدهد - شما میتوانید با استفاده از گزینهها به تبدیل دادهها مشترک شوید:
احتمالاً داده پیشفرض به تمام نیازها پاسخ نمیدهد - شما میتوانید با استفاده از گزینهها به تبدیل دادهها مشترک شوید:
بهطور پیشفرض، ما فرض میکنیم که وبسایت در مسیر ریشه دامنه (`/`) انتشار مییابد. اگر وبسایت شما باید در یک زیرمسیر ارائه شود، مانند `https://mywebsite.com/blog/`، در این صورت باید گزینه [`base`](../reference/site-config#base) را به `'/blog/'` در پیکربندی ویتپرس تنظیم کنید.
بهطور پیشفرض، ما فرض میکنیم که وبسایت در مسیر ریشه دامنه (`/`) انتشار مییابد. اگر وبسایت شما باید در یک زیرمسیر ارائه شود، مانند `https://mywebsite.com/blog/`، در این صورت باید گزینه [`base`](../reference/site-config#base) را به `'/blog/'` در پیکربندی ویتپرس تنظیم کنید.
3. تغییرات خود را به شاخه `main` ارسال کنید و منتظر GitHub Actions workflow بمانید. شما باید وبسایت خود را در `https://<username>.github.io/[repository]/` یا `https://<custom-domain>/` بسته به تنظیمات خود دیده شده است. وبسایت شما بهطور خودکار در هر بار فشردهسازی به شاخه `main` ارسال میشود.
3. تغییرات خود را به شاخه `main` ارسال کنید و منتظر GitHub Actions workflow بمانید. شما باید وبسایت خود را در `https://<username>.github.io/[repository]/` یا `https://<custom-domain>/` بسته به تنظیمات خود دیده شده است. وبسایت شما بهطور خودکار در هر بار فشردهسازی به شاخه `main` ارسال میشود.
### صفحات GitLab{#gitlab-pages}
### صفحات GitLab{#gitlab-pages}
1. `outDir` را در پیکربندی ویتپرس به `../public` تنظیم کنید. گزینه `base` را به `'/<repository>/'` تنظیم کنید اگر میخواهید در `https://<username>.gitlab.io/<repository>/` انتشار دهید.
1. `outDir` را در پیکربندی ویتپرس به `../public` تنظیم کنید. گزینه `base` را به `'/<repository>/'` تنظیم کنید اگر میخواهید در `https://<username>.gitlab.io/<repository>/` انتشار دهید.
لیست متغیرهای CSS [تم پیشفرض](https://github.com/vuejs/vitepress/blob/main/src/client/theme-default/styles/vars.css) که میتوانند سفارشیسازی شوند را ببینید.
لیست متغیرهای CSS [تم پیشفرض](https://github.com/vuejs/vitepress/blob/main/src/client/theme-default/styles/vars.css) که میتوانند سفارشیسازی شوند را ببینید.
## استفاده از فونتهای مختلف{#using-different-fonts}
## استفاده از فونتهای مختلف{#using-different-fonts}
ویتپرس از [Inter](https://rsms.me/inter/) به عنوان فونت پیشفرض استفاده میکند و فونتها را در خروجی ساختهشده شامل میشود. این فونت همچنین در محصولات خودکار پیشبارگذاری میشود. با این حال، این ممکن است مطلوب نباشد اگر میخواهید از یک فونت اصلی مختلف استفاده کنید.
ویتپرس از [Inter](https://rsms.me/inter/) به عنوان فونت پیشفرض استفاده میکند و فونتها را در خروجی ساختهشده شامل میشود. این فونت همچنین در محصولات خودکار پیشبارگذاری میشود. با این حال، این ممکن است مطلوب نباشد اگر میخواهید از یک فونت اصلی مختلف استفاده کنید.
میتوانید ویتپرس را مستقیماً در مرورگر خود در [StackBlitz](https://vitepress.new) امتحان کنید.
میتوانید ویتپرس را مستقیماً در مرورگر خود در [StackBlitz](https://vitepress.new) امتحان کنید.
## نصب{#installation}
## نصب{#installation}
### پیشنیازها{#prerequisites}
### پیشنیازها{#prerequisites}
- [Node.js](https://nodejs.org/) نسخه 18 یا بالاتر.
- [Node.js](https://nodejs.org/) نسخه 18 یا بالاتر.
- ترمینال برای دسترسی به ویتپرس از طریق رابط خط فرمان (CLI).
- ترمینال برای دسترسی به ویتپرس از طریق رابط خط فرمان (CLI).
@ -96,7 +96,7 @@ $ bun vitepress init
:::
:::
## ساختار فایلها{#file-structure}
## ساختار فایلها{#file-structure}
اگر در حال ساخت یک سایت مستقل ویتپرس هستید، میتوانید سایت را در دایرکتوری فعلی خود (`./`) بسازید. اما، اگر ویتپرس را در یک پروژه موجود به همراه سایر کدهای منبع نصب میکنید، توصیه میشود سایت را در یک دایرکتوری تودرتو (مثلاً `./docs`) بسازید تا از بقیه پروژه جدا باشد.
اگر در حال ساخت یک سایت مستقل ویتپرس هستید، میتوانید سایت را در دایرکتوری فعلی خود (`./`) بسازید. اما، اگر ویتپرس را در یک پروژه موجود به همراه سایر کدهای منبع نصب میکنید، توصیه میشود سایت را در یک دایرکتوری تودرتو (مثلاً `./docs`) بسازید تا از بقیه پروژه جدا باشد.
@ -121,7 +121,7 @@ $ bun vitepress init
:::
:::
### فایل پیکربندی{#the-config-file}
### فایل پیکربندی{#the-config-file}
فایل پیکربندی (`.vitepress/config.js`) به شما اجازه میدهد جنبههای مختلف سایت ویتپرس خود را سفارشی کنید، با گزینههای پایهای مانند عنوان و توضیحات سایت:
فایل پیکربندی (`.vitepress/config.js`) به شما اجازه میدهد جنبههای مختلف سایت ویتپرس خود را سفارشی کنید، با گزینههای پایهای مانند عنوان و توضیحات سایت:
@ -140,7 +140,7 @@ export default {
همچنین میتوانید رفتار تم را از طریق گزینه `themeConfig` پیکربندی کنید. برای جزئیات کامل درباره همه گزینههای پیکربندی، به [راهنمای پیکربندی](../reference/site-config) مراجعه کنید.
همچنین میتوانید رفتار تم را از طریق گزینه `themeConfig` پیکربندی کنید. برای جزئیات کامل درباره همه گزینههای پیکربندی، به [راهنمای پیکربندی](../reference/site-config) مراجعه کنید.
### فایلهای منبع{#source-files}
### فایلهای منبع{#source-files}
فایلهای Markdown خارج از دایرکتوری `.vitepress` به عنوان **فایلهای منبع** در نظر گرفته میشوند.
فایلهای Markdown خارج از دایرکتوری `.vitepress` به عنوان **فایلهای منبع** در نظر گرفته میشوند.
@ -212,7 +212,7 @@ $ bun vitepress dev docs
سرور توسعه باید در `http://localhost:5173` اجرا شود. URL را در مرورگر خود بازدید کنید تا سایت جدید خود را در عمل ببینید!
سرور توسعه باید در `http://localhost:5173` اجرا شود. URL را در مرورگر خود بازدید کنید تا سایت جدید خود را در عمل ببینید!
## مراحل بعدی{#what-s-next}
## مراحل بعدی{#what-s-next}
- برای درک بهتر چگونگی نگاشت فایلهای markdown به HTML تولید شده، به [راهنمای مسیر یابی](./routing) مراجعه کنید.
- برای درک بهتر چگونگی نگاشت فایلهای markdown به HTML تولید شده، به [راهنمای مسیر یابی](./routing) مراجعه کنید.
**نکته حرفهای:** فایل پیکربندی را میتوانید در `docs/.vitepress/config/index.ts` نیز ذخیره کنید. این کار به شما کمک میکند که با ایجاد یک فایل پیکربندی برای هر زبان و سپس ادغام و صدور آنها از `index.ts`، موارد را سازماندهی کنید.
**نکته حرفهای:** فایل پیکربندی را میتوانید در `docs/.vitepress/config/index.ts` نیز ذخیره کنید. این کار به شما کمک میکند که با ایجاد یک فایل پیکربندی برای هر زبان و سپس ادغام و صدور آنها از `index.ts`، موارد را سازماندهی کنید.
## دایرکتوری جداگانه برای هر زبان{#separate-directory-for-each-locale}
## دایرکتوری جداگانه برای هر زبان{#separate-directory-for-each-locale}
ساختار زیر به طور کاملاً صحیح است:
ساختار زیر به طور کاملاً صحیح است:
@ -108,6 +108,6 @@ watchEffect(() => {
</template>
</template>
```
```
## پشتیبانی از RTL (آزمایشی){#rtl-support-experimental}
## پشتیبانی از RTL (آزمایشی){#rtl-support-experimental}
برای پشتیبانی از RTL، `dir: 'rtl'` را در پیکربندی مشخص کنید و از پلاگینهای PostCSS RTLCSS مانند <https://github.com/MohammadYounes/rtlcss>، <https://github.com/vkalinichev/postcss-rtl> یا <https://github.com/elchininet/postcss-rtlcss> استفاده کنید. باید پلاگین PostCSS خود را به کارگیری `:where([dir="ltr"])` و `:where([dir="rtl"])` به عنوان پیشوندها جلوگیری از مشکلات اولویت CSS استفاده کنید.
برای پشتیبانی از RTL، `dir: 'rtl'` را در پیکربندی مشخص کنید و از پلاگینهای PostCSS RTLCSS مانند <https://github.com/MohammadYounes/rtlcss>، <https://github.com/vkalinichev/postcss-rtl> یا <https://github.com/elchininet/postcss-rtlcss> استفاده کنید. باید پلاگین PostCSS خود را به کارگیری `:where([dir="ltr"])` و `:where([dir="rtl"])` به عنوان پیشوندها جلوگیری از مشکلات اولویت CSS استفاده کنید.
ویتپرس از مسیریابی مبتنی بر فایل استفاده میکند که به این معنی است که صفحات HTML تولید شده از ساختار دایرکتوری فایلهای Markdown منبع نقشهبندی میشوند. به عنوان مثال، با توجه به ساختار دایرکتوری زیر:
ویتپرس از مسیریابی مبتنی بر فایل استفاده میکند که به این معنی است که صفحات HTML تولید شده از ساختار دایرکتوری فایلهای Markdown منبع نقشهبندی میشوند. به عنوان مثال، با توجه به ساختار دایرکتوری زیر:
این صفحات HTML نهایی میتوانند بر روی هر سرور وبی که قادر به ارائه فایلهای ایستا است، میزبانی شوند.
این صفحات HTML نهایی میتوانند بر روی هر سرور وبی که قادر به ارائه فایلهای ایستا است، میزبانی شوند.
## ریشه و دایرکتوری منبع{#root-and-source-directory}
## ریشه و دایرکتوری منبع{#root-and-source-directory}
در ساختار فایل پروژه ویتپرس، دو مفهوم مهم وجود دارد: **ریشه پروژه** و **دایرکتوری منبع**.
در ساختار فایل پروژه ویتپرس، دو مفهوم مهم وجود دارد: **ریشه پروژه** و **دایرکتوری منبع**.
### ریشه پروژه{#project-root}
### ریشه پروژه{#project-root}
ریشه پروژه جایی است که ویتپرس سعی میکند برای دایرکتوری ویژه `.vitepress` را بررسی کند. دایرکتوری `.vitepress` مکانی رزرو شده برای فایل پیکربندی، حافظه نهان سرور توسعه، خروجی ساخت، و کد سفارشیسازی موضوع اختیاری ویتپرس است.
ریشه پروژه جایی است که ویتپرس سعی میکند برای دایرکتوری ویژه `.vitepress` را بررسی کند. دایرکتوری `.vitepress` مکانی رزرو شده برای فایل پیکربندی، حافظه نهان سرور توسعه، خروجی ساخت، و کد سفارشیسازی موضوع اختیاری ویتپرس است.
@ -58,7 +58,7 @@ docs/index.md --> /index.html (قابل دسترس به عنوان /
docs/getting-started.md --> /getting-started.html
docs/getting-started.md --> /getting-started.html
```
```
### دایرکتوری منبع{#source-directory}
### دایرکتوری منبع{#source-directory}
دایرکتوری منبع جایی است که فایلهای منبع Markdown شما قرار میگیرند. به طور پیشفرض، این همانند ریشه پروژه است. با این حال، شما میتوانید آن را از طریق گزینه [`srcDir`](../reference/site-config#srcdir) پیکربندی کنید.
دایرکتوری منبع جایی است که فایلهای منبع Markdown شما قرار میگیرند. به طور پیشفرض، این همانند ریشه پروژه است. با این حال، شما میتوانید آن را از طریق گزینه [`srcDir`](../reference/site-config#srcdir) پیکربندی کنید.
@ -79,7 +79,7 @@ src/index.md --> /index.html (قابل دسترس به عنوان /)
src/getting-started.md --> /getting-started.html
src/getting-started.md --> /getting-started.html
```
```
## لینکدهی بین صفحات{#linking-between-pages}
## لینکدهی بین صفحات{#linking-between-pages}
میتوانید هنگام لینکدهی بین صفحات از مسیرهای نسبی و مطلق استفاده کنید. توجه داشته باشید که با اینکه هر دو پسوند `.md` و `.html` کار میکنند، بهتر است که پسوندها را حذف کنید تا ویتپرس بتواند URLهای نهایی را بر اساس پیکربندی شما تولید کند.
میتوانید هنگام لینکدهی بین صفحات از مسیرهای نسبی و مطلق استفاده کنید. توجه داشته باشید که با اینکه هر دو پسوند `.md` و `.html` کار میکنند، بهتر است که پسوندها را حذف کنید تا ویتپرس بتواند URLهای نهایی را بر اساس پیکربندی شما تولید کند.
جهت آشنایی بیشتر با لینکدهی به منابع مانند تصاویر به [مدیریت منابع](./asset-handling) مراجعه کنید.
جهت آشنایی بیشتر با لینکدهی به منابع مانند تصاویر به [مدیریت منابع](./asset-handling) مراجعه کنید.
### لینکدهی به صفحات غیر ویتپرس{#linking-to-non-vitepress-pages}
### لینکدهی به صفحات غیر ویتپرس{#linking-to-non-vitepress-pages}
اگر میخواهید به یک صفحه در وبسایت خود لینک دهید که توسط ویتپرس تولید نشده است، باید یا از URL کامل (باز میشود در یک تب جدید) استفاده کنید، یا هدف را به طور صریح مشخص کنید:
اگر میخواهید به یک صفحه در وبسایت خود لینک دهید که توسط ویتپرس تولید نشده است، باید یا از URL کامل (باز میشود در یک تب جدید) استفاده کنید، یا هدف را به طور صریح مشخص کنید:
میتوانید نقشهبندی بین ساختار دایرکتوری منبع و صفحات تولید شده را سفارشیسازی کنید. این ویژگی وقتی مفید است که یک ساختار پروژه پیچیده داشته باشید. به عنوان مثال، فرض کنید یک مونورپو با چند بسته دارید و میخواهید مستندات را همراه با فایلهای منبع قرار دهید مانند این:
میتوانید نقشهبندی بین ساختار دایرکتوری منبع و صفحات تولید شده را سفارشیسازی کنید. این ویژگی وقتی مفید است که یک ساختار پروژه پیچیده داشته باشید. به عنوان مثال، فرض کنید یک مونورپو با چند بسته دارید و میخواهید مستندات را همراه با فایلهای منبع قرار دهید مانند این:
@ -209,11 +209,11 @@ export default {
```
```
:::
:::
## مسیرهای پویا{#dynamic-routes}
## مسیرهای پویا{#dynamic-routes}
میتوانید صفحات زیادی را با استفاده از یک فایل Markdown و دادههای پویا تولید کنید. به عنوان مثال، میتوانید یک فایل `packages/[pkg].md` ایجاد کنید که برای هر بسته در یک پروژه، یک صفحه متناظر تولید میکند. در اینجا، بخش `[pkg]` یک پارامتر مسیر است که هر صفحه را از دیگران تمایز میدهد.
میتوانید صفحات زیادی را با استفاده از یک فایل Markdown و دادههای پویا تولید کنید. به عنوان مثال، میتوانید یک فایل `packages/[pkg].md` ایجاد کنید که برای هر بسته در یک پروژه، یک صفحه متناظر تولید میکند. در اینجا، بخش `[pkg]` یک پارامتر مسیر است که هر صفحه را از دیگران تمایز میدهد.
### فایل بارگیری مسیرها{#paths-loader-file}
### فایل بارگیری مسیرها{#paths-loader-file}
از آنجایی که ویتپرس یک موتور سایت ایستا است، مسیرهای ممکن باید در زمان ساخت تعیین شوند. بنابراین، یک صفحه مسیر پویا باید همراه با یک **فایل بارگیری مسیرها** همراه باشد. برای `packages/[pkg].md`، به `packages/[pkg].paths.js` (همچنین `.ts` پشتیبانی میشود) نیاز داریم:
از آنجایی که ویتپرس یک موتور سایت ایستا است، مسیرهای ممکن باید در زمان ساخت تعیین شوند. بنابراین، یک صفحه مسیر پویا باید همراه با یک **فایل بارگیری مسیرها** همراه باشد. برای `packages/[pkg].md`، به `packages/[pkg].paths.js` (همچنین `.ts` پشتیبانی میشود) نیاز داریم:
@ -288,7 +288,7 @@ export default {
└─ bar-2.0.0.html
└─ bar-2.0.0.html
```
```
### تولید پویای مسیرها{#dynamically-generating-paths}
### تولید پویای مسیرها{#dynamically-generating-paths}
ماژول بارگیری مسیر در Node.js اجرا میشود و تنها در زمان ساخت اجرا میشود. شما میتوانید آرایهی مسیرها را با استفاده از هر دادهای، سطحی یا از راه دور، به صورت پویا تولید کنید.
ماژول بارگیری مسیر در Node.js اجرا میشود و تنها در زمان ساخت اجرا میشود. شما میتوانید آرایهی مسیرها را با استفاده از هر دادهای، سطحی یا از راه دور، به صورت پویا تولید کنید.
@ -327,7 +327,7 @@ export default {
}
}
```
```
### دسترسی به پارامترها در صفحه{#accessing-params-in-page}
### دسترسی به پارامترها در صفحه{#accessing-params-in-page}
شما میتوانید از پارامترها برای انتقال دادههای اضافی به هر صفحه استفاده کنید. فایل مسیر Markdown میتواند از پارامترهای صفحه کنونی در عبارات Vue با استفاده از خاصیت `$params` global استفاده کند:
شما میتوانید از پارامترها برای انتقال دادههای اضافی به هر صفحه استفاده کنید. فایل مسیر Markdown میتواند از پارامترهای صفحه کنونی در عبارات Vue با استفاده از خاصیت `$params` global استفاده کند:
@ -349,7 +349,7 @@ console.log(params.value)
</script>
</script>
```
```
### نمایش محتوای خام{#rendering-raw-content}
### نمایش محتوای خام{#rendering-raw-content}
پارامترهای ارسال شده به صفحه در بارگذاری JavaScript کلاینت سریال میشوند، بنابراین باید از ارسال دادههای سنگین در پارامترها خودداری کنید، برای مثال محتوای خام Markdown یا HTML از یک CMS از راه دور.
پارامترهای ارسال شده به صفحه در بارگذاری JavaScript کلاینت سریال میشوند، بنابراین باید از ارسال دادههای سنگین در پارامترها خودداری کنید، برای مثال محتوای خام Markdown یا HTML از یک CMS از راه دور.
ویتپرس با پشتیبانی بیرونی برای تولید فایل `sitemap.xml` برای سایت شما ارائه میشود. برای فعالسازی آن، موارد زیر را به فایل `.vitepress/config.js` خود اضافه کنید:
ویتپرس با پشتیبانی بیرونی برای تولید فایل `sitemap.xml` برای سایت شما ارائه میشود. برای فعالسازی آن، موارد زیر را به فایل `.vitepress/config.js` خود اضافه کنید:
@ -12,7 +12,7 @@ export default {
برای داشتن تگهای `<lastmod>` در فایل `sitemap.xml` خود، میتوانید گزینه [`lastUpdated`](../reference/default-theme-last-updated) را فعال کنید.
برای داشتن تگهای `<lastmod>` در فایل `sitemap.xml` خود، میتوانید گزینه [`lastUpdated`](../reference/default-theme-last-updated) را فعال کنید.
## گزینهها{#options}
## گزینهها{#options}
پشتیبانی از sitemap توسط ماژول [`sitemap`](https://www.npmjs.com/package/sitemap) ارائه شده است. میتوانید هر گزینهای که توسط این ماژول پشتیبانی میشود را به گزینه `sitemap` در فایل پیکربندی خود منتقل کنید. این گزینهها به طور مستقیم به سازنده `SitemapStream` منتقل میشوند. برای جزئیات بیشتر به [مستندات sitemap](https://www.npmjs.com/package/sitemap#options-you-can-pass) مراجعه کنید. مثال:
پشتیبانی از sitemap توسط ماژول [`sitemap`](https://www.npmjs.com/package/sitemap) ارائه شده است. میتوانید هر گزینهای که توسط این ماژول پشتیبانی میشود را به گزینه `sitemap` در فایل پیکربندی خود منتقل کنید. این گزینهها به طور مستقیم به سازنده `SitemapStream` منتقل میشوند. برای جزئیات بیشتر به [مستندات sitemap](https://www.npmjs.com/package/sitemap#options-you-can-pass) مراجعه کنید. مثال:
@ -36,7 +36,7 @@ export default {
}
}
```
```
## هوک `transformItems`{#transformitems-hook}
## هوک `transformItems`{#transformitems-hook}
میتوانید از هوک `sitemap.transformItems` برای اصلاح موارد sitemap قبل از نوشتن آنها به فایل `sitemap.xml` استفاده کنید. این هوک با یک آرایه از موارد sitemap فراخوانی میشود و انتظار دارد که یک آرایه از موارد sitemap بازگردانده شود. مثال:
میتوانید از هوک `sitemap.transformItems` برای اصلاح موارد sitemap قبل از نوشتن آنها به فایل `sitemap.xml` استفاده کنید. این هوک با یک آرایه از موارد sitemap فراخوانی میشود و انتظار دارد که یک آرایه از موارد sitemap بازگردانده شود. مثال:
ویتپرس، با استفاده از قابلیتهای رندرینگ سمت سرور (SSR) ارائه شده توسط Vue، اپلیکیشن را در Node.js در هنگام ساخت تولیدی پیش از رندر میکند. این بدان معناست که کلیه کدهای سفارشی در اجزای تم به تطابق SSR وابسته هستند.
ویتپرس، با استفاده از قابلیتهای رندرینگ سمت سرور (SSR) ارائه شده توسط Vue، اپلیکیشن را در Node.js در هنگام ساخت تولیدی پیش از رندر میکند. این بدان معناست که کلیه کدهای سفارشی در اجزای تم به تطابق SSR وابسته هستند.
پیوند ویرایش به شما این امکان را میدهد که یک پیوند به صفحه ویرایش را در خدمات مدیریت گیت مانند GitHub یا GitLab نمایش دهید. برای فعالسازی آن، گزینه `themeConfig.editLink` را به پیکربندی خود اضافه کنید.
پیوند ویرایش به شما این امکان را میدهد که یک پیوند به صفحه ویرایش را در خدمات مدیریت گیت مانند GitHub یا GitLab نمایش دهید. برای فعالسازی آن، گزینه `themeConfig.editLink` را به پیکربندی خود اضافه کنید.
قالب پیشفرض ویتپرس یک طرح صفحه اصلی فراهم میکند که میتوانید آن را همچنین در [صفحه اصلی این سایت](../) مشاهده کنید. شما میتوانید آن را در هر یک از صفحات خود با تعیین `layout: home` در [frontmatter](./frontmatter-config) استفاده کنید.
قالب پیشفرض ویتپرس یک طرح صفحه اصلی فراهم میکند که میتوانید آن را همچنین در [صفحه اصلی این سایت](../) مشاهده کنید. شما میتوانید آن را در هر یک از صفحات خود با تعیین `layout: home` در [frontmatter](./frontmatter-config) استفاده کنید.
شما میتوانید متن و پیوند برای صفحات قبلی و بعدی را سفارشیسازی کنید (نمایش داده شده در پایین صفحه مستندات). این مفید است اگر میخواهید متن دیگری را در این قسمت نمایش دهید که با آنچه در نوار کناری دارید، متفاوت باشد. همچنین، ممکن است مفید باشد که فوتر را غیرفعال کنید یا به یک صفحه لینک کنید که در نوار کناری شما وجود ندارد.
شما میتوانید متن و پیوند برای صفحات قبلی و بعدی را سفارشیسازی کنید (نمایش داده شده در پایین صفحه مستندات). این مفید است اگر میخواهید متن دیگری را در این قسمت نمایش دهید که با آنچه در نوار کناری دارید، متفاوت باشد. همچنین، ممکن است مفید باشد که فوتر را غیرفعال کنید یا به یک صفحه لینک کنید که در نوار کناری شما وجود ندارد.
به طور پیشفرض، تابع `defineConfig` انتظار دارد نوع تنظیمات تم از تم پیشفرض باشد:
به طور پیشفرض، تابع `defineConfig` انتظار دارد نوع تنظیمات تم از تم پیشفرض باشد:
@ -487,7 +487,7 @@ export default {
زمانی که به `true` تنظیم شود، اپلیکیشن تولید شده در [حالت MPA](../guide/mpa-mode) ساخته خواهد شد. حالت MPA به طور پیشفرض 0 کیلوبایت جاوااسکریپت ارسال میکند، به هزینه غیرفعال کردن ناوبری سمت کاربر و نیاز به opt-in صریح برای تعامل.
زمانی که به `true` تنظیم شود، اپلیکیشن تولید شده در [حالت MPA](../guide/mpa-mode) ساخته خواهد شد. حالت MPA به طور پیشفرض 0 کیلوبایت جاوااسکریپت ارسال میکند، به هزینه غیرفعال کردن ناوبری سمت کاربر و نیاز به opt-in صریح برای تعامل.
## تمسازی{#theming}
## تمسازی{#theming}
### appearance
### appearance
@ -559,7 +559,7 @@ export default {
}
}
```
```
## قلابهای ساخت{#build-hooks}
## قلابهای ساخت{#build-hooks}
قلابهای ساخت ویتپرس به شما امکان اضافه کردن عملکرد و رفتارهای جدید به وبسایت خود را میدهند:
قلابهای ساخت ویتپرس به شما امکان اضافه کردن عملکرد و رفتارهای جدید به وبسایت خود را میدهند: