From f3e169357a93f907c88582d879bb8f02d6e8c188 Mon Sep 17 00:00:00 2001
From: Jonathan Beaumont <jonathan.r.beaumont@gmail.com>
Date: Wed, 6 Mar 2019 13:14:32 +0000
Subject: [PATCH] Fixed formatting issues in README

---
 readme.md | 85 +++++++++++++++++++++++++++----------------------------
 1 file changed, 42 insertions(+), 43 deletions(-)

diff --git a/readme.md b/readme.md
index 6087e99..6f9fea4 100644
--- a/readme.md
+++ b/readme.md
@@ -26,38 +26,38 @@ unless `make test` works.
 Version 3 features
 ------------------
 
-    * Optional OnInit handler added - Standardizes how individual device
-    initialisation is done.
-    * <S> tag added to DevI to allow individual setting of device instance states.
-    * Optional Default tag has been added to Scalar, Array, Tuple, and Union -
-    Takes JSON strings which are parsed to provide default values to instances
-    of these data types.
-    * Optional attribute "indexed" in OutputPin added:
-        * Boolean used to indicate whether this pin broadcasts or sends to an
-        index - default is broadcast.
-    * Optional attribute "sendIndex" for Edge instances added, accepting an
-    integer to identify this pin for indexed send Output pin.
-    * Application pins removed - They have been deprecated by Externals.
-    * DeviceSharedCode removed - SharedCode in DeviceType performs this task.
-    * Fix incorrect definition for TypeDef (typedDataSpec -> typedDataMember).
-    * TypeDef can now contain documentation.
-    * Dense or Sparse array initialisation provided for Arrays.
-    * Digest hashes for types and instances added.
-    * Added <SupervisorType>, renamed from <SupervisorDeviceType> in previous
-    versions.
-    * GraphInstance attribute "supervisorTypeId" changed from
-    "supervisorDeviceTypeId" to match name of SupervisorType.
-    * Updated SupervisorType to the specification discussed with Southampton.
-    * <OnCompute> and <OnIdle> tags are to be entirely removed.
-        * These are replaced by optional <OnHardwareIdle>, <OnDeviceIdle> and <OnThreadIdle>.
-        * This provides more detailed descriptions of when these handlers are executed.
+* Optional OnInit handler added - Standardizes how individual device
+initialisation is done.
+* `<S>` tag added to DevI to allow individual setting of device instance states.
+* Optional Default tag has been added to Scalar, Array, Tuple, and Union -
+Takes JSON strings which are parsed to provide default values to instances
+of these data types.
+* Optional attribute "indexed" in OutputPin added:
+    * Boolean used to indicate whether this pin broadcasts or sends to an
+    index - default is broadcast.
+* Optional attribute "sendIndex" for Edge instances added, accepting an
+integer to identify this pin for indexed send Output pin.
+* Application pins removed - They have been deprecated by Externals.
+* DeviceSharedCode removed - SharedCode in DeviceType performs this task.
+* Fix incorrect definition for TypeDef (typedDataSpec -> typedDataMember).
+* TypeDef can now contain documentation.
+* Dense or Sparse array initialisation provided for Arrays.
+* Digest hashes for types and instances added.
+* Added <SupervisorType>, renamed from <SupervisorDeviceType> in previous
+versions.
+* GraphInstance attribute "supervisorTypeId" changed from
+"supervisorDeviceTypeId" to match name of SupervisorType.
+* Updated SupervisorType to the specification discussed with Southampton.
+* <OnCompute> and <OnIdle> tags are to be entirely removed.
+    * These are replaced by optional <OnHardwareIdle>, <OnDeviceIdle> and <OnThreadIdle>.
+    * This provides more detailed descriptions of when these handlers are executed.
 
 An exemplar XML for version 3, featuring *one of everything* can be found in
 `master/virtual-graph-schema-v3-exemplar-xml.xml`
 
 **A conversion script from version 2 to version 3 is included in with this
 new version of the schema. Information on it's usage is included
-[here](#`tools/convert_v2_graph_to_v3.py`)**
+[here](#Tools)**
 
 Requirements
 ============
@@ -207,6 +207,21 @@ is lost or any device fails.
 Tools
 =====
 
+### tools/convert_v2_graph_to_v3.py
+
+Takes an XML graph type or graph instance which is written using version 2.*
+of the schema, and converts this to version 3 of the schema. This converts
+any `__init__` input pins to `<OnInit>` handlers, and removes any application
+pin attributes.
+
+Usage:
+```
+python tools/convert_v2_graph_to_v3.py <path-to-v2-XML> >> <path-to-new-XML-file>
+```
+
+If no path to a new XML file is provided, the XML will be printed to the
+screen.
+
 ### bin/epoch_sim
 
 This is an epoch based orchestrator. In each epoch, each device gets a chance to
@@ -271,7 +286,7 @@ Parameters:
 
 - `--output OUTPUT` : Choose the output name, or if snapshots are specified the output prefix.
 
-### `tools/render_event_log_as_dot.py`
+### tools/render_event_log_as_dot.py
 
 Takes an event log (e.g. generated by `bin/epoch_sim`) and renders it as a graph.
 _Beware_: don't try to render lots of events (e.g. 1000+) or large numbers of devices (30+),
@@ -284,19 +299,3 @@ tools/render_event_log_as_dot.py events.xml
 dot graph.dot -Tsvg -O
 ````
 Should produce an svg called `graph.svg`.
-
-### `tools/convert_v2_graph_to_v3.py`
-
-Takes an XML graph type or graph instance which is written using version 2.*
-of the schema, and converts this to version 3 of the schema. This converts
-any `__init__` input pins to `<OnInit>` handlers, and removes any application
-pin attributes.
-
-Usage:
-```
-python tools/convert_v2_graph_to_v3.py <path-to-v2-XML> >>
-<path-to-new-XML-file>
-```
-
-If no path to a new XML file is provided, the XML will be printed to the
-screen.