Module:ShaderDoc: Difference between revisions
Appearance
Justin113D (talk | contribs) Created page with "--This module provides several functions used in the "Shader_Documentation" template local shader_doc = {} --[[ shader_link_list This function produces a bullet list of links to shaders Usage: {{#invoke:ShaderDoc|game=game_name|shaders=shader_a,shader_b,shader_c,etc}} parameters: game: The shader link prefix shaders: A comma separated list of shaders to list ]] function shader_docshader_link_list( frame ) local new_args = shader_doc_getParameters..." |
Justin113D (talk | contribs) FIxed bugs |
||
Line 13: | Line 13: | ||
Usage: | Usage: | ||
{{#invoke:ShaderDoc|game=game_name|shaders=shader_a,shader_b,shader_c,etc}} | {{#invoke:ShaderDoc|shader_link_list|game=game_name|shaders=shader_a,shader_b,shader_c,etc}} | ||
parameters: | parameters: | ||
Line 19: | Line 19: | ||
shaders: A comma separated list of shaders to list | shaders: A comma separated list of shaders to list | ||
]] | ]] | ||
function | function shader_doc.shader_link_list( frame ) | ||
local | local game = frame.args['game']; | ||
local shaders = frame.args['shaders']; | |||
local shaders = | |||
if game == nil then | if game == nil then | ||
return | return shader_doc._error( 'Game not specified' ); | ||
end | end | ||
if shaders == nil then | if shaders == nil then | ||
return | return shader_doc._error( 'Shaders not specified' ); | ||
end | end | ||
Line 41: | Line 40: | ||
return result; | return result; | ||
end | end | ||
Line 69: | Line 45: | ||
Helper function to handle error messages. | Helper function to handle error messages. | ||
]] | ]] | ||
function | function shader_doc._error( error_str ) | ||
local frame = mw.getCurrentFrame(); | local frame = mw.getCurrentFrame(); | ||
local error_category = frame.args.error_category or 'Errors reported by Module String'; | local error_category = frame.args.error_category or 'Errors reported by Module String'; | ||
Line 75: | Line 51: | ||
local no_category = frame.args.no_category or false; | local no_category = frame.args.no_category or false; | ||
if | if shader_doc._getBoolean(ignore_errors) then | ||
return ''; | return ''; | ||
end | end | ||
local error_str = '<strong class="error">String Module Error: ' .. error_str .. '</strong>'; | local error_str = '<strong class="error">String Module Error: ' .. error_str .. '</strong>'; | ||
if error_category ~= '' and not | if error_category ~= '' and not shader_doc._getBoolean( no_category ) then | ||
error_str = '[[Category:' .. error_category .. ']]' .. error_str; | error_str = '[[Category:' .. error_category .. ']]' .. error_str; | ||
end | end | ||
Line 90: | Line 66: | ||
Helper Function to interpret boolean strings | Helper Function to interpret boolean strings | ||
]] | ]] | ||
function | function shader_doc._getBoolean( boolean_str ) | ||
local boolean_value; | local boolean_value; | ||
Line 108: | Line 84: | ||
return boolean_value | return boolean_value | ||
end | end | ||
return shader_doc; |
Revision as of 14:28, 17 August 2025
Documentation for this module may be created at Module:ShaderDoc/doc
--[[
This module provides several functions used in the "Shader_Documentation" template
]]
local shader_doc = {}
--[[
shader_link_list
This function produces a bullet list of links to shaders
Usage:
{{#invoke:ShaderDoc|shader_link_list|game=game_name|shaders=shader_a,shader_b,shader_c,etc}}
parameters:
game: The shader link prefix
shaders: A comma separated list of shaders to list
]]
function shader_doc.shader_link_list( frame )
local game = frame.args['game'];
local shaders = frame.args['shaders'];
if game == nil then
return shader_doc._error( 'Game not specified' );
end
if shaders == nil then
return shader_doc._error( 'Shaders not specified' );
end
local shader_list = mw.text.split( shaders, ',' );
local result = '';
for _, shader in ipairs( shader_list ) do
result = result .. '* ' .. shader .. '\n';
end
return result;
end
--[[
Helper function to handle error messages.
]]
function shader_doc._error( error_str )
local frame = mw.getCurrentFrame();
local error_category = frame.args.error_category or 'Errors reported by Module String';
local ignore_errors = frame.args.ignore_errors or false;
local no_category = frame.args.no_category or false;
if shader_doc._getBoolean(ignore_errors) then
return '';
end
local error_str = '<strong class="error">String Module Error: ' .. error_str .. '</strong>';
if error_category ~= '' and not shader_doc._getBoolean( no_category ) then
error_str = '[[Category:' .. error_category .. ']]' .. error_str;
end
return error_str;
end
--[[
Helper Function to interpret boolean strings
]]
function shader_doc._getBoolean( boolean_str )
local boolean_value;
if type( boolean_str ) == 'string' then
boolean_str = boolean_str:lower();
if boolean_str == 'false' or boolean_str == 'no' or boolean_str == '0'
or boolean_str == '' then
boolean_value = false;
else
boolean_value = true;
end
elseif type( boolean_str ) == 'boolean' then
boolean_value = boolean_str;
else
error( 'No boolean value found' );
end
return boolean_value
end
return shader_doc;