@@ -4,68 +4,93 @@ How to contribute
4Prime directives: Privacy, Hackability
4Prime directives: Privacy, Hackability
5~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7−Searx has 2 prime directives, privacy-by-design and hackability. The
7+Searx has two prime directives, privacy-by-design and hackability. The
8−hackability comes in at least 3 levels:
8+hackability comes in three levels:
10−- support for search engines
10+- support of search engines
11−- plugins for altering search behaviour
11+- plugins to alter search behaviour
12−- hacking searx itself.
12+- hacking searx itself
14−Happy hacking. Observe the lack of "world domination" among the
14+Note the lack of "world domination" among the directives.
15−directives, searx has no intentions for wide mass-adoption, rounded
15+Searx has no intention of wide mass-adoption, rounded
16−corners, etc. The prime directive: "privacy" - deserves a seperate
16+corners, etc. The prime directive "privacy" deserves a separate
17−chapter, as it's quite uncommon unfortunately, here it goes:
17+chapter, as it's quite uncommon unfortunately.
19Privacy-by-design
19Privacy-by-design
20^^^^^^^^^^^^^^^^^
20^^^^^^^^^^^^^^^^^
22−Searx is a privacy-respecting, hackable meta-search engine. It was born
23−out of the need for a privacy-respecing search facility that can be
22+Searx was born out of the need for a privacy-respecting search tool
24−expanded easily to maximise both its search and it's privacy protecting
23+which can be extended easily to maximize both its search and its
25−capabilities.
24+privacy protecting capabilities.
27−Consequences of Privacy-by-design are that some widely used features
28−work differently or not by default or at all. If some feature reduces
26+A few widely used features work differently or turned off by default or not implemented
27+at all as a consequence of privacy-by-design.
29−the privacy perserving aspects of searx, it should by default be
29+If a feature reduces the privacy preserving aspects of searx, it
30−switched of, if implemented at all. There is enough search engines
30+should be switched off by default or should not implemented at all.
31−already out there providing such features. = Since privacy-preservation
31+There are plenty of search engines already providing such features.
32−is a prime goal, if some feature does reduce the protection of searx and
32+If a feature reduces the protection of searx, users must be
33−is implemented, care should be taken to educate the user about the
33+informed about the effect of choosing to enable it. Features
34−consequences of choosing to enable this. Further features which
34+that protect privacy but differ from the expectations of the
35−implement widely known features in a manner that protects privacy but
36−thus deviate from the users expectations should also be explained to the
35+user should also be explained.
37−user. Also if you think that something works weird with searx, maybe
37+Also, if you think that something works weird with searx,
38−it's because of the tool you use is designed in a way to interfere with
38+it's might be because of the tool you use is designed in a way to interfere with
39−privacy respect, submiting a bugreport to the vendor of the tool that
39+the privacy respect. Submitting a bugreport to the vendor of the tool that
40−misbehaves might be a good feedback for the vendor to reconsider his
40+misbehaves might be a good feedback to reconsider the disrespect to
41−disrespect towards his customers (e.g. GET vs POST requests in various
41+its customers (e.g. GET vs POST requests in various browsers).
44Remember the other prime directive of searx is to be hackable, so if the
43Remember the other prime directive of searx is to be hackable, so if the
45above privacy concerns do not fancy you, simply fork it.
44above privacy concerns do not fancy you, simply fork it.
50−Code modifications are accepted in pull requests, don't forget to add
51+In order to submit a patch, please follow the steps below:
51−yourself to the AUTHORS file.
52+
53+- Follow coding conventions.
55+ - PEP8 standards apply, except the convention of line length
57+ - Maximum line length is 120 characters
59+- Check if your code breaks existing tests. If so, update the tests or fix your code.
61+- If your code can be unit-tested, add unit tests.
53−Python code follows all the pep8 standards except maximum line width
63+- Add yourself to the AUTHORS file.
56−Please be sure that the submitted code doesn't break existing tests and
65+- Create a pull request.
57−follows coding conventions.
59−If new functionality implemented, tests are highly appreciated.
61Translation
68Translation
62~~~~~~~~~~~
69~~~~~~~~~~~
64−Translation currently happens on
71+Translation currently takes place on
65−`transifex <https://transifex.com/projects/p/searx>`__. Please do not
72+`transifex <https://transifex.com/projects/p/searx>`__.
66−update translation files in the repo.
74+**Please, do not update translation files in the repo.**
68Documentation
76Documentation
69~~~~~~~~~~~~~
77~~~~~~~~~~~~~
71−The main place of the documentation is this wiki, updates are welcome.
79+The documentation is built using Sphinx. So in order to be able to generate the required
80+files, you have to install it on your system. (It can be installed easily using pip.)
82+1. Checkout the gh-pages branch.
84+2. Edit the rst file you wish to update. Or create a new rst file and place it under the appropriate folder.
86+3. Build the documentation using Sphinx.
88+4. Add the updated and created files of these extension:
96+6. Create a pull request.