This module depends on the following other modules: |
The pages listed in this category are templates.
This page is part of OODA WIKI's administration and not part of the encyclopedia.
Further template category notes
This category contains pages in the template namespace. It should not be used to categorize articles or pages in other namespaces. To add a template to this category:
|
This category is an index of templates which use TemplateStyles. It is automatically populated by {{Uses TemplateStyles}}.
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(args[1] or 'example phrase')
local short_module_args = {
class = 'template-search plainlinks',
make_link('https://ooda.wiki/w/index.php?title=Special:Search&search=' .. search_phrase_encoded, 'OODA WIKI', '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 plainlinks',
make_link('https://ooda.wiki/w/index.php?title=Special:Search&search=' .. search_phrase_encoded, 'OODA WIKI', 'wp'),
make_link('https://www.google.com/search?q=site%3AOODA WIKI.org+' .. search_phrase_encoded, 'OODA WIKI 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%3AOODA WIKI.org+' .. search_phrase_encoded, 'OODA WIKI 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/styles.css' }
} .. '(' .. list .. ')'
end
return p