Parsoid: pierwsze kroki Wikipedii w stronę szerszego wykorzystania HTML

Parsoid: pierwsze kroki Wikipedii w stronę szerszego wykorzystania HTML
05.03.2013 13:48

Pierwsi redaktorzy Wikipedii chcieli dobrze – na początku tegostulecia znajomość HTML nie była umiejętnością powszechną,mało kto też dobrze wykorzystywał arkusze stylów do budowanialayoutów stron i formatowania treści. Dlatego też stworzeniewłasnego języka znaczników do formatowania artykułów wredagowanej przez internetową społeczność encyklopedii byłopomysłem dobrym.12 lat później sytuacja wygląda zgoła odmiennie. Z jednejstrony przynajmniej podstawowa znajomość HTML nie jest niczymrzadkim wśród zainteresowanych internautów, z drugiej zaś samWikitext – język znaczników używany w Wikipedii – stał się ogromnieskomplikowany, i nawet doświadczeni wikipedyści mają problemy zpoprawnym jego stosowaniem, gubiąc się w tych wszystkichapostrofach. Co gorsza, ten język znaczników praktycznieuniemożliwia wprowadzenie do Wiki wizualnego edytora WYSIWYG, dziśoczekiwanego przez internautów niemal w każdej popularnej webowejaplikacji. [img=wiki]Dodatkowo trzeba pamiętać, że i tak oprogramowanie MediaWiki,na którym Wikipedia działa, musi te wszystkie dokumenty zapisaneWikitekstem przekonwertować do HTML, by były zrozumiałe dlaprzeglądarek. Tym zajmuje się w miarę prosty skrypt PHP,jednak przy obecnej liczbie edycji dokonywanych w internetowejencyklopedii, coraz wyraźniej widać jegoniewystarczającą wydajność. Gabriel Wicke pisze na łamachbloga Fundacji Wikimedia, że konwersja dużego artykułu zWikitekstu na HTML może zająć nawet 40 sekund.Idealnie byłoby całkowicie zrezygnować z Wikitekstu,przechowywać zawartość artykułów wyłącznie w HTML.Pozwoliłoby to zaoszczędzić miejsce i łatwo wprowadzić wizualnyedytor, czemu więc tego do tej pory nie zrobiono? Problemem, opróczzachowania zgodności z ogromną bazą istniejących dokumentówjest zachowanie możliwości bezstratnej konwersji międzyWikitekstem a HTML, tak by przekształcenie dokumentu z jednej wersjina drugą nie wprowadzało żadnych semantycznych różnic.Niestety jednak konwersja między Wikitekstem a HTML nie jest prosta. Po pierwsze, parser musiałbysobie poradzić ze złożoną, wykorzystującą wyrażenia regularneheurystyką przekształceń stylów, czyniącą tradycyjne technikiparsowania niemożliwymi do zastosowania, po drugie problemem jestskomplikowany system szablonów i preprocesor tekstów, który niedaje żadnej gwarancji, że na wyjściu uzyskamy dobrze zbudowanyfragment dokumentu HTML, po trzecie trzeba zapewnić, że każdyWikitext będzie przekształcony do poprawnego HTML (nie ma czegośtakiego jak błąd składniowy Wikitekstu), po czwarte wreszcie –znajdowanie różnic w edycjach tego samego dokumentu w Wikitekściejest znacznie łatwiejsze, niż w wypadku HTML.[img=parsoid]Rozwiązaniem tych bolączek ma być Parsoid, webowa usługapozwalająca na konwersję w obie strony między Wikitekstem i HTML5,a napisana na bazie frameworka Node.js. Na początku Parsoid posłużyjako podstawa działania projektu VisualEditor,a w przyszłości możne nawet pozwoli na wykorzystanie HTML jakogłównego formatu przechowywania dokumentów w oprogramowaniuMediaWiki. Na razie programiści Wikimediów będą starali sięraczej utrzymać równolegle systemy przechowywania dokumentów w obuformatach.Zainteresowanych tym, jak działają obie części Parsoida –konwerter wykorzystujący proces tokenizacji na bazie formalnychgramatyk do przekształcenia Wikitekstu w HTML, oraz konwerterprzeprowadzający serializację HTML, byprzekształcić go na Wikitext – zapraszamy do zapoznaniasię z wpisemna blogu Wikimediów. Niezainteresowanych zresztą teżzapraszamy, gdy następnym razem będziecie czytali coś wWikipedii, odczujecie wyraźniej, jak bardzo skomplikowanym systememjest MediaWiki.

Oceń jakość naszego artykułuTwoja opinia pozwala nam tworzyć lepsze treści.
Udostępnij:
Wybrane dla Ciebie
Komentarze (12)