Skip to content

Commit

Permalink
Added some more documentation. #90
Browse files Browse the repository at this point in the history
  • Loading branch information
jimboid committed Sep 12, 2018
1 parent 6727d1b commit aeed82b
Show file tree
Hide file tree
Showing 4 changed files with 55 additions and 2 deletions.
13 changes: 13 additions & 0 deletions docs/dev-contributing.rst
@@ -1 +1,14 @@
Contributing
************

Contributions to Longbow are very welcome. To prevent things from becoming unwieldy for those of us that have to support the code base long-term we ask just a few things of our contributors.

The first step in contributing is to clone the Longbow repository and then create a branch where you will work on your code/doc contribution. Please try to limit changes to one specific or set of related changes per branch, this way you can name your branch with something meaningful. If there is an existing issue in the github tracker covering your contribution, please name your branch with the issue number.

Once you have written your code change, then please modify the documentation both in the source code and in the user documentation to reflect your changes. You should also update the unit tests or add more to test your changes. We have sections of this documentation detailing how to do local docs and test builds so that you can get these working before pusing back to github.

You should make sure you add your name to the contributors section of the AUTHORS.rst file.

Then push your branch back to our repository and open a pull request for merger, your code will then be reviewed by us and if everything above checks out and your feature is in the interest of our userbase then it will be merged for the next release.

That is all there is to it. If you are unsure about your idea, then please do contact us either through the issue tracker or via email and we will be happy to discuss it with you.
25 changes: 25 additions & 0 deletions docs/dev-documenting.rst
@@ -0,0 +1,25 @@
Documenting
***********

Developers wishing to add to/modify existing features of Longbow are responsible for documenting them. As is similar with missing unit tests, pull requests that arrive with an absence of documentation for the addition/modification will be rejected upon review. The Longbow project should have good documentation both at a source code level and in the written documentation that goes out to users. The Longbow project is using Sphinx to compile its documentation, you will need to get some tools installed and try out building the documentation yourself locally before adding to them. The following process will show you how to achieve this:

**1. Install the required packages**

Before you can start documenting, you'll need some packages. So install these if you haven't already::

pip install --user sphinx sphinx-autobuild sphinx_rtd_theme


**2. Try and make the documentation**

The next step is to see if you can build the documentation html from the source. So change into the "docs" directory inside the Longbow source directory and run::

make html

If everything has gone to plan then you should be able to now view the documentation in your web browser by navigating to the index.html file inside the "_build/html" directory.

Adding to the documentation is easy, each page in the documentation has a .rst file associated with it. So to add documentation to an existing page then simply modify the relevant .rst file, if you are unsure which .rst file belongs to which page, then you can find out by looking at the index.rst table of contents and the titles at the top of each .rst file.

The documentation simply uses reStructuredText format, not all features that are available in the reStructuredText will be available through Sphinx so it is best to use the Sphinx documentation for the reST format than the actual reST format documentation. This can be found at http://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html

happy documenting!
14 changes: 14 additions & 0 deletions docs/dev-plugins.rst
@@ -1 +1,15 @@
Writing Plugins
***************

The longbow plugins are the way we chose to incorporate software/scheduler specific features into an otherwise generically written library. The scope of this guide will cover how to create a whole new plugin within an existing category of plugins. The reason that creating new categories of plugins is not covered here is because to do so, the core of Longbow would have to be modified thus would not be update safe unless you submitted your changes to us and they get accepted into the core code. If making entirely new classes of plugins interests you, then please do get in touch so that we can sort out the details and support your plugins.

Plugins are used within Longbow to extend its functionality and support to new scheduling platforms and to support new applications. In this section of the guide we will look at how to create new plugins for both new applications and new schedulers. If you do write a plugin or many plugins, and feel others would benefit from them, get in touch, we would be happy to add them into Longbow core, it doesn't matter how messy or incomplete your code is as we will help.

Application Plugins
===================



Scheduler Plugins
=================

5 changes: 3 additions & 2 deletions docs/index.rst
Expand Up @@ -26,7 +26,7 @@ Gebbie-Rayet, J, Shannon, G, Loeffler, H H and Laughton, C A 2016 Longbow: A Lig
Support
+++++++

Support for any issues arising from using Longbow, whether these are questions, to report a bug or to suggest new ideas. You should use the Longbow forums here: http://www.hecbiosim.ac.uk/longbow-support
Support for any issues arising from using Longbow, whether these are questions, to report a bug or to suggest new ideas. You should use the Longbow issue tracker here: https://github.com/HECBioSim/Longbow/issues

.. toctree::
:maxdepth: 2
Expand All @@ -47,9 +47,10 @@ Support for any issues arising from using Longbow, whether these are questions,
:maxdepth: 2
:caption: Developers Documentation:

dev-contributing
dev-integrating
dev-plugins
dev-contributing
dev-documenting
dev-testing

Longbow has been brought to you by a collaboration between STFC and Nottingham university through the HECBioSim consortium (a part of CoSeC).
Expand Down

0 comments on commit aeed82b

Please sign in to comment.