Jump to content

Module:InterPro content: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
beginText for easier future editing
m colon, .hlist-separated
Line 1: Line 1:
local getArgs = require('Module:Arguments').getArgs
local getArgs = require('Module:Arguments').getArgs


local beginText = 'This article incorporates text from the public domain [[Pfam]] and [[InterPro]]'
local beginText = 'This article incorporates text from the public domain [[Pfam]] and [[InterPro]]: '


local p = {}
local p = {}
Line 11: Line 11:
local function renderList(args)
local function renderList(args)
local listRoot = mw.html.create('ul')
local listRoot = mw.html.create('ul')
:addClass('hlist')
:addClass('hlist hlist-separated')
:css('display', 'inline')
:css('display', 'inline')
:css('margin', 0)
:css('margin', 0)
Line 30: Line 30:
return '<div class="error">[[Module:InterPro content]]: required argument 1 is missing</div>'
return '<div class="error">[[Module:InterPro content]]: required argument 1 is missing</div>'
elseif not args[2] then
elseif not args[2] then
return '<div role="note" style="font-style: italic;">' .. beginText .. ' ' .. interproLink(args[1]) .. '</div>'
return '<div role="note" style="font-style: italic;">' .. beginText .. interproLink(args[1]) .. '</div>'
else
else
return '<div role="note" style="font-style: italic;">' .. beginText .. ' ' .. renderList(args) .. '</div>'
return '<div role="note" style="font-style: italic;">' .. beginText .. renderList(args) .. '</div>'
end
end
end
end

Revision as of 22:13, 30 August 2018

local getArgs = require('Module:Arguments').getArgs

local beginText = 'This article incorporates text from the public domain [[Pfam]] and [[InterPro]]: '

local p = {}

local function interproLink(entry)
	return '[https://www.ebi.ac.uk/interpro/entry/' .. entry .. ' ' .. entry .. ']'
end

local function renderList(args)
	local listRoot = mw.html.create('ul')
		:addClass('hlist hlist-separated')
		:css('display', 'inline')
		:css('margin', 0)

    for _, e in ipairs(args) do
		listRoot
			:tag('li')
				:wikitext(interproLink(e))
    end

	return tostring(listRoot)
end

function p.main(frame)
	local args = getArgs(frame)

	if not args[1] then
		return '<div class="error">[[Module:InterPro content]]: required argument 1 is missing</div>'
    elseif not args[2] then
		return '<div role="note" style="font-style: italic;">' .. beginText .. interproLink(args[1]) .. '</div>'
	else
		return '<div role="note" style="font-style: italic;">' .. beginText .. renderList(args) .. '</div>'
	end
end

return p