Module:BibleQuote: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
local p = {} --p stands for package | local p = {} --p stands for package | ||
local function verses( | local function renderVerse(verse, showPilcrow) | ||
return showPilcrow and verse or removePilcrow(verse) | |||
end | |||
local function verses(verseSpec, showPilcrow) | |||
local _, _, book, chapter, startVerse, stopVerse = | local _, _, book, chapter, startVerse, stopVerse = | ||
string.find( | string.find(verseSpec, "%s-(.+)%s+(%d+):(%d+)-(%d+)") | ||
local verses = {} | local verses = {} | ||
if stopVerse == nil then | if stopVerse == nil then | ||
return frame:expandTemplate{title = | return renderVerse(frame:expandTemplate{title = verseSpec}) | ||
end | end | ||
for i = startVerse, stopVerse, 1 do | for i = startVerse, stopVerse, 1 do | ||
table.insert(verses, renderVerse(frame:expandTemplate{title = book.." "..chapter..":"..i})) | |||
end | end | ||
return table.concat(verses, " ") | return table.concat(verses, " ") | ||
end | end | ||
local function removePilcrow(verse) | local function removePilcrow(verse) | ||
return (string.gsub(verse, "¶", "")) | return (string.gsub(verse, "¶", "")) | ||
end | end | ||
function | local function addVerseNumber(verse, number) | ||
return (string.gsub(verse, "^", "")) | |||
end | |||
local function addChapterNumber(verse, number) | |||
return (string.gsub(verse, "^", "")) | |||
end | |||
return | function p.standard(frame) | ||
return verses(frame.args[1], frame.args.showPilcrow or false) | |||
end | end | ||
return p | return p |
Revision as of 21:15, 8 December 2023
Documentation for this module may be created at Module:BibleQuote/doc
local p = {} --p stands for package
local function renderVerse(verse, showPilcrow)
return showPilcrow and verse or removePilcrow(verse)
end
local function verses(verseSpec, showPilcrow)
local _, _, book, chapter, startVerse, stopVerse =
string.find(verseSpec, "%s-(.+)%s+(%d+):(%d+)-(%d+)")
local verses = {}
if stopVerse == nil then
return renderVerse(frame:expandTemplate{title = verseSpec})
end
for i = startVerse, stopVerse, 1 do
table.insert(verses, renderVerse(frame:expandTemplate{title = book.." "..chapter..":"..i}))
end
return table.concat(verses, " ")
end
local function removePilcrow(verse)
return (string.gsub(verse, "¶", ""))
end
local function addVerseNumber(verse, number)
return (string.gsub(verse, "^", ""))
end
local function addChapterNumber(verse, number)
return (string.gsub(verse, "^", ""))
end
function p.standard(frame)
return verses(frame.args[1], frame.args.showPilcrow or false)
end
return p