local p = {}   function p.author(frame)      local pframe = frame:getParent()   local args = pframe.args     local tname = "গুটেনবের্গ লেখক"                                 -- name of calling template. Change if template is renamed.     local id       = nil                                             -- author name, or number. Name goes to search page, number goes direct to author page    local name     = nil                                             -- display name on Wikipedia (default: article title)   local url      = nil   local tagline  = "গুটেনবের্গ প্রকল্পে"   local urlheadname  = "https://www.gutenberg.org/author/"             local urlheadnumb  = "https://www.gutenberg.org/ebooks/author/"    local urlhead  = nil    -- Argument |id=   id = trimArg(args[1]) or trimArg(args.id)   if not id then     error("প্যারামিটার id অনুপস্থিত। টেমপ্লেট:" .. tname .. "-এর নথি দেখুন")   else     if tonumber(id) then -- it's a number       urlhead = urlheadnumb     else       urlhead = urlheadname       id = mw.ustring.gsub(id," ", "+")     end   end     -- Argument |name=   name = trimArg(args[2]) or trimArg(args.name)   if not name then     name = mw.title.getCurrentTitle().text:gsub('%s+%([^%(]-%)$', ) -- Current page name without the final parentheses   end    -- Argument |coda=   if trimArg(args.coda) then     tagline = tagline .. " " .. trimArg(args.coda)   end    url = tagline .. " [" .. urlhead .. id .. " " .. name .. "-এর সাহিত্যকর্ম ও রচনাবলী] (ইংরেজি)"    return url  end  function p.Australia(frame)      local pframe = frame:getParent()   local args = pframe.args    local tname = "গুটেনবের্গ অস্ট্রেলিয়া"                              -- name of calling template. Change if template is renamed.     local id       = nil                                             -- ID. eg. http://gutenberg.net.au/plusfifty-n-z.html#shanks .. the ID = plusfifty-n-z.html#shanks                                                                    -- ID is the same for linking an individual book title, or all books by the author.   local name     = nil                                             -- display name on Wikipedia (default: article title)   local author   = nil                                             -- flag if an author (default: no)   local url      = nil   local urlhead  = "http://gutenberg.net.au/"   local prefix   = ""   local tagline  = "প্রকল্প গুটেনবের্গ অস্ট্রেলিয়ায়"   local italic   = ""    -- Argument |id=   id = trimArg(args[1]) or trimArg(args.id)   if not id then     error("প্যারামিটার id অনুপস্থিত। টেমপ্লেট:" .. tname .. "-এর নথি দেখুন")   end     -- Argument |name=   name = trimArg(args[2]) or trimArg(args.name)   if not name then     name = mw.title.getCurrentTitle().text:gsub('%s+%([^%(]-%)$', ) -- Current page name without the final parentheses   end    -- Argument |author=   author = trimArg(args.author)   if author then     if mw.ustring.lower(author) == "yes" then       prefix = "-এর সাহিত্যকর্ম ও রচনাবলী"       italic = ""     end   end    -- Argument |coda=   if trimArg(args.coda) then     tagline = tagline .. " " .. trimArg(args.coda)   end    url = tagline .. "[" .. urlhead .. id .. " " .. italic .. name .. italic .. prefix .. "] (ইংরেজি)"    return url  end  function p.Canada(frame)      local pframe = frame:getParent()   local args = pframe.args    local tname = "ফেডেড পেজ"                                        -- name of calling template. Change if template is renamed.     local id       = nil                                             -- ID for author, eg. http://fadedpage.com/csearch.php?author=Shortt%2C%20Adam .. the id = Shortt, Adam                                                                    -- ID for book titles, eg. http://fadedpage.com/showbook.php?pid=20160704 .. the id = 20160704   local name     = nil                                             -- display name on Wikipedia (default: article title)   local author   = nil                                             -- flag if an author (default: no)   local url      = nil   local urlhead  = "https://fadedpage.com/"   local urlbook  = "showbook.php?pid="   local urlauth  = "csearch.php?author="   local prefix   = ""   local tagline  = "ফেডেড পেজে (কানাডা)"   local italic   = ""    -- Argument |id=   id = trimArg(args[1]) or trimArg(args.id)   if not id then     error("প্যারামিটার id অনুপস্থিত। টেমপ্লেট:" .. tname .. "-এর নথি দেখুন")   end     -- Argument |name=   name = trimArg(args[2]) or trimArg(args.name)   if not name then     name = mw.title.getCurrentTitle().text:gsub('%s+%([^%(]-%)$', '') -- Current page name without the final parentheses   end    -- Argument |author=   author = trimArg(args.author)   if author then     if mw.ustring.lower(author) == "yes" then       id = mw.uri.encode( id, "PATH" )                                -- handle spaces within id argument string       prefix = "-এর সাহিত্যকর্ম ও রচনাবলী"       italic = ""       url = tagline .. " [" .. urlhead .. urlauth .. id .. " " .. italic .. name .. italic .. prefix .. "] (ইংরেজি)"       return url     end   end    url = tagline .. " [" .. urlhead .. urlbook .. id .. " " .. italic .. name .. italic .. prefix .. "] (ইংরেজি)"    return url  end  function trimArg(arg)    if arg == "" or arg == nil then     return nil   else     return mw.text.trim(arg)   end  end  return p