Либа должна:
-
(при редактировании HTML – WYSIWYG) Генерить diff: минималистичный, но достаточный для восстановления предыдущей версии по текущей, как в VCS.
-
Применять diff к текущей версии для получения предыдущей.
-
Выводить diff с раскраской, или лучше подготавливать какие-то структуры для вывода, по которым я сам быстренько-простенько раскрашу.
Загвоздка в том, что у меня HTML, и надо как-то типа как на ЛОРе: если отличие не в тексте, а в HTML тегах/атрибутах, оно должно сохраняться (для восстановления предыдущей версии), но не показываться.
В крайнем случае п.3 попробую сам запилить. Но уж для п.1+2 что-то наверняка да есть.