jQuery Typographer

---
Wersja: 0.1.2
Pobierz: [zip] [tar.gz]
Repozytorium: github
Bugtracker: github
Licencja: MIT
Kontakt: mirz.hq@gmail.com

Opis

jQuery Typographer jest wtyczką do jQuery, która umożliwia automatyczną poprawę jakości typograficznej polskojęzycznych tekstów na stronach WWW.

Przykłady

Kompatybilność

Wtyczka została przetestowana (i działa poprawnie) na następujących przeglądarkach:

Zależności

Do prawidłowego działania wtyczka wymaga biblioteki jQuery w wersji co najmniej 1.3.

Budowa

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:

Użycie

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 */ });
});

Opis modułów

typographer_hyphen

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 &shy; 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.

Opcje

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.

Metody

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ę &shy;

typographer_orphan

Moduł odpowiedzialny jest za korektę wiszących spójników – za każdym spójnikiem wstawiana jest twarda spacja.

Opcje

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.

Metody

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).

typographer_punctuation

Moduł jest odpowiedzialny za korektę niektórych aspektów interpukcji: cudzysłowów, wielokropków, apostrofów, myślników.

Opcje

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.

Metody

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.

Linki