مسیرها

مسیرها مشخص می‌کنند درخواست‌های مختلف چگونه پاسخ داده شوند. مسیر با URL درخواست تطبیق می‌یابد و تعیین می‌کند چه خروجی‌ای نمایش داده شود؛ مثلاً مسیر /tag/my-tag قالب tag.twig را رندر می‌کند.

تنظیمات مسیر در پنل ← تنظیمات ← مسیرها است.

مسیرهای پیش‌فرض

هر وبلاگ تازه پنج مسیر دارد:

نامالگوی تطبیقکاربردقالب
post/{slug}نمایش نوشتهpost
page/{slug}نمایش صفحهpage,post
index/فهرست همهٔ نوشته‌هاindex
tag/tag/{slug}فهرست نوشته‌های یک برچسبtag,index
author/author/{slug}فهرست نوشته‌های یک نویسندهauthor,index

فیلتر نوشته‌ها، نوشته‌های قابل‌نمایش در قالب فهرست را مشخص می‌کند و به قالب با متغیر _posts می‌رسد. این فیلتر در صفحه‌های فهرست، برچسب و نویسنده استفاده می‌شود.

مسیرهای ویژهٔ غیرقابل‌سفارشی‌سازی هم شامل /styles.css، /assets/{file_name}، /media/{file_name}، /p/{hash}، /robots.txt و فایل‌های /sitemap*.xml هستند.

الگوی مسیر post و page را می‌توانید تغییر دهید. مقدار پیش‌فرض /{slug} است؛ نمونه‌های دیگر:

  • /{year}/{month}/{day}/{slug}
  • /{tag}/{slug}
  • /{author}/{slug}

{slug} الزامی است. جای‌نگهدارهای عمومی {tag} (برچسب نخست نوشته) و {author} (شناسهٔ نویسنده) نیز در دسترس‌اند. اگر از آن‌ها استفاده می‌کنید، هر نوشته باید برچسب یا نویسنده داشته باشد؛ در غیر این صورت صفحهٔ آن 404 می‌شود.

جای‌نگهدارهای زمان بر پایهٔ زمان انتشارند: {year}، {year_short}، {month}، {month_number}، {month_short}، {month_long}، {day}، {day_number}، {day_year}، {day_week}، {day_week_long}، {day_week_number}، {hour}، {minute}، {second} و {unix}. نام ماه و روز فقط با حروف کوچک انگلیسی پشتیبانی می‌شود.

سفارشی‌سازی مسیرهای دیگر

می‌توانید مسیرهای پیش‌فرض مانند index، tag، author و search را تا حدی تغییر دهید؛ برای نمونه:

  • /author/{slug} به /creator/{slug}
  • /tag/{slug} به /category/{slug}
  • / به /blog

توسعه‌دهندگان پوسته می‌توانند با افزودن فایل‌های route-{route}.twig مسیرهای سفارشی بسازند.

مسیر سفارشی

علاوه بر مسیرهای پیش‌فرض، مسیر دلخواه بسازید؛ مثلاً برای صفحهٔ فرود، مجموعهٔ تازه‌ای از نوشته‌ها یا خوراک RSS پادکست.

تداخل مسیرها

تداخل معمولاً زمانی رخ می‌دهد که دو مسیر الگوی یکسان داشته باشند. مسیرهای post و page می‌توانند الگوی مشترک داشته باشند (هر دو به‌طور پیش‌فرض /{slug} هستند)، اما مسیرهای دیگر نباید الگوی تکراری داشته باشند.

پسوند و پیشوند

پسوندهای پشتیبانی‌شده:

  • /feed برای خوراک Atom (باید posts_filter تنظیم شود)
  • /page/{page_number} برای صفحه‌بندی

می‌توان مسیرها را با کد زبان پیشوندگذاری کرد؛ راهنمای زبان‌ها را ببینید.

ساخت وب‌سایت

رفتار پیش‌فرض، نمایش فهرست نوشته‌ها در صفحهٔ اصلی است. می‌توانید ویترو بلاگ را برای سایت عمومی هم به کار ببرید؛ مثلاً صفحهٔ اصلی را به صفحهٔ فرود تبدیل کنید و وبلاگ را در /blog بگذارید.

چند مجموعهٔ نوشته

به‌طور پیش‌فرض همهٔ نوشته‌ها در یک مجموعه‌اند. برای نمونه، اگر نوشته‌های وبلاگ و قسمت‌های پادکست را جدا می‌خواهید:

  1. به نوشته‌های پادکست برچسب podcast بدهید.
  2. قالب index.twig را ویرایش کنید تا نمای کلی دو مجموعه را نشان دهد.
  3. مسیر /blog را با فیلتر tag.slug != podcast برای نوشته‌های عادی و مسیر /podcast را با فیلتر tag.slug = podcast بسازید.