Wersja jest podana jedynie orientacyjnie. Strona może wymagać głębszych aktualizacji
Globalna funkcja JavaScript importArticles()
udostępnia wspólny interfejs do wgrywania na wiki artykułów, które zawierają skrypty i style.
Jej funkcjonalność jest podobna jest podobna do funkcji importScriptPage
i importStylesheetPage
. Jednak, importArticles()
pozwala na import artykułów z innych wikii, scalać kilka artykułów w jeden, minifikować je oraz zwracaj w formie pojedynczego żądania. To zmniejsza zarówno rozmiar pliku jak i ruch wywołany pobraniem pliku, dzięki czemu wiki, która używa dużej ilości dodatkowych plików ładuje się szybciej.
Użycie[]
Funkcja importArticles()
wymaga na zdefiniowaniu modułów do wgrania artykułów. Moduły są obiektami JavaScript z własnościami w formie klucz/wartość. Poniższe właściwości są wymagane dla każdego modułu:
- type – oznacza typ artykułów jaki zostanie zawarty w tym module. Wspierane typy to:
- style – zawierające CSS (np: "MediaWiki:Common.css")
- script – zawierające JavaScript (np: "MediaWiki:Common.js")
- articles – artykuły, które mają zostać zaimportowane. Więcej informacji na temat co tutaj wpisać znajdziesz w sekcji Namierzanie artykułów poniżej.
Do importArticles()
można przekazać dowolną ilość modułów. Ale wszystkie artykuły w danym module muszą być tego samego typu.
importArticles()
(oraz przez zaawansowane techniki opisane poniżej) są zapisywane w pamięci podręcznej na maksymalnie 10 minut. Pamiętaj, że przy każdej zmianie należy założyć, że wszyscy użytkownicy na danej wiki otrzymają zaktualizowane wersje plików js i css dodanych przez importArticles()
dopiero po 10 minutach.Namierzanie artykułów[]
Do namierzania artykułów do zaimportowania jest używana prosta składnia. Jest bardzo podobna do i kompatybilna z linkami interwiki:
(Prefiks:{NazwaWiki}:){Artykuł}
To co w nawiasach jest opcjonalne, a to co w klamrach stanowi wartość wpisywaną przez użytkownika. Dwukropek służy do oddzielenia segmentów do parsowania. Prefiksy pozwalają na określenie gdzie i jak chcesz szukać artykułów i po nim z reguły następuje nazwa wiki, z wyjątkiem artykułów na lokalnej wikii.
Lokalne artykuły[]
Artykuły znajdujące się na lokalnej wiki można namierzyć podając ich tytuł w ten sam sposób jak można je zalinkować. Nie wymagają prefiksu czy nazwy wiki, ale dla wygody dostępny jest również prefiks local (lub w skrócie "l"). Przykładowo, jeśli chcesz zaimportować artykuł MediaWiki:Common.js, zadziała dowolna z poniższych wartości:
MediaWiki:Common.js
l:MediaWiki:Common.js
local:MediaWiki:Common.js
Artykuły zewnętrzne[]
Artykuły z innych wiki również mogą zostać zlokalizowane w ten sam sposób jak ich zalinkowanie. Jednak, w przeciwieństwie do lokalnych artykułów, zewnętrzne wymagają użycia prefiksu oraz nazwy wiki w celu określenia, z której społeczności mają zostać zaimportowane. FANDOM wspiera wybieranie na podstawie nazwy bazy danych, gdzie z reguły jest to angielska nazwa wiki, lub na podstawie jej adresu URL. Poszukiwanie na podstawie nazwy bazy danych wykonuje się za pomocą prefiksu external (lub "remote" albo "w" w skrócie), a lokalizowanie na podstawie URL wykonuje się za pomocą prefiksu url (lub w skrócie "u"). Przykładowo, jeśli chcesz zaimportować artykuł Highlight/code.css z FANDOM Open Source Library, zadziała dowolna z poniższych wartości:
w:dev:Highlight/code.css
remote:dev:Highlight/code.css
external:dev:Highlight/code.css
u:dev:Highlight/code.css
url:dev:Highlight/code.css
u:dev.wikia.com:Highlight/code.css
url:dev.wikia.com:Highlight/code.css
Ta składnia działa też dla wiki w innych językach. Na przykład, jeśli chcesz dodać artykuł MediaWiki:Common.js z włoskiej One Piece Wiki:
u:it.onepiece:MediaWiki:Common.js
url:it.onepiece:MediaWiki:Common.js
url:it.onepiece.wikia.com:MediaWiki:Common.js
Z reguły łatwiej namierzyć zasoby na innych wiki za pomocą URL niż bazy danych, ponieważ nie zawsze się zgadzają.
Zaawansowane użycie[]
Za kulisami, funkcja importArticles()
wykonuje trzy kluczowe zadania:
- Generowanie odpowiednie sformatowanego URL do użycia z ResourceLoaderem,
- Wykonanie Sanity testu na modułach w celu sprawdzenia czy są poprawnie sformatowane,
- Wyświetlenie informacji użytkownikowi w przypadku wystąpienia błędu.
Niemniej jednak, użycie tej funkcji nie jest wymagane żeby uzyskać korzyści z łączenia i minifikowania wielu artykułów w jedno żądanie. Jeśli chcesz, możesz ręcznie wygenerować URL i użyć go do wgrania zasobów ręcznie za pomocą innych metod jak @import w CSS czy jQuery.getScript w JavaScript.
Chociaż jest wiele parametrów, które można dodać do URL, poniższe prawdopodobnie będą najbardziej przydatne:
Parametr | Opis |
---|---|
mode
|
Mówi ResourceLoaderowi, że będziemy wgrywać artykuły. Powinien mieć wartość "articles". |
articles
|
Lista artykułów. Jeśli ma zostać wgranych kilka artykułów, powinny zostać oddzielone za pomocą pionowej kreski "|". |
only
|
Typ artykułów do zaimportowania. Powinien mieć wartość "scripts" (JS) lub "styles" (CSS). |
debug
|
Ten parametr nie jest domyślnie wymagany, ale można podać wartość "true", która pozwoli na wyłączenie minifikacji co ułatwi znalezienie problemów w artykułach po imporcie. |
Na koniec powinien powstać adres URL, który wygląda mniej więcej tak:
/load.php?mode=articles&articles=MediaWiki:Jeden.css|MediaWiki:Dwa.css&only=styles
Który może zostać użyty w połączeniu z @import
, w ten sposób:
@import url("/load.php?mode=articles&articles=MediaWiki:Jeden.css|MediaWiki:Dwa.css&only=styles");
Przykłady[]
Importowanie kilku artykułów ze skryptami, jeden z lokalnej wiki, drugi z innej wikii:
importArticles({
type: "script",
articles: [
"MediaWiki:MyCustomJavaScript.js",
"external:dev:MediaWiki:External_include.js"
]
});
Importowanie kilku artykułów ze stylami, jeden z lokalnej wiki, drugi z innej wikii:
importArticles({
type: "style",
articles: [
"MediaWiki:Common.css",
"external:starwars:MediaWiki:External_include.css"
]
});
Importowanie kilku modułów w jednym wywołaniu funkcji:
importArticles({
type: "script",
articles: [
"MediaWiki:MyCustomJavaScript.js",
"external:dev:MediaWiki:External_include.js"
]
}, {
type: "style",
article: "MediaWiki:Common.css"
});
Przykłady alternatywnej składni[]
Funkcja importArticles()
pozwala również na uproszczoną, alternatywną składnię dla typowych użyć. Dla wygody zdefiniowana jest również funkcja importArticle()
.
Importowanie jednego pliku na lokalnej wiki:
importArticle({
type: "style",
article: "MediaWiki:Common.css"
});
Zobacz również[]
- CSS i JS społeczności – jak tworzyć modyfikacje dla Twojej społeczności.
- Zaawansowane CSS i JS – więcej informacji dla chcących się zagłębić w świat edytowania CSS i JS.
- Dostosowywanie CSS i JS – strona zbierająca wszystkie szczegóły na temat CSS i JS.