Modulo:BibleQuote: differenze tra le versioni

Da Semi del Verbo, l'enciclopedia dell'influenza del Vangelo sulla cultura
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 1: Riga 1:


local getArgs = require('Module:Arguments').getArgs
local getArgs = require('Module:Arguments').getArgs
local p = {} --p stands for package


local VERSIONS_AVAILABLE = {
local VERSIONS_AVAILABLE = {
Riga 7: Riga 8:
"LUZZI",
"LUZZI",
"CEI2008",
"CEI2008",
"VGCL",
"DRB",
"DRB"
"VGCL"
}
}


Riga 21: Riga 22:
end
end


local p = {} --p stands for package
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


function p.isValidVersion( frame )
p.isValidVersion = makeInvokeFunc("_isValidVersion")
    local args = getArgs(frame, {
function p._isValidVersion(args)
    --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 "CEI2008"
if (in_table(args.version, VERSIONS_AVAILABLE)) then
if (in_table(args.version, VERSIONS_AVAILABLE)) then
return 1
return 1
Riga 37: Riga 52:
end
end


function p.main( frame )
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 "CEI2008"
    args.ref = args.ref or "John 3:16"
    return p._main(args)
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
return "<span class=\"bibleQuoteRef\" data-ref=\"" .. args.ref .. "\" data-version=\"" .. args.version .. "\">" .. args.ref .. "</span>"
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
else
return "<span class=\"bibleQuoteRefBroken\" data-ref=\"" .. args.ref .. "\" data-version=\"" .. args.version .. "\" title=\"La versione '" .. args.version .. "' della Bibbia non è supportata dall'API di BibleGet.\">" .. 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
--[[
 
function p.cacheDirExists( args )
if(fs.is_dir("/var/log/snort") = nil) then
else
end
end
]]
return p
return p

Versione delle 09:48, 26 set 2020

La documentazione per questo modulo può essere creata in Modulo:BibleQuote/man

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