Module:Gutenberg: Difference between revisions
From Zoophilia Wiki
Jump to navigationJump to search
meta>GreenC No edit summary |
m 25 revisions imported |
||
(21 intermediate revisions by 4 users not shown) | |||
Line 6: | Line 6: | ||
local args = pframe.args | local args = pframe.args | ||
local tname = "Gutenberg author" -- name of calling template. Change if template is renamed. | local tname = "Gutenberg author" -- name of calling template. Change if template is renamed. | ||
local id = nil -- author name, or | 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 name = nil -- display name on Wikipedia (default: article title) | ||
local url = nil | local url = nil | ||
local tagline = "at [[Project Gutenberg]]" | local tagline = "at [[Project Gutenberg]]" | ||
local urlheadname = "//www.gutenberg.org/author/" | local urlheadname = "https://www.gutenberg.org/author/" | ||
local urlheadnumb = "//www.gutenberg.org/ebooks/author/" | local urlheadnumb = "https://www.gutenberg.org/ebooks/author/" | ||
local urlhead = nil | 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 | else | ||
if tonumber(id) then -- it's a number | |||
if tonumber( | |||
urlhead = urlheadnumb | urlhead = urlheadnumb | ||
else | else | ||
urlhead = urlheadname | urlhead = urlheadname | ||
id = mw.ustring.gsub(id," ", "+") | |||
end | end | ||
end | end | ||
-- Argument |name= | |||
name = mw.title.getCurrentTitle().text | 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 | end | ||
url = "[" .. urlhead .. id .. " Works by " .. name .. "] " .. tagline | url = "[" .. urlhead .. id .. " Works by " .. name .. "] " .. tagline | ||
return url | 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 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 | |||
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(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 = "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 | end | ||
return p | return p |
Latest revision as of 04:28, 3 September 2020
Documentation for this module may be created at Module:Gutenberg/doc
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 .. " 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(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
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(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 = "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