jQuery Typographer jest wtyczką do jQuery, która umożliwia automatyczną poprawę jakości typograficznej polskojęzycznych tekstów na stronach WWW.
Wtyczka została przetestowana (i działa poprawnie) na następujących przeglądarkach:
Do prawidłowego działania wtyczka wymaga biblioteki jQuery w wersji co najmniej 1.3.
Wtyczka składa się z następujących modułów: typographer_hyphen
,
typographer_orphan
, typographer_punctuation
. Odpowiedzialne są one
za poprawę poszczególnych aspektów typografii.
Wtyczka dystrybuowana jest w dwóch wersjach:
min
– każdy z modułów w oddzielnym, zminimalizowanym pliku. Szablony
dzielenia wyrazów w osobnym pliku.pack
– cała wtyczka zminimalizowana w jednym pliku. Szablony
dzielenia wyrazów w osobnym pliku. Dodatkowa fasada ułatwiająca korzystanie z modułów.
Przed użyciem wtyczki należy załączyć plik z kodem źródłowym modułów. Jeśli planujemy
korzystać z modułu typographer-hyphen
musimy również załączyć plik z szablonami
dzielenia wyrazów (hyph-pl.min.js
):
<script type="text/javascript" src="jquery.typographer.min.pack.js"></script> <script type="text/javascript" src="hyph-pl.min.js"></script>
Zamiast załączania całej wtyczki można załączać pliki z poszczególnymi modułami, zależnie od potrzeb:
<script type="text/javascript" src="jquery.typographer.orphan.min.js"></script> <script type="text/javascript" src="jquery.typographer.hyphen.min.js"></script> <script type="text/javascript" src="hyph-pl.min.js"></script> <script type="text/javascript" src="jquery.typographer.punctuation.min.js"></script>
Następnie możemy wywołać wtyczkę. Jeśli korzystamy z wtyczki w wersji pack
, możemy zrobić to w następujący sposób:
$(document).ready(function() { $('#article').typographer({ modules: ['hyphen', 'orphan', 'punctuation'], // wywoływane moduły punctuation: { // opcje dla modułu typographer-punctuation correction: ['quotes'] } }); });
W modules
podajemy tablicę modułów, które mają zostać uruchomione. Domyślnie
jest ona pusta. Do każdego modułu można przekazać opcje w analogiczny sposób, jak powyżej
zostało to zrobione dla modułu typographer-punctuation
.
Jeśli interesuje nas tylko konkretny moduł, to możemy go również uruchomić w następujący sposób:
$(document).ready(function() { $('#article').typographer_punctuation({ /* opcje */ }); });
Moduł odpowiedzialny jest za dzielenie wyrazów. Działa w oparciu o algorytm Franka Lianga, który jest używany m.in. w
systemie TeX. Do działania wymaga szablonów dzielenia wyrazów – dołączonych do wtyczki
w pliku hyph-pl.min.js
. Szablony zostały zaczerpnięte ze
źródeł systemu TeX.
Dzielenie zrealizowane jest poprzez umieszczanie encji ­
w miejscach
podziału wyrazu. Encja ta jest niewidoczna w przeglądarce, jednak dzięki niej przeglądarka
wie, w którym miejscu można dokonać podziału wyrazu.
Nazwa | Domyślnie | Opis |
---|---|---|
contextClass | "jquery-typographer-hyphen" |
Klasa nadawana elementowi HTML, na którym wtyczka została wywołana. |
lang | "pl" |
Kod języka, którego dotyczy dzielenie wyrazów. Na podstawie kodu czytane są odpowiednie szablony dzielenia wyrazów. |
minWordLength | 3 |
Wyrazy krótsze od tej wartości nie będą dzielone. |
minLeft | 2 |
Minimalna liczba liter, którą może mieć pierwszy segment podzielonego wyrazu. |
minRight | 2 |
Minimalna liczba liter, ktorą może mieć ostatni segment podzielonego wyrazu. |
ignoreTags | ["pre", "code"] |
List znaczników, które zostaną zignorowane i wewnątrz nich nie dokona się podział. |
ignoreClass | "ignore-hyphen" |
Nadanie tej klasy elementowi HTML spowoduje ignorowanie jego zawartości podczas korekty. |
Nazwa | Opis |
---|---|
$.typographer_hypheh.splitWord(word) |
Zwraca tablicę segmentów dzielonego wyrazu podanego jako parametr. |
$.typographer_hypheh.hyphenate(text) |
Dzieli tekst wstawiając w odpowiednie miejsca encję ­ |
Moduł odpowiedzialny jest za korektę wiszących spójników – za każdym spójnikiem wstawiana jest twarda spacja.
Nazwa | Domyślnie | Opis |
---|---|---|
contextClass | "jquery-typographer-orphan" |
Klasa nadawana elementowi HTML, na którym wtyczka została wywołana. |
ignoreTags | ["pre", "code"] |
List znaczników, które zostaną zignorowane i wewnątrz nich nie dokona się korekta. |
ignoreClass | "ignore-orphan" |
Nadanie tej klasy elementowi HTML spowoduje ignorowanie jego zawartości podczas korekty. |
forbidden | ["a", "i", "o", "u", "w", "z"] |
Lista spójników, po których zostanie wstawiona twarda spacja. |
Metoda | Opis |
---|---|
$.typographer_orphan.deorphanize(text, options) |
Dokonuje korekty wiszących spójników. Do metody można przekazać listę spójników (patrz opcje). |
Moduł jest odpowiedzialny za korektę niektórych aspektów interpukcji: cudzysłowów, wielokropków, apostrofów, myślników.
Nazwa | Domyślnie | Opis |
---|---|---|
correction | ["quotes", "ellipsis", "dash", "apostrophe"] |
Tablica elementów, które zostaną poddane korekcie. |
contextClass | "jquery-typographer-punctuation" |
Klasa nadawana elementowi HTML, na którym wtyczka została wywołana. |
ignoreTags | ["pre", "code"] |
List znaczników, które zostaną zignorowane i wewnątrz nich nie dokona się korekta. |
ignoreClass | "ignore-punctuation" |
Nadanie tej klasy elementowi HTML spowoduje ignorowanie jego zawartości podczas korekty. |
Metoda | Opis |
---|---|
$.typographer_punctuation.correctQuotes(text) |
Dokonuje korekty cudzysłowów. |
$.typographer_punctuation.correctEllipsis(text) |
Dokonuje korekty wielokropka. |
$.typographer_punctuation.correctApostrophe(text) |
Dokonuje korekty apostrofów. |
$.typographer_punctuation.correctDashes(text) |
Dokonuje korekty myślników. |