اصول
چرا پرتو اینگونه است — چهار اصل بنیادین که بقیهی سیستم از آنها نتیجه میشود
معرفی
پرتو یک کتابخانهی UI عمومی نیست. چهار اصل زیر تصمیمهای بقیهی سیستم را توضیح میدهند: اینکه چرا فاصلهگذاری منطقی است نه فیزیکی، چرا ارقام با فونت فارسی میشوند نه با جاوااسکریپت، و چرا کامپوننتها اصطلاحهای دامنه را در خودشان دارند.
این بخش یکبار خوانده میشود، نه بهعنوان مرجع. اگر دنبال نام کلاس یا مقدار توکن هستید، به پایهها بروید.
راهنمای انتخاب
فارسیمحور بودن
اصل اول پرتو — طراحی از ابتدا برای زبان فارسی، نه ترجمه از انگلیسی
دسترسیپذیری
پرتو برای همه قابل استفاده است — WCAG AA، ناوبری با صفحهکلید، و پشتیبانی کامل از screen reader
مفاهیم دامنه
دانش دامنه سوشال لیسنینگ و اینفلوئنسر مارکتینگ که در کامپوننتهای پرتو کدگذاری شدهاند
مفاهیم تحلیل مخاطب
۵ گرایش مخاطب، ۹ احساس پیشرفته، شدت در برابر وضعیت، پلتفرمهای صوتیتصویری (تلویزیون/رادیو/مطبوعات) و توکنهای دامنهمحور
نکات مشترک
اصلها در این پروژه توصیه نیستند؛ هر کدام جایی اجرا میشوند:
| اصل | کجا اجرا میشود |
|---|---|
| RTL منطقی | قانون ESLint parto/no-physical-css-properties — ml/mr/pl/pr/left/right خطا میدهند |
| بدون رنگ hardcode | parto/no-hardcoded-colors و parto/no-palette-colors؛ بهعلاوهی گیت کنتراست که هر دو تم را میسنجد |
| کنتراست خوانا | parto/no-low-contrast-text و parto/no-muted-readable-text — دومی text-muted را هم میگیرد، که سطح غیرفعال است |
| تایپوگرافی فارسی | parto/no-tracking-on-persian-text و parto/no-offscale-text — letter-spacing خط فارسی را میشکند |
| قطعهکدهای مستندات | گیت check-mdx-classnames همین قوانین را روی بلوکهای کد داخل صفحات داک اجرا میکند |
اگر قانونی سر راهتان است
قانون را دور نزنید؛ اول مطمئن شوید مورد شما واقعاً استثناست. مثلاً text-muted روی یک تصویر تزئینی با aria-hidden
خودکار معاف است و نیازی به eslint-disable ندارد. اگر استثنای واقعی است، با یک دلیل مکتوب ساکتش کنید.