Mbox jest modułem do tworzenia okienek z komunikatami.
Funkcje[]
- Szerokie możliwości dostosowywania z klasami, stylami wewnątrz linii i dostarczanymi selektorami CSS.
- Opcjonalne funkcje takie jak obrazy, lewa krawędź, tekst po prawej stronie (np. na skróty) oraz możliwość schowania komunikatu.
Installation[]
Moduł[]
Najpierw należy zainstalować sam moduł. Nie musisz kopiować kodu. Po prostu stwórz moduł o nazwie Moduł:Mbox (lub dowolnej innej, pamiętaj tylko aby potem poprawić wywołania #invoke) i dodaj poniższy kod.
return require('Dev:Mbox')
CSS[]
Następnie dodaj poniższy CSS do swojego Common.css lub Wikia.css.
Mbox posiada dwa typy reguł CSS. Pierwszy typ to CSS dla struktury/funkcji i ten nie powinien być modyfikowany, w najgorszym wypadku jego zmiana może uszkodzić komunikaty. Drugi typ to wygląd Mboxów, który powinien zostać zmodyfikowany aby odpowiadał potrzebom Twojej społeczności. Zobacz sekcję #Style aby dowiedzieć się więcej o selektorach związanych z wyglądem.
Poniższy CSS reprezentuje bazę dla Mboxów i może zostać znaleziony na stronie MediaWiki:Global Lua Modules/Mbox.css.
.mbox {
--type-important: rgba(200, 0, 0, 0.8);
--type-moderate: rgba(233, 124, 47, 0.8);
--type-minor: rgba(241, 197, 37, 0.8);
display: flex;
position: relative;
background-color: rgba(255, 255, 255, 0.7);
border: 1px solid #d6d6d6;
border-left-width: 8px;
border-left-color: #d6d6d6;
border-radius: 3px;
margin-bottom: 5px;
min-height: 32px;
}
.mbox.mbox-type-important {
border-left-color: var(--type-important);
}
.mbox.mbox-type-moderate {
border-left-color: var(--type-moderate);
}
.mbox.mbox-type-minor {
border-left-color: var(--type-minor);
}
.mbox__content {
display: table;
box-sizing: border-box;
width: 100%;
padding: 8px 15px;
}
.mbox__content__image {
display: table-cell;
width: 40px;
height: 100%;
text-align: center;
vertical-align: middle;
padding-right: 15px;
}
.mbox__content__wrapper {
display: table-cell;
vertical-align: middle;
}
.mbox__content__header {
display: block;
font-weight: bold;
}
.mbox__content__text {
display: block;
}
.mbox__content__text__comment {
font-size: small;
}
.mbox__content__aside {
display: table-cell;
width: 100px;
vertical-align: middle;
text-align: center;
padding-left: 15px;
border-left: 1px solid #d6d6d6;
}
.mbox__close {
position: absolute;
right: 0;
top: 0;
padding: 2px 7px;
font-weight: bold;
font-size: 16px;
color: #bbb;
cursor: pointer;
transition: all .15s ease-in;
}
.mbox__close:hover {
color: #777;
}
.mbox__close:after {
content: '×';
}
.mw-collapsed + .mbox__close {
transform: rotate(45deg);
padding: 4px 7px 5px 2px;
}
/* Ensure text is readable in the FandomDesktop dark theme. */
.theme-fandomdesktop-dark .mbox {
background-color: var(--theme-page-background-color--secondary);
border-color: var(--theme-border-color);
}
Szablon[]
Ten szablonzostał zaprojektowany aby być używanym jak zwykły szablon. Aby tego dokonać po prostu utwórz szablon (np. Szablon:Komunikat) z następującą treścią:
{{#invoke:Mbox|main}}
Teraz utworzony przez Ciebie szablon będzie akceptował parametry opisane poniżej.
Można je także aplikać bezpośrednio do wywołania #invoke i będą działać jak wartości domyślne. Ich wartości zostaną nadpisane przez te same parametry podane do szablonu.
Parameters[]
Przykłady użycia tych parametrów znajdują się w sekcji #Przykłady.
| Parametr | Opis | Wymagany? | Wartość domyślna |
|---|---|---|---|
class
|
Dodatkowe klasy do podstawowego elementu .mbox.
|
Nie | — |
bordercolor
|
Kolor najgrubszej, lewej krawędzi komunikatu. | Nie | Domyślny stylu |
type
|
Typ mboxa zadeklarowany w zmiennych CSS. Dotyczy koloru najgrubszej, lewej krawędzi komunikatu. | Nie | — |
bgcolor
|
Kolor tła komunikatu. | Nie | Domyślny stylu |
style
|
Dodatkowe wewnątrzliniowe style dla podstawowego elementu .mbox.
|
Nie | — |
image
|
Obraz dodawany z lewej strony treści komunikatu. | Nie | — |
imagewidth
|
Szerokość obrazu (wysokość jest dopasowywana automatycznie). | Nie | 80px
|
imageadjust
|
For center/left/right/thumb | Nie | — |
imagelink
|
Link do którego kieruje obraz (może to być na przykład związana kategoria konserwacyjna). Jeśli nie podano, obrazu nie będzie można kliknąć. | Nie | — |
header
|
Nagłówek (pogrubiony tekst na górze). Zazwyczaj używa się go aby bardzo krótko opisać treść komunikatu. Gdy mbox jest zamknięty wyświetla sie tulko nagłówek. | Nie | — |
text
|
Tekst umieszczany pod nagłówkiem, zazwyczaj używany do wyjaśnienia treści komunikatu z dodatkowymi szczegółami. Gdy mbox jest zamknięty, tekst będzie ukryty. | Nie | — |
comment
|
Mniejszy tekst umieszczony pod głównym tekstem, zazwyczaj zawiera dodatkowe linki lub kontekst komunikatu. Gdy mbox jest zamknięty, ten tekst będzie ukryty. | Nie | — |
aside
|
Tekst umieszczony w małej przestrzeni z prawej strony komunikatu oddzielonej jasnoszarą przedziałką. Najczęściej wykorzystywany do ktrótkiego objaśnienia użytych skrótów (np. na stronach polityk wiki). Gdy mbox jest zamknięty, ten tekst będzie ukryty. | Nie | — |
id
|
Domyślnie jeden przycisk zamykania zamknie wszystkie mboxy na stronie. Jednakże zmiana tego parametru może być wykorzystana aby nadać nazwę implementacji mbox (np. „Szablon:Zalążek” może mieć |id = zalazek) i zmienić ten stan rzeczy.
|
Nie | — |
collapsed
|
Domyślnie mbox nie będzie zwinięty i pełna jego treść będzie wyświetlona. Aby to zmienić możesz użyć tego szablonu (np. |collapsed=true sprawi, że komunikat będzie domyślnie zwinięty).
|
Nie | — |
Style[]
Niektóre społeczności mogą chcieć zmienić wygląd komunikatów. Najpopularniejsze opcje stylowania przedstawiono poniżej z użyciem CSS-u.
.mbox {
/* tło całego komunikatu */;
background-color: ;
/* kolor ramki wokół całego komunikatu */
border-color: ;
/* grubość ramki wokół całego komunikatu */
border-width: ;
/* domyślny kolor najgrubszej ramki z lewej strony; zwróć uwagę, że ta wartość może zostać zmieniona z poziomu szablonu przy użyciu parametru „color” */
border-left-color: ;
/* zaokrąglenie na krawędziach */;
border-radius: ;
/* rozmiar tekstu wewnątrz komunikatu */
font-size: ;
}
.mbox__content {
/* odstęp wewnątrz komunikatu */
padding: ;
}
.mbox__content__image {
/* minimalna szerokość obrazu w komunikacie (jeśli większa użyj parametru „imagewidth” w szablonie) */
width: ;
/* przestrzeń z lewej strony tekstu (tj. po prawej od obrazu) */
padding-right: ;
}
.mbox__content__text__comment {
/* rozmiar tekstu z parametru „comment” */
font-size: ;
}
.mbox__content__aside {
/* wszystkie modyfikacje przestrzeni z parametru „aside” mogą zostać dodane tutaj */
/* maksymalna szerokość przestrzeni aside */
width: ;
}
.mbox__close {
/* wygląd symbolu zamykania */
}
.mbox__close:after {
/* nadpisz tutaj zawartość własności „content” jeśli nie chcesz aby symbolem zamykania było x */
content: "";
}
.mw-collapsed + .mbox__close {
/* modyfikacje symbolu zamykania gdy komunikat jest zamknięty */
}
.mw-collapsed + .mbox__close:after {
/* nadpisz tutaj zawartość własności „content” jeśli nie chcesz aby symbolem zamykania gdy komunikat jest zamknięty było x */
content: "";
}
- Uwagi techniczne
- Moduł mbox używa konwencji BEM selektorów ze względu na czytelność i aby uczynić przyszłe rozszerzenia struktury HTML prostszymi.
- Dodatkowe wewnątrzliniowe style do podstawowego elementu
.mboxmogą zostać dodane w parametrzestylew szablonie.
Przykłady[]
Różne parametry[]
Podstawowy komunikat[]
{{mbox
|header = Tekst nagłówka
|text = Normalny tekst
|bordercolor = red
|id = test1
}}
Zwraca:
Używanie typów[]
Aby używać typów należy dodać zmienne oraz klasy pomocnicze CSS. Na przykład:
:root {
--type-important: rgba(200, 0, 0, 0.8);
--type-moderate: rgba(233, 124, 47, 0.8);
--type-minor: rgba(241, 197, 37, 0.8);
}
/* NB: The following helper classes are required after <https://github.com/Wikia/app/commit/db84dac8d9bcaaf5d0bee993b11dc77c6792dc79>. */
.mbox.mbox-type-important {
border-left-color: var(--type-important);
}
.mbox.mbox-type-moderate {
border-left-color: var(--type-moderate);
}
.mbox.mbox-type-minor {
border-left-color: var(--type-minor);
}
Jeśli dodano:
{{mbox
|header = Tekst nagłówka
|type = important
|text = Normalny tekst
|id = test2
}}
Zwraca:
Obraz[]
{{mbox
|header = Tekst nagłówka
|text = Normalny tekst
|image = Wiki.png
|imagelink = Global Lua Modules
|imagewidth = 50px
|id = test3
}}
Zwraca:
Aside[]
{{mbox
|header = Tekst nagłówka
|type = important
|text = Normalny tekst
|aside = Tekst aside
|id = test4
}}
Zwraca:
Wszystkiego po trochu[]
{{mbox
|header = Tekst nagłówka
|text = Normalny tekst
|comment = Tekst komentarza
|image = Wiki.png
|aside = Tekst aside
|id = test5
|collapsed = true
}}
Zwraca:

Mboxy ze zmienionymi stylami[]
Standardowy/domyślny styl[]
{{mbox
|header = Tekst nagłówka
|text = Normalny tekst
|comment = Tekst komentarza
|image = Wiki.png
|aside = Tekst aside
|id = standard
}}
Zwraca:

Styl Wookieepedii[]
Odtwarza wygląd w:c:starwars:Template:Citation.

- CSS
.mbox {
background-color: #7bb0d8;
border: none;
border-radius: 10px;
}
.mbox__close {
color: #0c8787;
font-weight: normal;
font-size: 13px;
}
.mbox__close:after {
content: '[hide]';
}
.mw-collapsed + .mbox__close {
transform: none;
padding: 2px 7px;
}
.mw-collapsed + .mbox__close:after {
content: '[show]';
}
Styl Final Fantasy Wiki[]
Odtwarza wygląd w:c:finalfantasy:Template:Rename.
- CSS
.theme-fandomdesktop-light .mbox {
border-top: 1px solid #afaa84;
border-radius: 10px;
background: linear-gradient(180deg,rgba(255,255,246,1) 0,rgba(247,219,185,1) 40px);
}
.theme-fandomdesktop-dark .mbox {
border-top: 3px solid #1e9de3 !important;
border: 0;
background: linear-gradient(180deg,rgba(5,37,78,.5) 0,rgba(5,37,78,.5) 75%,rgba(5,37,78,0));
}
Uwagi techniczne i różności[]
- W tym module nie istnieje parametr
category. Aby dodać kategorię do strony używającej konkretnej implementacji Mboxa dodaj kod<includeonly>[[Kategoria:{{{category}}}]]</includeonly>. Jeśli chcesz aby dodanie kategorii było opcjonalne, dodaj<includeonly>{{#ifeq: {{{1|}}} | nocat | | [[Kategoria:{{{category}}}]] }}</includeonly>.
See also[]
- Global Lua Modules/Cbox - zaokrąglone krawędzie i inny wygląd
