From 37f076b60a0bc278d6760b725efff152a741c697 Mon Sep 17 00:00:00 2001 From: InBasic Date: Wed, 5 Oct 2016 09:42:22 +0330 Subject: [PATCH] updating XPI --- README.md | 53 ++++++++++++++++++++++---------------- builds/packed/chrome.zip | Bin 494720 -> 494720 bytes builds/packed/firefox.xpi | Bin 505780 -> 505781 bytes package.json | 20 +++++++++++--- 4 files changed, 47 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index e17ae967..1ae70344 100644 --- a/README.md +++ b/README.md @@ -1,39 +1,48 @@ -##Gmail Notifier multi-browser extension(ignotifier) +## [Gmail Notifier](http://add0n.com/gmail-notifier.html) multi-browser extension (ignotifier) + ### Description [Gmail Notifier](http://add0n.com/gmail-notifier.html) is a multi-account notifier for Google mail (without storing passwords locally) -###General information +![116888](https://cloud.githubusercontent.com/assets/351062/19102298/0a93ce12-8adc-11e6-9a35-b4e183de6c73.png) + +### General information To compile ignotifier project you need to have these softwares and libraries available: - * [python](http://www.python.org/getit/) * [nodejs](http://nodejs.org/) - * [Mozilla addon-sdk](https://addons.mozilla.org/en-US/developers/builder) - - -> By default, the addon-sdk folder is assumed to be one directory above the project. This can be modified using the ``--sdk`` parameter. + * [Mozilla JPM](https://developer.mozilla.org/en-US/Add-ons/SDK/Tools/jpm) + * [Gulp.JS](http://gulpjs.com/) -###Folders description -* compile: nodejs auto-compiler +### Folders description +* compile: nodejs locale converter * preview: screenshots * src: ignotifier source code -* template: bootstrap folder -###How to compile ignotifier +### How to compile ignotifier 1. Open a new terminal in the root dir (directory contains src, preview, template, and compile folders) -2. Run ``npm install`` to acquire the necessary nodejs packages -3. Run ``node compile/install.js`` to run ignotifier in a new Firefox profile - To make the xpi run ``node compile/install.js --xpi`` - For more options use ``node compile/install.js --help`` - -###How to translate ignotifier +2. Run `npm install` to acquire the necessary nodejs packages +3. Run `gulp firefox` or `gulp chrome` to compile ignotifier in Firefox or Chrome browsers + * After running `gulp firefox`, project gets compiled for Firefox browser. Compiled files will be located on `builds/unpacked/firefox` folder. An executable XPI will be placed in `builds/packed/firefox.xpi` + * After running `gulp chrome`, project gets compiled for Chrome/Opera browser. Compiled files will be located on `builds/unpacked/chrome` folder. A zipped archive will be placed in `builds/packed/chrome.zip` + * For `gulp firefox` to auto install the extension on your Firefox browser, you need to have [Extension Auto-Installer](https://addons.mozilla.org/en-US/firefox/addon/autoinstaller/) installed in your Firefox. + * For `gulp chrome` to auto install the extension on your Chrome browser, you will need to modify [Line 65 of `gulp.js`](https://github.com/inbasic/ignotifier/blob/master/gulpfile.js#L65) to your Chrome executable (the current path is for Mac OS). + +### How to translate ignotifier * To translate ignotifier into your language head to [transifex.com](https://www.transifex.com/projects/p/gmail-notifier-addon) page. -* After the translation is ready, insert the translated file in `/src.safariextension/_locales` folder -* For Firefox to recognize the translation, you need to run the following commend in the root directory +* After the translation is ready, insert the translated file in `/src/_locales` directory +* For Firefox to recognize the translation, you will need to run the following commend in the root directory `node compile/convert.js` * Now compile the project as described above to have the localized version of ignotifier. -###How to try the precompiled latest version +### How to try the precompiled latest version on Firefox 1. Select the right branch -2. Browse the src directory +2. Browse the `builds/packed` directory 3. Download the raw *.xpi file -4. Drag and drop it into Firefox +4. Open a browser tab for `about:debugging` and turn on the developer mode +5. Point the browse button to the download XPI + +### How to try the precompiled latest version on Chrome +1. Select the right branch +2. Browse the `builds/packed` directory +3. Download the *.zip file and extract it somewhere +4. Open a browser tab for `chrome://extensions` and turn on the developer mode +5. Point the browse button to the root directory diff --git a/builds/packed/chrome.zip b/builds/packed/chrome.zip index 5a2261526268e4950b7479b6dd6d1e25a5c8522e..8180245ad29d37bca0f4d12e7e3b7244b03e6ea8 100644 GIT binary patch delta 2366 zcmZuy2~1RH5Ptg}`v#DO1s9MNmO}+`7m->cigJjkcmQH+XlzvwDpn~gEBAc}2nd>O zop_*)N7dSDbWNT|6OY(h!7EKK8{1NA6&op9twL+D^Zo@{k4;`?-pqV+zuAh-x{A#@ zRni>6PQ!8b_T2aB(+;b4D$EOoV1amZl`xvo&x8aeCu_~)c&+)OLdB%St20)G4!{Qu z{P+Qbpl61exvwzX{>)Ho{%Vj{=e)|;Td;aH2&0uO)gyMz9nH2zO?(KTLJ5j9IhxDoe#Ob5pQY5~IK1##CEQq*px!}p2!koUEc&b@_)a0sZWG^CNCC;PkX0iUr@I3oFW85}RP-o^3al znjoB&aBP5iV1g`MR{(ze>v}v;08{uhJ+}NVdf?Ln7{h;{M|~j)&+2hSAx!1(>oM%9 zI22D7lG4wBw`F0X!F=YiJ4O`2XuiyV8ATAmA28tjK+xjnMP&G^0XvHzigyda;9^on zg_sZbXt1al9Ig4c6o585E2Mw$#%yD*F*GeZz0jrrHvM?c=I3U^cg1WC!5hU8$+w4K zKnX+(OQ&*}Q36py<8%)9mViI2yS;=qqJ1__^-y@?(-L4G3Obk4WcSVE&`=7I!dpu? z%#xWiD>*z^3R8qpaXfa(jB^4}OB`juPkQQ>Z9nn)4ydUmi-_ z&yC*sG!ovC<2-Cq-CYTHmDrIFBbZrLq<(>?3&%Z9;W*Fd%#L(3GYy6p0Q+QcP66fF z*VivDEdZwxY_9Pu?*$*TbLKeJB#!fX&Pft4qH8V$vg#{y3E!v|aR*6QbpM-|w{25% z-10YG1iA-^cxwRYl1ISK*F+4->j!ou*`4~3CNL-SMWAN7Xr8avqHjJpT2B(T%J7bb zBAy(8pAf2Bhg0002^{DBT*7fHM6=5!A6s}+84YbqA?`1u`F>r7cgp&wsVXPMs9GFT zPRo_pge%KI#|mwd75AHPe>sguJ`xv6Ak1hHF)SH0*jEltA@Yp6H|(mpM^zLof3b@E z7IE-MJXP;`W^)rVO;_(={Z?I4YWbBDI_Hz)8NMIw87E#8d5}C$6uc zZ{S2b90*2uiRTSfszwv$*nLKzbQw{ETBq}knnlxMgktIX1xtc=J z30JEI9cT54xS@tpI?mxYH4rOI5CB6R$*FrK-G0|v(DJ=B`dWzL7dxO)rX!uuQVT&y z{{Xf*E>h#-wUoeFH{2!DN_XsB3&H46MMp5*3ox(>VuUU&;QV{kn7Uf>zfsm*_Xdpq zi$p9W{g-I@UvwB)4{`i>f6S@}JzlS;#@?z0XTdcP&~+qrNL>fxghN67Z*R+Q=YrXr zFCMIeF@n<2uX|WWb<;nRZL*s~@n}7jZ5fX}^;FZW2^g`C=!}V2Ce!3ect)lT5op&y z)IADkHo$a#OEj)0D!5Jq+z?A`y4ygZbP0g1iQtcu8~d+Hd?RheH4>*Jfj7oiQ2LJY ZUK~jRe5Xy+$s#qH8(}V6(Ho7h{eMC&$}9i? delta 2490 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 delta 7008 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