<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.cultopedia.org/index.php?action=history&amp;feed=atom&amp;title=Module%3ABibleverse</id>
	<title>Module:Bibleverse - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.cultopedia.org/index.php?action=history&amp;feed=atom&amp;title=Module%3ABibleverse"/>
	<link rel="alternate" type="text/html" href="https://www.cultopedia.org/index.php?title=Module:Bibleverse&amp;action=history"/>
	<updated>2026-04-05T23:44:48Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.5</generator>
	<entry>
		<id>https://www.cultopedia.org/index.php?title=Module:Bibleverse&amp;diff=295&amp;oldid=prev</id>
		<title>imported&gt;Hike395: trimArg may return nil: protect</title>
		<link rel="alternate" type="text/html" href="https://www.cultopedia.org/index.php?title=Module:Bibleverse&amp;diff=295&amp;oldid=prev"/>
		<updated>2025-10-18T12:59:27Z</updated>

		<summary type="html">&lt;p&gt;trimArg may return nil: protect&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- This module implements Template:Bibleverse.&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
--codes from bvf that may be in use&lt;br /&gt;
local version_num_codes = {&lt;br /&gt;
	[9] = &amp;#039;kjv&amp;#039;, [31] = &amp;#039;niv&amp;#039;, [45] = &amp;#039;amp&amp;#039;, [49] = &amp;#039;nasb&amp;#039;, [64] = &amp;#039;nivuk&amp;#039;,&lt;br /&gt;
	[51] = &amp;#039;nlt&amp;#039;, [65] = &amp;#039;msg&amp;#039;, [76] = &amp;#039;nirv&amp;#039;, [105] = &amp;#039;he&amp;#039;, [104] = &amp;#039;jps&amp;#039;,&lt;br /&gt;
	[120] = &amp;#039;opb&amp;#039;, [121] = &amp;#039;bb&amp;#039;, [122] = &amp;#039;bbc&amp;#039;, [123] = &amp;#039;bbl&amp;#039;, [131] = &amp;#039;nrsv&amp;#039;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
--possible book inputs, based on Chicago Manual&lt;br /&gt;
local book_aliases = {&lt;br /&gt;
	[&amp;#039;genesis&amp;#039;] = {&amp;#039;gen&amp;#039;, &amp;#039;gn&amp;#039;},                          --old testament/tanakh&lt;br /&gt;
	[&amp;#039;exodus&amp;#039;] = {&amp;#039;exod&amp;#039;, &amp;#039;ex&amp;#039;},&lt;br /&gt;
	[&amp;#039;leviticus&amp;#039;] = {&amp;#039;lev&amp;#039;, &amp;#039;lv&amp;#039;},&lt;br /&gt;
	[&amp;#039;numbers&amp;#039;] = {&amp;#039;num&amp;#039;, &amp;#039;nm&amp;#039;},&lt;br /&gt;
	[&amp;#039;deuteronomy&amp;#039;] = {&amp;#039;deut&amp;#039;, &amp;#039;dt&amp;#039;},&lt;br /&gt;
	[&amp;#039;joshua&amp;#039;] = {&amp;#039;josh&amp;#039; , &amp;#039;jo&amp;#039;},&lt;br /&gt;
	[&amp;#039;judges&amp;#039;] = {&amp;#039;judg&amp;#039;, &amp;#039;jgs&amp;#039;},&lt;br /&gt;
	[&amp;#039;ruth&amp;#039;] = {&amp;#039;ru&amp;#039;},&lt;br /&gt;
	[&amp;#039;1_samuel&amp;#039;] = {&amp;#039;1sam&amp;#039;, &amp;#039;1sm&amp;#039;},&lt;br /&gt;
	[&amp;#039;2_samuel&amp;#039;] = {&amp;#039;2sam&amp;#039;, &amp;#039;2sm&amp;#039;},&lt;br /&gt;
	[&amp;#039;1_kings&amp;#039;] = {&amp;#039;1kgs&amp;#039;},&lt;br /&gt;
	[&amp;#039;2_kings&amp;#039;] = {&amp;#039;2kgs&amp;#039;},&lt;br /&gt;
	[&amp;#039;1_chronicles&amp;#039;] = {&amp;#039;1chron&amp;#039;, &amp;#039;1chr&amp;#039;},&lt;br /&gt;
	[&amp;#039;2_chronicles&amp;#039;] = {&amp;#039;2chron&amp;#039;, &amp;#039;2chr&amp;#039;},&lt;br /&gt;
	[&amp;#039;ezra&amp;#039;] = {&amp;#039;ezr&amp;#039;},&lt;br /&gt;
	[&amp;#039;nehemiah&amp;#039;] = {&amp;#039;neh&amp;#039;},&lt;br /&gt;
	[&amp;#039;esther&amp;#039;] = {&amp;#039;est&amp;#039;},&lt;br /&gt;
	[&amp;#039;job&amp;#039;] = {&amp;#039;jb&amp;#039;},&lt;br /&gt;
	[&amp;#039;psalms&amp;#039;] = {&amp;#039;ps&amp;#039;, &amp;#039;pss&amp;#039;, &amp;#039;psalm&amp;#039;},&lt;br /&gt;
	[&amp;#039;proverbs&amp;#039;] = {&amp;#039;prov&amp;#039;, &amp;#039;prv&amp;#039;},&lt;br /&gt;
	[&amp;#039;ecclesiastes&amp;#039;] = {&amp;#039;eccles&amp;#039;, &amp;#039;eccl&amp;#039;, &amp;#039;qoheleth&amp;#039;},&lt;br /&gt;
	[&amp;#039;song_of_solomon&amp;#039;] = {&amp;#039;songofsol&amp;#039;, &amp;#039;songofsongs&amp;#039;, &amp;#039;song&amp;#039;, &amp;#039;sg&amp;#039;, &amp;#039;canticles&amp;#039;, &amp;#039;canticleofcanticles&amp;#039;},&lt;br /&gt;
	[&amp;#039;isaiah&amp;#039;] = {&amp;#039;isa&amp;#039;, &amp;#039;is&amp;#039;},&lt;br /&gt;
	[&amp;#039;jeremiah&amp;#039;] = {&amp;#039;jer&amp;#039;},&lt;br /&gt;
	[&amp;#039;lamentations&amp;#039;] = {&amp;#039;lam&amp;#039;},&lt;br /&gt;
	[&amp;#039;ezekiel&amp;#039;] = {&amp;#039;ezek&amp;#039;, &amp;#039;ez&amp;#039;},&lt;br /&gt;
	[&amp;#039;daniel&amp;#039;] = {&amp;#039;dan&amp;#039;, &amp;#039;dn&amp;#039;},&lt;br /&gt;
	[&amp;#039;hosea&amp;#039;] = {&amp;#039;hos&amp;#039;},&lt;br /&gt;
	[&amp;#039;joel&amp;#039;] = {&amp;#039;jl&amp;#039;},&lt;br /&gt;
	[&amp;#039;amos&amp;#039;] = {&amp;#039;am&amp;#039;},&lt;br /&gt;
	[&amp;#039;obadiah&amp;#039;] = {&amp;#039;obad&amp;#039;, &amp;#039;ob&amp;#039;},&lt;br /&gt;
	[&amp;#039;jonah&amp;#039;] = {&amp;#039;jon&amp;#039;},&lt;br /&gt;
	[&amp;#039;micah&amp;#039;] = {&amp;#039;mic&amp;#039;, &amp;#039;mi&amp;#039;},&lt;br /&gt;
	[&amp;#039;nahum&amp;#039;] = {&amp;#039;nah&amp;#039;, &amp;#039;na&amp;#039;},&lt;br /&gt;
	[&amp;#039;habakkuk&amp;#039;] = {&amp;#039;hab&amp;#039;, &amp;#039;hb&amp;#039;},&lt;br /&gt;
	[&amp;#039;zephaniah&amp;#039;] = {&amp;#039;zeph&amp;#039;, &amp;#039;zep&amp;#039;},&lt;br /&gt;
	[&amp;#039;haggai&amp;#039;] = {&amp;#039;hag&amp;#039;, &amp;#039;hg&amp;#039;},&lt;br /&gt;
	[&amp;#039;zechariah&amp;#039;] = {&amp;#039;zech&amp;#039;, &amp;#039;zec&amp;#039;},&lt;br /&gt;
	[&amp;#039;malachi&amp;#039;] = {&amp;#039;mal&amp;#039;},&lt;br /&gt;
	[&amp;#039;baruch&amp;#039;] = {&amp;#039;bar&amp;#039;},                                 --apocrypha/deuterocanon&lt;br /&gt;
	[&amp;#039;ecclesiasticus&amp;#039;] = {&amp;#039;ecclus&amp;#039;, &amp;#039;wisdomofsirach&amp;#039;, &amp;#039;sirach&amp;#039;, &amp;#039;sir&amp;#039;},&lt;br /&gt;
	[&amp;#039;1_esdras&amp;#039;] = {&amp;#039;1esd&amp;#039;},&lt;br /&gt;
	[&amp;#039;2_esdras&amp;#039;] = {&amp;#039;2esd&amp;#039;},&lt;br /&gt;
	[&amp;#039;judith&amp;#039;] = {&amp;#039;jth&amp;#039;, &amp;#039;jdt&amp;#039;},&lt;br /&gt;
	[&amp;#039;1_maccabees&amp;#039;] = {&amp;#039;1macc&amp;#039;, &amp;#039;1mc&amp;#039;},&lt;br /&gt;
	[&amp;#039;2_maccabees&amp;#039;] = {&amp;#039;2macc&amp;#039;, &amp;#039;2mc&amp;#039;},&lt;br /&gt;
	[&amp;#039;3_maccabees&amp;#039;] = {&amp;#039;3macc&amp;#039;, &amp;#039;3mc&amp;#039;},&lt;br /&gt;
	[&amp;#039;4_maccabees&amp;#039;] = {&amp;#039;4macc&amp;#039;, &amp;#039;4mc&amp;#039;},&lt;br /&gt;
	[&amp;#039;prayer_of_manasseh&amp;#039;] = {&amp;#039;profman&amp;#039;, &amp;#039;prayerofmanasses&amp;#039;},&lt;br /&gt;
	[&amp;#039;susanna&amp;#039;] = {&amp;#039;sus&amp;#039;},&lt;br /&gt;
	[&amp;#039;tobit&amp;#039;] = {&amp;#039;tob&amp;#039;, &amp;#039;tb&amp;#039;},&lt;br /&gt;
	[&amp;#039;wisdom_of_solomon&amp;#039;] = {&amp;#039;ws&amp;#039;, &amp;#039;wisdom&amp;#039;, &amp;#039;wisofsol&amp;#039;},&lt;br /&gt;
	[&amp;#039;prayer_of_azariah&amp;#039;] = {&amp;#039;prayerofazariahandhymnofthethreechildren&amp;#039;},&lt;br /&gt;
	[&amp;#039;rest_of_esther&amp;#039;] = {&amp;#039;additionstoesther&amp;#039;},&lt;br /&gt;
	[&amp;#039;bel_and_the_dragon&amp;#039;] = {&amp;#039;bel&amp;#039;},&lt;br /&gt;
	[&amp;#039;epistle_of_jeremiah&amp;#039;] = {&amp;#039;letterofjeremiah&amp;#039;},&lt;br /&gt;
	[&amp;#039;matthew&amp;#039;] = {&amp;#039;matt&amp;#039;, &amp;#039;mt&amp;#039;},                         --new testament&lt;br /&gt;
	[&amp;#039;mark&amp;#039;] = {&amp;#039;mk&amp;#039;},&lt;br /&gt;
	[&amp;#039;luke&amp;#039;] = {&amp;#039;lk&amp;#039;},&lt;br /&gt;
	[&amp;#039;john&amp;#039;] = {&amp;#039;jn&amp;#039;},&lt;br /&gt;
	[&amp;#039;acts&amp;#039;] = {&amp;#039;actsoftheapostles&amp;#039;},&lt;br /&gt;
	[&amp;#039;romans&amp;#039;] = {&amp;#039;rom&amp;#039;},&lt;br /&gt;
	[&amp;#039;1_corinthians&amp;#039;] = {&amp;#039;1cor&amp;#039;},&lt;br /&gt;
	[&amp;#039;2_corinthians&amp;#039;] = {&amp;#039;2cor&amp;#039;},&lt;br /&gt;
	[&amp;#039;galatians&amp;#039;] = {&amp;#039;gal&amp;#039;},&lt;br /&gt;
	[&amp;#039;ephesians&amp;#039;] = {&amp;#039;eph&amp;#039;},&lt;br /&gt;
	[&amp;#039;philippians&amp;#039;] = {&amp;#039;phil&amp;#039;},&lt;br /&gt;
	[&amp;#039;colossians&amp;#039;] = {&amp;#039;col&amp;#039;},&lt;br /&gt;
	[&amp;#039;1_thessalonians&amp;#039;] = {&amp;#039;1thess&amp;#039;, &amp;#039;1thes&amp;#039;},&lt;br /&gt;
	[&amp;#039;2_thessalonians&amp;#039;] = {&amp;#039;2thess&amp;#039;, &amp;#039;2thes&amp;#039;},&lt;br /&gt;
	[&amp;#039;1_timothy&amp;#039;] = {&amp;#039;1tim&amp;#039;, &amp;#039;1tm&amp;#039;},&lt;br /&gt;
	[&amp;#039;2_timothy&amp;#039;] = {&amp;#039;2tim&amp;#039;, &amp;#039;2tm&amp;#039;},&lt;br /&gt;
	[&amp;#039;titus&amp;#039;] = {&amp;#039;ti&amp;#039;},&lt;br /&gt;
	[&amp;#039;philemon&amp;#039;] = {&amp;#039;philem&amp;#039;, &amp;#039;phlm&amp;#039;},&lt;br /&gt;
	[&amp;#039;hebrews&amp;#039;] = {&amp;#039;heb&amp;#039;},&lt;br /&gt;
	[&amp;#039;james&amp;#039;] = {&amp;#039;jas&amp;#039;},&lt;br /&gt;
	[&amp;#039;1_peter&amp;#039;] = {&amp;#039;1pet&amp;#039;, &amp;#039;1pt&amp;#039;},&lt;br /&gt;
	[&amp;#039;2_peter&amp;#039;] = {&amp;#039;2pet&amp;#039;, &amp;#039;2pt&amp;#039;},&lt;br /&gt;
	[&amp;#039;1_john&amp;#039;] = {&amp;#039;1jn&amp;#039;},&lt;br /&gt;
	[&amp;#039;2_john&amp;#039;] = {&amp;#039;2jn&amp;#039;},&lt;br /&gt;
	[&amp;#039;3_john&amp;#039;] = {&amp;#039;3jn&amp;#039;},&lt;br /&gt;
	[&amp;#039;jude&amp;#039;] = {&amp;#039;jude&amp;#039;},&lt;br /&gt;
	[&amp;#039;revelation&amp;#039;] = {&amp;#039;rev&amp;#039;, &amp;#039;apocalypse&amp;#039;, &amp;#039;apoc&amp;#039;, &amp;#039;rv&amp;#039;},&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local apoc = {&lt;br /&gt;
	[&amp;#039;1_esdras&amp;#039;] = true, [&amp;#039;2_esdras&amp;#039;] = true, [&amp;#039;judith&amp;#039;] = true, [&amp;#039;1_maccabees&amp;#039;] = true,&lt;br /&gt;
	[&amp;#039;2_maccabees&amp;#039;] = true, [&amp;#039;3_maccabees&amp;#039;] = true, [&amp;#039;4_maccabees&amp;#039;] = true,&lt;br /&gt;
	[&amp;#039;prayer_of_manasseh&amp;#039;] = true, [&amp;#039;susanna&amp;#039;] = true, [&amp;#039;tobit&amp;#039;] = true,&lt;br /&gt;
	[&amp;#039;wisdom_of_solomon&amp;#039;] = true, [&amp;#039;prayer_of_azariah&amp;#039;] = true, [&amp;#039;rest_of_esther&amp;#039;] = true,&lt;br /&gt;
	[&amp;#039;bel_and_the_dragon&amp;#039;] = true, [&amp;#039;epistle_of_jeremiah&amp;#039;] = true,&lt;br /&gt;
	[&amp;#039;sirach&amp;#039;] = true, [&amp;#039;ecclesiasticus&amp;#039;] = true,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
--these books only have one chapter, have to be handled differently&lt;br /&gt;
local no_chapters = {&lt;br /&gt;
	[&amp;#039;obadiah&amp;#039;] = true, [&amp;#039;epistle_of_jeremiah&amp;#039;] = true, [&amp;#039;prayer_of_azariah&amp;#039;] = true,&lt;br /&gt;
	[&amp;#039;susanna&amp;#039;] = true, [&amp;#039;bel_and_the_dragon&amp;#039;] = true, [&amp;#039;prayer_of_manasseh&amp;#039;] = true,&lt;br /&gt;
	[&amp;#039;philemon&amp;#039;] = true, [&amp;#039;2_john&amp;#039;] = true, [&amp;#039;3_john&amp;#039;] = true, [&amp;#039;jude&amp;#039;] = true,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
--sets the website to be used for each version, biblegateway is the fallback so don&amp;#039;t define any for it&lt;br /&gt;
local site_tbl = {&lt;br /&gt;
	nrsv = &amp;#039;oremus&amp;#039;, nrsvae = &amp;#039;oremus&amp;#039;,&lt;br /&gt;
	kjv = &amp;#039;wikisource&amp;#039;, asv = &amp;#039;wikisource&amp;#039;, wyc = &amp;#039;wikisource&amp;#039;, ws = &amp;#039;wikisource&amp;#039;, web = &amp;#039;wikisource&amp;#039;,&lt;br /&gt;
	he = &amp;#039;mechon_mamre&amp;#039;, jps = &amp;#039;mechon_mamre&amp;#039;,&lt;br /&gt;
	niv = &amp;#039;biblica&amp;#039;, nivuk = &amp;#039;biblica&amp;#039;, nirv = &amp;#039;biblica&amp;#039;,&lt;br /&gt;
	nab = &amp;#039;usccb&amp;#039;,&lt;br /&gt;
	bb = &amp;#039;bible_hub&amp;#039;, bbc = &amp;#039;bible_hub&amp;#039;, bbl = &amp;#039;bible_hub&amp;#039;, opb = &amp;#039;bible_hub&amp;#039;,&lt;br /&gt;
	esv = &amp;#039;esv_bible&amp;#039;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
--pattern for the url of each site using _book etc. (underscore then letters [a-z]) for variables&lt;br /&gt;
local urlpat_tbl = {&lt;br /&gt;
	oremus = &amp;#039;https://bible.oremus.org/?passage=_book%20_vrange&amp;amp;version=_version&amp;#039;,&lt;br /&gt;
	wikisource = &amp;#039;s:Bible (_version)/_book#_schap:_svers&amp;#039;,&lt;br /&gt;
	mechon_mamre = &amp;#039;https://mechon-mamre.org/_version_book_schap.htm#_svers&amp;#039;,&lt;br /&gt;
	biblica = &amp;#039;https://www.biblica.com/bible/?osis=_version:_book%20_vrange&amp;#039;,&lt;br /&gt;
	usccb = &amp;#039;https://bible.usccb.org/bible/_book/_schap?_svers&amp;#039;,&lt;br /&gt;
	biblegateway = &amp;#039;https://www.biblegateway.com/passage/?search=_book+_vrange&amp;amp;version=_version&amp;#039;,&lt;br /&gt;
	bible_hub = &amp;#039;https://_version/_book/_schap-_svers.htm&amp;#039;,&lt;br /&gt;
	esv_bible = &amp;#039;https://www.esv.org/_book+_schap:_svers&amp;#039;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
--changes book name to use in url for each site, only if necessary&lt;br /&gt;
local site_book_tbl = {&lt;br /&gt;
	oremus = {&lt;br /&gt;
		[&amp;#039;epistle_of_jeremiah&amp;#039;] = &amp;#039;letter of jeremiah&amp;#039;,&lt;br /&gt;
	},&lt;br /&gt;
	usccb = {&lt;br /&gt;
		[&amp;#039;song_of_solomon&amp;#039;] = &amp;#039;song_of_songs&amp;#039;,&lt;br /&gt;
		[&amp;#039;wisdom_of_solomon&amp;#039;] = &amp;#039;wisdom&amp;#039;,&lt;br /&gt;
		[&amp;#039;ecclesiasticus&amp;#039;] = &amp;#039;sirach&amp;#039;,&lt;br /&gt;
	},&lt;br /&gt;
	mechon_mamre = {&lt;br /&gt;
		[&amp;#039;genesis&amp;#039;] = &amp;#039;01&amp;#039;, [&amp;#039;exodus&amp;#039;] = &amp;#039;02&amp;#039;, [&amp;#039;leviticus&amp;#039;] = &amp;#039;03&amp;#039;,&lt;br /&gt;
		[&amp;#039;numbers&amp;#039;] = &amp;#039;04&amp;#039;, [&amp;#039;deuteronomy&amp;#039;] = &amp;#039;05&amp;#039;, [&amp;#039;joshua&amp;#039;] = &amp;#039;06&amp;#039;,&lt;br /&gt;
		[&amp;#039;judges&amp;#039;] = &amp;#039;07&amp;#039;, [&amp;#039;1_samuel&amp;#039;] = &amp;#039;08a&amp;#039;, [&amp;#039;2_samuel&amp;#039;] = &amp;#039;08b&amp;#039;,&lt;br /&gt;
		[&amp;#039;1_kings&amp;#039;] = &amp;#039;09a&amp;#039;, [&amp;#039;2_kings&amp;#039;] = &amp;#039;09b&amp;#039;, [&amp;#039;isaiah&amp;#039;] = &amp;#039;10&amp;#039;,&lt;br /&gt;
		[&amp;#039;jeremiah&amp;#039;] = &amp;#039;11&amp;#039;, [&amp;#039;ezekiel&amp;#039;] = &amp;#039;12&amp;#039;, [&amp;#039;hosea&amp;#039;] = &amp;#039;13&amp;#039;,&lt;br /&gt;
		[&amp;#039;joel&amp;#039;] = &amp;#039;14&amp;#039;, [&amp;#039;amos&amp;#039;] = &amp;#039;15&amp;#039;, [&amp;#039;obadiah&amp;#039;] = &amp;#039;16&amp;#039;, [&amp;#039;jonah&amp;#039;] = &amp;#039;17&amp;#039;,&lt;br /&gt;
		[&amp;#039;micah&amp;#039;] = &amp;#039;18&amp;#039;, [&amp;#039;nahum&amp;#039;] = &amp;#039;19&amp;#039;, [&amp;#039;habakkuk&amp;#039;] = &amp;#039;20&amp;#039;,&lt;br /&gt;
		[&amp;#039;zephaniah&amp;#039;] = &amp;#039;21&amp;#039;, [&amp;#039;haggai&amp;#039;] = &amp;#039;22&amp;#039;, [&amp;#039;zechariah&amp;#039;] = &amp;#039;23&amp;#039;,&lt;br /&gt;
		[&amp;#039;malachi&amp;#039;] = &amp;#039;24&amp;#039;, [&amp;#039;1_chronicles&amp;#039;] = &amp;#039;25a&amp;#039;, [&amp;#039;2_chronicles&amp;#039;] = &amp;#039;25b&amp;#039;,&lt;br /&gt;
		[&amp;#039;psalms&amp;#039;] = &amp;#039;26&amp;#039;, [&amp;#039;job&amp;#039;] = &amp;#039;27&amp;#039;, [&amp;#039;proverbs&amp;#039;] = &amp;#039;28&amp;#039;, [&amp;#039;ruth&amp;#039;] = &amp;#039;29&amp;#039;,&lt;br /&gt;
		[&amp;#039;song_of_solomon&amp;#039;] = &amp;#039;30&amp;#039;, [&amp;#039;ecclesiastes&amp;#039;] = &amp;#039;31&amp;#039;, [&amp;#039;lamentations&amp;#039;] = &amp;#039;32&amp;#039;,&lt;br /&gt;
		[&amp;#039;esther&amp;#039;] = &amp;#039;33&amp;#039;, [&amp;#039;daniel&amp;#039;] = &amp;#039;34&amp;#039;, [&amp;#039;ezra&amp;#039;] = &amp;#039;35a&amp;#039;, [&amp;#039;nehemiah&amp;#039;] = &amp;#039;35b&amp;#039;,&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
--changes to the version name to be used in urls, only if necessary&lt;br /&gt;
local site_version_tbl = {&lt;br /&gt;
	mechon_mamre = {&lt;br /&gt;
		he = &amp;#039;p/pt/pt&amp;#039;,&lt;br /&gt;
		jps = &amp;#039;e/et/et&amp;#039;,&lt;br /&gt;
	},&lt;br /&gt;
	wikisource = {&lt;br /&gt;
		kjv = &amp;#039;King James&amp;#039;, [&amp;#039;9&amp;#039;] = &amp;#039;King James&amp;#039;,&lt;br /&gt;
		asv = &amp;#039;American Standard&amp;#039;,&lt;br /&gt;
		ws = &amp;#039;Wikisource&amp;#039;,&lt;br /&gt;
		web  = &amp;#039;World English&amp;#039;,&lt;br /&gt;
		wyc = &amp;#039;Wycliffe&amp;#039;,&lt;br /&gt;
	},&lt;br /&gt;
	bible_hub = {&lt;br /&gt;
		bb = &amp;#039;biblebrowser.com&amp;#039;,&lt;br /&gt;
		bbc = &amp;#039;biblecommenter.com&amp;#039;,&lt;br /&gt;
		bbl = &amp;#039;scripturetext.com&amp;#039;,&lt;br /&gt;
		opb = &amp;#039;bible.cc&amp;#039;,&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local function trimArg(text)&lt;br /&gt;
	if type(text) == &amp;#039;string&amp;#039; then&lt;br /&gt;
		text = text:match(&amp;#039;(%S.-)%s*$&amp;#039;)  --trimmed text or nil if empty&lt;br /&gt;
	end&lt;br /&gt;
	return text&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function valueExists(tbl, value)&lt;br /&gt;
	for _, v in pairs(tbl) do&lt;br /&gt;
		if value == v then&lt;br /&gt;
			return true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return false&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function titlecase(arg)&lt;br /&gt;
	-- http://grammar.yourdictionary.com/capitalization/rules-for-capitalization-in-titles.html&lt;br /&gt;
	-- recommended by The U.S. Government Printing Office Style Manual:&lt;br /&gt;
	-- &amp;#039;Capitalize all words in titles of publications and documents,&lt;br /&gt;
	-- except a, an, the, at, by, for, in, of, on, to, up, and, as, but, or, and nor.&amp;#039;&lt;br /&gt;
	local alwayslower = {&lt;br /&gt;
		[&amp;#039;a&amp;#039;] = true, [&amp;#039;an&amp;#039;] = true, [&amp;#039;the&amp;#039;] = true,&lt;br /&gt;
		[&amp;#039;and&amp;#039;] = true, [&amp;#039;but&amp;#039;] = true, [&amp;#039;or&amp;#039;] = true, [&amp;#039;for&amp;#039;] = true,&lt;br /&gt;
		[&amp;#039;nor&amp;#039;] = true, [&amp;#039;on&amp;#039;] = true, [&amp;#039;in&amp;#039;] = true, [&amp;#039;at&amp;#039;] = true, [&amp;#039;to&amp;#039;] = true,&lt;br /&gt;
		[&amp;#039;from&amp;#039;] = true, [&amp;#039;by&amp;#039;] = true, [&amp;#039;of&amp;#039;] = true, [&amp;#039;up&amp;#039;] = true,&lt;br /&gt;
	}&lt;br /&gt;
	local words = mw.text.split(mw.text.trim(arg or &amp;#039;&amp;#039;), &amp;#039;_&amp;#039;)&lt;br /&gt;
	for i, s in ipairs(words) do&lt;br /&gt;
		s = string.lower(s)&lt;br /&gt;
		if i &amp;gt; 1 then&lt;br /&gt;
			if not alwayslower[s] then&lt;br /&gt;
				s = mw.getContentLanguage():ucfirst(s)&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			s = mw.getContentLanguage():ucfirst(s)&lt;br /&gt;
		end&lt;br /&gt;
		words[i] = s&lt;br /&gt;
	end&lt;br /&gt;
	return table.concat(words, &amp;#039;_&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local targs = frame:getParent().args&lt;br /&gt;
	local args = {}&lt;br /&gt;
	for _, param in ipairs({1, 2, 3, 4, 5, &amp;#039;nobook&amp;#039;, &amp;#039;wlink&amp;#039;, &amp;#039;multi&amp;#039;}) do&lt;br /&gt;
		args[param] = trimArg(targs[param])&lt;br /&gt;
	end&lt;br /&gt;
	local default_version = &amp;#039;nrsv&amp;#039;&lt;br /&gt;
	local input_book = &amp;#039;&amp;#039;&lt;br /&gt;
	local ref = &amp;#039;&amp;#039;&lt;br /&gt;
	local version = &amp;#039;&amp;#039;&lt;br /&gt;
	local version_num&lt;br /&gt;
	local text = &amp;#039;&amp;#039;&lt;br /&gt;
	local wikilink = &amp;#039;&amp;#039;&lt;br /&gt;
	local mainspace = mw.title.getCurrentTitle():inNamespaces(0)&lt;br /&gt;
	if args[1] == nil or args[2] == nil or tonumber(args[1]) ~= nil then&lt;br /&gt;
		-- first argument is a numeric prefix and second is book name&lt;br /&gt;
		input_book = trimArg((args[1] or &amp;#039;&amp;#039;) .. &amp;#039; &amp;#039; .. (args[2] or &amp;#039;&amp;#039;)) or &amp;#039;&amp;#039;&lt;br /&gt;
		wikilink = trimArg((args[1] or &amp;#039;Book of&amp;#039;) .. &amp;#039; &amp;#039; .. (args[2] or &amp;#039;&amp;#039;)) or &amp;#039;&amp;#039;&lt;br /&gt;
		ref = args[3] or &amp;#039;&amp;#039;&lt;br /&gt;
		version = mw.ustring.lower(args[4] or default_version)&lt;br /&gt;
		text = args[5] or trimArg((input_book .. &amp;#039; &amp;#039; .. ref)) or &amp;#039;&amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		-- first argument is the whole book name&lt;br /&gt;
		input_book = args[1] or &amp;#039;&amp;#039;&lt;br /&gt;
		wikilink = &amp;#039;Book of &amp;#039; .. args[1]&lt;br /&gt;
		ref = args[2] or &amp;#039;&amp;#039;&lt;br /&gt;
		version = mw.ustring.lower(args[3] or default_version)&lt;br /&gt;
		text = args[4] or (input_book .. &amp;#039; &amp;#039; .. ref)&lt;br /&gt;
	end&lt;br /&gt;
	if args.nobook == &amp;#039;yes&amp;#039; then&lt;br /&gt;
		text = ref&lt;br /&gt;
	end&lt;br /&gt;
	if args.wlink == &amp;#039;yes&amp;#039; then&lt;br /&gt;
		text = ref&lt;br /&gt;
		wikilink = &amp;#039;[[&amp;#039; .. wikilink .. &amp;#039;|&amp;#039; .. input_book .. &amp;#039;]] &amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		wikilink = &amp;#039;&amp;#039;	&lt;br /&gt;
	end&lt;br /&gt;
	if args.multi == &amp;#039;yes&amp;#039; then&lt;br /&gt;
		local linktext = text:gsub(&amp;#039; &amp;#039;, &amp;#039;+&amp;#039;)&lt;br /&gt;
		return &amp;#039;[https://www.biblegateway.com/passage/?search=&amp;#039; .. linktext .. &amp;#039;&amp;amp;version=NRSV&amp;#039; .. &amp;#039; &amp;#039; .. text .. &amp;#039;]&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	text = text:gsub(&amp;#039;-&amp;#039;, &amp;#039;–&amp;#039;)  --change hyphens to en dashes (3:2-5 → 3:2–5)&lt;br /&gt;
&lt;br /&gt;
	if tonumber(version) then&lt;br /&gt;
		version = version_num_codes[tonumber(version)] or version&lt;br /&gt;
		version_num = true&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local errors = {}&lt;br /&gt;
	if version == &amp;#039;jpr&amp;#039; or version == &amp;#039;jp&amp;#039; then  --chabad doesn&amp;#039;t work so reroute&lt;br /&gt;
		version = &amp;#039;he&amp;#039;&lt;br /&gt;
		if mainspace then&lt;br /&gt;
			table.insert(errors, &amp;#039;[[Category:Pages with Bible version errors]]&amp;#039;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local book = input_book:gsub(&amp;#039;%p&amp;#039;, &amp;#039;&amp;#039;):gsub(&amp;#039; &amp;#039;, &amp;#039;_&amp;#039;)&lt;br /&gt;
	book = mw.ustring.lower(book)&lt;br /&gt;
&lt;br /&gt;
	local book_found = false&lt;br /&gt;
	local standard = book:gsub(&amp;#039;_&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
	for full_book, aliases in pairs(book_aliases) do&lt;br /&gt;
		if standard == full_book:gsub(&amp;#039;_&amp;#039;, &amp;#039;&amp;#039;) or valueExists(aliases, standard) then&lt;br /&gt;
			book = full_book&lt;br /&gt;
			book_found = true&lt;br /&gt;
			break&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local site = site_tbl[version] or &amp;#039;biblegateway&amp;#039;    --fall back on biblegateway for unrecognized version because it has so many versions&lt;br /&gt;
&lt;br /&gt;
	if apoc[book] and version == &amp;#039;nrsv&amp;#039; and site == &amp;#039;oremus&amp;#039; then  --oremus&amp;#039;s nrsv doesn&amp;#039;t have the apocrypha&lt;br /&gt;
		version = &amp;#039;nrsvae&amp;#039;  --the anglicized version does&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local urlpat = urlpat_tbl[site]&lt;br /&gt;
&lt;br /&gt;
	local split_ref = mw.text.split(ref, &amp;#039;[-–—]&amp;#039;)       --split the ref into the part before and after the dash/hyphen&lt;br /&gt;
	local s_ref = mw.text.split(split_ref[1], &amp;#039;%p&amp;#039;)     --any punctuation can be used to separate chapter from verse&lt;br /&gt;
	local e_ref = split_ref[2] or split_ref[1]&lt;br /&gt;
	e_ref = mw.text.split(e_ref, &amp;#039;%p&amp;#039;)&lt;br /&gt;
	for i, v in ipairs(s_ref) do s_ref[i] = v:gsub(&amp;#039;%D&amp;#039;, &amp;#039;&amp;#039;) end  --remove any non-numeric character (such as f)&lt;br /&gt;
	for i, v in ipairs(e_ref) do e_ref[i] = v:gsub(&amp;#039;%D&amp;#039;, &amp;#039;&amp;#039;) end&lt;br /&gt;
&lt;br /&gt;
	local e_chap, e_vers, s_chap, s_vers&lt;br /&gt;
	local chapter_only = not s_ref[2]&lt;br /&gt;
	if no_chapters[book] then&lt;br /&gt;
		chapter_only = false&lt;br /&gt;
		s_chap = 1&lt;br /&gt;
		s_vers = s_ref[2] or s_ref[1] or 1   --verse 3 can be specified as &amp;quot;3&amp;quot; or &amp;quot;1:3&amp;quot;&lt;br /&gt;
		e_chap = 1&lt;br /&gt;
		e_vers = e_ref[2] or e_ref[1] or 1&lt;br /&gt;
	else&lt;br /&gt;
		s_chap = s_ref[1] or 1&lt;br /&gt;
		s_vers = s_ref[2] or 1&lt;br /&gt;
		if e_ref[2] or not s_ref[2] then     --chapter-chapter or chapter(:verse)?-chapter:verse&lt;br /&gt;
			e_chap = e_ref[1] or s_chap&lt;br /&gt;
		else                                 --chapter:verse-verse&lt;br /&gt;
			e_chap = s_chap&lt;br /&gt;
		end&lt;br /&gt;
		e_vers = e_ref[2] or e_ref[1] or s_vers&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if type(site_book_tbl[site]) == &amp;#039;table&amp;#039; then&lt;br /&gt;
		book = site_book_tbl[site][book] or book&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	book = titlecase(book)  --title case looks better at oremus where they display the input&lt;br /&gt;
&lt;br /&gt;
	if site == &amp;#039;mechon_mamre&amp;#039; then    --special case handling for components of the url&lt;br /&gt;
		if not tonumber(s_chap) then  --non-numeric characters were omitted above so this may not be what was entered&lt;br /&gt;
			error(&amp;#039;Bibleverse error: start chapter should be a number&amp;#039;, 0)&lt;br /&gt;
		end&lt;br /&gt;
		s_chap = string.format(&amp;#039;%x&amp;#039;, s_chap/10) .. (s_chap % 10)&lt;br /&gt;
	elseif site == &amp;#039;biblica&amp;#039; or site == &amp;#039;oremus&amp;#039; then&lt;br /&gt;
		book = book:gsub(&amp;#039;_&amp;#039;, &amp;#039;%%20&amp;#039;)&lt;br /&gt;
	elseif site == &amp;#039;esv_bible&amp;#039; or site == &amp;#039;biblegateway&amp;#039; then&lt;br /&gt;
		book = book:gsub(&amp;#039;_&amp;#039;, &amp;#039;+&amp;#039;)&lt;br /&gt;
	elseif site == &amp;#039;bible_hub&amp;#039; then&lt;br /&gt;
		book = string.lower(book)&lt;br /&gt;
	elseif site == &amp;#039;usccb&amp;#039; then&lt;br /&gt;
		book = book:gsub(&amp;#039;_&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	if type(site_version_tbl[site]) == &amp;#039;table&amp;#039; then&lt;br /&gt;
		version = site_version_tbl[site][version]&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local v_range&lt;br /&gt;
	if chapter_only then&lt;br /&gt;
		if e_chap == s_chap then&lt;br /&gt;
			v_range = s_chap&lt;br /&gt;
		else&lt;br /&gt;
			v_range = s_chap .. &amp;#039;–&amp;#039; .. e_chap&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		if e_chap == s_chap and e_vers == s_vers then&lt;br /&gt;
			v_range = s_chap ..&amp;#039;:&amp;#039; .. s_vers&lt;br /&gt;
		elseif e_chap == s_chap then&lt;br /&gt;
			v_range = s_chap .. &amp;#039;:&amp;#039; .. s_vers .. &amp;#039;–&amp;#039; .. e_vers&lt;br /&gt;
		else&lt;br /&gt;
			v_range = s_chap .. &amp;#039;:&amp;#039; .. s_vers .. &amp;#039;–&amp;#039; .. e_chap .. &amp;#039;:&amp;#039; .. e_vers&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local url = urlpat:gsub(&amp;#039;_%l+&amp;#039;, {  --get the components into the url&lt;br /&gt;
					_book    = book,&lt;br /&gt;
					_schap   = s_chap,&lt;br /&gt;
					_svers   = s_vers,&lt;br /&gt;
					_echap   = e_chap,&lt;br /&gt;
					_evers   = e_vers,&lt;br /&gt;
					_vrange  = v_range,&lt;br /&gt;
					_version = version,&lt;br /&gt;
				})&lt;br /&gt;
&lt;br /&gt;
	local fulllink&lt;br /&gt;
	if site == &amp;#039;wikisource&amp;#039; then  --interwikilink&lt;br /&gt;
		fulllink = wikilink .. &amp;#039;[[&amp;#039; .. url .. &amp;#039;|&amp;#039; .. text .. &amp;#039;]]&amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		fulllink = wikilink .. &amp;#039;[&amp;#039; .. url .. &amp;#039; &amp;#039; .. text .. &amp;#039;]&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if mainspace then&lt;br /&gt;
		if not book_found then&lt;br /&gt;
			table.insert(errors, &amp;#039;&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Template:Bibleverse with invalid book&amp;lt;/span&amp;gt;[[Category:Pages with Bible book errors]]&amp;#039;)&lt;br /&gt;
		end&lt;br /&gt;
		if version_num then&lt;br /&gt;
			table.insert(errors, &amp;#039;[[Category:Pages with numeric Bible version references]]&amp;#039;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return fulllink .. table.concat(errors)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;Hike395</name></author>
	</entry>
</feed>