GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Text::Diff::HTML(3) User Contributed Perl Documentation Text::Diff::HTML(3)

Text::Diff::HTML - XHTML format for Text::Diff::Unified

    use Text::Diff;

    my $diff = diff "file1.txt", "file2.txt", { STYLE => 'Text::Diff::HTML' };
    my $diff = diff \$string1,   \$string2,   { STYLE => 'Text::Diff::HTML' };
    my $diff = diff \*FH1,       \*FH2,       { STYLE => 'Text::Diff::HTML' };
    my $diff = diff \&reader1,   \&reader2,   { STYLE => 'Text::Diff::HTML' };
    my $diff = diff \@records1,  \@records2,  { STYLE => 'Text::Diff::HTML' };
    my $diff = diff \@records1,  "file.txt",  { STYLE => 'Text::Diff::HTML' };

This class subclasses Text::Diff::Unified, a formatting class provided by the Text::Diff module, to add XHTML markup to the unified diff format. For details on the interface of the "diff()" function, see the Text::Diff documentation.

In the XHTML formatted by this module, the contents of the diff returned by "diff()" are wrapped in a "<div>" element, as is each hunk of the diff. Within each hunk, all content is properly HTML encoded using HTML::Entities, and the various sections of the diff are marked up with the appropriate XHTML elements. The elements used are as follows:

"<div class="file">"

This element contains the entire contents of the diff "file" returned by "diff()". All of the following elements are subsumed by this one.

  • "<span class="fileheader">"

    The header section for the files being "diff"ed, usually something like:

      --- in.txt    Thu Sep  1 12:51:03 2005
      +++ out.txt   Thu Sep  1 12:52:12 2005
        

    This element immediately follows the opening "file" "<div>" element.

  • "<div class="hunk">"

    This element contains a single diff "hunk". Each hunk may contain the following elements:

  • "<span class="hunkheader">"

    Header for a diff hunk. The hunk header is usually something like:

      @@ -1,5 +1,7 @@
        

    This element immediately follows the opening "hunk" "<div>" element.

  • "<span class="ctx">"

    Context around the important part of a "diff" hunk. These are contents that have not changed between the files being "diff"ed.

  • "<ins>"

    Inserted content, each line starting with "+".

  • "<del>"

    Deleted content, each line starting with "-".

  • "<span class="hunkfooter">"

    The footer section of a hunk; contains no contents.

"<span class="filefooter">"

The footer section of a file; contains no contents.

You may do whatever you like with these elements and classes; I highly recommend that you style them using CSS. You'll find an example CSS file in the eg directory in the Text-Diff-HTML distribution. You will also likely want to wrap the output of your diff in its own element (a "<div>" will do) styled with "white-space: pre".

Text::Diff
Algorithm::Diff

This module is stored in an open GitHub repository <http://github.com/theory/text-diff-html/>. Feel free to fork and contribute!

Please file bug reports via GitHub Issues <http://github.com/theory/text-diff-html/issues/> or by sending mail to bug-Text-Diff-HTML@rt.cpan.org <mailto:bug-Text-Diff-HTML@rt.cpan.org>.

David E. Wheeler <david@justatheory.com>

Currently maintained by the developers of The Perl Shop <tps@cpan.org>.

Copyright (c) 2005-2011 David E. Wheeler. Some Rights Reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

2022-04-08 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.