2012-07-01 16 views
7

Na moim interfejsie internetowym mam do wykonania podzbiory składni wiki w moim systemie. Czy muszę ręcznie określać reguły i odkrywać nowe koło? Czy istnieje istniejąca biblioteka javascript lub wtyczka jquery, która mogłaby pomóc z nią?Rozwiązanie Jquery/Javascript do konwersji tekstu wiki na HTML i odwrotnie?

Przykładowo użytkownik wprowadzi == Header == Ponieważ musi się przekształcić w średnim cel dla przykładu (przy założeniu, że średnie określa się w tym kontekście jako rozpiętości jak poniżej)

<span class="mediumHeader" id = "Header">Header</span> 

Teraz, gdy użytkownik modyfikuje powyżej tekst Zgaduję, będzie ona obejmować zastąpienie

<span...> ... </span> z ==...==

teraz za każdym systemie zaprojektować to będzie jak za „moich zasad” an prawie nigdy nie będzie musiał wymyślać koła. Czy jest coś, co mógłbym użyć, aby ułatwić tę wiki do/z transformacji HTML za pomocą Jquery/Javascript? Jestem pewien, że jest to problem ze znanym rozwiązaniem.

Wolałbym dostosować to, co jest dopuszczalne, a co nie, tzn. Nie wszystko, co należy przetłumaczyć, na składnię wiki (lub HTML) tylko jej podzbiorów. Czy powinienem po prostu rzucić własną dla mojej aplikacji?

+0

Który dialekt wikitekstu? Jest ich bardzo dużo i odpowiedź na to pytanie nie jest możliwa bez tej informacji.Czy mówisz o formacie MediaWiki, jaki jest używany w Wikipedii? – hippietrail

Odpowiedz

5

Wystarczająco długo, abyś nie potrzebował tego, ale twój był największym hitem, kiedy zacząłem się nim zajmować.

Istnieje kilka opcji javascript - prawdopodobnie patrzysz na instaview (sprawdź test/test.js) lub może Wiky.js (mniej w pełni udokumentowane).

Jeśli nie jesteś ograniczony do Javascript, sprawdź wyczerpującą listę parserów MediaWiki pod adresem http://www.mediawiki.org/wiki/Alternative_parsers - wiele narzędzi dla C++, Java, Perl, ruby ​​i innych. To link do oglądania nowych wydarzeń.

3

W chwili pisania tego tekstu wydaje się być jedynym, który tłumaczy w obu kierunkach. Ten zasila również edytor wizualny w Wikipedii. Jednak nie jest to przydatna biblioteka kliencka, która można umieścić w aplikacji, ale w pełni rozbudowany pakiet serwera analiz i transformacji. Wersja produkcyjna Parsoid w klastrze Wikimedia jest dostępna pod numerem http://parsoid-lb.eqiad.wikimedia.org/.

innych bibliotek JavaScript, które są tłumaczenia z wikitekst tylko HTML (uporządkowane według popularności), są:

  • Wiky.js - nie obsługuje pełną składnię wikitekst. (przez tanin47, nie mylić z Wiki.js z Requarks - zupełnie inny projekt)
  • wtf_wikipedia - nie jest bezpośrednio tłumaczeniem na HTML, ale JSON, co daje o wiele większe możliwości (np. pary wartości). Jest to najbardziej up-to-date biblioteki i „jego kombinacja instaview, txtwiki i wykorzystuje dane między język z Parsoid JavaScript parser”.
  • instaview - brak aktualizacji w ciągu ostatnich 2 lat.

Również sprawdzić aktualną i pełną listę alternative MediaWiki parsers.

+1

Ładne i pełne pytanie. To powinna być zaakceptowana odpowiedź. – Sebastialonso