این پودمان، که از پودمان ریشه‌ای خود پودمان:Hatnote تفکیک شده‌است، توابعی را برای قالب‌بندی پیوندها برای نمایش ارائه می‌دهد. از جمله توابعی که از الگوی {{قالب‌بندی پیوند}} پشتیبانی می‌کنند.

این پودمان قادر است تا پیوندها به بخش‌های صفحه‌ها را با استفاده از نماد بخش («§») به‌طور کاربرپسندی قالب‌بندی کند، به‌طور خودکار نام رده‌ها و پرونده‌ها را با لم دونقطه پیوند دهد، و حاوی توابعی برای ایتالیک کردن نام صفحه یا بخش، و برای شناسایی و رده‌بندی نتایجی است که تولید پیوند قرمز می‌کنند.

استفاده از درون ویکی‌متن

ویرایش

توابع این پودمان را نمی‌توان به‌طور مستقیم و با استفاده از تابع تجزیه‌گر #درخواست (یا ‎#invoke) صدا زد و در عوض باید از طریق الگوها مورد استفاده قرار گیرد. لطفاً برای آگاهی از چگونگی استفاده از الگو:قالب‌بندی پیوند، مستندات الگو در صفحهٔ خودش را ببینید.

استفاده از درون سایر پودمان‌های لوآ

ویرایش

برای بارگیری این پودمان در درون یک پودمان دیگر، از دستور زیر استفاده کنید:

local mFormatLink = require('Module:Format link')

پس از آن می‌توانید از توابع این پودمان به‌شکلی که در زیر آمده استفاده کنید.

ویرایش
mFormatLink._formatLink{
    link = 'پیوند',
    display = 'نمایش',
    target = 'هدف',
    italicizePage = true,
    italicizeSection = true,
    categorizeMissing = 'صفحه‌هایی که از پیوندهای قرمز قالب‌بندی‌شده استفاده می‌کنند'
}

مقدار واردشده به link را به‌عنوان ویکی‌پیوند قالب‌بندی می‌کند. رده‌ها و پرونده‌ها به‌طور خودکار با استفاده از لم دونقطه پیونددهی می‌شوند و پیوندها به بخش‌های صفحه‌ها، به‌جای استفاده از قالب پیش‌فرض مدیاویکی به‌شکل صفحه#بخش، به‌طور خودکار به‌شکل صفحه § بخش قالب‌بندی می‌شوند.

گزینه‌های مختلفی هستند که بر روی خروجی تأثیرگذارند و آن را تغییر می‌دهند:

  • اگر مقداری به پارامتر display وارد شده‌باشد، آن مقدار به‌عنوان مقدار قابل نمایش مورد استفاده قرار خواهد گرفت. مقدار واردشده در display در صورت وجود بر هرگونه لوله‌دهی دستی (استفاده از کلمهٔ جادویی {{!}} یا مشابه آن) که در link موجود باشد، ارجحیت دارد.
  • اگر مقداری به پارامتر target وارد شده‌باشد، به‌عنوان هدف بر مقدار موجود در link ارجحیت خواهد داشت، اما نتیجه همچنان با استفاده از مقدار display یا نتیجهٔ قالب‌بندی link نمایش خواهد یافت.
  • اگر italicizePage صحیح باشد، آنگاه بخش «صفحه» در پیوند در صورت وجود به‌صورت ایتالیک درمی‌آید.
  • اگر italicizeSection صحیح باشد، آنگاه بخش «بخش» در پیوند در صورت وجود به‌صورت ایتالیک درمی‌آید.
  • اگر categorizeMissing یک رشتهٔ غیرخالی باشد، آنگاه آن مقدار به‌عنوان نام یک رده در نظر گرفته خواهد شد و آن رده، در صورت موجود نبودن هدف پیوند به صفحه اعمال خواهد شد (فرقی نمی‌کند که پیوند از طریق link وارد شده‌باشد یا از طریق target).
نمونه‌ها
mFormatLink._formatLink{link = 'فلان#بهمان'} ← [[:فلان#بهمان|فلان § بهمان]] ← فلان § بهمان
mFormatLink._formatLink{link = 'بیسار', display = 'چیز'} ← [[:بیسار|چیز]] ← چیز
mFormatLink._formatLink{link = 'فلان|بهمان', display = 'بیسار'} ← [[:فلان|بهمان]] ← بیسار
mFormatLink._formatLink{link = '#فلان', target = 'نمونه#فلان'} ← [[:نمونه#فلان|§ فلان]] ← § فلان
mFormatLink._formatLink{link = 'ارباب حلقه‌ها#داستان و شخصیت‌پردازی', italicizePage = true} ← [[:ارباب حلقه‌ها#داستان و شخصیت‌پردازی|''ارباب حلقه‌ها'' § داستان و شخصیت‌پردازی]] ← ارباب حلقه‌ها § داستان و شخصیت‌پردازی
mFormatLink._formatLink{link = 'محمود دولت‌آبادی#کلیدر', italicizeSection = true} ← [[:محمود دولت‌آبادی#کلیدر|محمود دولت‌آبادی § ''کلیدر'']] ← محمود دولت‌آبادی § کلیدر
mFormatLink._formatLink{link = 'صفحهٔ ناموجود', categorizeMissing = 'نمونه'} ← [[:صفحهٔ ناموجود]][[رده:نمونه]] ← صفحهٔ ناموجود
mFormatLink._formatLink{link = 'موجودیت', categorizeMissing = 'نمونه'} ← [[:موجودیت]] ← موجودیت

formatPages

ویرایش
mFormatLink.formatPages(options, pages)

این تابع مشتق‌شده برای فهرست‌هایی مفید است که تعدا زیادی از پیوندها را قالب‌بندی می‌کنند. این تابع آرایه‌ای از صفحه‌هایی را که از تابع ‎_formatLink استفاده می‌کنند را قالب‌بندی می‌کند و نتیجه را در قالب یک آرایه برمی‌گرداند. گزینه‌های موجود در جدول options نیز بر آن‌ها اعمال می‌شوند و از نام‌های مشابه با گزینه‌های تابع ‎_formatLink بهره‌مند هستند.

نمونه
mFormatLink.formatPages({categorizeMissing = 'نمونه'}, {'فلان#بهمان', 'صفحهٔ ناموجود'}){'[[:فلان#بهمان|فلان § بهمان]]', '[[:صفحهٔ ناموجود]][[رده:نمونه]]'}

خطاها

ویرایش

اگر ‎_formatLink به‌کار رفته‌باشد و هیچ‌یک از آرگومان‌های link یا target وارد نشده‌باشند، این پودمان به‌جای خروجی معمول خود، یک خطا تولید می‌کند. چرا که قادر نیست خروجی معتبری را تولید کند.

برای رفع حل این مشکل می‌توانید پارامترهای متناسب را برای تابع ‎_formatLink وارد کنید، یا این که ممکن است لازم باشد تا اطمینان حاصل کنید که یک خطای تشریحی‌تر توسط الگو یا پودمانی در سطوح پایین‌تر تولید می‌شود؛ چرا که در غیر این صورت، آن الگو یا پودمان تابع ‎_formatLink را با آرگومان‌های ناکافی صدا خواهد زد.