docs: Unify all the ports into one set of documentation.

With this commit there is now only one entry point into the whole
documentation, which describes the general MicroPython language, and then
from there there are links to information about specific platforms/ports.

This commit doesn't change content (almost, it does fix a few internal
links), it just reorganises things.
This commit is contained in:
Damien George 2018-09-27 17:27:57 +10:00
parent 5cc9517fc5
commit b3e013f60e
19 changed files with 84 additions and 135 deletions

View File

@ -21,42 +21,21 @@ import os
# documentation root, use os.path.abspath to make it absolute, like shown here.
sys.path.insert(0, os.path.abspath('.'))
# Work out the port to generate the docs for
from collections import OrderedDict
micropy_port = os.getenv('MICROPY_PORT') or 'pyboard'
tags.add('port_' + micropy_port)
ports = OrderedDict((
('unix', 'unix'),
('pyboard', 'the pyboard'),
('wipy', 'the WiPy'),
('esp8266', 'the ESP8266'),
))
# The members of the html_context dict are available inside topindex.html
micropy_version = os.getenv('MICROPY_VERSION') or 'latest'
micropy_all_versions = (os.getenv('MICROPY_ALL_VERSIONS') or 'latest').split(',')
url_pattern = '%s/en/%%s/%%s' % (os.getenv('MICROPY_URL_PREFIX') or '/',)
url_pattern = '%s/en/%%s' % (os.getenv('MICROPY_URL_PREFIX') or '/',)
html_context = {
'port':micropy_port,
'port_name':ports[micropy_port],
'port_version':micropy_version,
'all_ports':[
(port_id, url_pattern % (micropy_version, port_id))
for port_id, port_name in ports.items()
],
'cur_version':micropy_version,
'all_versions':[
(ver, url_pattern % (ver, micropy_port))
for ver in micropy_all_versions
(ver, url_pattern % ver) for ver in micropy_all_versions
],
'downloads':[
('PDF', url_pattern % (micropy_version, 'micropython-%s.pdf' % micropy_port)),
('PDF', url_pattern % micropy_version + '/micropython-docs.pdf'),
],
}
# Specify a custom master document based on the port name
master_doc = micropy_port + '_' + 'index'
# -- General configuration ------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
@ -86,7 +65,7 @@ source_suffix = '.rst'
#source_encoding = 'utf-8-sig'
# The master toctree document.
#master_doc = 'index'
master_doc = 'index'
# General information about the project.
project = 'MicroPython'
@ -323,24 +302,3 @@ texinfo_documents = [
# Example configuration for intersphinx: refer to the Python standard library.
intersphinx_mapping = {'python': ('http://docs.python.org/3.5', None)}
# Append the other ports' specific folders/files to the exclude pattern
exclude_patterns.extend([port + '*' for port in ports if port != micropy_port])
modules_port_specific = {
'pyboard': ['pyb'],
'wipy': ['wipy'],
'esp8266': ['esp'],
}
modindex_exclude = []
for p, l in modules_port_specific.items():
if p != micropy_port:
modindex_exclude += l
# Exclude extra modules per port
modindex_exclude += {
'esp8266': ['cmath', 'select'],
'wipy': ['cmath'],
}.get(micropy_port, [])

View File

@ -1,3 +1,5 @@
.. _esp8266_general:
General information about the ESP8266 port
==========================================

View File

@ -1,4 +1,4 @@
.. _quickref:
.. _esp8266_quickref:
Quick reference for the ESP8266
===============================
@ -9,6 +9,15 @@ Quick reference for the ESP8266
The Adafruit Feather HUZZAH board (image attribution: Adafruit).
Below is a quick reference for ESP8266-based boards. If it is your first time
working with this board please consider reading the following sections first:
.. toctree::
:maxdepth: 1
general.rst
tutorial/index.rst
Installing MicroPython
----------------------

View File

@ -1,4 +1,4 @@
.. _tutorial-index:
.. _esp8266_tutorial:
MicroPython tutorial for ESP8266
================================

View File

@ -1,12 +0,0 @@
MicroPython documentation and references
========================================
.. toctree::
esp8266/quickref.rst
esp8266/general.rst
esp8266/tutorial/index.rst
library/index.rst
reference/index.rst
genrst/index.rst
license.rst

View File

@ -3,10 +3,10 @@ MicroPython documentation and references
.. toctree::
wipy/quickref.rst
wipy/general.rst
wipy/tutorial/index.rst
library/index.rst
reference/index.rst
genrst/index.rst
license.rst
pyboard/quickref.rst
esp8266/quickref.rst
wipy/quickref.rst

View File

@ -1,3 +1,5 @@
.. _pyboard_general:
General information about the pyboard
=====================================
@ -77,4 +79,6 @@ including setting up the serial prompt and downloading new firmware using
DFU programming:
`PDF guide <http://micropython.org/resources/Micro-Python-Windows-setup.pdf>`__.
.. _hardware_index:
.. include:: hardware/index.rst

View File

@ -1,5 +1,3 @@
.. _hardware_index:
The pyboard hardware
--------------------

View File

@ -1,4 +1,4 @@
.. _quickref:
.. _pyboard_quickref:
Quick reference for the pyboard
===============================
@ -20,6 +20,15 @@ or `PYBLITEv1.0 <http://micropython.org/resources/pyblitev10-pinout.jpg>`__.
.. image:: http://micropython.org/resources/pybv10-pinout-800px.jpg
:alt: PYBv1.0 pinout
Below is a quick reference for the pyboard. If it is your first time working with
this board please consider reading the following sections first:
.. toctree::
:maxdepth: 1
general.rst
tutorial/index.rst
General board control
---------------------

View File

@ -26,7 +26,7 @@ For this tutorial, we will use the ``X1`` pin. Connect one end of the resistor t
Code
----
By examining the :ref:`quickref`, we see that ``X1`` is connected to channel 1 of timer 5 (``TIM5 CH1``). Therefore we will first create a ``Timer`` object for timer 5, then create a ``TimerChannel`` object for channel 1::
By examining the :ref:`pyboard_quickref`, we see that ``X1`` is connected to channel 1 of timer 5 (``TIM5 CH1``). Therefore we will first create a ``Timer`` object for timer 5, then create a ``TimerChannel`` object for channel 1::
from pyb import Timer
from time import sleep

View File

@ -1,4 +1,4 @@
.. _tutorial-index:
.. _pyboard_tutorial:
MicroPython tutorial for the pyboard
====================================

View File

@ -1,12 +0,0 @@
MicroPython documentation and references
========================================
.. toctree::
pyboard/quickref.rst
pyboard/general.rst
pyboard/tutorial/index.rst
library/index.rst
reference/index.rst
genrst/index.rst
license.rst

View File

@ -9,43 +9,20 @@
</p>
<p>
MicroPython runs on a variety of systems and each has their own specific
documentation. You are currently viewing the documentation for
<strong>{{ port_name }}</strong>.
MicroPython runs on a variety of systems and hardware platforms. Here you can read
the general documentation which applies to all systems, as well as specific information
about the various platforms -
also known as <a href="{{ pathto("reference/glossary") }}#term-micropython-port">ports</a>
- that MicroPython runs on.
</p>
<!--p>
Documentation for other systems are available:
{% for p in all_ports %}
<a href="{{ p[1] }}">{{ p[0] }}</a>{% if not loop.last %}, {% endif %}
{% endfor %}.
</p-->
<p><strong>Documentation for MicroPython and {{ port_name }}:</strong></p>
<p><strong>General documentation for MicroPython:</strong></p>
<table class="contentstable"><tr>
<td width="40%" style="padding-left:2em;">
{% if port in ("pyboard", "wipy", "esp8266") %}
<p class="biglink">
<a class="biglink" href="{{ pathto(port + "/quickref") }}">Quick reference for {{ port_name }}</a><br/>
<span class="linkdescr">pinout for {{ port_name }} and snippets of useful code</span>
</p>
<p class="biglink">
<a class="biglink" href="{{ pathto(port + "/general") }}">General information about {{ port_name }}</a><br/>
<span class="linkdescr">read this first for a quick overview</span>
</p>
<p class="biglink">
<a class="biglink" href="{{ pathto(port + "/tutorial/index") }}">Tutorials and code examples</a><br/>
<span class="linkdescr">start here</span>
</p>
{% endif %}
<p class="biglink">
<a class="biglink" href="{{ pathto("library/index") }}">Library Reference</a><br/>
{% if port == "pyboard" %}
<span class="linkdescr">MicroPython libraries, including the <a href="{{ pathto("library/pyb") }}">pyb module</a></span>
{% else %}
<span class="linkdescr">MicroPython libraries, including the <a href="{{ pathto("library/machine") }}">machine module</a></span>
{% endif %}
<span class="linkdescr">MicroPython libraries and modules</span>
</p>
<p class="biglink">
<a class="biglink" href="{{ pathto("genrst/index") }}">MicroPython Differences</a><br/>
@ -64,7 +41,27 @@
</td>
</tr></table>
<p><strong>References and tutorials for specific platforms:</strong></p>
<table class="contentstable"><tr>
<td width="40%" style="padding-left:2em;">
<p class="biglink">
<a class="biglink" href="{{ pathto("pyboard/quickref") }}">Quick reference for the pyboard</a><br/>
<span class="linkdescr">pinout for the pyboard, snippets of useful code, and a tutorial</span>
</p>
<p class="biglink">
<a class="biglink" href="{{ pathto("esp8266/quickref") }}">Quick reference for the ESP8266</a><br/>
<span class="linkdescr">pinout for ESP8266-based boards, snippets of useful code, and a tutorial</span>
</p>
<p class="biglink">
<a class="biglink" href="{{ pathto("wipy/quickref") }}">Quick reference for the WiPy/CC3200</a><br/>
<span class="linkdescr">pinout for the WiPy/CC3200, snippets of useful code, and a tutorial</span>
</p>
</td>
</tr></table>
<p><strong>Indices and tables:</strong></p>
<table class="contentstable"><tr>
<td width="40%" style="padding-left:2em;">
<p class="biglink">
@ -82,7 +79,7 @@
<span class="linkdescr">MicroPython terms explained</span>
</p>
<p class="biglink">
<a class="biglink" href="{{ pathto(port + "_index") }}">Table of contents</a><br/>
<a class="biglink" href="{{ pathto("index") }}">Table of contents</a><br/>
<span class="linkdescr">a list of all sections and subsections</span>
</p>
</td></tr>

View File

@ -1,16 +1,10 @@
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> Ports and Versions</span>
{{ port }} ({{ port_version }})
<span class="fa fa-book"> Versions and Downloads</span>
{{ cur_version }}
<span class="fa fa-caret-down"></span>
</span>
<div class="rst-other-versions">
<dl>
<dt>Ports</dt>
{% for slug, url in all_ports %}
<dd><a href="{{ url }}">{{ slug }}</a></dd>
{% endfor %}
</dl>
<dl>
<dt>Versions</dt>
{% for slug, url in all_versions %}
@ -27,7 +21,7 @@
<dl>
<dt>External links</dt>
<dd>
<a href="http://www.micropython.org">micropython.org</a>
<a href="https://www.micropython.org">micropython.org</a>
</dd>
<dd>
<a href="https://github.com/micropython/micropython">GitHub</a>

View File

@ -1,9 +0,0 @@
MicroPython documentation and references
========================================
.. toctree::
library/index.rst
reference/index.rst
genrst/index.rst
license.rst

View File

@ -1,3 +1,5 @@
.. _wipy_general:
General information about the WiPy
==================================

View File

@ -1,4 +1,4 @@
.. _quickref_:
.. _wipy_quickref:
Quick reference for the WiPy
============================
@ -7,6 +7,15 @@ Quick reference for the WiPy
:alt: WiPy pinout and alternate functions table
:width: 800px
Below is a quick reference for CC3200/WiPy. If it is your first time
working with this board please consider reading the following sections first:
.. toctree::
:maxdepth: 1
general.rst
tutorial/index.rst
General board control (including sleep modes)
---------------------------------------------

View File

@ -1,4 +1,4 @@
.. _wipy_tutorial_index:
.. _wipy_tutorial:
WiPy tutorials and examples
===========================

View File

@ -23,7 +23,7 @@ As long as you take care of the hardware, you should be okay. It's almost
impossible to break the software on the WiPy, so feel free to play around
with writing code as much as you like. If the filesystem gets corrupt, see
below on how to reset it. In the worst case you might need to do a safe boot,
which is explained in detail :ref:`here <wipy_boot_modes>`.
which is explained in detail in :ref:`wipy_boot_modes`.
Plugging into the expansion board and powering on
-------------------------------------------------
@ -32,13 +32,13 @@ The expansion board can power the WiPy via USB. The WiPy comes with a sticker
on top of the RF shield that labels all pins, and this should match the label
numbers on the expansion board headers. When plugging it in, the WiPy antenna
will end up on top of the SD card connector of the expansion board. A video
showing how to do this can be found `here <https://www.youtube.com/watch?v=47D9MZ9zFQw>`_.
showing how to do this can be found `here on YouTube <https://www.youtube.com/watch?v=47D9MZ9zFQw>`_.
Expansion board hardware guide
------------------------------
The document explaining the hardware details of the expansion board can be found
`here <https://github.com/wipy/wipy/blob/master/docs/User_manual_exp_board.pdf>`_.
`in this PDF <https://github.com/wipy/wipy/blob/master/docs/User_manual_exp_board.pdf>`_.
Powering by an external power source
------------------------------------