Module:BibleQuote: Difference between revisions
Content deleted Content added
Johnrdorazio (talk | contribs) No edit summary |
Johnrdorazio (talk | contribs) No edit summary |
||
(9 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
local getArgs = require('Module:Arguments').getArgs |
local getArgs = require('Module:Arguments').getArgs |
||
⚫ | |||
local VERSIONS_AVAILABLE = { |
local VERSIONS_AVAILABLE = { |
||
Line 21: | Line 22: | ||
end |
end |
||
local function makeInvokeFunc(funcName) |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
p.isValidVersion = makeInvokeFunc("_isValidVersion") |
|||
⚫ | |||
⚫ | |||
--we will only consider arguments that are passed by the template itself in the invoke |
|||
frameOnly = true |
|||
}) |
|||
⚫ | |||
⚫ | |||
-- also make sure it's not empty |
|||
if args.version == "" then |
|||
⚫ | |||
⚫ | |||
if (in_table(args.version, VERSIONS_AVAILABLE)) then |
if (in_table(args.version, VERSIONS_AVAILABLE)) then |
||
return 1 |
return 1 |
||
Line 41: | Line 52: | ||
end |
end |
||
p.main = makeInvokeFunc("_main") |
|||
⚫ | |||
local args = getArgs(frame, { |
|||
--we will only consider arguments that are passed by the template itself in the invoke |
|||
frameOnly = true |
|||
}) |
|||
-- let's make sure defaults are set |
|||
args.version = args.version or "NABRE" |
|||
if args.version == "" then |
|||
args.version = "NABRE" |
|||
⚫ | |||
args.ref = args.ref or "John 3:16" |
|||
⚫ | |||
⚫ | |||
⚫ | |||
args.inline = args.inline or "true" |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
end |
|||
⚫ | |||
⚫ | |||
function p._main( args ) |
function p._main( args ) |
||
if (in_table(args.version, VERSIONS_AVAILABLE)) then |
if (in_table(args.version, VERSIONS_AVAILABLE)) then |
||
if args.inline |
if args.inline then |
||
return "<span class=\"bibleQuoteRef\" data-ref=\"" .. args.ref .. "\" data-version=\"" .. args.version .. "\" data-inline=\" |
return "<span class=\"bibleQuoteRef\" data-ref=\"" .. args.ref .. "\" data-version=\"" .. args.version .. "\" data-inline=\"true\">" .. args.ref .. "</span>" |
||
else |
else |
||
return "<div class=\"bibleQuoteRef\" data-ref=\"" .. args.ref .. "\" data-version=\"" .. args.version .. "\" data-inline=\"" |
return "<div class=\"bibleQuoteRef\" data-ref=\"" .. args.ref .. "\" data-version=\"" .. args.version .. "\" data-inline=\"false\"><div class=\"lds-spinner\"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div></div>" |
||
end |
end |
||
else |
else |
||
return "<span class=\"bibleQuoteRefBroken\" data-ref=\"" .. args.ref .. "\" data-version=\"" .. args.version .. "\" data-inline=\"" .. args.inline .. "\" title=\"The Bible version '" .. args.version .. "' is not supported by the BibleGet endpoint.\">" .. args.ref .. "</span><sup class=\"bibleQuoteRefBrokenReason\" title=\"The Bible version '" .. args.version .. "' is not supported by the BibleGet endpoint.\">[!]</sup>" |
return "<span class=\"bibleQuoteRefBroken\" data-ref=\"" .. args.ref .. "\" data-version=\"" .. args.version .. "\" data-inline=\"" .. (args.inline == true and "true" or "false") .. "\" title=\"The Bible version '" .. args.version .. "' is not supported by the BibleGet endpoint.\">" .. args.ref .. "</span><sup class=\"bibleQuoteRefBrokenReason\" title=\"The Bible version '" .. args.version .. "' is not supported by the BibleGet endpoint.\">[!]</sup>" |
||
end |
end |
||
end |
end |
||
--[[ |
|||
⚫ | |||
if(fs.is_dir("/var/log/snort") = nil) then |
|||
else |
|||
⚫ | |||
end |
|||
]] |
|||
return p |
return p |
Latest revision as of 09:42, September 26, 2020
Documentation for this module may be created at Module:BibleQuote/doc
local getArgs = require('Module:Arguments').getArgs
local p = {} --p stands for package
local VERSIONS_AVAILABLE = {
"NABRE",
"NVBSE",
"LUZZI",
"CEI2008",
"DRB",
"VGCL"
}
-- let's keep the needle in a haystack ordering typical of PHP
local function in_table (val, tab)
for index, value in ipairs(tab) do
if value == val then
return true
end
end
return false
end
local function makeInvokeFunc(funcName)
return function (frame)
local args = getArgs(frame)
-- let's make sure defaults are set
if args.version == nil or args.version == "" then
args.version = "NABRE"
end
if args.ref == nil or args.ref == "" then
args.ref = "John 3:16"
end
if args.inline == nil or args.inline == "" or args.inline == 1 or args.inline == "1" or args.inline == "true" then
args.inline = true
elseif args.inline == 0 or args.inline == "0" or args.inline == "false" then
args.inline = false
end
return p[funcName](args)
end
end
p.isValidVersion = makeInvokeFunc("_isValidVersion")
function p._isValidVersion(args)
if (in_table(args.version, VERSIONS_AVAILABLE)) then
return 1
else
return 0
end
end
p.main = makeInvokeFunc("_main")
function p._main( args )
if (in_table(args.version, VERSIONS_AVAILABLE)) then
if args.inline then
return "<span class=\"bibleQuoteRef\" data-ref=\"" .. args.ref .. "\" data-version=\"" .. args.version .. "\" data-inline=\"true\">" .. args.ref .. "</span>"
else
return "<div class=\"bibleQuoteRef\" data-ref=\"" .. args.ref .. "\" data-version=\"" .. args.version .. "\" data-inline=\"false\"><div class=\"lds-spinner\"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div></div></div>"
end
else
return "<span class=\"bibleQuoteRefBroken\" data-ref=\"" .. args.ref .. "\" data-version=\"" .. args.version .. "\" data-inline=\"" .. (args.inline == true and "true" or "false") .. "\" title=\"The Bible version '" .. args.version .. "' is not supported by the BibleGet endpoint.\">" .. args.ref .. "</span><sup class=\"bibleQuoteRefBrokenReason\" title=\"The Bible version '" .. args.version .. "' is not supported by the BibleGet endpoint.\">[!]</sup>"
end
end
return p