Editing Module:Item
From The Petit Planet Wiki
More actions
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
| Latest revision | Your text | ||
| Line 1: | Line 1: | ||
local p = {} | local p = {} | ||
local lib = require('Module:Feature') | local lib = require('Module:Feature') | ||
| Line 18: | Line 16: | ||
local note = lib.nilIfEmpty(args.note) or nil | local note = lib.nilIfEmpty(args.note) or nil | ||
local ref = lib.nilIfEmpty(args.ref) or nil | local ref = lib.nilIfEmpty(args.ref) or nil | ||
local | local type = lib.nilIfEmpty(args['type']) or 'Item' | ||
local text = lib.nilIfEmpty(args.text) or item | local text = lib.nilIfEmpty(args.text) or item | ||
local link = args.link or lib.ternary(item == 'Unknown', '', item) | local link = args.link or lib.ternary(item == 'Unknown', '', item) | ||
local newline = tostring(args.newline) == '1' | local newline = tostring(args.newline) == '1' | ||
local | local no_text = tostring(args.no_text or args.notext) == '1' | ||
local white = tostring(args.white) == '1' | local white = tostring(args.white) == '1' | ||
| Line 29: | Line 26: | ||
local suffix = ' Icon' | local suffix = ' Icon' | ||
if ( | if (type ~= 'Neighbor' and item == 'Unknown') then | ||
prefix = '' | prefix = '' | ||
suffix = ' Icon' | suffix = ' Icon' | ||
end | end | ||
if (white) then suffix = suffix .. ' White' end | |||
if | |||
local filename = 'File:' .. prefix .. item .. suffix .. '.png' | |||
local file = '[[' .. filename .. '|' .. size .. 'x' .. size .. 'px|alt=' .. item .. '|link=' .. link .. ']]' | |||
local file = '[[' .. | |||
local icon = nil | local icon = nil | ||
| Line 70: | Line 52: | ||
end | end | ||
local outerClass = lib.ternary( | local outerClass = lib.ternary(type:lower() == 'item', 'item', 'item ' .. type:lower()) | ||
local result = mw.html.create():tag('span'):addClass(outerClass) | local result = mw.html.create():tag('span'):addClass(outerClass) | ||
| Line 106: | Line 88: | ||
function addPunct(var) | function addPunct(var) | ||
if args.comma or args. | if args.comma or args.commaspc then var = var .. ',' | ||
elseif args.dot or args. | elseif args.dot or args.dotspc then var = var .. '.' | ||
end | end | ||
var = var | var = var | ||
| Line 121: | Line 103: | ||
end | end | ||
if args. | if args.commaspc or args.dotspc then b = b .. ' ' end -- space always on the very end | ||
return {a, b} | return {a, b} | ||
| Line 127: | Line 109: | ||
local item_text = result:tag('span'):addClass('item-text') | local item_text = result:tag('span'):addClass('item-text') | ||
if (not | if (not no_text) then | ||
local before = newline and '' or ' ' | local before = newline and '' or ' ' | ||
local ame = ((count or note) and {text, ''} or parseAmE(text, '')) | local ame = ((count or note) and {text, ''} or parseAmE(text, '')) | ||
| Line 146: | Line 128: | ||
count = table.concat(note and {count, ''} or parseAmE(count, ''), '') | count = table.concat(note and {count, ''} or parseAmE(count, ''), '') | ||
if (ref and not note) then count:gsub('%s*$', '') end | if (ref and not note) then count:gsub('%s*$', '') end | ||
item_text:wikitext(( | item_text:wikitext((no_text and '' or ' ') .. '×' .. count) | ||
end | end | ||
| Line 152: | Line 134: | ||
local after = table.concat(parseAmE('', ''), '') | local after = table.concat(parseAmE('', ''), '') | ||
if (ref) then after:gsub('%s*$', '') end | if (ref) then after:gsub('%s*$', '') end | ||
item_text:tag('small'):wikitext((( | item_text:tag('small'):wikitext(((no_text and not count) and '' or ' '),'(', note, ')', after) | ||
end | end | ||
if (ref) then | if (ref) then | ||
local after = (args. | local after = (args.commaspc or args.dotspc) and ' ' or '' -- avoid space between ref and punctuation | ||
item_text:wikitext(ref, after) | item_text:wikitext(ref, after) | ||
end | end | ||