پودمان:Labelled list hatnote/توضیحات
این زیرصفحهٔ مستندات پودمان:Labelled list hatnote است. این شامل اطلاعات استفاده، الگوها، پیوندهای بین زبانی و سایر اطلاعات است که در اصل پودمان صفحه قرار نمیگیرد. |
این پودمان حفاظتشده ارزیابی شدهاست. این پودمان یکی از الگوهای حساس است و در صفحات بسیار زیادی استفاده میشود. محافظت این پودمان در برابر ویرایش، بهدلیل بار قابل توجهی است که خرابکاریها، خطاها یا ویرایشهای جزئی میتوانند به دوش سرورها بگذارند. |
این الگو در مدیاویکی:Wantedpages-summary استفاده شدهاست. تغییرات آن تأثیر منجر به تغییر بیدرنگ در میانای کاربری سامانهٔ ویکیپدیا میشود. در ویرایش آن احتیاط کنید و همهٔ ویرایشها را پیش از ذخیرهسازی در یک صفحهٔ آزمایشی محک بزنید. |
این پودمان از پودمانهای زیر استفاده میکند: |
این پودمان چندین تابع کاربردی را فراهم میکند که کار پیادهسازی سرنویسهایی که از قالب یک برچسب پیش از فهرستی از صفحهها برخوردار هستند را آسان میکنند. نمونهای از سرنویسهای مذکور:
استفاده[ویرایش]
labelledList[ویرایش]
برای پیادهسازی بیشتر الگوهایی از این دست، درخواست برای اجرای تابع labelledList()
کفایت میکند:
{{#درخواست:Labelled list hatnote|labelledList|برچسب سراسری}}
یا
{{#درخواست:Labelled list hatnote|labelledList|برچسب مفرد|برچسب جمع}}
برای مثال، وارد کردن «همچنین ببینید» بهجای «برچسب سراسری» در نمونهٔ نخست، عملکردی یکسان با {{همچنین ببینید}} را ارائه میدهد، و وارد کردن «مقالهٔ اصلی» و «مقالههای اصلی» بهجای «برچسب مفرد» و «برچسب جمع» منجر به عملکردی یکسان با الگوی {{اصلی}} (در فضای نام مقاله) میشود.
اگر برچسبهای سوم و چهارم نیز وارد شده باشند، در مواردی بهکار خواهند رفت که هریک از صفحههای هدف در خارج از فضای نام مقاله باشند؛ بنابراین، برای مثال {{اصلی}} میتواند به شکل زیر پیادهسازی شود:
{{#درخواست:Labelled list hatnote|labelledList|مقالهٔ اصلی|مقالههای اصلی|صفحهٔ اصلی|صفحههای اصلی}}
preprocessDisplays[ویرایش]
تابع preprocessDisplays()
فهرستی خام از آرگومانها را میپذیرد و هرگونه آرگومان نمایشی را با آن ترکیب میکند. برای مثال، {{همچنین ببینید|۱|ب۱=یک}}
در ابتدا فهرست آرگومانهای {'۱', ['ب۱'] = 'یک'}
را دارد؛ این فهرست، در حالت ترکیب شده بهشکل {'1|یک'}
در فهرست جدید قرار میگیرد. این تابع از نامپوشی دستی (یعنی {{همچنین ببینید|۱{{!}}۲|ب۱=یک}}
← {'۱|یک'}
) چشمپوشی میکند و در صورت صرف نظر از یک پارامتر یا خالی گذاشتن آن، آرایههای پراکنده را فشردهسازی میکند.
نمونه:
local mLabelledList = require('Module:Labelled list hatnote')
local pages = mLabelledList.preprocessDisplays(args)
_labelledList[ویرایش]
برای پودمانهایی که همزمان با استفاده از این پودمان، نیازمند اعمال تغییرات جزئی در عملکرد آن هستند، تابع _labelledList()
تا حدودی انعطافپذیرتر است. این تابع سه پارامتر را میپذیرد:
- فهرستی از صفحهها، ترجیحاً پیش-پردازششده و فشردهسازیشده توسط
preprocessDisplays
- جدولی از برچسبها، که آیتم اول آن حاوی برچسب مفرد یا برچسب سراسری باشد، و پارامتر دوم آن نیز جاوی برچسب جمع یا رونوشتی از پارامتر اول باشد.
- جدولی از گزینهها، ترجیحاً حاوی موارد زیر:
- یک رشتهٔ
template
حاوی عنوان کامل الگو. بهطور پیشفرض بر روی عنوان این پودمان تنظیم شدهاست. - یک رشتهٔ
category
(یا nil) بهشکلی توسطmakeWikitextError
در پودمان:Hatnote پذیرفته میشود، برای غیرفعالسازی اختیاری ردههای خطا - یک رشتهٔ
selfref
(یا nil) بهشکلی که توسط_hatnote
برای فعالسازی گزینهٔ خودارجاع پذیرفته میشود
- یک رشتهٔ
نمونه:
local mLabelledList = require('Module:Labelled list hatnote')
return mLabelledList._labelledList(pages, labels, options)
خطاها[ویرایش]
در صورتی که نام هیچ صفحههای در قالب پارامترهای الگو وارد نشده باشد، این پودمان باعث میشود تا الگوهای مبتنی بر آن یک پیام خطا تولید کنند. در حالت عادی، این پیام باید به بخش «خطاها» در صفحهٔ مستندات الگوها هدایت شود. با این حال، اگر الگوهای مزبور از این پودمان با تابع _labelledList()
استفاده کنند و در جدول گزینههای خود آیتم template
را ارائه ندهند، ان پیام خطا بهطور پیشفرض به همین بخش که در حال مطالعهاش هستید، هدایت میشود. آن خطا را میتوان با وارد کردن نام دست کم یک صفحهٔ معتبر بهعنوان پارامتر الگوی مورد بحث، برطرف کرد؛ مشکل موجود در الگو را نیز میتوان با وارد کردن مقدار به آیتم template
در جدول options
تابع _labelledList()
حل کرد.