Module:LDSverse: Difference between revisions

Content deleted Content added
Added logic to handle the common user error in which where the user forgets the second parameter and goes right into the chapter number without specifying the book parameter
Remove periods in book abbreviations
Line 26:
["Testimony of Three Witnesses"] = {"three", "3witnesses"},
["Testimony of Eight Witnesses"] = {"eight", "8witnesses"},
["1 Nephi"] = {"1-ne", "1_ne", "1ne", "1 ne"},
["2 Nephi"] = {"2-ne", "2_ne", "2ne", "2 ne"},
["Jacob"] = {"jac"},
["Enos"] = {"en"},
Line 36:
["Alma"] = {},
["Helaman"] = {"hel"},
["3 Nephi"] = {"3-ne", "3_ne", "3ne", "3 ne"},
["4 Nephi"] = {"4-ne", "4_ne", "4ne", "4 ne"},
["Mormon"] = {"morm", "mormon"},
["Ether"] = {},
Line 58:
["JST Matthew"] = {"js-m", "jsm", "joseph smith matthew", "jst matt",
"jst-matt", "jst-matthew", "js matthew"}, -- NB: This is a special case!
["History"] = {"js-h", "jsh", "js history", "joseph smith history", "js-hist"},
"js-hist", "js hist"},
["Articles of Faith"] = {"a-of-f", "a_of_f", "aoff", "the articles of faith"}
}
Line 71 ⟶ 72:
["Judges"] = {"judg", "jgs"},
["Ruth"] = {"ru", "ruth"},
["1 Samuel"] = {"1sam", "1sm", "1_sam", "1-sam", "1 sam"},
["2 Samuel"] = {"2sam", "2sm", "2_sam", "2-sam", "2 sam"},
["1 Kings"] = {"1kgs", "1-kgs", "1_kgs", "1 kgs"},
["2 Kings"] = {"2kgs", "2-kgs", "2_kgs", "2 kgs"},
["1 Chronicles"] = {"1chron", "1chr", "1-chr", "1_chr", "1 chr"},
["2 Chronicles"] = {"2chron", "2chr", "2-chr", "2_chr", "2 chr"},
["Ezra"] = {},
["Nehemiah"] = {"neh"},
Line 103 ⟶ 104:
["Zechariah"] = {"zech", "zec", "zach", "zac"}, -- catch typos
["Malachi"] = {"mal"},
["Matthew"] = {"matt", "mt"}, -- New Testament
["Mark"] = {"mk"},
["Luke"] = {"lk"},
["John"] = {"jn"},
["Acts"] = {"actsoftheapostles", "the acts"}, "acts of the apostles",
"the acts of the apostles"},
["Romans"] = {"rom", "roman"},
["1 Corinthians"] = {"1cor", "1-cor", "1_cor", "1 cor"},
["2 Corinthians"] = {"2cor", "2-cor", "2_cor", "2 cor"},
["Galatians"] = {"gal"},
["Ephesians"] = {"eph"},
Line 116 ⟶ 119:
["Colossians"] = {"col"},
["1 Thessalonians"] = {"1thess", "1thes", "1-thes",
"1_thes", "1-thess", "1_thess", "1 thess", "1 thes"}, -- catch typos
["2 Thessalonians"] = {"2thess", "2thes", "2-thes",
"2_thes", "2-thess", "2_thess", "2 thess", "2 thes"}, -- catch typos
["1 Timothy"] = {"1tim", "1tm", "1-tim", "1_tim", "1 tim"},
["2 Timothy"] = {"2tim", "2tm", "2-tim", "2_tim", "2 tim"},
["Titus"] = {"ti"},
["Philemon"] = {"philem", "phlm"},
["Hebrews"] = {"heb", "hebrew"}, -- catch typos
["James"] = {"jas"},
["1 Peter"] = {"1pet", "1pt", "1-pet", "1_pet", "1 pet"},
["2 Peter"] = {"2pet", "2pt", "2-pet", "2_pet", "2 pet"},
["1 John"] = {"1jn", "1-jn", "1_jn", "1 jn"},
["2 John"] = {"2jn", "2-jn", "2_jn", "2 jn"},
["3 John"] = {"3jn", "3-jn", "3_jn", "3 jn"},
["Jude"] = {},
["Revelation"] = {"rev", "apocalypse", "apoc", "rv",
Line 285 ⟶ 288:
end
 
local function removePeriods(arg)
if arg then
return string.gsub(arg, "%.", "")
else
return nil
end
end
 
-- this function removes leading and trailing spaces via regex magic
local function trimSpaces(arg)
if arg then
Line 298 ⟶ 310:
local function extractParams(args)
local displayTextParam = trimSpaces(args[1])
local bookParam = removePeriods(trimSpaces(args[2])) -- take out periods and spaces
local chapterParam = trimSpaces(args[3])
local verseParam = trimSpaces(args[4])
Line 315 ⟶ 327:
if tonumber(args[2]) then
-- the second parameter is a number (tonumber returns nil if there is any text in its argument)
bookParam = removePeriods(trimSpaces(args[1])) -- use the display text and hope it's the full name of the book (or a valid abbreviation)!
chapterParam = trimSpaces(args[2])
verseParam = trimSpaces(args[3])