# Grammalecte for Firefox and Chrome and for Thunderbird


[Website](https://grammalecte.net)
[Code](http://code.grammalecte.net:8080/home)


## WebExtension

This extension offers a grammar checking tool for the French Language.

The grammar checker runs in a Worker launched from the background script.
And text are analysed at users request. Results are displayed within
the webpages.


    Content-scripts <---> Background <---> Grammar checker (Worker)


### Folders in the addon

* grammalecte: the grammar checker (receive texts, analyse it and send back results).
* content_scripts (what is run in content-scripts).
* panel: browser_action panel, and other webpages (lexicon editor, conjugueur and other stuff).


### Building the extension

Extensions for LibreOffice, Firefox/Chrome and Thunderbird are generated in the folder `_build`.

Required:

* Python 3.7+ > [download](https://www.python.org/)
* NodeJS > [download](https://nodejs.org/)
  * npm (should be installed with NodeJS)
  * web-ext > [instructions](https://extensionworkshop.com/documentation/develop/getting-started-with-web-ext/)

Command to build:

    make.py fr -js

Build and rebuild data (may be not deterministic):

    make.py fr -js -b -d

If you got the source code from a zip archive, you must first uncompress the archive
in `gc_lang/fr/dictionnaire/lexique/corpus_data`. (It isn’t possible to upload the
source code as is to Mozilla website, as these files are considered too big).


## MailExtension

The MailExtension is built upon the Grammalecte [WebExtension](https://addons.mozilla.org/fr/firefox/addon/grammalecte-fr/)

Both extensions use the same code. Only one file differs: manifest.json
