Moduł Convert::Wiki

Uniwersytet Gdański - Instytut Matematyki - Zakład Informatyki - Strona domowa

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
[c] Piotr Arłukowicz, materiały z tej strony udostępnione są na licencji GNU.