Module:Term
From Space Station 14 Wiki
Module documentation
|
---|
View or edit this documentation • (about module documentation) |
Uses JSON data
This module uses JSON data pages:
Implements {{Term}}.
Adding new terms
Go to the JSON file linked at the top of this page.
That file contains definitions for terms.
Term is defined with a lowercase key and an object value.
The object value has following format:
{
"proper name": "[optional] proper term name, for example: LRP",
"definition": "[optional] term definition",
"link": "[optional] a page to link the term to",
}
Note that at least a definition or a link should be provided for a term.
local p = {}
local getArgs = require('Module:Arguments').getArgs
local terms_json = mw.loadJsonData("Module:Terms/terms.json")
local function assert_not_nil(value, error_message)
if value == nil then
if error_message == nil then
error("value is nil")
else
error(error_message)
end
end
end
local function lookup_term(term)
return terms_json[string.lower(term)]
end
function p.main(frame)
local args = getArgs(frame)
local term = args[1]
assert_not_nil(term, "failed to lookup term: term not provided")
return lookup_term(term) or error("failed to lookup term: no definition for term '" .. term .. "' exists")
end
return p