Implement HTML diff based on daisydiff

To compare two versions of a document it is now possible to specify 2
revisions in the URL. In the returned HTML the differences between the
2 versions of the document are highlighted, e.g. additions with green
background and deletions with red background. To generate the HTML
diff daisydiff is used [1]. Which differences are highlighted depends
on the specified diff mode which is represented in the URL by a char
sequence between the 2 revisions:

- revisionA<->revisionB:
  Generates the unified diff between the 2 revisions, additions are
  highlighted by green background, deletions are highlighted by red
  background
- revisionA<-revisionB:
  Generates the side-by-side diff between the 2 revisions for side A,
  deletions are highlighted by red background
- revisionA->revisionB:
  Generates the side-by-side diff between the 2 revisions for side B,
  additions are highlighted by green background

For now the HTML diff is only accessible by manually manipulating the
URL, making it available from the UI will be done in follow-up
commits.

The htmlheader template that comes with daisydiff was stripped down to
only highlight the differences in the HTML. Other features, like
navigation buttons to skip through the diffs, popups on the
deleted/added elements and image diff highligting have been removed.
The idea is to start with something simple and to enable other
features later if needed.

[1] http://code.google.com/p/daisydiff/

Change-Id: Ie0a7bddac415ac41bfe445ee48eaffc6b6ac8d68
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
17 files changed
tree: 9e08189a985184cecd41fa4df29f02ed52dfa962
  1. .settings/
  2. lib/
  3. src/
  4. .buckconfig
  5. .gitignore
  6. BUCK
  7. LICENSE
  8. pom.xml
  9. VERSION