contribution_guide.html 7.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
  6. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  7. <title>How to contribute &#8212; searx 0.12.0 documentation</title>
  8. <link rel="stylesheet" href="../_static/style.css" type="text/css" />
  9. <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
  10. <script type="text/javascript" src="../_static/documentation_options.js"></script>
  11. <script type="text/javascript" src="../_static/jquery.js"></script>
  12. <script type="text/javascript" src="../_static/underscore.js"></script>
  13. <script type="text/javascript" src="../_static/doctools.js"></script>
  14. <link rel="index" title="Index" href="../genindex.html" />
  15. <link rel="search" title="Search" href="../search.html" />
  16. <link rel="next" title="Engine overview" href="engine_overview.html" />
  17. <link rel="prev" title="Development Quickstart" href="quickstart.html" />
  18. <link media="only screen and (max-device-width: 480px)" href="../_static/small_flask.css" type= "text/css" rel="stylesheet" />
  19. <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9">
  20. </head><body>
  21. <div class="document">
  22. <div class="documentwrapper">
  23. <div class="bodywrapper">
  24. <div class="body" role="main">
  25. <div class="section" id="how-to-contribute">
  26. <h1>How to contribute<a class="headerlink" href="#how-to-contribute" title="Permalink to this headline">¶</a></h1>
  27. <div class="section" id="prime-directives-privacy-hackability">
  28. <h2>Prime directives: Privacy, Hackability<a class="headerlink" href="#prime-directives-privacy-hackability" title="Permalink to this headline">¶</a></h2>
  29. <p>Searx has two prime directives, privacy-by-design and hackability. The
  30. hackability comes in three levels:</p>
  31. <ul class="simple">
  32. <li>support of search engines</li>
  33. <li>plugins to alter search behaviour</li>
  34. <li>hacking searx itself</li>
  35. </ul>
  36. <p>Note the lack of “world domination” among the directives.
  37. Searx has no intention of wide mass-adoption, rounded
  38. corners, etc. The prime directive “privacy” deserves a separate
  39. chapter, as it’s quite uncommon unfortunately.</p>
  40. <div class="section" id="privacy-by-design">
  41. <h3>Privacy-by-design<a class="headerlink" href="#privacy-by-design" title="Permalink to this headline">¶</a></h3>
  42. <p>Searx was born out of the need for a privacy-respecting search tool
  43. which can be extended easily to maximize both its search and its
  44. privacy protecting capabilities.</p>
  45. <p>A few widely used features work differently or turned off by default or not implemented
  46. at all as a consequence of privacy-by-design.</p>
  47. <p>If a feature reduces the privacy preserving aspects of searx, it
  48. should be switched off by default or should not implemented at all.
  49. There are plenty of search engines already providing such features.
  50. If a feature reduces the protection of searx, users must be
  51. informed about the effect of choosing to enable it. Features
  52. that protect privacy but differ from the expectations of the
  53. user should also be explained.</p>
  54. <p>Also, if you think that something works weird with searx,
  55. it’s might be because of the tool you use is designed in a way to interfere with
  56. the privacy respect. Submitting a bugreport to the vendor of the tool that
  57. misbehaves might be a good feedback to reconsider the disrespect to
  58. its customers (e.g. GET vs POST requests in various browsers).</p>
  59. <p>Remember the other prime directive of searx is to be hackable, so if the
  60. above privacy concerns do not fancy you, simply fork it.</p>
  61. <p>Happy hacking.</p>
  62. </div>
  63. </div>
  64. <div class="section" id="code">
  65. <h2>Code<a class="headerlink" href="#code" title="Permalink to this headline">¶</a></h2>
  66. <p>In order to submit a patch, please follow the steps below:</p>
  67. <ul class="simple">
  68. <li>Follow coding conventions.<ul>
  69. <li>PEP8 standards apply, except the convention of line length</li>
  70. <li>Maximum line length is 120 characters</li>
  71. </ul>
  72. </li>
  73. <li>Check if your code breaks existing tests. If so, update the tests or fix your code.</li>
  74. <li>If your code can be unit-tested, add unit tests.</li>
  75. <li>Add yourself to the AUTHORS file.</li>
  76. <li>Create a pull request.</li>
  77. </ul>
  78. <p>For more help on getting started with searx development, see <a class="reference internal" href="quickstart.html#devquickstart"><span class="std std-ref">Development Quickstart</span></a>.</p>
  79. </div>
  80. <div class="section" id="translation">
  81. <h2>Translation<a class="headerlink" href="#translation" title="Permalink to this headline">¶</a></h2>
  82. <p>Translation currently takes place on
  83. <a class="reference external" href="https://transifex.com/projects/p/searx">transifex</a>.</p>
  84. <p><strong>Please, do not update translation files in the repo.</strong></p>
  85. </div>
  86. <div class="section" id="documentation">
  87. <h2>Documentation<a class="headerlink" href="#documentation" title="Permalink to this headline">¶</a></h2>
  88. <p>The documentation is built using Sphinx. So in order to be able to generate the required
  89. files, you have to install it on your system. (It can be installed easily using pip.)</p>
  90. <ol class="arabic simple">
  91. <li>Checkout the gh-pages branch.</li>
  92. <li>Edit the rst file you wish to update. Or create a new rst file and place it under the appropriate folder.</li>
  93. <li>Build the documentation using Sphinx.</li>
  94. <li>Add the updated and created files of these extension:<ul>
  95. <li>.rst</li>
  96. <li>.html</li>
  97. <li>.txt</li>
  98. </ul>
  99. </li>
  100. </ol>
  101. <ol class="arabic simple" start="6">
  102. <li>Create a pull request.</li>
  103. </ol>
  104. </div>
  105. </div>
  106. </div>
  107. </div>
  108. </div>
  109. <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
  110. <div class="sphinxsidebarwrapper">
  111. <h3><a href="../index.html">Table Of Contents</a></h3>
  112. <ul>
  113. <li><a class="reference internal" href="#">How to contribute</a><ul>
  114. <li><a class="reference internal" href="#prime-directives-privacy-hackability">Prime directives: Privacy, Hackability</a><ul>
  115. <li><a class="reference internal" href="#privacy-by-design">Privacy-by-design</a></li>
  116. </ul>
  117. </li>
  118. <li><a class="reference internal" href="#code">Code</a></li>
  119. <li><a class="reference internal" href="#translation">Translation</a></li>
  120. <li><a class="reference internal" href="#documentation">Documentation</a></li>
  121. </ul>
  122. </li>
  123. </ul>
  124. <div class="sidebar_container body">
  125. <h1>Searx</h1>
  126. <ul>
  127. <li><a href="../index.html">Home</a></li>
  128. <li><a href="https://github.com/asciimoo/searx">Source</a></li>
  129. <li><a href="../blog/blog.html">Blog</a></li>
  130. <li><a href="https://github.com/asciimoo/searx/wiki">Wiki</a></li>
  131. <li><a href="https://github.com/asciimoo/searx/wiki/Searx-instances">Public instances</a></li>
  132. </ul>
  133. <hr />
  134. <ul>
  135. <li><a href="https://twitter.com/Searx_engine">Twitter</a></li>
  136. </ul>
  137. </div>
  138. <div role="note" aria-label="source link">
  139. <h3>This Page</h3>
  140. <ul class="this-page-menu">
  141. <li><a href="../_sources/dev/contribution_guide.rst.txt"
  142. rel="nofollow">Show Source</a></li>
  143. </ul>
  144. </div>
  145. <div id="searchbox" style="display: none" role="search">
  146. <h3>Quick search</h3>
  147. <div class="searchformwrapper">
  148. <form class="search" action="../search.html" method="get">
  149. <input type="text" name="q" />
  150. <input type="submit" value="Go" />
  151. <input type="hidden" name="check_keywords" value="yes" />
  152. <input type="hidden" name="area" value="default" />
  153. </form>
  154. </div>
  155. </div>
  156. <script type="text/javascript">$('#searchbox').show(0);</script>
  157. </div>
  158. </div>
  159. <div class="clearer"></div>
  160. </div>
  161. <div class="footer">
  162. &copy; Copyright 2015-2017, Adam Tauber.
  163. </div>
  164. </body>
  165. </html>