forked from prettydiff/prettydiff
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathprettydiff.com.xhtml
More file actions
1 lines (1 loc) · 29.4 KB
/
Copy pathprettydiff.com.xhtml
File metadata and controls
1 lines (1 loc) · 29.4 KB
1
<?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><img src="images/pdlogo.jpg" alt="Pretty Diff - The difference tool"/> <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>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 please contact me at <a href="mailto:austin.cheney@us.army.mil">austin.cheney@us.army.mil</a>.</p> <p id="update">Updated: 3 Jul 2012</p> <span class="clear"></span></div></div><div id="diffBase" class="wide"><h2>Base Text</h2><p class="labeltext"> <span> <input onkeyup="pd.options(this);" id="baselabel" type="text" value="base"/> <label for="baselabel">User supplied label for base diff input (optional)</label></span></p><p> <label for="baseText" class="difflabel">Source code input for the diff operation.</label><textarea id="baseText" rows="10" cols="80" wrap="off"></textarea></p></div><div id="diffNew" class="wide"><h2>New Text</h2><p class="labeltext"> <span> <input onkeyup="pd.options(this);" id="newlabel" type="text" value="new"/> <label for="newlabel">User supplied label for new diff input (optional)</label></span></p><p> <label for="newText" class="difflabel">Difference code input for the diff operation.</label><textarea id="newText" rows="10" cols="80" wrap="off"></textarea></p></div><div id="Beautify" class="wide" style="display:none;"><h2 title="The term pretty-print is synonymous with code beautification.">Beautify Code</h2><p><label for="beautyinput">Beautification input</label><textarea onkeyup="recycle(event);" id="beautyinput" rows="10" cols="80" wrap="off"></textarea><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="wide" style="display:none;"><h2>Minify Code</h2><p><label for="minifyinput">Minification input</label><textarea onkeyup="recycle(event);" id="minifyinput" rows="10" cols="80" wrap="off"></textarea><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><p class="button"><button value="Execute" onclick="recycle();" type="button">Execute</button></p><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 id="codetype"><strong>Code type</strong><span> <input name="paste_format" type="radio" id="ctype-auto" value="auto" onclick="pd.codeOps(false);" checked="checked" title="The submitted code is JavaScript, CSS, or some varient of markup like HTML, XML, or JSTL"/> <label for="ctype-auto">JavaScript, CSS, Markup</label></span><span> <input name="paste_format" type="radio" id="ctype-csv" value="csv" onclick="pd.codeOps(true);" title="The submitted code is a character separated value dialect, such as CSV or TSV."/> <label for="ctype-csv">CSV</label></span><span> <input name="paste_format" type="radio" id="ctype-text" value="text" onclick="pd.codeOps(true);" disabled="disabled" title="The submitted source material is any kind of plain text and may not be code at all."/> <label for="ctype-text">Plain Text (diff only)</label></span></p><p id="csvcharp" style="display:none;"><strong>Separator</strong><span> <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."/> <label for="csvchar">— Character sequence to separate list items. Default is comma.</label></span></p><p><strong>Input display</strong><span> <input name="diffdisplay" type="radio" onclick="pd.prettyvis(this);" id="diffwide" checked="checked" 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><span> <input name="diffdisplay" type="radio" onclick="pd.prettyvis(this);" id="difftall" 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></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="diffwide">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="difftall">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></select></p><p><label class="label" for="option_comment">Pretty Diff Comment</label><textarea id="option_comment" readonly="readonly" rows="2" cols="30" title="This area contains a configuration string. This string can be applied to the top of JavaScript and CSS code in order to supply instructions to the Pretty Diff without need to set options in the user interface.">/*prettydiff.com */</textarea></p></div><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">— 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">— 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&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 — 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 <br> and lt;hr> should be evaluated as singletons, such as <br/> and lt;hr/>."/> <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&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 — 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 <br> and lt;hr> should be evaluated as singletons, such as <br/> and lt;hr/>."/> <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 <br> and lt;hr> should be evaluated as singletons, such as <br/> and lt;hr/>."/> <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="recycle();" type="button">Execute</button></p></div><div> <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 ">↑</button> <button class="maximize" onclick="pd.maximize(this);" title="Maximize this dialogue to the browser window.">↑</button> <button class="resize" onmousedown="pd.resize(event, this);" title="Resize this dialogue.">↔</button></p> <h2 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></h2><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 ">↑</button> <button class="maximize" onclick="pd.maximize(this);" title="Maximize this dialogue to the browser window.">↑</button> <button class="resize" onmousedown="pd.resize(event, this);" title="Resize this dialogue.">↔</button></p> <h2 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></h2><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 ">↑</button> <button class="maximize" onclick="pd.maximize(this);" title="Maximize this dialogue to the browser window.">↑</button> <button class="resize" onmousedown="pd.resize(event, this);" title="Resize this dialogue.">↔</button></p> <h2 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></h2><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 ">↑</button> <button class="maximize" onclick="pd.maximize(this);" title="Maximize this dialogue to the browser window.">↑</button> <button class="resize" onmousedown="pd.resize(event, this);" title="Resize this dialogue.">↔</button></p> <h2 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></h2><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 id="diffoutput"><p id="emailme">Please send comments, feedback, and requests to <a href="mailto:austin.cheney@us.army.mil">austin.cheney@us.army.mil</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/" target="thirdparty"><img src="images/logo_w3c.gif" alt="World Wide Web Consortium"/></a></li> <li><a href="http://www.travelocity.com/" target="thirdparty"><img src="images/logo_travelocity.gif" alt="Travelocity"/></a></li> <li><a href="http://www.iPredikt.com/" target="thirdparty"><img src="images/logo_ipredikt.png" alt="iPredikt"/></a></li> </ul></div></div><script type="application/javascript" src="pd-min.js"></script><script type="application/javascript" src="prettydiff-min.js"></script></body></html>