پودمان:Search
-- This module implements {{search}}
local p = {}
local ll = ''
local function urlencode(text)
-- Return equivalent of {{urlencode:text}}.
local function byte(char)
return mw.ustring.format('%%%02X', mw.ustring.byte(char))
end
return mw.ustring.gsub(mw.ustring.gsub(text, '[^ %w%-._]', byte), ' ', '+')
end
local function addlink(p, u, a, t, s)
local item = ll:tag('li')
item:wikitext(p .. '[' .. u .. ' ')
item:tag('abbr')
:attr('title', a)
:wikitext(t)
item:wikitext(']' .. s)
end
function p.main(frame)
local args = require('Module:Arguments').getArgs(frame, {
wrappers = {'الگو:Search', 'الگو:جستجو'}
})
local ss = args[1] or 'عبارت نمونه'
local ssenc = urlencode(ss)
local long = (args.long or args['طولانی'] or '') ~= ''
local ret = mw.html.create('div')
:addClass('template-search')
:addClass('plainlist')
:addClass('plainlinks')
ll = ret:tag('ul')
addlink('(', '//fa.wikipedia.org/w/index.php?title=Special:Search&search=' .. ssenc, 'ویکیپدیا', 'وپ', ' ')
if long then
addlink('', 'https://www.google.com/search?q=site%3Awikipedia.org+' .. ssenc, 'ویکیپدیا در گوگل', 'گوپ', ' ')
end
addlink('', 'https://www.google.com/search?q=' .. ssenc, 'گوگل', 'گ', ' ')
if long then
addlink('', 'https://www.bing.com/search?q=site%3Awikipedia.org+' .. ssenc, 'ویکیپدیا در بینگ', 'بوپ', ' ')
addlink('', 'https://www.bing.com/search?q=' .. ssenc, 'بینگ', 'ب', ' | ')
addlink('', 'https://www.britannica.com/search?nop&query=' .. ssenc, 'دانشنامه بریتانیکا', 'دب', ' ')
addlink('', 'https://www.bartleby.com/cgi-bin/texis/webinator/65search?query=' .. ssenc, 'دانشنامه کلمبیا', 'ک', ' ')
addlink('', 'https://www.google.com/search?q=site%3Ahttp%3A%2F%2Fwww.pcmag.com%2Fencyclopedia_term%2F+' .. ssenc, 'دانشنامه مجله پیسی در گوگل', 'گدپ', ' ')
addlink('', 'https://scienceworld.wolfram.com/search/index.cgi?as_q=' .. ssenc, 'جهان دانش', 'جد', ' ')
addlink('', 'https://archive.org/search.php?query=' .. ssenc, 'بایگانی اینترنت', 'با', ' ')
addlink('', 'https://babel.hathitrust.org/cgi/ls?field1=ocr;q1=' .. ssenc .. ';a=srchls;lmt=ft', 'هاتیتراست', 'هت', ')')
else
addlink('', 'https://www.bing.com/search?q=' .. ssenc, 'بینگ', 'ب', ')')
end
return frame:extensionTag{
name = 'templatestyles', args = { src = 'پودمان:Search/styles.css' }
} .. tostring(ret)
end
return p