Module:DPLlua/doc
This is the documentation page for Module:DPLlua
Uses Template:DPLlua helper to make it possible to include all parameters of a template while maintaining good performance.
This module is a helper module to be used by other modules; it may not designed to be invoked directly. See RuneScape:Lua/Helper modules for a full list and more information.
Function | Type | Use |
---|---|---|
ask( ... ) | tables | ask takes a series of tables each containing the settings for a DPL query; it will return the same number of result tables as input tables. All formatting settings are stripped from the config. If the config does not contains include , the result will be a simple list of page names.
{ <pagename#1>, <pagename#2>, <pagename#3>, } A query with an { ['include'] = { ['template#1'] = { [1] = val#1, [2] = val#2, ['param1'] = val#3, ['param2'] = val#4, }, ['template#2'] = { [3] = val#5, ['param1'] = val#6, }, ['%0'] = val#7 }, ['title'] = <pagename> } You can also do If the config value The output contains a If the DPL throws an error it will be available in the Differences with normal DPL:
|notcategory = val#1 |notcategory = val#2Note of warning, if you include content containing § symbols the result may be unreliable. If you include a whole template (e.g. include = '{some template}' ), content inside strip markers (not nowiki) can't be cleaned up inside lua so pipe characters (| ) will be replaced with § characters and the { and } characters are replaced by ❴ (U+2774) and ❵ (U+2775). Use include = '{some template}, {some template}:1:2:3' instead for the problem parameters. |
Example:
local dpl = require( 'Module:DPLlua' )
local a, b = dpl.ask( {
namespace = '',
linksto = 'Treasure trails',
distinct = 'strict',
ordermethod = 'title',
count = 5,
ignorecase = true
},{
namespace = '',
uses = 'Template:Recipe',
count = 1,
include = '{Recipe},{Infobox Item}',
ignorecase = true
} )
mw.logObject(a)
mw.logObject(b)
--[=[
table#1 {
"(beginner)",
"(easy)",
"(elite)",
"(g)",
"(hard)",
["time"] = 0.0541,
}
table#1 {
table#2 {
["include"] = table#3 {
["Infobox Item"] = table#4 {
["destroy"] = "Drop",
["equipable"] = "No",
["examine"] = "It's a bar of 'perfect' gold.",
["id"] = "2365",
["image"] = "[[File:'perfect' gold bar.png]]",
["members"] = "Yes",
["name"] = "'perfect' gold bar",
["noteable"] = "No",
["placeholder"] = "Yes",
["quest"] = "[[Family Crest]]",
["release"] = "[[9 April]] [[2002]]",
["stackable"] = "No",
["tradeable"] = "No",
["update"] = "New members quest online!",
["value"] = "300",
["weight"] = "1.814",
},
["Recipe"] = table#5 {
["facilities"] = "Furnace",
["mat1"] = "'perfect' gold ore",
["mat1cost"] = "No",
["members"] = "Yes",
["notes"] = "Partial completion of [[Family Crest]]",
["outputcost"] = "No",
["outputname"] = "'perfect' gold bar",
["skill1"] = "Smithing",
["skill1exp"] = "22.5",
["skill1lvl"] = "40",
["ticks"] = "4",
},
},
["title"] = "'perfect' gold bar",
},
["time"] = 0.0541,
}
]=]