Module:BibleQuote: Difference between revisions

From Seeds of the Word, the encyclopedia of the influence of the Gospel on culture
Content deleted Content added
No edit summary
No edit summary
 
(19 intermediate revisions by the same user not shown)
Line 1: Line 1:
-- local fs = require("fs")


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


local VERSIONS_AVAILABLE = {
local VERSIONS_AVAILABLE = {
Line 7: Line 7:
"NVBSE",
"NVBSE",
"LUZZI",
"LUZZI",
"CEI2008"
"CEI2008",
"DRB",
"VGCL"
}
}


Line 17: Line 19:
end
end
end
end

return false
return false
end
end


local function makeInvokeFunc(funcName)
local p = {} --p stands for package
return function (frame)

local args = getArgs(frame)
function p.main( frame )
-- let's make sure defaults are set
local args = getArgs(frame, {
if args.version == nil or args.version == "" then
--we will only consider arguments that are passed by the template itself in the invoke
frameOnly = true
args.version = "NABRE"
})
end
-- let's make sure defaults are set
args.version = args.version or "NABRE"
if args.ref == nil or args.ref == "" then
args.ref = args.ref or "John 3:16"
args.ref = "John 3:16"
end
return p._main(args)
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
end


p.isValidVersion = makeInvokeFunc("_isValidVersion")
function p._main( args )
function p._isValidVersion(args)
if (in_table(args.version, VERSIONS_AVAILABLE)) then
if (in_table(args.version, VERSIONS_AVAILABLE)) then
return 1
return "<span class=\"bibleQuoteRef\" data-ref=\"" .. args.ref .. "\" data-version=\"" .. args.version .. "\">" .. args.ref .. "</span>"
else
else
return 0
return "<span style=\"color:#36b;font-weight:bold;\" data-ref=\"" .. args.ref .. "\" data-version=\"" .. args.version .. "\">" .. args.ref .. "</span><sup style=\"color:red;font-weight:bold;cursor:pointer;\" title=\"The Bible version '" .. args.version .. "' is not supported by the BibleGet endpoint.\">[!]</sup>"
end
end
end
end

--[[
p.main = makeInvokeFunc("_main")
function p.cacheDirExists( args )
function p._main( args )
if(fs.is_dir("/var/log/snort") = nil) then
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
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
end
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