Browse Source

Merge pull request #467 from kvch/gh-pages

updated & rewritten contribution guide
Adam Tauber 9 years ago
parent
commit
f7a7c4318b

+ 66
- 41
_sources/dev/contribution_guide.txt View File

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

+ 2
- 2
_sources/dev/engine_overview.txt View File

@@ -23,7 +23,7 @@ arguments can be set in the engine file or in the settings file
23 23
 (normally ``settings.yml``). The arguments in the settings file override
24 24
 the ones in the engine file.
25 25
 
26
-It does not matter if an options is stored in the engine file or in the
26
+It does not matter if an option is stored in the engine file or in the
27 27
 settings. However, the standard way is the following:
28 28
 
29 29
 
@@ -63,7 +63,7 @@ often overwritten by the settings. If ``None`` is assigned to an option
63 63
 in the engine file, it has to be redefined in the settings,
64 64
 otherwise searx will not start with that engine.
65 65
 
66
-The naming of that overrides is arbitrary. But the recommended
66
+The naming of overrides is arbitrary. But the recommended
67 67
 overrides are the following:
68 68
 
69 69
 +-----------------------+----------+----------------------------------------------------------------+

+ 58
- 40
dev/contribution_guide.html View File

@@ -43,62 +43,80 @@
43 43
 <h1>How to contribute<a class="headerlink" href="#how-to-contribute" title="Permalink to this headline">¶</a></h1>
44 44
 <div class="section" id="prime-directives-privacy-hackability">
45 45
 <h2>Prime directives: Privacy, Hackability<a class="headerlink" href="#prime-directives-privacy-hackability" title="Permalink to this headline">¶</a></h2>
46
-<p>Searx has 2 prime directives, privacy-by-design and hackability. The
47
-hackability comes in at least 3 levels:</p>
46
+<p>Searx has two prime directives, privacy-by-design and hackability. The
47
+hackability comes in three levels:</p>
48 48
 <ul class="simple">
49
-<li>support for search engines</li>
50
-<li>plugins for altering search behaviour</li>
51
-<li>hacking searx itself.</li>
49
+<li>support of search engines</li>
50
+<li>plugins to alter search behaviour</li>
51
+<li>hacking searx itself</li>
52 52
 </ul>
53
-<p>Happy hacking. Observe the lack of &#8220;world domination&#8221; among the
54
-directives, searx has no intentions for wide mass-adoption, rounded
55
-corners, etc. The prime directive: &#8220;privacy&#8221; - deserves a seperate
56
-chapter, as it&#8217;s quite uncommon unfortunately, here it goes:</p>
53
+<p>Note the lack of &#8220;world domination&#8221; among the directives.
54
+Searx has no intention of wide mass-adoption, rounded
55
+corners, etc. The prime directive &#8220;privacy&#8221; deserves a separate
56
+chapter, as it&#8217;s quite uncommon unfortunately.</p>
57 57
 <div class="section" id="privacy-by-design">
58 58
 <h3>Privacy-by-design<a class="headerlink" href="#privacy-by-design" title="Permalink to this headline">¶</a></h3>
59
-<p>Searx is a privacy-respecting, hackable meta-search engine. It was born
60
-out of the need for a privacy-respecing search facility that can be
61
-expanded easily to maximise both its search and it&#8217;s privacy protecting
62
-capabilities.</p>
63
-<p>Consequences of Privacy-by-design are that some widely used features
64
-work differently or not by default or at all. If some feature reduces
65
-the privacy perserving aspects of searx, it should by default be
66
-switched of, if implemented at all. There is enough search engines
67
-already out there providing such features. =&nbsp;Since privacy-preservation
68
-is a prime goal, if some feature does reduce the protection of searx and
69
-is implemented, care should be taken to educate the user about the
70
-consequences of choosing to enable this. Further features which
71
-implement widely known features in a manner that protects privacy but
72
-thus deviate from the users expectations should also be explained to the
73
-user. Also if you think that something works weird with searx, maybe
74
-it&#8217;s because of the tool you use is designed in a way to interfere with
75
-privacy respect, submiting a bugreport to the vendor of the tool that
76
-misbehaves might be a good feedback for the vendor to reconsider his
77
-disrespect towards his customers (e.g. GET vs POST requests in various
78
-browsers).</p>
59
+<p>Searx was born out of the need for a privacy-respecting search tool
60
+which can be extended easily to maximize both its search and its
61
+privacy protecting capabilities.</p>
62
+<p>A few widely used features work differently or turned off by default or not implemented
63
+at all as a consequence of privacy-by-design.</p>
64
+<p>If a feature reduces the privacy preserving aspects of searx, it
65
+should be switched off by default or should not implemented at all.
66
+There are plenty of search engines already providing such features.
67
+If a feature reduces the protection of searx, users must be
68
+informed about the effect of choosing to enable it. Features
69
+that protect privacy but differ from the expectations of the
70
+user should also be explained.</p>
71
+<p>Also, if you think that something works weird with searx,
72
+it&#8217;s might be because of the tool you use is designed in a way to interfere with
73
+the privacy respect. Submitting a bugreport to the vendor of the tool that
74
+misbehaves might be a good feedback to reconsider the disrespect to
75
+its customers (e.g. GET vs POST requests in various browsers).</p>
79 76
 <p>Remember the other prime directive of searx is to be hackable, so if the
80 77
 above privacy concerns do not fancy you, simply fork it.</p>
78
+<p>Happy hacking.</p>
81 79
 </div>
82 80
 </div>
83 81
 <div class="section" id="code">
84 82
 <h2>Code<a class="headerlink" href="#code" title="Permalink to this headline">¶</a></h2>
85
-<p>Code modifications are accepted in pull requests, don&#8217;t forget to add
86
-yourself to the AUTHORS file.</p>
87
-<p>Python code follows all the pep8 standards except maximum line width
88
-which is 120 char.</p>
89
-<p>Please be sure that the submitted code doesn&#8217;t break existing tests and
90
-follows coding conventions.</p>
91
-<p>If new functionality implemented, tests are highly appreciated.</p>
83
+<p>In order to submit a patch, please follow the steps below:</p>
84
+<ul class="simple">
85
+<li>Follow coding conventions.<ul>
86
+<li>PEP8 standards apply, except the convention of line length</li>
87
+<li>Maximum line length is 120 characters</li>
88
+</ul>
89
+</li>
90
+<li>Check if your code breaks existing tests. If so, update the tests or fix your code.</li>
91
+<li>If your code can be unit-tested, add unit tests.</li>
92
+<li>Add yourself to the AUTHORS file.</li>
93
+<li>Create a pull request.</li>
94
+</ul>
92 95
 </div>
93 96
 <div class="section" id="translation">
94 97
 <h2>Translation<a class="headerlink" href="#translation" title="Permalink to this headline">¶</a></h2>
95
-<p>Translation currently happens on
96
-<a class="reference external" href="https://transifex.com/projects/p/searx">transifex</a>. Please do not
97
-update translation files in the repo.</p>
98
+<p>Translation currently takes place on
99
+<a class="reference external" href="https://transifex.com/projects/p/searx">transifex</a>.</p>
100
+<p><strong>Please, do not update translation files in the repo.</strong></p>
98 101
 </div>
99 102
 <div class="section" id="documentation">
100 103
 <h2>Documentation<a class="headerlink" href="#documentation" title="Permalink to this headline">¶</a></h2>
101
-<p>The main place of the documentation is this wiki, updates are welcome.</p>
104
+<p>The documentation is built using Sphinx. So in order to be able to generate the required
105
+files, you have to install it on your system. (It can be installed easily using pip.)</p>
106
+<ol class="arabic simple">
107
+<li>Checkout the gh-pages branch.</li>
108
+<li>Edit the rst file you wish to update. Or create a new rst file and place it under the appropriate folder.</li>
109
+<li>Build the documentation using Sphinx.</li>
110
+<li>Add the updated and created files of these extension:<ul>
111
+<li>.rst</li>
112
+<li>.html</li>
113
+<li>.txt</li>
114
+</ul>
115
+</li>
116
+</ol>
117
+<ol class="arabic simple" start="6">
118
+<li>Create a pull request.</li>
119
+</ol>
102 120
 </div>
103 121
 </div>
104 122
 

+ 2
- 2
dev/engine_overview.html View File

@@ -82,7 +82,7 @@ external search engines. Adapters are stored under the folder
82 82
 arguments can be set in the engine file or in the settings file
83 83
 (normally <code class="docutils literal"><span class="pre">settings.yml</span></code>). The arguments in the settings file override
84 84
 the ones in the engine file.</p>
85
-<p>It does not matter if an options is stored in the engine file or in the
85
+<p>It does not matter if an option is stored in the engine file or in the
86 86
 settings. However, the standard way is the following:</p>
87 87
 <div class="section" id="engine-file">
88 88
 <h3><a class="toc-backref" href="#id4">engine file</a><a class="headerlink" href="#engine-file" title="Permalink to this headline">¶</a></h3>
@@ -154,7 +154,7 @@ settings. However, the standard way is the following:</p>
154 154
 often overwritten by the settings. If <code class="docutils literal"><span class="pre">None</span></code> is assigned to an option
155 155
 in the engine file, it has to be redefined in the settings,
156 156
 otherwise searx will not start with that engine.</p>
157
-<p>The naming of that overrides is arbitrary. But the recommended
157
+<p>The naming of overrides is arbitrary. But the recommended
158 158
 overrides are the following:</p>
159 159
 <table border="1" class="docutils">
160 160
 <colgroup>

+ 66
- 41
docs/dev/contribution_guide.rst View File

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

+ 2
- 2
docs/dev/engine_overview.rst View File

@@ -23,7 +23,7 @@ arguments can be set in the engine file or in the settings file
23 23
 (normally ``settings.yml``). The arguments in the settings file override
24 24
 the ones in the engine file.
25 25
 
26
-It does not matter if an options is stored in the engine file or in the
26
+It does not matter if an option is stored in the engine file or in the
27 27
 settings. However, the standard way is the following:
28 28
 
29 29
 
@@ -63,7 +63,7 @@ often overwritten by the settings. If ``None`` is assigned to an option
63 63
 in the engine file, it has to be redefined in the settings,
64 64
 otherwise searx will not start with that engine.
65 65
 
66
-The naming of that overrides is arbitrary. But the recommended
66
+The naming of overrides is arbitrary. But the recommended
67 67
 overrides are the following:
68 68
 
69 69
 +-----------------------+----------+----------------------------------------------------------------+