Home
Random
Recent changes
Special pages
Community portal
Preferences
About Stockhub
Disclaimers
Search
User menu
Talk
Contributions
Create account
Log in
Editing
Module:Good Articles
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 = {} p.main = function (frame) local NNN = 2 -- provide counts only over this threshold local args = require("Module:Arguments").getArgs(frame) -- expect args.shortcut e.g. GA/H, args.type e.g. History, args.text a long list local subpage = frame:preprocess("{{SUBPAGENAME}}") -- I never did look up if there's a better way to do this... local header = "" local shortcuts = "" local type = args.type or "error: specify type = Good Articles type" local image = '' if args.image then image = '[[' .. args.image .. '|22px|left]]' end local sectioncount = 0 if (subpage == type or args.override) then -- I haven't figured out how to deal with missing shortcut so why pretend shortcuts = frame:expandTemplate{ title = 'shortcut', args = { args.shortcut } } header = frame:expandTemplate{ title = 'Wikipedia:Good articles/header', args = { shortcuts = shortcuts } } end local introtext = args.text or '' replace = function(t) local xxxx, links = mw.ustring.gsub(t, "(%[%[[^%[%]]-%]%])", "%1", nil) -- count how many links if links >= NNN then t = t .. "<small> (" .. tostring(links) .. " articles)</small>" end return t .. "\n" end local sectionfooter = [===[ </div> </div> <!-- end of list -->]===] -- comments in the text below are historical from the page's own markup local output = header .. [===[<!-- only include header on this page --> __NOTOC__ <div style="clear:both;"> <!-- DO NOT REMOVE THIS DIV, USED TO FORCE IE TO DISPLAY BACKGROUND FOR ARTS DIV --> </div> <div style="clear:both;"> <span id="]===] .. type .. [===[" ></span> <div style="padding:5px 5px 8px 5px; background-color:#66CC66; text-align:left; font-size:larger;">]===] .. image .. [===[''']===] .. type .. [===['''</div> <div style="text-align:left;"> </div> </div> ]===] .. introtext local section = 0 local finaltext = '' repeat local wrap = true section = section + 1 local text = (args['section' .. tostring(section)] or args[section] or '') local title = args['title' .. tostring(section)] if (not title) then if (text == '') then break else local wrap = false output = output .. text -- sections without headers go in unwrapped end else local image = args['image' .. tostring(section)] text = mw.ustring.gsub(text .. "\n=", "(==.-)\n%s*%f[=]", replace) text = mw.ustring.sub(text,1,-2) -- ditching "=" mark from line above if (image) then image = '[[' .. image .. '|22px|left]]' else image = '' -- make section without an image end output = output .. [===[<div class="mw-collapsible" style="clear:both;padding: 4px;border: 1px solid #a2a9b1;font-size: 95%;"> <div style="padding:2px 2px 2px 30px; background-color:#FFFAF0; font-size:larger;font-weight: bold;">]===] .. image .. title .. [===[</div> <div class="mw-collapsible-content" style="font-size: 100%"> ==­ == ]===] .. text .. sectionfooter end until false return output end function p.subsection(frame) if not mw.ustring.find( (frame.args[1] or frame:getParent().args[1] or '') ,'[[',1,true) then return '<small>(0 articles)</small>' else local linkList, count = mw.ustring.gsub(mw.text.trim(frame.args[1] or frame:getParent().args[1]), '\n', ' β\n') return linkList .. '<small> (' .. (count + 1) .. ' article' .. ( (count ~= 0) and 's' or '') .. ')</small>' end 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)
Template used on this page:
Module:Good Articles/doc
(
edit
)