diff --git a/docs/source/_static/favicon.ico b/docs/source/_static/favicon.ico new file mode 100644 index 00000000..771947db Binary files /dev/null and b/docs/source/_static/favicon.ico differ diff --git a/docs/source/_static/logo.png b/docs/source/_static/logo.png new file mode 100644 index 00000000..d6e770a5 Binary files /dev/null and b/docs/source/_static/logo.png differ diff --git a/docs/source/_templates/indexcontent.html b/docs/source/_templates/indexcontent.html new file mode 100644 index 00000000..ee48cb7d --- /dev/null +++ b/docs/source/_templates/indexcontent.html @@ -0,0 +1,38 @@ +{% extends "defindex.html" %} +{% block tables %} +
+

Note

+

This is the developer documentation. If you are not a developer and you are looking for information about the project, check the official website.

+
+ +

Guides:

+ + +
+ + + + + +
+ +

Indices and tables:

+ + +
+ + + + + +
+ +{% endblock %} diff --git a/docs/source/_templates/indexsidebar.html b/docs/source/_templates/indexsidebar.html new file mode 100644 index 00000000..01d397bd --- /dev/null +++ b/docs/source/_templates/indexsidebar.html @@ -0,0 +1,7 @@ +

Other resources

+ diff --git a/docs/source/conf.py b/docs/source/conf.py index 92a4d905..ad4c052c 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -11,7 +11,7 @@ # All configuration values have a default; values that are commented out # serve to show the default. -import os +import os, time os.system('./genapi.py') @@ -40,7 +40,7 @@ master_doc = 'index' # General information about the project. project = u'Weboob' -copyright = u'2010-2012, Weboob Team' +copyright = '2010-%s, The Weboob Team' % time.strftime('%Y') # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the @@ -98,26 +98,26 @@ html_theme = 'default' # Theme options are theme-specific and customize the look and feel of a theme # further. For a list of options available for each theme, see the # documentation. -#html_theme_options = {} +#html_theme_options = {'collapsiblesidebar': True} # Add any paths that contain custom themes here, relative to this directory. #html_theme_path = [] # The name for this set of Sphinx documents. If None, it defaults to # " v documentation". -#html_title = None +#html_title = 'Weboob development' # A shorter title for the navigation bar. Default is the same as html_title. #html_short_title = None # The name of an image file (relative to this directory) to place at the top # of the sidebar. -#html_logo = None +html_logo = '_static/logo.png' # The name of an image file (within the static path) to use as favicon of the # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 # pixels large. -#html_favicon = None +html_favicon = 'favicon.ico' # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, @@ -130,14 +130,18 @@ html_static_path = ['_static'] # If true, SmartyPants will be used to convert quotes and dashes to # typographically correct entities. -#html_use_smartypants = True +html_use_smartypants = True # Custom sidebar templates, maps document names to template names. -#html_sidebars = {} +html_sidebars = { + 'index': 'indexsidebar.html' +} # Additional templates that should be rendered to pages, maps page names to # template names. -#html_additional_pages = {} +html_additional_pages = { + 'index': 'indexcontent.html' +} # If false, no module index is generated. #html_use_modindex = True @@ -146,10 +150,10 @@ html_static_path = ['_static'] #html_use_index = True # If true, the index is split into individual pages for each letter. -#html_split_index = False +html_split_index = False # If true, links to the reST sources are added to the pages. -#html_show_sourcelink = True +html_show_sourcelink = False # If true, an OpenSearch description file will be output, and all pages will # contain a tag referring to it. The value of this option must be the @@ -160,7 +164,7 @@ html_static_path = ['_static'] #html_file_suffix = '' # Output file base name for HTML help builder. -htmlhelp_basename = 'Weboobdoc' +htmlhelp_basename = 'weboob' + release.replace('.', '') # -- Options for LaTeX output -------------------------------------------------- diff --git a/docs/source/contents.rst b/docs/source/contents.rst new file mode 100644 index 00000000..ee189147 --- /dev/null +++ b/docs/source/contents.rst @@ -0,0 +1,8 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + Weboob Documentation contents +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +.. toctree:: + + guides/index + api/index diff --git a/docs/source/guides/contribute.rst b/docs/source/guides/contribute.rst new file mode 100644 index 00000000..adb89646 --- /dev/null +++ b/docs/source/guides/contribute.rst @@ -0,0 +1,99 @@ +How to contribute +================= + +By coding +********* + +Write a patch +------------- + +Help yourself with the `documentation `_. + +Find an opened issue on this website, or write you own bugfix or feature. Then, once it is necessary, commit with:: + + $ git commit -a + +Do not forget to write a helpful commit message. + +Check your patch +---------------- + +You can run these scripts to be sure your patch doesn't break anything:: + + $ tools/pyflakes.sh + $ tools/run_tests.sh yourmodulename # or without yourmodulename to test everything + +Perhaps you should also write or fix tests. + +Send a patch +------------ + +:: + + $ git format-patch -n -s origin + +Then, send them with this command:: + + $ git send-email --to=weboob@weboob.org *.patch + +You can also send the files by yourself if you haven't any configured MTA on your system. + +Ask for a public repository on git.symlink.me +--------------------------------------------- + +If you think you'll contribute to Weboob regularly, you can ask for a public repository. You'll also be able to push your commits in, and they'll be merged into the main repository easily. + +All git branch are listed here: http://git.symlink.me/ + +By hosting a buildbot slave +*************************** + +To be sure weboob works fine on lot of architectures, OS and configurations, but also that websites haven't changed and backends still support them, it's important to have enough buildbot slaves. + +If you are interested by hosting a buildbot slave, follow these instructions: + +Create a slave +-------------- + +Firstly, you have to install ``pyflakes``, ``nose`` and `buildbot `_. + +Run:: + + $ buildslave create-slave buildbot.weboob.org:9080 + +.. note:: + if you use an old version of buildbot, run ``buildbot`` instead of ``buildslave``. + +Parameters are: + +* **dirname** — the path where you want to setup your slave on your host. +* **name** — the name of your slave. It would be for example your name, your nickname, your hostname. Check on http://buildbot.weboob.org the name you want to use isn't already taken. +* **password** — choose a password to login on the master. + +For example:: + + $ buildslave create-slave /home/me/buildbot buildbot.weboob.org:9080 me secret123 + +Then, edit files in ``/home/me/buildbot/info/`` and run the slave:: + + $ buildslave start /home/me/buildbot + +Contact us +---------- + +To connect your slave to our master, you can send us an email on admin@weboob.org with the following information: + +* The name of your slave; +* The IP address of the host; +* The password of your slave; +* Indicate if you want to run tests for every merges (three times a day) or only do a nightly build. + +When your slave will be accepted, you will see it on http://buildbot.weboob.org/waterfall. + +How it works +------------ + +When a build is requested by master, your slave updates its local git repository, and run ``tools/run_tests.sh``. + +To work correctly, we suggest you to add as many as possible backends with the user of the slave. No private information will be sent to master, and it's better to have tests on backends which need authentication, because not every developers have accounts on them. + diff --git a/docs/source/guides/index.rst b/docs/source/guides/index.rst index 9cf357ba..e9b00f9d 100644 --- a/docs/source/guides/index.rst +++ b/docs/source/guides/index.rst @@ -7,6 +7,7 @@ Contents: :maxdepth: 2 setup + contribute module capability application diff --git a/docs/source/index.rst b/docs/source/index.rst index 10c31fcf..40aed08e 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -1,9 +1,17 @@ Weboob ====== -This is the developer documentation. If you are not a developer and you are looking for information about the project, check the `official website `. +Weboob (Web Outside Of Browsers) provides: -Contents: +* :doc:`applications ` to interact with websites +* :doc:`modules `, each one handles a specific website +* a :doc:`core library ` providing all the features needed by backends +* :doc:`tools ` to help develop backends and applications + +Weboob is written in Python and is distributed under the AGPLv3+ license. + +.. note:: + This is the developer documentation. If you are not a developer and you are looking for information about the project, check the `official website `_. .. toctree:: :maxdepth: 2 @@ -12,9 +20,6 @@ Contents: guides/index api/index -Indices and tables -================== - * :ref:`genindex` * :ref:`modindex` * :ref:`search` diff --git a/docs/source/overview.rst b/docs/source/overview.rst index a5428b4c..099d230c 100644 --- a/docs/source/overview.rst +++ b/docs/source/overview.rst @@ -1,7 +1,7 @@ Overview ======== -Weboob (Web Outside Of Browsers) provides: +Weboob (`Web Outside Of Browsers`) provides: * :doc:`applications ` to interact with websites * :doc:`modules `, each one handles a specific website