Module:BibleQuote: Difference between revisions

From BibleVerseWiki
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(frame)
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(frame.args[1], "%s-(.+)%s+(%d+):(%d+)-(%d+)")
         string.find(verseSpec, "%s-(.+)%s+(%d+):(%d+)-(%d+)")
     local verses = {}
     local verses = {}


     if stopVerse == nil then
     if stopVerse == nil then
         return frame:expandTemplate{title = frame.args[1]}  
         return renderVerse(frame:expandTemplate{title = verseSpec})
     end
     end
      
      
     for i = startVerse, stopVerse, 1 do
     for i = startVerse, stopVerse, 1 do
         local verse = frame:expandTemplate{title = book.." "..chapter..":"..i}  
         table.insert(verses, renderVerse(frame:expandTemplate{title = book.." "..chapter..":"..i}))         
 
        table.insert(verses, verse)         
     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 p.standard(frame)
local function addVerseNumber(verse, number)
     local result = verses(frame)
     return (string.gsub(verse, "^", ""))
end


     if not frame.args.showPilcrow or frame.args.showPilcrow == nil then
local function addChapterNumber(verse, number)
        return removePilcrow(result)
     return (string.gsub(verse, "^", ""))
    end
end


     return result
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