Moduł Convert::Wiki
Uniwersytet Gdański - Instytut Matematyki - Zakład Informatyki - Strona domowaSpis treści
Moduł Convert::Wiki
Wstęp
Na pewno każdemu choć raz w życiu zdarzyło się skorzystać z dobrodziejstw Wikipedii. Należy zwrócić uwagę na to, że wiki to tak naprawdę całkiem sprytny system, który każdy może zainstalować dla własnych potrzeb na swoim webserwerze. Każda ze stron zapisywana jest w postaci specjalnego, wewnętrznego, węzłowego wiki-formatu. I właśnie w tym pomoże nam omawiany teraz moduł Perla! Jest on o tyle wspaniałomyślny, że możemy mu podać na wejście dokument w formacie HTML, POD czy nawet czysty TXT, a on przekonwertuje nam to wszystko do pięknego, błyszczącego, wewnętrznego Wikikodu!
Metody
Przyjrzyjmy się dostępnym metodom udostępnionym przez moduł:
- new()
- Tworzy nowy obiekt konwersji. Opcjonalnie może pobierać jako argumenty listę opcji opisanych poniżej:
debug jeśli włączony, dostaniemy informacje o błędach itp. interlink lista fraz, które jeśli zostaną znalezione w paragrafach, zostaną zamienione na linki.
Wyszukiwanie fraz podanych w interlink jest czułe na wielkość liter i jeśli wyszukana fraza różni się od poszukiwanej otrzymamy link z rurką (piped link). Możemy również podać różny cel linku i jego nazwę ([target|name]) oddzielając je znakiem '|'. Najlepiej jak zwykle zrozumieć to na przykładzie:
Foo # zamieni "foo" na "[[Foo|foo]]", "Foo" na [Foo] itp. Foobar|foo # jeśli znajdzie "foo", "Foo" itp. zamieni je na [[Foobar|foo]]
- as_txt()
- Zwraca wewnętrznie przechowywaną zawartość jako kod wiki.
$cvt->as_wiki();
- clear()
- Czyści obiekt konwersji resetując ostatni błąd i wyrzucając wszystkie wewnętrznie przechowywane węzły. Zwykle nie ma potrzeby aby robić to ręcznie, chyba że chcemy użyć ponownie obiekt konwersji z metodami add.
$cvt->clear();
- debug()
- Zwraca wartość true jeśli tryb debug jest właczony.
$debugmode = $cvt->debug(); # true lub false
- error()
- Zwraca ostatni komunikat o błędzie lub łańcuch pusty jeśli błąd nie wystąpił.
$last_error = $cvt->error(); $cvt->error($error); # ustawiamy nowy komunikat $cvt->error(''); # czyścimy błąd
- from_txt()
- Czyści obiekt metodą clear() a następnie konwertuje podany text do wewnętrznego formatu wiki.
$cvt->from_txt();
- nodes()
- Zwraca liczbę węzłów z jakich składa się nasz dokument. Dla świeżo utworzonego obiektu Convert::Wiki zwróci liczbę zero.
print "Węzły: ", $cvt->nodes(), "\n";
Przykład
use Convert::Wiki;
my $wiki = Convert::Wiki->new();
$wiki->from_txt ( $txt );
die ("Błąd: " . $wiki->error()) if $wiki->error;
print $wiki->as_wiki();
$wiki->from_html ( $html );
die ("Błąd: " . $wiki->error()) if $wiki->error;
print $wiki->as_wiki();
# czyścimy obiekt ręcznie
$wiki->clear();
$wiki->add_txt ( $txt );
die ("Błąd: " . $wiki->error()) if $wiki->error;
print $wiki->as_wiki();
Dokumentacja
I to by było na tyle. Prawda że proste? Kompletną dokumentację znajdziecie tutaj: http://search.cpan.org/~tels/Convert-Wiki-0.05/lib/Convert/Wiki.pm.
Uniwersytet Gdański - Instytut Informatyki - Strona domowa - Perl - Wyklady