Exdiff

Hex.pm

Text difference library for Elixir

Installation

Add exdiff to your mix.exs dependencies:

def deps do
  [{:exdiff, "~> 0.1.5"}]
end

Quick example

> Exdiff.diff("abd", "abcd")
%{html: "<div class=&#39;exdiff-eq&#39;>ab</div><div class=&#39;exdiff-ins&#39;>c</div><div class=&#39;exdiff-eq&#39;>d</div>", length: 1}

> Exdiff.diff("abd", "abcd", wrapper_tag: "span")
%{html: "<span class=&#39;exdiff-eq&#39;>ab</span><span class=&#39;exdiff-ins&#39;>c</span><span class=&#39;exdiff-eq&#39;>d</span>", length: 1}

> Exdiff.diff_to_html("abd", "abcd")
{1, "<div class=&#39;exdiff-eq&#39;>ab</div><div class=&#39;exdiff-ins&#39;>c</div><div class=&#39;exdiff-eq&#39;>d</div>"}

> Exdiff.diff_to_html("abd", "abcd", wrapper_tag: "span")
{1, "<span class=&#39;exdiff-eq&#39;>ab</span><span class=&#39;exdiff-ins&#39;>c</span><span class=&#39;exdiff-eq&#39;>d</span>"}

Usage

There are three HTML classes wrapped with tag.

Test

mix test