Wiele osób nie zdaje sobie sprawy do czego tak naprawdę służy klasyfikacja szablonów, a niejednokrotnie to jest przyczyna niepoprawnego wyświetlania się niektórych elementów na Mercurym. Często administratorzy traktują to po prostu jako dodatkową informację do czego ten szablon służy, nierzadko ją też całkowicie ignorując. Bardzo często się spotkałem z szablonami, w których wystarczy tylko zmienić typ, by pokazywał się normalnie. O ile Duckey w swoim blogu "W obronie Mercury'ego" poruszył już ten temat, chciałbym go rozwinąć i dokładnie opisać jak działa każdy z typów.
Typy ukrywające[]
Niektóre typy ukrywają bezwzględnie zawartość szablonów na urządzeniach mobilnych. Są to „Navboks” i „Komunikat”. Do nich należy sklasyfikować szablony z nawigacją wypełnioną wieloma linkami i komunikatami dla edytorów - jak na przykład zalążek artykułu. Nie ma potrzeby ich umieszczania na urządzeniach mobilnych, gdyż to są informacje niepotrzebne dla zwykłego czytelnika. Mimo wszystko nad niektórymi się jednak warto zastanowić jak np.: informacja o stronie ujednoznaczniającej i czy nie zmienić typu szablonu na inny, by pokazał się na Mercurym.
Navboksy to najczęściej tabele z wieloma linkami, które zmniejszone do małej szerokości ekranów, będą tworzyły ogromną ścianę tekstu, z której ciężko otworzyć ciekawiący czytelnika odnośnik. Funkcję nawigacyjną pełnią natomiast kategorie, w których zainteresowany może znaleźć artykuł z podobnego tematu co poprzednio czytana strona. Skoro robimy navboksy "zwijane", by nie zabierały niepotrzebnie wiele miejsca, to dlaczego mamy utrudniać życie użytkownikom mobilnym?
„Cytat”[]
Często wyróżniamy wypowiedziane przez postacie zdania, opisy przedmiotów w cytatach. Ze względu na wiele różnych sposobów ich prezentowania kod takich szablonów nie jest przetwarzany, a zamiast tego są brane dwa pierwsze przekazane parametry i ustawiane w specjalnie ostylowanych tagach <blockquote>
i <cite>
.
Niestety nie działa on do końca poprawnie. Jeśli drugi parametr jest co najmniej dwukrotnie większy od pierwszego, zostaną one zamienione miejscami. Do tego nie zawsze źródło musi się znajdować w drugim parametrze przez co możemy zobaczyć coś co nie powinno się wyświetlać. Jeśli takie problemy występują polecam zmienić typ na nieingerujący i samemu zrobić szablon bazujący na tagach <blockquote>
jak tutaj.
Odpowiedzialny kod[]
Przetwarzanie[]
- app/includes/wikia/parser/templatetypes/TemplateTypesParser.class.php
- app/includes/wikia/parser/templatetypes/handlers/QuoteTemplate.class.php
- app/includes/wikia/parser/templatetypes/templates/quote.mustache
Ostylowanie[]
blockquote {
border-left: .25rem solid rgba(26,94,184,.3);
font-size: 1rem;
font-weight: 400;
margin-bottom: 1rem;
padding: .25rem 0 .25rem 1rem
}
blockquote cite {
display: block;
font-size: .875rem;
font-style: normal;
line-height: 1.25rem;
padding-top: .875rem
}
blockquote cite:before {
content: "\2014 \0020"
}
blockquote cite a,blockquote cite a:visited {
color: #1A5EB8
}
blockquote,blockquote p {
line-height: 1.625rem;
color: #3a3a3a
}
„Odniesienie lub odwołanie”[]
Nie raz są tworzone szablony modyfikujące style wyświetlania przypisów i do nich należy przypisać ten typ. Wyświetla on normalnie zawartość szablonu pod warunkiem, że znajduje się tam tag <references/>
. W przeciwnym wypadku tylko on zostanie zwrócony.
„Scrollbox”[]
Nie raz chcemy umieścić jakąś bardzo długą listę niekoniecznie ważną dla danego artykułu i umieszczamy ją w jednym z parametrów szablonu, który zablokuje tekst do danej wysokości (najczęściej podanej w innym parametrze) z możliwością jego przewijania lub zostanie pokazany mały fragment z możliwością jego rozwinięcia. Na Mercurym zostanie wybrany najdłuższy parametr przekazany do szablonu i po przetworzeniu wikitekstu wyświetlony.
„Link kontekstowy”[]
Ten typ został stworzony dla wszelkich komunikatów prowadzących do innych stron rozwijających dany temat, lub o podobnej nazwie, czy też ujednoznacznień. Z takiego szablonu na urządzeniach mobilnych zostanie usunięte wiele rzeczy, jak wszelki wikitekst, tagi HTML, obrazy, znaki nowej linii i niepotrzebne „spacje”, by został sam tekst z ewentualnym linkiem. Taki tekst otrzymuje specjalne ostylowanie, które pochyla tekst i oddziela go dosyć dużą przerwą od reszty artykułu.
„Nawigacja”[]
Tutaj chciałbym się odwołać do komentarza Nanakiego pod blogiem Duckeya:
Szablony typy Nawigacja akurat nie jest ukrywany na skórce mobilnej. Służy właśnie do rozróżnienia prostej nawigacji, która jest kluczowa do poruszania się po treści od Navboksów, których zadanie to przedstawienie powiązanych treści w skondensowanej formie.— Komentarz Nanakiego pod blogiem "W obronie Mercury'ego"
Szablon z nim będzie ukryty, tylko gdy zawiera tagi <div>
, <table>
lub <p>
oraz usuwane są zagnieżdżone szablony z tym samym typem. Tak jak Nanaki wspomniał, służy on do prostej nawigacji jak np. wymienienie listy odcinków w formie listy wypunktowanej.
„Infoikona”[]
Często na wiki istnieją szablony, które na podstawie przekazanego parametru pokazują małą ikonę, często zastępując pisanie żmudnego, powtarzalnego i oczywistego tekstu jak np. ikona przedstawiająca przycisk na kontrolerze.
Ustawienie tego typu powoduje wyciągnięcie wszystkich zwróconych przez szablon obrazów i wyświetlenie ich w rozmiarach 20x20px, z ewentualnym linkiem przypisanym do ikony. Nie dotyczy to jednak obrazów z zewnętrznych źródeł (np. bezpośredni link do obrazu z vignette). Jeśli żadna grafika nie zostanie znaleziona, szablon zostanie normalnie pokazany.
Odpowiedzialny kod[]
Przetwarzanie[]
- app/includes/wikia/parser/templatetypes/TemplateTypesParser.class.php
- app/includes/wikia/parser/templatetypes/handlers/InfoIconTemplate.class.php
Ostylowanie[]
.article-media-icon {
margin-right: 6px;
}
Podsumowanie[]
Nie znaczy to jednak, że każdy typ ingeruje w sposób wyświetlania się szablonu na urządzeniach mobilnych. Niektóre wyświetlają kod tak jak jest z oczywistym wyłączeniem atrybutów style
. Są to: „Infoboks”, „Projekt”, „Dane”, „Obraz, film lub galeria” i „Nie do artykułów”. Na ten moment służą one tylko jako informacja dla edytorów.
Mam nadzieję, że uświadomiłem do czego tak naprawdę służą powyższe typy i jaki dają one efekt. Tak jak wspomniałem wiele problemów na Mercurym wynika z błędnej klasyfikacji, czy też jej ignorowaniem. Jeśli ktoś potrzebowałby z nimi pomocy może mi napisać na mojej tablicy lub zgłosić się o pomoc na Portability Hubie, gdzie z pewnością wraz z zespołem Vanguard Ci pomożemy. Do następnego!