اگر شما توییتهای فارسی مینویسید و میخواهید سریع و راحت کیفیت نگارش خود را بالا ببرید، این اسکریپت دقیقاً همان چیزی است که نیاز دارید. بهمحض نوشتن یک توییت جدید (یا پاسخدادن به توییتی)، دکمهای به نام «ویراستار» دیده میشود که کلیک بر آن تمام ریزهکاریهای نگارشی را درست میکند؛ از تصحیح فاصلهگذاری و نیمفاصله تا یکدستکردن حروف عربی و فارسی. بدون هیچ دردسر اضافه، متن شما حرفهای و استاندارد خواهد شد، درست مثل اینکه یک ویراستار انسانی روی توییت شما کار کرده باشد.
- تبدیل نویسههای عربی به فارسی (ک، ی)
- اصلاح فاصلهگذاری و نیمفاصله در ترکیبات: (میروم، خانهها)
- استانداردسازی علائم نگارشی (ویرگول فارسی، گیومهی « »)
- بهینهسازی اعداد (۱۲۳ ← ۱۲۳) و نمادهای ریاضی (× ÷)
- حذف علائم تکراری (!!! → !)
- اصلاح نشانههای منفی (-- → –، --- → —)
- تبدیل سهنقطه انگلیسی به شکل استاندارد (…)
- مدیریت صحیح کسرهی اضافه (خانهٔ پدری)
- Userscript Manager:
| افزونه | پلتفرمهای پشتیبانیشده |
|---|---|
| Violentmonkey (Recommended) | |
| Tampermonkey | |
| Userscripts |
- کلیک روی لینک نصب اسکریپت:
📥 دریافت آخرین نسخه ویراستارِ فارسی برای توییتر - تأیید نصب در افزونهی مدیریت اسکریپت
- بارگذاری مجدد صفحهی توییتر
- ورود به توییتر (X)
- کلیک روی فیلد ایجاد توییت جدید یا بخش ریپلای
- در نوار ابزار کنار دکمهی «Tweet» یا «Reply»، آیکون/دکمهی 🖋 ویراستار را مشاهده میکنید
- پس از نوشتن متن فارسی، روی ویراستار کلیک کنید تا اصلاحات لازم اعمال شود
- متن تمیزشده را بازبینی و در صورت تأیید، توییت را ارسال نمایید
| وضعیت اولیه | نتیجهی ویرایش |
|---|---|
اسکریپت با ساختار داخلی توییتر کاملاً سازگار است. در اینجا چند نکتهی فنی ذکر میشود تا اگر توسعهدهندهای علاقه به مشارکت داشت، بهراحتی بداند چرا و چگونه این روش کار میکند:
-
چالش Draft.js
- توییتر از Draft.js استفاده میکند. دستکاری مستقیم در فیلد متن میتواند کلیدهای Backspace و Delete را مختل سازد.
- راهکار: رویکرد
ClipboardEventو قرار دادن متن درDataTransfer، سپس ارسال رویداد Paste. این روش State داخلی React را به هم نمیریزد.
-
MutationObserver
- برای پرهیز از کندی یا هنگ، تمام سند را به شکل دائم جستوجو نمیکنیم؛ فقط اضافهشدن گرههای جدید (childList) را نظارت کرده و اگر دکمهی جدید Tweet/Reply ظاهر شد، به آن دکمهی ویراستار اضافه میکنیم.
-
مدیریت چند دکمهی توییتر
- وقتی یک دیالوگ باز میشود و دکمهی جدیدی در صفحه پدیدار میگردد، دکمهی پیشین بررسی میشود؛ اگر در DOM نباشد، ویراستار قدیمی حذف میشود. در نتیجه مانع تکرار و انباشت دکمههای بیمصرف میشویم.
-
سفارشیسازی برای متن فارسی
- اگر متن با حروف فارسی شروع شود، فیلد به صورت
rtlنمایش داده میشود. - کتابخانهی ویراستار اصلاحات رایج نوشتاری (نیمفاصله، حروف عربی/فارسی، کسرهی اضافه، علائم نگارشی و...) را اعمال میکند.
- اگر متن با حروف فارسی شروع شود، فیلد به صورت
- Virastar - ویراستارِ متنِ فارسی
- ایجاد Issue جدید در سیستم پیگیری مشکلات
- ارائه نمونه کد/تصویر خطا و گامهای بازتولید
این پروژه تحت مجوز MIT License منتشر شده است.
- هیچ وابستگی رسمی به توییتر (X) ندارد.
- مسئولیت استفاده و هرگونه عواقب احتمالی بر عهدهی کاربر است.
توسعه داده شده با ❤️ برای زبانِ فارسی