|
|
| (One intermediate revision by the same user not shown) |
| Line 1: |
Line 1: |
| local p = {} | | local p = {} |
| p.value = function( f ) | | |
| | function p.value( f ) |
| local args = f | | local args = f |
| if f == mw.getCurrentFrame() then | | if f == mw.getCurrentFrame() then |
| Line 6: |
Line 7: |
| end | | end |
| local block = mw.text.trim( args[1] or '' ):lower() | | local block = mw.text.trim( args[1] or '' ):lower() |
| local type = args.type | | local argType = args.type |
| | |
| local blockTest = block -- non-transformed block argument
| |
|
| |
| -- Most of these transforms are unnecessary, but are kept for compatibility with original template
| |
| | |
| -- remove any of '()- or whitespace
| |
| block = block:gsub( "['%(%)%-%s]+", '' )
| |
|
| |
| if type == "hardness" then
| |
| -- Strip trailing "s" on everything but these
| |
| local keepS = {
| |
| glass = true,
| |
| steps = true, stairs = true,
| |
| ironbars = true,
| |
| cactus = true,
| |
| leaves = true,
| |
| grass = true,
| |
| potatoes = true,
| |
| planks = true,
| |
| seagrass = true,
| |
| ancientdebris = true
| |
| }
| |
| if not keepS[block:match( '%w+$' )] then
| |
| block = block:gsub( 's$', '' )
| |
| end
| |
|
| |
| -- Other transforms
| |
| block = block
| |
| :gsub( 'wooden', 'wood' )
| |
| :gsub( 'mossy', 'moss' )
| |
| :gsub( 'steps', 'stairs' )
| |
| end
| |
| | | |
| local value = mw.loadData( 'Module:' .. type .. ' values' )[block] | | local values = mw.loadData( 'Module:' .. argType .. ' values' ) |
| | local value = values[block] |
| local category = '' | | local category = '' |
| if not value then | | if not value then |
| value = '[[Template:' .. type .. ' values#Missing value|?]]' | | value = values[block:gsub( 's$', '' )] |
| local title = mw.title.getCurrentTitle()
| | |
| if not args.nocat and title.namespace == 0 and not title.isSubpage then
| | if not value then |
| category = '[[Category:Missing ' .. type:lower() .. ']]'
| | value = '[[Template:' .. argType .. ' values#Missing value|?]]' |
| | local title = mw.title.getCurrentTitle() |
| | if not args.nocat and title.namespace == 0 and not title.isSubpage then |
| | category = '[[Category:Missing ' .. argType:lower() .. ']]' |
| | end |
| end | | end |
| end | | end |
|
| |
| -- testing editcopy
| |
| local testValue = mw.loadData( 'Module:' .. type .. ' values/editcopy' )[blockTest]
| |
| if not testValue then
| |
| mw.log('No ' .. type .. ' found for argument ' .. blockTest)
| |
| local title = mw.title.getCurrentTitle()
| |
| if not args.nocat and title.namespace == 0 and not title.isSubpage then
| |
| category = category .. '[[Category:Missing ' .. type:lower() .. '/editcopy]]'
| |
| end
| |
| end
| |
| -- end test
| |
|
| |
| return value .. category | | return value .. category |
| end | | end |
| | |
| return p | | return p |