Module:RSPTest: Difference between revisions – Wikipedia

 

Line 3: Line 3:

local p = {}

local p = {}

— Module entry point for generating a row

function p._row(args)

— Check for optional name qualifiers

local row_text =

local =

if args.name_qualifier then

local name_qualifier = args.name_qualifier:gsub(“^%((.+)%)$”, “%1”) — remove data-provided brackets for italic reason

qualifier = qualifier .. ” <small>(”” .. name_qualifier .. “”)</small>”

end

if args.content_qualifier then

qualifier = qualifier .. ” ” .. args.content_qualifier

end

— Create shortcut if it exists

local shortcut_text = “”

end

— gather RSN links

local rsn_links = {}

if args.rsnl then

for j, rsn in ipairs(args.rsnl) do

local archive = rsn.notice_id and “/Archive ” .. rsn.notice_id or “”

local rsn_link = “[[WP:Reliable sources/Noticeboard” .. archive .. “#” .. rsn.notice_title .. “|” .. (rsn.notice_year or rsn.notice_title) .. “]]”

if rsn.rfc then

rsn_link = “[[File:Treffpunkt.svg|20px|Request for comment|link=]]&nbsp;” .. rsn_link

end

end

rsn_links[j] = rsn_link

” || ” .. row.rsp_last ..

” || ” .. row.summary ..

end

end

end

— Put it all together

local row_text =

“| ” .. args.name .. qualifier .. shortcut_text ..

” || ” .. table.concat(rsn_links, ” “) ..

local frame = mw.getCurrentFrame()

end

return row_text

end

— Template entry point for generating a row

— (Not perfectly supported right now, e.g. RSN entries require a table format)

function p.row(frame)

local args = require(“Module:Arguments”).getArgs(frame)

return p._row(args)

end

end

end

return table.concat(out, “\n”)

return table.concat(out, “\n”)

local data = mw.loadData('Module:RSdata5/data')

local p = {}

-- Module entry point for generating a row
function p._row(args)
	-- Check for optional name qualifiers
	local qualifier = ""
	if args.name_qualifier then
		local name_qualifier = args.name_qualifier:gsub("^%((.+)%)$", "%1") -- remove data-provided brackets for italic reason
		qualifier = qualifier .. " <small>(''" .. name_qualifier .. "'')</small>"
	end
	if args.content_qualifier then
		qualifier = qualifier .. " " .. args.content_qualifier
	end
	
	-- Create shortcut if it exists
	local shortcut_text = ""
	if args.shortcut then
		shortcut_text = '<br />[[' .. args.shortcut .. '|<span class=wp-rsp-sc2>' .. args.shortcut .. '</span>]]'
	end
	
	-- gather RSN links
	local rsn_links = {}
	if args.rsnl then
		for j, rsn in ipairs(args.rsnl) do
			local archive = rsn.notice_id and "/Archive " .. rsn.notice_id or ""
			local rsn_link = "[[WP:Reliable sources/Noticeboard" .. archive .. "#" .. rsn.notice_title .. "|" .. (rsn.notice_year or rsn.notice_title) .. "]]"
			if rsn.rfc then
				rsn_link = "[[File:Treffpunkt.svg|20px|Request for comment|link=]]&nbsp;" .. rsn_link
			end
			rsn_links[j] = rsn_link
		end
	end
	
	-- Put it all together
	local row_text = 
		"|- class=\"s-" .. args.status .. "\" id=\"" .. "\n" ..
		"| " .. args.name .. qualifier .. shortcut_text .. 
		" || " .. args.status .. 
		" || " .. table.concat(rsn_links, " ") ..
		" || " .. args.rsp_last ..
		" || " .. args.summary ..
		" || " -- domain info to go here

	-- Mark deprecated entries with a <section> tag
	if args.status == "d" then
		local frame = mw.getCurrentFrame()
		local section_begin = frame:extensionTag({name="section", args={begin="deprecated"}})
		local section_end = frame:extensionTag({name="section", args={['end']="deprecated"}})
		row_text = section_begin .. "\n" .. row_text .. "\n" .. section_end
	end

	return row_text
end

-- Template entry point for generating a row
-- (Not perfectly supported right now, e.g. RSN entries require a table format)
function p.row(frame)
	local args = require("Module:Arguments").getArgs(frame)
	return p._row(args)
end

function p.main(frame)
	local out = {}
	for i, row in ipairs(data) do
		table.insert(out, p._row(row))
	end
	return table.concat(out, "\n")
end

return p

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top