Difference between revisions of "Module:Set gallery/functions"
(Start developing a bit «F.gallery».) |
(Remove '@' from imageName (for "@Ignister" cards)) |
||
(32 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
+ | --<pre> | ||
--[[ | --[[ | ||
− | + | -> F // ; | |
− | + | -> trim // mw.text.trim; | |
− | + | -> split // mw.text.split; | |
− | + | ################ | |
− | + | # Function list: | |
− | + | ################ | |
− | + | -> localized_name // Get localized name; | |
− | + | -> categories // Generate categories; | |
− | + | -> header // Generate page header; | |
− | + | -> gallery // Generate gallery; | |
− | + | -> tracking // Tracking categories; | |
− | + | ## Internal functions: | |
− | + | -> _trim // Trim text; | |
− | + | -> _link // Link; | |
− | + | -> _quotes // Wrap with quotes; | |
− | + | -> _gallerySection // Handle section header; | |
− | + | -> _galleryCard // Handle card entry; | |
− | + | -> _imageName // Card imaga name for the file | |
− | + | -> _galleryDesign // Format gallery code; | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
]] | ]] | ||
---------- | ---------- | ||
Line 59: | Line 31: | ||
-- Get localized names: | -- Get localized names: | ||
function F.localized_name( name, language ) | function F.localized_name( name, language ) | ||
− | + | if not mw.smw then -- If not available, return. | |
− | + | return '(<strong class="error">mw.smw module not found</strong>)'; | |
− | + | end | |
− | + | local name_strip = name:gsub( '#', '' ); -- Strip «#». | |
− | + | local result = mw.smw.ask{ '[['..name_strip..']]', '?'..language..' name=', limit = 1, mainlabel = '-' }; | |
− | + | -- Process SMW resutlt: | |
− | + | if result == nil or result == '' then | |
− | + | return nil; -- No result found. | |
− | + | end | |
− | + | ||
+ | return result[1][1]; -- First entry. | ||
end | end | ||
Line 74: | Line 47: | ||
-- Categories: | -- Categories: | ||
function F.categories( namespace, region, edition ) | function F.categories( namespace, region, edition ) | ||
− | + | local categories = ('[[Category:%s %s]]'):format( region, namespace ); | |
− | + | if edition then | |
− | + | categories = categories..('[[Category:%s %s]]'):format( edition, namespace ); | |
− | + | end | |
− | + | ||
− | + | return categories; | |
end | end | ||
Line 85: | Line 58: | ||
-- Build page header: | -- Build page header: | ||
function F.header( frame, name, name_local, medium, region, edition, notEnglish, italics ) | function F.header( frame, name, name_local, medium, region, edition, notEnglish, italics ) | ||
− | + | local template = frame:expandTemplate{ title = medium..'SetGalleries' }; -- {{(OCG|TCG)SetGalleries}}. | |
− | + | ||
− | + | local html = mw.html.create( 'div' ):css('text-align', 'center') | |
− | + | :tag('span'):css{ | |
− | + | ['font-size'] = '120%', | |
− | + | ['font-weight'] = 'bold', | |
− | + | ['font-style'] = 'italic' | |
− | + | } | |
− | + | :wikitext(_link( name )) | |
− | + | :done(); | |
− | + | if notEnglish and name_local then | |
− | + | html:tag('br'):done() | |
− | + | :tag('span'):css{ | |
− | + | ['font-weight'] ='bold', | |
− | + | ['font-style'] = italics | |
− | + | } | |
− | + | :wikitext(name_local) | |
− | + | :done(); | |
− | + | end | |
− | + | html:tag('br'):done() | |
− | + | :wikitext(region); | |
− | + | if edition then | |
− | + | html:wikitext(' - '..edition); | |
− | + | end | |
− | + | html:allDone(); | |
− | + | ||
− | + | return template..'\n'..tostring(html); | |
+ | end | ||
+ | |||
+ | --------- | ||
+ | -- Trim: | ||
+ | function _trim( s ) | ||
+ | if s and not(s:match('^%s*$')) then | ||
+ | return trim( s ); -- If not nil nor empty. | ||
+ | end | ||
end | end | ||
---------------------------- | ---------------------------- | ||
-- Link set and card names: | -- Link set and card names: | ||
− | function _link( name ) | + | function _link( name, label ) |
− | + | local name_strip = name:gsub( '#', '' ); -- Strip «#». | |
− | + | local name_noDab = name; | |
− | + | if not(name:match('%(2011%)') or name:match('%(series%)')) then -- Don't remove «(2011)» nor «(series)». | |
− | + | name_noDab = split( name, ' %(' )[1]; -- Remove dab text. | |
− | + | end | |
− | + | ||
− | + | return ('[[%s|%s]]'):format( name_strip, label or name_noDab ); | |
+ | end | ||
+ | |||
+ | --------------- | ||
+ | -- Add quotes: | ||
+ | function _quotes( name, language ) | ||
+ | if name == nil then | ||
+ | return ''; -- Return empty string; don't wrap, but return string. | ||
+ | end | ||
+ | if language == 'Japanese' or language == 'Chinese' then | ||
+ | return '「'..name..'」'; | ||
+ | else | ||
+ | return '"'..name..'"'; | ||
+ | end | ||
end | end | ||
Line 130: | Line 124: | ||
-- # Main function: | -- # Main function: | ||
− | function F.gallery( g_table, language ) | + | function F.gallery( frame, g_table, rg, language, ed, abbr, rarity, alt, notEnglish ) |
− | + | local out_t = {}; | |
− | + | local _abbrSection, _raritySection, _altSection; -- Section info to be applied to card entries. | |
− | + | for _, entry in ipairs(g_table) do | |
− | + | -- Iterate over the table: | |
− | + | if entry:match('^%s*!:') then | |
− | + | -- It's a section; contains section info. | |
− | + | out_t, _abbrSection, _raritySection, _altSection = _gallerySection( out_t, entry ); | |
− | + | ||
− | + | elseif entry:match('^(%s*)$') then | |
− | + | -- Nothing: empty line. | |
− | + | ||
− | + | else | |
+ | -- Card info. | ||
+ | out_t = _galleryCard( out_t, entry, rg, language, ed, _abbrSection or abbr, _raritySection or rarity, _altSection or alt, notEnglish ); | ||
+ | end | ||
+ | end | ||
− | + | local out_s = table.concat( out_t, '\n' ); -- Convert to string, to split. | |
+ | return _galleryDesign( frame, out_s ); | ||
end | end | ||
-- # Auxiliary functions: | -- # Auxiliary functions: | ||
− | function _gallerySection( entry ) | + | function _gallerySection( out_t, entry ) |
− | + | -- For sections. | |
− | + | local header; | |
+ | local _headerSection = entry:match('header::(.-);') | ||
+ | or entry:match('header::(.+)' ); | ||
+ | local _abbrSection = entry:match( 'abbr::(.-);') | ||
+ | or entry:match( 'abbr::(.+)' ); | ||
+ | local _raritySection = entry:match('rarity::(.-);') | ||
+ | or entry:match('rarity::(.+)' ); | ||
+ | local _altSection = entry:match( 'alt::(.-);') | ||
+ | or entry:match( 'alt::(.+)' ); | ||
+ | if _headerSection then | ||
+ | header = mw.html.create( 'div' ):addClass('gallery-header'):attr('id', _headerSection) | ||
+ | :wikitext(_headerSection) | ||
+ | :done(); | ||
+ | end | ||
+ | -- Send header to table: | ||
+ | table.insert( out_t, ';;SECTIONSPLIT:;;'..tostring(header) ); | ||
+ | -- Return all values (table and info that will be used on the card entries): | ||
+ | return out_t, _abbrSection, _raritySection, _altSection or (_headerSection:lower():match('reprint') and 'Reprint'); | ||
end | end | ||
− | function _galleryCard( entry, language ) | + | function _galleryCard( out_t, entry, rg, language, ed, abbr, rarity, alt, notEnglish ) |
− | + | -- For card entries. | |
− | return | + | -- Initialize vars: |
+ | local _name, _name_localized, _number, _rarity, _typeCard, _alt; -- Standard info. | ||
+ | local _name_alt, _name_localized_alt, | ||
+ | _file, _extension, _description; -- Alternate info. | ||
+ | local _abbr = abbr; | ||
+ | -- Load data: | ||
+ | local r_list = mw.loadData( 'Module:Set gallery/data' ).r_list; | ||
+ | local rarity_list = mw.loadData( 'Module:Set gallery/data' ).rarity_list; | ||
+ | |||
+ | -- Split info: | ||
+ | local standard_values = split( split( entry, '//' )[1] , ';'); | ||
+ | local alternate_values = split( entry, '//' )[2]; | ||
+ | |||
+ | -- Fetch standard values: | ||
+ | if abbr then | ||
+ | _name = _trim( standard_values[1] ); -- NOTE: Must never be nil! | ||
+ | _rarity = _trim( standard_values[2] ); | ||
+ | _alt = _trim( standard_values[3] ); | ||
+ | else | ||
+ | _number = _trim( standard_values[1] ); | ||
+ | _name = _trim( standard_values[2] ); -- NOTE: Must never be nil! | ||
+ | _rarity = _trim( standard_values[3] ); | ||
+ | _alt = _trim( standard_values[4] ); | ||
+ | _abbr = split( _number or '', '%-' )[1]; | ||
+ | end | ||
+ | -- # Handle rarity: | ||
+ | local _r = (_rarity or rarity) and r_list[(_rarity or rarity):lower():gsub(' rare$', '')] or 'C'; | ||
+ | |||
+ | -- Fetch alternate values: | ||
+ | if alternate_values then | ||
+ | _file = alternate_values:match( 'file::(.-);') | ||
+ | or alternate_values:match( 'file::(.+)' ); | ||
+ | _extension = alternate_values:match( 'extension::(.-);') | ||
+ | or alternate_values:match( 'extension::(.+)' ); | ||
+ | _abbr2 = alternate_values:match( 'abbr::(.-);') | ||
+ | or alternate_values:match( 'abbr::(.+)' ); | ||
+ | _name_alt = alternate_values:match( 'name::(.-);') | ||
+ | or alternate_values:match( 'name::(.+)' ); | ||
+ | _name_localized_alt = alternate_values:match('name%-local::(.-);') | ||
+ | or alternate_values:match('name%-local::(.+)' ); | ||
+ | _description = alternate_values:match('description::(.-);') | ||
+ | or alternate_values:match('description::(.+)' ); | ||
+ | end | ||
+ | |||
+ | -- Build file and caption: | ||
+ | local file, caption; | ||
+ | -- # File: | ||
+ | if _file then | ||
+ | file = _file; | ||
+ | else | ||
+ | file = _imageName( _name )..'-'..(_abbr2 or _abbr):upper()..'-'..rg:upper()..'-'.._r; | ||
+ | if _trim( ed ) then | ||
+ | ed = ((ed == 'reprint') and 'Reprint') or ed:upper(); | ||
+ | file = file..'-'..ed; | ||
+ | end | ||
+ | if _alt or alt then | ||
+ | file = file..'-'..(_alt or alt); | ||
+ | end | ||
+ | file = file..'.'..(_extension or 'png'); -- Add file extension after everything. | ||
+ | end | ||
+ | -- # Caption: | ||
+ | caption = '('.._link( rarity_list[_r:lower()], _r )..')<br />'..(_name_alt or _quotes( _link( _name ), 'English' )); | ||
+ | if notEnglish then | ||
+ | caption = caption..'<br />'..(_name_localized_alt or _quotes( F.localized_name( _name, language ), language )); | ||
+ | end | ||
+ | if _description then | ||
+ | caption = caption..'<br />'.._description; | ||
+ | end | ||
+ | if _number then | ||
+ | caption = _link( _number )..' '..caption; -- Append the card number. | ||
+ | end | ||
+ | |||
+ | -- Send processed entry to table: | ||
+ | table.insert( out_t, file..' | '..caption ); | ||
+ | return out_t; | ||
+ | end | ||
+ | |||
+ | function _imageName( name ) | ||
+ | local _nameSMW; | ||
+ | local name_strip = name:gsub( '#', '' ); -- Strip «#». | ||
+ | if not mw.smw then | ||
+ | -- If not available. | ||
+ | else | ||
+ | local result = mw.smw.ask{ '[[' ..name_strip.. ']]', '?Page name=', limit = 1, mainlabel = '-' }; | ||
+ | -- Process SMW resutlt: | ||
+ | if result and _trim( result[1][1] ) then -- Returns table, but check if its first index is nil or empty. | ||
+ | _nameSMW = result[1][1]; | ||
+ | end | ||
+ | end | ||
+ | |||
+ | local imageName = (split( _nameSMW or name_strip, ' %(' )[1]) | ||
+ | :gsub( ' ' , '') -- White space; | ||
+ | :gsub( '%-', ''):gsub( '–' , '') | ||
+ | :gsub( ',' , ''):gsub( '%.', ''):gsub( ':' , '') | ||
+ | :gsub( '\'', ''):gsub( '"' , ''):gsub( '&' , '') | ||
+ | :gsub( '%?', ''):gsub( '!' , ''):gsub( '@' , '') | ||
+ | :gsub( '%%', ''):gsub( '=' , '') | ||
+ | :gsub( '/' , ''):gsub( '\\', '') | ||
+ | :gsub( '☆' , ''):gsub( '・' , ''); | ||
+ | |||
+ | return imageName; | ||
+ | end | ||
+ | |||
+ | function _galleryDesign( frame, out_s ) | ||
+ | local gallery = ''; | ||
+ | local out_split = split( out_s, ';;SECTIONSPLIT:;;', true ); | ||
+ | for _, v in ipairs(out_split) do | ||
+ | local header = v:match('(<div.+/div>\n)'); | ||
+ | local content = v:match('<div.+/div>\n(.+)') or v; | ||
+ | if header then | ||
+ | gallery = gallery.._trim( header )..'\n'; | ||
+ | end | ||
+ | if _trim( content ) then | ||
+ | content = '<gallery heights="175px" position="center" captionalign="center">\n'.. | ||
+ | _trim( content ).. | ||
+ | '\n</gallery>'; | ||
+ | gallery = gallery..frame:preprocess(content)..'\n'; | ||
+ | end | ||
+ | end | ||
+ | |||
+ | local galleryWrap = mw.html.create( 'div' ):addClass('card-galleries') | ||
+ | :wikitext(gallery) | ||
+ | :done(); | ||
+ | return tostring(galleryWrap); | ||
+ | end | ||
+ | |||
+ | ------------- | ||
+ | -- Tracking: | ||
+ | function F.tracking( frameArgs ) | ||
+ | local _parameters = { | ||
+ | 1, -- Don't want «{{{gallery}}}» to be used. | ||
+ | ['region'] = 'region', | ||
+ | ['set'] = 'set', | ||
+ | ['abbr'] = 'abbr', | ||
+ | ['rarity'] = 'rarity', | ||
+ | ['alt'] = 'alt', | ||
+ | ['debug'] = 'debug' | ||
+ | } | ||
+ | for key, value in pairs( frameArgs ) do | ||
+ | if not(_parameters[key]) or not(_trim( value )) then | ||
+ | -- There are parameters not being used or used empty. | ||
+ | return '[[Category:((Set gallery)) with parameters to be checked]]'; | ||
+ | end | ||
+ | end | ||
end | end | ||
return F; | return F; | ||
+ | |||
+ | --</pre> |
Latest revision as of 08:40, 11 October 2019
--<pre>
--[[
-> F // ;
-> trim // mw.text.trim;
-> split // mw.text.split;
################
# Function list:
################
-> localized_name // Get localized name;
-> categories // Generate categories;
-> header // Generate page header;
-> gallery // Generate gallery;
-> tracking // Tracking categories;
## Internal functions:
-> _trim // Trim text;
-> _link // Link;
-> _quotes // Wrap with quotes;
-> _gallerySection // Handle section header;
-> _galleryCard // Handle card entry;
-> _imageName // Card imaga name for the file
-> _galleryDesign // Format gallery code;
]]
----------
-- Start:
----------
local F = {};
local trim = mw.text.trim;
local split = mw.text.split;
------------------------
-- Get localized names:
function F.localized_name( name, language )
if not mw.smw then -- If not available, return.
return '(<strong class="error">mw.smw module not found</strong>)';
end
local name_strip = name:gsub( '#', '' ); -- Strip «#».
local result = mw.smw.ask{ '[['..name_strip..']]', '?'..language..' name=', limit = 1, mainlabel = '-' };
-- Process SMW resutlt:
if result == nil or result == '' then
return nil; -- No result found.
end
return result[1][1]; -- First entry.
end
---------------
-- Categories:
function F.categories( namespace, region, edition )
local categories = ('[[Category:%s %s]]'):format( region, namespace );
if edition then
categories = categories..('[[Category:%s %s]]'):format( edition, namespace );
end
return categories;
end
----------------------
-- Build page header:
function F.header( frame, name, name_local, medium, region, edition, notEnglish, italics )
local template = frame:expandTemplate{ title = medium..'SetGalleries' }; -- {{(OCG|TCG)SetGalleries}}.
local html = mw.html.create( 'div' ):css('text-align', 'center')
:tag('span'):css{
['font-size'] = '120%',
['font-weight'] = 'bold',
['font-style'] = 'italic'
}
:wikitext(_link( name ))
:done();
if notEnglish and name_local then
html:tag('br'):done()
:tag('span'):css{
['font-weight'] ='bold',
['font-style'] = italics
}
:wikitext(name_local)
:done();
end
html:tag('br'):done()
:wikitext(region);
if edition then
html:wikitext(' - '..edition);
end
html:allDone();
return template..'\n'..tostring(html);
end
---------
-- Trim:
function _trim( s )
if s and not(s:match('^%s*$')) then
return trim( s ); -- If not nil nor empty.
end
end
----------------------------
-- Link set and card names:
function _link( name, label )
local name_strip = name:gsub( '#', '' ); -- Strip «#».
local name_noDab = name;
if not(name:match('%(2011%)') or name:match('%(series%)')) then -- Don't remove «(2011)» nor «(series)».
name_noDab = split( name, ' %(' )[1]; -- Remove dab text.
end
return ('[[%s|%s]]'):format( name_strip, label or name_noDab );
end
---------------
-- Add quotes:
function _quotes( name, language )
if name == nil then
return ''; -- Return empty string; don't wrap, but return string.
end
if language == 'Japanese' or language == 'Chinese' then
return '「'..name..'」';
else
return '"'..name..'"';
end
end
---------------------
-- Generate gallery:
-- # Main function:
function F.gallery( frame, g_table, rg, language, ed, abbr, rarity, alt, notEnglish )
local out_t = {};
local _abbrSection, _raritySection, _altSection; -- Section info to be applied to card entries.
for _, entry in ipairs(g_table) do
-- Iterate over the table:
if entry:match('^%s*!:') then
-- It's a section; contains section info.
out_t, _abbrSection, _raritySection, _altSection = _gallerySection( out_t, entry );
elseif entry:match('^(%s*)$') then
-- Nothing: empty line.
else
-- Card info.
out_t = _galleryCard( out_t, entry, rg, language, ed, _abbrSection or abbr, _raritySection or rarity, _altSection or alt, notEnglish );
end
end
local out_s = table.concat( out_t, '\n' ); -- Convert to string, to split.
return _galleryDesign( frame, out_s );
end
-- # Auxiliary functions:
function _gallerySection( out_t, entry )
-- For sections.
local header;
local _headerSection = entry:match('header::(.-);')
or entry:match('header::(.+)' );
local _abbrSection = entry:match( 'abbr::(.-);')
or entry:match( 'abbr::(.+)' );
local _raritySection = entry:match('rarity::(.-);')
or entry:match('rarity::(.+)' );
local _altSection = entry:match( 'alt::(.-);')
or entry:match( 'alt::(.+)' );
if _headerSection then
header = mw.html.create( 'div' ):addClass('gallery-header'):attr('id', _headerSection)
:wikitext(_headerSection)
:done();
end
-- Send header to table:
table.insert( out_t, ';;SECTIONSPLIT:;;'..tostring(header) );
-- Return all values (table and info that will be used on the card entries):
return out_t, _abbrSection, _raritySection, _altSection or (_headerSection:lower():match('reprint') and 'Reprint');
end
function _galleryCard( out_t, entry, rg, language, ed, abbr, rarity, alt, notEnglish )
-- For card entries.
-- Initialize vars:
local _name, _name_localized, _number, _rarity, _typeCard, _alt; -- Standard info.
local _name_alt, _name_localized_alt,
_file, _extension, _description; -- Alternate info.
local _abbr = abbr;
-- Load data:
local r_list = mw.loadData( 'Module:Set gallery/data' ).r_list;
local rarity_list = mw.loadData( 'Module:Set gallery/data' ).rarity_list;
-- Split info:
local standard_values = split( split( entry, '//' )[1] , ';');
local alternate_values = split( entry, '//' )[2];
-- Fetch standard values:
if abbr then
_name = _trim( standard_values[1] ); -- NOTE: Must never be nil!
_rarity = _trim( standard_values[2] );
_alt = _trim( standard_values[3] );
else
_number = _trim( standard_values[1] );
_name = _trim( standard_values[2] ); -- NOTE: Must never be nil!
_rarity = _trim( standard_values[3] );
_alt = _trim( standard_values[4] );
_abbr = split( _number or '', '%-' )[1];
end
-- # Handle rarity:
local _r = (_rarity or rarity) and r_list[(_rarity or rarity):lower():gsub(' rare$', '')] or 'C';
-- Fetch alternate values:
if alternate_values then
_file = alternate_values:match( 'file::(.-);')
or alternate_values:match( 'file::(.+)' );
_extension = alternate_values:match( 'extension::(.-);')
or alternate_values:match( 'extension::(.+)' );
_abbr2 = alternate_values:match( 'abbr::(.-);')
or alternate_values:match( 'abbr::(.+)' );
_name_alt = alternate_values:match( 'name::(.-);')
or alternate_values:match( 'name::(.+)' );
_name_localized_alt = alternate_values:match('name%-local::(.-);')
or alternate_values:match('name%-local::(.+)' );
_description = alternate_values:match('description::(.-);')
or alternate_values:match('description::(.+)' );
end
-- Build file and caption:
local file, caption;
-- # File:
if _file then
file = _file;
else
file = _imageName( _name )..'-'..(_abbr2 or _abbr):upper()..'-'..rg:upper()..'-'.._r;
if _trim( ed ) then
ed = ((ed == 'reprint') and 'Reprint') or ed:upper();
file = file..'-'..ed;
end
if _alt or alt then
file = file..'-'..(_alt or alt);
end
file = file..'.'..(_extension or 'png'); -- Add file extension after everything.
end
-- # Caption:
caption = '('.._link( rarity_list[_r:lower()], _r )..')<br />'..(_name_alt or _quotes( _link( _name ), 'English' ));
if notEnglish then
caption = caption..'<br />'..(_name_localized_alt or _quotes( F.localized_name( _name, language ), language ));
end
if _description then
caption = caption..'<br />'.._description;
end
if _number then
caption = _link( _number )..' '..caption; -- Append the card number.
end
-- Send processed entry to table:
table.insert( out_t, file..' | '..caption );
return out_t;
end
function _imageName( name )
local _nameSMW;
local name_strip = name:gsub( '#', '' ); -- Strip «#».
if not mw.smw then
-- If not available.
else
local result = mw.smw.ask{ '[[' ..name_strip.. ']]', '?Page name=', limit = 1, mainlabel = '-' };
-- Process SMW resutlt:
if result and _trim( result[1][1] ) then -- Returns table, but check if its first index is nil or empty.
_nameSMW = result[1][1];
end
end
local imageName = (split( _nameSMW or name_strip, ' %(' )[1])
:gsub( ' ' , '') -- White space;
:gsub( '%-', ''):gsub( '–' , '')
:gsub( ',' , ''):gsub( '%.', ''):gsub( ':' , '')
:gsub( '\'', ''):gsub( '"' , ''):gsub( '&' , '')
:gsub( '%?', ''):gsub( '!' , ''):gsub( '@' , '')
:gsub( '%%', ''):gsub( '=' , '')
:gsub( '/' , ''):gsub( '\\', '')
:gsub( '☆' , ''):gsub( '・' , '');
return imageName;
end
function _galleryDesign( frame, out_s )
local gallery = '';
local out_split = split( out_s, ';;SECTIONSPLIT:;;', true );
for _, v in ipairs(out_split) do
local header = v:match('(<div.+/div>\n)');
local content = v:match('<div.+/div>\n(.+)') or v;
if header then
gallery = gallery.._trim( header )..'\n';
end
if _trim( content ) then
content = '<gallery heights="175px" position="center" captionalign="center">\n'..
_trim( content )..
'\n</gallery>';
gallery = gallery..frame:preprocess(content)..'\n';
end
end
local galleryWrap = mw.html.create( 'div' ):addClass('card-galleries')
:wikitext(gallery)
:done();
return tostring(galleryWrap);
end
-------------
-- Tracking:
function F.tracking( frameArgs )
local _parameters = {
1, -- Don't want «{{{gallery}}}» to be used.
['region'] = 'region',
['set'] = 'set',
['abbr'] = 'abbr',
['rarity'] = 'rarity',
['alt'] = 'alt',
['debug'] = 'debug'
}
for key, value in pairs( frameArgs ) do
if not(_parameters[key]) or not(_trim( value )) then
-- There are parameters not being used or used empty.
return '[[Category:((Set gallery)) with parameters to be checked]]';
end
end
end
return F;
--</pre>