2009-09-05 12 views
13

W systemie zarządzania treścią moderatorzy muszą zatwierdzić zmiany w istniejących artykułach. Obecnie system pokazuje starą i poprawioną wersję tekstu w postaci zwykłego tekstu. Trudno jest znaleźć rzeczywiste różnice.Poszukiwanie składnika sieciowego opartego na różnicach

W aplikacji GoogleDocs dostępna jest funkcja "Porównaj wersje", która podkreśla różnice między dwoma dokumentami.

Jeśli istnieje wolny składnik, który robi to samo?

Jeśli nie, czy napisałbyś taki komponent w JavaScript lub po stronie serwera?

Wszystkie zwykłe narzędzia do porównywania to aplikacje na komputer.

+0

Musisz znaleźć kilka wskazówek na stronie http: //stackoverflow.com/questions/206205/stackoverflow-diff-system –

Odpowiedz

10

John Resig napisał jeden w JavaScript, który wygląda interesująco.

Here it is.

+0

Bardzo ładne. – Sampson

+0

Jeśli jest wystarczająco dobre dla pana Resiga, to jest wystarczająco dobre dla mnie. Mały i użyteczny na kliencie niezależnie od tego, co jest na serwerze. Dzięki. –

3

jsdifflib Wygląda na interesującą bibliotekę po stronie klienta opartą na javascript. Opierałbym się mocno na implementacji po stronie klienta, gdyby zapewniał on potrzebne funkcje. Dlaczego opodatkowujesz swoje serwery logiką prezentacji, skoro i tak przekazujesz klientowi dane?

+0

Po wdrożeniu tego zdałem sobie sprawę, że jeśli artykuł jest jak 100k z niewielkimi zmianami, użytkownik musi pobrać 200k tekstu lub które tylko 100k są wyświetlane. Więc jeśli masz duże elementy treści, lepiej jest zrobić różnicę na serwerze. –

+0

Tak, to jest druga strona tego. –

3

Wypróbuj narzędzie Pretty Diff. Opiera się na jsdifflib, ale jest ulepszony, aby podkreślić różnice między postaciami i przebudować je na szybkość. Porównuje również zminimalizowany kod do unminified code. Jest w całości napisany w JavaScript i obsługuje wejścia JavaScript, CSS i XML/XHTML.

http://prettydiff.com/

1

Zapoznaj się z JavaScript diff bibliotekę wikEd diff. Jest on używany na Wikipedii w gadżecie wikEdDiff dla dokładnie tego celu, aby porównać wersje artykułów. Bezpłatna biblioteka (domena publiczna) może wykrywać i zaznaczać ruchy bloków, działa na poziomie wyrazów/znaków i wypisuje ładnie sformatowany tekst z wstawkami, usunięciami, przesuniętymi blokami i zaznaczonymi pierwotnymi pozycjami. Zobacz online demo, aby grać z ustawieniami.

0

Urządzenie Diff, Match and Patch Library jest dostępne z identycznym interfejsem API w językach JavaScript, Java, C#, Python i innych językach. (Wydaje się, że jest i nadal może być ten used in Google Docs.)

Występuje kod online demo wyjścia HTML opcji porównawczych.

Biorąc pod uwagę identyczny API dostępne w obu językach client- i po stronie serwera, powinno być łatwiej przełącznik między nimi należy zdecydować chcesz ...

Powiązane problemy