mirror of
https://github.com/bigchaindb/bigchaindb.git
synced 2024-10-13 13:34:05 +00:00

Inevitably, some resources will not allow to filter by the exact keyword that is included in a resources body. Take for example asset and metadata. They both have a property called 'id', hence requests of a form: /transactions&fields=x,y&property_name=z might now be allowed to be resolved as the keyword 'id' in this case could reference both 'metadata.id' and 'asset.id'. This problem cannot be structurally resolved with URL paths. Hence it was decided to emphasize on a few resources that implement 'id' as a sort-of primary key.
The BigchainDB Documentation Strategy
- Include explanatory comments and docstrings in your code. Write Google style docstrings with a maximum line width of 119 characters.
- For quick overview and help documents, feel free to create
README.md
or otherX.md
files, written using GitHub-flavored Markdown. Markdown files render nicely on GitHub. We might auto-convert some .md files into a format that can be included in the long-form documentation. - We use Sphinx to generate the long-form documentation in various formats (e.g. HTML, PDF).
- We also use Sphinx to generate Python code documentation (from docstrings and possibly other sources).
- We also use Sphinx to document all REST APIs, with the help of the
httpdomain
extension.
How to Generate the HTML Version of the Long-Form Documentation
If you want to generate the HTML version of the long-form documentation on your local machine, you need to have Sphinx and some Sphinx-contrib packages installed. To do that, go to a subdirectory of docs
(e.g. docs/server
) and do:
pip install -r requirements.txt
You can then generate the HTML documentation in that subdirectory by doing:
make html
It should tell you where the generated documentation (HTML files) can be found. You can view it in your web browser.