Wargo
Exec
edytujWitam
Być może osoba programująca w UNIX zdaje sobie sprawę z "dokładnego" działania funkcji Exec... Osoba, która szuka informacji o tejże funkcji dostaje info, iż "uruchamia się nowy proces potomny".
Przedstawiam kilka cytatów z książki "Programowanie zastosowań sieciowych w systemie UNIX"... autor W.Richard Stevens... Rok wydania (stary)1990...
Rozdział 2. Procesy w systemie UNIX Podrozdział 2.2.8 str. 31.
"Program staje się procesem wtedy, kiedy jest wykonywany przez system operacyjny. Jedynym sposobem utworzenia nowego procesu w Unixe jest wywołanie funkcji systemowej fork(opisanej w p. 2.5)
Podrozdział 2.5 str. 79.
Jedynym sposobem utworzenia nowego procesu przez Unix jest spowodowanie, by istniejący proces wywołał funkcje fork (nie dotyczy procesu init). int fork() Funkcja systemowa fork tworzy kopię tego procesu, który był wykonywany. Funkcja systemowa
fork przekazuje wartość dwukrotnie (przodkowi i potomkowi). Te wartości funkcji fork
różnią się tylko tym, że w przypadku procesu macierzystego, jest to numer identyfikacyjny nowo utworzonego procesu potomnego (PID), a wartością przekazywaną procesowi potomnemu, jest 0.
Podrozdział 2.5.3 str. 82.
Funkcja systemowa exec
Jedynym sposobem spowodowania, by Unix wykonał jakiś program, jest wywołanie funkcji systemowej exec przez bieżąco wykonywany proces. Funkcja systemowa exec zastępuje program bieżącego procesu nowym programem. Nie ulega zmianie identyfikator procesu (PID). Proces, który wywołał funkcję exec nazywamy procesem wywołującym, program zaś, który ma być wykonany w wyniku wywołania funkcji exec, nazywamy nowym programem. W wielu opisach Unixa ten nowy program jest nazywany właściwie nowym procesem, chociaż ich autorzy zdają sobie sprawę, że jest to rzeczywiście nowy program, wykonywany w kontekście procesu wywołującego. Unix nie tworzy nowego procesu." -- 78.10.108.0 12:46, 23 lip 2016
- Rozumiem, że to odnosi się do mojego wycofania edycji. Nie neguję wprowadzonej tam sugestii ani jakiejkolwiek innej informacji, ale dodana tam treść była komentarzem do edytowanego tekstu, a miejscem wyjaśniania zawartości jest przypisana do artykułu strona dyskusji lub strona dyskusji wprowadzającego wątpliwą informację. Można było też zwyczajnie zmienić tekst, jeżeli była pewność co do błędu i bez dopisywania swojej oceny lub pozostawiania sprzecznej z nową treści. --Wargo (dyskusja) 13:16, 23 lip 2016 (CEST)
Wsparcie
edytuj- Myślałem jeszcze nad założeniem patronite na razie wszystko to jest to w formie alpha. Zainspirował mnie ten materiał: 2By_IJKE98Y?t=21m52s (youtube ID bo filtr zadziałał) (polecam zobaczyć do końca od momentu który wpisałem). Teraz nawet przyszedł mi do głowy pomysł by dzielić się częścią donejtów z serwerem wikimedia (jak widać po banerach na wikipedii mają z nimi bardzo krucho). Nie jest to zarobek w sensie stricte. Kompowiec2 (dyskusja) 08:17, 28 cze 2017 (CEST)
- O nie słyszałem nawet o czymś takim. Przez te 7 lat kupiłem parę książek ale to bardzo drobne kwoty, jak teraz podliczyłem te które jeszcze przeżyły ze mną do dziś to wyszło mi 59.50 zł Mógłbym zaryzykować stwierdzenie że mogłem wydać nie więcej niż 90-100 zł przez te wszystkie lata. 100 zł rocznie to 14 zł czyli mniej więcej tyle co wyjście na kebaba ;) Kompowiec2 (dyskusja) 09:41, 28 cze 2017 (CEST) jakby to byłyby większe kwoty to bym się poważnie nad tym zastanowił.
- Jeśli naprawdę Cię to interesuje to cóż, szukałem jednego z nich na aliexpress ale trafiłem na oszusta i od tamtej pory unikam wszelkich serwisów aukcyjnych i próbuję z mizernym skutkiem znaleźć ofertę stacjonarnie. I prawdopodobnie dlatego nie napisałem żadnej książki w poprzednim roku (zwykle piszę nową jeśli znajdę nowy interesujący mnie temat + ew. wpadnę w tryb flow). Jeszcze wcześniej myślałem o Arduino ale do tego potrzeba było jeszcze więcej sprzętu dokupić i składać niczym klocki lego co w efekcie wychodzi jeszcze drożej. Kompowiec2 (dyskusja) 14:21, 3 lut 2018 (CET)
Podziękowania
edytujWitaj. Nie myślałem, że tu trafię, ale Sławek Borewicz mnie namówił, podsyłając link. Może się na coś przydam. (Anagram16 (dyskusja) 21:02, 4 lip 2017 (CEST))
Ukrywanie
edytujUkryłem, bo zbyt dużo edycji przypada na jeden artykuł, narusza moje dobre imię zbyt częstymi edycjami nawet bzdurnymi bełkotliwymi. Mirosław Makowiecki (dyskusja) 12:49, 31 lip 2018 (CEST)
Linie ze wzorami matematycznymi
edytujA może wiesz jak przełamywać linie za pomocą CSS ze wzorami matematycznymi <MATH>...</MATH> odzielone między sobą za pomocą <BR> w tabeli z jednej kolumny na drugą. Na razie całe te linie bez załamywania oddzielone tym znacznikiem przechodzą do następnej kolumny. Mirosław Makowiecki (dyskusja) 17:41, 25 sie 2018 (CEST)
- Podasz jakiś przykład? --Wargo (dyskusja) 22:59, 25 sie 2018 (CEST)
- Chodzi mi jak zrobić przełamanie tabeli <TABLE> z jednej kolumny na drugą na przykładzie szablonu {{CentrujWzór|...}}, który wywołuje {{Wzór|...}} zbudowany za pomocą tabeli. W tym szablonie zamiast ... są wzory matematyczne oddzielone za pomocą <BR> napisane w postaci <MATH>...</MATH><BR><MATH>...</MATH><BR>.... Mirosław Makowiecki (dyskusja) 12:58, 26 sie 2018 (CEST)
- Jakiej tabeli? BR przenosi do nowej linii
- Wargo (dyskusja) 17:16, 26 sie 2018 (CEST)
- Chodzi mi o moduł Mechanika kwantowa/Relatywistyczna teoria kwantów Diraca, gdzie tam szablon {{CentrujWzór}}, a w nim {{Wzór}}, nie przełamuje swojej zawartość pomiędzy kolumnami, tak jest przynajmniej w przeglądarce Firefox. Mirosław Makowiecki (dyskusja) 19:27, 26 sie 2018 (CEST)
- Chodzi mi jak zrobić przełamanie tabeli <TABLE> z jednej kolumny na drugą na przykładzie szablonu {{CentrujWzór|...}}, który wywołuje {{Wzór|...}} zbudowany za pomocą tabeli. W tym szablonie zamiast ... są wzory matematyczne oddzielone za pomocą <BR> napisane w postaci <MATH>...</MATH><BR><MATH>...</MATH><BR>.... Mirosław Makowiecki (dyskusja) 12:58, 26 sie 2018 (CEST)
Cześć, mam prośbę do ciebie jako do administratora interfejsu. Zrobiłam taki szablon na podstawie enwiki, ale żeby i u nas działał, trzeba chyba dodać parę linijek do MediaWiki:Common.css. Zrobiłbyś to? Salicyna (dyskusja) 12:30, 6 wrz 2018 (CEST)
Które wywołanie szablonu
edytujCzy można sprawdzić, które to jest wywołanie ściśle określonego szablonu w artykule. Mirosław Makowiecki (dyskusja) 16:56, 8 wrz 2018 (CEST)
- Nie rozumiem. Chodzi o jakiś numer? --Wargo (dyskusja) 23:00, 8 wrz 2018 (CEST)
Już to rozszyfrowałem, robię parser na swojej Wiki, który wykorzystuje moduły w języku lua i szablony. Mirosław Makowiecki (dyskusja) 06:38, 11 wrz 2018 (CEST)
Usuwanie wpisów z MediaWiki:Common.css
edytuj- Czy mógłbyś usunąć wpis w pliku MediaWiki:Common.css, taki:
ol.TOC { counter-reset: nazwa_licznika }
ol.TOC li.POS { list-style-type: none }
ol.TOC li.POS:before { content: counters(nazwa_licznika, ".") ". "; counter-increment: nazwa_licznika }
bo podobny wpis jest w pliku Szablon:TOC/styles.css w postaci:
ol.spis_tresci { counter-reset: nazwa_licznika }
ol.spis_tresci li.odnosnik { list-style-type: none }
ol.spis_tresci li.odnosnik:before { content: counters(nazwa_licznika, ".") ". "; counter-increment: nazwa_licznika }
- A także usunąć wpis w pliku MediaWiki:Common.css, taki:
table.navbox { /* navbox container style */
border:1px solid #aaa;
width:100%;
margin:auto;
clear:both;
font-size:88%;
text-align:center;
padding:1px;
}
table.navbox + table.navbox {
margin-top:-1px; /* single pixel border between adjacent navboxes (doesn't work for IE6, but that's okay) */
}
.navbox-title, .navbox-abovebelow, table.navbox th {
text-align:center; /* title and above/below styles */
padding-left:1em;
padding-right:1em;
}
.navbox-group { /* group style */
white-space:nowrap;
text-align:right;
font-weight:bold;
padding-left:1em;
padding-right:1em;
}
.navbox, .navbox-subgroup {
background:#fdfdfd; /* Background color */
}
.navbox-list {
border-color:#fdfdfd; /* Must match background color */
}
a.navbox-title {
color:inherit; /* kolor linków w nagłówku */
}
.navbox-title, table.navbox th {
background:#ccccff; /* Level 1 color */
}
.navbox-abovebelow, .navbox-group, .navbox-subgroup .navbox-title {
background:#ddddff; /* Level 2 color */
}
.navbox-subgroup .navbox-group, .navbox-subgroup .navbox-abovebelow {
background:#e6e6ff; /* Level 3 color */
}
.navbox-even {
background:#f7f7f7; /* Even row striping */
}
.navbox-odd {
background:transparent; /* Odd row striping */
}
/* odstęp pomiędzy pierwszym navboksem a tekstem */
table.firstNavbox {
margin-top:1em;
}
bo taki sam wpis jest w Szablon:Navbox/styles.css.
- A także usunąć wpis w tym samym pliku w postaci:
table.ambox {
margin: 0 10%; /* Will not overlap with other elements */
border-collapse: collapse;
background-color: #fbfbfb !important;
border: 1px solid #aaa;
border-left: 10px solid #1e90ff; /* Default "notice" blue */
}
table.ambox th.ambox-text, table.ambox td.ambox-text { /* The message body cell(s) */
padding: 0.25em 0.5em; /* 0.5em left/right */
width: 100%; /* Make all templates the same width regardless of text size */
}
table.ambox td.ambox-image { /* The left image cell */
padding: 2px 0 2px 0.5em; /* 0.5em left, 0 right */
text-align: center;
}
table.ambox td.ambox-imageright { /* The right image cell */
padding: 2px 4px 2px 0; /* 0 left, 4px right */
text-align: center;
}
table.ambox-notice {
border-left: 10px solid #1e90ff; /* Blue */
}
table.ambox-delete,
table.ambox-serious {
border-left: 10px solid #b22222; /* Red */
}
table.ambox-content {
border-left: 10px solid #f28500; /* Orange */
}
table.ambox-style {
border-left: 10px solid #f4c430; /* Yellow */
}
table.ambox-merge {
border-left: 10px solid #9932cc; /* Purple */
}
table.ambox-protection {
border-left: 10px solid #bba; /* Gray */
}
table.ambox.ambox-mini { /* small floating box variant */
float: right;
clear: right;
margin: 0 0 0 1em;
width: 25%;
}
/* poprawa podwójnego obramowania, gdy w artykule znajduje się kilka amboksów */
/* fixing double border when multiple amboxes present */
table.ambox + table.ambox {
border-top: 0 !important;
}
bo podobny wpis znajduje się w pliku Szablon:Ambox/styles.css.
- A także usunąć wpis:
th.mbox-text, td.mbox-text { /* The message body cell(s) */
border: none;
padding: 0.25em 0.9em; /* 0.9em left/right */
width: 100%; /* Make all mboxes the same width regardless of text length */
}
td.mbox-image { /* The left image cell */
border: none;
padding: 2px 0 2px 0.9em; /* 0.9em left, 0 right */
text-align: center;
}
td.mbox-imageright { /* The right image cell */
border: none;
padding: 2px 0.9em 2px 0; /* 0 left, 0.9em right */
text-align: center;
}
td.mbox-empty-cell { /* An empty narrow cell */
border: none;
padding: 0;
width: 1px;
}
bo dla szablonu Szablon:Fmbox jest podobny plik: Szablon:fmbox/styles.css.
- A także usunąć wpis w naszym pliku:
/* Footer and header message box styles */
table.fmbox {
clear: both;
margin: 0.2em 0;
width: 100%;
border: 1px solid #aaa;
background: #f9f9f9; /* Default "system" gray */
}
table.fmbox-system {
background: #f9f9f9;
}
table.fmbox-warning {
border: 1px solid #bb7070; /* Dark pink */
background: #ffdbdb; /* Pink */
}
table.fmbox-editnotice {
background: transparent;
}
bo podobny jest w pliku Szablon:Fmbox/styles.css.
Z góry dziękuję Persino (dyskusja) 06:23, 2 gru 2018 (CET).
- Pierwsze jest wykorzystywane w stronicowym parserze. Wargo (dyskusja) 13:20, 2 gru 2018 (CET)
Usuwanie wpisów z MediaWiki:Common.css ze spisem treści
edytujWpis, który ja stworzyłem kiedyś (i dlatego go stamtąd należy usunąć), w MediaWiki:Common.css jest tam w postaci:
ol.TOC { counter-reset: nazwa_licznika }
ol.TOC li.POS { list-style-type: none }
ol.TOC li.POS:before { content: counters(nazwa_licznika, ".") ". "; counter-increment: nazwa_licznika }
i należy go usunąć, bo ten wpis jest w pliku Szablon:TOC/styles.css (trochę w innej postaci) i jest wykorzystany w Szablon:TOC i Szablon:StronaStart. Z góry dziękuję. Persino (dyskusja) 10:35, 8 gru 2018 (CET)
- @Persino: Nie zepsuje to Moduł:StronicowyParser gdzie widzę odwołania do tej klasy? Wargo (dyskusja) 11:50, 8 gru 2018 (CET)
- Przed chwilą naprawiłem problem, możesz sam zobaczyć to w Moduł:StronicowyParser, już nie zepsuje tego modułu, bo tam już nie ma odwołań do tej klasy. Możesz usunąć ten wpis z MediaWiki:Common.css! Persino (dyskusja) 11:58, 8 gru 2018 (CET)
Możesz utworzyć stronę MediaWiki o adresie MediaWiki:Gadget-map-toggler.js o treści:
/**
* Przełączanie map w infoboksach, jeśli są dwie lub więcej.
* Modyfikacja kodu wspierającego Szablon:Galeria.
*/
jQuery(document).ready(function(){
// Don't do anything in the printable version.
if(location.search.match(/[?&]printable=yes/)) return;
mw.loader.using('mediawiki.util', function() {
mw.util.addCSS(
// And hide effects if "non-printable" page is printed.
'@media print{ .locationmap-infobox-toggle-button {display: none} }' +
// Regular styles.
'.locationmap-infobox-toggle-button {margin:0; font-size:80%; font-weight:normal; line-height:1.5em}'
);
})
function toggleMap (group, remindex, shwindex) {
jQuery("#infobox-" + group + "-locationmap-" + remindex).hide();
jQuery("#infobox-" + group + "-locationmap-" + shwindex).show();
}
jQuery('table.infobox').each(function(i, group) {
var maps = jQuery(group).children('tbody').children('tr.infobox-locationmap');
var count = maps.get().length;
if (count <= 1) {
return 1;
}
var mapNames = []
maps.each(function(j, currentmap){
var titleNode = jQuery(currentmap).children('td:first-child()').children('div:first-child()').children('div').get(0);
var text = jQuery(titleNode).text();
var mapName = text.replace('Położenie na mapie ', '');
mapNames[j] = mapName;
});
maps.each(function(j, currentmap) {
jQuery(currentmap).attr('id', "infobox-" + i + "-locationmap-" + j);
var nextlink = jQuery('<a href="#"/>');
var nextmap = (j + 1) % count;
nextlink.text('Przełącz na mapę ' + mapNames[nextmap]).click(function() {
toggleMap(i, j, nextmap); return false;
});
var titleNode = jQuery(currentmap).children('td:first-child()').children('div:first-child()').children('div').get(0);
jQuery('<div>').addClass('locationmap-infobox-toggle-button')
.append('(')
.append(nextlink)
.append(')')
.appendTo(jQuery(titleNode));
if (j != 0) {
jQuery(currentmap).hide().addClass('noprint');
}
});
});
});
wtedy na stronie Szablon:Polskie_miasto_infobox w części Szablon:Polskie_miasto_infobox#Zwoleń (miasto w gminie miejsko-wiejskiej) mapy: gmina, kraj Polska, województwo i powiat są przedstawione w postaci przełączania pomiędzy tymi mapami wyświetlając jednocześnie jedną mapę, podobnie jest na stronie Szablon:Infobox_mapa_lokalizacyjna, a teraz to są oddzielne mapy bez możliwości przełączania pomiędzy nimi wyświetlane jednocześnie. Persino (dyskusja) 17:17, 8 mar 2019 (CET)
- Czy aby na pewno potrzebne są nam takie infoboksy? --Wargo (dyskusja) 21:35, 8 mar 2019 (CET)
- Ale mapy są na pewno potrzebne, gdzie leży na przykład na pewno jakiś powiat na tle pewnych map, a infoboxy takie jak Szablon:Polskie_miasto_infobox#Zwoleń (miasto w gminie miejsko-wiejskiej), w których są te mapy, a więc są one potrzebne, ale ponadto one zawierają jeszcze kilka podstawowych informacji, w tym przypadku o mieście Zwoleń, które każdy powinien znać bez zaznajomienia się z właściwym tekstem. A szablon Szablon:Infobox_mapa_lokalizacyjna nie muszę wyjaśniać dlaczego jest potrzebny, bo wiadomo. Persino (dyskusja) 22:54, 8 mar 2019 (CET)
- Pytam o szablony typu miasto infobox czy czasopismo infobox. Gdzie będą używane? --Wargo (dyskusja) 10:35, 9 mar 2019 (CET)
- Szablony typu czasopismo infobox mogą być umieszczane w książkach, np. w metodologii i historii jakiś nauk, np. fizyki, gdzie co w których czasopismach okryto na jakiś temat jakieś okrycia naukowe i oczywiście omówione jest to odkrycie na tle w tym przypadku historii fizyki, wtedy by się przydało użyć szablon czasopismo infobox. A szablon miasto infobox może mieć zastosowanie pisząc książkę na temat historii miasta, np. Zwolenia, wtedy należało by użyć ten właśnie szablon na początku książki podając podstawowe informacji o tym mieście. Persino (dyskusja) 13:20, 9 mar 2019 (CET)
- Zbiór MediaWiki:Gadget-map-toggler.js jest częścią projektu do modułów map: Moduł:Mapa. Persino (dyskusja) 18:01, 9 mar 2019 (CET)
- Szablon czasopismo infobox może być użyty do książek na temat historii dziennikarstwa, w których są omawiane jak się rozwijały czasopisma przekazujące codzienne wiadomości z całego świata. Persino (dyskusja) 18:11, 9 mar 2019 (CET)
- Pytam o szablony typu miasto infobox czy czasopismo infobox. Gdzie będą używane? --Wargo (dyskusja) 10:35, 9 mar 2019 (CET)
- Ale mapy są na pewno potrzebne, gdzie leży na przykład na pewno jakiś powiat na tle pewnych map, a infoboxy takie jak Szablon:Polskie_miasto_infobox#Zwoleń (miasto w gminie miejsko-wiejskiej), w których są te mapy, a więc są one potrzebne, ale ponadto one zawierają jeszcze kilka podstawowych informacji, w tym przypadku o mieście Zwoleń, które każdy powinien znać bez zaznajomienia się z właściwym tekstem. A szablon Szablon:Infobox_mapa_lokalizacyjna nie muszę wyjaśniać dlaczego jest potrzebny, bo wiadomo. Persino (dyskusja) 22:54, 8 mar 2019 (CET)
Zrobione --Wargo (dyskusja) 18:46, 9 mar 2019 (CET)
- Sprawdziłem wszystko działa. Dzięki! Persino (dyskusja) 19:03, 9 mar 2019 (CET)
Gadżet: MediaWiki:Gadget-delete-local.js z kategorią błędu.
edytujCzy mógłbyś zrobić porządek ze skryptem JavaScript: MediaWiki:Gadget-delete-local.js, który odwołuje się do nieistniejącego pliku, bo znajduje się w kategorii: Strony z odwołaniami do nieistniejących plików, chcę by nie siedział on tam. Persino (dyskusja) 18:45, 20 cze 2019 (CEST)
Zmiana nazwy szablonów z serii TopPage
edytujCzy ma sens zmiana nazwy szablonów z tej serii na ich odpowiedniki polskie dla szablonów otwierających, np.: {{TopPage}} na {{Szkielet góry strony}}, {{TopPage2}} na {{Podstawowa góra strony}}, itd., podobnie jest dla ich odpowiedników zamykających. Persino (dyskusja) 20:39, 30 cze 2019 (CEST)
- Czy jednak pozostać przy starych nazwach tych szablonów? Persino (dyskusja) 17:33, 1 lip 2019 (CEST)
- A może lepszym wyborem są zamiany:
- {{TopPage}} i {{BottomPage}} na {{StronaStart}} i {{StronaKoniec}}
- {{TopPage2}} i {{BottomPage2}} na {{UnikatowaStronaStart}} i {{UnikatowaStronaKoniec}}
- {{TopColumnPage}} i {{BottomColumnPage}} na {{SkomplikowanaStronaStart}} i {{SkomplikowanaStronaKoniec}}
- {{TopOneColumnPage}} i {{BottomOneColumnPage}} na {{StandardowaStronaStart}} i {{StandardowaStronaKoniec}}
- {{TopOneColumnNoPaddingPage}} i {{BottomOneColumnNoPaddingPage}} na {{PodstawowaStronaStart}} i {{PodstawowaStronaKoniec}}
- {{TopOneColumnNoBorderPage}} i {{BottomOneColumnNoBorderPage}} na {{ProstaStronaStart}} i {{ProstaStronaKoniec}}
Persino (dyskusja) 18:31, 1 lip 2019 (CEST)
- Nazwy powinny informować, do czego służy szablon. Najlepiej po polsku. Zanim jednak nazwa zostanie nadana lub zmieniona, należy się zastanowić nad ostateczną wersją - pisząc do mnie już kilkukrotnie zmieniałeś propozycje. --Wargo (dyskusja) 11:13, 2 lip 2019 (CEST)
- Czyli jakie proponujesz nazwy? Persino (dyskusja) 13:52, 2 lip 2019 (CEST)
Czcionki systemowe a serwerowe
edytujMam kłopot z czcionkami systemowymi, czcionki na widowsie są wieksze niż na linuksie przy tej samej czcionce i o takim samym rozmiarze, bez ustawiania divowych korekcji czcionki, jak ja to robiłem w szablonie {{StronaStart}}, chcę zrezygnować z tej korekcji i zostawić tylko rozmiar czcionki w pikselach. Jak się pytałem na forum, że trzeba je zmienić na niesystemowe. Czy mógłbyś ustawić dobre czcionki serwerowe na polskim Wikiboksie, np. na: FreeSans, FreeSerif i FreeMono, aby do nich można było się odwołać za pomocą właściwości: font-family? Persino (dyskusja) 21:07, 23 wrz 2019 (CEST)
- Jeżeli są czcionki serwerowe serwerów Wikimedia, to jak z nich skorzystać? Persino (dyskusja) 14:30, 24 wrz 2019 (CEST)
- Zalecane jest używanie czcionek uniwersalnych, domyślnych, systemowych. --Wargo (dyskusja) 20:01, 24 wrz 2019 (CEST)
- Mówiono mi na forum o czcionkach systemowych, że używanie ich to zwykła losowość, co o tym myślisz! Persino (dyskusja) 20:34, 24 wrz 2019 (CEST)
Dodawanie wpisów i usunięcie starych w MediaWiki:common.js
edytujCzy mógłbyś usunąć wpis z MediaWiki:common.js, dotyczący wstawiania stopki, następujący:
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]]*/
jQuery(function(){
var strona=document.getElementById('strona');
if(strona!=null){
var footer = document.getElementById('mojaStopka1');
if (footer != null) {
strona.appendChild(footer);
}
}else{
var strona2=document.getElementById('bodyContent');
if(strona2!=null){
var footer = document.getElementById('mojaStopka1');
if (footer != null) {
strona2.appendChild(footer);
}
}
}
});
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]]*/
i dodać zamiast niego wpis:
jQuery(document).ready(function() {
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var content = document.getElementById('content');
if (content !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (content.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!=null){
strona.appendChild(footer);
}else{
content.appendChild(footer);
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
});
Ten wpis, który masz dodać znajduje się na stronie Wikipedysta:Persino/common.js. Persino (dyskusja) 16:06, 16 sty 2020 (CET)
Kategoria Wikizeszyty
edytujHej, ja nie tworzyłam kategorii Kategoria: Wikizeszyty szkolne. :) Zależy nam, by była kategoria Wikizeszyty, bo tak się nazywa projekt. A do niego są poszczególne tematyczne. Czy to będzie problem? (oraz: dziękuję za przywitanie na Wikibooks!) Klarqa (dyskusja) 17:05, 12 maj 2020 (CEST)
Czy mógłbyś zmienić kod dotyczący stopki szablonu {{Nagłówek}} na stronie MediaWiki:Common.js na taki:
jQuery(document).ready(function() {
/* Skrypt odpowiedzialny za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
var hideAll = document.getElementById('mójNagłówekUkryj');
var noFooter = false;
var footers = 0;
var tags = document.getElementsByTagName('div');
for (var i = 0; i < tags.length; i++) {
var el=tags[i].getAttribute("id");
if (el=='mojaStopka')
footers++;
else if (hideAll && (el=='mójNagłówek')) {
tags[i].innerHTML="";
noFooter=true;
}
}
if (noFooter) return;
var footer = document.getElementById('mojaStopka');
if ((footer !== null) && (footers==1)) {
var bodyContent = document.getElementById('bodyContent');
if (bodyContent !== null) {
var s0=document.getElementById('mojaStopka0');
var s1=document.getElementById('mojaStopka1');
if ((s1 !== null) ||
((s0 === null) && (content.innerHTML.length>8000))){
var strona=document.getElementById('strona');
if(strona!==null){
strona.appendChild(footer);
}else{
var catlinks=document.getElementById('catlinks');
if(catlinks !== null){
bodyContent.insertBefore(footer,catlinks);
}else{
bodyContent.appendChild(footer);
}
}
}
}
}
/* Koniec skryptu odpowiedzialnego za wyświetlanie szablonu Nagłówek [[Szablon:Nagłówek]] */
});
Jego kod znajduje się na stronie Wikipedysta:Persino/common.js. Chodzi mi, by stopka była przed wyświetleniem listy kategorii, do których należy strona, a nie po. Jakby coś nie działało, to byłoby dobrze, byś poprawił mój kod! Możesz sprawdzić, czy jest wszystko OK na stronie Unicode. Persino (dyskusja) 13:42, 24 cze 2020 (CEST)
Szukaj w podręczniku
edytujMamy oto sobie kod:
function PageInfoInit()
{
var _g = /_/g;
this.fullname = mw.config.get('wgPageName');
this.namespacenumber = mw.config.get('wgNamespaceNumber');
if(this.namespacenumber !== 0){
name_re=/^[^:\/]*:/g;
this.pagename=this.fullname.replace(name_re,'');
namespace_re=/^[^:\/]*/g;
this.namespace=this.fullname.match(namespace_re).toString();
}else{
this.pagename=this.fullname;
this.namespace="";
}
var re,i;
if(this.namespacenumber === 0 || this.namespacenumber === 104) {
re=/^[^\/]*/g;
this.bookname = this.pagename.match(re).toString();
this.book=this.bookname;
re=/^[^\/]*\//g;
this.articlename=this.pagename.replace(re,'');
}else{
if(this.namespacenumber == 4){
re=/^Brudnopis\/[^\/]*\/[^\/]*/g;
this.bookname = this.pagename.match(re);
if(this.bookname === null){
this.bookname=this.pagename;
this.book=this.bookname;
re=/^[^\/]*\//g;
this.articlename=this.pagename.replace(re,'');
}else{
re=/\/[^\/]*$/g;
this.bookname=this.bookname.toString();
i=this.bookname.search(re);
this.book=this.bookname.slice(i+1);
re=/^Brudnopis\/[^\/]*\/[^\/]*\//g;
this.articlename=this.pagename.replace(re,'');
}
}else{
if(this.namespacenumber == 2){
re=/\.(js|css)$/g;
if(! this.pagename.match(re)){
re=/^[^\/]*\/[^\/]*/g;
this.bookname = this.pagename.match(re);
if(this.bookname === null){
this.bookname=this.pagename;
this.book=this.bookname;
re=/^[^\/]*\//g;
this.articlename=this.pagename.replace(re,'');
}else{
re=/\/[^\/]*$/g;
this.bookname=this.bookname.toString();
i=this.bookname.search(re);
this.book=this.bookname.slice(i+1);
re=/^[^\/]*\/[^\/]*\//g;
this.articlename=this.pagename.replace(re,'');
}
}else{
re=/^[^\/]*/g;
this.bookname = this.pagename.match(re).toString();
this.book=this.bookname;
re=/^[^\/]*\//g;
this.articlename=this.pagename.replace(re,'');
}
}else{
re=/^[^\/]*/g;
this.bookname = this.pagename.match(re).toString();
this.book=this.bookname;
re=/^[^\/]*\//g;
this.articlename=this.pagename.replace(re,'');
}
}
}
re=/\/[^\/]*$/g;
i = this.pagename.search(re);
this.subpagename = (i!=-1)?this.pagename.slice(i + 1):this.bookname;
this.fullbookname = (this.namespacenumber===0)?this.bookname:this.namespace+":"+this.bookname;
if ( document.URL.search("//pl.wikibooks.org/w/index.php") != -1 ) {
re = /\&diff=/g;
this.diff = re.test(document.URL);
re = /\&action=[^\&]*/g;
this.action = document.URL.match(re);
if ( this.action === null ) {
this.action = 'get';
} else {
this.action = this.action[0].slice(8, this.action[0].length);
}
} else {
this.diff = null;
this.action = 'get';
}
}
var pageInfo = new PageInfoInit();
var googleSearchInitialized = false;
function insertGoogleSearch() {
var namespacenumber = pageInfo.namespacenumber;
var fullbookname=pageInfo.fullbookname;
var bookname=pageInfo.bookname;
var diff_brudnopis=/^Brudnopis\/[^\/]*\/[^\/]*$/g;
var diff_user=/^[^\/]*\/[^\/]*$/g;
var wikijunior_mainpage="Strona_główna";
if (((namespacenumber !== 0) && (namespacenumber != 104) && ( namespacenumber != 4) && (namespacenumber != 2))
|| ((namespacenumber == 104) && (bookname == wikijunior_mainpage))
|| ((namespacenumber == 4) && (! diff_brudnopis.test(bookname)))
|| ((namespacenumber == 2) && (! diff_user.test(bookname)))
|| googleSearchInitialized
) {
return;
}
googleSearchInitialized = true;
var ul = jQuery('#p-tb ul')[0];
if (!ul) {
return;
}
var link = document.createElement('a');
var site="pl.wikibooks.org/wiki/";
var google = "https://www.google.com/custom?sa=Google+Search&domains=PAGE&sitesearch=PAGE";
var re=/(\+|\-|\&|\=)/g;
fullbookname=re.test(fullbookname)?encodeURIComponent(fullbookname):fullbookname;
link.href = google.replace(/PAGE/g, site+fullbookname);
link.appendChild(document.createTextNode("Szukaj w podręczniku"));
var li = document.createElement('li');
li.id = "google-trick-search";
li.appendChild(link);
ul.insertBefore(li, ul.firstChild);
}
$(insertGoogleSearch);
Ten kod również znajduje się na stronie Wikipedysta:Persino/common.js, czy mógłbyś zastąpić pewne fragmenty kodu w MediaWiki:common.js przez ten kod. Należy wymienić pewne fragmenty kodu na to! Ten kod wyświetla link Szukaj w podręczniku w lewej nawigacji obok stron podręczników w przestrzeni mnazw (główna) i Wikijunior oraz w nibyprzestrzeniach: Wikibooks:Brudnopis/<nazwa użytkownika>, np.: Wikibooks:Brudnopis/Persino i Wikipedysta:<Użytkownik>, np.: Wikipedysta:Persino. W tych przestrzeniach i nibyprzestrzeniach mogą lub znajdują się książki. Persino (dyskusja) 18:38, 11 lip 2020 (CEST)
Linki inteligentne do {{LinkOgólne}} i jego kolegów
edytuj@Wargo:Czy mógłbyś kod JavaScriptu:
/*Funkcja do wyświetlania komunikatów do [[Szablon:Link wewnętrzny]]*/
function WyswietlKomunikatInfo(id,komunikat){
var body_wszystkie=document.getElementsByTagName('body');
if(!body_wszystkie){return;}
var body=body_wszystkie[0];
if(!body){return;}
var bodycontent = document.getElementById('bodyContent');
if(!bodycontent){return;}
var id_animation=document.getElementById('id_animation_komunikatów');
if(id_animation){body.removeChild(id_animation);}
var div=document.createElement('div');
div.position="absolute";
var element=id.getBoundingClientRect();
var left_real=element.left+window.scrollX;
var top_real=element.top+window.scrollY;
var font=14;var left=0;var top=-2;
div.style.left=(parseInt(left_real+left*font)).toString()+'px';
div.style.top=(parseInt(top_real+top*font)).toString()+'px';
div.style.position="absolute";
div.style.width="max-content";
div.style.height="max-content";
div.style.fontSize=font+'px';
div.style.fontVariant="normal";
div.style.fontStyle="normal";
div.style.fontWeight="normal";
div.style.lineHeight="1.2em";
div.style.backgroundColor="#ffc";
div.style.border="1px solid #db4";
div.style.padding="0.29em";
div.style.opacity="0";
div.style.zIndex="-1";
div.style.animationName='link_wewnętrzny_info';
div.style.animationDuration="5s";
div.style.animationDelay="0s";
div.id="id_animation_komunikatów";
div.innerHTML=komunikat;
div_element=body.appendChild(div);
var rectbodycontent=bodycontent.getBoundingClientRect();
var leftbodycontent=rectbodycontent.left+window.scrollX;
var widthbodycontent=bodycontent.offsetWidth;
var id_komunikat_right=left_real+left*font+div_element.offsetWidth;
var marginesRight=1;
if(widthbodycontent+leftbodycontent<id_komunikat_right+marginesRight){
var roznica_offsetow=id_komunikat_right-widthbodycontent-leftbodycontent;
div_element.style.left=(parseInt(left_real+left*font-(roznica_offsetow)-marginesRight)).toString()+'px';
}
}
function UsunKomunikatInfo(){
var body_wszystkie=document.getElementsByTagName('body');
if(!body_wszystkie){return;}
var body=body_wszystkie[0];
if(!body){return;}
var id_animation=document.getElementById('id_animation_komunikatów');
if(id_animation){body.removeChild(id_animation);}
}
function UstawZdarzeniaKomunikatuInfo(){
var klasa_link_wewnetrzny=document.getElementsByClassName('link_wewnętrzny');
for (var i=0;i<klasa_link_wewnetrzny.length;i++){
var poszczegolna_klassa=klasa_link_wewnetrzny[i];
var komunikat_ukryty=poszczegolna_klassa.getElementsByClassName('komunikat_ukryty');
if(!komunikat_ukryty){return;}
if(komunikat_ukryty.length==0|| komunikat_ukryty.length>1){return ;}
var jedyny_komunikat_ukryty=komunikat_ukryty[0];
klasa_link_wewnetrzny[i].removeChild(jedyny_komunikat_ukryty);
var komunikat=jedyny_komunikat_ukryty.innerHTML;
var a_tag=poszczegolna_klassa.getElementsByTagName('a');
if(!a_tag){return;}
if(a_tag.length==0|| a_tag.length>1){return ;}
a_tag[0].setAttribute("onMouseOver","WyswietlKomunikatInfo(this,'"+komunikat+"')");
a_tag[0].setAttribute("onMouseOut","UsunKomunikatInfo()");
}
}
$(UstawZdarzeniaKomunikatuInfo);
ze strony Wikipedysta:Persino/common.js oraz CSS:
@keyframes link_wewnętrzny_info {
0% {
opacity: 0;
z-index: 1;
}
20% {
opacity: 1;
z-index: 1;
}
99% {
opacity: 1;
z-index: 1;
}
100% {
opacity: 0;
z-index: -1;
}
}
ze strony Wikipedysta:Persino/common.css przenieść do stron Common.js i Common.css. Te funkcje powodują, że pojawia się dymek nad linkiem inteligentym, gdy na niego najedziemy myszką, a gdy odjedziemy od niego to dymek znika, ten dymek przedstawia, czy link jest z nagłówkiem, czy nie, czy istnieje na bieżącym Wiki, czy nie, czy jest elementem wikidanych, czy nie. Persino (dyskusja) 12:07, 23 gru 2020 (CET)
Wymuszenie białego tła w tabelach.
edytujCześć, mam pytanie. Autor tej edycji wymusił białe tło w tabelach, ale nie wiem dlaczego.. Z tego co widzę od dłuższego czasu ma wikiwakacje, więc nie ma sensu do niego pisać. Czy można by rozważyć usunięcie tego wymuszenia białego tła? To by pomogło podnieść jakość kilku podręczników (np. zbioru zadań, który ostatnio rozwijam, czego przykładem jest ta strona). Nie wiem niestety, jaki był powód tamtej edycji. Nie potrafię znaleźć dla niej merytorycznego uzasadnienia. Z góry dzięki za pomoc. Superjurek (dyskusja) 21:41, 7 kwi 2021 (CEST)
Wstawianie kodu do MediaWiki:Common.js
edytujMasz do zrobienia, co jest pokazana na stronie: Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia. Persino (dyskusja) 09:32, 13 lis 2021 (CET)
Nowa praca na stronie Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia w sekcji Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia#Zamienianie kodu MediaWiki:Gadget-StronaSubst.js na Wikipedysta:Persino/Gadget-StronaSubst.js w MediaWiki:Gadget-StronaSubst.js
edytuj- @Wargo: Masz pracę na stronie Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia w sekcji Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia#Zamienianie kodu MediaWiki:Gadget-StronaSubst.js na Wikipedysta:Persino/Gadget-StronaSubst.js w MediaWiki:Gadget-StronaSubst.js. Z góry dziękuję! Persino (dyskusja) 17:55, 29 lis 2021 (CET)
Ostania poprawka
edytuj- @Wargo: Masz pracę na stronie Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia w sekcji [[:Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia#
Ostatnia poprawka kodu MediaWiki:Gadget-StronaSubst.js na Wikipedysta:Persino/Gadget-StronaSubst.js w MediaWiki:Gadget-StronaSubst.js|Wikibooks:Prośby do administratorów interfejsu/Zgłoszenia# Ostatnia poprawka kodu MediaWiki:Gadget-StronaSubst.js na Wikipedysta:Persino/Gadget-StronaSubst.js w MediaWiki:Gadget-StronaSubst.js]]. Z góry dziękuję!