Module:Cite Talmud Explained

local getArgs = require('Module:Arguments').getArgslocal yesno = require('Module:yesno')

local function tidyVal(key, val) if type(val)

'string' then val = val:gsub(" ", ' '):match('^%s*(.-)%s*$') if val

then return nil else return val end else return val endend

local talmud =

talmud.jb_key =

function talmud.generate_citation(frame) local args = getArgs(frame,) jb = args[1] or 'b' if not talmud.jb_key[jb] then return require('Module:Error').error end tractate = args[2] daf = args[4] or args[3] -- These are page or folio numbers as described at Talmud#Slavuta Talmud 1795 and Vilna Talmud 1835. Ranges are accepted, eg. 2b-4a url = args.url nobook = yesno(args[5] or args.nobook) if not url then url = "https://www.sefaria.org/" if(jb

'y') then url = url .. 'Jerusalem_Talmud_' end url = url .. string.gsub(tractate, ' ', '_') .. '.' .. string.gsub(daf or '2a', ' ', '_') end str = '[' .. url .. ' ' .. tractate .. ' ' .. (daf or '') .. ']' if not nobook then str = 'Talmud, ' .. jb .. '. ' .. str end return strend

return talmud