Jump to content
Wikipedia The Free Encyclopedia

Module:Toolbar

From Wikipedia, the free encyclopedia
Module documentation[view] [edit] [history] [purge]
[画像:Warning] This Lua module is used in system messages, and on approximately 1,380,000 pages, or roughly 2% of all pages.
Changes to it can cause immediate changes to the Wikipedia user interface.
To avoid major disruption and server load, any changes should be tested in the module's /sandbox or /testcases subpages, or in your own module sandbox. The tested changes can be added to this page in a single edit. Please discuss changes on the talk page before implementing them.
[画像:Ready for use] This module is rated as ready for general use. It has reached a mature form and is thought to be relatively bug-free and ready for use wherever appropriate. It is ready to mention on help pages and other Wikipedia resources as an option for new users to learn. To reduce server load and bad output, it should be improved by sandbox testing rather than repeated trial-and-error editing.
[画像:Protected] This module is subject to page protection. It is a highly visible module in use by a very large number of pages, or is substituted very frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is protected from editing.
This module depends on the following other modules:

This module implements {{toolbar }}. Please see the template page for documentation.

See also

The above documentation is transcluded from Module:Toolbar/doc. (edit | history)
Editors can experiment in this module's sandbox (edit | diff) and testcases (edit | run) pages.
Subpages of this module.

 -- This module implements {{toolbar}}.

 local mArguments -- Lazily initialise [[Module:Arguments]]
 local mTableTools = require('Module:TableTools')
 local yesno = require('Module:Yesno')

 local p = {}

 function p.main(frame)
	mArguments = require('Module:Arguments')
	local args = mArguments.getArgs(frame)
	return p._main(args)
 end

 function p._main(args)
	local toolbarItems = p.makeToolbarItems(args)
	if not toolbarItems then
		-- Return the blank string if no arguments were specified, rather than
		-- returning empty brackets.
		return ''
	elseif yesno(args.span) == false then
		return string.format(
			'(%s)',
			toolbarItems
		)
	else
		return string.format(
			'<span class="plainlinks%s"%s>(%s)</span>',
			type(args.class) == 'string' and ' ' .. args.class or '',
			type(args.style) == 'string' and string.format(' style="%s"', args.style) or '',
			toolbarItems
		)
	end
 end

 function p.makeToolbarItems(args)
	local nums = mTableTools.numKeys(args)
	local sep = (args.separator or 'pipe') .. '-separator'
	sep = mw.message.new(sep):plain()
	local ret = {}
	for i, v in ipairs(nums) do
		ret[#ret + 1] = mw.ustring.gsub(args[v], "%[%[::+(.-)%]%]", "[[:%1]]")
	end
	if #ret > 0 then
		return table.concat(ret, sep)
	else
		return nil
	end
 end

 return p

AltStyle によって変換されたページ (->オリジナル) /