ماڈیول:Portal/تختہ مشق
یہ ماڈیول:Portal کا صفحہ دستاویز ماڈیول ہے (فرق)۔ |
یہ سانچہ + صفحات پر مستعمل ہے۔ بڑے پیمانے پر ٹوٹ پھوٹ اور سرور پر غیر ضروری دباؤ سے بچنے کے لیے اس سانچہ میں درکار کسی بھی قسم کی تبدیلی کو پہلے اس کے /ریتخانے، /ثابتات یا اپنے ذیلی صارف صفحہ پر جانچ لیں۔ بعد ازاں اُن آزمودہ تبدیلیوں کو محض ایک ہی ترمیم سے اس صفحہ میں شامل کیا جا سکتا ہے۔ نیز براہ کرم ان تبدیلیوں کو نافذ کرنے سے قبل تبادلۂ خیال صفحہ پر گفتگو کر لیں۔ |
This module is subject to page protection. It is a highly visible module in use by a very large number of pages, or is substituted very frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is protected from editing. |
یہ ماڈیول باب
اور تصویر
دو کام کرتا ہے۔باب
کا ایک ڈبہ مع ربط بابیا متعدد ابواب ہوتے ہیں اور اس کا استعمال {{باب}} سانچہ سے ہوتا ہے۔ یہ اکثر کسی مضمون میں "مزید دیکھیے" کی سرخی کے تحت شامل کیا جاتا ہے۔ تصویر
خاص اس باب کی نمائندہ ہوتی ہے جس باب کا ربط دیا جاتا ہے۔
باب کا کام
ترمیماس کا کام ایک ڈبے میں باب یا ابواب کے ربط/روابط ظاہر کرنا ہوتا ہے۔
یہ سانچہ 1,250+ صفحات پر مستعمل ہے۔ بڑے پیمانے پر ٹوٹ پھوٹ اور سرور پر غیر ضروری دباؤ سے بچنے کے لیے اس سانچہ میں درکار کسی بھی قسم کی تبدیلی کو پہلے اس کے /ریتخانے، /ثابتات یا اپنے ذیلی صارف صفحہ پر جانچ لیں۔ بعد ازاں اُن آزمودہ تبدیلیوں کو محض ایک ہی ترمیم سے اس صفحہ میں شامل کیا جا سکتا ہے۔ نیز براہ کرم ان تبدیلیوں کو نافذ کرنے سے قبل تبادلۂ خیال صفحہ پر گفتگو کر لیں۔ |
یا ماڈیول دیگر ماڈیول پر منحصر ہے: |
اس ماڈیول کو ایک باب یا متعدد ابواب کے ربط کو ایک خانہ میں ظاہر کرنے کے لیے استعمال کیا جاتا ہے۔ یہ اکثر ایک مضمون کی "مزید دیکھیے" کی سرخی میں استعمال کیا جاتا ہے۔
استعمال
ترمیم- بنیادی استعمال
{{باب |باب 1 |باب 2 |باب 3 |۔۔۔ }}
- تمام اختیارات
{{باب | باب 1 | باب 2 | باب 3 | ۔۔۔ | left = | margin = | break = | boxsize = }}
مقام
ترمیممضامین کے اندر، یہ سانچہ مضمون کے نچلے حصے میں مزید دیکھیے کی سرخی میں رکھا جائے۔ اگر مزید دیکھیے کی سرخی نہیں ہے تو، سرخی؛ بیرونی روابط میں بھی رکھ سکتے ہیں; صرف اس ایک سانچہ کے لیے الگ سے کسی مزید نئی سرخی کی ضرورت نہیں ہے۔اگر بیرونی روابط کی سرخی نہ ہو، یا آپ اسے بیرونی روابط اور مزید دیکھیے کی جگہ نہ رکھنا چائیں تو مضمون کے اندر کسی ایسی خاص جگہ کا انتخاب کر سکتے ہیں، جس سے باب کو خاص نسبت ہو۔
صفحہ/مضمون میں سانچہ باب کے تعین مقام کے لیے کوئی باضابطہ اصول مقرر نہیں ہیں۔
تصویر
ترمیمباب کی تصاویر ماڈیول:Portal/images کے ذیلی صفحات میں ابواب کے عنوانات کی الفبائی ترتیب سے محفوظ کی جاتی ہیں۔مثال کے طور پر، اس باب:سائنس کا پہلا لفظ "س" ہے، تو اس طرح اس کی تصویر ماڈیول:Portal/images/س میں شامل ہے۔۔ اگر سانچہ باب میں درست عنوان دیا جائے تو تب ہی تصویر ظاہر گی، دوسری صورت میں ایک طے شدہ ملف باب File:Portal-puzzle.svg ظاہر ہو گی۔ مثال ←
It is also possible to specify aliases for portal images. For example, the code {{portal|Detroit}}
produces the same image as the code {{portal|Metro Detroit}}
۔ The "Detroit" alias is found on the page ماڈیول:Portal/images/aliases۔
The image-detection algorithm is case-insensitive. For example, the code {{portal|Detroit}}
will produce the same image as the code {{portal|detroit}}
(although the portal links will be different). Portal names are stored in lower case in the image subpages, and input is converted to lower case before being checked.
To add new images to the list, please make a protected edit request at Template talk:Portal to get an administrator to edit the correct subpage for you. Portal images must be either in the public domain or available under a free license that allows commercial reuse and derivative works; fair-use images are not acceptable.
List of image subpages
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
مثال
ترمیمترمیز | نتیجہ |
---|---|
{{باب|سائنس}}
|
ترمیزات
ترمیمنام | قدر | تفصیل |
---|---|---|
1 , 2 , 3 ... |
The portal name, e.g. Literature |
The positional parameters specify the portals to be displayed. |
left |
yes |
If set to yes , the portal appears on the left side of the page instead of the right.
|
margin |
CSS margin value, e.g. 1.2em 3em 0.5em 1em |
This allows you to set a custom margin. All valid CSS margin values are accepted. |
break |
yes |
If set to yes , a line break is inserted after the portal name and before the word portal.
|
boxsize |
Size in pixels, e.g. 300 |
This sets a custom box width in pixels. |
دیکھ بھال
ترمیمThe following tracking category lists instances where the ماڈیول is used incorrectly:
مزید دیکھیے
- باب کا ڈھانچہ تیار کرنے والے سانچہ جات
- {{Box portal skeleton}} - باب کا ڈھانچہ بنانے کے لیے استعمال کیا جاتا ہے۔
- {{Random portal component}} - باب صفحہ پر، باب کے ذیلی صفحات کو بدل بدل کر ظاہر کرنے کے لیے استعمال کیا جاتا ہے۔
- {{Random portal component with nominate}} - باب کے صفحہ پر منتخب مواد/ مضمون کو بدل بدل کر ظاہر کرنے کے لیے استعمال کیا جاتا ہے۔ from the portal sub-pages, adding the option to nominate other Featured foo articles.
- {{Random subpage}} - Used on the portal main page to randomly display articles from the portal sub-pages. This template is best used for creating randomly populated Did you know... sections on the portal main page that are intended to include multiple Did you know... facts.
- {{Subpage}} - Used to output a box containing a link to subpage.
- {{Numbered subpages}} - Used to create article links on portal sub-pages with 50 روابط ہوں
- {{25 numbered subpages}} - بطور hereinbefore، لیکن مع 25 روابط ہوں۔
- {{75 numbered subpages}} - بطور hereinbefore، لیکن مع 75 روابط ہوں۔
- {{100 numbered subpages}} - بطور hereinbefore، لیکن مع 100 روابط ہوں۔
- {{Random box-header subpage}} - Used to transclude a numbered subpage.
- باب کے مرکزی صفحہ کی ہیئت؛ شکل؛ وضع؛ ترتیب بندی کے لیے سانچہ جات
- روابط کو ترتیب دینے کے لیے سانچہ جات
- یہ سانچہ جات باب کے ذیلی صفحات کی ہیئت؛ شکل؛ وضع؛ ترتیب بندی وغیرہ کے لیے ہیں
{{Selected X}} - Generic template for situations not listed hereafter.
- منسلکہ سانچہ جات
TemplateData
| ||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
A template to create a list of portals
|
تصویر کا کام
ترمیمیہ اس باب یا ابواب کی نمائندہ تصویر یا تصاویر ظاہر کرتا ہے جس باب یا جن ابواب کے رواب دیئے گئے ہوں۔
استعمال
ترمیم{{#invoke:Portal|image|باب}}
مثال
ترمیم{{#invoke:Portal|image|فن}}
→ Portal-puzzle.svg
Image dupes function
ترمیمThe image dupes function returns a list of all images that are being used by more than one portal (aliases are not included)۔ This can be helpful in identifying image entries that should be changed to use aliases۔
استعمال
ترمیم{{#invoke:Portal|imageDupes}}
Display all function
ترمیمThe display all function returns a box containing all portals that have images. This is used for maintenance, and should not be displayed in articles, because a) there are around 1500 portals with images, and displaying 1500 images on one page takes up a lot of server resources, and b) the module has no way to know the correct capitalisation of a portal name, so some links to portals will be broken. This function can be seen at سانچہ:باب/دستاویز/تمام۔
استعمال
ترمیم{{#invoke:Portal|displayAll}}
اوپر دی گئی دستاویز صفحہ ماڈیول:Portal/دستاویز سے شامل کی گئی ہے۔ (ترمیم | تاریخچہ) صارفین ماڈیول کے تختہ مشق (ترمیم | فرق) اور ثابتات (تخلیق) میں تجربات کرسکتے ہیں۔ براہ کرم /دستاویز کے ذیلی صفحہ پر زمرہ جات شامل فرمائیں۔ اس ماڈیول کے ذیلی صفحات۔ |
require('Module:No globals')
--esportazione delle funzioni del modulo
local p = {}
-- testo per il messaggio di errore se non ci sono parametri o sono tutti non esistenti
local novalid_parameter = {
'Il [[Template:Portal]] necessita di almeno un argomento!',
'Non sono stati inseriti portali validi nel [[Template:Portal]]'
}
-- layout per i portali (dato che le stringhe saranno usate in una funzione mw.ustring.format
-- la coppia di caratteri '%s' è il segnaposto per una stringa, mentre per inserire il
-- carattere % normalmente lo si deve inserire raddoppiato
local row_portals = {
--1 portal (segnaposto vuoto, è gestito a parte)
'',
-- 2 portal
[=[<tr><td style="padding-left:3px; width:50%%;">%s</td><td style="padding-right:3px; width:50%%;">%s</td></tr>]=],
-- 3 portal
[=[<tr><td style="padding-left:3px; width:33%%;">%s</td><td style="padding-right:3px;
padding-left:3px; width:33%%;">%s</td> <td style="padding-right:3px; width:33%%;">%s</td></tr>]=],
--4 portal
[=[<tr><td style="padding-left:3px; width:50%%;">%s</td><td style="padding-right:3px; width:50%%;">%s</td></tr>
<tr><td style="padding-left:3px;">%s</td><td style="padding-right:3px;">%s</td></tr>]=],
-- 5 portal
[=[<tr><td style="padding-left:3px; width:33%%;" colspan="2">%s</td>
<td style="padding-right:3px; padding-left:3px; width:33%%;" colspan="2">%s</td>
<td style="padding-right:3px; width:33%%;" colspan="2">%s</td></tr>
<tr><td style="padding-left:3px; width:50%%;" colspan="3">%s</td>
<td style="padding-right:3px; width:50%%;" colspan="3">%s</td></tr>]=],
--6 portal
[=[<tr><td style="padding-left:3px; width:33%%;">%s</td>
<td style="padding-right:3px; padding-left:3px; width:33%%;">%s</td>
<td style="padding-right:3px; width:33%%;">%s</td></tr>
<tr><td style="padding-left:3px;">%s</td>
<td style="padding-right:3px; padding-right:3px;">%s</td>
<td style="padding-right:3px;">%s</td></tr>]=]
}
-- Stringhe specifiche per alcuni portal, quando questi sono gli unici del template
local single_portal = {
['L\'Aquila'] = "accedi alle voci di Wikipedia che parlano dell'Aquila",
['Astronomia'] = "accedi alle voci di Wikipedia che trattano di astronomia e astrofisica",
['Bergamo'] = "accedi alle voci di Wikipedia su Bergamo e sul suo territorio",
['Brazil'] = "accedi alle voci di Wikipedia che parlano del Brasile",
['Chemistry'] = "il Portal della scienza della composizione, delle proprietà e delle trasformazioni della materia",
['Comunità'] = "entra nella comunità degli autori di Wikipedia",
['LGBTQ'] = "le voci di Wikipedia dedicate al mondo gay, lesbico, bisex, trans e queer",
['Nordafrica'] = "accedi alle voci di Wikipedia che parlano del Nordafrica",
['Oggetti del profondo cielo'] = "accedi alle voci di Wikipedia che trattano di oggetti non stellari",
['portal'] = "accedi ai [[WP:Portal|portal]] di Wikipedia",
['Progetti'] = "partecipa ai [[WP:Progetto|progetti]] di Wikipedia",
['Punk'] = "accedi alle voci di Wikipedia che parlano di musica punk",
['Sistema solare'] = "accedi alle voci di Wikipedia sugli oggetti del Sistema solare",
['Stelle'] = "accedi alle voci di Wikipedia che trattano di stelle e costellazioni",
['Telematica'] = "accedi alle voci di Wikipedia che parlano di reti, telecomunicazioni e protocolli di rete",
}
-- funzione di utilità per aggiungere elementi a una tabella
local function dump(t, ...)
local args = {...}
for _, s in ipairs(args) do
table.insert(t, s)
end
end
-- Wrapper di mw.title.exists, verifica sia che name sia valido, sia che esista
local function titleExists(name)
local title = mw.title.new(name)
return title and title.exists
end
-- restituisce una categoria di errore solo in ns0
local function get_error_category()
return mw.title.getCurrentTitle().namespace == 0 and
'[[زمرہ:Errori di compilazione del template portal]]' or ''
end
-- funzione princpale
function p.portal(frame)
local getArgs = require('Module:Arguments').getArgs
local args = getArgs(frame, {removeBlanks = false})
local lang = mw.language.getContentLanguage()
local portals = {}
local bad_portals = {}
-- tabella per raccogliere gli errori
local errors_msg = {}
-- raccoglie in portals e bad_portals i nomi dei portal passati al modulo,
-- ignorando quelli valorizzati a stringa vuota
for i, arg in ipairs(args) do
if arg ~= '' then
if #portals < 6 then
local ucarg = lang:ucfirst(arg)
if titleExists('Portal:' .. ucarg) then
table.insert(portals, { ucname=ucarg, name=arg })
else
table.insert(bad_portals, ucarg)
end
else
dump(errors_msg, 'Il template accetta al massimo sei portal')
break
end
end
end
-- ritorna un messaggio di errore se non sono rimasti portal validi
if #portals == 0 then
return mw.getCurrentFrame():expandTemplate({
title = 'انتباہ',
args = { type = 'important',
testo= novalid_parameter[(#bad_portals == 0 and 1) or 2]
}
}) .. get_error_category()
end
-- ordina alfabeticamente i nomi
table.sort(portals, function(a, b) return a.ucname < b.ucname end)
local reply = { '<table class="noprint" style="width:100%;>'}
-- Se un solo Portal valido tratto a parte
if #portals == 1 then
local ucname = portals[1].ucname
dump(reply, '<tr><td>', mw.getCurrentFrame():expandTemplate({
title = 'loop',
args = { icona = portals[1].ucname,
title = mw.ustring.format('[[portal:%s|portal %s]]', ucname, ucname),
frase = single_portal[ucname] or mw.ustring.format('accedi alle voci di Wikipedia che trattano di %s', portals[1].name)
}
}), '</tr></td>')
else -- da 2 a 6 portal
-- genero tutti gli occhielli di collegamento in una lista
local text = {}
for _,portal in ipairs(portals) do
text[#text+1] = mw.getCurrentFrame():expandTemplate({
title = 'loop',
args = { icona = portal.ucname,
title = mw.ustring.format('[[portal:%s|portal %s]]', portal.ucname, portal.ucname)
}
})
end
-- carica gli occhielli generati nella tabella di layout
dump(reply, mw.ustring.format(row_portals[#portals], unpack(text)))
end
dump(reply, '</table>')
-- aggiunge i messaggi di errore per portal non esistenti
if #bad_portals > 0 then
if #bad_portals == 1 then
dump(errors_msg, mw.ustring.format('Il portal %s non esiste', bad_portals[1]))
else
dump(errors_msg, mw.ustring.format('I portal: %s non esistono', mw.text.listToText(bad_portals) ))
end
end
for pos, msg in ipairs(errors_msg) do
errors_msg[pos] = mw.ustring.format('<strong class="error">%s</strong>', msg)
end
local error_msg = table.concat(errors_msg, '<br />')
if #errors_msg > 0 then
error_msg = error_msg .. get_error_category()
end
return table.concat(reply) .. error_msg
end
return p