LINUX.ORG.RU

Нужна маленькая C++ либа, чтобы HTML diff-ы хранить и показывать типа как на ЛОРе

 , ,


0

2

Либа должна:

  1. (при редактировании HTML – WYSIWYG) Генерить diff: минималистичный, но достаточный для восстановления предыдущей версии по текущей, как в VCS.

  2. Применять diff к текущей версии для получения предыдущей.

  3. Выводить diff с раскраской, или лучше подготавливать какие-то структуры для вывода, по которым я сам быстренько-простенько раскрашу.

Загвоздка в том, что у меня HTML, и надо как-то типа как на ЛОРе: если отличие не в тексте, а в HTML тегах/атрибутах, оно должно сохраняться (для восстановления предыдущей версии), но не показываться.

В крайнем случае п.3 попробую сам запилить. Но уж для п.1+2 что-то наверняка да есть.

★★★★★

Последнее исправление: dimgel (всего исправлений: 2)

Там html сам по себе особо ничего не меняет, достаточно просто дифф с поддержкой залезания внутрь строк а не только построчно как обычный. Ну может только границы токенов приоритетно границами отличий пытаться ставить.

firkax ★★★★★
()
Ответ на: комментарий от firkax

По твоим словам выходит, что ты с такими либами дело уже имел. Посоветуешь какую-нить?

dimgel ★★★★★
() автор топика
Последнее исправление: dimgel (всего исправлений: 1)
Ответ на: комментарий от dataman

В общем, взял вторую ссылку – гугловый оригинал на порядок популярнее первой ссылки, и API нормально описано. Хотя внутри – хрень хренью: только и делает, что строки туда-сюда копирует. Но времени доводить до ума вообще нет. Даже на свой п.3 пока забил; если доберусь сделать нормально, отмигрирую базу.

dimgel ★★★★★
() автор топика