Difference between revisions of "Module:Cite Talmud"
Jump to navigation
Jump to search
test>Daask (Fix generate citation argument) |
test>Daask (Better handling of unknown Talmud values) |
||
| Line 9: | Line 9: | ||
jb = template_args[1] | jb = template_args[1] | ||
if not(jb) or string.find(jb, '^%s*$') then jb = 'b' end | if not(jb) or string.find(jb, '^%s*$') then jb = 'b' end | ||
| − | jb = '<abbr title="' .. talmud.jb_key[jb] .. '">' .. jb .. '.</abbr>' | + | if talmud.jb_key[jb] then |
| + | jb = '<abbr title="' .. talmud.jb_key[jb] .. '">' .. jb .. '.</abbr>' | ||
| + | else | ||
| + | jb = '{{error | First argument must be either b for Babylonian Talmud or y for Jerusalem Talmud. (Given "' .. jb .. '")}}' | ||
| + | end | ||
tractate = template_args[2] | tractate = template_args[2] | ||
chapter = template_args[3] -- Chapter name or number (optional) | chapter = template_args[3] -- Chapter name or number (optional) | ||
Revision as of 14:30, 15 May 2019
Implements {{Cite Talmud}}
-- For unit tests, see [[Module:Bananas/testcases]]
local talmud = {}
talmud.jb_key = {b = "Babylonian", j = "Jerusalem"}
function talmud.generate_citation(frame)
local template_args = frame:getParent().args
-- local invoke_args = frame.args -- parameters from {{#invoke:}}
jb = template_args[1]
if not(jb) or string.find(jb, '^%s*$') then jb = 'b' end
if talmud.jb_key[jb] then
jb = '<abbr title="' .. talmud.jb_key[jb] .. '">' .. jb .. '.</abbr>'
else
jb = '{{error | First argument must be either b for Babylonian Talmud or y for Jerusalem Talmud. (Given "' .. jb .. '")}}'
end
tractate = template_args[2]
chapter = template_args[3] -- Chapter name or number (optional)
daf = template_args[4] -- These are page or folio numbers as described at Talmud#Slavuta Talmud 1795 and Vilna Talmud 1835. Ranges are accepted, eg. 2b-4a
url = template_args['url']
if not url then
url = "https://www.sefaria.org/" .. string.gsub(tractate, ' ', '_') .. '.' .. string.gsub(daf or '2a', ' ', '_')
end
str = "[[Talmud]], " .. jb .. ". " .. tractate .. " " .. daf .. url
return str
end
return talmud