Open main menu
Home
Random
Donate
Recent changes
Special pages
Community portal
Preferences
About Stockhub
Disclaimers
Search
User menu
Talk
Contributions
Create account
Log in
Editing
Module:Top 25 report
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
local p = {} require('strict') local Date = require('Module:Date')._Date local function range(date) local date2 = date + 6 if date2:text("%Y") ~= date:text("%Y") then return date:text("%B %-d, %Y") .. " to " .. date2:text("%B %-d, %Y") else if not (date2:text("%B") == date:text("%B")) then return date:text("%B %-d") .. " to " .. date2:text("%B %-d, %Y") else return date:text("%B %-d") .. " to " .. date2:text("%-d, %Y") end end end local function line(date) local link = "[[Wikipedia:Top 25 Report/" local range = range(date) link = link .. range .. "|" .. range .. "]]" return link end local function userLink(username) return string.format("[[User:%s|%s]]", username, username) end p.list = function(frame) local text = "This article has been viewed enough times in a single week to appear in the [[Wikipedia:Top 25 Report|Top 25 Report]]" frame = frame:getParent() local args = frame.args local list = {} local date local isUntil = false local errors = {} for parameter, dateStr in pairs(frame.args) do dateStr = mw.text.trim(dateStr) if string.lower(dateStr) == "until" then isUntil = true elseif parameter == "collapse" then -- Ignore the collapse parameter else local index = string.find(dateStr,'(',1,true) local place = "" if index then place = string.sub(dateStr,index+1,-2) dateStr = string.sub(dateStr,0,index-1) end local newDate = Date(dateStr) if newDate == nil then table.insert(errors, dateStr) else if isUntil then isUntil = false date = date + 7 while date < newDate do table.insert(list, line(date)) date = date + 7 end end date = newDate local entry = line(date) if place ~= "" then entry = entry .. " (" .. place .. ")" end table.insert(list, entry) end end end local count = #list list.style = "display:inline-block" list = require("Module:List").makeList("horizontal", list) if count == 0 then text = text .. "." text = text .. list elseif count == 1 then list = " The week in which this happened: " .. list text = text .. "." text = text .. list elseif (args["collapse"] == "yes" or (args["collapse"] == nil and count >= 10)) then text = text .. " '''" .. tostring(count) .. "''' times." text = '<div class="mw-collapsible mw-collapsed"><div>' .. text .. ' The weeks in which this happened:</div><div class="mw-collapsible-content">'.. list .. '</div></div>' else list = " The weeks in which this happened: " .. list text = text .. " '''" .. tostring(count) .. "''' times." text = text .. list end if mw.title.getCurrentTitle().namespace == 1 then text = text .. "[[Category:Pages in the Wikipedia Top 25 Report]]" end if #errors > 0 then text = text .. "\n\n<big><span style=\"color:red\">'''The following dates couldn't be parsed:'''</span></big>\n#" text = text .. table.concat(errors,"\n#") .. "\n" end return require('Module:Message box').main( 'tmbox', { text = text, image = "[[File:Article blue.svg|35px|link=|alt=]]" }) end p.header = function(frame) local text = frame:expandTemplate{title = "Wikipedia:Top 25 Report/Template:Header", args = {}} text = text .. "__NOTOC__\n" if mw.title.getCurrentTitle().subpageText == "Report header" then return text end frame = frame:getParent() local date = Date(frame.args[1]) text = text .. '<div style="height:10px;clear:both;"></div>\n' text = text .. "== Most Popular Wikipedia Articles of the Week (" text = text .. range(date) .. ") ==\n" local count = 0 for index, nameStr in pairs(frame.args) do if not (index == 1) then count = count + 1 end end if count > 0 then text = text .. "''Prepared with commentary by " if count == 1 then text = text .. userLink(frame.args[2]) elseif count == 2 then text = text .. userLink(frame.args[2]) .. " and " .. userLink(frame.args[3]) else local i = 2 while i <= count do text = text .. userLink(frame.args[i]) .. ", " i = i + 1 end text = text .. " and " .. userLink(frame.args[count+1]) end end local key = " " text = text .. "''\n\nβ [[Wikipedia:Top 25 Report/" if frame.args[1] == "January 6, 2013" then text = text .. "December 2012|December 2012 monthly report]]" else text = text .. range(date-7) .. "|Last week's report]]" end if mw.title.getCurrentTitle().subpageText ~= "Top 25 Report" then text = text .. " β [[Wikipedia:Top 25 Report/" .. range(date+7) .. "|Next week's report]] β" key = "Top 25 " .. date:text("%Y%m%d") end if mw.title.getCurrentTitle().namespace == 4 then text = text .. "[[Category:Wikipedia Top 25 Report|" .. key .. "]]" end return text end return p
Summary:
Please note that all contributions to Stockhub may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Stockhub:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Templates used on this page:
Template:Lua
(
edit
)
Template:Tl
(
edit
)
Module:Top 25 report/doc
(
edit
)