Module:Gutenberg

local p = {}
 
function p.author(frame)
  
  local pframe = frame:getParent()
  local args = pframe.args
 
  local tname = "Gutenberg author"                                 -- 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  = "at [[Project Gutenberg]]"
  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("Parameter id is missing. See [[Template:" .. tname .. "]] documentation")
  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 = "[" .. urlhead .. id .. " Warks bi " .. name .. "] " .. tagline

  return url

end

function p.Australia(frame)
  
  local pframe = frame:getParent()
  local args = pframe.args

  local tname = "Gutenberg Australia"                              -- 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  = "at [[Project Gutenberg Australia]]"
  local italic   = "''"

  -- Argument |id=
  id = trimArg(args[1]) or trimArg(args.id)
  if not id then
    error("Parameter id is missin. See [[Template:" .. tname .. "]] documentation")
  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 = "Warks bi "
      italic = ""
    end
  end

  -- Argument |coda=
  if trimArg(args.coda) then
    tagline = tagline .. " " .. trimArg(args.coda)
  end

  url = "[" .. urlhead .. id .. " " .. prefix .. italic .. name .. italic .. "] " .. tagline

  return url

end

function p.Canada(frame)
  
  local pframe = frame:getParent()
  local args = pframe.args

  local tname = "FadedPage"                                        -- 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  = "at [[Distributed Proofreaders Canada|Faded Page]] (Canadae)"
  local italic   = "''"

  -- Argument |id=
  id = trimArg(args[1]) or trimArg(args.id)
  if not id then
    error("Parameter id is missing. See [[Template:" .. tname .. "]] documentation")
  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 = "Warks bi "
      italic = ""
      url = "[" .. urlhead .. urlauth .. id .. " " .. prefix .. italic .. name .. italic .. "] " .. tagline
      return url
    end
  end

  url = "[" .. urlhead .. urlbook .. id .. " " .. prefix .. italic .. name .. italic .. "] " .. tagline

  return url

end

function trimArg(arg)

  if arg == "" or arg == nil then
    return nil
  else
    return mw.text.trim(arg)
  end

end

return p

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.