diff --git a/README.md b/README.md
index 286e8af..77cf84a 100644
--- a/README.md
+++ b/README.md
@@ -24,10 +24,10 @@ This [blog post](http://arnab-deka.com/posts/2013/02/hello-jquery-prettytextdiff
explains things in a bit more detail.
## Demo
-[jsfiddle demo](http://jsfiddle.net/YwSVY/87/)
+[jsfiddle demo](http://jsfiddle.net/q7hyfev8/504/)
## Download
-From the [jQuery plugins site](http://plugins.jquery.com/pretty-text-diff/).
+From [npm.js](https://www.npmjs.com/package/jquery-prettytextdiff/).
## Usage
#### First, include the libraries
@@ -93,6 +93,18 @@ in the [jsfiddle demo](#demo).
false |
see some debug output in your browser's console |
+
+
+ | originalContentv1.0.4+ |
+ None |
+ Pass the original content as a parameter in your JS file, instead of creating an element in your HTML code to extract this content. |
+
+
+
+ | changedContentv1.0.4+ |
+ None |
+ Pass the changed content as a parameter in your JS file, instead of creating an element in your HTML code to extract this content. |
+
## Development
@@ -103,14 +115,15 @@ in the [jsfiddle demo](#demo).
+ `cake build` to produce the output JS (minified)
+ Increment the version in the
coffeescript (and compiled/minified) javascript source and the
-jquery-json file.
+`package.json` file.
+ `git tag x.y.z`
-+ Push!
++ Push: `git push && git push --tags && npm publish`
## Contributing
+ Fork this repo
+ create a feature/bugfix branch: `git checkout -b branch_name`
+ [Develop](#development)
+ + Just change the coffeescript source. When your PR is merged, I will generate the JS flavors and update the versioning.
+ Push to your repo: `git push origin branch_name`
+ [Submit a PR](https://github.com/arnab/jQuery.PrettyTextDiff/pulls/)
diff --git a/jquery.pretty-text-diff.coffee b/jquery.pretty-text-diff.coffee
index 859e666..6108610 100644
--- a/jquery.pretty-text-diff.coffee
+++ b/jquery.pretty-text-diff.coffee
@@ -1,5 +1,5 @@
###
-@preserve jQuery.PrettyTextDiff 1.0.2
+@preserve jQuery.PrettyTextDiff 1.0.4
See https://github.com/arnab/jQuery.PrettyTextDiff/
###
@@ -19,9 +19,14 @@ $.fn.extend
dmp = new diff_match_patch();
@each ->
- original = $(settings.originalContainer, this).text()
+ if settings.originalContent and settings.changedContent
+ original = $('').html(settings.originalContent).text()
+ changed = $('').html(settings.changedContent).text()
+ else
+ original = $(settings.originalContainer, this).text()
+ changed = $(settings.changedContainer, this).text()
+
$.fn.prettyTextDiff.debug "Original text found: ", original, settings
- changed = $(settings.changedContainer, this).text()
$.fn.prettyTextDiff.debug "Changed text found: ", changed, settings
diffs = dmp.diff_main(original, changed)
@@ -29,8 +34,8 @@ $.fn.extend
dmp.diff_cleanupSemantic(diffs) if settings.cleanup
$.fn.prettyTextDiff.debug "Diffs: ", diffs, settings
- diff_as_html = diffs.map (diff) ->
- $.fn.prettyTextDiff.createHTML(diff)
+ diff_as_html = $.map(diffs, (diff) ->
+ $.fn.prettyTextDiff.createHTML(diff))
$(settings.diffContainer, this).html(diff_as_html.join(''));
@
diff --git a/jquery.pretty-text-diff.js b/jquery.pretty-text-diff.js
index 3a8dd0b..8c4d624 100644
--- a/jquery.pretty-text-diff.js
+++ b/jquery.pretty-text-diff.js
@@ -1,10 +1,9 @@
-// Generated by CoffeeScript 1.4.0
+// Generated by CoffeeScript 1.9.2
/*
-@preserve jQuery.PrettyTextDiff 1.0.2
+@preserve jQuery.PrettyTextDiff 1.0.4
See https://github.com/arnab/jQuery.PrettyTextDiff/
-*/
-
+ */
(function() {
var $;
@@ -26,16 +25,21 @@ See https://github.com/arnab/jQuery.PrettyTextDiff/
dmp = new diff_match_patch();
return this.each(function() {
var changed, diff_as_html, diffs, original;
- original = $(settings.originalContainer, this).text();
+ if (settings.originalContent && settings.changedContent) {
+ original = $('').html(settings.originalContent).text();
+ changed = $('').html(settings.changedContent).text();
+ } else {
+ original = $(settings.originalContainer, this).text();
+ changed = $(settings.changedContainer, this).text();
+ }
$.fn.prettyTextDiff.debug("Original text found: ", original, settings);
- changed = $(settings.changedContainer, this).text();
$.fn.prettyTextDiff.debug("Changed text found: ", changed, settings);
diffs = dmp.diff_main(original, changed);
if (settings.cleanup) {
dmp.diff_cleanupSemantic(diffs);
}
$.fn.prettyTextDiff.debug("Diffs: ", diffs, settings);
- diff_as_html = diffs.map(function(diff) {
+ diff_as_html = $.map(diffs, function(diff) {
return $.fn.prettyTextDiff.createHTML(diff);
});
$(settings.diffContainer, this).html(diff_as_html.join(''));
diff --git a/jquery.pretty-text-diff.min.js b/jquery.pretty-text-diff.min.js
index d2c44be..9a09975 100644
--- a/jquery.pretty-text-diff.min.js
+++ b/jquery.pretty-text-diff.min.js
@@ -1,5 +1,5 @@
/*
-@preserve jQuery.PrettyTextDiff 1.0.2
+@preserve jQuery.PrettyTextDiff 1.0.4
See https://github.com/arnab/jQuery.PrettyTextDiff/
-*/
-(function(){var $;$=jQuery;$.fn.extend({prettyTextDiff:function(options){var dmp,settings;settings={originalContainer:".original",changedContainer:".changed",diffContainer:".diff",cleanup:true,debug:false};settings=$.extend(settings,options);$.fn.prettyTextDiff.debug("Options: ",settings,settings);dmp=new diff_match_patch;return this.each(function(){var changed,diff_as_html,diffs,original;original=$(settings.originalContainer,this).text();$.fn.prettyTextDiff.debug("Original text found: ",original,settings);changed=$(settings.changedContainer,this).text();$.fn.prettyTextDiff.debug("Changed text found: ",changed,settings);diffs=dmp.diff_main(original,changed);if(settings.cleanup){dmp.diff_cleanupSemantic(diffs)}$.fn.prettyTextDiff.debug("Diffs: ",diffs,settings);diff_as_html=diffs.map(function(diff){return $.fn.prettyTextDiff.createHTML(diff)});$(settings.diffContainer,this).html(diff_as_html.join(""));return this})}});$.fn.prettyTextDiff.debug=function(message,object,settings){if(settings.debug){return console.log(message,object)}};$.fn.prettyTextDiff.createHTML=function(diff){var data,html,operation,pattern_amp,pattern_gt,pattern_lt,pattern_para,text;html=[];pattern_amp=/&/g;pattern_lt=//g;pattern_para=/\n/g;operation=diff[0],data=diff[1];text=data.replace(pattern_amp,"&").replace(pattern_lt,"<").replace(pattern_gt,">").replace(pattern_para,"
");switch(operation){case DIFF_INSERT:return""+text+"";case DIFF_DELETE:return""+text+"";case DIFF_EQUAL:return""+text+""}}}).call(this);
\ No newline at end of file
+ */
+(function(){var $;$=jQuery;$.fn.extend({prettyTextDiff:function(options){var dmp,settings;settings={originalContainer:".original",changedContainer:".changed",diffContainer:".diff",cleanup:true,debug:false};settings=$.extend(settings,options);$.fn.prettyTextDiff.debug("Options: ",settings,settings);dmp=new diff_match_patch;return this.each(function(){var changed,diff_as_html,diffs,original;if(settings.originalContent&&settings.changedContent){original=$("").html(settings.originalContent).text();changed=$("").html(settings.changedContent).text()}else{original=$(settings.originalContainer,this).text();changed=$(settings.changedContainer,this).text()}$.fn.prettyTextDiff.debug("Original text found: ",original,settings);$.fn.prettyTextDiff.debug("Changed text found: ",changed,settings);diffs=dmp.diff_main(original,changed);if(settings.cleanup){dmp.diff_cleanupSemantic(diffs)}$.fn.prettyTextDiff.debug("Diffs: ",diffs,settings);diff_as_html=$.map(diffs,function(diff){return $.fn.prettyTextDiff.createHTML(diff)});$(settings.diffContainer,this).html(diff_as_html.join(""));return this})}});$.fn.prettyTextDiff.debug=function(message,object,settings){if(settings.debug){return console.log(message,object)}};$.fn.prettyTextDiff.createHTML=function(diff){var data,html,operation,pattern_amp,pattern_gt,pattern_lt,pattern_para,text;html=[];pattern_amp=/&/g;pattern_lt=//g;pattern_para=/\n/g;operation=diff[0],data=diff[1];text=data.replace(pattern_amp,"&").replace(pattern_lt,"<").replace(pattern_gt,">").replace(pattern_para,"
");switch(operation){case DIFF_INSERT:return""+text+"";case DIFF_DELETE:return""+text+"";case DIFF_EQUAL:return""+text+""}}}).call(this);
\ No newline at end of file
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..160436a
--- /dev/null
+++ b/package.json
@@ -0,0 +1,27 @@
+{
+ "name": "jquery-prettytextdiff",
+ "version": "1.0.4",
+ "description": "A jQuery plugin to diff text painlessly. Uses Google's diff_match_patch library underneath.",
+ "main": "jquery.pretty-text-diff.js",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/arnab/jQuery.PrettyTextDiff.git"
+ },
+ "keywords": [
+ "jquery-plugins",
+ "ecosystem:jquery",
+ "text",
+ "diff",
+ "compare",
+ "visualize"
+ ],
+ "author": "Arnab Deka",
+ "license": "MIT",
+ "bugs": {
+ "url": "https://github.com/arnab/jQuery.PrettyTextDiff/issues"
+ },
+ "homepage": "https://github.com/arnab/jQuery.PrettyTextDiff#readme",
+ "dependencies" : {
+ "jquery": ">=1.4"
+ }
+}
diff --git a/pretty-text-diff.jquery.json b/pretty-text-diff.jquery.json
deleted file mode 100644
index 7f9b463..0000000
--- a/pretty-text-diff.jquery.json
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- "name": "pretty-text-diff",
- "version": "1.0.2",
- "title": "jQuery.PrettyTextDiff",
- "description": "A jQuery plugin to show diff between text. Uses Google's diff_match_patch library underneath.",
- "keywords": [
- "jquery",
- "plugin",
- "diff",
- "text",
- "html",
- "compare",
- "visualize"
- ],
- "homepage": "https://github.com/arnab/jQuery.PrettyTextDiff",
- "author": {
- "name": "Arnab Deka",
- "url": "http://arnab-deka.com"
- },
- "docs": "https://github.com/arnab/jQuery.PrettyTextDiff/blob/master/README.md#usage",
- "demo": "http://jsfiddle.net/arnab/YwSVY/",
- "bugs": "https://github.com/arnab/jQuery.PrettyTextDiff/issues",
- "licenses": [
- {
- "type": "MIT",
- "url": "https://github.com/arnab/jQuery.PrettyTextDiff/blob/master/LICENSE"
- }
- ],
- "dependencies": {
- "jquery": ">=1.4",
- "diff_match_patch": "*"
- }
-}