Документация

Функции

править

F=«Песочница/Менделеевец99/FIO2»;
FI=«»;
FIO=«»;

d_i=1:j=1,j=2,j=3,j=4,

Примеры

править

PageInfo=«page "Модуль:Песочница/Менделеевец99/FIO2" exists.

fullUrl=//ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:%D0%9F%D0%B5%D1%81%D0%BE%D1%87%D0%BD%D0%B8%D1%86%D0%B0/%D0%9C%D0%B5%D0%BD%D0%B4%D0%B5%D0%BB%D0%B5%D0%B5%D0%B2%D0%B5%D1%8699/FIO2

partialUrl=%D0%9F%D0%B5%D1%81%D0%BE%D1%87%D0%BD%D0%B8%D1%86%D0%B0/%D0%9C%D0%B5%D0%BD%D0%B4%D0%B5%D0%BB%D0%B5%D0%B5%D0%B2%D0%B5%D1%8699/FIO2

localUrl=/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:%D0%9F%D0%B5%D1%81%D0%BE%D1%87%D0%BD%D0%B8%D1%86%D0%B0/%D0%9C%D0%B5%D0%BD%D0%B4%D0%B5%D0%BB%D0%B5%D0%B5%D0%B2%D0%B5%D1%8699/FIO2

canonicalUrl=https://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:%D0%9F%D0%B5%D1%81%D0%BE%D1%87%D0%BD%D0%B8%D1%86%D0%B0/%D0%9C%D0%B5%D0%BD%D0%B4%D0%B5%D0%BB%D0%B5%D0%B5%D0%B2%D0%B5%D1%8699/FIO2

getContent=<nowiki>-------------------------------------------------------------------------------- -- Module:FIO2 configuration data -- -- This page holds localization and configuration data for Module:FIO2. --


local cfg = {} -- Don't edit this line.


-- Start configuration data --


cfg.templates = {'[сС]писок однофамильцев.т[ёе]зок','[сС]писок однофамильцев', '[сС]писок т[ёе]зок','[сС]писок полных т[ёе]зок','[нН]еоднозначность[^}]*[оО]днофамильцы', '[нН]еоднозначность[^}]*[фФ]амилии','[мМ]ногозначность[^}]*[оО]днофамильцы', '[мМ]ногозначность[^}]*[фФ]амилии','[dD]isambig[^}]*[оО]днофамильцы', '[dD]isambig[^}]*[фФ]амилии' } cfg.utochn={, 'значения', 'фамилия', 'персоналии'}


-- End configuration data --


-- Load config. --local cfg = mw.loadData('Module:Песочница/Менделеевец99/FIO2/config') local page={ --object, ['Title']=, ['FIO']=, ['FI']=, ['F']=, ['Type']= --[[ []=, []=, []= --]] } local function lIsDisambig(name) local d='d_' local Disambig --local r=false local t=cfg.templates if name== then return r end local title = mw.title.new(name) if title.exists then if not title.isRedirect then local fullContent = title:getContent() local i for i=1,#t do d=d..tostring(i)..':' Disambig = mw.ustring.match(fullContent, '\{\{'..t[i]) if Disambig~=nil then break end end end end return Disambig, d end; local function lF (title)

   local s=title
   local n=mw.ustring.find(s,',',1,true) or 0
   if (n>0) then s=mw.ustring.sub(s, 1, n-1) end
   return s

end; local function lFI (title)

   local t=mw.text.split(title,' ',true)
   local st
   if #t>1 then st=t[1]..' '..t[2] else st= end
   return st 

end; local function Title2FIO (title) local st=title local n=mw.ustring.find(title,' (',1,true) or 0

   if (n>0) then st=mw.ustring.sub(st, 1, n-1) end
   st=mw.text.trim(st)

return st end local function lFIO (title)

   local st=title
   local n=mw.ustring.find(st,' (',1,true) or 0
   if (n>0) then st=mw.ustring.sub(st, 1, n-1) end
   st=mw.text.trim(st)
   local t=mw.text.split(st,' ',true)
   if #t<3 then st= end
   return st

end; local function Names(Title) local t= {}; local s=lF(Title) if s~= then t[#t+1]=s end s=lFI(Title) if s~= then t[#t+1]=s end s=lFIO(Title) if s~= then t[#t+1]=s end return t end local function NamesD(Names) local d='d_' local r={} local i, s, u local ut=cfg.utochn for i=1,#Names do s=Names[i] d=d..'i='..tostring(i)..':' local j for j=1,#ut do u=ut[j] if u~= then u=' ('..u..')' end s=s..u d=d..'j='..tostring(j)..',' if lIsDisambig(s)~=nil then r[#r+1]=s break end end end --if r[#r]==page.Title then end return r, d end local function PageInfo(Title) local s= local title = mw.title.new(Title) if title.exists then s='page "'..Title..'" exists.' s=s..'\n\nfullUrl='..title:fullUrl() s=s..'\n\npartialUrl='..title:partialUrl() s=s..'\n\nlocalUrl='..title:localUrl() s=s..'\n\ncanonicalUrl='..title:canonicalUrl() s=s..'\n\ngetContent='..'<nowiki>'..title:getContent()..'</nowiki>' --s=s..'\nid='..tostring(title.id()) --: The page_id. 0 if the page does not exist. This may be expensive, and the page will be recorded as a link. -- s=s..'\ninterwiki='..title:interwiki()--: The interwiki prefix, or the empty string if none. -- s=s..'\nnamespace='..title:namespace() --: The namespace number. -- s=s..'\nfragment='..title:fragment() --: The fragment, or the empty string. May be assigned. -- s=s..'\nnsText='..title:nsText() --: The text of the namespace for the page. -- s=s..'\nsubjectNsText='..title:subjectNsText() --: The text of the subject namespace for the page. -- s=s..'\ntext='..title:text() --: The title of the page, without the namespace or interwiki prefixes. -- s=s..'\nprefixedText='..title:prefixedText() --: The title of the page, with the namespace and interwiki prefixes.

else s='page "'..Title..'" is not exist.' end

return s end local p = { main=function (f)

   --return tFIO(f)
   local s=f.args[1]
   return PageInfo(s)

end; wikilink=function (frame)

   return "Иванов"

end; F=function (f) local s=f.args[1]

   return lF(s)

end; FI=function (f) local s=f.args[1]

  	return lFI(s)

end; FIO=function (f) local s=f.args[1]

   return lFIO(s)

end; tFIO=function (f) local a=Names(f.args[1]) local t, d= NamesD(a) local i local b=0 local r= --if r[#r]==page.Title then end if r[#r]==a then b=1 end for i=1,#t-1-b do r=r..'[['..t[i]..']]'..'; ' end if #t-b>0 then r=r..'[['..t[#t-b]..']]' end if r~= then r='В Википедии есть статьи о других людях с такой фамилией, см. '..r..'.' end

   return r..' '..d 

end; IsDisambig=function(f) local s=f.args[1] local b, d = lIsDisambig(s) if b==nil then b='nil' end if d==nil then d='nil' end return b..' '..d end; Content=function(f) local st=f.args[1] local title = mw.title.new(st) local disambig = false local fullContent = if title.exists then fullContent = title:getContent() processedContent = f:preprocess( fullContent :gsub('<noinclude>', ) :gsub('</noinclude>', ) :gsub('<onlyinclude>', ) :gsub('</onlyinclude>', )) if processedContent:match('id="disambig"') then disambig = true end end return 'fullContent =\n'..'<nowiki>'..fullContent..'</nowiki>' end; ShowTemplates= function(f) local r='{\n' local i, s local t=cfg.templates for i=1,#t-1 do s=t[i] mw.log(s) r=r..'"'..s..'", ' end r=r..'"'..s..'"\n} --'..tostring(#t)..' items.' --MsgBox('MsgBox ShowTemplates') return r end } return p</nowiki>»;
ShowTemplates=«{ "[сС]писок однофамильцев.т[ёе]зок", "[сС]писок однофамильцев", "[сС]писок т[ёе]зок", "[сС]писок полных т[ёе]зок", "[нН]еоднозначность[^}]*[оО]днофамильцы", "[нН]еоднозначность[^}]*[фФ]амилии", "[мМ]ногозначность[^}]*[оО]днофамильцы", "[мМ]ногозначность[^}]*[фФ]амилии", "[dD]isambig[^}]*[оО]днофамильцы", "[dD]isambig[^}]*[оО]днофамильцы" } --10 items.»;

Абрамова

править

F=«Абрамова»;
FI=«»;
FIO=«»;

tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Абрамова. d_i=1:j=1,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}} disambiguation=«{{неоднозначность|фамилии»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»; =«{{неоднозначность|фамилии d_1:2:3:4:5:6:»;


F=«Абрамова»;
FI=«Абрамова, Ольга»;
FIO=«»;

tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Абрамова; Абрамова, Ольга. d_i=1:j=1,i=2:j=1,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}} disambiguation=«{{список однофамильцев»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»; =«{{список однофамильцев-тёзок d_1:»;


F=«Абрамова»;
FI=«Абрамова, Ольга»;
FIO=«Абрамова, Ольга Валерьевна»;

tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Абрамова; Абрамова, Ольга. d_i=1:j=1,i=2:j=1,i=3:j=1,j=2,j=3,j=4,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}} disambiguation=«»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»; =«nil d_1:2:3:4:5:6:7:8:9:10:»;


Воробьёв

править

F=«Воробьёв»;
FI=«»;
FIO=«»;

tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Воробьёв. d_i=1:j=1,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}} disambiguation=«{{неоднозначность|фамилии»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»; =«{{неоднозначность|фамилии d_1:2:3:4:5:6:»;


F=«Воробьёв»;
FI=«Воробьёв, Иван»;
FIO=«»;

tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Воробьёв; Воробьёв, Иван. d_i=1:j=1,i=2:j=1,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}} disambiguation=«»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»; =«nil d_»;


F=«Воробьёв»;
FI=«Воробьёв, Иван»;
FIO=«»;

tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Воробьёв; Воробьёв, Иван. d_i=1:j=1,i=2:j=1,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}} disambiguation=«{{Список однофамильцев»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»; =«{{Список однофамильцев-тёзок d_1:»;


Дудник

править

F=«Дудник»;
FI=«»;
FIO=«»;

tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Дудник (значения). d_i=1:j=1,j=2,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}} disambiguation=«»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»; =«nil d_1:2:3:4:5:6:7:8:9:10:»;


F=«Дудник (значения)»;
FI=«Дудник (значения)»;
FIO=«»;

tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Дудник (значения); Дудник (значения). d_i=1:j=1,i=2:j=1,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}} disambiguation=«{{неоднозначность|фамилии»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»; =«{{неоднозначность|фамилии d_1:2:3:4:5:6:»;


F=«Дудник»;
FI=«Дудник, Андрей»;
FIO=«»;

tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Дудник (значения); Дудник, Андрей. d_i=1:j=1,j=2,i=2:j=1,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}} disambiguation=«{{список однофамильцев»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»; =«{{список однофамильцев-тёзок d_1:»;


F=«Дудник»;
FI=«Дудник, Андрей»;
FIO=«Дудник, Андрей Романович»;

tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Дудник (значения); Дудник, Андрей. d_i=1:j=1,j=2,i=2:j=1,i=3:j=1,j=2,j=3,j=4,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}} disambiguation=«»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»; =«nil d_1:2:3:4:5:6:7:8:9:10:»;


Иванов

править

F=«Иванов»;
FI=«»;
FIO=«»;

tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Иванов. d_i=1:j=1,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}} disambiguation=«{{неоднозначность|однофамильцы»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»; =«{{неоднозначность|однофамильцы d_1:2:3:4:5:»;


F=«Иванов»;
FI=«Иванов, Александр»;
FIO=«»;

tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Иванов; Иванов, Александр. d_i=1:j=1,i=2:j=1,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}} disambiguation=«{{список однофамильцев»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»; =«{{список однофамильцев-тёзок d_1:»;


F=«Иванов»;
FI=«Иванов, Александр»;
FIO=«Иванов, Александр Александрович»;

tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Иванов; Иванов, Александр; Иванов, Александр Александрович. d_i=1:j=1,i=2:j=1,i=3:j=1,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}} disambiguation=«»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»; =«nil d_1:2:3:4:5:6:7:8:9:10:»;


F=«Иванов»;
FI=«Иванов, Александр»;
FIO=«Иванов, Александр Александрович»;

tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Иванов; Иванов, Александр; Иванов, Александр Александрович. d_i=1:j=1,i=2:j=1,i=3:j=1,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}} disambiguation=«{{Список полных тёзок»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»; =«{{Список полных тёзок d_1:2:3:4:»;


Крюкова

править

F=«Крюкова»;
FI=«»;
FIO=«»;

tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Крюкова. d_i=1:j=1,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}} disambiguation=«{{список однофамильцев»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»; =«{{список однофамильцев d_1:2:»;


F=«Крюкова»;
FI=«Крюкова, Ольга»;
FIO=«»;

tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Крюкова; Крюкова, Ольга. d_i=1:j=1,i=2:j=1,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}} disambiguation=«{{Список однофамильцев»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»; =«{{Список однофамильцев-тёзок d_1:»;


F=«Крюкова»;
FI=«Крюкова, Ольга»;
FIO=«Крюкова, Ольга Петровна»;

tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Крюкова; Крюкова, Ольга. d_i=1:j=1,i=2:j=1,i=3:j=1,j=2,j=3,j=4,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}} disambiguation=«»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»; =«nil d_1:2:3:4:5:6:7:8:9:10:»;


Тринкер

править

F=«Тринкер»;
FI=«»;
FIO=«»;

tFIO= d_i=1:j=1,j=2,j=3,j=4,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}} disambiguation=«»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»; =«nil d_»;


F=«Тринкер»;
FI=«Тринкер, Борис»;
FIO=«»;

tFIO= d_i=1:j=1,j=2,j=3,j=4,i=2:j=1,j=2,j=3,j=4,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}} disambiguation=«»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»; =«nil d_»;


F=«Тринкер»;
FI=«Тринкер, Борис»;
FIO=«Тринкер, Борис Давидович»;

tFIO= d_i=1:j=1,j=2,j=3,j=4,i=2:j=1,j=2,j=3,j=4,i=3:j=1,j=2,j=3,j=4,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}} disambiguation=«»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»; =«nil d_1:2:3:4:5:6:7:8:9:10:»;


Юсупов

править

F=«Юсупов»;
FI=«»;
FIO=«»;

tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Юсупов. d_i=1:j=1,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}} disambiguation=«{{список однофамильцев»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»; =«{{список однофамильцев d_1:2:»;


F=«Юсупов»;
FI=«Юсупов, Николай»;
FIO=«»;

tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Юсупов. d_i=1:j=1,i=2:j=1,j=2,j=3,j=4,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}} disambiguation=«»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»; =«nil d_»;


F=«Юсупов»;
FI=«Юсупов, Николай»;
FIO=«Юсупов, Николай Борисович»;

tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Юсупов; Юсупов, Николай Борисович (значения). d_i=1:j=1,i=2:j=1,j=2,j=3,j=4,i=3:j=1,j=2,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}} disambiguation=«»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»; =«nil d_1:2:3:4:5:6:7:8:9:10:»;


F=«Юсупов»;
FI=«Юсупов, Николай»;
FIO=«Юсупов, Николай Борисович»;

tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Юсупов; Юсупов, Николай Борисович (значения). d_i=1:j=1,i=2:j=1,j=2,j=3,j=4,i=3:j=1,j=2,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}} disambiguation=«»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»; =«nil d_1:2:3:4:5:6:7:8:9:10:»;


F=«Юсупов»;
FI=«Юсупов, Николай»;
FIO=«Юсупов, Николай Борисович»;

tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Юсупов; Юсупов, Николай Борисович (значения). d_i=1:j=1,i=2:j=1,j=2,j=3,j=4,i=3:j=1,j=2,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}} disambiguation=«{{Список полных тёзок»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»; =«{{Список полных тёзок d_1:2:3:4:»;


F=«Пост»;
FI=«»;
FIO=«»;

tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Пост. d_i=1:j=1,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}} disambiguation=«{{неоднозначность|однофамильцы»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»; =«{{неоднозначность|однофамильцы d_1:2:3:4:5:»;


F=«Пост»;
FI=«Пост, Альберт»;
FIO=«»;

tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Пост. d_i=1:j=1,i=2:j=1,j=2,j=3,j=4,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}} disambiguation=«»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»; =«nil d_»;


F=«Пост»;
FI=«Пост, Альберт»;
FIO=«Пост, Альберт Герман»;

tFIO=В Википедии есть статьи о других людях с такой фамилией, см. Пост. d_i=1:j=1,i=2:j=1,j=2,j=3,j=4,i=3:j=1,j=2,j=3,j=4,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}} disambiguation=«»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»; =«nil d_1:2:3:4:5:6:7:8:9:10:»;


F=«Рюрик Ростиславич (князь перемышльский)»;
FI=«Рюрик Ростиславич»;
FIO=«»;

tFIO= d_i=1:j=1,j=2,j=3,j=4,i=2:j=1,j=2,j=3,j=4,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}} disambiguation=«»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»; =«nil d_1:2:3:4:5:6:7:8:9:10:»;


F=«Рюрик Ростиславич)»;
FI=«Рюрик Ростиславич)»;
FIO=«»;

tFIO= d_i=1:j=1,j=2,j=3,j=4,i=2:j=1,j=2,j=3,j=4,
{{#invoke:Is surname disambiguation|main|{{{1|{{PAGENAME}}}}}}} disambiguation=«»
=«{{#invoke:Песочница/Менделеевец99/FIO2|IsDisambig|{{{1|{{PAGENAME}}}}}}}»; =«nil d_»;


Статические методы

править

Методы

править

См. также

править

Категория:Википедия:Модули

--------------------------------------------------------------------------------
--                  Module:FIO2 configuration data                        --
-- This page holds localization and configuration data for Module:FIO2.   --
--------------------------------------------------------------------------------
local cfg = {} -- Don't edit this line.
--------------------------------------------------------------------------------
--                        Start configuration data                            --
--------------------------------------------------------------------------------
cfg.templates = {'[сС]писок однофамильцев.т[ёе]зок','[сС]писок однофамильцев',
	'[сС]писок т[ёе]зок','[сС]писок полных т[ёе]зок','[нН]еоднозначность[^}]*[оО]днофамильцы',
	'[нН]еоднозначность[^}]*[фФ]амилии','[мМ]ногозначность[^}]*[оО]днофамильцы',
	'[мМ]ногозначность[^}]*[фФ]амилии','[dD]isambig[^}]*[оО]днофамильцы',
	'[dD]isambig[^}]*[фФ]амилии'
}
cfg.utochn={'', 'значения', 'фамилия', 'персоналии'}
--------------------------------------------------------------------------------
--                        End configuration data                              --
--------------------------------------------------------------------------------

-- Load config.
--local cfg = mw.loadData('Module:Песочница/Менделеевец99/FIO2/config')
local page={
	--object,
	['Title']='',
	['FIO']='',
	['FI']='',
	['F']='',
	['Type']=''
--[[	['']='',
	['']='',
	['']=''
	--]]
}
local function lIsDisambig(name)
	local d='d_'
	local Disambig 
	--local r=false
	local t=cfg.templates
	if name=='' then return r end
	local title = mw.title.new(name)
	if title.exists then
		if not title.isRedirect then
			local fullContent = title:getContent()
			local i
			for i=1,#t do
				d=d..tostring(i)..':'
				Disambig = mw.ustring.match(fullContent, '\{\{'..t[i])
				if Disambig~=nil then break end 
			end
		end
	end
	return Disambig, d 
end;
local function lF (title)
    local s=title
    local n=mw.ustring.find(s,',',1,true) or 0
    if (n>0) then s=mw.ustring.sub(s, 1, n-1) end
    return s
end;
local function lFI (title)
    local t=mw.text.split(title,' ',true)
    local st
    if #t>1 then st=t[1]..' '..t[2] else st='' end
    return st 
end;
local function Title2FIO (title)
	local st=title
	local n=mw.ustring.find(title,' (',1,true) or 0
    if (n>0) then st=mw.ustring.sub(st, 1, n-1) end
    st=mw.text.trim(st)
	return st
end
local function lFIO (title)
    local st=title
    local n=mw.ustring.find(st,' (',1,true) or 0
    if (n>0) then st=mw.ustring.sub(st, 1, n-1) end
    st=mw.text.trim(st)
    local t=mw.text.split(st,' ',true)
    if #t<3 then st='' end
    return st
end;
local function Names(Title)
	local t= {};
	local s=lF(Title)
	if s~='' then t[#t+1]=s end
	s=lFI(Title)
	if s~='' then t[#t+1]=s end
	s=lFIO(Title)
	if s~='' then t[#t+1]=s end
	return t
end
local function NamesD(Names)
	local d='d_'
	local r={}
	local i, s, u
	local ut=cfg.utochn
	for i=1,#Names do
		s=Names[i]
		d=d..'i='..tostring(i)..':'
		local j
		for j=1,#ut do
			u=ut[j] if u~='' then u=' ('..u..')' end
			s=s..u
			d=d..'j='..tostring(j)..','
			if lIsDisambig(s)~=nil then 
				r[#r+1]=s 
				break
			end
		end
	end
	--if r[#r]==page.Title then  end
	return r, d
end
local function PageInfo(Title)
	local s=''
	local title = mw.title.new(Title)
	if title.exists then
		s='page "'..Title..'" exists.'
		s=s..'\n\nfullUrl='..title:fullUrl()
		s=s..'\n\npartialUrl='..title:partialUrl()
		s=s..'\n\nlocalUrl='..title:localUrl()
		s=s..'\n\ncanonicalUrl='..title:canonicalUrl()
		s=s..'\n\ngetContent='..'<nowiki>'..title:getContent()..'</nowiki>'
		--s=s..'\nid='..tostring(title.id()) --: The page_id. 0 if the page does not exist. This may be expensive, and the page will be recorded as a link.
	--	s=s..'\ninterwiki='..title:interwiki()--: The interwiki prefix, or the empty string if none.
	--	s=s..'\nnamespace='..title:namespace()	--: The namespace number.
	--	s=s..'\nfragment='..title:fragment()	--: The fragment, or the empty string. May be assigned.
	--	s=s..'\nnsText='..title:nsText()	--: The text of the namespace for the page.
	--	s=s..'\nsubjectNsText='..title:subjectNsText()	--: The text of the subject namespace for the page.
	--	s=s..'\ntext='..title:text()	--: The title of the page, without the namespace or interwiki prefixes.
	--	s=s..'\nprefixedText='..title:prefixedText()	--: The title of the page, with the namespace and interwiki prefixes.
		
	else
		s='page "'..Title..'" is not exist.'
	end
	
	return s
end
local p = {
main=function (f)
    --return tFIO(f)
    local s=f.args[1]
    return PageInfo(s)
end;	
wikilink=function (frame)
    return "[[Иванов]]"
end;
F=function (f)
	local s=f.args[1]
    return lF(s)
end;
FI=function (f)
	local s=f.args[1]
   	return lFI(s)
end;
FIO=function (f)
	local s=f.args[1]
    return lFIO(s)
end;
tFIO=function (f)
	local a=Names(f.args[1])
	local t, d= NamesD(a)
	local i
	local b=0
	local r=''
	--if r[#r]==page.Title then  end
	if r[#r]==a then b=1 end
	for i=1,#t-1-b do
		r=r..'[['..t[i]..']]'..'; '	
	end
	if #t-b>0 then r=r..'[['..t[#t-b]..']]' end
	if r~='' then
		r='В Википедии есть статьи о других людях с такой фамилией, см. '..r..'.'
	end
    return r..' '..d 
end;
IsDisambig=function(f)
	local s=f.args[1]
	local b, d = lIsDisambig(s)
	if b==nil then b='nil' end
	if d==nil then d='nil' end
	return b..' '..d 
end;
Content=function(f)
	local st=f.args[1]
	local title = mw.title.new(st)
	local disambig = false
	local fullContent =''
	if title.exists then
		fullContent = title:getContent()
		processedContent = f:preprocess(
			fullContent
			:gsub('<noinclude>', '')
			:gsub('</noinclude>', '')
			:gsub('<onlyinclude>', '')
			:gsub('</onlyinclude>', ''))
		if processedContent:match('id="disambig"') then
			disambig = true
		end
	end
	return 'fullContent =\n'..'<nowiki>'..fullContent..'</nowiki>'
end;
ShowTemplates= function(f)
	local r='{\n'
	local i, s
	local t=cfg.templates
	for i=1,#t-1 do
		s=t[i]
		mw.log(s)
		r=r..'"'..s..'", '
	end
	r=r..'"'..s..'"\n} --'..tostring(#t)..' items.'
	--MsgBox('MsgBox ShowTemplates') 
	return r
end
}
return p