<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mywikibiz.com/index.php?action=history&amp;feed=atom&amp;title=Module%3AUser_script_table_row</id>
	<title>Module:User script table row - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mywikibiz.com/index.php?action=history&amp;feed=atom&amp;title=Module%3AUser_script_table_row"/>
	<link rel="alternate" type="text/html" href="https://mywikibiz.com/index.php?title=Module:User_script_table_row&amp;action=history"/>
	<updated>2026-06-19T06:01:30Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.3</generator>
	<entry>
		<id>https://mywikibiz.com/index.php?title=Module:User_script_table_row&amp;diff=479942&amp;oldid=prev</id>
		<title>Zoran: Pywikibot 6.4.0</title>
		<link rel="alternate" type="text/html" href="https://mywikibiz.com/index.php?title=Module:User_script_table_row&amp;diff=479942&amp;oldid=prev"/>
		<updated>2021-07-16T07:49:51Z</updated>

		<summary type="html">&lt;p&gt;Pywikibot 6.4.0&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local data = mw.loadData('Module:User script table row/data')&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p._main(args)&lt;br /&gt;
	local code = args.code&lt;br /&gt;
	local doc = args.doc&lt;br /&gt;
	local name = args.name&lt;br /&gt;
	local desc = args.desc&lt;br /&gt;
	&lt;br /&gt;
	if not code and not doc then&lt;br /&gt;
		return mw.html.create('tr'):tag('td'):attr('colspan', 4)&lt;br /&gt;
			:tag('span')&lt;br /&gt;
				:addClass('error')&lt;br /&gt;
				:wikitext('Error: &amp;lt;code&amp;gt;|code=&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;|doc=&amp;lt;/code&amp;gt; must be specified')&lt;br /&gt;
				:allDone()&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if not code and not args.instruction then&lt;br /&gt;
		code = doc .. '.js'&lt;br /&gt;
	end&lt;br /&gt;
	if not doc then&lt;br /&gt;
		local title = code:match('^(.+)%.[CJcj][Ss][Ss]?$')&lt;br /&gt;
		if title then&lt;br /&gt;
			title = mw.title.new(title)&lt;br /&gt;
			if not title.isExternal and title.exists then&lt;br /&gt;
				doc = title.fullText&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if not name then&lt;br /&gt;
		name = doc and mw.ustring.match(doc, '[^/]+$') or&lt;br /&gt;
			mw.ustring.match(code, '([^/]+)%.[CJcj][Ss][Ss]?$')&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local row = mw.html.create('tr')&lt;br /&gt;
	&lt;br /&gt;
	local instruction&lt;br /&gt;
	if args.instruction ~= 'no' then&lt;br /&gt;
		instruction = args.instruction&lt;br /&gt;
		if not instruction then&lt;br /&gt;
			local isGlobal = args.skin == 'global'&lt;br /&gt;
			local temp = code:find('%.[Cc][Ss][Ss]$') and 'luss' or 'lusc'&lt;br /&gt;
			if isGlobal then&lt;br /&gt;
				local interwiki = mw.title.new(code).interwiki&lt;br /&gt;
				local path = interwiki == 'meta' and code:sub(6) or&lt;br /&gt;
					interwiki == '' and 'w:' .. code or code&lt;br /&gt;
				temp = mw.getCurrentFrame():expandTemplate{&lt;br /&gt;
					title = temp, args = { path, '' }&lt;br /&gt;
				}:gsub('{{subst:localurl', '{{subst:fullurl'):gsub('%s*//.-$', '')&lt;br /&gt;
			else&lt;br /&gt;
				temp = string.format('{{subst:%s|1=%s%s}}',&lt;br /&gt;
					temp,&lt;br /&gt;
					code,&lt;br /&gt;
					args.backlink and '|2=' .. args.backlink or ''&lt;br /&gt;
				)&lt;br /&gt;
			end&lt;br /&gt;
			instruction = string.format(&lt;br /&gt;
				'\'\'\'[[%sSpecial:EditPage/Special:MyPage/%s.js|Click here]]\'\'\' and paste:&amp;lt;div&amp;gt;&amp;lt;code&amp;gt;%s&amp;lt;/code&amp;gt;&amp;lt;/div&amp;gt;',&lt;br /&gt;
				isGlobal and 'meta:' or '',&lt;br /&gt;
				args.skin or 'common',&lt;br /&gt;
				temp&lt;br /&gt;
			)&lt;br /&gt;
		end&lt;br /&gt;
		instruction = mw.html.create('')&lt;br /&gt;
			:newline()&lt;br /&gt;
			:tag('div')&lt;br /&gt;
				:addClass('mw-collapsible mw-collapsed userscripttable-instruction')&lt;br /&gt;
				:tag('div')&lt;br /&gt;
					:addClass('userscripttable-instruction-head')&lt;br /&gt;
					:wikitext('How to install')&lt;br /&gt;
					:done()&lt;br /&gt;
				:tag('div')&lt;br /&gt;
					:addClass('mw-collapsible-content')&lt;br /&gt;
					:wikitext(instruction)&lt;br /&gt;
					:done()&lt;br /&gt;
				:done()&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	do&lt;br /&gt;
		local cell = mw.html.create('td')&lt;br /&gt;
			:wikitext(doc and string.format('[[:%s|%s]]', doc, name) or name)&lt;br /&gt;
		&lt;br /&gt;
		if args.indent and args.indent:find('^%d+$') then&lt;br /&gt;
			cell:css('padding-left', args.indent .. 'em')&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if code then&lt;br /&gt;
			cell&lt;br /&gt;
				:wikitext(' ')&lt;br /&gt;
				:tag('span')&lt;br /&gt;
					:addClass('userscripttable-sourcelink')&lt;br /&gt;
					:wikitext(string.format('([[:%s|source]])', code))&lt;br /&gt;
					:done()&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if instruction and code then&lt;br /&gt;
			cell:tag('span')&lt;br /&gt;
				:addClass('scriptInstallerLink')&lt;br /&gt;
				:attr('id', code)&lt;br /&gt;
				:done()&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		row:node(cell)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	row:tag('td')&lt;br /&gt;
		:wikitext(desc)&lt;br /&gt;
		:node(instruction)&lt;br /&gt;
		:done()&lt;br /&gt;
	&lt;br /&gt;
	local stats = code and data[code] or { total = 'N/A', active = 'N/A' }&lt;br /&gt;
	row&lt;br /&gt;
		:tag('td'):wikitext(stats.total):done()&lt;br /&gt;
		:tag('td'):wikitext(stats.active)&lt;br /&gt;
	&lt;br /&gt;
	return row&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local args = {}&lt;br /&gt;
	for k, v in pairs(frame:getParent().args) do&lt;br /&gt;
		if v and v ~= '' then&lt;br /&gt;
			args[k] = v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return p._main(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Zoran</name></author>
	</entry>
</feed>