| Index: README.md | 
| =================================================================== | 
| --- a/README.md | 
| +++ b/README.md | 
| @@ -86,6 +86,33 @@ | 
| You can clone the necessary repositories to a local directory and add `-i` | 
| options accordingly. | 
| +## Rendering diffs | 
| + | 
| +A diff allows a client running ad blocking software such as Adblock Plus to update | 
| +the filter lists incrementally, instead of downloading a new copy of a full list | 
| +during each update. This is meant to lessen the amount of resources used when updating | 
| +filter lists (e.g. network data, memory usage, battery consumption, etc.), allowing | 
| +clients to update their lists more frequently using less resources. | 
| + | 
| +Python-abp contains a script that produces the diff between two versions of a | 
| +filter list called `fldiff`: | 
| + | 
| + $ fldiff base.txt latest.txt output.txt | 
| + | 
| +This will produce a diff that shows how a client may get from `base.txt` to | 
| +`latest.txt`, and write the output to `output.txt`. The output argument is | 
| +optional. If ommitted, the data will be written to `stdout`. | 
| + | 
| +The script produces three types of lines, as specified in the [technical specification][5]: | 
| +* Special comments of the form `! <name>:[ <value>]` | 
| +* Added filters of the form `+ <filter-text>` | 
| +* Removed filter of the form `- <filter-text>` | 
| + | 
| +The diff is generated such that the removed filters are listed before the added | 
| 
 
Sebastian Noack
2018/09/25 17:00:39
Maybe this is a bit too much detail, if we refer t
 
rhowell
2018/09/25 23:01:45
Yeah, I see your point. Maybe it would be better t
 
 | 
| +filters. This covers the case where a filter is both removed and added. The | 
| +client should process the diffs in order, so if this conflict happens, the rule | 
| +will be added. | 
| + | 
| ## Library API | 
| Python-abp can also be used as a library for parsing filter lists. For example | 
| @@ -182,3 +209,4 @@ | 
| [2]: http://pytest.org/ | 
| [3]: https://tox.readthedocs.org/ | 
| [4]: https://github.com/numpy/numpy/blob/master/doc/HOWTO_DOCUMENT.rst.txt | 
| + [5]: https://docs.google.com/document/d/1SoEqaOBZRCfkh1s5Kds5A5RwUC_nqbYYlGH72sbsSgQ/ |