יחידה:Sister project links – הבדלי גרסאות
יצירת דף עם התוכן "local projectsTemplate = { ['cphe'] = { ['logo']='סמל ב"ה.png', ['projectName'] = 'חב"דפדיה', ['description']='חב"דפדיה', ['display']='שפה זו', ['pageName'] = '' }, ['wiktionary'] = { ['logo']='סמל ב"ה.png', ['projectName'] = 'חב"דטקסט', ['description']='טקסט', ['display']='חב"דטקסט', ['projectPrefix']='text' }, ['wikiquote'] = { ['logo']='סמל ב"ה.png', ['projectName'] = '..." |
אין תקציר עריכה |
||
| (17 גרסאות ביניים של 4 משתמשים אינן מוצגות) | |||
| שורה 7: | שורה 7: | ||
['pageName'] = '' | ['pageName'] = '' | ||
}, | }, | ||
[' | ['chabadtext'] = { | ||
['logo']=' | ['logo']='חבדטקסט.png', | ||
['projectName'] = 'חב"דטקסט', | ['projectName'] = 'חב"דטקסט', | ||
['description']='טקסט', | ['description']='טקסט', | ||
| שורה 14: | שורה 14: | ||
['projectPrefix']='text' | ['projectPrefix']='text' | ||
}, | }, | ||
[' | ['chabadquote'] = { | ||
['logo']=' | ['logo']='חבדציטוט.png', | ||
['projectName'] = 'חב"דציטוט', | ['projectName'] = 'חב"דציטוט', | ||
['description']='ציטוטים', | ['description']='ציטוטים', | ||
| שורה 24: | שורה 24: | ||
function render(frame) | function render(frame) | ||
local args = require('Module:Arguments').getArgs(frame) | local args = require('Module:Arguments').getArgs(frame) | ||
local title = mw.title.getCurrentTitle().text | local title = mw.title.getCurrentTitle().text | ||
local projectLinks = {} | local projectLinks = {} | ||
local entity = mw.wikibase. | local entity = mw.wikibase and mw.wikibase.getEntityObject() | ||
if args['חב"דפדיה'] then | |||
local t = mw.clone(projectsTemplate['cphe']) | |||
t['projectPrefix'] = args['חב"דפדיה'] | |||
t['pageName'] = args['חב"דפדיה'] | |||
t['pageDisplay'] = args['שם חב"דפדיה'] or title | |||
table.insert(projectLinks, t) | |||
end | |||
local projects = { | local projects = { | ||
{ | { | ||
arg='חב"דציטוט', | arg='חב"דציטוט', | ||
template=' | template='chabadquote', | ||
name=' | name='chabadquote' | ||
}, | }, | ||
{ | { | ||
arg='חב"דטקסט', | arg='חב"דטקסט', | ||
template=' | template='chabadtext', | ||
name=' | name='chabadtext' | ||
} | } | ||
} | } | ||
for i, proj in ipairs(projects) do | for i, proj in ipairs(projects) do | ||
if entity~=nil and (not args[proj['arg']] or args[proj['arg']]==nil) and proj['name'] then | |||
args[proj['arg']] = mw.wikibase.sitelink(entity, proj['name']) | |||
args['שם ' .. proj['arg']] = title | |||
end | |||
if args[proj['arg']] then | if args[proj['arg']] then | ||
local t = projectsTemplate[proj['template']] | local t = mw.clone(projectsTemplate[proj['template']]) | ||
t['pageName'] = args[proj['arg']] | t['pageName'] = args[proj['arg']] | ||
t['pageDisplay'] = args['שם ' .. proj['arg']] or | t['pageDisplay'] = args['שם ' .. proj['arg']] or t['pageName'] | ||
table.insert(projectLinks, t) | table.insert(projectLinks, t) | ||
end | end | ||
| שורה 61: | שורה 65: | ||
local additionalArg = mw.ustring.format('%s %i', proj['arg'], i) | local additionalArg = mw.ustring.format('%s %i', proj['arg'], i) | ||
while args[additionalArg] do | while args[additionalArg] do | ||
local t = mw.clone( projectsTemplate[proj['template']] ) | local t = mw.clone(projectsTemplate[proj['template']]) | ||
t['pageName'] = args[additionalArg] | t['pageName'] = args[additionalArg] | ||
t['pageDisplay'] = args[mw.ustring.format('שם %s %i', proj['arg'], i)] or t['pageName'] | t['pageDisplay'] = args[mw.ustring.format('שם %s %i', proj['arg'], i)] or t['pageName'] | ||
| שורה 68: | שורה 72: | ||
additionalArg = mw.ustring.format('%s %i', proj['arg'], i) | additionalArg = mw.ustring.format('%s %i', proj['arg'], i) | ||
end | end | ||
end | end | ||
local float = 'float: left;' | local float = 'float: left;' | ||
if args['1'] == 'ימין' then | if args['1'] == 'ימין' then | ||
float | float = '' | ||
end | end | ||
local templatestyles = frame:extensionTag{ | local templatestyles = frame:extensionTag{ | ||
name = 'templatestyles', | |||
args = { src = 'יחידה:Sister project links/styles.css' } | |||
} | |||
local root = mw.html.create('table') | local root = mw.html.create('table') | ||
| שורה 86: | שורה 90: | ||
:addClass('noprint') | :addClass('noprint') | ||
:cssText('margin: 0 1em 0.5em 0;' .. float) | :cssText('margin: 0 1em 0.5em 0;' .. float) | ||
root:tag('tr'):tag('th'):css('text-align', 'center'):wikitext('מיזמי חב" | root:tag('tr'):tag('th'):css('text-align', 'center'):wikitext('מיזמי חב"דמדיה') | ||
local cat = '' | local cat = '' | ||
if not next(projectLinks) then | if not next(projectLinks) then | ||
| שורה 93: | שורה 97: | ||
cat = '[[קטגוריה:שגיאות פרמטריות בתבנית מיזמים]]' | cat = '[[קטגוריה:שגיאות פרמטריות בתבנית מיזמים]]' | ||
else | else | ||
for | for _, v in ipairs(projectLinks) do | ||
root:tag('tr'):tag('td'):node(renderProject(v)) | root:tag('tr'):tag('td'):node(renderProject(v)) | ||
end | end | ||
end | end | ||
return tostring(root) .. templatestyles .. cat | return tostring(root) .. templatestyles .. cat | ||
end | end | ||
| שורה 104: | שורה 108: | ||
return mw.html.create('div') | return mw.html.create('div') | ||
:addClass('sisterwikilinkT') | :addClass('sisterwikilinkT') | ||
:wikitext(mw.ustring.format("[[File:%s|20px|link=|%s]] %s ב%s: '''[[:%s:%s|%s]]'''", | :wikitext(mw.ustring.format( | ||
projectTemplate['logo'], projectTemplate['projectName'], | "[[File:%s|20px|link=|%s]] %s ב%s: '''[[:%s:%s|%s]]'''", | ||
projectTemplate['description'], projectTemplate['display'], | projectTemplate['logo'], | ||
projectTemplate['projectPrefix'], projectTemplate['pageName'], projectTemplate['pageDisplay'])) | projectTemplate['projectName'], | ||
projectTemplate['description'], | |||
projectTemplate['display'], | |||
projectTemplate['projectPrefix'], | |||
projectTemplate['pageName'], | |||
projectTemplate['pageDisplay'] | |||
)) | |||
end | end | ||
return | return { | ||
render=render | render = render | ||
} | } | ||