build(docs): add support for Markdown documentation

This changes adds support for building Markdown documentation into
Sphinx with [MyST]. We'll make use of this in a later patch, where we
introduce automatically-generated Markdown documentation that needs to
be compiled as part of the Sphinx documentation.

[MyST]: https://myst-parser.readthedocs.io/en/latest

Change-Id: I2a241a588c579fac1a81e1853479908928be1fc8
Signed-off-by: Chris Kay <chris.kay@arm.com>
diff --git a/docs/conf.py b/docs/conf.py
index 356be99..ef77f6b 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -20,13 +20,13 @@
 # Add any Sphinx extension module names here, as strings. They can be
 # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
 # ones.
-extensions = ['sphinx.ext.autosectionlabel', 'sphinxcontrib.plantuml']
+extensions = ['myst_parser', 'sphinx.ext.autosectionlabel', 'sphinxcontrib.plantuml']
 
 # Add any paths that contain templates here, relative to this directory.
 templates_path = ['_templates']
 
 # The suffix(es) of source filenames.
-source_suffix = '.rst'
+source_suffix = ['.md', '.rst']
 
 # The master toctree document.
 master_doc = 'index'
diff --git a/docs/requirements.in b/docs/requirements.in
index 192310d..5d771e5 100644
--- a/docs/requirements.in
+++ b/docs/requirements.in
@@ -1,3 +1,4 @@
+myst-parser==0.15.2
 pip-tools==6.4.0
 sphinx==4.2.0
 sphinx-rtd-theme==1.0.0
diff --git a/docs/requirements.txt b/docs/requirements.txt
index 5971ec8..03b1189 100644
--- a/docs/requirements.txt
+++ b/docs/requirements.txt
@@ -6,6 +6,8 @@
 #
 alabaster==0.7.12
     # via sphinx
+attrs==21.2.0
+    # via markdown-it-py
 babel==2.9.1
     # via sphinx
 certifi==2021.5.30
@@ -16,6 +18,7 @@
     # via pip-tools
 docutils==0.16
     # via
+    #   myst-parser
     #   sphinx
     #   sphinx-rtd-theme
 idna==3.2
@@ -23,9 +26,19 @@
 imagesize==1.2.0
     # via sphinx
 jinja2==3.0.1
-    # via sphinx
+    # via
+    #   myst-parser
+    #   sphinx
+markdown-it-py==1.1.0
+    # via
+    #   mdit-py-plugins
+    #   myst-parser
 markupsafe==2.0.1
     # via jinja2
+mdit-py-plugins==0.2.8
+    # via myst-parser
+myst-parser==0.15.2
+    # via -r requirements.in
 packaging==21.0
     # via sphinx
 pep517==0.11.0
@@ -38,6 +51,8 @@
     # via packaging
 pytz==2021.1
     # via babel
+pyyaml==6.0
+    # via myst-parser
 requests==2.26.0
     # via sphinx
 snowballstemmer==2.1.0
@@ -45,6 +60,7 @@
 sphinx==4.2.0
     # via
     #   -r requirements.in
+    #   myst-parser
     #   sphinx-rtd-theme
     #   sphinxcontrib-plantuml
 sphinx-rtd-theme==1.0.0