Permanently protected module
From Wikipedia, the free encyclopedia


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(args1]) or trimArg(args.id)

  if not id then

    local bestP1938 = mw.wikibase.getBestStatements(mw.wikibase.getEntityIdForCurrentPage(), 'P1938')[1

    if bestP1938 and bestP1938.mainsnak.snaktype == 'value' then

      id = bestP1938.mainsnak.datavalue.value

      local entity = mw.wikibase.getEntityObject() or {}

      tagline = tagline .. " [[File:OOjs UI icon edit-ltr-progressive.svg |frameless |text-top |10px |alt=Edit this at Wikidata |link=https://www.wikidata.org/wiki/" .. entity.id .. "#P1938|Edit this at Wikidata]]" 

    else

      error("Parameter id is missing. See [[Template:" .. tname .. "]] documentation")

    end

  end 

  if tonumber(id) then -- it's a number

    urlhead = urlheadnumb

  else

    urlhead = urlheadname

    id = mw.ustring.gsub(id," ", "+")

  end



  -- Argument |name=

  name = trimArg(args2]) 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 .. " Works by " .. 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(args1]) or trimArg(args.id)

  if not id then

    error("Parameter id is missing. See [[Template:" .. tname .. "]] documentation")

  end 



  -- Argument |name=

  name = trimArg(args2]) 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 = "Works by "

      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]] (Canada)"

  local italic   = "''"



  -- Argument |id=

  id = trimArg(args1]) or trimArg(args.id)

  if not id then

    error("Parameter id is missing. See [[Template:" .. tname .. "]] documentation")

  end 



  -- Argument |name=

  name = trimArg(args2]) 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 = "Works by "

      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
Permanently protected module
From Wikipedia, the free encyclopedia


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(args1]) or trimArg(args.id)

  if not id then

    local bestP1938 = mw.wikibase.getBestStatements(mw.wikibase.getEntityIdForCurrentPage(), 'P1938')[1

    if bestP1938 and bestP1938.mainsnak.snaktype == 'value' then

      id = bestP1938.mainsnak.datavalue.value

      local entity = mw.wikibase.getEntityObject() or {}

      tagline = tagline .. " [[File:OOjs UI icon edit-ltr-progressive.svg |frameless |text-top |10px |alt=Edit this at Wikidata |link=https://www.wikidata.org/wiki/" .. entity.id .. "#P1938|Edit this at Wikidata]]" 

    else

      error("Parameter id is missing. See [[Template:" .. tname .. "]] documentation")

    end

  end 

  if tonumber(id) then -- it's a number

    urlhead = urlheadnumb

  else

    urlhead = urlheadname

    id = mw.ustring.gsub(id," ", "+")

  end



  -- Argument |name=

  name = trimArg(args2]) 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 .. " Works by " .. 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(args1]) or trimArg(args.id)

  if not id then

    error("Parameter id is missing. See [[Template:" .. tname .. "]] documentation")

  end 



  -- Argument |name=

  name = trimArg(args2]) 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 = "Works by "

      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]] (Canada)"

  local italic   = "''"



  -- Argument |id=

  id = trimArg(args1]) or trimArg(args.id)

  if not id then

    error("Parameter id is missing. See [[Template:" .. tname .. "]] documentation")

  end 



  -- Argument |name=

  name = trimArg(args2]) 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 = "Works by "

      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

Videos

Youtube | Vimeo | Bing

Websites

Google | Yahoo | Bing

Encyclopedia

Google | Yahoo | Bing

Facebook