بحث مدیاویکی:Gadget-Extra-Editbuttons.js/بایگانی ۱
افزودن مبحثاین مجموعهای از ابزارهای جاوااسکریپت است که با آنها میتوان بعضی کارهای خستهکنندهٔ رباتها را با یک کلیک انجام داد. ابزارها به صورت دکمههایی در بالای جعبهٔ ویرایش نمایش مییابند.
تعریف دکمهها در مدیاویکی:Gadget-Extra-Editbuttons.js انجام شدهاست. تعریف عملگرهایی که دکمهها فرا میخوانند در مدیاویکی:Gadget-Extra-Editbuttons-Functions.js انجام شدهاست.
ابزارهای موجود[ویرایش]
- فارسیساز ی و ک
- اصلاحگر فاصلهٔ مجازی (تنها بعضی موارد)
- اصلاحگر بعضی نویسههای غیراستاندارد.
- فارسیساز ارقام بدون دستبردن در نام عکسها و پیوندهای میانویکی و پیوندهای بیرونی
- اصلاحگر بعضی ایرادهای نقطهگذاری.
- توضیح
- در تمام این ابزارها مفاد دستورخط فرهنگستان تا حد امکان لحاظ شدهاست.
- توضیح ۲
- اگر در نصب آنها کمک خواستید به کاربر:Behaafarid اطلاع دهید.
خرفسترهای لهشده و پیشنهادهای اعمالشده[ویرایش]
پشتیبانی فایرفاکس[ویرایش]
به نظر میآید بعضی از این ابزارها (آنهایی که در کدشان فاصلهٔ مجازی به کاررفتهاست) به طور کامل در فایرفاکس پشتیبانی نمیشوند. یعنی اصولاً فاصلهٔ مجازی وارد نمیشود. لااقل در ویندوز ME چنین است. این شاید به خاطر پشتیبانینکردن این سیستمعامل نازنین از یونیکد باشد. در سیستمعاملهای دیگر امتحان نکردهام. به هرحال این خرفستر عزیز ردیابی و یزشن نابودی آن هم پیدا شدهاست. فقط باید دست به مارغن شد که آن هم کمی وقت میبرد. در اسرع وقت با مارغن بر سرش خواهم کوفت!بهآفرید 23:32, ۱۵ آوریل ۲۰۰۶ (UTC)
تتمه[ویرایش]
- یزشن نابودی خرفستر همراه با چیزیاست که در عرف به آن ک**فتکاری میگویند*[۱]. به این صورت که نخست همهٔ متن تبدیل به کد یونیکد شود و کارها با کد نویسهها صورت بگیرد و سپس دوباره همه چیز به خود نویسهٔ یونیکد بازگردد. راحت ولی کارگشا! اما با دیدن این اندر رای خود سست گشتم! بگذاریم تا مشکل از سرچشمه حل شود.
- ویندوز ME بینوا هم این وسط کلی فحش خورد. این یکبار بیتقصیر بود.
بهآفرید ۱۰:۲۹, ۳۰ آوریل ۲۰۰۶ (UTC)
تتمهٔ تتمه[ویرایش]
چون سر و کارم دائم با مرورگرهای بر اساس گکو (Gecko=مارمولک) (از جمله فایرفاکس) بود به ناچار خرفستر را دور زدم. مشکل این بود که نویسههای کنترلی از جمله ZWNJ در literalهای JS قبل از پردازش از Literal زدوده میشوند. و تو گویی که اصلاً نیستند. اگر به جای آن ZWNJ \u200c قرار بدهیم مشکل را دور زدهایم. به هر حال ظاهراً در نسخهٔ بعدی جاوااسکریپت این زدایش صورت نخواهد گرفت. پیوند را هم قبلاً دادهام.بهآفرید ۲۳:۵۳, ۳ ژوئن ۲۰۰۶ (UTC)
پانویس[ویرایش]
- ^ ای بیادب! امضا: (ننه جون!)
گزارش خرفسترها و پیشنهادها[ویرایش]
- اگر ممکن است تغییراتی اعمال گردد تا اعداد درون فرمولهای ریاضی فارسی نشود چون باعث خطا میگردد و همینطور در نوشتارهای مربوط به فیلمها بخشی با عنوان imdb_id وجود دارد که اعداد در آن نباید فارسی شوند. در ضمن من طبق عادت هر مقالهای که برای ویرایش باز میکنم در آن از این ابزارهای بسیار مفید استفاده میکنم. ماندهام که در بخش خلاصهٔ ویرایش چه بنویسم! اگر یک پیغام هماهنگ نیز پیشبینی شود بسیار عالی خواهد شد. سپاسسجاد ۰۶:۴۳, ۲۰ ژوئیه ۲۰۰۶ (UTC)
- ممنون از پیشنهاد. از خداوند طلب چند دقیقه فرصت بدون داشتن دغدغههای بیرونی دارم! همین!بهآفرید ۰۷:۵۸, ۲۷ ژوئیه ۲۰۰۶ (UTC)
- امیدوارم که به مراد دل برسید! چند روز مرخصی هم شاید بد نباشد. (بیاید جزایر ویکیگفتاورد!!!) شاد باشید.سجاد ۰۸:۳۶, ۲۷ ژوئیه ۲۰۰۶ (UTC)
گیومه فارسی، گیومه انگلیسی[ویرایش]
سلام. شما این تغییر را برای برطرف کردن خرفستری که بحثاش در صفحهٔ کاربری من بود انجام دادهاید:
- البته اصل آن خط برای خرفسترکشی HTMLی نبود. منتهی گمان بردم که این به طور اتوماتیک خرفستر مورد نظر را هم میکشد چون فرض را بر انگلیسی بودن محتوای آن گیومههای بخصوص گذاشته بودم.بهآفرید ۱۴:۱۰, ۲۹ ژوئیه ۲۰۰۶ (UTC)
متاسفانه این مشکل را حل نمیکند. این دستور دارد میگوید، اگر گیومهٔ فارسیای دیدی که تمام محتوایش w\ بود، گیومه را به حالت انگلیسی برگردان. فرض را بر این گذاشتهاید، که محتوای گیومههای HTML تماماً w\ است. من برایتان مثال نقض میگذارم:
s = "«سللن» <a href=«http://this/حجت/test/»> ==«بینت»=="; s=s.replace(/«([\w]*?)»/g,'"$1"'); alert(s);
من کماکان به روش خودم توصیه میکنم:
s=s.replace(/(\w)=«([^"]*?)»/g,'$1="$2"'); // to fix the problem with HTML double quotes.
با این روش، من فقط مواردی را که گیومه درست بعد از مساوی، و مساوی درست بعد از attribute دستور HTML است را دارم بازگردانی میکنم، متن توی گیومه به هرزبانی میخواهد باشد!
نکته هم آن است که اکثریت آدرسهای ویکیپدیا اگر بخواهی درست بنویسیشان از کاراکترهای فارسی تشکیل شدهاند (گو این که معمولاً آدمها Copy and Paste میکنند و یک مشت XX% نشان میدهد!
راستی گفته بودید «به هر حال لطفاً آن خط را به کد اضافه کنید تا ... در تاریخچه نام شما هم بیاید» اما چون خود صفحه حفاظت شدهاست و من هم مدیر نیستم، خودتان باید ویرایشش کنید (یا از حفاظت درش بیارید.)
- بله من فرض را بر انگلیسیبودن محتوای گیومهها در attributeها گذاشته بودم. و اصلاً مطمئن نیستم با سیستمهای قدیمیتر بتوان زبانی غیر انگلیسی در آدرس به کار برد. من خودم یادم میآید که با فارسینوشتن آدرسها در ویندوز ME مشکل داشتم. به هر حال ضرر ندارد. الان خط را اضافه میکنم. در ضمن حواسم نبود زیرصفحههای js و css کاربری به طور اتوماتیک محافظتشدهاند. مثلاً کسی جز مدیران نمیتواند monobook.js شما را عوض کند.بهآفرید ۱۳:۵۰, ۲۹ ژوئیه ۲۰۰۶ (UTC)
سپاس فراوان. ضمناً آن که گفتید را من الآن در ویندوز XP هم دارم، یعنی اگر فارسی بزنم علامت سوال میشود! حجت●پاسخ ۱۴:۰۶, ۲۹ ژوئیه ۲۰۰۶ (UTC)
- ولی همچنان میفهمد؟بهآفرید ۱۴:۱۱, ۲۹ ژوئیه ۲۰۰۶ (UTC)
- در راستای همین... ویندوز XP به طور ذاتی یونیکد است برای همین حتی اگر قلم نمایشش را نداشته باشد کار راه میافتد. ویندوز ME خودش یونیکد نیست. البته IE روی آن یونیکد است ولی مثلاً مستقیم واردکردن آدرس به آن مشکل دارد چون از سایر قسمتهای اطلاعات به IE میرسد.بهآفرید ۱۴:۱۸, ۲۹ ژوئیه ۲۰۰۶ (UTC)
میفهمد؟! مینویسم کاربر:حجت، محل نمیگذارد، میرود صفحهٔ اول ویکیپدیا!! (پینویس: من تمام ابزارهای شما را به مال خودم هم منتقل کردم، همهشان را دکمهمند میکنم به زودی.) حجت●پاسخ ۱۷:۱۷, ۲۹ ژوئیه ۲۰۰۶ (UTC)
من تمام ابزارهای شما را دکمهمند کردم. کاربر:حجت/monobook.js اما نمیدانم چرا دکمهٔ تغییر جهت کاری انجام نمیدهد. حجت●پاسخ ۱۹:۵۶, ۲۹ ژوئیه ۲۰۰۶ (UTC)
خرفستری ناشی از فراموشکاری[ویرایش]
شما در فانکشن digits دارید این دستور را اجرا میکنید:
fromEntityToUtf8(obj);
این برای خودشما کار میکند (چون شما در مونوبوک خودتان رفرانسی به EsfahbodTools.js دادهاید که آن function درونش تعریف شده) اما برای بقیه کار نخواهد کرد، که هیچ، برای بقیه دکمهٔ ابرابزار هم نصفه کار میکند (وقتی به دستور digits رسید اجرای ابرابزار متوقف میشود.) این را هم باید اصلاح کنید. من در مونوبوک خودم رفرانس دادم، اما شما بهتر است کد را منتقل کنید. حجت●پاسخ ۲۲:۲۰, ۲۹ ژوئیه ۲۰۰۶ (UTC)
ناپدید شدن تصویر دکمه[ویرایش]
تصویر دکمه جدول که این است ناپدیده شده و در نوار ابزار تصویری از دکمه دیده نمیشود، دلیلش چیست؟ --Mehran Debate ۲۱ اکتبر ۲۰۱۱، ساعت ۱۱:۳۸ (UTC)
- اشتباه من بود. –Z ۲۱ اکتبر ۲۰۱۱، ساعت ۱۱:۴۲ (UTC)
فاصله قبل و بعد از پرانتز[ویرایش]
من یادم است این را زمانی داشتیم اما نمیدانم چرا الان در کد نیست. ابزار اصلاح نقطهگذاری یکی از کارهایی که باید بکند این است که اگر قبل از پرانتز باز یا بعد از پرانتز بسته حروف فارسی بود یک فاصله بینشان اضافه کند. همینطور اگر بعد از پارنتز بسته یک فاصله و بعد نقطه یا کاما یا نقطهکاما (سمیکولون) بود، فاصله اضافی را حذف کند. اگر کسی بتواند زحمت اضافه کردنش را بکشد ممنون میشوم. ▬ حجت/بحث ۱۶ فوریهٔ ۲۰۱۲، ساعت ۱۸:۰۸ (UTC)
- در تست تنها مشکل اولین مورد هست. الان رویش کار میکنمرضا ۱۶۱۵ / ب ۱۶ فوریهٔ ۲۰۱۲، ساعت ۱۹:۱۱ (UTC)
- آن خط چهارم-پنجم از تابع مربوطه که کامنت هم گرفته شدهاست باید چنین شود:
s = s.replace(/([^\n\r\s])([\(«])/g,'$1 $2');
- (کد را تست نکردهام) و به همینصورت برای پرانتز و گیومهٔ بسته حالت امنترش این است که به جای
[^\n\r\s]
از'[\w'+faChrs+']'
استفاده کنیم (باnew Regexp
تعریفش کنید). --Z ۱۷ فوریهٔ ۲۰۱۲، ساعت ۰۶:۱۵ (UTC)- کلا موافقید که faChrs و faNumber باید خارج از عملگرها به عنوان یک متغیر سراسری تعریف شوند تا همهجا قابل استفاده باشند؟ ▬ حجت/بحث ۱۸ فوریهٔ ۲۰۱۲، ساعت ۱۶:۰۳ (UTC)
- من دنبال یک فرصت هستم که حسابی کد را تمیز کاری کنم. این را هم میکنم. ▬ حجت/بحث ۱۹ فوریهٔ ۲۰۱۲، ساعت ۲۲:۳۰ (UTC)
- بسیار عالی فقط راستی برای فاصلههای مجازی اضافی دو خط کد پایتون نوشتهام که با زبانهای دیگر هم مشکلی ندارد هیچ غلطهای آنها را هم اصلاح میکند. :D یک قابلیت دیگر که یادمان رفته حذف اتصالهای مجازی اضافیست. --Z ۲۰ فوریهٔ ۲۰۱۲، ساعت ۰۵:۴۵ (UTC)
- (کد را تست نکردهام) و به همینصورت برای پرانتز و گیومهٔ بسته حالت امنترش این است که به جای
دو پیشنهاد برای بهبود[ویرایش]
- الان این کد در ۲ جا دیگر هم استفاده میشود که این درست نیست و مشکل از آن است که کد باید به صورت تابع یا کتابخانه عمل کند و بخش افزاینده ابزارها آن را فراخوانی کند تا بتوان از این توابع در ابزارهای دیگر هم استفاده کرد در غیر اینصورت باید هر تغییری که میدهیم در ۲ جای دیگر هم بهروز ررسانی شود!
- اگر بتوان شرایط مورد نیاز برای ResourceLoader را در آن رعایت کنیم میشود آن را در gadgets-definition به صورت ResourceLoader استفاده کرد تا با اینترنت کمسرعت هم مشکل نداشته باشد به نظر من این یکی از واجبات هست چون همه کاربرها این ابزار را دارند و هر بار که دکمهٔ ویرایش را کلیک میکنند یک بار این کد بارگیری میشودرضا ۱۶۱۵ / ب ۲۲ فوریهٔ ۲۰۱۲، ساعت ۰۱:۵۷ (UTC)
با هر دو موافقم. منتظر یک فرصت هستم که کد را یکی کنم، قسمتهای مختلفش (تعاریف، عملگرها و ...) را جدا کنم، با شرایط ResourceLoader سازگارش کنم و غیره. ▬ حجت/بحث ۲۲ فوریهٔ ۲۰۱۲، ساعت ۲۲:۲۰ (UTC)
اندیس بالا و پایین[ویرایش]
کاملاً اضافیاست چون در نوار ابزار پیشرفته موجود است. --Z ۲۲ فوریهٔ ۲۰۱۲، ساعت ۱۴:۵۲ (UTC)
- موافقم حذف شودرضا ۱۶۱۵ / ب ۲۲ فوریهٔ ۲۰۱۲، ساعت ۱۵:۵۴ (UTC)
- برای کسانی که مثل من نوار ابزار پیشرفته استفاده نمیکنند فکری کردهاید؟ ▬ حجت/بحث ۲۲ فوریهٔ ۲۰۱۲، ساعت ۲۲:۱۹ (UTC)
- و همچنین من!--MehdiTalk ۲۳ فوریهٔ ۲۰۱۲، ساعت ۰۵:۱۹ (UTC)
- بله، مدیاویکی:Edittools! این را اتفاقاً خودتان هم میگویید برای هر چیز نباید ابزار ساخت ؛) چون اونطوری بخواهیم پیش برویم باید برای برچسبهای small و ref و (که بسیار بیشتر از آن دو به کار میروند) code و ... الخ برای اینها هم پس باید دکمه اضافه کنیم! اصلاً اسمش رویش است «دکمههای اضافی». کلاً در این جعبهٔ ویرایش خیلی قابلیتهای موازی دیده میشود. و اینکه کلاً دکمههای ابزار مال قابلیتهاییاست که برنامهنویسی بخواهد چیزهای دیگر را میتوان در Edittools هم گنجاند نمیدانم منظورم را متوجهید یا نه یعنی یه جورایی مثل این است که مثلاً جعبهٔ ویرایش و آن دکمهٔ «گشتن و جایگزینی» گوشهٔ صفحه جلویمان باشد بعد برای یک جایگزینی عادی برویم ربات بیاوریم. --Z ۲۳ فوریهٔ ۲۰۱۲، ساعت ۰۷:۰۱ (UTC)
- ایضاً برای قابلیتهایی که برنامهنویسی سنگین بخواهد عاقلانهتر است قابلیت در ربات گنجانده شود تا مثلاً ابرابزار. --Z ۲۳ فوریهٔ ۲۰۱۲، ساعت ۰۷:۰۴ (UTC)
- قبول میکنم. دقت نکرده بودم که sub و sup و Edittools هستند. به نظر من ضرورتی ندارد دکمههاشان در آن بالا باشد.
- دکمهها را حذف میکنم اما کدشان را نگه میدارم. یکی از اهداف من این بوده که دکمههای اضافی قابل شخصیسازی باشند. ضرری ندارد کدها را نگاه داریم شاید یکی خواست استفاده کند. (مثالش کسی است که صفحه نمایشگرش خیلی بزرگ نیست و در نتیجه جعبه ویرایش و Edittools را یکجا نمیبیند، در نتیجه اگر آن دکمهها را داشته باشد میتواند جلوی اسکرول کردن اضافی را بگیرد).▬ حجت/بحث ۲۳ فوریهٔ ۲۰۱۲، ساعت ۱۶:۲۵ (UTC)
- برای کسانی که مثل من نوار ابزار پیشرفته استفاده نمیکنند فکری کردهاید؟ ▬ حجت/بحث ۲۲ فوریهٔ ۲۰۱۲، ساعت ۲۲:۱۹ (UTC)
ابزار یونیکدسازی نشانیها[ویرایش]
از زمانی که ابزار یونیکدسازی (که با علامت درصد دیده میشود) را ساختم همیشه در فکر بودهام که یک چیزی را که کم دارد به آن بیفزایم اما نرسیدم (مورد اول در زیر). حالا با شرایط جدید ویکی، عملاً دو تا چیز کم دارد که اگر کسی بتواند آنها را ردیف کند عالی میشود:
- الان ابزار، نام صفحههای ویکیپدیا را اگر غیر یونیکد باشند، یونکید میکند. اما اگر نشانی شامل یک لنگر باشد (لنگر یا anchor همان است که بعد از # میآید تا به یک جای خاص صفحه برویم) آن را یونیکد نمیکند.
- حالا که امکان پیوند دادن به خود ویکی بدون استفاده از پروتکل فراهم شده (مثلا میشود از [//en.wikipedia.org/ link title] استفاده کرد) بهتر است که کلا پروتکل را از ابتدای پیوندهایی که به خود ویکی داده میشوند حذف کند تا کاربران همیشه در پروتوکل خودشان باقی بمانند. ▬ حجت/بحث ۲۳ فوریهٔ ۲۰۱۲، ساعت ۱۶:۳۳ (UTC)
- قسمت دوم را خودم انجام دادم. میماند قسمت اول ▬ حجت/بحث ۱۲ مارس ۲۰۱۲، ساعت ۲۱:۵۹ (UTC)
- قسمت اول را هم انجام دادم. ▬ حجت/بحث ۱۳ مارس ۲۰۱۲، ساعت ۰۳:۳۳ (UTC)
- پ.ن: در این ویرایش ویژگی اول را واگرداندم. مرورگرهای مختلف از این ویژگی پشتیبانی نمیکنند. ▬ حجت/بحث ۱۳ مارس ۲۰۱۲، ساعت ۰۳:۴۴ (UTC)
- اینجا خرابکاری کرده است.--Taranet (بحث) ۲۶ آوریل ۲۰۱۲، ساعت ۱۰:۵۴ (UTC)
- خیر نکرده است. آن تفاوتی که نشان دادید، کار ابزار نیست. من نسخهٔ قبل از تفاوت را گرفتم و دوباره ابزار را بر آن اعمال کردم و نتیجهای که شما دیدید نگرفتم. ▬ حجت/بحث ۲۶ آوریل ۲۰۱۲، ساعت ۲۳:۰۰ (UTC)
- دو نسخه اول اینجا را ببینید. به گمانم ایراد از ابزار اصلاح نقطهگذاری است. در url پیوند منبع، بعد از dr. یک کاراکتر فاصله میگذارد سپس عددها را هم فارسی میکند (گویا ۲۶ آوریل بار اول عددها را هم فارسی میکرد الان بار اول فارسی نمیکند ولی مشکل فاصله انداختن در پیوند باقی است)--Taranet (بحث) ۲۷ آوریل ۲۰۱۲، ساعت ۰۴:۳۵ (UTC)
- چه «خیر» بااعتمادبهنفسی هم گفتید، طرف را میترسانید ؛-) این مشکل حل نشده بایگانی شده است.--Taranet (بحث) ۹ ژوئن ۲۰۱۲، ساعت ۱۶:۰۵ (UTC)
- دو نسخه اول اینجا را ببینید. به گمانم ایراد از ابزار اصلاح نقطهگذاری است. در url پیوند منبع، بعد از dr. یک کاراکتر فاصله میگذارد سپس عددها را هم فارسی میکند (گویا ۲۶ آوریل بار اول عددها را هم فارسی میکرد الان بار اول فارسی نمیکند ولی مشکل فاصله انداختن در پیوند باقی است)--Taranet (بحث) ۲۷ آوریل ۲۰۱۲، ساعت ۰۴:۳۵ (UTC)
- خیر نکرده است. آن تفاوتی که نشان دادید، کار ابزار نیست. من نسخهٔ قبل از تفاوت را گرفتم و دوباره ابزار را بر آن اعمال کردم و نتیجهای که شما دیدید نگرفتم. ▬ حجت/بحث ۲۶ آوریل ۲۰۱۲، ساعت ۲۳:۰۰ (UTC)
ابزار اصلاح نقطهگذاری[ویرایش]
چندی است ابزار اصلاح نقطهگذاری درست کار نمیکند. فاصله قبل و بعد از پرانتز را وارد نمیکند و کامای انگلیسی را به کامای فارسی تبدیل نمیکند. اگر کسی بتوانید ایراد را رفع کند عالی میشود ▬ حجت/بحث ۲۷ مارس ۲۰۱۲، ساعت ۱۹:۴۶ (UTC)
- باید توجه داشت که این موارد را زمانی انجام دهد که متن فارسی است وگرنه در کدهای انگلیسی و اسکریپتهای درون مقالهها (مانند کدهای پایتون) تغییر ایجاد میشود و همچنین میانویکیها خراب میشوندرضا ۱۶۱۵ / ب ۲۸ مارس ۲۰۱۲، ساعت ۲۱:۴۰ (UTC)
- بله. مشکل خیلی از عبارات قاعدهٔ فعلی ما این است که خیلی کلی نوشته شدهاند. این شرط که قبل و بعد از عبارت حتما حروف خاصی به کار برود و مانند آن را در خود ندارند. برای همین خرابکاری میکنند.
- راه حلی که من در ذهن دارم استفاده از unit test است. در parser مدیاویکی هم از این روش استفاده میکنند تا کنترل کیفیت کنند. اگر نمیدانید چییست توضیح بدهم ▬ حجت/بحث ۲۹ مارس ۲۰۱۲، ساعت ۰۴:۲۱ (UTC)
افزودن قابلیت جدید به ابرابزار[ویرایش]
پیشنهاد میکنم مدیاویکی:Gadget-fixRefs.js را نیز به ابرابزار بیافزائیم تا فاصله بی مورد میان ارجاع و متن از بین برود و همچنین پانویسها تصحیح گردندرضا ۱۶۱۵ / ب ۲۸ مارس ۲۰۱۲، ساعت ۲۱:۳۷ (UTC)
- خط
.replace(new RegExp("[\n\r\f\t ]+?<ref([ >])", "gi"), "<ref$1")
همینکار را انجام میدهد (باید انجام دهد) --Z ۲۸ مارس ۲۰۱۲، ساعت ۲۱:۵۲ (UTC)- اگر دقت کنید ریجکسهایش خیلی کاملتر هستند مثلا این با ابرابزار انجام نمیشود چون . در میان ارجاعها وجود دارد.رضا ۱۶۱۵ / ب ۲۸ مارس ۲۰۱۲، ساعت ۲۲:۳۰ (UTC)
- قسمتی که فاصله اضافی بین ارجاع و متن را از بین میبرد، به عملگر «اصلاح نقطهگذاری» بیفزایید. در مورد تصحیح پانویسها، به نظر من یک دکمه جدید قبل از ابرابزار برای پانویسها باید ایجاد کنیم. توجه کنید که ابرابزار اصولا فقط قرار است که کار چند تا دکمهٔ موجود را یکجا انجام دهد نه این که کارهایی جدا هم انجام دهد. ▬ حجت/بحث ۲۹ مارس ۲۰۱۲، ساعت ۰۴:۱۹ (UTC)
خلاصه ویرایش[ویرایش]
به نظر من خلاصه ویرایش ابزارها باعث شلوغ شدن تغییرات اخیر و خلاصه ویرایشها شدهاست و کاربردی ندارد چون معمولا خلاصه ویرایشهای خودکار برای ابزارهای خودکار قرار میدهند که کاربر فقط آن ابزار را در یک زمان بتواند انجام دهد و ویرایش دستی دیگری در مقاله نداشته باشد.
- مثلا: خلاصه ویرایش فلان رده افزوده شد با استفاده از وپ:ردهساز به این معنی است که کاربر فقط این ویرایش را انجام داده است ولی خلاصه ویرایش برای ابزارهای ویرایش لزوما به این معنی نیست و کاربر میتواند متن را کاملا دستی ویرایش کند بعد ابزار تصحیح نویسه عربی یا تصحیح ارقام را بهکار برد در نتیجه نمیتوان به خلاصه ویرایشها اعتماد کرد و ویرایش را بازبینی نکرد.
- ابزار وپ:ابرابزار که بدون رفتن در پنجره ویرایش، صفحه را ویرایش میکند از این قضیه مستثنی هست چون کاربر در یک زمان فقط میتواند متن را به صورت خودکار با دستورهای ابرابزار ویرایش کند
- نتیجه گیری:
خلاصه ویرایشها برای همه ابزارهای 'ابزار ویرایشی پیشرفته برداشته شود. به جز دکمههای تغییرمسیر و حذف سریع و برچسبهایی مانند (منبع- حق تکثیر و...)رضا ۱۶۱۵ / ب ۲۹ مارس ۲۰۱۲، ساعت ۰۸:۰۸ (UTC)
- دلیل این که خلاصه ویرایش خوب است، این است که میشود فهمید کجا خرابکاری در صفحه ناشی از استفاده از ابزارها بوده. این برای عیبیابی بعدی ابزارها به درد میخورد.
- توجه داشته باشید که متاسفانه در ویکیپدیای فارسی خلاصه ویرایش نوشتن خیلی جا نیفتاده. یا نوشته نمیشود و یا از خلاصه ویرایش مثل چت باکس (برای گفتگو با ویرایشگر دیگر در طی یک جنگ ویرایشی) استفاده میشود! این درست نیست. خلاصه ویرایش باید هر کاری که در ویرایش انجام شده را به طور خلاصه توضیح دهد. از جمله، کار اصلاح نگارش را.
- این نظر من است. پیشنهاد میکنم دو سه هفته صبر کنید بعد اگر مخالفان زیادی داشت، خلاصه ویرایشها را کم کنید. با تغییرات اخیر کد، کار بسیار سادهای است.
- عجالتاً خلاصه ویرایش «انجام شد» را برداشتم ▬ حجت/بحث ۲۹ مارس ۲۰۱۲، ساعت ۱۵:۲۷ (UTC)
- مشکل اصلی این است که خلاصه ویرایشها را بد تولید میکند. مهمتر از همه هم اینکه جداکننده باید ویرگول (یا نقطه ویرگول) باشد نه علامت بهعلاوه! یا مثلاً برای تغییرمسیر اصلاً خلاصه ویرایشی نباید نوشت که خلاصهٔ ویرایش خودکار تولیدشده توسط نرمافزار (که کامل و بیمشکل است) override نشود. --Z ۲۹ مارس ۲۰۱۲، ساعت ۱۷:۱۸ (UTC)
- این که کاما باشد یا به علاوه، «باید» ندارد و کاملا سلیقهای است. من با این که کاما بشود مخالفتی ندارم خودتان اعمال کنید.
- این که برای تغییرمسیر چیزی ننویسد هم فکر خوبی است. میتوانیم کد را تغییر دهیم به شکلی که اگر دکمهٔ تغییرمسیر زده شد، کلا خلاصه ویرایش را پاک کند. اگر موافقید اعمال کنم. ▬ حجت/بحث ۲۹ مارس ۲۰۱۲، ساعت ۱۹:۵۶ (UTC)
- بله این کار خوب است، تا آنجا که اطلاع دارم تغییر مسیر به طور خودکار خودش خلاصه ویرایش را پر میکند، پس اگر خالی باشد بهتر است. ●مـهـران گفتمان● ۳۰ مارس ۲۰۱۲، ساعت ۰۳:۲۹ (UTC)
- ببخشید، ناقص گفتم: شما هر ویکی درستوحسابی (مثل انگلیسی، که فرهنگ خصلاهٔ ویرایشنویسی کاملاً آنجا جا افتادهاست و برای جزئیترین ویرایشها هم دو کیلومتر خلاصهٔ ویرایش مینویسند) همگی جداکنندهٔ مورد استفادهشان ویرگول است (و نقطه ویرگول به عنوان آلترناتیو) و «+» هم همهجای دنیا معنی افزودن میدهد نمیدانم کی این را به عنوان جداکننده در ویکی فارسی باب کردهاست! فرض کنید ویرایش من افزودن میانویکی و ویکیسازی باشد، اینجوری میتوانم بنویسم «ویرایش با ابرابزار، + میانویکی، ویکیسازی» ولی با جداکنندهٔ + مشکل پیش میآید. و ابزارهای اصلی و پرکارد ویکی هم ازجمله HotCat جداکنندهشان ویرگول است. ضمن اینکه در خلاصهٔ ویرایش محدودیت کاراکتر هست و اگر قرار باشد از + به عنوان جداکننده استفاده شود، جداکننده سه نویسه را شامل میشود («+» و دو فاصله در پس و پیش) ولی ویرگول دو نویسه («،» و یک فاصله بعد از آن). --Z ۳۱ مارس ۲۰۱۲، ساعت ۰۱:۳۰ (UTC)
- یک مشکل دیگر هم این است! خیلی از کاربران دکمهها را چندبار میفشارند که باعث میشود خلاصهٔ ویرایش هم چندبار نوشته شود. --Z ۳۱ مارس ۲۰۱۲، ساعت ۰۱:۳۵ (UTC)
- مسئولیت کار با دکمهها با کاربر است. اگر خلاصه ویرایش را شلوغ کند هم باز مسئول کوتاه کردنش کاربر است.
- میشود کد را پیچیده کرد که اگر یک چیزی در خلاصه ویرایش هست دوباره ننویسدش اما به نظرم نکنیم بهتر است.
- جداکننده هم ویرگول باشد من مخالفتی ندارم (بالاتر هم گفتم).▬ حجت/بحث ۳۱ مارس ۲۰۱۲، ساعت ۱۵:۲۶ (UTC)
- ویرگول را اعمال کردم ▬ حجت/بحث ۳۱ مارس ۲۰۱۲، ساعت ۱۸:۲۲ (UTC)
دو مشکل وجود دارد، یکی اینکه خلاصه ویرایش بر روی «بخش جدید» در صفحات بحث تاثیر میگذارد (نمونه) و دوم اینکه وقتی فقط از یک ابزار استفاده میشود، ویرگول در ابتدای خلاصه ویرایشهایشات؛ برای مثال هنگامی که فقط یک بار از ابرابزار استفاده میشود، خلاصه ویرایش به شکل «، ابرابزار» در میآید که ویرگول در اینجا کاملاً بیمعنی است. راهحل میتواند این باشد که با یک دستور شرطی اگر خلاصه ویرایش خالی بود، از ویرگول استفاده نکند (یعنی فقط بنویسد «ابرابزار») که این هم حلال همه مشکلات نیست و گاهی در خلاصه ویرایش لزوماً چیزی نوشته نشده که در ادامه آن ویرگول بیاید! البته اگر فکر میکنید که کد را شلوغ میکند آن را نادیده بگیرید. ●مـهـران گفتمان● ۳ آوریل ۲۰۱۲، ساعت ۰۴:۵۶ (UTC)
- قبلاً هم یک بار خلاصهٔ ویرایش را فعال کرده بودیم که همین مشکلات درش بود. به نظر من که بیشتر دردسر است تا فایده حذفش کنیم برود! کاربران استفادهکننده از ابزار هم که هیچ توجهی به خلاصهٔ ویرایشهایشان نمیکنند. --Z ۳ آوریل ۲۰۱۲، ساعت ۱۷:۱۹ (UTC)
- هر دو مشکل را متوجه شدهام. راه حل را هم در پاک کردن صورت مساله نمیدانم. به زودی هر دو را رفع میکنم ▬ حجت/بحث ۴ آوریل ۲۰۱۲، ساعت ۰۳:۱۲ (UTC)
- هر دو را انجام دادم. حالا کامای اول را فقط وقتی اضافه میکند که قبلش چیزی در خلاصه ویرایش باشد (حتی متوجه است که عبارتی نظیر /* عنوان بخش */ در ابتدای خلاصه ویرایش، جزو اطلاعات پیشفرض است و بعدش کاما لازم نیست). همچنین اجازه می دهد که تعیین کنیم کدام خلاصه ویرایشها افزایشی هستند (با کاما به قبلیها اضافه میشوند) و کدامها جایگزین کننده (تمام قبلیها را پاک میکنند). ▬ حجت/بحث ۴ آوریل ۲۰۱۲، ساعت ۰۳:۵۴ (UTC)
پسوند اند[ویرایش]
لطفا در ابزار تغییر بدهید که عبارتهای مانند بوده اند > بودهاند، گفته اند> گفتهاند و... بکندAmiraram (بحث) ۶ مهٔ ۲۰۱۲، ساعت ۱۲:۳۲ (UTC)
- الان هم انجام میدهد (در شرایطی). --Z ۶ مهٔ ۲۰۱۲، ساعت ۱۲:۵۵ (UTC)
- مثلا همین بحث را با ابرابزار ویرایش کنید. کاری انجام نمیدهدAmiraram (بحث) ۶ مهٔ ۲۰۱۲، ساعت ۱۶:۲۸ (UTC)
- میدانم، برای همین گفتم در شرایطی. الان تغییری در کد دادم که تقریباً در همهٔ شرایط تصحیحش میکند. --Z ۶ مهٔ ۲۰۱۲، ساعت ۱۷:۵۵ (UTC)
- ممنون از پیگیری شما ولی هنوز در این بحث جواب نمیدهد :(Amiraram (بحث) ۶ مهٔ ۲۰۱۲، ساعت ۱۹:۲۱ (UTC)
- امتحان کردم، جواب داد. کاشه مرورگرتان را خالی کنید ▬ حجت/بحث ۷ مهٔ ۲۰۱۲، ساعت ۰۰:۱۹ (UTC)
- این قضیهٔ پاککردن حافظهٔ نهان را باید به صورت هشدار به سرصفحهٔ این بحث و بحثهای مشابه بچسبانیم. --Z ۷ مهٔ ۲۰۱۲، ساعت ۰۹:۰۵ (UTC)
- امتحان کردم، جواب داد. کاشه مرورگرتان را خالی کنید ▬ حجت/بحث ۷ مهٔ ۲۰۱۲، ساعت ۰۰:۱۹ (UTC)
- ممنون از پیگیری شما ولی هنوز در این بحث جواب نمیدهد :(Amiraram (بحث) ۶ مهٔ ۲۰۱۲، ساعت ۱۹:۲۱ (UTC)
- میدانم، برای همین گفتم در شرایطی. الان تغییری در کد دادم که تقریباً در همهٔ شرایط تصحیحش میکند. --Z ۶ مهٔ ۲۰۱۲، ساعت ۱۷:۵۵ (UTC)
- مثلا همین بحث را با ابرابزار ویرایش کنید. کاری انجام نمیدهدAmiraram (بحث) ۶ مهٔ ۲۰۱۲، ساعت ۱۶:۲۸ (UTC)
عبارت باقاعدهٔ بخش اصلاح ترتیب میانویکیها[ویرایش]
این:
var ref = /\[\[(\w\w\w?|bat-smg|be-x-old|cbk-zam|fiu-vro|nds-nl|roa-tara|ru-sib|simple|tokipona|zh-classical|zh-min-nan|zh-yue)\:(.*?)\]\]\r?\n?(\s*)/g
آیا همهٔ زبانها در نظر گرفته شدهاست؟ اگر اطمینان نیست به نظرم تبدیل شود به:
var ref = /\[\[([A-Za-z-]+?):(.*?)\]\]\r?\n?(\s*)/g
چون آنهایی که «-» دارند ممکن است بیشتر شوند یا باشند. همچنین \w زیرخط (_) و ارقام را هم شامل میشود که آنجا اشتباه است. --Z ۷ مهٔ ۲۰۱۲، ساعت ۱۰:۲۵ (UTC)
عبارت باقاعدهٔ بخش اصلاح ترتیب میانویکیها[ویرایش]
این:
var ref = /\[\[(\w\w\w?|bat-smg|be-x-old|cbk-zam|fiu-vro|nds-nl|roa-tara|ru-sib|simple|tokipona|zh-classical|zh-min-nan|zh-yue)\:(.*?)\]\]\r?\n?(\s*)/g
آیا همهٔ زبانها در نظر گرفته شدهاست؟ اگر اطمینان نیست به نظرم تبدیل شود به:
var ref = /\[\[([A-Za-z-]+?):(.*?)\]\]\r?\n?(\s*)/g
چون آنهایی که «-» دارند ممکن است بیشتر شوند یا باشند. همچنین \w زیرخط (_) و ارقام را هم شامل میشود که آنجا اشتباه است. --Z ۷ مهٔ ۲۰۱۲، ساعت ۱۰:۲۵ (UTC)
- پیشنهاد من این است:
var ref = /\[\[([A-Za-z][A-Za-z-]{1,20}?):(.*?)\]\]\r?\n?(\s*)/g
- عبارت باقاعده هم باید جامع باشد هم مانع (تا جای ممکن). تغییر شما جامع بودنش را زیاد میکند اما مانع بودنش را کم. به نظرم بهتر است جلوی موارد غیرمعقول (مثل شروع با خط تیره، یا نام خیلی بلند) را بگیریم ▬ حجت/بحث ۷ مهٔ ۲۰۱۲، ساعت ۲۳:۴۹ (UTC)
- اعمالش کردم (در صفحهٔ مدیاویکی:Gadget-Extra-Editbuttons-Functions.js البته) --Z ۲۱ ژوئیهٔ ۲۰۱۲، ساعت ۰۳:۳۵ (UTC)
فاصلهٔ بین پانویس و منابع[ویرایش]
آیا امکانش هست در بخش ملزومات مقاله یکی از سرخطهای بین ==منابع== و {{پانویس}} را حذف کنید؟ (یا به بعدش بیفزایید) (رفته روی اعصابم :دی) -- دالبا(گفتگو) ۲۱ اردیبهشت ۱۳۹۱/ ۱۰ مهٔ ۲۰۱۲، ساعت ۰۶:۰۷ (UTC)
- امیدوارم باعث آرامش اعصاب شما شده باشم! ▬ حجت/بحث ۱۰ مهٔ ۲۰۱۲، ساعت ۱۵:۴۳ (UTC)
عدم تکرار خلاصه ویرایش[ویرایش]
برای اینکه خلاصه ویرایشها تکراری نشود مثلا نشود ابرابزار، ابراابزار، ابرابزار لطفاً در کد این تغییر را بدهید.
function addEditSummary(summaryText, replaceSummary) {
if(document.location.href.indexOf("§ion=new") > -1 || summaryText == "")
return;
var summaryPrefix = "";
if(document.getElementById('wpSummary').value.indexOf("*/ ") > -1) {
pos = document.getElementById('wpSummary').value.indexOf("*/ ");
summaryPrefix = document.getElementById('wpSummary').value.substr(0, pos+3);
}
if(replaceSummary) {
document.getElementById('wpSummary').value = summaryPrefix + summaryText;
} else {
if(document.getElementById('wpSummary').value == summaryPrefix) {
document.getElementById('wpSummary').value += summaryText;
} else {
document.getElementById('wpSummary').value += "، " + summaryText;
}
}
}
بشود
function addEditSummary(summaryText, replaceSummary) {
if(document.location.href.indexOf("§ion=new") > -1 || summaryText == "")
return;
var summaryPrefix = "";
if(document.getElementById('wpSummary').value.indexOf("*/ ") > -1) {
pos = document.getElementById('wpSummary').value.indexOf("*/ ");
summaryPrefix = document.getElementById('wpSummary').value.substr(0, pos+3);
}
if(replaceSummary) {
document.getElementById('wpSummary').value = summaryPrefix + summaryText;
} else {
if(document.getElementById('wpSummary').value == summaryPrefix) {
document.getElementById('wpSummary').value += summaryText;
} else {
if(document.getElementById('wpSummary').value.search(summaryText)==-1) {
document.getElementById('wpSummary').value += "، " + summaryText;
}
}
}
}
کد دومی را تست کردم و جواب دادهاست رضا ۱۶۱۵ / ب ۸ ژوئن ۲۰۱۲، ساعت ۱۹:۳۹ (UTC)
- پیشنهاد خوبی بود، اعمالش کردم ▬ حجت/بحث ۸ ژوئن ۲۰۱۲، ساعت ۲۱:۵۰ (UTC)
ابرابزار و سجاوندی[ویرایش]
تا در حال تعمیر ابرابزار هستید. آن را به نحوی تغییر دهید که در میانویکی عربی و اردو و مصری و... تغییر ندهد. دعوای رباتیک پیش میآید :)رضا ۱۶۱۵ / ب ۲۱ مهٔ ۲۰۱۲، ساعت ۱۸:۴۴ (UTC)
- برای ی و ک؟ --Z ۲۱ مهٔ ۲۰۱۲، ساعت ۱۸:۵۱ (UTC)
- نه سجاوندی () . رضا ۱۶۱۵ / ب ۲۱ مهٔ ۲۰۱۲، ساعت ۱۸:۵۸ (UTC)
- اوه آن دردسر است بهترین راه این است که همهٔ میانویکیها را از متغیر برداریم و بعد از پایان عملیات بگذاریم سرجایشان که کمی بدبختی دارد --Z ۲۱ مهٔ ۲۰۱۲، ساعت ۱۹:۴۱ (UTC)
- نه سجاوندی () . رضا ۱۶۱۵ / ب ۲۱ مهٔ ۲۰۱۲، ساعت ۱۸:۵۸ (UTC)
- فکر کنم این جواب کار باشد
var interwikis ='';
function DeletInterwiki(obj,interwikis) {
var ref = /\[\[(\w\w\w?|bat-smg|be-x-old|cbk-zam|fiu-vro|nds-nl|roa-tara|ru-sib|simple|tokipona|zh-classical|zh-min-nan|zh-yue)\:(.*?)\]\]\r?\n?(\s*)/g
var s = obj.value;
//extract interwiki's and delete them temporarily from the string
interwikis.value = s.match(ref);
if (interwikis.value == null) return;
s = s.replace(ref, "***interwikiplace***");
obj.value = s;
}
//اجرای تابع سجاوندی
function AddInterwiki(obj,interwikis)
var s = obj.value;
//put interwiki's back
s = s.replace("***interwikiplace***",interwikis.join(""));
//update string.
obj.value = s;
}
رضا ۱۶۱۵ / ب ۲۱ مهٔ ۲۰۱۲، ساعت ۲۰:۳۶ (UTC)
- در الگوها که noinclude دارند میانویکیها مکانشان اشتباه میشود --Z ۲۱ مهٔ ۲۰۱۲، ساعت ۲۰:۴۹ (UTC)
- باید توابع سجاوندی و مرتبسازی میانویکی را مانند تابع اصلاح اعداد، در فضای نام الگو غیر فعال کنیمرضا ۱۶۱۵ / ب ۲۱ مهٔ ۲۰۱۲، ساعت ۲۱:۰۲ (UTC)
- تغییری در کددادم به نظر من مشکلش برای الگوها هم حل شدرضا ۱۶۱۵ / ب ۲۲ مهٔ ۲۰۱۲، ساعت ۰۸:۴۴ (UTC)
- باید توابع سجاوندی و مرتبسازی میانویکی را مانند تابع اصلاح اعداد، در فضای نام الگو غیر فعال کنیمرضا ۱۶۱۵ / ب ۲۱ مهٔ ۲۰۱۲، ساعت ۲۱:۰۲ (UTC)
تمیزکاری[ویرایش]
برای تمیزکاری مقالات لطفا کد زیر را نیز به ابرابزار بیازائید البته من پایتونش را نوشتم :)
#اصلاح روش عنوانبندی ناصحیح
for i in range(0,10):
text=text.replace(u"= =",u'==').replace(u"= =",u'==')
text=text.replace(u"=='",u'==').replace(u"== '",u'==').replace(u"' ==",u'==').replace(u"'==",u'==').replace(u"== ",u'== ')
text=text.replace(u'=="',u'==').replace(u'== "',u'==').replace(u'" ==',u'==').replace(u'"==',u'==').replace(u"== ",u'== ')
for i in u":,;'<>»«!؟?&^#@•-→←↔↑↓—–…~٫،؛ٔ":
text=text.replace(u"== "+i,u'== ').replace(i+u" ==",u' ==').replace(u"=="+i,u'==').replace(i+u"==",u'==')
#اصلاح روش عنوانبندی ناصحیح
text=re.sub(ur"\n\'\'\'(.*?)\'\'\'(\s)\n\n",r"\n\n== \1 ==\n\n",text)
#اصلاح بخش منابع که کاربر از ویکی انگلیسی منابع را کپی میکند (بدون رفتن به ویرایش)
text=text.replace(u'\n^ "',u'\n*"')
#اصلاح حروفچینی نادرست
text=text.replace(u'‌',u'').replace(u'\n \n',u'\n\n')
نمونه کار و این و این رضا ۱۶۱۵ / ب ۱۶ ژوئیهٔ ۲۰۱۲، ساعت ۱۲:۰۵ (UTC)