Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
tree: b44c871560
Fetching contributors…

Cannot retrieve contributors at this time

1 lines (1 sloc) 32.229 kb
<?xml version='1.0' encoding='UTF-8' ?><!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1//EN' 'http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd'><html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en'><head> <title>Pretty Diff - The difference tool</title> <meta name="robots" content="index, follow"/> <meta name="DC.title" content="Pretty Diff - The difference tool"/> <link rel='canonical' href='http://prettydiff.com' type='application/xhtml+xml' /> <link rel="icon" type="image/x-icon" href="http://prettydiff.com/images/favicon.ico"/> <link rel="meta" href="http://prettydiff.com/labels.rdf" type="application/rdf+xml" title="ICRA labels"/> <meta http-equiv="pics-Label" content='(pics-1.1 "http://www.icra.org/pics/vocabularyv03/" l gen true for "http://prettydiff.com" r (n 0 s 0 v 0 l 0 oa 0 ob 0 oc 0 od 0 oe 0 of 0 og 0 oh 0 c 1) gen true for "http://www.prettydiff.com" r (n 0 s 0 v 0 l 0 oa 0 ob 0 oc 0 od 0 oe 0 of 0 og 0 oh 0 c 1))'/> <meta name="author" content="Austin Cheney"/> <meta name="description" content="Pretty Diff tool can minify, beautify (pretty-print), or diff between minified and beautified code. This tool can even beautify and minify HTML."/> <meta name="distribution" content="Global"/> <meta http-equiv="Content-Language" content="en"/> <meta http-equiv="Content-Type" content="application/xhtml+xml;charset=UTF-8"/> <meta http-equiv="Page-Enter" content="blendTrans(Duration=0)"/> <meta http-equiv="Page-Exit" content="blendTrans(Duration=0)"/> <meta http-equiv="content-style-type" content="text/css"/> <meta http-equiv="content-script-type" content="application/javascript"/> <meta name="google-site-verification" content="qL8AV9yjL2-ZFGV9ey6wU3t7pTZdpD4lIetUSiNen7E" /> <link rel="stylesheet" type="text/css" href="diffview.css" media="all"/> </head><body onload="pd.reload();" id="webtool" class="shadow"><ul id="displayOps" class="default"><li><button type="button" id="resetOptions" onclick="pd.reset();return false" title="Clicking this button will clear all stored data and reset all options to the default configuration. I recommend refreshing the page after clicking this button.">Reset Options</button></li> <li><button type="button" id="hideOptions" onclick="pd.hideOptions(this);return false;" title="Clicking this button will visually hide everything except for textarea elements and one 'Execute' button.">Maximize Inputs</button></li></ul><div id="top"><h1><svg version="1.0" xmlns="http://www.w3.org/2000/svg" width="2000.000000pt" height="2000.000000pt" viewBox="0 0 2000.000000 2000.000000" preserveAspectRatio="xMidYMid meet"><g transform="translate(0.000000,2000.000000) scale(0.100000,-0.100000)" fill="#999" stroke="none"><path d="M14871 18523 c-16 -64 -611 -2317 -946 -3588 -175 -660 -319 -1202 -320 -1204 -2 -2 -50 39 -107 91 -961 876 -2202 1358 -3498 1358 -1255 0 -2456 -451 -3409 -1279 -161 -140 -424 -408 -560 -571 -507 -607 -870 -1320 -1062 -2090 -58 -232 -386 -1479 -2309 -8759 -148 -563 -270 -1028 -270 -1033 0 -4 614 -8 1365 -8 l1364 0 10 38 c16 63 611 2316 946 3587 175 660 319 1202 320 1204 2 2 50 -39 107 -91 543 -495 1169 -862 1863 -1093 1707 -568 3581 -211 4965 946 252 210 554 524 767 796 111 143 312 445 408 613 229 406 408 854 525 1320 57 225 380 1451 2310 8759 148 563 270 1028 270 1033 0 4 -614 8 -1365 8 l-1364 0 -10 -37z m-4498 -5957 c477 -77 889 -256 1245 -542 523 -419 850 -998 954 -1689 18 -121 18 -549 0 -670 -80 -529 -279 -972 -612 -1359 -412 -480 -967 -779 -1625 -878 -121 -18 -549 -18 -670 0 -494 74 -918 255 -1283 548 -523 419 -850 998 -954 1689 -18 121 -18 549 0 670 104 691 431 1270 954 1689 365 293 828 490 1283 545 50 6 104 13 120 15 72 10 495 -3 588 -18z"/></g></svg> <span id="title_text">Pretty Diff - The difference tool</span></h1><div id="introduction"><h2>Introduction</h2> <p class="information">Use this free open-source file comparison tool to accurately diff between file versions <em>regardless of comments or minification</em> to the whitespace. This tool is written entirely in JavaScript and it can also beautify (pretty-print) and minify HTML. Since this tool is client-side JavaScript only, meaning that the execution occurs on the local computer only and the resulting output is not transmitted or stored, it is safe for processing classified information. Please note that this tool is not a validation service.</p> <p>Pretty Diff is a language aware code comparison tool featuring automatic language detection. Some of the supported languages include: XML, SGML, JSTL, HTML, CSS, SCSS, CSV, JavaScript, and JSON</p> <p>To see the tool in action check out the <a href="samples.php">samples page</a>.</p> <p>For additional information, including integration with <a href="http://nodejs.org/">Node.js</a> and <a href="http://msdn.microsoft.com/en-us/library/9bbdkx3k%28v=VS.85%29.aspx">WSH</a>, please read the <a href="documentation.php"><strong>documentation</strong></a>. You can also find <a href="https://github.com/austincheney/Pretty-Diff">Pretty Diff on GitHub</a>.</p> <p>If you get bored go check out my other projects: <strong><a href="http://mailmarkup.org/">Mail Markup Language</a></strong>, <a href="http://prettydiff.com/slideshow/">Slideshow</a>, and <a href="http://prettydiff.com/jsgui/">JSGUI (Incomplete)</a>.</p> <p>For any questions, comments, requests, or feedback please join the <a href="https://groups.google.com/d/forum/pretty-diff">Pretty Diff mailing list</a>.</p> <p id="update">Updated: 25 Aug 2012</p> <span class="clear"></span></div></div><div id="reports"><h2>Reporting data which updates with each use of the tool</h2><div id="diffreport" class="box"><p style="display:none" class="buttons"> <button class="save" onclick="pd.save(this);" title="Convert diff report to text that can be saved.">S</button> <button class="minimize" onclick="pd.minimize(this);" title="Minimize this dialogue ">&uarr;</button> <button class="maximize" onclick="pd.maximize(this);" title="Maximize this dialogue to the browser window.">&uarr;</button> <button class="resize" onmousedown="pd.resize(event, this);" title="Resize this dialogue.">&harr;</button></p> <h3 class="heading" onmousedown="pd.grab(event, this);" title="Grab this title element to open this dialogue or move it around around the screen."><span>Diff Report</span></h3><div style="display:none" class="body" id="diffreportbody" onclick="pd.top(this.parentNode);"></div></div><div id="beaureport" class="box"><p style="display:none" class="buttons"> <button class="minimize" onclick="pd.minimize(this);" title="Minimize this dialogue ">&uarr;</button> <button class="maximize" onclick="pd.maximize(this);" title="Maximize this dialogue to the browser window.">&uarr;</button> <button class="resize" onmousedown="pd.resize(event, this);" title="Resize this dialogue.">&harr;</button></p> <h3 class="heading" onmousedown="pd.grab(event, this);" title="Grab this title element to open this dialogue or move it around the screen."><span>Beautify Report</span></h3><div style="display:none" class="body" id="beaureportbody" onclick="pd.top(this.parentNode);"></div></div><div id="minreport" class="box"><p style="display:none" class="buttons"> <button class="minimize" onclick="pd.minimize(this);" title="Minimize this dialogue ">&uarr;</button> <button class="maximize" onclick="pd.maximize(this);" title="Maximize this dialogue to the browser window.">&uarr;</button> <button class="resize" onmousedown="pd.resize(event, this);" title="Resize this dialogue.">&harr;</button></p> <h3 class="heading" onmousedown="pd.grab(event, this);" title="Grab this title element to open this dialogue or move it around the screen."><span>Minify Report</span></h3><div style="display:none" class="body" id="minreportbody" onclick="pd.top(this.parentNode);"></div></div><div id="statreport" class="box"><p style="display:none" class="buttons"> <button class="minimize" onclick="pd.minimize(this);" title="Minimize this dialogue ">&uarr;</button> <button class="maximize" onclick="pd.maximize(this);" title="Maximize this dialogue to the browser window.">&uarr;</button> <button class="resize" onmousedown="pd.resize(event, this);" title="Resize this dialogue.">&harr;</button></p> <h3 class="heading" onmousedown="pd.grab(event, this);" title="Grab this title element to open this dialogue or move it around the screen."><span>Usage Statistics</span></h3><div style="display:none" class="body" id="statreportbody" onclick="pd.top(this.parentNode);"><div><h3>General statistics</h3><ul><li>Total number of visits: <strong id="stvisit">0</strong></li><li>Total usage count: <strong id="stusage">0</strong></li><li>Start date of logging: <strong id="stfdate"></strong></li><li>Average visits per day: <strong id="stavday">0</strong></li><li>Largest code source: <strong id="stlarge">0</strong> characters</li></ul></div><div><h3>Usage statistics</h3><ul><li>Diff: <strong id="stdiff">0</strong></li><li>Beautification: <strong id="stbeau">0</strong></li><li>Minification: <strong id="stminn">0</strong></li></ul></div><div><h3>Language statistics</h3><ul><li>Markup: <strong id="stmarkup">0</strong></li><li>JavaScript: <strong id="stjs">0</strong></li><li>CSS: <strong id="stcss">0</strong></li><li>CSV: <strong id="stcsv">0</strong></li><li>Plain text: <strong id="sttext">0</strong></li></ul></div></div></div></div><div id="options" class="options"><h2>Main Options</h2><p><strong>Function</strong><span> <input name="mode" type="radio" onclick="pd.prettyvis(this);" id="modediff" checked="checked" title="This option tells the tool to generate a diff report."/> <label for="modediff">Pretty Diff</label></span><span> <input name="mode" type="radio" onclick="pd.prettyvis(this);" id="modebeautify" title="This option tells the tool to return well formatted code."/> <label for="modebeautify">Beautify Code</label></span><span> <input name="mode" type="radio" onclick="pd.prettyvis(this);" id="modeminify" title="This option tells thetool to return white space compressed code."/> <label for="modeminify">Minify Code</label></span></p><p><label class="label" for="language">Code type</label> <select id="language" onchange="pd.codeOps(this)"><option selected="selected" value="auto">Auto Detect</option><option value="css">CSS</option><option value="csv">CSV</option><option value="html">HTML</option><option value="javascript">JavaScript</option><option value="javascript">JSON</option><option value="markup">JSTL</option><option value="markup">markup (non-specific)</option><option value="text">Plain Text</option><option value="css">SCSS (SASS)</option><option value="markup">SGML</option><option value="markup">XML</option></select></p><p id="csvcharp" style="display:none;"><label class="label" for="csvchar">Character Separator</label> <input id="csvchar" type="text" value="," onkeyup="pd.options(this);" title="If the language type is set to CSV this field will allow definition of the separating character. Please read the documentation for advanced usage."/></p><p><strong>Input display</strong> <span> <input name="diffdisplay" type="radio" onclick="pd.prettyvis(this);" id="difftall" checked="checked" title="This option visually orients the base text field to the left of the new text field, or for beautify and minify modes orients the input field to the left of the output field."/> <label for="difftall">Orient Vertically</label></span><span> <input name="diffdisplay" type="radio" onclick="pd.prettyvis(this);" id="diffwide" title="This option visually orients the base text field above the new text field, or for beautify and minify modes orients the input field vertically above the output field."/> <label for="diffwide">Orient Horizontally</label></span></p><p><strong>Additional options</strong><span> <input name="additional" type="radio" onclick="pd.additional(this);" id="additional_no" checked="checked" title="Click me to hide extra options and controls."/> <label for="additional_no">Hide additional options</label></span><span> <input name="additional" type="radio" onclick="pd.additional(this);" id="additional_yes" title="Click me to show extra options and controls."/> <label for="additional_yes">Show additional options</label></span></p><p><label for="colorScheme" class="label">Color Scheme</label> <select onchange="pd.colorScheme(this)" id="colorScheme"><option>Default</option><option>Coffee</option><option>Dark</option><option>Canvas</option><option selected="selected">Shadow</option><option>White</option></select></p><p><label class="label" for="option_comment">Pretty Diff Comment</label><textarea id="option_comment" readonly="readonly" onmouseover="pd.comment(event, this)" onmouseout="pd.comment(event, this)" rows="2" cols="30" title="This area contains a configuration string as a code comment. This string can be applied to the top of JavaScript and CSS code to supply instructions to the Pretty Diff tool without need to set options in the user interface.">/*prettydiff.com */</textarea></p></div><div id="codeInput"><div id="diffBase" class="difftall"><h2>Base Text</h2><p class="labeltext"><input onkeyup="pd.options(this);" id="baselabel" type="text" value="base"/> <label for="baselabel">Base label (optional)</label></p><p class="file"><input type="file" id="diffbasefile" onchange="pd.file(this.files, this)" multiple="multiple"/> <label for="diffbasefile">Base source file</label></p><p class="input"><label for="baseText" class="difflabel">Base code for diff</label> <textarea id="baseText" rows="10" cols="80" wrap="off"></textarea></p></div><div id="diffNew" class="difftall"><h2>New Text</h2><p class="labeltext"><input onkeyup="pd.options(this);" id="newlabel" type="text" value="new"/> <label for="newlabel">New label (optional)</label></p><p class="file"><input type="file" id="diffnewfile" onchange="pd.file(this.files, this)" multiple="multiple"/> <label for="diffnewfile">New source file</label></p><p class="input"><label for="newText" class="difflabel">New code for diff</label> <textarea id="newText" rows="10" cols="80" wrap="off"></textarea></p></div><div id="Beautify" class="tall" style="display:none;"><h2 title="The term pretty-print is synonymous with code beautification.">Beautify Code</h2> <p class="file"><input type="file" id="beautyfile" onchange="pd.file(this.files, this)" multiple="multiple"/> <label for="beautyfile">Beautify local file</label></p><p class="input"><label for="beautyinput">Beautification input</label> <textarea onkeyup="pd.recycle(event);" id="beautyinput" rows="10" cols="80" wrap="off"></textarea></p><p class="output"><label for="beautyoutput" class="outputlabel">Beautification output</label> <textarea id="beautyoutput" readonly="readonly" rows="10" cols="40" name="paste_code" wrap="off"></textarea></p><span class="clear"></span></div><div id="Minify" class="tall" style="display:none;"><h2>Minify Code</h2> <p class="file"><input type="file" id="minifyfile" onchange="pd.file(this.files, this)" multiple="multiple"/> <label for="minifyfile">Minify local file</label></p><p class="input"><label for="minifyinput">Minification input</label> <textarea onkeyup="pd.recycle(event);" id="minifyinput" rows="10" cols="80" wrap="off"></textarea></p><p class="output"><label for="minifyoutput" class="outputlabel">Minification output</label> <textarea id="minifyoutput" readonly="readonly" rows="10" cols="40" wrap="off"></textarea></p><span class="clear"></span></div></div><p class="button"><button value="Execute" onclick="pd.recycle();" type="button">Execute</button></p><div id="addOptions" style="display:none"><div id="diffops" class="options"><h2>Diff Options</h2><fieldset><legend>Diff Report Options</legend><p><strong>Print or Save Output</strong><span> <input id="diff-save" type="checkbox" onclick="pd.options(this);" title="A diff report formatting option. Checking this option returns plain text code of the diff report instead of parsed HTML. The intention here is to allow users to copy the text and paste it into a text editor in order to save down the diff report."/> <label for="diff-save">&mdash; Generates HTML report as raw text inside a text area.</label></span></p><p><label for="contextSize" class="label">Context size (optional)</label><span> <input onkeyup="pd.options(this);" id="contextSize" type="text" value="" title="A diff report formatting option. If the value is empty or, not 0, or not a positive integer then a diff is generated showing the entirety of the code samples. If the value is 0 or a positive integer then this value dictates how many 'equal' lines of code will display in the report between lines with differences."/> <label for="contextSize">&mdash; This sets number of lines of code to pad the differences.</label></span></p><p><strong>Diff View Type</strong><span> <input onclick="pd.options(this);" name="_viewtype" checked="checked" id="sidebyside" type="radio" title="This diff report option determines whether the diff report will show a table with columns for each code sample for a left and right comparison."/> <label for="sidebyside">Side by Side View</label></span><span> <input onclick="pd.options(this);" name="_viewtype" id="inline" type="radio" title="This diff option will generate a diff report with only one column and two rows dedicated to each different line of code."/> <label for="inline">Inline View</label></span></p></fieldset><fieldset><legend>Difference Reduction Options</legend><p><strong>Diff Quotes</strong><span><input onclick="pd.options(this);" name="diffquote" checked="checked" id="diffquotey" type="radio" title="This option will report single quote characters and double quote characters as differences."/><label for="diffquotey">Diff Quotes Literally</label></span><span><input onclick="pd.options(this);" name="diffquote" id="diffquoten" type="radio" title="This option will convert all single quote characters to double quote characters so as to reduce the number of total code differences from the diff report."/><label for="diffquoten">Normalize Single Quote Characters to Double Quote Characters</label></span></p><p><strong>Trailing Semicolons</strong><span><input onclick="pd.options(this);" name="diffscolon" checked="checked" id="diffscolony" type="radio" title="This option will prevent the tool from removing semicolons at the end of lines of code so as to preserve the integrity of the code samples in the diff report."/><label for="diffscolony">Diff Semicolons</label></span><span><input onclick="pd.options(this);" name="diffscolon" id="diffscolonn" type="radio" title="This option will remove all trailing semicolons so as to reduce the number of potential differences from the diff report."/><label for="diffscolonn">Remove Trailing Semicolons</label></span></p></fieldset><fieldset id="diffbeautify"><legend>Beautification Options</legend><p id="diffquanp"><label for="diff-quan" class="label">Indentation Size</label><span> <input onkeyup="pd.options(this);" id="diff-quan" type="text" value="4" title="This text field expects a value of 0 or a positive integer. The number provided dictates how many characters constitute a single indentation of formatted code."/> </span></p><p id="difftypep"><label for="diff-char" class="label">Indentation Character</label><span> <input onclick="pd.indentchar(this);" class="unchecked" onkeyup="pd.options(this);" type="text" id="diff-char" value="Click me for custom input" title="Accessibility Note:In order for this field to be accepted by the application the radio button labeled 'Indent with Other Characters' must be checked. This text field allows entry of any text characters to constitute indentation."/> </span><span id="diff-other-span"> <input onclick="pd.indentchar(this);" name="diffchar" id="diff-other" type="radio" title="This option is only provided for functional reasons so as to enable the 'diff-char' text field and ignore its peer radio buttons from the application."/> <label for="diff-other">Indent with Other Characters</label></span><span> <input onclick="pd.indentchar(this);" name="diffchar" checked="checked" id="diff-space" type="radio" title="This option indicates a space character will be the character of indentation."/> <label for="diff-space">Indent Space</label></span><span> <input onclick="pd.indentchar(this);" name="diffchar" id="diff-tab" type="radio" title="This option makes a tab character the character of indentation."/> <label for="diff-tab">Indent Tab</label></span><span> <input onclick="pd.indentchar(this);" name="diffchar" id="diff-line" type="radio" title="This option makes a new line character the character of indentation."/> <label for="diff-line">Indent New Line</label></span></p><p id="jsindentd"><strong>Style of Indent (JavaScript Only)</strong> <span> <input onclick="pd.options(this);" name="jsindentdiff" checked="checked" id="jsindentd-knr" type="radio" title="This JavaScript only option sets opening curly braces at the end of the current line of code."/> <label for="jsindentd-knr">K&amp;R Style</label></span> <span> <input onclick="pd.options(this);" name="jsindentdiff" id="jsindentd-all" type="radio" title="This JavaScript only option moves opening curly braces onto a new line for visibility of brace contents apart from other code."/> <label for="jsindentd-all">Allman (ANSI) Style &mdash; Sets opening curly braces on a new line.</label></span></p><p id="scriptindentd"><strong>Indent Style/Script (Markup Only)</strong><span> <input onclick="pd.options(this);" name="inscriptd" checked="checked" id="inscriptd-yes" type="radio" title="This markup only option sets the baseline for script and style definition from the identation point of the opening markup tag plus one indentation step."/> <label for="inscriptd-yes">Indent to Markup</label></span><span> <input onclick="pd.options(this);" name="inscriptd" id="inscriptd-no" type="radio" title="This option sets the indentation baseline for script and style code to 0 regardless of surrounding markup."/> <label for="inscriptd-no">Indent Style/Script Independently</label></span></p><p id="htmlspecificd"><strong>Presume HTML (Markup Only)</strong><span> <input onclick="pd.options(this);" name="presumehtmld" checked="checked" id="htmld-no" type="radio" title="Use this option to ignore HTML specific vocabulary and instead focus purely on syntax."/> <label for="htmld-no">Not SGML type HTML</label></span><span> <input onclick="pd.options(this);" name="presumehtmld" id="htmld-yes" type="radio" title="This option determines whether HTML tags like &lt;br&gt; and lt;hr&gt; should be evaluated as singletons, such as &lt;br/&gt; and lt;hr/&gt;."/> <label for="htmld-yes">Presume SGML type HTML</label></span></p><p><strong>Ignore Content (Markup / JavaScript)</strong> <span> <input onclick="pd.options(this);" name="diffcontent" checked="checked" id="diffcontenty" type="radio" title="This option maintains document integrity with regard to markup content and JavaScript string contents."/> <label for="diffcontenty">Diff Content Literally</label></span><span> <input onclick="pd.options(this);" name="diffcontent" id="diffcontentn" type="radio" title="This option removes content from markup or string contents from JavaScript so as to allow comparison of syntax only."/> <label for="diffcontentn">Normalize Content and String Literals</label></span></p><p><strong>Force Indentation (Markup Only)</strong><span> <input onclick="pd.options(this);" name="dforce_indent" checked="checked" id="dforce_indent-no" type="radio" title="This markup only option maintains document integrity with regard to indentation that would create text nodes adjacent to content that did not exist before."/> <label for="dforce_indent-no">Maintain code integrity</label></span><span> <input onclick="pd.options(this);" name="dforce_indent" id="dforce_indent-yes" type="radio" title="This markup only option forces indentation for all content and elements without regard for integrity of document structure or content."/><label for="dforce_indent-yes">Always force indentation</label></span></p></fieldset></div><div id="beauops" class="options" style="display:none;"><h2 title="The term pretty-print is synonymous with code beautification.">Beautify Options</h2><fieldset><legend>Basic Options</legend><p><label for="beau-quan" class="label">Indentation Size</label><span> <input id="beau-quan" type="text" value="4" onkeyup="pd.options(this);" title="This text field expects a value of 0 or a positive integer. The number provided dictates how many characters constitute a single indentation of formatted code."/> </span></p><p><label for="beau-char" class="label">Indentation Character</label><span> <input onclick="pd.indentchar(this);" class="unchecked" onkeyup="pd.options(this);" type="text" id="beau-char" value="Click me for custom input" title="Accessibility Note:In order for this field to be accepted by the application the radio button labeled 'Indent with Other Characters' must be checked. This text field allows entry of any text characters to constitute indentation."/> </span><span id="beau-other-span"> <input onclick="pd.indentchar(this);" name="beauchar" id="beau-other" type="radio" title="This option is only provided for functional reasons so as to enable the 'beau-char' text field and ignore its peer radio buttons from the application."/> <label for="beau-other">Indent with Other Characters</label></span><span> <input onclick="pd.indentchar(this);" name="beauchar" checked="checked" id="beau-space" type="radio" title="This option indicates a space character will be the character of indentation."/> <label for="beau-space">Indent Space</label></span><span> <input onclick="pd.indentchar(this);" name="beauchar" id="beau-tab" type="radio" title="This option makes a tab character the character of indentation."/> <label for="beau-tab">Indent Tab</label></span><span> <input onclick="pd.indentchar(this);" name="beauchar" id="beau-line" type="radio" title="This option makes a new line character the character of indentation."/> <label for="beau-line">Indent New Line</label></span></p></fieldset><fieldset><legend>Advanced Options</legend><p><strong>Indent Comments</strong><span> <input onclick="pd.options(this);" name="incomment" checked="checked" id="incomment-yes" type="radio" title="This option will cause comments to be indented."/> <label for="incomment-yes">Indent Comments</label></span><span> <input onclick="pd.options(this);" name="incomment" id="incomment-no" type="radio" title="This option will force comments to the start of the line without the benefit of indentation."/> <label for="incomment-no">No Comment Indentation</label></span></p><p id="jsindentb"><strong>Style of Indent (JavaScript Only)</strong> <span> <input onclick="pd.options(this);" name="jsindent" checked="checked" id="jsindent-knr" type="radio" title="This JavaScript only option sets opening curly braces at the end of the current line of code."/> <label for="jsindent-knr">K&amp;R Style</label></span> <span> <input onclick="pd.options(this);" name="jsindent" id="jsindent-all" type="radio" title="This JavaScript only option moves opening curly braces onto a new line for visibility of brace contents apart from other code."/> <label for="jsindent-all">Allman (ANSI) Style &mdash; Sets opening curly braces on a new line.</label></span></p><p id="scriptindent"><strong>Indent Style/Script (Markup Only)</strong><span> <input onclick="pd.options(this);" name="inscript" checked="checked" id="inscript-yes" type="radio" title="This markup only option sets the baseline for script and style definition from the identation point of the opening markup tag plus one indentation step."/> <label for="inscript-yes">Indent to Markup</label></span><span> <input onclick="pd.options(this);" name="inscript" id="inscript-no" type="radio" title="This option sets the indentation baseline for script and style code to 0 regardless of surrounding markup."/> <label for="inscript-no">Indent Script/Style Independently</label></span></p><p id="htmlspecific"><strong>Presume HTML (Markup Only)</strong><span> <input onclick="pd.options(this);" name="presumehtml" checked="checked" id="html-no" type="radio" title="Use this option to ignore HTML specific vocabulary and instead focus purely on syntax."/> <label for="html-no">Not SGML type HTML</label></span><span> <input onclick="pd.options(this);" name="presumehtml" id="html-yes" type="radio" title="This option determines whether HTML tags like &lt;br&gt; and lt;hr&gt; should be evaluated as singletons, such as &lt;br/&gt; and lt;hr/&gt;."/> <label for="html-yes">Presume SGML type HTML</label></span></p><p><strong>Force Indentation (Markup Only)</strong><span> <input onclick="pd.options(this);" name="bforce_indent" checked="checked" id="bforce_indent-no" type="radio" title="This markup only option maintains document integrity with regard to indentation that would create text nodes adjacent to content that did not exist before."/> <label for="bforce_indent-no">Maintain code integrity</label></span><span> <input onclick="pd.options(this);" name="bforce_indent" id="bforce_indent-yes" type="radio" title="This markup only option forces indentation for all content and elements without regard for integrity of document structure or content."/><label for="bforce_indent-yes">Always force indentation</label></span></p></fieldset></div><div id="miniops" style="display:none;" class="options"><h2>Minify Options</h2><p><strong>Presume HTML (Markup Only)</strong><span> <input onclick="pd.options(this);" name="presumehtmlm" checked="checked" id="htmlm-no" type="radio" title="Use this option to ignore HTML specific vocabulary and instead focus purely on syntax."/> <label for="htmlm-no">Not SGML type HTML</label></span><span> <input onclick="pd.options(this);" name="presumehtmlm" id="htmlm-yes" type="radio" title="This option determines whether HTML tags like &lt;br&gt; and lt;hr&gt; should be evaluated as singletons, such as &lt;br/&gt; and lt;hr/&gt;."/> <label for="htmlm-yes">Presume SGML type HTML</label></span></p><p><strong>Top Comments (JavaScript / CSS)</strong><span> <input onclick="pd.options(this);" name="topcoms" checked="checked" id="topcoms-no" type="radio" title="Use this remove all comments in JavaScript and CSS including comments above the first line of code."/> <label for="topcoms-no">Minify all comments</label></span><span> <input onclick="pd.options(this);" name="topcoms" id="topcoms-yes" type="radio" title="Use this option retain comments comments above the first line of JavaScript and CSS code."/> <label for="topcoms-yes">Preserve comments before any code</label></span></p></div><p class="button"><button value="Execute" onclick="pd.recycle();" type="button">Execute</button></p></div> <div id="diffoutput"><p id="emailme">Please post comments, feedback, and requests on the <a href="https://groups.google.com/d/forum/pretty-diff">Pretty Diff mailing list</a>.</p><p>Created by <a href="http://mailmarkup.org/">Austin Cheney</a> on 3 Mar 2009. This is a heavy modification of JavaScript tools: <a href="http://snowtide.com/files/media/jsdifflib/jsdifflibtest.html">jsdifflib</a>, <a href="http://www.crockford.com/javascript/jsmin.html">jsmin</a> in <a href="http://fmarcia.info/jsmin/">JavaScript</a>, <a href="http://tools.arantius.com/tabifier">cleanCSS</a>, <a href="http://prettydiff.com/">markupmin</a>, <a href="http://prettydiff.com/">markup_beauty</a>, <a href="http://prettydiff.com/">csvbeauty</a>, <a href="http://prettydiff.com/">csvmin</a>, <a href="http://prettydiff.com/">charDecoder</a>, and <a href="http://jsbeautifier.org/">jsbeautify</a>.</p><p>Pretty Diff is used by these great organizations:</p><ul id="thirdparties"> <li><a href="http://www.w3.org/" onclick="window.open(this.href, 'thirdparty');return false;"><img src="images/logo_w3c.gif" alt="World Wide Web Consortium"/></a></li> <li><a href="http://www.travelocity.com/" onclick="window.open(this.href, 'thirdparty');return false;"><img src="images/logo_travelocity.gif" alt="Travelocity"/></a></li> <li><a href="http://www.iPredikt.com/" onclick="window.open(this.href, 'thirdparty');return false;"><img src="images/logo_ipredikt.png" alt="iPredikt"/></a></li> </ul></div><script type="application/javascript" src="prettydiff.js"></script><script type="application/javascript" src="pd.js"></script></body></html>
Jump to Line
Something went wrong with that request. Please try again.