| Left: | ||
| Right: |
| OLD | NEW |
|---|---|
| (Empty) | |
| 1 Adblock Plus for Chrome, Opera and Safari | |
| 2 ========================================= | |
| 3 | |
|
kzar
2015/02/17 09:38:05
I think usually a brief introduction at the start
| |
| 4 Building | |
| 5 --------- | |
| 6 | |
| 7 ### Requirements | |
| 8 | |
| 9 - [Python 2.x](https://www.python.org) | |
| 10 - [The Jinja2 module](http://jinja.pocoo.org/docs) | |
|
Sebastian Noack
2015/02/17 12:07:56
PIL (Python Imaging Library) is required as well.
| |
| 11 - For signed Chrome and Opera builds: [M2Crypto module](https://github.com/marti npaljak/M2Crypto) | |
| 12 - For signed Safari builds: A [patched version of the xar command line tool](htt ps://github.com/mackyle/xar/) | |
| 13 | |
| 14 ### Building the extension | |
| 15 | |
| 16 Run one of the following commands in the project directory, depending on your | |
| 17 target platform: | |
| 18 | |
| 19 ./build.py -t chrome build -k adblockpluschrome.pem | |
| 20 ./build.py -t opera build -k adblockplusopera.pem | |
| 21 ./build.py -t safari build -k adblockplussafari.pem | |
| 22 | |
| 23 This will create a build with a name in the form | |
|
kzar
2015/02/17 09:38:05
Maybe mention something about how ensure_dependenc
Wladimir Palant
2015/02/17 13:19:21
I don't really want to document internals of build
| |
| 24 _adblockpluschrome-1.2.3.nnnn.crx_ or _adblockplussafari-1.2.3.nnnn.safariextz_. | |
| 25 Note that you don't need an existing signing key for Chrome or Opera, a new key | |
| 26 will be created automatically if the file doesn't exist. Safari on the other | |
| 27 hand always requires a valid developer certificate, you need to get one in the | |
| 28 Apple Developer Center first. _adblockplussafari.pem_ should contain your | |
|
Sebastian Noack
2015/02/17 12:07:56
adblockplussafari.pem must also contain the key fo
| |
| 29 developer certificate as well as all the certificates it was signed with | |
| 30 (Apple's root certificate and intermediate certificates) in PEM format. | |
| 31 | |
| 32 ### Development environment | |
|
kzar
2015/02/17 09:38:05
Maybe the development environment section should b
Wladimir Palant
2015/02/17 13:19:21
Most people seem to start by generating an install
| |
| 33 | |
| 34 To simplify the process of testing your changes you can create an unpacked | |
| 35 development environment. For that run one of the following commands: | |
| 36 | |
| 37 ./build.py -t chrome devenv | |
| 38 ./build.py -t opera devenv | |
| 39 ./build.py -t safari devenv | |
| 40 | |
| 41 This will create a _devenv_ directoy in the repository. In Chrome and Opera you | |
|
kzar
2015/02/17 09:38:05
I would use backticks ` instead of underscores _ f
Wladimir Palant
2015/02/17 13:19:21
Blame fhd - he started doing that (probably becaus
| |
| 42 should load it as an unpacked extension directory. After making changes to the | |
| 43 source code re-run the command to update the development environment, the | |
| 44 extension should reload automatically after a few seconds. | |
| 45 | |
| 46 In Safari you should load _devenv/adblockplussafari.safariextension_ as unpacked | |
| 47 extension directory. After making changes to the source code re-run the command | |
| 48 to update the development environment. You will still need to reload the | |
| 49 extension explicitly in the Extension Builder, Safari currently doesn't allow | |
| 50 automating this action. | |
| 51 | |
| 52 Running the unit tests | |
| 53 ---------------------- | |
| 54 | |
| 55 To verify your changes you can use the unit test suite located in the _qunit_ | |
| 56 directory of the repository. In order to run the unit tests go to the | |
| 57 extension's Options page, open JavaScript Console and type in: | |
|
Sebastian Noack
2015/02/17 12:07:56
Nit: open the JavaScript Console
^
| |
| 58 | |
| 59 location.href = "qunit/index.html"; | |
| 60 | |
| 61 The unit test will run automatically once the page loads. | |
|
Wladimir Palant
2015/02/16 10:52:34
Should be "unit tests" here of course.
kzar
2015/02/17 09:38:05
Maybe add details of the code license(s) to the en
Wladimir Palant
2015/02/17 13:19:21
This doesn't belong in the README file, it should
| |
| OLD | NEW |