In this blog, I'm going to explain you how to write the Sphinx docs using reStructuredText to host in the Read the Docs.
$ pip install Sphinx
And we have script called sphinx-quickstart in Sphinx that sets up a source directory and creates a default conf.py with the most useful configuration values from a few questions it asks you. Just run the following command-
$ sphinx-quickstart
.. toctree::
:maxdepth: 2
document-name-here
document1
document1
...
Now you can add the content in those newely created documents in standard reStructuredText. There are also several features added by Sphinx.
reStructuredText is an easy-to-read markup language. reStructuredText is just a plaintext that uses simple syntaxes to indicate the structure of a document.
Section headers are created by underlining the section title
===============
Section Title (OR) Section Title
=============== ==============
------------------
SubSection Title (OR) SubSection Title
------------------ -----------------
Heading levels are determined from the succession of headings
=, for sections
-, for subsections
^, for subsubsections
Paragraphs consist of blocks of left-aligned text. Blank lines separate paragraphs from each other.
This is the first sentence in a new paragraph. This is the second sentence in a new paragraph. This is the third sentence in a new paragraph. And so on
Second paragraph
The reST inline markup is quite simple:
*text* - Renders as italics.
**text** - Renders as bold.
reference_ - A single word hyperlink reference.
`phrase reference`_ - A hyperlink reference with spaces or punctuation.
|substitution reference| - The result is substituted in from the substitution
definition. It could be text, an image, a hyperlink.
Example:
`word_reference`_ and `some phrase reference`_ and then a |substitution|
.. _word_reference: http://example.org/
.. _some phrase reference: http://somedomain.org/
.. |build-status| image:: https://www.example.com/bird.png
:alt: Bird
Results -
word_reference and some phrase reference and then a Bird
reStructuredText uses backslashes ("\") to override the special meaning given to markup characters.
*escape* ``with`` "\"
Results -
escape with ""
List Markup syntax is simple. Just place an asterisk at the start for bulleted list, place a respective number for numbered lists.
* This is a bulleted list.
* Bullets are "-", "*" or "+".
* It has many items, the third item uses two or more
lines. Continuing text must be aligned after the
bullet and whitespace.
* with a nested list subitems
* and some more subitems
* and here the parent list continues
* and some more parent list items
1. This is a numbered list.
2. It has two items too.
#. This is also a numbered list.
#. It has two items too.
Note: A blank line is required before the first item and after the last item.
Code blocks can be written by ending a paragraph with the special marker ::.
This is a first paragraph::
And this the code block.
It can multiple lines.
You can write write your code here.
Note: A blank line is required to separate two paragraphs from each other.
Example:
Please see the below code::
Example Template
And now we are out of the code block which will normally be rendered as a paragraph.
The other way of writing code-blocks is
.. code-block:: python or javascript or html
$ your normal code
$ Import, logic, html codes etc
Example:
.. code-block:: python
$ git init
$ git config user.name "Your name"
Example:
.. note:: You can write your 'note' here. This is the note.
It can multiple lines.
Example:
.. warning:: You can write your 'warning' here.
This is the warning message.