پرش به محتوا

بحث کاربر:Jeeputer/newPagesFeed.js: تفاوت میان نسخه‌ها

محتوای صفحه در زبان‌های دیگر پشتیبانی نمی‌شود
از ویکی‌پدیا، دانشنامهٔ آزاد
محتوای حذف‌شده محتوای افزوده‌شده
برچسب: ویرایش مبدأ ۲۰۱۷
بدون خلاصۀ ویرایش
برچسب‌ها: برگردانده‌شده ویرایش مبدأ ۲۰۱۷
خط ۳: خط ۳:


=== بحث‌درباره تغییرات ===
=== بحث‌درباره تغییرات ===
1

سلام. اگر از فعالیت‌های شما درست متوجه شده باشم، از [[ویژه:صفحه‌های تازه]] هم استفاده می‌کنید. برای من این صفحه خیلی در هم ریخته به نظر می‌رسد و به همین خاطر تاکنون خیلی کم به آن سر می‌زدم. دیروز برای یک بررسی آنجا رفتم و به فکرم رسید که با یک اسکریپت سر و سامانش بدهم. همین باعث شد که [[کاربر:Jeeputer/newPagesFeed]] را بنویسم. اگر حدسم در مورد فعالیت شما در گشت زنی صفحه‌های تازه درست بود و دوست داشتید از این اسکریپت استفاده کنید و در بهبودش کمک کنید. قصد دارم پس از آن که از عملکرد درستش مطمئن شدم، برای کاربران دارای دسترسی گشت‌زن به‌طور پیش‌فرض فعالش کنم تا کمکی باشد به بازبینی صفحه‌های جدید. ممنون از شما. <span style="color:#848482"><small>&#123;{کاربر&#124;</small><span>[[کاربر:Jeeputer|<span style="color:#1974D2">جـیپیوتر</span>]]</span><small>}&#125;</small></span> <sup>[[بحث کاربر:Jeeputer|<span style="color:#E3A857;font-weight:bold">بحث</span>]]</sup> ‏۱۵ آوریل ۲۰۲۴، ساعت ۲۱:۴۸ (UTC)
سلام. اگر از فعالیت‌های شما درست متوجه شده باشم، از [[ویژه:صفحه‌های تازه]] هم استفاده می‌کنید. برای من این صفحه خیلی در هم ریخته به نظر می‌رسد و به همین خاطر تاکنون خیلی کم به آن سر می‌زدم. دیروز برای یک بررسی آنجا رفتم و به فکرم رسید که با یک اسکریپت سر و سامانش بدهم. همین باعث شد که [[کاربر:Jeeputer/newPagesFeed]] را بنویسم. اگر حدسم در مورد فعالیت شما در گشت زنی صفحه‌های تازه درست بود و دوست داشتید از این اسکریپت استفاده کنید و در بهبودش کمک کنید. قصد دارم پس از آن که از عملکرد درستش مطمئن شدم، برای کاربران دارای دسترسی گشت‌زن به‌طور پیش‌فرض فعالش کنم تا کمکی باشد به بازبینی صفحه‌های جدید. ممنون از شما. <span style="color:#848482"><small>&#123;{کاربر&#124;</small><span>[[کاربر:Jeeputer|<span style="color:#1974D2">جـیپیوتر</span>]]</span><small>}&#125;</small></span> <sup>[[بحث کاربر:Jeeputer|<span style="color:#E3A857;font-weight:bold">بحث</span>]]</sup> ‏۱۵ آوریل ۲۰۲۴، ساعت ۲۱:۴۸ (UTC)
:{{پینگ|Jeeputer}}واقعا اسکریپت کاربردی و خوبی هست. ممنونم از زحمات شما، درست حدس زدید، من اغلب مواقع از همین صفحه استفاده میکردم. تا اینجای استفاده باگ خاصی ندیدم، اما به فکر اضافه کردن یکی دوتا ویژگی دیگر افتادم. ممکنه داکیومنتی که مربوط به کلاس ingredients است رو برای من ارسال کنید؟ بازهم متشکرم از زحماتتون <font face="Andalus" size="4">[[کاربر:WASP-Outis|WASP]]</font> <font face="iransans" size="2" color="#cc9900">‎[[بحث کاربر:WASP-Outis|بحث]]‎</font> ۲۸ فروردین ۱۴۰۳، ساعت ۰۶:۳۷، ‏۱۶ آوریل ۲۰۲۴، ساعت ۰۳:۰۷ (UTC)
:{{پینگ|Jeeputer}}واقعا اسکریپت کاربردی و خوبی هست. ممنونم از زحمات شما، درست حدس زدید، من اغلب مواقع از همین صفحه استفاده میکردم. تا اینجای استفاده باگ خاصی ندیدم، اما به فکر اضافه کردن یکی دوتا ویژگی دیگر افتادم. ممکنه داکیومنتی که مربوط به کلاس ingredients است رو برای من ارسال کنید؟ بازهم متشکرم از زحماتتون <font face="Andalus" size="4">[[کاربر:WASP-Outis|WASP]]</font> <font face="iransans" size="2" color="#cc9900">‎[[بحث کاربر:WASP-Outis|بحث]]‎</font> ۲۸ فروردین ۱۴۰۳، ساعت ۰۶:۳۷، ‏۱۶ آوریل ۲۰۲۴، ساعت ۰۳:۰۷ (UTC)
خط ۲۱۲: خط ۲۱۲:
:@[[کاربر:WASP-Outis|WASP-Outis]]: قبل از به‌روزرسانی اسکریپت: این سبک‌بندی‌ها بر دکمه‌های ابزارهای دیگر که ممکن است کاربر فعال‌شان کرده باشد هم اعمال می‌شوند نه؟ به‌نظرم بهتر است یک کلاس اختصاصی برای دکمه تعریف شود. چون بسیاری از ابزارهای دیگر هم از OOUI استفاده می‌کنند و اگر این ابزار را به‌صورت پیش‌فرض فعال کنیم، این CSS بر تمام آن ابزارها هم اعمال می‌شود. <span style="color:#848482"><small>&#123;{کاربر&#124;</small><span>[[کاربر:Jeeputer|<span style="color:#1974D2">جـیپیوتر</span>]]</span><small>}&#125;</small></span> <sup>[[بحث کاربر:Jeeputer|<span style="color:#E3A857;font-weight:bold">بحث</span>]]</sup> ‏۱۹ ژوئن ۲۰۲۴، ساعت ۰۰:۴۸ (UTC)
:@[[کاربر:WASP-Outis|WASP-Outis]]: قبل از به‌روزرسانی اسکریپت: این سبک‌بندی‌ها بر دکمه‌های ابزارهای دیگر که ممکن است کاربر فعال‌شان کرده باشد هم اعمال می‌شوند نه؟ به‌نظرم بهتر است یک کلاس اختصاصی برای دکمه تعریف شود. چون بسیاری از ابزارهای دیگر هم از OOUI استفاده می‌کنند و اگر این ابزار را به‌صورت پیش‌فرض فعال کنیم، این CSS بر تمام آن ابزارها هم اعمال می‌شود. <span style="color:#848482"><small>&#123;{کاربر&#124;</small><span>[[کاربر:Jeeputer|<span style="color:#1974D2">جـیپیوتر</span>]]</span><small>}&#125;</small></span> <sup>[[بحث کاربر:Jeeputer|<span style="color:#E3A857;font-weight:bold">بحث</span>]]</sup> ‏۱۹ ژوئن ۲۰۲۴، ساعت ۰۰:۴۸ (UTC)
:در سبک‌بندی‌های قبلی که بالاتر قرار دادید هم قسمت دوم این مشکل را دارد. <span style="color:#848482"><small>&#123;{کاربر&#124;</small><span>[[کاربر:Jeeputer|<span style="color:#1974D2">جـیپیوتر</span>]]</span><small>}&#125;</small></span> <sup>[[بحث کاربر:Jeeputer|<span style="color:#E3A857;font-weight:bold">بحث</span>]]</sup> ‏۱۹ ژوئن ۲۰۲۴، ساعت ۰۰:۴۹ (UTC)
:در سبک‌بندی‌های قبلی که بالاتر قرار دادید هم قسمت دوم این مشکل را دارد. <span style="color:#848482"><small>&#123;{کاربر&#124;</small><span>[[کاربر:Jeeputer|<span style="color:#1974D2">جـیپیوتر</span>]]</span><small>}&#125;</small></span> <sup>[[بحث کاربر:Jeeputer|<span style="color:#E3A857;font-weight:bold">بحث</span>]]</sup> ‏۱۹ ژوئن ۲۰۲۴، ساعت ۰۰:۴۹ (UTC)
:@[[کاربر:Jeeputer|Jeeputer]]: سلام. درست فرمودید، من به این نکته دقت نکرده بودم. کد را آپدیت کردم و کلاس را اضافه کردم.

:بجای آن دو خط استایل، این دو خط را اضافه کنید:

<syntaxhighlight lang="css">
.filters-permanent-link-btn.oo-ui-widget.oo-ui-widget-enabled.oo-ui-buttonElement.oo-ui-buttonElement-frameless.oo-ui-labelElement.oo-ui-flaggedElement-progressive.oo-ui-buttonWidget a {
color: #36c;
padding-top: 0px;
margin-left: 7px;
}
.clear-liftWing-cookies-btn.oo-ui-widget.oo-ui-widget-enabled.oo-ui-buttonElement.oo-ui-buttonElement-frameless.oo-ui-labelElement.oo-ui-flaggedElement-destructive.oo-ui-buttonWidget a {
padding-top: 0px;
}</syntaxhighlight>

: '''ارادتمند''' <span style="font-family:times, serif;text-shadow: 0 0 7px #2744B7, 0 0 7px #0000ff; color:white;">[[کاربر:WASP-Outis|<font color="#fff">WASP</font>]]</span> [[بحث کاربر:WASP-Outis|<font color="0311DA"><sup>☏</sup></font>]] ‏۲۱ ژوئن ۲۰۲۴، ساعت ۰۳:۱۳ (UTC)





نسخهٔ ‏۲۱ ژوئن ۲۰۲۴، ساعت ۰۳:۱۴

اسکریپت کاربری برای صفحه‌های تازه

بحث‌درباره تغییرات

1 سلام. اگر از فعالیت‌های شما درست متوجه شده باشم، از ویژه:صفحه‌های تازه هم استفاده می‌کنید. برای من این صفحه خیلی در هم ریخته به نظر می‌رسد و به همین خاطر تاکنون خیلی کم به آن سر می‌زدم. دیروز برای یک بررسی آنجا رفتم و به فکرم رسید که با یک اسکریپت سر و سامانش بدهم. همین باعث شد که کاربر:Jeeputer/newPagesFeed را بنویسم. اگر حدسم در مورد فعالیت شما در گشت زنی صفحه‌های تازه درست بود و دوست داشتید از این اسکریپت استفاده کنید و در بهبودش کمک کنید. قصد دارم پس از آن که از عملکرد درستش مطمئن شدم، برای کاربران دارای دسترسی گشت‌زن به‌طور پیش‌فرض فعالش کنم تا کمکی باشد به بازبینی صفحه‌های جدید. ممنون از شما. {{کاربر|جـیپیوتر}}بحث ‏۱۵ آوریل ۲۰۲۴، ساعت ۲۱:۴۸ (UTC)پاسخ

@Jeeputer: واقعا اسکریپت کاربردی و خوبی هست. ممنونم از زحمات شما، درست حدس زدید، من اغلب مواقع از همین صفحه استفاده میکردم. تا اینجای استفاده باگ خاصی ندیدم، اما به فکر اضافه کردن یکی دوتا ویژگی دیگر افتادم. ممکنه داکیومنتی که مربوط به کلاس ingredients است رو برای من ارسال کنید؟ بازهم متشکرم از زحماتتون WASP بحث ۲۸ فروردین ۱۴۰۳، ساعت ۰۶:۳۷، ‏۱۶ آوریل ۲۰۲۴، ساعت ۰۳:۰۷ (UTC)پاسخ
@WASP-Outis: بسیار عالی. منظورتان را متوجه نشدم. اگر می‌خواهید بدانید که این مخلفات از کجا تهیه می‌شوند و چطور به کار می‌روند، می‌توانم همینجا توضیح دهم. {{کاربر|جـیپیوتر}}بحث ‏۱۶ آوریل ۲۰۲۴، ساعت ۱۱:۲۸ (UTC)پاسخ
@Jeeputer: منظورم کلاسی به نام ingredients است که در کدها استفاده شده. آن از کجا آمده، در Document های مربوط به api در اینجا پیدایش نکردم. (یا متوجهش نشدم)
میخواهم با استفاده از این کلاس، متن مقاله را بگیرم و با regex جست و جو انجام دهم.
ممنونم میشم اگر توضیحات لازم رو بهم بدید. متشکرم WASP بحث ۲۸ فروردین ۱۴۰۳، ساعت ۱۹:۴۱، ‏۱۶ آوریل ۲۰۲۴، ساعت ۱۶:۱۱ (UTC)پاسخ
@WASP-Outis: چنین کلاسی در api مدیاویکی موجود نیست. ingredients در واقع همان آرایهٔ boxIngredients است که در سطر ۱۶۲ با داده‌های استخراج‌شده از شیء jQuery تهیه‌شده از هر آیتم فهرست پر می‌شود. بعد از آن هم به خورد تابع createBox داده می‌شود تا برای هر آیتم فهرست، یک جعبه بسازد.
برای دریافت متن مقاله می‌توانید از همان parse یا Revisions استفاده کنید. یک راه سومی هم ظاهراً هست که متن ساده (plain) را دریافت می‌کند، اما من تا به حال از آن استفاده نکرده‌ام. مستنداتش در Extension:TextExtracts#API موجود است. {{کاربر|جـیپیوتر}}بحث ‏۱۶ آوریل ۲۰۲۴، ساعت ۱۸:۱۵ (UTC)پاسخ
@Jeeputer: متشکرم از توضیحات، تلاش میکنم یک‌سری تغییرات بهش بدم. WASP بحث ۲۹ فروردین ۱۴۰۳، ساعت ۲۲:۱۶، ‏۱۷ آوریل ۲۰۲۴، ساعت ۱۸:۴۶ (UTC)پاسخ
@Jeeputer: سلام. طی این مدت که من از این ابزار استفاده کردم به باگی برنخوردم. خسته نباشید! و تشکر
البته هنوز فرصت نکردم روی قابلیت های جدید کار کنم، این چند روز یکم درگیری داشتم. به زودی روشون کار میکنم و اطلاع میدم.
به فکر اضافه کردن 1. یک پیام برای مشخص کردن این هستم که برچسب حذف در مقاله وجود دارد یا نه
2. اینکه سازنده مقاله چند ویرایش در مقاله انجام داده
3. یک امتیاز دهی با توجه به متن مقاله و سوابق کاربر میخوام انجام بدم که احتمال خرابکاری بودن مقاله چقدر است.
به نظرم این سه مورد کار گشت زن ها را برای اینکه با یک نگاه متوجه اعتبار آن مقاله بشوند راحت میکند. WASP بحث ۱ اردیبهشت ۱۴۰۳، ساعت ۰۸:۰۶، ‏۲۰ آوریل ۲۰۲۴، ساعت ۰۴:۳۶ (UTC)پاسخ
@WASP-Outis: قابلیت اعلان وجود برچسب حذف سریع را قبلاً اضافه کرده‌ام (زیر تعداد رده‌ها و میان‌ویکی‌ها نمایش داده می‌شود). این قابلیت البته برای حذف زمان‌دار و نظرخواهی برای حذف فعال نیست. اما افزودن‌شان (دست کم برای حذف زمان‌دار) خیلی سخت نیست.
دریافت تعداد ویرایش‌های ایجادکننده در صفحه از سرور احتمالاً باعث می‌شود که ابزار دیرتر بارگیری شود. خصوصاً در صورتی که تعداد آیتم‌های نمایش‌یافته در صفحه مثلاً روی ۱۰۰ یا ۲۵۰ تنظیم شود. چون برای هر آیتم باید یک درخواست API داده شود. اگر هم برای همهٔ آن‌ها به صورت جمعی یک درخواست داده شود، باز دریافت پاسخش طول می‌کشد و بارگیری کامل ابزار را به تعویق می‌اندازد. از آنجا که این اطلاعات حیاتی هم نیست، فکر می‌کنم بهتر است این یکی را فاکتور بگیریم. تعداد کلی ویرایش‌های کاربر شاید سبک‌تر و سریع‌تر انجام شود.
امتیار ساعن یا همان ORES که در تغییرات اخیر هم کاربرد دارد، باز می‌تواند مفیدتر باشد. {{کاربر|جـیپیوتر}}بحث ‏۲۰ آوریل ۲۰۲۴، ساعت ۰۹:۴۸ (UTC)پاسخ
@Jeeputer: سلام. ابتدا بابت تاخیر عذرخواهی میکنم، این چند روزه درگیر امتحانات هستم و یکم زمانم محدودتر است.
در کاربر:WASP-Outis/temp.js، من امتیاز ORES رو اضافه کردم. البته دوتا مشکل بزرگ داره و کامل نشده. اول اینکه revid آخرین ویرایش صفحه را به api میدهد، درحالی که باید revid اولین ویرایش صفحه را بدهد (که من متوجه نشدم از کجا بگیرمش)
مشکل دوم هم بحث زمان اجرا است، که انگار با قسمتی از کد که رده ها را میگیرد به تداخل میخورد و بخش رده ها روی در حال تجزیهٔ صفحه… میماند.
چونکه امروز فرصت بیشتری برای کار کردن ندارم، کد را آپلود کردم که اگر شما ایده ای برای حل اشکال دارید به من بگید تا فردا اصلاحش رو انجام بدم. ایده اولیه خودم این هست که فراخوانی api برای ORES را در تابع parsePage به صورت یکجا انجام بدهم. که البته پیچیدگی های خودش را دارد. از کمک شما بینهایت سپاسگذارم
WASP بحث ۶ اردیبهشت ۱۴۰۳، ساعت ۱۴:۴۱، ‏۲۵ آوریل ۲۰۲۴، ساعت ۱۱:۱۱ (UTC)پاسخ
همزمان من هم قابلیت نمایش حذف زمان‌دار و نظرخواهی برای حذف (به همراه پیوند) را به ابزار اضافه کردم.
بله به نظر من هم بهتر است که به تابع parsePage (تابع تجزیه) منتقل شود. آن تابع پس از جدول‌بندی اجرا می‌شود و تقریباً نسبت به آن مستقل است. کارش هم به این صورت است که پس از دریافت اطلاعات، عنصر مرتبط با رده‌ها را پنهان می‌کند، محتوایش را به‌روز می‌کند و عنصر را دوباره نمایش می‌دهد. برای ORES هم بهتر است در طابق createBox ابتدا یک عنصر با display:none تعریف کنیم، بعد در تابع تجزیه یا حتی یک تابع جداگانه با نامی مانند fetchORES آن عنصر را به روز کنیم و بعد آن را از حالت پنهان خارج کنیم. به این شکل دیگر مشکلی با ترتیب اجرا نخواهیم داشت. علت توقف تابع تجزیه این است که واکشی اطلاعات ساعن زمان‌بر است و باعث تأخیر در تولید جعبه‌ها می‌شود. وقتی جعبه هنوز تولید نشده و عنصر مورد نظر تابع تجزیه وجود ندارد، طبیعتاً تابع نمی‌تواند عنصر مورد نظرش را به روز کند و به همان شکل اولیه باقی می‌ماند. {{کاربر|جـیپیوتر}}بحث ‏۲۵ آوریل ۲۰۲۴، ساعت ۱۱:۲۳ (UTC)پاسخ
@Jeeputer: تشکر، سعی میکنم سریعتر اصلاحش کنم. درباره مشکل اول چطور؟ راه حل دریافت revid اولین ویرایش(ایجاد) مقاله چیست؟ WASP بحث ۶ اردیبهشت ۱۴۰۳، ساعت ۱۴:۵۸، ‏۲۵ آوریل ۲۰۲۴، ساعت ۱۱:۲۸ (UTC)پاسخ

فکر می‌کردم آن revid که در شیء مخلفات هست، شناسهٔ نسخهٔ اول باشد، نبود؟ چون شناسه از عنصر استخراج می‌شود. هر آیتم فهرست یک صفت «data-mw-revid» دارد که شناسه درون آن است. بررسی می‌کنم. از کجا متوجه شدید که شناسهٔ نسخهٔ اول نیست؟

امروز بعید است که فرصت کنم، اما در اولین فرصت این قابلیت را اضافه می‌کنم. نظرتان چیست که دریافت اطلاعات ساعن اختیاری باشد؟ مثلاً برای هر مقاله یک دکمه تعریف کنیم که اگر کاربر روی آن کلیک کرد، اطلاعات اختصاصی فقط برای همان مقاله واکشی شود (پیش‌فرضش واکشی نباشد که زمان‌بر هم نشود) و بعد نمایش داده شود. یک کار دیگر هم که می‌شود کرد، این است که خودکار بودن و نبودن واکشی داده‌های ساعن را وابسته کنیم به ترجیحات ابزار؛ مثلاً در کاربر:Jeeputer/common.js#L-28 من برای یکی از ابزارهایم (که البته خودش قابلیت شخصی‌سازی داشت) این را تعریف کرده‌ام که با دو کلیک فعال شود. مثلاً فعال شدن خودکار لازمه‌اش این باشد که دستور زیر در common.js کاربر قرار داده شده باشد:

window.npfFetchORESByDefault = true

هرچه ابزار قابلیت شخصی‌سازی بیشتری داشته باشد، بهتر است. {{کاربر|جـیپیوتر}}بحث ‏۲۵ آوریل ۲۰۲۴، ساعت ۱۱:۳۶ (UTC)پاسخ

@WASP-Outis: متوجه شدم. آن شناسه مال آخرین نسخهٔ صفحه است و تصورم اشتباه بود. پیوند تاریخ (که یک پیوند دائمی به نسخهٔ اول صفحه است) شناسه‌اش را در href دارد. برای استخراجش باید مستندات را مطالعه کنم و ببینم چه راه ساده‌ای برای گرفتن پارامترها از URL وجود دارد. بعد می‌توانیم شناسه را از URL پیوند دائمی نسخهٔ اول بگیریم و در همان شیء مخلفات ذخیره کنیم. {{کاربر|جـیپیوتر}}بحث ‏۲۵ آوریل ۲۰۲۴، ساعت ۱۱:۵۵ (UTC)پاسخ
@Jeeputer: درباره revid، روی یک مقاله‌ی تست، آیدی را دریافت کردم و در کنسول مرورگر نوشتم، بعد با مقایسه متوجه شدم که آخرین نسخه است نه اولین نسخه.
موردی که گفتید خیلی عالیه. من موافقم و هر کمکی بتوانم میکنم. اما پیشنهاد من این هست که یک دکمه در هر باکس باشد برای اطلاعات هر مقال ه که با کلیک بر روی آن، اطلاعات فقط برای آن مقاله واکشی شود، و یک دکمه هم در بالای صفحه وجود داشته باشد که با کلیک روی آن اطلاعات همه را واکشی کند. به نظر اینطوری ساده تر است و هر دفعه نیاز به تغییر ترجیحات نیست. شاید یک زمان نیار باشد همه واکشی شود و یک زمان فقط یکی. WASP بحث ۶ اردیبهشت ۱۴۰۳، ساعت ۱۵:۲۵، ‏۲۵ آوریل ۲۰۲۴، ساعت ۱۱:۵۵ (UTC)پاسخ
پیش‌فرض آن ترجیح را می‌شود روی false قرار داد و هر دو دکمه‌ای که گفتید را تعریف کرد. اگر آن ترجیح را کاربر روی true تنظیم کند، آنگاه دیگر آن دکمه‌ها نمایش داده نمی‌شوند و داده‌های ساعن به‌طور خودکار استخراج می‌شوند. رویش کار می‌کنم. {{کاربر|جـیپیوتر}}بحث ‏۲۵ آوریل ۲۰۲۴، ساعت ۱۱:۵۷ (UTC)پاسخ
@Jeeputer: سپاس فراوان از زحمات شما. WASP بحث ۶ اردیبهشت ۱۴۰۳، ساعت ۱۵:۳۰، ‏۲۵ آوریل ۲۰۲۴، ساعت ۱۲:۰۰ (UTC)پاسخ
شما یک زحمتی بکشید. اگر فرصت داشتید، در مستندات مدیاویکی بگردید ببینید متودی برای دریافت مقدار یک پارامتر از URL صفحه وجود دارد؟ مثلاً این نشانی یک پارامتر oldid دارد که شناسهٔ نسخهٔ اول مقاله است. جاوااسکریپت خودش می‌تواند این کار را بکند، اما اگر مال خود مدیاویکی باشد به‌نظرم بهتر است. {{کاربر|جـیپیوتر}}بحث ‏۲۵ آوریل ۲۰۲۴، ساعت ۱۲:۰۰ (UTC)پاسخ
البته parsePage بهتر است از همان شناسهٔ کنونی استفاده کند. چون در نسخهٔ اول ممکن است رده وجود نداشته باشد، اما در نسخه‌های بعدی افزوده شده باشد. {{کاربر|جـیپیوتر}}بحث ‏۲۵ آوریل ۲۰۲۴، ساعت ۱۱:۵۵ (UTC)پاسخ
@Jeeputer: تا جایی که متوجه شدم ORES فقط ویرایش را میبیند، نه کل صفحه را، بنابرین شاید یکک صفحه حرابکاری باشد، اما ویرایش آخر آن، خرابکاری بودنش را نشان ندهد. من چند تست انجام دادم و متوجه شدم روی ویرایش اول بسیار بهتر عمل میکند.
درباره‌ی گرفتن اطلاعات از URL، با RegEx فکر میکنم به سادگی بشه آیدی رو دریافت کرد. WASP بحث ۶ اردیبهشت ۱۴۰۳، ساعت ۱۵:۳۰، ‏۲۵ آوریل ۲۰۲۴، ساعت ۱۲:۰۰ (UTC)پاسخ
بله با RegExp شدنی است، اما می‌خواهم کد شلوغ نشود. RegExp شلوغش می‌کند. {{کاربر|جـیپیوتر}}بحث ‏۲۵ آوریل ۲۰۲۴، ساعت ۱۲:۰۱ (UTC)پاسخ
@Jeeputer: در کتابخانه mediawiki.util یک تابع به نام getParamValue وجود دارم که فکر میکنم همین کار را انجام دهد. WASP بحث ۶ اردیبهشت ۱۴۰۳، ساعت ۱۵:۴۹، ‏۲۵ آوریل ۲۰۲۴، ساعت ۱۲:۱۹ (UTC)پاسخ
البته من بازهم فکر میکنم استفاده از regex از نظر پیچیدگی زمانی بهتر عمل کند. با کدی مانند این:
match = re.search(r'oldid=(\d+)', url)
oldid = match.group(1)
WASP بحث ۶ اردیبهشت ۱۴۰۳، ساعت ۱۶:۳۶، ‏۲۵ آوریل ۲۰۲۴، ساعت ۱۳:۰۶ (UTC)پاسخ
بسیار خب پس با عبارت باقاعده انجامش می‌دهم. فعلاً که کارمندان بنیاد لطف کردند ساختار HTML صفحه را تغییر دادند. :) باید اول اسکریپت را با این تغییرات سازگار کنم. {{کاربر|جـیپیوتر}}بحث ‏۲۶ آوریل ۲۰۲۴، ساعت ۱۱:۵۶ (UTC)پاسخ
✓ قابلیت شناسایی ویرایش خرابکارانه برای نخستین نسخهٔ صفحه هم افزوده شد. از آن سه موردی که بالاتر گفتید فقط «سازنده مقاله چند ویرایش در مقاله انجام داده» مانده. به‌نظرتان ضروری است؟ چه کاربردی می‌تواند داشته باشد؟ خودم چون خیلی در زمینهٔ گشت‌زنی با این صفحه کار نکرده‌ام، کاربردش برایم قابل تصور نیست.
آیکون هشدار ساعن را به شکل چشمک‌زن درآوردم. به‌نظرتان چطور است که نامزدی صفحه برای حذف را هم به همین شکل درآوریم؟ اول ایده‌اش به فکرم رسید، اما فکر می‌کنم ممکن است باعث حواس‌پرتی کاربر و شلوغی صفحه شود. جایگزینش این است که متن اعلان «نامزد حذف سریع» را به‌شکل پررنگ درآوریم. {{کاربر|جـیپیوتر}}بحث ‏۲۶ آوریل ۲۰۲۴، ساعت ۱۵:۱۲ (UTC)پاسخ
@Jeeputer: درود، تمام بار زحمتش بر دوش شما افتاد. متشکرم از زحمات شما. خوشحال میشوم از اینجا به بعدش را کمک بیشتری بکنم.
ابتدا از نظر ظاهری:
از نظر من اگر نامزدی های حذف نیز به شکل آیکون در بیایند بهتر است. و در ابتدای صفحه، در یک خط آیکون ها توضیح داده شوند. اینطوری از نظر بصری یافتن نامزد های حذف نیز آسان تر میشوند. اما چشمک زن نباشند. (بازهم بحث سلیقه است و هرطور که صلاح میدانید)
درباره‌ی تعداد ویرایش‌های کاربر سازنده:
یک سری معیار های تجربی برای من وجود دارد که مشخص میکند یک ویرایش خرابکاری است یا خیر. این نیز یکی از آنهاست. اگر کاربر سازنده، در ویرایش اول خود (ایجاد صفحه) یک حجم بالای 1 کیلوبایت ویرایش داشته باشد، و کاربر با سابقه ای نباشد قطعا ویرایش را کپی کرده و خرابکاری است. یا اگر کاربر سازنده بالای 8 ویرایش روی مقاله (در مدت کم) داشته باشد، و بازهم کاربر با سابقه‌ای نباشد، به احتمال زیاد بحث تعارض منافع در کار است و میتواند خرابکاری باشد.
این معیار های من‌درآوردی در اکثر مواقع کار میکند و خبر از خرابکاری میدهد. به نظرم فهرستی از این موارد را درست کنم تا با ORES ترکیب شود، امتیاز جدیدی تولید کند و پیش‌بینی دقیق‌تری از خرابکاری بدهد. ORES در خیلی جاها درست عمل نمیکند. مثلا بانو وانگ جاشیل و ملکه موهاسو را ببینید. منابع ندارند و ORES آلارم خرابکاری نداده. عایض مشخصا نمونه‌ای از همان معیار است که گفتم. حجم بالای 1 کیلوبایت در زمان ایجاد، و کاربر کم سابقه. نمونه های دیگر نیز کاملا مشهود است. و بازهم ORES اشتباه کرده.
یک ویژگی دیگر:
که جایش خالی است نیز بحث فیلتر کردن نتایج است. مثلا نمایش مقاله‌های های برچسب خورده یا نمایش مقاله‌های خرابکارانه، یا نمایش ویرایش‌های گشت نخورده.
با آرزوی بهترین ها و خسته نباشید
WASP بحث ۷ اردیبهشت ۱۴۰۳، ساعت ۱۹:۰۹، ‏۲۶ آوریل ۲۰۲۴، ساعت ۱۵:۳۹ (UTC)پاسخ
پیشنهاد میکنم اگر مدتی ویرایشهای خرابکارانه نیز علامت گذاری شوند، میتوانم هوش مصنوعی قوی تری از ORES با قابلیت شخصی سازی بیشتر بسازم. البته برای چنین کاری نیاز به فهرست بیشتر از ۱۰۰۰ ویرایش در انواع خرابکاری های مختلف مختلف دارم. امیدوارم در آینده ممکن شود. WASP بحث ۷ اردیبهشت ۱۴۰۳، ساعت ۱۹:۲۰، ‏۲۶ آوریل ۲۰۲۴، ساعت ۱۵:۵۰ (UTC)پاسخ
ORES دارد بازنشست می‌شود و جایش را به یک افزونهٔ دیگر می‌دهد که نه نامش را یادم هست و نه در موردش اطلاعات زیادی دارم. مستنداتش در وبگاه مدیاویکی موجود است و اگر کمی بگردید، پیدایش می‌کنید. اگر آن یکی هم خوب نبود، می‌توانید به بنیاد ایمیل بزنید. تا جایی که می‌دانم، از کمک‌های داوطلبان همیشه استقبال می‌کنند. من هم در حد توانم به شما کمک می‌کنم. {{کاربر|جـیپیوتر}}بحث ‏۲۶ آوریل ۲۰۲۴، ساعت ۱۵:۵۴ (UTC)پاسخ
در خصوص ابزار هم، آن بخش اول و دوم کمی زمان‌بر است و حوصله می‌خواهد. یک روز که برای چند ساعت وقت و حوصله داشتم، رویش کار می‌کنم. اگر خودتان هم خواستید رویش کار کنید، کدهای جدید ابزار را کپی کنید که درست کار کند. برای سازگاری با ساختار جدید صفحه تغییراتی در آن اعمال کرده‌ام. {{کاربر|جـیپیوتر}}بحث ‏۲۶ آوریل ۲۰۲۴، ساعت ۱۵:۵۶ (UTC)پاسخ
آن ویژگی آخر را هم سر فرصت اضافه می‌کنم. خیلی سخت نیست. اما لازمه‌اش اول این است که یک پنل تنظیمات در بالای صفحه اضافه شود. بعداً از همان پنل می‌توانیم برای توضیحات مرتبط با نمادهای حذف و دکمهٔ واکشی ORES هم استفاده کنیم.
پیش از این‌ها باید آن دکمه‌های ORES که گفتم + قابلیت شخصی‌سازی آن را اضافه کنم.
ببخشید که پیام‌هایم قطعه قطعه شد، نمی‌دانم چرا عادت کرده‌ام به جای enter پشت هم ctrl+enter بزنم (شاید به‌خاطر استفاده از کنسول مرورگر باشد)! {{کاربر|جـیپیوتر}}بحث ‏۲۶ آوریل ۲۰۲۴، ساعت ۱۶:۰۰ (UTC)پاسخ
@Jeeputer: حتما روی آن دو مورد کار میکنم. درباره‌ی امتیاز خرابکاری، سعی میکنم یک نمونه اولیه را بنویسم و با همین ابزار به صورت جاوا اسکریپت تست و دیباگ کنم. اگر نتیجه رضایت بخش بود به شکل api در می‌آورم. اگر کمکی درباره کار با api نیاز بود مزاحمتان میشوم، چون تجربه کافی درباره ساختار api ویکی را ندارم.
سپاس از همه زحماتتان، پیشنهاد میکنم برای است اسکریپت و راحتی کار بجای استفاده از کنسول، از افزونه Code Injector استفاده کنید. برای اج، کروم، و فایرفاکس موجود است! کنسول واقعا پر دردسر است. WASP بحث ۷ اردیبهشت ۱۴۰۳، ساعت ۱۹:۳۴، ‏۲۶ آوریل ۲۰۲۴، ساعت ۱۶:۰۴ (UTC)پاسخ
@Jeeputer: تا اینجای کار از ابزار ORES کوچ کردم به ابزار liftwing. البته که خروجی هردو کاملا یکی است. اما ORES دیگر آپدیت نمیشود. ضمنا امتیازدهی را بر اساس اینجا ترش‌هولد بندی کردم. به سه دسته احتمال خرابکاری کم، متوسط و زیاد در سه رنگ سبز، نارنجی و قرمز. بخاطر این تغییر کلاس مربوط به چشمک‌زن بودن را برداشتم. و css رنگ را داخل خود جاوااسکریپت به صورت داینامیک تعریف کردم. پس دیگر نیازی به color: red در css کلاس npf-ores-indicator نیست. بازهم خودتان بر اساس سلیقه خودتان تغییرات را اصلاح کنید یا بفرمایید تا اصلاح کنم. تغییری که در آینده میدم این است که اگر در آخرین ویرایش، مقاله هنوز منبع ندارد، احتمال خرابکاری بدون را افزایش دهد. که سر فرصت انجامش میدهم.
فکر میکنم بهتر است ادامه گفت و گو درباره تغییرات را در یک زیرصفحه در بحث ابزار انجام دهیم تا همانجا ثبت شود. WASP بحث ۸ اردیبهشت ۱۴۰۳، ساعت ۰۱:۱۱، ‏۲۶ آوریل ۲۰۲۴، ساعت ۲۱:۴۱ (UTC)پاسخ
عالی! بله در بحث ابزار پینگم کنید تا همانجا ادامه دهیم. اصلاً همین ریسه را به آنجا منتقل کنید. اگر خواستید بایگانی‌اش را داشته باشید، به‌جای کات، کپی کنید. {{کاربر|جـیپیوتر}}بحث ‏۲۶ آوریل ۲۰۲۴، ساعت ۲۱:۴۴ (UTC)پاسخ

@Jeeputer: سلام. من در کاربر:WASP-Outis/temp.js قابلیت جست و جو برای منابع را اضافه کردم. اکنون در بخش در حال تجزیهٔ صفحه… یک پیام مبنی بر اینکه در مقاله منبع وجود دارد یا نه ثبت میشود.
سعی کردم که امتیازی را برای liftwing آن در نظر بگیرم. اگر منابع نداشت، اخطار خرابکاری قرمز بشود. اما به مشکل برخوردم و نمیدانم چطور حلش کنم.
نیاز است که تابع liftwing بعد از اتمام کامل کار تابع parsePage انجام شود، تا بررسی منابع کامل شده باشد. اما اینچنین نیست. از نظر زمان اجرا باهم تداخل دارند و امتیاز خرابکاری به درستی اصلاح نمیشود. شما پیشنهادی در این باره دارید؟
توضیح بیشتر: روش کاری که در نظر گرفتم این است که موجودیت spanای که پیام فاقد منابع دارد را بررسی میکند. و اگر آن پیام وجود داشت، امتیاز خرابکاری را اصلاح میکند.
اگر فرصت کردید بررسی کنید. سپاس WASP بحث ۱۰ اردیبهشت ۱۴۰۳، ساعت ۰۲:۵۷، ‏۲۸ آوریل ۲۰۲۴، ساعت ۲۳:۲۷ (UTC)پاسخ

@WASP-Outis: باید از Promise استفاده کنید که پیاده کردنش کمی زمان می‌برد. اگر فرصت کنم انجامش می‌دهم. {{کاربر|جـیپیوتر}}بحث ‏۲۸ آوریل ۲۰۲۴، ساعت ۲۳:۵۰ (UTC)پاسخ
@WASP-Outis: برای این که از حجم «فاقد»ها کم کنیم، نظرتان چیست که اگر مثلاً منبعنداشت، عبارت منبع نمایش داده شود؟ {{کاربر|جـیپیوتر}}بحث ‏۲۸ آوریل ۲۰۲۴، ساعت ۲۳:۵۲ (UTC)پاسخ
@Jeeputer: فکر میکنم اگر کل کد liftwing را داخل parsePage بنویسم، شاید کد کثیف تر شود، اما بهینه تر و سریع تر میشود. دیگر هم نیاز نیست span را چک کند. شما فکر میکنید کدام راه حل بهتر باشد؟
درباره فاقد ها از نظر من بهتر است از یک فاقد و چند «و» یا «-» استفاده کرد و موارد بولد شوند. مثل: فاقد رده و منبع یا فاقد رده - منبع WASP بحث ۱۰ اردیبهشت ۱۴۰۳، ساعت ۰۳:۳۷، ‏۲۹ آوریل ۲۰۲۴، ساعت ۰۰:۰۷ (UTC)پاسخ
@Jeeputer: سلام. هر سه موردی که پایین ذکر شده انجام شدند. لطفا بررسی کنید. WASP بحث ۱۱ اردیبهشت ۱۴۰۳، ساعت ۰۲:۱۹، ‏۲۹ آوریل ۲۰۲۴، ساعت ۲۲:۴۹ (UTC)پاسخ
البته این css نیز باید به کد اضافه شود:
#outlink-box {
width: 250px;
height: auto;
background-color: #f0f0f0;
border: 1px solid #F1F1F1;
padding: 10px;
box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
z-index: 9999;
position: absolute;
word-wrap: break-word;
white-space: normal;
font-size: 11px;
direction: ltr;
}
#outlink-box ul {
list-style-type: none;
padding-left: 0;
}

#outlink-box li {
position: relative;
padding-left: 15px;
}

WASP بحث ۱۱ اردیبهشت ۱۴۰۳، ساعت ۰۲:۲۲، ‏۲۹ آوریل ۲۰۲۴، ساعت ۲۲:۵۲ (UTC)پاسخ

@WASP-Outis: سلام. دارم پیاده‌سازی‌اش می‌کنم. کمی تمیزکاری می‌کنم (مثلاً بخش‌های مختلف را به توابع اختصاصی منتقل می‌کنم که بلوک کد parsePage خلوت‌تر شود).
فقط یک سؤال: آیا استفاده از ES6 و arrow function در زمان واکشی امتیاز لیفت‌وینگ الزامی است؟ می‌خواهم ببینم اگر الزامی نیست، از نحو سنتی تابع استفاده کنیم که کدمان یک‌دست باشد.
دستورات CSS را هم اضافه می‌کنم. {{کاربر|جـیپیوتر}}بحث ‏۳۰ آوریل ۲۰۲۴، ساعت ۰۴:۱۸ (UTC)پاسخ
@WASP-Outis: یک مشکل: اختصاص شناسهٔ outlink-box به آیتمی که قرار است چندین بار تکرار شود، باعث می‌شود که چندین آیتم با شناسهٔ یکسان تولید شوند. آن شناسه دیگر منحصربه‌فرد نیست، در صورتی که شناسه‌های HTML همگی باید منحصربه‌فرد باشند. فکر می‌کنم قصدتان افزودن class بوده و نه id. درست است؟ در این صورت باید در دستورات css بالا، تعریف #outlink-box را به .outlink-box تغییر دهیم. نامش را هم برای خوانایی بهتر به extlink-box تغییر می‌دهم. {{کاربر|جـیپیوتر}}بحث ‏۳۰ آوریل ۲۰۲۴، ساعت ۰۴:۵۶ (UTC)پاسخ
نسخهٔ جدید را آزمایش کردم و به‌نظرم واقعاً عالی شده. دست‌تان درد نکند. چند کار هم خودم انجام دادم:
  • کد را تمیزکاری کردم و بلوک کد مربوط به دریافت امتیاز را به یک تابع جداگانه منتقل کردم که برای هر آیتم یک بار فراخوانی می‌شود.
  • مشکل شناسه و کلاس که گفتم را حل کردم و ظاهر جعبه پیوندهای بیرونی را هم از نظر margin و padding بهبود دادم.
  • یک مشکل دیگر که به‌طور کاملاً اتفاقی پیدا کردم، این است که extLinksElement.toString().split(",") باعث می‌شود که برخی پیوندها دوتکه شوند. یک نمونه‌اش که خیلی هم نادر است، اما از شانس من در زمان آزمایش ابزار در صفحه وجود داشت، پیوند به صفحهٔ en:Kristian Dobrev (footballer, born 2001) بود که در عنوانش یک کاما دارد و پیوندش در فهرست پیوندهای بیرونی دوتکه شده بود. به‌نظرم اساساً نیازی هم به این کد نیست و خروجی‌اش مشابه همان extLinksElement (outLinksElement سابق) است. در هر صورت راه بهتری هم برای ساخت فهرست وجود داشت که پیاده‌اش کردم. پیوندها را هم درون عنصر <a>...</a> قرار دادم که بشود رویشان کلیک کرد و در یک زبانهٔ جدید باز شوند.
{{کاربر|جـیپیوتر}}بحث ‏۳۰ آوریل ۲۰۲۴، ساعت ۰۶:۲۸ (UTC)پاسخ
@Jeeputer: ممنونم از زحمات شما. تست کردم خیلی عالی شده. از منطقی جالبی برای صدا زدن تابع liftWing استفاده کردید که مشکل را حل کرد. الان واقعا عالی است.
در خط 73، متغیر hascsd بی استفاده مانده و باید حذف شود.
آن فاقد ها هم همینطور.
فقط مانده قابلیت فیلتر کردن موارد. فکر میکنم باید به هر مورد یک پرچم بزنیم و وقتی دکمه های فیلتر انتخاب شدند، اگر پرچم را داشتند display none شوند.
دیگر چیز خاصی به ذهن من برای تغییر نمیرسد. اگر چیزی هست لیست کنید تا انجامشان دهیم.
درباره arrow function، من موفق نشدم با تابع معمولی پیاده کنم و به خطای کنسول میخوردم، به اینشکل پیاده کردم و مشکل حل شد. البته احتمالا مشکل از کد من بوده و فکر نمیکنم مشکل خاصی پیش بیاید. WASP بحث ۱۱ اردیبهشت ۱۴۰۳، ساعت ۱۲:۵۴، ‏۳۰ آوریل ۲۰۲۴، ساعت ۰۹:۲۴ (UTC)پاسخ
@WASP-Outis: آن «فاقد»ها خیلی مهم نیستند، می‌گذارمشان برای آخر کار.
توابع را هم درست می‌کنم.
فیلتر کردن کمی زمان‌بر است و رویش کار می‌کنم. دو مورد دیگر را به فهرست کارها در پایین اضافه کردم. {{کاربر|جـیپیوتر}}بحث ‏۳۰ آوریل ۲۰۲۴، ساعت ۱۳:۱۸ (UTC)پاسخ
@Jeeputer: دستتان درد نکند! واقعا ابزار صادراتی‌ای از آب درآمده. WASP بحث ۱۲ اردیبهشت ۱۴۰۳، ساعت ۰۱:۰۲، ‏۳۰ آوریل ۲۰۲۴، ساعت ۲۱:۳۲ (UTC)پاسخ
@WASP-Outis: دست شما هم درد نکند. اگر زحمات شما نبود شاید فقط به عراق و آذربایجان صادر می‌شد...
نتیجهٔ کار را که می‌بینم واقعاً لذت می‌برم! مثلاً الان که قابلیت پالایش فهرست را به آن اضافه کردم... لطفاً ببینید و نظر دهید.
البته باید بیشتر رویش کار کنم. مثلاً وقتی مقاله‌های فاقد میان‌ویکی و فاقد رده پنهان می‌شوند، اگر یکی از آن‌ها (مثلاً فاقد میان‌ویکی) را مجدداً فعال کنید، آن‌هایی که معیار دیگر (مثلاً فاقد رده) را دارند هم نمایش می‌یابند. در صورتی که در این سناریو فقط باید مقاله‌هایی که فاقد میان‌ویکی هستند، اما رده دارند نمایش داده شوند.
احتمالاً لازمه‌اش این است که کدهای مربوط به فیلترها را زیر و رو کنم. به احتمال وجود چنین مشکلی فکر نکرده بودم و کدها که کامل شدند، هنگام آزمایش متوجه آن شدم. {{کاربر|جـیپیوتر}}بحث ‏۱ مهٔ ۲۰۲۴، ساعت ۰۰:۴۵ (UTC)پاسخ
@Jeeputer: خیلی زیبا و عالی شده. درباره‌ی پالایش دو مورد به ذهنم میرسد که خودم رویشان کار میکنم. اول به نظرم بهتر است در هر دکمه یک پرانتز وجود داشته باشد و تعداد مواردی که مربوط به آن فیلتر است را بنویسد. مثلا: فاقد رده (۵) اینطوری سردرگمی در هنگام انتخاب فیلتر کمتر میشود.
دوم، وقتی گزینه‌ی ۵۰ مورد قدیمی‌تر انتخاب میشود، و صفحه مجددا لود میشود، فیلترها از بین میروند. در این باره ایده من این است که یک سری argument برای هر فیلتر داشته باشیم تا بتوانیم به این شکل یک پیوند پایدار برای فیلترهای انتخابی بسازیم. بعد از انتخاب فلیتر ها، argument ها به url ۵۰ مورد قدیمی‌تر و جدید تر اضافه شود. هنگام لود صفحه هم آرگیومنت ها خوانده شوند و فیلترها اعمال شوند.
در اینباره نظر خودتان را بگویید یا اگر ایده دیگری برای حل مشکل دارید بگویید تا رویش کار کنم. WASP بحث ۱۲ اردیبهشت ۱۴۰۳، ساعت ۱۳:۵۸، ‏۱ مهٔ ۲۰۲۴، ساعت ۱۰:۲۸ (UTC)پاسخ
به نظرم یک فیلتر هم نیاز است تا ویرایش‌های انبوه را پنهان کند. نمیدانم راه دیگری هم دارد یا نه اما از روی خلاصه ویرایش میتوان آنها را تشخیص داد (ایجادشده به کمک به ویکی‌فا و Dexbot، ابرابزار) WASP بحث ۱۲ اردیبهشت ۱۴۰۳، ساعت ۱۴:۰۲، ‏۱ مهٔ ۲۰۲۴، ساعت ۱۰:۳۲ (UTC)پاسخ
یک کار دیگر هم که شاید مفید باشد این است که گزینه‌های نمایش فهرست به صورت ۵۰۰تایی و ۲۵۰تایی حذف شوند. چون علاوه بر بالابردن بار پردازشی سرور، محدودیتی هم در ای‌پی‌آی liftWing وجود دارد که هر آی‌پی در هر ساعت میتواند ۵۰۰۰ درخواست ارسال کند. نظرتان چیست؟ WASP بحث ۱۲ اردیبهشت ۱۴۰۳، ساعت ۱۴:۰۶، ‏۱ مهٔ ۲۰۲۴، ساعت ۱۰:۳۶ (UTC)پاسخ
@WASP-Outis: ذکر تعداد می‌تواند مفید باشد و پیاده کردنش کاری ندارد (OO.UI برایش یک متود دارد). در مورد آرگومان‌های نشانی موافقم. راه دیگرش استفاده از کلوچک یا همان cookie است، اما ساده‌تر از آرگومان‌های نشانی صفحه نیست.
مقاله‌هایی که با ابزار به ویکی‌فا ساخته می‌شوند، انبوه نیستند. اما مقاله‌هایی که با ابزار «به‌ویکی‌فا انبوه» ساخته می‌شوند یک برچسب در خودشان دارند که با کمک همان برچسب می‌شود فیلترشان کرد. البته پیدا کردن برچسبش در DOM کمی سخت است اما نشدنی نیست.
آن گزینه‌ها را هم به‌نظرم حذف نکنیم. نخست به این دلیل که بعید است کسی بتواند در یک ساعت ۱۰ صفحهٔ ۵۰۰ مقاله‌ای را بازبینی کند. حتی یکی‌اش هم بعید است. اگر هم کسی بخواهد ۱۰ صفحه را طی یک ساعت بارگیری کند، حقیقتاً مستحق این است که از سوی سرور محدود شود. :)
اما یک کاری که می‌شود کرد این است که آن‌ها را فقط به کاربران دارای دسترسی گشت‌زن نمایش دهیم. این گروه کاربران مورد اعتماد هستند و بعید است بخواهند با بارگیری صفحه‌های زیاد فشار بی‌مورد و مضاعف به سامانه وارد کنند. {{کاربر|جـیپیوتر}}بحث ‏۱ مهٔ ۲۰۲۴، ساعت ۱۳:۰۹ (UTC)پاسخ
@Jeeputer: درباره‌ی تعداد لود صفحات منطقی میگویید. البته من الان دوباره چک کردم و دیدم این عدد 50 هزار است نه 5 هزار.
پس لطفا آن قضیه‌ی تعداد مقالات در دکمه‌های هر فیلتر را شما پیگیری کنید تا من هم برای آرگومان‌ها اقدام کنم.
چند مورد دیگر هم برای بهبود امتیاز خرابکاری‌ها به فهرست کارها اضافه کردم. خواستم از دیگر گشت زنان هم مشورت بگیرم تا بدانم چه مواردی را اضافه کنم و برای هر مورد چند امتیاز کم یا اضافه کنم.
به کاربر kasir در صفحه بحثشان پیام دادم اما متاسفانه پاسخ ندادند. فکر میکنید باید از چه کاربری در اینباره مشورت بگیرم؟ WASP بحث ۱۲ اردیبهشت ۱۴۰۳، ساعت ۲۱:۲۷، ‏۱ مهٔ ۲۰۲۴، ساعت ۱۷:۵۷ (UTC)پاسخ
برای ساخت آرگومان ها، بعد از اتمام کار روی فیلترها اقدام میکنم تا تعارضی در نوشتن کد ها پیش نیاید. WASP بحث ۱۳ اردیبهشت ۱۴۰۳، ساعت ۰۳:۴۱، ‏۲ مهٔ ۲۰۲۴، ساعت ۰۰:۱۱ (UTC)پاسخ

@Jeeputer: سلام؛ یک سری تغییرات روی کد اعمال شد. اگر درحال ویرایش کد هستید، روی این نسخه تغییرات را اعمال کنید. سپاس WASP بحث ۱۴ اردیبهشت ۱۴۰۳، ساعت ۰۳:۲۶، ‏۲ مهٔ ۲۰۲۴، ساعت ۲۳:۵۶ (UTC)پاسخ

توجه کنید که ورودی های تابع parsePage را تغییر دادم،
از:
parsePage(boxIngredients[i].revid, boxIngredients[i].firstrevid, boxIngredients[i].notPatrolled);
به:
parsePage(boxIngredients[i]);

WASP بحث ۱۴ اردیبهشت ۱۴۰۳، ساعت ۰۳:۳۱، ‏۳ مهٔ ۲۰۲۴، ساعت ۰۰:۰۱ (UTC)پاسخ


@Jeeputer: درود، حل مشکل فیلترها پیشرفتی کرده؟ من دیشب مقداری روش فکر کردم و دوتا راه حل برای حل مشکلش به نظرم رسید.WASP بحث ۱۵ اردیبهشت ۱۴۰۳، ساعت ۱۷:۱۹، ‏۴ مهٔ ۲۰۲۴، ساعت ۱۳:۴۹ (UTC)پاسخ
@WASP-Outis: سلام. من چند روزی است که فرصت کار بر روی این اسکریپت را ندارم و احتمالاً تا چند روز آینده هم وضعیت همین‌طور باشد. در اولین فرصتی که دست دهد کار می‌کنم و خبر می‌دهم. اگر خواستید می‌توانید راه‌حل‌ها را پیاده کنید تا بعداً در موردش صحبت کنیم. {{کاربر|جـیپیوتر}}بحث ‏۴ مهٔ ۲۰۲۴، ساعت ۱۴:۱۴ (UTC)پاسخ
ممنونم از شما، حتما WASP بحث ۱۵ اردیبهشت ۱۴۰۳، ساعت ۱۷:۴۵، ‏۴ مهٔ ۲۰۲۴، ساعت ۱۴:۱۵ (UTC)پاسخ

چطور است که همین ظاهر را برای صفحات مشارکت‌های کاربری نیز اعمال کند؟ همراه با liftwing و با حذف چیز های اضافی مانند بدون رده، بدون منبع و ...

از وقتی با این ابزار کار میکنم خواندن مشارکت های کاربری هم برایم سخت شده:)) دست شما درد نکند WASP بحث ۱۵ اردیبهشت ۱۴۰۳، ساعت ۲۰:۲۱، ‏۴ مهٔ ۲۰۲۴، ساعت ۱۶:۵۱ (UTC)پاسخ

@WASP-Outis: قربانتان. این صفحه‌ها در ویکی‌پدیای انگلیسی هم خرچنگ‌غورباقه هستند. چه برسد به زبان ما که (خودمانیم) خیلی خرچنگ‌غورباقه‌تر از انگلیسی است. {{کاربر|جـیپیوتر}}بحث ‏۴ مهٔ ۲۰۲۴، ساعت ۱۸:۱۸ (UTC)پاسخ
@Jeeputer: سلام. بخش فیلترها کاملا اجرا شد.(پیوند کد) هم ایراداتش رفع شد هم پیوند پایدار و آرگومان های url اجرا شد. به نظرم آمادست که برای کاربران گشت زن به صورت پیشفرض فعال شود. ارادتمند WASP ‏۱۵ ژوئن ۲۰۲۴، ساعت ۰۳:۰۸ (UTC)پاسخ
فقط این css ها نیز به کد اضافه گردد:
.filters-permanent-link-btn {
    margin: auto;
    position: relative;
    margin-left: 0;
}

.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button {
    color: #36c;
    padding-top: 0px;
}

ارادتمند WASP ‏۱۵ ژوئن ۲۰۲۴، ساعت ۰۳:۲۰ (UTC)پاسخ

@WASP-Outis: عالی شد! مخصوصاً آن دکمهٔ پیوند پایدار. هم کدها و هم سبک‌ها را به‌روز کردم. ممنون از این زحمتی که کشیدید. امروز فعالش می‌کنم.
فقط یک پیوندی برای ارائهٔ بازخورد یا گزارش اشکال هم باید به ابزار اضافه شود. مورد دیگر هم این که باید مستنداتش را بنویسیم. مستندات کنونی‌اش ناقص هستند. در این زمینه هم اگر دوست داشتید کمک کنید. {{کاربر|جـیپیوتر}}بحث ‏۱۵ ژوئن ۲۰۲۴، ساعت ۰۶:۰۶ (UTC)پاسخ
@Jeeputer: سپاس از شما. پیوند بازخورد را در خود ابزار بگذارم؟ به اینجا پیوند دهم یا صفحه‌ی بحث خودمان؟ ارادتمند WASP ‏۱۵ ژوئن ۲۰۲۴، ساعت ۱۸:۴۰ (UTC)پاسخ
@Jeeputer: موافقید برای کاهش بار سرور و درخواست ها (و افزایش سرعت لود صفحه) گزارشات لیفت‌وینگ را در کوکی مرورگر ذخیره کنیم؟ تا بعد از بارگذاری مجدد صفحه نیاز به ارسال درخواست مجدد به سرور نباشد. البته این کار کمی پیچیده و زمانبر است. ارادتمند WASP ‏۱۵ ژوئن ۲۰۲۴، ساعت ۱۸:۵۴ (UTC)پاسخ
@WASP-Outis: به‌نظرم سه پیوند در پایین جعبهٔ پالایش، سمت چپ با این عنوان‌ها قرار داده شود: مستندات (فعلاً به کاربر:Jeeputer/newPagesFeed برود، بعداً تغییرش می‌دهیم)، پیشنهاد/بازخورد (به همین صفحهٔ بحث برود)، گزارش اشکال (به وپ:فنی برود). با آنچه برای درخواست‌ها گفتید هم موافقم. اگر بخواهیم عمومی‌اش کنیم، ضرورت بیشتری هم پیدا خواهد کرد. {{کاربر|جـیپیوتر}}بحث ‏۱۶ ژوئن ۲۰۲۴، ساعت ۰۲:۱۵ (UTC)پاسخ
@Jeeputer: پیوند ها اضافه شد. ارادتمند WASP ‏۱۶ ژوئن ۲۰۲۴، ساعت ۰۵:۵۶ (UTC)پاسخ
@Jeeputer: قابلیت ذخیره کوکی اضافه شد. به درستی هم کار میکند. انقضای کوکی را روی 3 ساعت تنظیم کردم. ضمنا آرگومان limits که مربوط به تعداد مقالات نمایشی در صفحه هست را هم به پیوند پایدار اضافه کردم. (پیوند) ارادتمند WASP ‏۱۶ ژوئن ۲۰۲۴، ساعت ۰۷:۲۴ (UTC)پاسخ
البته بازهم این css باید اضافه گردد:
.oo-ui-buttonElement-frameless.oo-ui-widget-enabled.oo-ui-flaggedElement-destructive > .oo-ui-buttonElement-button {
color: #d73333;
padding-top: 0px;
margin-right: 7px;
}

ارادتمند WASP ‏۱۶ ژوئن ۲۰۲۴، ساعت ۰۷:۲۹ (UTC)پاسخ

مستندات نیز بروزرسانی شد. ارادتمند WASP ‏۱۶ ژوئن ۲۰۲۴، ساعت ۰۸:۰۲ (UTC)پاسخ
یکسری ایرادات دیگر رفع شد. آخرین نسخه‌ی کد را جایگزین کنید.
واقعا ابزار کاربردی و جذابی شد، به نظرم ارزش وقتی که گذاشتیم را داشت.
ابزار را به صورت پیشفرض فعال کنید. اگر ایرادی داشته باشد، طبق گزارشات کاربران اصلاحات را سریعا انجام میدهم.
در قدم بعدی هم باید ابزار را با صفحات دیگری مانند مشارکت های کاربران سازگار کنیم.
خسته نباشید. ارادتمند WASP ‏۱۶ ژوئن ۲۰۲۴، ساعت ۱۰:۰۷ (UTC)پاسخ
@WASP-Outis: زحمات اصلی گردن شما بود. نتیجه‌اش هم بسیار عالی شد. احتمالاً امشب کارهایی که گفتید را انجام می‌دهم، اگر نشد، فردا. ممنون از شما. {{کاربر|جـیپیوتر}}بحث ‏۱۷ ژوئن ۲۰۲۴، ساعت ۱۲:۰۰ (UTC)پاسخ
@WASP-Outis: قبل از به‌روزرسانی اسکریپت: این سبک‌بندی‌ها بر دکمه‌های ابزارهای دیگر که ممکن است کاربر فعال‌شان کرده باشد هم اعمال می‌شوند نه؟ به‌نظرم بهتر است یک کلاس اختصاصی برای دکمه تعریف شود. چون بسیاری از ابزارهای دیگر هم از OOUI استفاده می‌کنند و اگر این ابزار را به‌صورت پیش‌فرض فعال کنیم، این CSS بر تمام آن ابزارها هم اعمال می‌شود. {{کاربر|جـیپیوتر}}بحث ‏۱۹ ژوئن ۲۰۲۴، ساعت ۰۰:۴۸ (UTC)پاسخ
در سبک‌بندی‌های قبلی که بالاتر قرار دادید هم قسمت دوم این مشکل را دارد. {{کاربر|جـیپیوتر}}بحث ‏۱۹ ژوئن ۲۰۲۴، ساعت ۰۰:۴۹ (UTC)پاسخ


فهرست کارها

ویرایش·تاریخچه·مشاهده·تازه‌سازی  فهرست موارد انجام‌دادنی برای کاربر:Jeeputer/newPagesFeed.js:

  • اگر در ویرایش آخر هنوز منبع نداشت، احتمال خرابکاری بالا برود
 اجراشد WASP بحث ۸ اردیبهشت ۱۴۰۳، ساعت ۰۱:۴۹، ‏۲۶ آوریل ۲۰۲۴، ساعت ۲۲:۱۹ (UTC)پاسخ
  • اگر مقاله گشت خورده بود، احتمال خرابکاری کم شود
 اجراشد WASP بحث ۸ اردیبهشت ۱۴۰۳، ساعت ۰۱:۴۹، ‏۲۶ آوریل ۲۰۲۴، ساعت ۲۲:۱۹ (UTC)پاسخ
  • افزودن پیوندهای خارجی مقاله به باکس
 اجراشد WASP بحث ۱۰ اردیبهشت ۱۴۰۳، ساعت ۲۱:۵۷، ‏۲۹ آوریل ۲۰۲۴، ساعت ۱۸:۲۷ (UTC)پاسخ
  • تنظیم حاشیه‌ها و شکل ظاهری عنصر «پیوندهای بیرونی»
 اجراشد {{کاربر|جـیپیوتر}}بحث ‏۳۰ آوریل ۲۰۲۴، ساعت ۰۶:۳۵ (UTC)پاسخ
  • قابلیت پالایش نتایج
check تا حدی اجرا شد {{کاربر|جـیپیوتر}}بحث ‏۳۰ آوریل ۲۰۲۴، ساعت ۱۳:۱۶ (UTC)پاسخ
 اجراشد پیوند ارادتمند WASP ‏۱۵ مهٔ ۲۰۲۴، ساعت ۰۲:۰۸ (UTC)پاسخ
  • تبدیل توابع ES6 به توابع سنتی
 در دست اقدام {{کاربر|جـیپیوتر}}بحث ‏۳۰ آوریل ۲۰۲۴، ساعت ۱۳:۱۶ (UTC)پاسخ
  • اضافه کردن آرگومان به فیلتر ها جهت ساخت پیوند پایدار
 اجراشد ارادتمند WASP ‏۱۵ ژوئن ۲۰۲۴، ساعت ۰۳:۰۵ (UTC)پاسخ
  • افزودن تعداد مقالات در هر فیلتر به دکمه‌ها
 در دست اقدام WASP بحث ۱۲ اردیبهشت ۱۴۰۳، ساعت ۲۱:۱۴، ‏۱ مهٔ ۲۰۲۴، ساعت ۱۷:۴۴ (UTC)پاسخ
  • در صورت خطای یادکرد، امتیاز خرابکاری بالا برود
 اجراشد پیوند WASP بحث ۱۲ اردیبهشت ۱۴۰۳، ساعت ۲۱:۱۴، ‏۱ مهٔ ۲۰۲۴، ساعت ۱۷:۴۴ (UTC)پاسخ
  • در صورت ساخت مقاله‌ی قبلا حذف شده، امتیاز خرابکاری بالا برود
 اجراشد پیوند WASP بحث ۱۲ اردیبهشت ۱۴۰۳، ساعت ۲۱:۱۴، ‏۱ مهٔ ۲۰۲۴، ساعت ۱۷:۴۴ (UTC)پاسخ
  • اضافه کردن فیلتر برای ویرایشات انبوه
 در دست اقدام WASP بحث ۱۲ اردیبهشت ۱۴۰۳، ساعت ۲۱:۱۴، ‏۱ مهٔ ۲۰۲۴، ساعت ۱۷:۴۴ (UTC)پاسخ
  • به صفحات ابهام زدایی، برچسب مشخصی بزند و فقط امتیاز Liftwing را در نظر بگیرد
 اجراشد پیوند WASP بحث ۱۴ اردیبهشت ۱۴۰۳، ساعت ۱۴:۲۰، ‏۳ مهٔ ۲۰۲۴، ساعت ۱۰:۵۰ (UTC)پاسخ
  • اعمال برای صفحات مشارکت‌های کاربری (نیازمند بحث ^ )
 پیشنهاد در انتظارWASP بحث ۱۵ اردیبهشت ۱۴۰۳، ساعت ۲۰:۲۴، ‏۴ مهٔ ۲۰۲۴، ساعت ۱۶:۵۴ (UTC)پاسخ
  • افزودن سوابق درخواست های لیفت‌وینگ به کوکی مرورگر
 اجراشد ارادتمند WASP ‏۱۶ ژوئن ۲۰۲۴، ساعت ۰۷:۲۴ (UTC)پاسخ