Module:Gutenberg: Difference between revisions
From Zoophilia Wiki
Jump to navigationJump to search
meta>Elegie (Use HTTPS for FadedPage links (from what it appears, the FadedPage book and author links will generate an HTTP 301 redirect to an HTTPS version of the URL when accessed with HTTP.)) |
m (25 revisions imported) |
(No difference)
|
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