Moduł:Brudnopis/Persino/Dymki
Wygląd
Dokumentacja dla tego modułu może zostać utworzona pod nazwą Moduł:Brudnopis/Persino/Dymki/opis.
local p={};
local function KodOpisDymku(parametr)
local kod_i_opis={
------------------------------------------------------------------------------
--bez zapytania
------------------------------------------------------------------------------
["su"]="Strona zawiera adres URL",
["sun"]="Strona, z nagłówkiem, zawiera adres URL",
["iw"]="Strona istnieje na tej wiki",
["inw"]="Strona, z nagłówkiem, istnieje na tej wiki",
["iwew"]="Strona, istnieje na tej wiki, jako element wikidanych",
["inwew"]="Strona, z nagłówkiem, istnieje na tej wiki, jako element wikidanych",
["iew"]="Strona, istnieje, jako element wikidanych",
["inew"]="Strona, z nagłówkiem, istnieje, jako element wikidanych",
["niw"]="Strona nie istnieje na tej wiki",
["ninw"]="Strona, z nagłówkiem, nie istnieje na tej wiki",
["niew"]="Strona, nie istnieje, jako element wikidanych",
["ninew"]="Strona, z nagłówkiem, nie istnieje, jako element wikidanych",
["was"]="Link, z nieaktywnym odnośnikiem, wskazuje na aktualną stronę",
["wasew"]="Link, z nieaktywnym odnośnikiem, wskazuje na aktualną stronę jako element wikidanych",
["wash"]="Link, z aktywnym odnośnikiem, wskazuje na aktualną stronę",
["washew"]="Link, z aktywnym odnośnikiem, wskazuje na aktualną stronę jako element wikidanych",
["wasn"]="Link, z nagłówkiem, wskazuje na aktualną stronę",
["wasnew"]="Link, z nagłówkiem, wskazuje na aktualną stronę jako element wikidanych",
["ipw"]="Link wskazuje na stronę niebędącą elementem wikidanych",
["inpw"]="Link, z nagłówkiem, wskazuje na stronę niebędącą elementem wikidanych",
["dwni"]="Link wskazuje na stronę do wiki, która nie istnieje",
-------------------------------------------------------------------------------
--z zapytaniem
-------------------------------------------------------------------------------
["sup"]="Strona, z zapytaniem, zawiera adres URL",
["sunp"]="Strona, z zapytaniem i nagłówkiem, zawiera adres URL",
["iwp"]="Strona, z zapytaniem, istnieje na tej wiki",
["inwp"]="Strona, z zapytaniem i nagłówkiem, istnieje na tej wiki",
["iwewp"]="Strona, z zapytaniem, istnieje na tej wiki, jako element wikidanych",
["inwewp"]="Strona, z zapytaniem, nagłówkiem, istnieje na tej wiki, jako element wikidanych",
["iewp"]="Strona, z zapytaniem, istnieje, jako element wikidanych",
["inewp"]="Strona, z zapytaniem i nagłówkiem, istnieje, jako element wikidanych",
["niwp"]="Strona, z zapytaniem, nie istnieje na tej wiki",
["ninwp"]="Strona, z zapytaniem i nagłówkiem, nie istnieje na tej wiki",
["niewp"]="Strona, z zapytaniem, nie istnieje, jako element wikidanych",
["ninewp"]="Strona, z zapytaniem i nagłówkiem, nie istnieje, jako element wikidanych",
["wasp"]="Link, z zapytaniem, wskazuje na aktualną stronę",
["wasewp"]="Link, z zapytaniem, wskazuje na aktualną stronę jako element wikidanych",
["washp"]="Link, z zapytaniem, z aktywnym odnośnikiem, wskazuje na aktualną stronę",
["washewp"]="Link, z zapytaniem, z aktywnym odnośnikiem, wskazuje na aktualną stronę jako element wikidanych",
["wasnp"]="Link, z zapytaniem i nagłówkiem, wskazuje na aktualną stronę",
["wasnewp"]="Link, z zapytaniem i nagłówkiem, wskazuje na aktualną stronę jako element wikidanych",
["ipwp"]="Link, z zapytaniem, wskazuje na stronę niebędącą elementem wikidanych",
["inpwp"]="Link, z zapytaniem i nagłówkiem, wskazuje na stronę niebędącą elementem wikidanych",
["dwnip"]="Link, z zapytaniem, wskazuje na stronę do wiki, która nie istnieje",
};
return kod_i_opis[parametr] or "";
end;
local function TworzenieTablicyEksportuDymkoweStrony(frame)
local kod=frame.args[1];
local href_new=frame.args[2];
local href_old=frame.args[3];
local linki_modul=require("Module:Linki");
local parametry_modul=require("Module:Parametry");
local nazwy_modul=require("Module:Nazwy");
local href=((href_new~="")and ((parametry_modul.CzyTak(href_old) and (href_new==href_old)) and href_new or (parametry_modul.CzyTak(href_old) and href_old or href_new)) or nazwy_modul["PEŁNANAZWASTRONY"]());
local klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku,nazwa_strony_linku,naglowek_strony,nazwa,za,po,czy_wewnetrzny_z_fullurl,parametry_strony,wersja_linku,czy_url=linki_modul["GanerujSkładoweURL"]{["strona"]=href,};
naglowek_strony=naglowek_strony and mw.text.encode(naglowek_strony) or nil;
local kod_jezyka_koncowy;local kod_projektu_koncowy;local nazwa_serwisu;local wersja_jezykowa;
local nazwa_przestrzeni_nazw;local pelna_nazwa_strony;local nazwa_artykulu;local nazwa_ksiazki;local nazwa_przestrzeni_ksiazki;local nazwa_strony;local nazwa_przestrzeni_nazw_po_polsku;
local informacja=KodOpisDymku(kod);
local czy_wiki_url=false;
local wiki_modul=require("Module:Wiki");
if(not czy_url)then
kod_jezyka_koncowy,kod_projektu_koncowy=wiki_modul.KodyWiki(klucz_projektu_do_projektu_linku,kod_jezyka_do_projektu_linku,kod_projektu_do_projektu_linku);
local kod_jezyka_poczatkowy;local kod_projektu_poczatkowy;
nazwa_strony_linku,kod_jezyka_koncowy,kod_projektu_koncowy, kod_jezyka_poczatkowy, kod_projektu_poczatkowy=wiki_modul.KodyNazwyStrony(nazwa_strony_linku,kod_jezyka_koncowy,kod_projektu_koncowy);
local lang_modul=require("Module:Lang");
nazwa_serwisu=nazwy_modul["NAZWASERWISU"]{args={["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,}};
wersja_jezykowa=lang_modul["istnieje"]{args={[1]=kod_jezyka_koncowy or "en",}} and lang_modul["hasło"]{args={[1]=kod_jezyka_koncowy or "en",}} or lang_modul["hasło"]{args={[1]="en",}};
local pudelko_modul=require("Module:Pudełko");
local wiki_interwiki_modul=mw.loadData("Module:Wiki/interwiki");
local interwikimap=wiki_interwiki_modul.interwikimap;
local url=interwikimap[kod_projektu_koncowy];
czy_wiki_url=((url)and(mw.ustring.match(url,"/wiki/$1$"))and(((nazwa_strony_linku)and(nazwa_strony_linku~=""))or((naglowek_strony)and(naglowek_strony~=""))));
if(czy_wiki_url)then
local czy_nie_pusta_nazwa_strony_linku=parametry_modul.CzyTak(nazwa_strony_linku);
----
local czy_naglowek_strony=parametry_modul.CzyTak(naglowek_strony);
local czy_pusta_nazwa_strony_linku=parametry_modul.CzyTak(nazwa_strony_linku);
if(not czy_pusta_nazwa_strony_linku)then
nazwa_strony_linku=linki_modul["PrzetłumaczZnakZastępczyNaStronę"]("","",kod_jezyka_koncowy,kod_projektu_koncowy,czy_naglowek_strony);
end;
----
nazwa_strony_linku=((parametry_modul.CzyTak(nazwa_strony_linku))and nazwa_strony_linku or (((kod_jezyka_koncowy==pudelko_modul["Kod języka tego projektu"]())and(kod_projektu_koncowy==pudelko_modul["Kod projektu tego projektu"]())) and nazwy_modul["PEŁNANAZWASTRONY"]() or nil));
if(not parametry_modul.CzyTak(nazwa_strony_linku))then
local wiki_interwiki_modul=mw.loadData("Module:Wiki/interwiki");
local interwikimap=wiki_interwiki_modul.interwikimap;
local url=interwikimap[kod_projektu_koncowy];
nazwa_strony_linku=((kod_jezyka_koncowy=="pl")and "Strona główna" or "Main Page");
end;
if(parametry_modul.CzyTak(nazwa_strony_linku))then
nazwa_przestrzeni_nazw=nazwy_modul["NAZWAPRZESTRZENI"]{["nazwa"]=nazwa_strony_linku,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,};
nazwa_przestrzeni_nazw_po_polsku=nazwy_modul["NpDane"]{["nazwa"]=nazwa_przestrzeni_nazw,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,["wyświetlana"]="tak",["po polsku"]="tak",["istnieje"]="tak",["wynik błędu nietekstowy"]="tak",};
pelna_nazwa_strony=parametry_modul["Odstępy"]{[1]=nazwa_strony_linku,[2]="tak",};
nazwa_artykulu=nazwy_modul["NAZWAARTYKUŁUKSIĄŻKI"]{["nazwa"]=pelna_nazwa_strony,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,};
nazwa_ksiazki=nazwy_modul["SUBNAZWAKSIĄŻKI"]{["nazwa"]=pelna_nazwa_strony,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,};
nazwa_przestrzeni_ksiazki=nazwy_modul["NAZWAPRZESTRZENIKSIĄŻKI"]{["nazwa"]=pelna_nazwa_strony,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,};
nazwa_strony=nazwy_modul["NAZWASTRONY"]{["nazwa"]=pelna_nazwa_strony,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,};
end;
end;
end;
local nazwy_np_modul=mw.loadData("Module:Nazwy/Np")
local tablica_komunikat={};
table.insert(tablica_komunikat,{"Informacja o linku: ",informacja,});
if(not czy_url)then
local latki_modul=require("Module:Łatki");
local args={["nazwa"]=pelna_nazwa_strony,["kod języka"]=kod_jezyka_koncowy,["kod projektu"]=kod_projektu_koncowy,};
local odniesienia=latki_modul["są interwiki"]{args=args,};
if((parametry_modul.CzyTak(odniesienia))and(odniesienia>0))then
table.insert(tablica_komunikat,{"Liczba odniesień wikidanych: ",odniesienia,});
end;
table.insert(tablica_komunikat,{"Projekt: ",nazwa_serwisu,"Wersja językowa: ",wersja_jezykowa});
if(czy_wiki_url)then
local czy_ksiazkowe=((nazwa_przestrzeni_nazw_po_polsku==nazwy_np_modul.MainDisplayName)
or(nazwa_przestrzeni_nazw_po_polsku==nazwy_np_modul.Wikijunior));
if(czy_ksiazkowe)then
table.insert(tablica_komunikat,{"Przestrzeń nazw: ",nazwa_przestrzeni_nazw_po_polsku,});
elseif(nazwa_przestrzeni_nazw~="")then
table.insert(tablica_komunikat,{"Przestrzeń nazw: ",nazwa_przestrzeni_nazw_po_polsku,});
else
table.insert(tablica_komunikat,{"Przestrzeń nazw: ",nazwa_przestrzeni_nazw_po_polsku,});
end;
if((nazwa_przestrzeni_ksiazki)and(nazwa_przestrzeni_ksiazki~=""))then
table.insert(tablica_komunikat,{"Przestrzeń nazw książki: ",nazwa_przestrzeni_ksiazki,});
end;
local czy_artykul=(czy_ksiazkowe
or(mw.ustring.match(nazwa_przestrzeni_ksiazki,"^Wikibooks:Brudnopis/[^/]*"))
or(mw.ustring.match(nazwa_przestrzeni_ksiazki,"^Wikipedysta:[^/]*")));
local pudelko_modul=require("Module:Pudełko");
local strona_glowna_tego_projektu=pudelko_modul["Strona główna tego projektu"]();
local main_page=wiki_modul.WikidaneOdpowiednikStrony{
["nazwa strony"]=strona_glowna_tego_projektu,
["kod języka"]=kod_jezyka_koncowy,
["kod projektu"]=kod_projektu_koncowy,
} or ((kod_jezyka_koncowy=="pl")and "Strona główna" or "Main Page");
local czy_strona_glowna=
(main_page==(((nazwa_przestrzeni_nazw~="")and(nazwa_przestrzeni_nazw..":")or "")
..((nazwa_przestrzeni_ksiazki~="") and (nazwa_przestrzeni_ksiazki.."/") or "")
..nazwa_ksiazki
..((nazwa_artykulu~="")and("/"..nazwa_artykulu) or "")));
if(parametry_modul.CzyTak(naglowek_strony))then
local naglowek_strony_przetworzony,_=mw.ustring.gsub(naglowek_strony,"^[%s_]+","");
naglowek_strony_przetworzony,_=mw.ustring.gsub(naglowek_strony_przetworzony,"[%s_]+$","");
naglowek_strony_przetworzony,_=mw.ustring.gsub(naglowek_strony_przetworzony,"[%s_]+"," ");
table.insert(tablica_komunikat,{"Nagłówek: ",naglowek_strony_przetworzony,});
end;
if(parametry_modul.CzyTak(nazwa_artykulu))then
local nazwa_rozdzialu;
local czy_rozdzial;
if(not czy_strona_glowna)then
if(czy_artykul)then
if(kod_projektu_koncowy=="b")then
czy_rozdzial=mw.ustring.match(nazwa_artykulu,"/");
if(czy_rozdzial)then
nazwa_rozdzialu,nazwa_artykulu=mw.ustring.match(nazwa_artykulu,"^([^/]*)/(.*)$");
end;
end;
if(kod_projektu_koncowy=="b")then
table.insert(tablica_komunikat,{"Nazwa artykułu: ",nazwa_artykulu,});
elseif(kod_projektu_koncowy=="s")then
table.insert(tablica_komunikat,{"Nazwa rozdziału: ",nazwa_artykulu,});
elseif(kod_projektu_koncowy=="v")then
table.insert(tablica_komunikat,{"Nazwa tekstu: ",nazwa_artykulu,});
elseif(kod_projektu_koncowy=="w")then
table.insert(tablica_komunikat,{"Nazwa podartykułu: ",nazwa_artykulu,});
elseif(kod_projektu_koncowy=="q")then
table.insert(tablica_komunikat,{"Nazwa podcytatu: ",nazwa_artykulu,});
elseif(kod_projektu_koncowy=="voy")then
table.insert(tablica_komunikat,{"Nazwa submiejsca: ",nazwa_artykulu,});
elseif(kod_projektu_koncowy=="wikt")then
table.insert(tablica_komunikat,{"Nazwa podhasła: ",nazwa_artykulu,});
elseif(kod_projektu_koncowy=="n")then
table.insert(tablica_komunikat,{"Nazwa rozdziału tekstu: ",nazwa_artykulu,});
else
table.insert(tablica_komunikat,{"Nazwa modułu opisu: ",nazwa_artykulu,});
end;
else
table.insert(tablica_komunikat,{"Nazwa podstrony: ",nazwa_artykulu,});
end;
else
table.insert(tablica_komunikat,{"Moduł strony głównej: ",nazwa_artykulu,});
end;
if(not czy_strona_glowna)then
if(czy_artykul)then
if(kod_projektu_koncowy=="b")then
if(czy_rozdzial)then
table.insert(tablica_komunikat,{"Nazwa rozdziału: ",nazwa_rozdzialu,});
end;
end;
end;
end;
if(not czy_strona_glowna)then
if(czy_artykul)then
if(kod_projektu_koncowy=="b")then
table.insert(tablica_komunikat,{"Nazwa podręcznika: ",nazwa_ksiazki,});
elseif(kod_projektu_koncowy=="s")then
table.insert(tablica_komunikat,{"Nazwa książki: ",nazwa_ksiazki,});
elseif(kod_projektu_koncowy=="v")then
table.insert(tablica_komunikat,{"Nazwa skryptu: ",nazwa_ksiazki,});
elseif(kod_projektu_koncowy=="w")then
table.insert(tablica_komunikat,{"Nazwa artykułu: ",nazwa_ksiazki,});
elseif(kod_projektu_koncowy=="q")then
table.insert(tablica_komunikat,{"Nazwa cytatu: ",nazwa_ksiazki,});
elseif(kod_projektu_koncowy=="voy")then
table.insert(tablica_komunikat,{"Nazwa miejsca: ",nazwa_ksiazki,});
elseif(kod_projektu_koncowy=="wikt")then
table.insert(tablica_komunikat,{"Nazwa hasła: ",nazwa_ksiazki,});
elseif(kod_projektu_koncowy=="species")then
table.insert(tablica_komunikat,{"Nazwa strony gatunku: ",nazwa_ksiazki,});
elseif(kod_projektu_koncowy=="n")then
table.insert(tablica_komunikat,{"Nazwa tekstu wiadomości: ",nazwa_ksiazki,});
else
table.insert(tablica_komunikat,{"Nazwa broszury: ",nazwa_ksiazki,});
end;
else
table.insert(tablica_komunikat,{"Nazwa strony: ",nazwa_ksiazki,});
end;
else
table.insert(tablica_komunikat,{"Nazwa strony głównej: ",nazwa_ksiazki,});
end;
else
if(not czy_strona_glowna)then
if(czy_artykul)then
if(kod_projektu_koncowy=="b")then
table.insert(tablica_komunikat,{"Strona tytułowa podręcznika: ",nazwa_ksiazki,});
elseif(kod_projektu_koncowy=="s")then
table.insert(tablica_komunikat,{"Strona tytułowa książki: ",nazwa_ksiazki,});
elseif(kod_projektu_koncowy=="v")then
table.insert(tablica_komunikat,{"Strona tytułowa skryptu: ",nazwa_ksiazki,});
elseif(kod_projektu_koncowy=="w")then
table.insert(tablica_komunikat,{"Strona artykułu: ",nazwa_ksiazki,});
elseif(kod_projektu_koncowy=="q")then
table.insert(tablica_komunikat,{"Strona cytatu: ",nazwa_ksiazki,});
elseif(kod_projektu_koncowy=="voy")then
table.insert(tablica_komunikat,{"Strona miejsca: ",nazwa_ksiazki,});
elseif(kod_projektu_koncowy=="wikt")then
table.insert(tablica_komunikat,{"Strona hasła: ",nazwa_ksiazki,});
elseif(kod_projektu_koncowy=="species")then
table.insert(tablica_komunikat,{"Strona gatunku: ",nazwa_ksiazki,});
elseif(kod_projektu_koncowy=="n")then
table.insert(tablica_komunikat,{"Strona wiadomości: ",nazwa_ksiazki,});
else
table.insert(tablica_komunikat,{"Strona broszury: ",nazwa_ksiazki,});
end;
else
table.insert(tablica_komunikat,{"Strona: ",nazwa_ksiazki,});
end;
else
table.insert(tablica_komunikat,{"Strona główna projektu: ",nazwa_ksiazki,});
end;
end;
end
end;
if((not czy_url)and(not czy_wiki_url)and(parametry_modul.CzyTak(nazwa_strony_linku)))then
table.insert(tablica_komunikat,{"Nazwa strony: ",nazwa_strony_linku,});
elseif(czy_url)then
local html_modul=require("Module:Html");
local nazwa_strony_linku=html_modul["UrlBezProtokołu"](nazwa_strony_linku);
local serwer,nazwa_strony=html_modul["URLStrona"](nazwa_strony_linku);
table.insert(tablica_komunikat,{"Nazwa serwera: ",serwer,});
if(parametry_modul.CzyTak(naglowek_strony))then
local naglowek_strony_przetworzony,_=mw.ustring.gsub(naglowek_strony,"^[%s_]+","");
naglowek_strony_przetworzony,_=mw.ustring.gsub(naglowek_strony_przetworzony,"[%s_]+$","");
naglowek_strony_przetworzony,_=mw.ustring.gsub(naglowek_strony_przetworzony,"[%s_]+"," ");
table.insert(tablica_komunikat,{"Nagłówek identyfikatora: ",naglowek_strony_przetworzony,});
end;
if(parametry_modul.CzyTak(nazwa_strony)and(nazwa_strony~="/"))then
table.insert(tablica_komunikat,{"Nazwa strony: ",nazwa_strony,});
end;
end;
return tablica_komunikat;
end;
local function InterfejsDymku(frame)
local function LiniaKomunikatu(parametr1,parametr2,div_pozycja)
local strong_artykulu=mw.html.create('strong');
strong_artykulu:wikitext(parametr1);
strong_artykulu:css('color','blue');
local span_artykulu=mw.html.create('span');
span_artykulu:wikitext(parametr2);
span_artykulu:wikitext(".");
div_pozycja:node(strong_artykulu);
div_pozycja:node(span_artykulu);
end;
local tablica_komunikat=TworzenieTablicyEksportuDymkoweStrony(frame);
local div_artykulu=mw.html.create('div');
div_artykulu:css('font-size',"90%");
div_artykulu:css('line-height','1.4em');
div_artykulu:css('box-sizing','border-box');
div_artykulu:css('max-width','21.25rem');
div_artykulu:css('width','100%');
for numer,tab_komunikatu in ipairs(tablica_komunikat)do
local div_pozycja=mw.html.create('div');
if((not tab_komunikatu[3])and(not tab_komunikatu[4]))then
LiniaKomunikatu(tab_komunikatu[1],tab_komunikatu[2],div_pozycja);
elseif((tab_komunikatu[3])and(tab_komunikatu[4]))then
local span_pozycja_lewy=mw.html.create('span');
local span_pozycja_prawy=mw.html.create('span');
span_pozycja_lewy:css('margin-right',"4px");
LiniaKomunikatu(tab_komunikatu[1],tab_komunikatu[2],span_pozycja_lewy);
LiniaKomunikatu(tab_komunikatu[3],tab_komunikatu[4],span_pozycja_prawy);
div_pozycja:node(span_pozycja_lewy);
div_pozycja:node(span_pozycja_prawy);
end;
div_artykulu:node(div_pozycja);
end;
return tostring(div_artykulu:allDone());
end;
p["UzyskajOpisOdParametrówLinku"] = function(frame)
local wynik=InterfejsDymku(frame);
return wynik;
end;
return p;