From Wikipedia, the free encyclopedia

-- This module implements {{search}}

local p = {}



local function urlencode(text)

	-- Return equivalent of {{urlencode:text}}.

	local function byte(char)

		return string.format('%%%02X', string.byte(char))

	end

	return text:gsub('[^ %w%-._]', byte):gsub(' ', '+')

end



local function make_link(url, expansion, display_text, after)

	return mw.ustring.format(

		'[%s <abbr title="%s">%s</abbr>]%s',

		url,

		expansion,

		display_text,

		after or ''

	)

end



function p.main(frame)

	local args = require('Module:Arguments').getArgs(frame, {

		wrappers = 'Template:Search'

	})



	local search_phrase_encoded = urlencode(args1 or 'example phrase')

	local short_module_args = {

		class = 'template-search-sand plainlinks',

		make_link('//en.wikipedia.org/?title=Special:Search&search=' .. search_phrase_encoded, 'Wikipedia', 'wp'),

		make_link('https://www.google.com/search?q=' .. search_phrase_encoded, 'Google', 'g'),

		make_link('https://www.bing.com/search?q=' .. search_phrase_encoded, 'Bing', 'b'),

	}

	local long_module_args = {

		class = 'template-search-sand plainlinks',

		make_link('//en.wikipedia.org/?title=Special:Search&search=' .. search_phrase_encoded, 'Wikipedia', 'wp'),

		make_link('https://www.google.com/search?q=site%3Awikipedia.org+' .. search_phrase_encoded, 'Wikipedia over Google', 'gwp'),

		make_link('https://www.google.com/search?q=' .. search_phrase_encoded, 'Google', 'g'),

		make_link('https://www.bing.com/search?q=site%3Awikipedia.org+' .. search_phrase_encoded, 'Wikipedia over Bing', 'bwp'),

		make_link('https://www.bing.com/search?q=' .. search_phrase_encoded, 'Bing', 'b', ' |'),

		make_link('https://www.britannica.com/search?nop&query=' .. search_phrase_encoded, 'Encyclopaedia Britannica', 'eb'),

		make_link('https://www.bartleby.com/cgi-bin/texis/webinator/65search?query=' .. search_phrase_encoded, 'Columbia Encyclopedia', 'co'),

		make_link('https://www.google.com/search?q=site%3Ahttp%3A%2F%2Fwww.pcmag.com%2Fencyclopedia_term%2F+' .. search_phrase_encoded, 'PC Magazine Encyclopedia over Google', 'gct'),

		make_link('https://scienceworld.wolfram.com/search/index.cgi?as_q=' .. search_phrase_encoded, 'World of Science', 'sw'),

		make_link('https://archive.org/search.php?query=' .. search_phrase_encoded, 'Internet Archive', 'arc'),

		make_link('https://babel.hathitrust.org/cgi/ls?field1=ocr;q1=' .. search_phrase_encoded .. ';a=srchls;lmt=ft', 'HathiTrust', 'ht'),	

	}

	

	local long = (args.long or '') ~= ''

	local ubl = require('Module:List').unbulleted

	local list = ubl(long and long_module_args or short_module_args)

	return frame:extensionTag{

		name = 'templatestyles', args = { src = 'Module:Search/sandbox/styles.css' }

	} .. '(' .. list .. ')'

end



return p
From Wikipedia, the free encyclopedia

-- This module implements {{search}}

local p = {}



local function urlencode(text)

	-- Return equivalent of {{urlencode:text}}.

	local function byte(char)

		return string.format('%%%02X', string.byte(char))

	end

	return text:gsub('[^ %w%-._]', byte):gsub(' ', '+')

end



local function make_link(url, expansion, display_text, after)

	return mw.ustring.format(

		'[%s <abbr title="%s">%s</abbr>]%s',

		url,

		expansion,

		display_text,

		after or ''

	)

end



function p.main(frame)

	local args = require('Module:Arguments').getArgs(frame, {

		wrappers = 'Template:Search'

	})



	local search_phrase_encoded = urlencode(args1 or 'example phrase')

	local short_module_args = {

		class = 'template-search-sand plainlinks',

		make_link('//en.wikipedia.org/?title=Special:Search&search=' .. search_phrase_encoded, 'Wikipedia', 'wp'),

		make_link('https://www.google.com/search?q=' .. search_phrase_encoded, 'Google', 'g'),

		make_link('https://www.bing.com/search?q=' .. search_phrase_encoded, 'Bing', 'b'),

	}

	local long_module_args = {

		class = 'template-search-sand plainlinks',

		make_link('//en.wikipedia.org/?title=Special:Search&search=' .. search_phrase_encoded, 'Wikipedia', 'wp'),

		make_link('https://www.google.com/search?q=site%3Awikipedia.org+' .. search_phrase_encoded, 'Wikipedia over Google', 'gwp'),

		make_link('https://www.google.com/search?q=' .. search_phrase_encoded, 'Google', 'g'),

		make_link('https://www.bing.com/search?q=site%3Awikipedia.org+' .. search_phrase_encoded, 'Wikipedia over Bing', 'bwp'),

		make_link('https://www.bing.com/search?q=' .. search_phrase_encoded, 'Bing', 'b', ' |'),

		make_link('https://www.britannica.com/search?nop&query=' .. search_phrase_encoded, 'Encyclopaedia Britannica', 'eb'),

		make_link('https://www.bartleby.com/cgi-bin/texis/webinator/65search?query=' .. search_phrase_encoded, 'Columbia Encyclopedia', 'co'),

		make_link('https://www.google.com/search?q=site%3Ahttp%3A%2F%2Fwww.pcmag.com%2Fencyclopedia_term%2F+' .. search_phrase_encoded, 'PC Magazine Encyclopedia over Google', 'gct'),

		make_link('https://scienceworld.wolfram.com/search/index.cgi?as_q=' .. search_phrase_encoded, 'World of Science', 'sw'),

		make_link('https://archive.org/search.php?query=' .. search_phrase_encoded, 'Internet Archive', 'arc'),

		make_link('https://babel.hathitrust.org/cgi/ls?field1=ocr;q1=' .. search_phrase_encoded .. ';a=srchls;lmt=ft', 'HathiTrust', 'ht'),	

	}

	

	local long = (args.long or '') ~= ''

	local ubl = require('Module:List').unbulleted

	local list = ubl(long and long_module_args or short_module_args)

	return frame:extensionTag{

		name = 'templatestyles', args = { src = 'Module:Search/sandbox/styles.css' }

	} .. '(' .. list .. ')'

end



return p

Videos

Youtube | Vimeo | Bing

Websites

Google | Yahoo | Bing

Encyclopedia

Google | Yahoo | Bing

Facebook