Wikia

Wikia Polska

Komentarze12

Wprowadzenie do Lua, szybszych i wydajniejszych szablonów

Vuh cze 11, 2014 Blog użytkownika:Vuh

Lua, nowy język szablonów zostanie uruchomiony na wszystkich wiki w najbliższej przyszłości. Pozwoli to na łatwiejsze tworzenie i modyfikowanie szablonów, takich jak infobox, tabel nawigacyjnych i wielu innych.


Dlaczego wprowadzamy szablony Lua?

MarvelCharacterTemplate.png

Nie możesz zrozumieć kodowania? Użyj Lua!

Większość z was zapewne korzysta z szablonów na bieżąco. Platforma MediaWiki, na której zbudowana jest Wikia, wykorzystuje specjalną składnię wikitekstu jak na przykład funkcje parsera, aby użyć operacji logicznych i innych funkcji służących do tworzenia szablonów. Wprowadzenie funkcji parsera skutecznie zmieniło wikitekst w ograniczony język programowania. Chociaż funkcje parsera pozwalają robić wiele rzeczy w szablonach, złożone szablony powodują problemy z wydajnością i czasem potrzebnym do załadowania strony, oraz są często trudne dla użytkowników, którzy chcą je edytować i zrozumieć. Jeśli nie jesteś pewien, jakie funkcje parsera istnieją i jak z nich korzystać, to możesz zobaczyć, jak bardzo szablony mogą być skomplikowane!

Z tego powodu, wsparcie dla Lua jako języka szablonów zostało dodane do MediaWiki, włączając w to Wikia, także będzie można używać prostszego, szybszego i wydajniejszego języka szablonów. Dla edytorów szablonów, Lua pozwala na tworzenie złożonych szablonów i robienia rzeczy, które były albo zbyt skomplikowane, albo wolno ładowały wikitekst. Lua został zaprojektowany, aby był stosunkowo łatwy do opanowania, jest z powodzeniem stosowany w środowiskach gier, takich jak World of Warcraft, gdzie ludzie bez doświadczenia w programowaniu byli w stanie zmienić swoje otoczenie poprzez nauczenie się Lua. Dla tych, którzy nie edytowali zwykłych szablonów, mogą nadal korzystać z szybszego ładowania strony wykorzystując szablony Lua. Z przekształcenia infoboksów na Marvel Database do Lua, widzieliśmy strony, które ładowały się 35-50% szybciej!

Jak wygląda szablon Lua?

Szablony Lua są tworzone poprzez napisanie kodu Lua w przestrzeni nazw: Moduł. Następnie mogą zostać wykorzystane przez dodanie funkcji parsera {{#invoke:}} na stronie lub w szablonie. Jako przykład szablonu, który po prostu wypisuje pozdrowienia, można utworzyć Moduł:Powitanie o następującej treści:

local p = {}
 
function p.hello( frame )
    return 'Witaj, ' .. frame.args[1] .. '!'
end
 
return p

Następnie, aby skorzystać z szablonu na stronie (lub w innym szablonie), możesz dodać {{#invoke:Powitanie|hello|Wikia}}. To powinno pokazać nam "Witaj, Wikia!".

Gdzie mogę dowiedzieć się więcej o Lua?

Zaczęliśmy dokumentować naszą wersję rozszerzenia szablonów Lua (zwaną Scribunto) na Wikia Developers Wiki, będziemy nadal ją powiększać i ulepszać. Możesz również odwiedzić stronę internetową Lua i spojrzeć na Wikipedii na dokumentację Lua, moduły Lua i szablony utworzone za pomocą Lua, ponieważ używają Lua do większości rzeczy po dziś dzień.

Co dalej?

Czekajcie na więcej aktualizacji, kiedy rozciągamy szablony Lua na większej ilości wiki. Będziemy publikować aktualizacje o fajnych nowych funkcjach, oraz informację kiedy dodamy ją dla całej witryny, będziemy również prowadzić szkolenia na Wikia Developers Wiki dla tych, którzy mogą być zainteresowani.

Więcej od Wikii

Losowa wiki