Модуль:Поиск

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Документация
local p = {}

local links = {}
links['g']  = {'[[Google (поисковая система)|Google]]', 'https://www.google.ru/search?complete=1&hl=ru&q='    }
links['gb'] = {'[[Google Книги]]',                      'https://www.google.com/search?tbm=bks&q='            }
links['gn'] = {'[[Google Новости]]',                    'https://www.google.ru/search?tbm=nws&q='             }
links['gs'] = {'[[Академия Google|Google Scholar]]',    'https://scholar.google.ru/scholar?hl=ru&q='          }
links['г']  = {'[[Грамота.ру]]',                        'http://new.gramota.ru/spravka/buro/search-answer/?s='}
links['я']  = {'[[Яндекс]]',                            'https://yandex.ru/yandsearch?text='                  }
links['яз'] = {'Запросы в [[Яндекс]]е',                 'https://wordstat.yandex.ru/#!/?words='               }
links['ян'] = {'[[Новости (Дзен)]], бывшие Яндекс.Новости',   'https://dzen.ru/news/search?issue_tld=ru&text='      }

function p.main(frame)
	result = ''
	sources = frame.args['поставщики']
	if sources == '' then
		sources = 'g, gb, я, яз, ян' --для совместимости со старой версией
	end
    for source in mw.text.gsplit(sources, ',') do
    	name = mw.text.trim(source)
    	result = string.format('%s\n|-\n|\'\'\'%s:\'\'\'', result, links[name][1])
    	for key, value in pairs(frame.args) do
    		if type(key) == 'number' and value ~= '' then
    			result = string.format('%s%s [%s%s %s]', result, (key > 1 and ' •' or ''), links[name][2], mw.uri.encode(value), value)
    		end
    	end
    end
    return result
end

return p