markdownlint: clean up all warnings

This is a [mostly] format-only change to get the repository into a
state where it conforms with markdownlint.

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Ia07c7b3540cff8b25b7093f715c6617644340036
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 3d1c1ad..7e093b4 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -17,7 +17,7 @@
 OpenBMC relies on the Open Compute Project to provide guidelines on inclusive
 naming. The OCP guidelines can be found here:
 
-https://www.opencompute.org/documents/ocp-terminology-guidelines-for-inclusion-and-openness
+<https://www.opencompute.org/documents/ocp-terminology-guidelines-for-inclusion-and-openness>
 
 ## Structure
 
@@ -47,7 +47,7 @@
 allows other contributors that work for your employer to skip the CLA signing
 process, they can just be added to the existing CCLA Schedule A.
 
-After signing a CLA, send it to manager@lfprojects.org.
+After signing a CLA, send it to <manager@lfprojects.org>.
 
 If you're looking for a place to get started with OpenBMC, you may want to take
 a look at the issues tagged with 'bitesize'. These are fixes or enhancements
@@ -56,12 +56,12 @@
 
 Check out that list here:
 
-https://github.com/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue+user%3Aopenbmc+label%3Abitesize
+<https://github.com/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue+user%3Aopenbmc+label%3Abitesize>
 
 If you need further details on any of these issues, feel free to add comments.
 
 Performing code reviews is another good way to get started. Go to
-https://gerrit.openbmc.org and click on the "all" and "open" menu items, or if
+<https://gerrit.openbmc.org> and click on the "all" and "open" menu items, or if
 you are interested in a particular repository - for example, "bmcweb" - type
 "status:open project:openbmc/bmcweb" into the search bar and press the "search"
 button. Then select a review. Remember to be positive and add value with every
@@ -78,7 +78,7 @@
 Python source should all conform to PEP8. This style is well established within
 the Python community and can be verified with the 'pycodestyle' tool.
 
-https://www.python.org/dev/peps/pep-0008/
+<https://www.python.org/dev/peps/pep-0008/>
 
 ### Python Formatting
 
@@ -91,7 +91,7 @@
 file is all that's needed. If so desired, enforcement of 80 (vs. the default 79)
 chars is fine as well:
 
-```
+```toml
 [pycodestyle]
 max-line-length = 80
 ```
@@ -102,7 +102,7 @@
 repository maintainer's discretion as to whether to enforce the aforementioned
 rules. These rules can be enforced by adding the following to the setup.cfg:
 
-```
+```toml
 [pycodestyle]
 ignore= NONE
 ```
@@ -123,7 +123,7 @@
 
 For C code, we typically use the Linux coding style, which is documented at:
 
-http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst
+<http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst>
 
 In short:
 
@@ -135,7 +135,9 @@
 
 This style can mostly be verified with 'astyle' as follows:
 
-    astyle --style=linux --indent=tab=8 --indent=force-tab=8
+```bash
+astyle --style=linux --indent=tab=8 --indent=force-tab=8
+```
 
 ### C++
 
@@ -235,11 +237,13 @@
 Exceptions to this are allowed in the form of links, which can be represented in
 the form of:
 
-''' This implements [1]
+```markdown
+This implements [1]
 
 ....
 
-[1] https://openbmc.org/myverylongurl. '''
+[1]: https://openbmc.org/myverylongurl.
+```
 
 All commit messages must include a "Signed-off-by" line, which indicates that
 you the contributor have agreed to the Developer Certificate of Origin (see
@@ -258,7 +262,7 @@
 Commit messages should include a "Tested" field describing how you tested the
 code changes in the patch. Example:
 
-```
+```text
     Tested: I ran unit tests with "make check" (added 2 new tests) and manually
     tested on Witherspoon that Foo daemon no longer crashes at boot.
 ```
@@ -272,9 +276,8 @@
 
 The guidelines in the Linux kernel are very useful:
 
-https://www.kernel.org/doc/html/latest/process/submitting-patches.html
-
-https://www.kernel.org/doc/html/latest/process/submit-checklist.html
+- <https://www.kernel.org/doc/html/latest/process/submitting-patches.html>
+- <https://www.kernel.org/doc/html/latest/process/submit-checklist.html>
 
 Your contribution will generally need to be reviewed before being accepted.
 
@@ -282,22 +285,22 @@
 
 The OpenBMC Gerrit server supports GitHub credentials, its link is:
 
-https://gerrit.openbmc.org/#/q/status:open
+<https://gerrit.openbmc.org/#/q/status:open>
 
 _One time setup_: Login to the WebUI with your GitHub credentials and verify on
 your Account Settings that your SSH keys were imported:
 
-https://gerrit.openbmc.org/#/settings/
+<https://gerrit.openbmc.org/#/settings/>
 
 Most repositories are supported by the Gerrit server, the current list can be
 found under Projects -> List:
 
-https://gerrit.openbmc.org/#/admin/projects/
+<https://gerrit.openbmc.org/#/admin/projects/>
 
 If you're going to be working with Gerrit often, it's useful to create an SSH
 host block in ~/.ssh/config. Ex:
 
-```
+```text
 Host openbmc.gerrit
         Hostname gerrit.openbmc.org
         Port 29418
@@ -325,7 +328,7 @@
 repository to automatically add a Change-Id to your commit messages. The steps
 are:
 
-```
+```bash
 gitdir=$(git rev-parse --git-dir)
 curl https://gerrit.openbmc.org/tools/hooks/commit-msg -o ${gitdir}/hooks/commit-msg
 chmod +x ${gitdir}/hooks/commit-msg`
@@ -381,9 +384,9 @@
 
 - D-Bus interfaces are defined in the `phosphor-dbus-interfaces` repository at:
 
-  https://github.com/openbmc/phosphor-dbus-interfaces
+<https://github.com/openbmc/phosphor-dbus-interfaces>
 
-See: http://dbus.freedesktop.org/doc/dbus-api-design.html
+See: <http://dbus.freedesktop.org/doc/dbus-api-design.html>
 
 ## Best practices for C
 
@@ -455,6 +458,7 @@
 
 ## Developer's Certificate of Origin 1.1
 
+```text
     By making a contribution to this project, I certify that:
 
     (a) The contribution was created in whole or in part by me and I
@@ -478,3 +482,4 @@
         personal information I submit with it, including my sign-off) is
         maintained indefinitely and may be redistributed consistent with
         this project or the open source license(s) involved.
+```
diff --git a/IPMITOOL-cheatsheet.md b/IPMITOOL-cheatsheet.md
index 22729a8..0c473f8 100644
--- a/IPMITOOL-cheatsheet.md
+++ b/IPMITOOL-cheatsheet.md
@@ -5,112 +5,112 @@
 
 ## Power
 
-#### 1. View server status
+### 1. View server status
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" power status
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" power status
 ```
 
-#### 2. Server power on
+### 2. Server power on
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" power on
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" power on
 ```
 
-#### 3. Server power off
+### 3. Server power off
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" power off
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" power off
 ```
 
-#### 4. Server power reset
+### 4. Server power reset
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" power reset
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" power reset
 ```
 
-#### 5. Server power cycle
+### 5. Server power cycle
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" power cycle
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" power cycle
 ```
 
-#### 6. Server power soft
+### 6. Server power soft
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" power soft
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" power soft
 ```
 
-#### 7. Send a diagnostic interrupt directly to the processor(not support)
+### 7. Send a diagnostic interrupt directly to the processor(not support)
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" power diag
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" power diag
 ```
 
 ## Users
 
-#### 1. View information for all users
+### 1. View information for all users
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" user list
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" user list
 ```
 
-#### 2. Display a brief summary of BMC users
+### 2. Display a brief summary of BMC users
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" user summary
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" user summary
 ```
 
-#### 3. Create a BMC user with a given name
+### 3. Create a BMC user with a given name
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" user set name <userid> <username>
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" user set name <userid> <username>
 ```
 
-#### 4. Set a given user with a given password
+### 4. Set a given user with a given password
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" user set password <userid>[<password>]
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" user set password <userid>[<password>]
 ```
 
-#### 5. Disable designated users from accessing BMC
+### 5. Disable designated users from accessing BMC
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" user disable <userid>
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" user disable <userid>
 ```
 
-#### 6. Enable the specified user to access BMC
+### 6. Enable the specified user to access BMC
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" user enable <userid>
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" user enable <userid>
 ```
 
 ## Field-replaceable Unit (FRU)
 
-#### 1. View FRU information
+### 1. View FRU information
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" fru list
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" fru list
 ```
 
 ## Sensor Data Record (SDR)
 
-#### 1. View SDR information
+### 1. View SDR information
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" sdr
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" sdr
 ```
 
-#### 2. Query related SDR information in BMC
+### 2. Query related SDR information in BMC
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" sdr info
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" sdr info
 ```
 
-#### 3. View sensor date records
+### 3. View sensor date records
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" sdr list [all|full|compact|event|mcloc|fru|generic]
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" sdr list [all|full|compact|event|mcloc|fru|generic]
 
 ##
 all     : All SDR records (sensors and positioners)
@@ -124,86 +124,82 @@
 
 ## Sensors
 
-#### 1. View sensor information
+### 1. View sensor information
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" sensor list
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" sensor list
 ```
 
 ## Management Controller (MC)
 
-#### 1. Instruct the BMC to perform a cold reset
+### 1. Instruct the BMC to perform a cold reset
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" mc reset cold
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" mc reset cold
 ```
 
-#### 2. Instruct the BMC to perform a warm reset(not supported)
+### 2. Instruct the BMC to perform a warm reset(not supported)
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" mc reset warm
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" mc reset warm
 ```
 
-#### 3. View BMC information
+### 3. View BMC information
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" mc info
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" mc info
 ```
 
-#### 4. View the currently available operation options of BMC
+### 4. View the currently available operation options of BMC
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" mc getenables
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" mc getenables
 ```
 
 ## Channels
 
-#### 1. Display the authentication function about the selected information
+### 1. Display the authentication function about the selected information channel
 
-#### channel
-
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" channel authcap <channel number> <max privilege>
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" channel authcap <channel number> <max privilege>
 ```
 
-#### 2. Display the information for the selected channel
+### 2. Display the information for the selected channel
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" channel info [<channel number>]
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" channel info [<channel number>]
 ```
 
-#### 3. View channel information
+### 3. View channel information
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" channel info
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" channel info
 ```
 
 ## Chassis
 
-#### 1. Display information about the high-level status of the system rack and
+### 1. Display information about the high-level status of the system rack and power subsystem
 
-#### power subsystem.
-
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" chassis status
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" chassis status
 ```
 
-#### 2. The command will return the power on time
+### 2. The command will return the power on time
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" chassis poh
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" chassis poh
 ```
 
-#### 3. Query the reason for the last system restart.(not supported)
+### 3. Query the reason for the last system restart.(not supported)
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" chassis restart_cause
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" chassis restart_cause
 ```
 
-#### 4. Set rack power strategy in case of power failure
+### 4. Set rack power strategy in case of power failure
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" chassis policy <state>
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" chassis policy <state>
 
 ##
 list        : return supported policies
@@ -212,10 +208,10 @@
 always-off  : stay off after power is restored
 ```
 
-#### 5. View and change power status
+### 5. View and change power status
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" chassis power
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" chassis power
 
 ##
 status : show current status
@@ -226,10 +222,10 @@
 cycle  : power cycle
 ```
 
-#### 6. Set boot device for next system restart
+### 6. Set boot device for next system restart
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" chassis bootdev <device>
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" chassis bootdev <device>
 ```
 
 ##
@@ -246,57 +242,51 @@
 | cdrom  | boot from the CD/DVD                                        |
 |  bios  | enter bios settings                                         |
 
-##
-
 If you want to make your override persistent over reboots use the `persistent`
 option:
 
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" chassis bootdev <device> options=persistent
 ```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" chassis bootdev <device> options=persistent
-```
-
-##
 
 If the main host machine is based on the x86 CPU you need also pay attention to
 the legacy/EFI mode selector. By default IPMI overrides boot source with the
 legacy mode enabled. To set EFI mode use `efiboot` option:
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" chassis bootdev <device> options=efiboot
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" chassis bootdev <device> options=efiboot
 ```
 
 You can combine options with a help of `,`:
 
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" chassis bootdev <device> options=persistent,efiboot
 ```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" chassis bootdev <device> options=persistent,efiboot
-```
-
-##
 
 To read current boot source override setting:
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" chassis bootparam get 5
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" chassis bootparam get 5
 ```
 
-#### 7. Control panel logo light
+### 7. Control panel logo light
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" chassis identify <interval>
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" chassis identify <interval>
 ```
 
 ## Local Area Network(LAN)
 
-#### 1. Output the current configuration information of a given channel
+### 1. Output the current configuration information of a given channel
 
-```
- $ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" lan print [<channel number>]
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" lan print [<channel number>]
 ```
 
-#### 2. Set the given parameters for the given channel
+### 2. Set the given parameters for the given channel
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" lan set <channel> <command> <parameter>
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" lan set <channel> <command> <parameter>
 ##
 Valid parameter
 ipaddr <x.x.x.x>                 : Set ip for this channel
@@ -312,56 +302,54 @@
 
 ## System Event Log (SEL)
 
-#### 1. Query the relevant information about SEL and its content in BMC
+### 1. Query the relevant information about SEL and its content in BMC
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" sel info
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" sel info
 ```
 
-#### 2. Clear the information in SEL,but it cannot be undone.
+### 2. Clear the information in SEL,but it cannot be undone
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" sel clear
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" sel clear
 ```
 
-#### 3. Delete a single event
+### 3. Delete a single event
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" sel delete <number>
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" sel delete <number>
 ```
 
-#### 4. Display the current time of the SEL clock
+### 4. Display the current time of the SEL clock
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" sel time get
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" sel time get
 ```
 
 ## Session
 
-#### 1. Display session information
+### 1. Display session information
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" session info all
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" session info all
 ```
 
 ## Serial Over Lan (SOL)
 
-#### 1. Retrieve Serial-Over-LAN configuration information for the specified
+### 1. Retrieve Serial-Over-LAN configuration information for the specified channel
 
-#### channel.
-
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" sol info [<channel number>]
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" sol info [<channel number>]
 ```
 
-#### 2. Put ipmitool into Serial Over LAN mode
+### 2. Put ipmitool into Serial Over LAN mode
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" sol activate
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" sol activate
 ```
 
-#### 3. Disable serial LAN in BMC mode
+### 3. Disable serial LAN in BMC mode
 
-```
-$ ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" sol deactivate
+```bash
+ipmitool -C 17 -H "$BMC_IP" -I lanplus -U "$BMC_USER" -P "$BMC_PASSWD" sol deactivate
 ```
diff --git a/README.md b/README.md
index 9b569bf..cc84a64 100644
--- a/README.md
+++ b/README.md
@@ -11,9 +11,9 @@
 
 ## Contact
 
-- Mail: openbmc@lists.ozlabs.org https://lists.ozlabs.org/listinfo/openbmc
-- List Archive: https://lore.kernel.org/openbmc/
-- Discord: https://discord.gg/69Km47zH98
+- Mail: `openbmc@lists.ozlabs.org` <https://lists.ozlabs.org/listinfo/openbmc>
+- List Archive: <https://lore.kernel.org/openbmc/>
+- Discord: <https://discord.gg/69Km47zH98>
 
 ## OpenBMC Development
 
diff --git a/REDFISH-cheatsheet.md b/REDFISH-cheatsheet.md
index 21edf44..1e71a1a 100644
--- a/REDFISH-cheatsheet.md
+++ b/REDFISH-cheatsheet.md
@@ -9,7 +9,7 @@
 
 ## Query Redfish Service Root
 
-```
+```bash
 export bmc=xx.xx.xx.xx
 curl -k https://${bmc}/redfish/v1
 ```
@@ -18,9 +18,9 @@
 
 ## Establish Redfish connection session
 
-##### Method 1
+### Method 1
 
-```
+```bash
 export bmc=xx.xx.xx.xx
 curl --insecure -H "Content-Type: application/json" -X POST -D headers.txt https://${bmc}/redfish/v1/SessionService/Sessions -d    '{"UserName":"root", "Password":"0penBmc"}'
 ```
@@ -28,13 +28,13 @@
 A file, headers.txt, will be created. Find the `"X-Auth-Token"` in that file.
 Save it away in an env variable like so:
 
-```
+```bash
 export bmc_token=<token>
 ```
 
-##### Method 2
+### Method 2
 
-```
+```bash
 export bmc=xx.xx.xx.xx
 export token=`curl -k -H "Content-Type: application/json" -X POST https://${bmc}/login -d '{"username" :  "root", "password" :  "0penBmc"}' | grep token | awk '{print $2;}' | tr -d '"'`
 curl -k -H "X-Auth-Token: $token" https://${bmc}/redfish/v1/...
@@ -46,7 +46,7 @@
 
 ## View Redfish Objects
 
-```
+```bash
 curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/Chassis
 curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/Managers
 curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/Systems
@@ -56,7 +56,7 @@
 
 ## View sessions
 
-```
+```bash
 curl -k -H "X-Auth-Token: $token" https://${bmc}/redfish/v1/SessionService/Sessions
 ```
 
@@ -66,25 +66,25 @@
 
 Host soft power off:
 
-```
+```bash
 curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X POST https://${bmc}/redfish/v1/Systems/system/Actions/ComputerSystem.Reset -d '{"ResetType": "GracefulShutdown"}'
 ```
 
 Host hard power off:
 
-```
+```bash
 curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X POST https://${bmc}/redfish/v1/Systems/system/Actions/ComputerSystem.Reset -d '{"ResetType": "ForceOff"}'
 ```
 
 Host power on:
 
-```
+```bash
 curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X POST https://${bmc}/redfish/v1/Systems/system/Actions/ComputerSystem.Reset -d '{"ResetType": "On"}'
 ```
 
 Reboot Host:
 
-```
+```bash
 curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X POST https://${bmc}/redfish/v1/Systems/system/Actions/ComputerSystem.Reset -d '{"ResetType": "GracefulRestart"}'
 ```
 
@@ -92,7 +92,7 @@
 
 ## BMC reboot
 
-```
+```bash
 curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X POST https://${bmc}/redfish/v1/Managers/bmc/Actions/Manager.Reset -d '{"ResetType": "GracefulRestart"}'
 ```
 
@@ -102,7 +102,7 @@
 
 Proceed with caution:
 
-```
+```bash
 curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X POST https://${bmc}/redfish/v1/Managers/bmc/Actions/Manager.ResetToDefaults -d '{"ResetType": "ResetAll"}'
 ```
 
@@ -112,13 +112,13 @@
 
 Display logging entries:
 
-```
+```bash
 curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/redfish/v1/Systems/system/LogServices/EventLog/Entries
 ```
 
 Delete logging entries:
 
-```
+```bash
 curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X POST https://${bmc}/redfish/v1/Systems/system/LogServices/EventLog/Actions/LogService.Reset
 ```
 
@@ -128,7 +128,7 @@
 
 Firmware update: Note the `<image file path>` must be a tarball.
 
-```
+```bash
 uri=$(curl -k -H "X-Auth-Token: $token" https://${bmc}/redfish/v1/UpdateService | jq -r ' .HttpPushUri')
 
 curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/octet-stream" -X POST -T <image file path> https://${bmc}${uri}
@@ -137,7 +137,7 @@
 Firmware update using multi-part form data: Note the `<apply time>` can be
 `OnReset` or `Immediate`.
 
-```
+```bash
 uri=$(curl -k -H "X-Auth-Token: $token" https://${bmc}/redfish/v1/UpdateService | jq -r ' .MultipartHttpPushUri')
 
 curl -k -H "X-Auth-Token: $token" -H "Content-Type:multipart/form-data" -X POST -F UpdateParameters="{\"Targets\":[\"/redfish/v1/Managers/bmc\"],\"@Redfish.OperationApplyTime\":<apply time>};type=application/json" -F "UpdateFile=@<image file path>;type=application/octet-stream" https://${bmc}${uri}
@@ -147,13 +147,13 @@
 contains the address of the TFTP service:
 `xx.xx.xx.xx/obmc-phosphor-xxxxx-xxxxxxxxx.static.mtd.tar`
 
-```
+```bash
 curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X POST https://${bmc}/redfish/v1/UpdateService/Actions/UpdateService.SimpleUpdate -d '{"TransferProtocol":"TFTP","ImageURI":"<image file path>"}'
 ```
 
 TFTP Firmware update with protocol in ImageURI:
 
-```
+```bash
 curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X POST https://${bmc}/redfish/v1/UpdateService/Actions/UpdateService.SimpleUpdate -d '{"ImageURI":"tftp://<image file path>"}'
 ```
 
@@ -163,7 +163,7 @@
 
 Change password to "0penBmc1":
 
-```
+```bash
 curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PATCH -d '{"Password": "0penBmc1"}' https://${bmc}/redfish/v1/AccountService/Accounts/root
 ```
 
@@ -173,19 +173,19 @@
 
 Enter into BIOS setup on boot
 
-```
+```bash
 curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PATCH https://${bmc}/redfish/v1/Systems/system -d '{"Boot":{"BootSourceOverrideEnabled": "Continuous","BootSourceOverrideTarget": "BiosSetup"}}'
 ```
 
 Fully boot
 
-```
+```bash
 curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PATCH https://${bmc}/redfish/v1/Systems/system -d '{"Boot":{"BootSourceOverrideEnabled": "Disabled","BootSourceOverrideTarget": "None"}}'
 ```
 
 Change Legacy/EFI selector (valid only if host is based on the x86 CPU)
 
-```
+```bash
 curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PATCH https://${bmc}/redfish/v1/Systems/system -d '{"Boot":{"BootSourceOverrideEnabled": "Once","BootSourceOverrideTarget": "None","BootSourceOverrideMode": "UEFI"}}'
 ```
 
@@ -195,13 +195,13 @@
 
 Add a NTP Server
 
-```
+```bash
 curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PATCH https://${bmc}/redfish/v1/Managers/bmc/NetworkProtocol -d '{"NTP":{"NTPServers":["time.nist.gov"]}}'
 ```
 
 Now enable NTP
 
-```
+```bash
 curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PATCH https://${bmc}/redfish/v1/Managers/bmc/NetworkProtocol -d '{"NTP":{"ProtocolEnabled": true}}'
 ```
 
@@ -209,7 +209,7 @@
 
 ## Disable IPMI
 
-```
+```bash
 curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PATCH https://${bmc}/redfish/v1/Managers/bmc/NetworkProtocol -d '{"IPMI":{"ProtocolEnabled": false}}'
 ```
 
diff --git a/REST-cheatsheet.md b/REST-cheatsheet.md
index 2f1d3ba..6a862ae 100644
--- a/REST-cheatsheet.md
+++ b/REST-cheatsheet.md
@@ -2,13 +2,13 @@
 
 This document is intended to provide a set of REST client commands for OpenBMC
 usage. OpenBMC REST is disabled by default in bmcweb. For more information, see
-https://github.com/openbmc/bmcweb/commit/47c9e106e0057dd70133d50e928e48cbc68e709a.
+<https://github.com/openbmc/bmcweb/commit/47c9e106e0057dd70133d50e928e48cbc68e709a>.
 Most of the functionality previously provided by OpenBMC REST is available in
 Redfish.
 
 ## Using CURL commands
 
-### Notes on authentication:
+### Notes on authentication
 
 The original REST server, from the phosphor-rest-server repository, uses
 authentication handled by the curl cookie jar files. The bmcweb REST server can
@@ -22,33 +22,35 @@
 ### Establish REST connection session
 
 - Using just the cookie jar files for the phosphor-rest server:
-  ```
-  $ export bmc=xx.xx.xx.xx
-  $ curl -c cjar -b cjar -k -H "Content-Type: application/json" -X POST https://${bmc}/login -d "{\"data\": [ \"root\", \"0penBmc\" ] }"
-  ```
+
+```bash
+ export bmc=xx.xx.xx.xx
+ curl -c cjar -b cjar -k -H "Content-Type: application/json" -X POST https://${bmc}/login -d "{\"data\": [ \"root\", \"0penBmc\" ] }"
+```
+
 - If passing in the username/password as part of the URL, no unique login call
   is required. The URL format is:
 
-  ```
+```bash
   <username>:<password>@<hostname>/<path>...
-  ```
+```
 
-  For example:
+For example:
 
-  ```
-  $ export bmc=xx.xx.xx.xx
-  $ curl -k -X GET https://root:0penBmc@${bmc}/xyz/openbmc_project/list
-  ```
+```bash
+ export bmc=xx.xx.xx.xx
+ curl -k -X GET https://root:0penBmc@${bmc}/xyz/openbmc_project/list
+```
 
 - Token based authentication.
 
-  ```
-  $ export bmc=xx.xx.xx.xx
-  $ export token=`curl -k -H "Content-Type: application/json" -X POST https://${bmc}/login -d '{"username" :  "root", "password" :  "0penBmc"}' | grep token | awk '{print $2;}' | tr -d '"'`
-  $ curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/...
-  ```
+```bash
+ export bmc=xx.xx.xx.xx
+ export token=`curl -k -H "Content-Type: application/json" -X POST https://${bmc}/login -d '{"username" :  "root", "password" :  "0penBmc"}' | grep token | awk '{print $2;}' | tr -d '"'`
+ curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/...
+```
 
-  The third method is recommended.
+The third method is recommended.
 
 ### Commands
 
@@ -56,133 +58,133 @@
 implementations as described above, this assumes that if bmcweb is used it is
 using the 'Token based' login method as described above:
 
-```
-$ export bmc=xx.xx.xx.xx
-$ export token=`curl -k -H "Content-Type: application/json" -X POST https://${bmc}/login -d '{"username" :  "root", "password" :  "0penBmc"}' | grep token | awk '{print $2;}' | tr -d '"'`
-$ curl -k -H "X-Auth-Token: $token" https://$bmc/xyz/openbmc_project/...
+```bash
+export bmc=xx.xx.xx.xx
+export token=`curl -k -H "Content-Type: application/json" -X POST https://${bmc}/login -d '{"username" :  "root", "password" :  "0penBmc"}' | grep token | awk '{print $2;}' | tr -d '"'`
+curl -k -H "X-Auth-Token: $token" https://$bmc/xyz/openbmc_project/...
 ```
 
 - List and enumerate:
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/list
-  $ curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/enumerate
-  ```
+```bash
+ curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/list
+ curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/enumerate
+```
 
 - List sub-objects:
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/
-  $ curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/state/
-  ```
+```bash
+ curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/
+ curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/state/
+```
 
 - Host soft power off:
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"data": "xyz.openbmc_project.State.Host.Transition.Off"}' -X PUT https://${bmc}/xyz/openbmc_project/state/host0/attr/RequestedHostTransition
-  ```
+```bash
+ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"data": "xyz.openbmc_project.State.Host.Transition.Off"}' -X PUT https://${bmc}/xyz/openbmc_project/state/host0/attr/RequestedHostTransition
+```
 
 - Host hard power off:
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT -d '{"data":"xyz.openbmc_project.State.Chassis.Transition.Off"}' https://${bmc}//xyz/openbmc_project/state/chassis0/attr/RequestedPowerTransition
-  ```
+```bash
+ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT -d '{"data":"xyz.openbmc_project.State.Chassis.Transition.Off"}' https://${bmc}//xyz/openbmc_project/state/chassis0/attr/RequestedPowerTransition
+```
 
 - Host power on:
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"data": "xyz.openbmc_project.State.Host.Transition.On"}' -X PUT https://${bmc}/xyz/openbmc_project/state/host0/attr/RequestedHostTransition
-  ```
+```bash
+ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"data": "xyz.openbmc_project.State.Host.Transition.On"}' -X PUT https://${bmc}/xyz/openbmc_project/state/host0/attr/RequestedHostTransition
+```
 
 - Reboot Host:
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT -d '{"data":"xyz.openbmc_project.State.Host.Transition.Reboot"}' https://${bmc}/xyz/openbmc_project/state/host0/attr/RequestedHostTransition
-  ```
+```bash
+ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT -d '{"data":"xyz.openbmc_project.State.Host.Transition.Reboot"}' https://${bmc}/xyz/openbmc_project/state/host0/attr/RequestedHostTransition
+```
 
 - Reboot BMC:
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT -d '{"data":"xyz.openbmc_project.State.BMC.Transition.Reboot"}' https://${bmc}/xyz/openbmc_project/state/bmc0/attr/RequestedBMCTransition
-  ```
+```bash
+ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT -d '{"data":"xyz.openbmc_project.State.BMC.Transition.Reboot"}' https://${bmc}/xyz/openbmc_project/state/bmc0/attr/RequestedBMCTransition
+```
 
 - Display logging entries:
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X GET https://${bmc}/xyz/openbmc_project/logging/entry/enumerate
-  ```
+```bash
+ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X GET https://${bmc}/xyz/openbmc_project/logging/entry/enumerate
+```
 
 - Delete logging entries:
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X DELETE https://${bmc}/xyz/openbmc_project/logging/entry/<entry_id>
-  $ curl -k -H "X-Auth-Token: $token" -H 'Content-Type: application/json' -X POST -d '{"data":[]}' https://${bmc}/xyz/openbmc_project/logging/action/DeleteAll
-  ```
+```bash
+ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X DELETE https://${bmc}/xyz/openbmc_project/logging/entry/<entry_id>
+ curl -k -H "X-Auth-Token: $token" -H 'Content-Type: application/json' -X POST -d '{"data":[]}' https://${bmc}/xyz/openbmc_project/logging/action/DeleteAll
+```
 
 - Delete dump entries:
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X DELETE https://${bmc}/xyz/openbmc_project/dump/entry/<entry_id>
-  $ curl -k -H "X-Auth-Token: $token" -H 'Content-Type: application/json' -X POST -d '{"data":[]}' https://${bmc}/xyz/openbmc_project/dump/action/DeleteAll
-  ```
+```bash
+ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X DELETE https://${bmc}/xyz/openbmc_project/dump/entry/<entry_id>
+ curl -k -H "X-Auth-Token: $token" -H 'Content-Type: application/json' -X POST -d '{"data":[]}' https://${bmc}/xyz/openbmc_project/dump/action/DeleteAll
+```
 
 - Delete images from system:
 
   - Delete image:
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X POST -d '{"data": []}' https://${bmc}/xyz/openbmc_project/software/<image id>/action/Delete
-  ```
+```bash
+ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X POST -d '{"data": []}' https://${bmc}/xyz/openbmc_project/software/<image id>/action/Delete
+```
 
-  - Delete all non-running images:
+- Delete all non-running images:
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X POST -d '{"data": []}' https://${bmc}/xyz/openbmc_project/software/action/DeleteAll
-  ```
+```bash
+ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X POST -d '{"data": []}' https://${bmc}/xyz/openbmc_project/software/action/DeleteAll
+```
 
 - Clear gard records:
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X POST -d '{"data":[]}' https://${bmc}/org/open_power/control/gard/action/Reset
-  ```
+```bash
+ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X POST -d '{"data":[]}' https://${bmc}/org/open_power/control/gard/action/Reset
+```
 
 - Control boot source override:
 
   - Read current boot source override settings:
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token"  https://${bmc}/xyz/openbmc_project/control/host0/boot/enumerate
-  ```
+```bash
+ curl -k -H "X-Auth-Token: $token"  https://${bmc}/xyz/openbmc_project/control/host0/boot/enumerate
+```
 
-  - Set boot source:
+- Set boot source:
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT https://${bmc}/xyz/openbmc_project/control/host0/boot/attr/BootSource -d '{"data": "xyz.openbmc_project.Control.Boot.Source.Sources.Default"}'
-  ```
+```bash
+ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT https://${bmc}/xyz/openbmc_project/control/host0/boot/attr/BootSource -d '{"data": "xyz.openbmc_project.Control.Boot.Source.Sources.Default"}'
+```
 
-  - Set boot mode:
+- Set boot mode:
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT https://${bmc}/xyz/openbmc_project/control/host0/boot/attr/BootMode -d '{"data": "xyz.openbmc_project.Control.Boot.Mode.Modes.Regular"}'
-  ```
+```bash
+ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT https://${bmc}/xyz/openbmc_project/control/host0/boot/attr/BootMode -d '{"data": "xyz.openbmc_project.Control.Boot.Mode.Modes.Regular"}'
+```
 
-  - Set boot type (valid only if host is based on the x86 CPU):
+- Set boot type (valid only if host is based on the x86 CPU):
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT https://${bmc}/xyz/openbmc_project/control/host0/boot/attr/BootType -d '{"data": "xyz.openbmc_project.Control.Boot.Type.Types.EFI"}'
-  ```
+```bash
+ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT https://${bmc}/xyz/openbmc_project/control/host0/boot/attr/BootType -d '{"data": "xyz.openbmc_project.Control.Boot.Type.Types.EFI"}'
+```
 
-  - Set boot source override persistent:
+- Set boot source override persistent:
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT https://${bmc}/xyz/openbmc_project/control/host0/boot/one_time/attr/Enabled -d '{"data": "false"}'
-  ```
+```bash
+ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT https://${bmc}/xyz/openbmc_project/control/host0/boot/one_time/attr/Enabled -d '{"data": "false"}'
+```
 
-  - Enable boot source override:
+- Enable boot source override:
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT https://${bmc}/xyz/openbmc_project/control/host0/boot/attr/Enabled -d '{"data": "true"}'
-  ```
+```bash
+ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT https://${bmc}/xyz/openbmc_project/control/host0/boot/attr/Enabled -d '{"data": "true"}'
+```
 
 - Set NTP and Nameserver:
 
@@ -190,20 +192,20 @@
 
   - NTP Server:
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT -d '{"data": ["pool.ntp.org"] }' https://${bmc}/xyz/openbmc_project/network/eth0/attr/NTPServers
-  ```
+```bash
+ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT -d '{"data": ["pool.ntp.org"] }' https://${bmc}/xyz/openbmc_project/network/eth0/attr/NTPServers
+```
 
-  - Name Server:
+- Name Server:
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT -d '{"data": ["time.google.com"] }' https://${bmc}/xyz/openbmc_project/network/eth0/attr/Nameservers
-  ```
+```bash
+ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT -d '{"data": ["time.google.com"] }' https://${bmc}/xyz/openbmc_project/network/eth0/attr/Nameservers
+```
 
 - Configure time ownership and time sync method:
 
   The introduction about time setting is here:
-  https://github.com/openbmc/phosphor-time-manager
+  <https://github.com/openbmc/phosphor-time-manager>
 
   Note: Starting from OpenBMC 2.6 (with systemd v239), systemd's timedated
   introduces a new beahvior that it checks the NTP services' status during
@@ -219,62 +221,62 @@
 
   - Read:
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/xyz/openbmc_project/time/owner/attr/TimeOwner
-  $ curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/xyz/openbmc_project/time/sync_method/attr/TimeSyncMethod
-  ```
+```bash
+ curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/xyz/openbmc_project/time/owner/attr/TimeOwner
+ curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/xyz/openbmc_project/time/sync_method/attr/TimeSyncMethod
+```
 
-  - Write:
+- Write:
 
-  Time owner:
+Time owner:
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X  PUT -d '{"data": "xyz.openbmc_project.Time.Owner.Owners.BMC" }' https://${bmc}/xyz/openbmc_project/time/owner/attr/TimeOwner
-  $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X  PUT -d '{"data": "xyz.openbmc_project.Time.Owner.Owners.Host" }' https://${bmc}/xyz/openbmc_project/time/owner/attr/TimeOwner
-  $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X  PUT -d '{"data": "xyz.openbmc_project.Time.Owner.Owners.Split" }' https://${bmc}/xyz/openbmc_project/time/owner/attr/TimeOwner
-  $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X  PUT -d '{"data": "xyz.openbmc_project.Time.Owner.Owners.Both" }' https://${bmc}/xyz/openbmc_project/time/owner/attr/TimeOwner
-  ```
+```bash
+ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X  PUT -d '{"data": "xyz.openbmc_project.Time.Owner.Owners.BMC" }' https://${bmc}/xyz/openbmc_project/time/owner/attr/TimeOwner
+ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X  PUT -d '{"data": "xyz.openbmc_project.Time.Owner.Owners.Host" }' https://${bmc}/xyz/openbmc_project/time/owner/attr/TimeOwner
+ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X  PUT -d '{"data": "xyz.openbmc_project.Time.Owner.Owners.Split" }' https://${bmc}/xyz/openbmc_project/time/owner/attr/TimeOwner
+ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X  PUT -d '{"data": "xyz.openbmc_project.Time.Owner.Owners.Both" }' https://${bmc}/xyz/openbmc_project/time/owner/attr/TimeOwner
+```
 
-  Time sync method:
+Time sync method:
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X  PUT -d '{"data": "xyz.openbmc_project.Time.Synchronization.Method.NTP" }' https://${bmc}/xyz/openbmc_project/time/sync_method/attr/TimeSyncMethod
-  $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X  PUT -d '{"data": "xyz.openbmc_project.Time.Synchronization.Method.Manual" }' https://${bmc}/xyz/openbmc_project/time/sync_method/attr/TimeSyncMethod
-  ```
+```bash
+ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X  PUT -d '{"data": "xyz.openbmc_project.Time.Synchronization.Method.NTP" }' https://${bmc}/xyz/openbmc_project/time/sync_method/attr/TimeSyncMethod
+ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X  PUT -d '{"data": "xyz.openbmc_project.Time.Synchronization.Method.Manual" }' https://${bmc}/xyz/openbmc_project/time/sync_method/attr/TimeSyncMethod
+```
 
 - Power Supply Redundancy:
 
   - Read:
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/xyz/openbmc_project/control/power_supply_redundancy
-  ```
+```bash
+ curl -k -H "X-Auth-Token: $token" -X GET https://${bmc}/xyz/openbmc_project/control/power_supply_redundancy
+```
 
-  - Write (Enable/Disable):
+- Write (Enable/Disable):
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT https://${bmc}/xyz/openbmc_project/control/power_supply_redundancy/attr/PowerSupplyRedundancyEnabled -d '{"data": 1}'
-  $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT https://${bmc}/xyz/openbmc_project/control/power_supply_redundancy/attr/PowerSupplyRedundancyEnabled -d '{"data": 0}'
-  ```
+```bash
+ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT https://${bmc}/xyz/openbmc_project/control/power_supply_redundancy/attr/PowerSupplyRedundancyEnabled -d '{"data": 1}'
+ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT https://${bmc}/xyz/openbmc_project/control/power_supply_redundancy/attr/PowerSupplyRedundancyEnabled -d '{"data": 0}'
+```
 
 - Factory Reset:
 
   - Factory reset host and BMC software:
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" -H 'Content-Type: application/json' -X POST -d '{"data":[]}' https://${bmc}/xyz/openbmc_project/software/action/Reset
-  ```
+```bash
+ curl -k -H "X-Auth-Token: $token" -H 'Content-Type: application/json' -X POST -d '{"data":[]}' https://${bmc}/xyz/openbmc_project/software/action/Reset
+```
 
-  - Factory reset network setting:
+- Factory reset network setting:
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" -H 'Content-Type: application/json' -X POST -d '{"data":[]}' https://${bmc}/xyz/openbmc_project/network/action/Reset
-  ```
+```bash
+ curl -k -H "X-Auth-Token: $token" -H 'Content-Type: application/json' -X POST -d '{"data":[]}' https://${bmc}/xyz/openbmc_project/network/action/Reset
+```
 
-  - Enable field mode:
+- Enable field mode:
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" -H 'Content-Type: application/json' -X PUT -d '{"data":1}' https://${bmc}/xyz/openbmc_project/software/attr/FieldModeEnabled
-  ```
+```bash
+ curl -k -H "X-Auth-Token: $token" -H 'Content-Type: application/json' -X PUT -d '{"data":1}' https://${bmc}/xyz/openbmc_project/software/attr/FieldModeEnabled
+```
 
-  and then reboot BMC.
+and then reboot BMC.
diff --git a/anti-patterns.md b/anti-patterns.md
index 4af2093..afb6356 100644
--- a/anti-patterns.md
+++ b/anti-patterns.md
@@ -72,7 +72,7 @@
 
 ### Identification
 
-```
+```bitbake
 RDEPENDS_${PN} = "libsystemd"
 ```
 
@@ -87,9 +87,11 @@
 errors - the net effect being unnecessary shared library packages being
 installed into images.
 
-Consult
-https://www.yoctoproject.org/docs/latest/mega-manual/mega-manual.html#var-RDEPENDS
-for information on when to use explicit runtime dependencies.
+Consult [Yocto Project Mega-Manual][mega-manual-rdepends] for information on
+when to use explicit runtime dependencies.
+
+[mega-manual-rdepends]:
+  https://www.yoctoproject.org/docs/latest/mega-manual/mega-manual.html#var-RDEPENDS
 
 ### Background
 
@@ -109,7 +111,7 @@
 
 In systemd unit files:
 
-```
+```systemd
 [Service]
 
 ExecStart=/usr/bin/env some-application
@@ -129,13 +131,13 @@
 part of the implementation that satisfied the live patch requirement. For
 example:
 
-```
+```bash
 /usr/bin/phosphor-hwmon
 ```
 
 on a read-only filesystem becomes:
 
-```
+```bash
 /usr/local/bin/phosphor-hwmon`
 ```
 
@@ -147,7 +149,7 @@
 that supports live patching of any file in the read-only filesystem has emerged.
 Assuming a writeable filesystem exists _somewhere_ on the bmc, something like:
 
-```
+```bash
 mkdir -p /var/persist/usr
 mkdir -p /var/persist/work/usr
 mount -t overlay -o lowerdir=/usr,upperdir=/var/persist/usr,workdir=/var/persist/work/usr overlay /usr
@@ -162,7 +164,7 @@
 service files and replace with the fully qualified path to the application being
 launched. For example, given an application in /usr/bin:
 
-```
+```bash
 sed -i s,/usr/bin/env ,/usr/bin/, foo.service
 ```
 
@@ -202,7 +204,7 @@
 
 From the hier(7) man page:
 
-```
+```bash
 /usr/bin This is the primary directory for executable programs.  Most programs
 executed by normal users which are not needed for booting or for repairing the
 system and which are not installed locally should be placed in this directory.
@@ -238,7 +240,7 @@
 
 Example C++ code:
 
-```
+```cpp
 using InternalFailure = sdbusplus::xyz::openbmc_project::Common::Error::InternalFailure;
 try
 {
@@ -314,7 +316,7 @@
    - Analyzer tool: Consider breaking the log down and including several
      properties which an analyzer can leverage. For instance, tagging the log
      with 'Internal' is not helpful. However, breaking that down into something
-     like [UserInput][ipmi][Network] tells at a quick glance that the input
+     like `[UserInput][IPMI][Network]` tells at a quick glance that the input
      received for configuring the network via an IPMI command was invalid.
      Categorization and system impact are key things to focus on when creating
      logs for an analysis application.
@@ -342,7 +344,7 @@
 applications take the following as command line parameters to enable extra
 debug:
 
-- 0xff, --vv, -vv, -v, --verbose, <and more>
+- 0xff, --vv, -vv, -v, --verbose, `<and more>`
 
 Along these same lines, some applications then have their own internal methods
 of writing debug data. They use std::cout, printf, fprintf, ... Doing this
@@ -372,9 +374,9 @@
 
 Desire to expose a DBus interface to drive GPIOs, for example:
 
-- https://lore.kernel.org/openbmc/YV21cD3HOOGi7K2f@heinlein/
-- https://lore.kernel.org/openbmc/CAH2-KxBV9_0Dt79Quy0f4HkXXPdHfBw9FsG=4KwdWXBYNEA-ew@mail.gmail.com/
-- https://lore.kernel.org/openbmc/YtPrcDzaxXiM6vYJ@heinlein.stwcx.org.github.beta.tailscale.net/
+- <https://lore.kernel.org/openbmc/YV21cD3HOOGi7K2f@heinlein/>
+- <https://lore.kernel.org/openbmc/CAH2-KxBV9_0Dt79Quy0f4HkXXPdHfBw9FsG=4KwdWXBYNEA-ew@mail.gmail.com/>
+- <https://lore.kernel.org/openbmc/YtPrcDzaxXiM6vYJ@heinlein.stwcx.org.github.beta.tailscale.net/>
 
 ### Description
 
@@ -502,9 +504,9 @@
 most only plausible to parse using a regex while also reducing human
 readability. For example:
 
-```
+```cpp
 error(
-    "Error getting time, PATH={BMC_TIME_PATH} TIME INTERACE={TIME_INTF}  ERROR={ERR_EXCEP}",
+    "Error getting time, PATH={BMC_TIME_PATH} TIME INTERFACE={TIME_INTF}  ERROR={ERR_EXCEP}",
     "BMC_TIME_PATH", bmcTimePath, "TIME_INTF", timeInterface,
     "ERR_EXCEP", e);
 ```
@@ -546,20 +548,20 @@
 [phosphor-time-manager-lg2]:
   https://github.com/openbmc/phosphor-time-manager/blob/5ce9ac0e56440312997b25771507585905e8b360/manager.cpp#L98
 
-```
+```cpp
 info("Time mode has been changed to {MODE}", "MODE", newMode);
 ```
 
 By default, this renders in the output of `journalctl` as:
 
-```
+```text
 Sep 23 06:09:57 bmc phosphor-time-manager[373]: Time mode has been changed to xyz.openbmc_project.Time.Synchronization.Method.NTP
 ```
 
 However, we can use some journalctl commandline options to inspect the
 structured data associated with the log entry:
 
-```
+```bash
 # journalctl --identifier=phosphor-time-manager --boot --output=verbose | grep -v '^    _' | head -n 9
 Sat 2023-09-23 06:09:57.645208 UTC [s=85c1cb5f8e02445aa110a5164c9c07f6;i=244;b=ffd111d3cdca41c8893bb728a1c6cb20;m=133a5a0;t=606009314d0d9;x=9a54e8714754a6cb]
     PRIORITY=6
diff --git a/architecture/LED-architecture.md b/architecture/LED-architecture.md
index 2f7e5a9..eae407c 100644
--- a/architecture/LED-architecture.md
+++ b/architecture/LED-architecture.md
@@ -7,7 +7,7 @@
 
 ## D-Bus
 
-```
+```text
 Service     xyx.openbmc_project.LED.GroupManager
 Path        /xyz/openbmc_project/led/groups/<label>
 Interfaces  xyz.openbmc_project.Led.Group
@@ -18,16 +18,16 @@
 
 ## REST
 
-```
+```text
 PUT /xyz/openbmc_project/led/groups/<group>/attr/Asserted
 ```
 
 The LED group state can be changed by setting the Asserted value to boolean 0
 or 1. In the following example, the lamp_test group is being asserted...
 
-```
- curl -b cjar -k -X PUT -H "Content-Type: application/json" -d '{"data":  1}' \
-  https://${bmc}/xyz/openbmc_project/led/groups/lamp_test/attr/Asserted
+```bash
+curl -b cjar -k -X PUT -H "Content-Type: application/json" -d '{"data":  1}' \
+    https://${bmc}/xyz/openbmc_project/led/groups/lamp_test/attr/Asserted
 ```
 
 ## REDFISH
@@ -41,14 +41,14 @@
 All applicable Inventory D-Bus objects would have a forward association mapping
 to LED Group D-Bus object, namely:
 
-```
+```text
  - identify_led_group
 ```
 
 All applicable LED Group D-Bus objects would have an association mapping to
 inventory D-Bus object, namely:
 
-```
+```text
  - identify_inventory_object
 ```
 
@@ -72,14 +72,14 @@
 used. All applicable Inventory D-Bus objects would have a forward association
 mapping to LED Group D-Bus object, namely;
 
-```
+```text
  - fault_led_group
 ```
 
 All applicable LED Group D-Bus objects would have an association mapping to
 inventory D-Bus object, namely:
 
-```
+```text
  - fault_inventory_object
 ```
 
@@ -111,7 +111,7 @@
 
 _Add a fault LED to the device tree with a corresponding gpio pin..._
 
-```
+```dts
   leds {
     compatible = "gpio-leds";
 
@@ -123,7 +123,7 @@
 
 _The kernel will then create..._
 
-```
+```text
  ls -l /sys/class/leds/fault/
 total 0
 -rw-r--r--    1 root     root          4096 Jun 21 20:04 brightness
@@ -142,7 +142,7 @@
 machines layout. Customized yaml files are placed into the machines specific
 Yocto location. As an example:
 
-```
+```text
 meta-ibm/meta-palmetto/recipes-phosphor/leds/palmetto-led-manager-config/led.yaml
 ```
 
@@ -156,22 +156,21 @@
 `fault` but do so differently. The lamp_test would also drive a blink signal to
 the physical `power` LED if one was created.
 
-```
+```yaml
 EnclosureFault:
-    fault:
-        Action: 'On'
-        DutyOn: 50
-        Period: 0
+  fault:
+    Action: "On"
+    DutyOn: 50
+    Period: 0
 lamp_test:
-    fault:
-        Action: 'Blink'
-        DutyOn: 20
-        Period: 100
-    power:
-        Action: 'Blink'
-        DutyOn: 20
-        Period: 100
-
+  fault:
+    Action: "Blink"
+    DutyOn: 20
+    Period: 100
+  power:
+    Action: "Blink"
+    DutyOn: 20
+    Period: 100
 ```
 
 ### Required Groups
@@ -181,38 +180,37 @@
 
 ## Yocto packaging
 
-1.  Create a tailored LED manager file
+1. Create a tailored LED manager file
 
-    E.g.
-    `meta-ibm/meta-romulus/recipes-phosphor/leds/romulus-led-manager-config-native.bb`
+   E.g.
+   `meta-ibm/meta-romulus/recipes-phosphor/leds/romulus-led-manager-config-native.bb`
 
-    ```
-    SUMMARY = "Phosphor LED Group Management for Romulus"
-    PR = "r1"
+   ```bitbake
+       SUMMARY = "Phosphor LED Group Management for Romulus"
+       PR = "r1"
 
-    inherit native
-    inherit obmc-phosphor-utils
-    inherit obmc-phosphor-license
+       inherit native
+       inherit obmc-phosphor-utils
+       inherit obmc-phosphor-license
 
-    PROVIDES += "virtual/phosphor-led-manager-config-native"
+       PROVIDES += "virtual/phosphor-led-manager-config-native"
 
-    SRC_URI += "file://led.yaml"
-    S = "${WORKDIR}"
+       SRC_URI += "file://led.yaml"
+       S = "${WORKDIR}"
 
-    # Overwrites the default led.yaml
-    do_install() {
-        SRC=${S}
-        DEST=${D}${datadir}/phosphor-led-manager
-        install -D ${SRC}/led.yaml ${DEST}/led.yaml
-    }
-    ```
+       # Overwrites the default led.yaml
+       do_install() {
+           SRC=${S}
+           DEST=${D}${datadir}/phosphor-led-manager
+           install -D ${SRC}/led.yaml ${DEST}/led.yaml
+       }
+   ```
 
-2.  Change your machine's preferred provider for the led-manager in the conf
-    file
+2. Change your machine's preferred provider for the led-manager in the conf file
 
-    E.g. `meta-ibm/meta-romulus/conf/machine/romulus.conf`
+   E.g. `meta-ibm/meta-romulus/conf/machine/romulus.conf`
 
-    `PREFERRED_PROVIDER_virtual/phosphor-led-manager-config-native = "romulus-led-manager-config-native"`
+   `PREFERRED_PROVIDER_virtual/phosphor-led-manager-config-native = "romulus-led-manager-config-native"`
 
 [led d-bus readme]:
   https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/yaml/xyz/openbmc_project/Led/README.md
diff --git a/architecture/code-update/code-update-deprecated.md b/architecture/code-update/code-update-deprecated.md
index 9babbff..b03d344 100644
--- a/architecture/code-update/code-update-deprecated.md
+++ b/architecture/code-update/code-update-deprecated.md
@@ -102,12 +102,12 @@
 An OpenBMC system can download an update image from a TFTP server, and apply
 updates, controlled via REST. The general procedure is:
 
-1.  Prepare system for update
-2.  Configure update settings
-3.  Initiate update
-4.  Check flash status
-5.  Apply update
-6.  Reboot the BMC
+1. Prepare system for update
+2. Configure update settings
+3. Initiate update
+4. Check flash status
+5. Apply update
+6. Reboot the BMC
 
 ### Prepare system for update
 
diff --git a/architecture/code-update/code-update-diagrams.md b/architecture/code-update/code-update-diagrams.md
index a00609a..7afa1ed 100644
--- a/architecture/code-update/code-update-diagrams.md
+++ b/architecture/code-update/code-update-diagrams.md
@@ -4,7 +4,7 @@
 
 ## High-Level Overview
 
-```
+```ascii
 ┌──────────────┐            ┌─────────────┐       ┌────────────┐
 │User Interface│            │Image Manager│       │Item Updater│
 └──────┬───────┘            └──────┬──────┘       └──────┬─────┘
diff --git a/architecture/code-update/code-update.md b/architecture/code-update/code-update.md
index 2070d74..3e415bb 100644
--- a/architecture/code-update/code-update.md
+++ b/architecture/code-update/code-update.md
@@ -7,180 +7,181 @@
 
 This document describes the code update that supports both layouts.
 
-### Steps to Update
+## Steps to Update
 
 The following are the steps to update the BMC.
 
 1. Get a BMC image tar: After building OpenBMC, you will end up with a set of
    image files in `tmp/deploy/images/<platform>/`.
 
-- The UBI layout image is
-  `obmc-phosphor-image-<platform>-<timestamp>.ubi.mtd.tar`
-- The static layout image is
-  `obmc-phosphor-image-<platform>-<timestamp>.static.mtd.tar`
+   - The UBI layout image is
+     `obmc-phosphor-image-<platform>-<timestamp>.ubi.mtd.tar`
+   - The static layout image is
+     `obmc-phosphor-image-<platform>-<timestamp>.static.mtd.tar`
 
-The BMC tar image contains 5 files: u-boot, kernel, ro, and rw partitions and
-the MANIFEST file, which contains information about the image such as the image
-purpose, version, KeyType (Key type used for signature), HashType (SHA type used
-for key generation) and MachineName (name of machine used while building image,
-and this will be used for validation of image build). A MANIFEST file might look
-like
+   The BMC tar image contains 5 files: u-boot, kernel, ro, and rw partitions and
+   the MANIFEST file, which contains information about the image such as the
+   image purpose, version, KeyType (Key type used for signature), HashType (SHA
+   type used for key generation) and MachineName (name of machine used while
+   building image, and this will be used for validation of image build). A
+   MANIFEST file might look like
 
-```
-purpose=xyz.openbmc_project.Software.Version.VersionPurpose.BMC
-version=2.7.0-dev
-KeyType=OpenBMC
-HashType=RSA-SHA256
-MachineName=tiogapass
-```
+   ```text
+   purpose=xyz.openbmc_project.Software.Version.VersionPurpose.BMC
+   version=2.7.0-dev
+   KeyType=OpenBMC
+   HashType=RSA-SHA256
+   MachineName=tiogapass
+   ```
 
 2. Transfer the generated BMC image to the BMC via one of the following methods:
 
-- Method 1: Via Redfish Upload:
-  https://github.com/openbmc/docs/blob/master/REDFISH-cheatsheet.md#firmware-update.
-  If using this method skip ahead to step 5!
-- Method 2: Via scp: Copy the generated BMC image to the `/tmp/images/`
-  directory on the BMC.
-- Method 3: Via REST Upload:
-  https://github.com/openbmc/docs/blob/master/rest-api.md#uploading-images
-- Method 4: Via TFTP: Perform a POST request to call the `DownloadViaTFTP`
-  method of `/xyz/openbmc_project/software`.
+   - Method 1: Via Redfish Upload:
+     <https://github.com/openbmc/docs/blob/master/REDFISH-cheatsheet.md#firmware-update>.
+     If using this method skip ahead to step 5!
+   - Method 2: Via scp: Copy the generated BMC image to the `/tmp/images/`
+     directory on the BMC.
+   - Method 3: Via REST Upload:
+     <https://github.com/openbmc/docs/blob/master/rest-api.md#uploading-images>
+   - Method 4: Via TFTP: Perform a POST request to call the `DownloadViaTFTP`
+     method of `/xyz/openbmc_project/software`.
 
-Methods 3 and 4 require additional options in bmcweb to be enabled.
+   Methods 3 and 4 require additional options in bmcweb to be enabled.
 
 3. Note the version id generated for that image file. The version id is a hash
    value of 8 hexadecimal numbers, generated by SHA-512 hashing the version
    string contained in the image and taking the first 8 characters. Get the
    version id via one of the following methods:
 
-- Method 1: From the BMC command line, note the most recent directory name
-  created under `/tmp/images/`, in this example it'd be `2a1022fe`:
+   - Method 1: From the BMC command line, note the most recent directory name
+     created under `/tmp/images/`, in this example it'd be `2a1022fe`:
 
-  ```
-  # ls -l /tmp/images/
-  total 0
-  drwx------    2 root     root            80 Aug 22 07:54 2a1022fe
-  drwx------    2 root     root            80 Aug 22 07:53 488449a2
-  ```
+   ```text
+   # ls -l /tmp/images/
+     total 0
+     drwx------    2 root     root            80 Aug 22 07:54 2a1022fe
+     drwx------    2 root     root            80 Aug 22 07:53 488449a2
+   ```
 
-- Method 2: This method _only_ works if there are no `Ready` images at the start
-  of transferring the image. Using the REST API, note the object that has its
-  Activation property set to Ready, in this example it'd be `2a1022fe`:
+   - Method 2: This method _only_ works if there are no `Ready` images at the
+     start of transferring the image. Using the REST API, note the object that
+     has its Activation property set to Ready, in this example it'd be
+     `2a1022fe`:
 
-  ```
-  $ curl -b cjar -k https://${bmc}/xyz/openbmc_project/software/enumerate
-  {
-    "data": {
-      "/xyz/openbmc_project/software/2a1022fe": {
-        "Activation": "xyz.openbmc_project.Software.Activation.Activations.Ready",
-  ```
+   ```text
+     $ curl -b cjar -k https://${bmc}/xyz/openbmc_project/software/enumerate
+     {
+       "data": {
+         "/xyz/openbmc_project/software/2a1022fe": {
+           "Activation": "xyz.openbmc_project.Software.Activation.Activations.Ready",
+   ```
 
-- Method 3: Calculate the version id beforehand from the image with:
+   - Method 3: Calculate the version id beforehand from the image with:
 
-  ```
-  tar xfO <BMC tar image> MANIFEST | sed -ne '/version=/ {s/version=//;p}' | head -n1 | tr -d '\n' | sha512sum | cut -b 1-8
-  ```
+   ```bash
+     tar xfO <BMC tar image> MANIFEST | sed -ne '/version=/ {s/version=//;p}' | head -n1 | tr -d '\n' | sha512sum | cut -b 1-8
+   ```
 
 4. To initiate the update, set the `RequestedActivation` property of the desired
    image to `Active`, substitute `<id>` with the hash value noted on the
    previous step, this will write the contents of the image to the BMC chip via
    one of the following methods:
 
-- Method 1: From the BMC command line:
+   - Method 1: From the BMC command line:
 
-  ```
-  busctl set-property xyz.openbmc_project.Software.BMC.Updater \
-    /xyz/openbmc_project/software/<id> \
-    xyz.openbmc_project.Software.Activation RequestedActivation s \
-    xyz.openbmc_project.Software.Activation.RequestedActivations.Active
+   ```bash
+     busctl set-property xyz.openbmc_project.Software.BMC.Updater \
+       /xyz/openbmc_project/software/<id> \
+       xyz.openbmc_project.Software.Activation RequestedActivation s \
+       xyz.openbmc_project.Software.Activation.RequestedActivations.Active
 
-  ```
+   ```
 
-- Method 2: Using the REST API:
+   - Method 2: Using the REST API:
 
-  ```
-  curl -b cjar -k -H "Content-Type: application/json" -X PUT \
-    -d '{"data":
-    "xyz.openbmc_project.Software.Activation.RequestedActivations.Active"}' \
-    https://${bmc}/xyz/openbmc_project/software/<id>/attr/RequestedActivation
-  ```
+   ```bash
+     curl -b cjar -k -H "Content-Type: application/json" -X PUT \
+       -d '{"data":
+       "xyz.openbmc_project.Software.Activation.RequestedActivations.Active"}' \
+       https://${bmc}/xyz/openbmc_project/software/<id>/attr/RequestedActivation
+   ```
 
 5. (Optional) Check the flash progress. This interface is only available during
    the activation progress and is not present once the activation is completed
    via one of the following:
 
-- Method 1: From Redfish: A task is returned from the Redfish upload. The task
-  can be used to monitor the progress.
+   - Method 1: From Redfish: A task is returned from the Redfish upload. The
+     task can be used to monitor the progress.
 
-  ```
-  curl -k https://${bmc}/redfish/v1/TaskService/Tasks/0
-  ```
+   ```bash
+    curl -k https://${bmc}/redfish/v1/TaskService/Tasks/0
+   ```
 
-- Method 2: From the BMC command line:
+   - Method 2: From the BMC command line:
 
-  ```
-  busctl get-property xyz.openbmc_project.Software.BMC.Updater  \
-    /xyz/openbmc_project/software/<id> \
-    xyz.openbmc_project.Software.ActivationProgress Progress
-  ```
+   ```bash
+     busctl get-property xyz.openbmc_project.Software.BMC.Updater  \
+       /xyz/openbmc_project/software/<id> \
+       xyz.openbmc_project.Software.ActivationProgress Progress
+   ```
 
-- Method 3: Using the REST API:
+   - Method 3: Using the REST API:
 
-  ```
-  curl -b cjar -k https://${bmc}/xyz/openbmc_project/software/<id>/attr/Progress
-  ```
+   ```bash
+     curl -b cjar -k https://${bmc}/xyz/openbmc_project/software/<id>/attr/Progress
+   ```
 
 6. Check that the activation is complete by verifying the "Activation" property
    is set to "Active" via one of the following methods:
 
-- Method 1: From Redfish: Check the task returned from the Redfish upload.
+   - Method 1: From Redfish: Check the task returned from the Redfish upload.
 
-  ```
-  curl -k https://${bmc}/redfish/v1/TaskService/Tasks/0
-  ```
+   ```bash
+     curl -k https://${bmc}/redfish/v1/TaskService/Tasks/0
+   ```
 
-- Method 2: From the BMC command line:
+   - Method 2: From the BMC command line:
 
-  ```
-  busctl get-property xyz.openbmc_project.Software.BMC.Updater \
-    /xyz/openbmc_project/software/<id> \
-    xyz.openbmc_project.Software.Activation Activation
-  ```
+   ```bash
+     busctl get-property xyz.openbmc_project.Software.BMC.Updater \
+       /xyz/openbmc_project/software/<id> \
+       xyz.openbmc_project.Software.Activation Activation
+   ```
 
-- Method 3: Using the REST API:
+   - Method 3: Using the REST API:
 
-  ```
-  curl -b cjar -k https://${bmc}/xyz/openbmc_project/software/<id>
-  ```
+   ```bash
+     curl -b cjar -k https://${bmc}/xyz/openbmc_project/software/<id>
+   ```
 
 7. Reboot the BMC for the image to take effect.
 
-- Method 1: From Redfish: If ApplyTime was set to "Immediate", the BMC will
-  automatically reboot:
-  https://github.com/openbmc/docs/blob/master/REDFISH-cheatsheet.md#firmware-applytime.
-  To reboot the BMC manually see:
-  https://github.com/openbmc/docs/blob/master/REDFISH-cheatsheet.md#bmc-reboot.
+   - Method 1: From Redfish: If ApplyTime was set to "Immediate", the BMC will
+     automatically reboot:
+     <https://github.com/openbmc/docs/blob/master/REDFISH-cheatsheet.md#firmware-applytime>.
+     To reboot the BMC manually see:
+     <https://github.com/openbmc/docs/blob/master/REDFISH-cheatsheet.md#bmc-reboot>.
 
-- Method 2: From the BMC command line:
+   - Method 2: From the BMC command line:
 
-  ```
-  reboot
-  ```
+   ```bash
+     reboot
+   ```
 
-- Method 3: Using the REST API:
+   - Method 3: Using the REST API:
 
-  ```
-  curl -c cjar -b cjar -k -H "Content-Type: application/json" -X PUT \
-      -d '{"data": "xyz.openbmc_project.State.BMC.Transition.Reboot"}' \
-      https://${bmc}/xyz/openbmc_project/state/bmc0/attr/RequestedBMCTransition
-  ```
+   ```bash
+     curl -c cjar -b cjar -k -H "Content-Type: application/json" -X PUT \
+         -d '{"data": "xyz.openbmc_project.State.BMC.Transition.Reboot"}' \
+         https://${bmc}/xyz/openbmc_project/state/bmc0/attr/RequestedBMCTransition
+   ```
 
-### Associations
+## Associations
 
 In addition to all software images, several associations are listed at
 `/xyz/openbmc_project/software/`:
 
-```
+```bash
 curl -c cjar -b cjar -k -H "Content-Type: application/json" -X GET  \
     https://${bmc}/xyz/openbmc_project/software/
 {
@@ -198,101 +199,101 @@
 
 1. A "functional" association to the "running" BMC and host images
 
-There is only one functional association per BMC and one functional association
-per host. The functional/running BMC image is the BMC image with the lowest
-priority when rebooting the BMC. The functional image does not update until the
-BMC is rebooted. The functional host image behaves the same way except that it
-updates on a power on or reboot of the host.
+   There is only one functional association per BMC and one functional
+   association per host. The functional/running BMC image is the BMC image with
+   the lowest priority when rebooting the BMC. The functional image does not
+   update until the BMC is rebooted. The functional host image behaves the same
+   way except that it updates on a power on or reboot of the host.
 
-```
-curl -c cjar -b cjar -k -H "Content-Type: application/json" -X GET \
-    https://${bmc}/xyz/openbmc_project/software/functional
-{
-  "data": {
-    "endpoints": [
-      "/xyz/openbmc_project/software/46e65782",
-      "/xyz/openbmc_project/software/493a00ad"
-    ]
-  },
-  "message": "200 OK",
-  "status": "ok"
-}
-```
+   ```bash
+   curl -c cjar -b cjar -k -H "Content-Type: application/json" -X GET \
+       https://${bmc}/xyz/openbmc_project/software/functional
+   {
+     "data": {
+       "endpoints": [
+         "/xyz/openbmc_project/software/46e65782",
+         "/xyz/openbmc_project/software/493a00ad"
+       ]
+     },
+     "message": "200 OK",
+     "status": "ok"
+   }
+   ```
 
 2. An "active" association to the active BMC and host images
 
-Note: Several BMC images might be active, this is true for the host images as
-well.
+   Note: Several BMC images might be active, this is true for the host images as
+   well.
 
-```
-curl -c cjar -b cjar -k -H "Content-Type: application/json" -X GET \
-    https://${bmc}/xyz/openbmc_project/software/active
-{
-  "data": {
-    "endpoints": [
-      "/xyz/openbmc_project/software/46e65782",
-      "/xyz/openbmc_project/software/493a00ad",
-      "/xyz/openbmc_project/software/88c153b1"
-    ]
-  },
-  "message": "200 OK",
-  "status": "ok"
-}
-```
+   ```bash
+   curl -c cjar -b cjar -k -H "Content-Type: application/json" -X GET \
+       https://${bmc}/xyz/openbmc_project/software/active
+   {
+     "data": {
+       "endpoints": [
+         "/xyz/openbmc_project/software/46e65782",
+         "/xyz/openbmc_project/software/493a00ad",
+         "/xyz/openbmc_project/software/88c153b1"
+       ]
+     },
+     "message": "200 OK",
+     "status": "ok"
+   }
+   ```
 
 3. An "updateable" association to the programmable components
 
-This is used for identifying firmware components which are programmable via BMC
-OOB interfaces like Redfish/IPMI. All updateable firmware components must expose
-the updateable association so that upper applications like Redfish/IPMI will
-know about updateable firmwares.
+   This is used for identifying firmware components which are programmable via
+   BMC OOB interfaces like Redfish/IPMI. All updateable firmware components must
+   expose the updateable association so that upper applications like
+   Redfish/IPMI will know about updateable firmwares.
 
-To know the updateable software components:
+   To know the updateable software components:
 
-```
-# busctl call xyz.openbmc_project.ObjectMapper \
-  /xyz/openbmc_project/software/updatable org.freedesktop.DBus.Properties \
-  Get ss xyz.openbmc_project.Association endpoints
-v as 1 "/xyz/openbmc_project/software/1201fc36"
-```
+   ```bash
+    busctl call xyz.openbmc_project.ObjectMapper \
+     /xyz/openbmc_project/software/updatable org.freedesktop.DBus.Properties \
+     Get ss xyz.openbmc_project.Association endpoints
+   v as 1 "/xyz/openbmc_project/software/1201fc36"
+   ```
 
-Redfish interface uses 'updateable' association in SoftwareInventory schema.
+   Redfish interface uses 'updateable' association in SoftwareInventory schema.
 
 4. An additional association is located at
    `/xyz/openbmc_project/software/<id>/inventory` for "associating" a software
    image with an inventory item.
 
-```
-curl -c cjar -b cjar -k -H "Content-Type: application/json" -X GET \
-   https://${bmc}/xyz/openbmc_project/software/493a00ad/inventory
-{
-  "data": {
-    "endpoints": [
-      "/xyz/openbmc_project/inventory/system/chassis/motherboard/boxelder/bmc"
-    ]
-  },
-  "message": "200 OK",
-  "status": "ok"
-}
-```
+   ```bash
+   curl -c cjar -b cjar -k -H "Content-Type: application/json" -X GET \
+      https://${bmc}/xyz/openbmc_project/software/493a00ad/inventory
+   {
+     "data": {
+       "endpoints": [
+         "/xyz/openbmc_project/inventory/system/chassis/motherboard/boxelder/bmc"
+       ]
+     },
+     "message": "200 OK",
+     "status": "ok"
+   }
+   ```
 
-To get all software images associated with an inventory item:
+   To get all software images associated with an inventory item:
 
-```
-curl -c cjar -b cjar -k -H "Content-Type: application/json" -X GET  \
-    https://${bmc}/xyz/openbmc_project/inventory/system/chassis/activation
-{
-  "data": {
-    "endpoints": [
-      "/xyz/openbmc_project/software/46e65782"
-    ]
-  },
-  "message": "200 OK",
-  "status": "ok"
-}
-```
+   ```bash
+   curl -c cjar -b cjar -k -H "Content-Type: application/json" -X GET  \
+       https://${bmc}/xyz/openbmc_project/inventory/system/chassis/activation
+   {
+     "data": {
+       "endpoints": [
+         "/xyz/openbmc_project/software/46e65782"
+       ]
+     },
+     "message": "200 OK",
+     "status": "ok"
+   }
+   ```
 
-### MANIFEST File
+## MANIFEST File
 
 A file named "MANIFEST" must be included in any image tar uploaded, downloaded
 via TFTP, or copied to the BMC.
@@ -319,11 +320,11 @@
 - extended_version - A more detailed version, which could include versions of
   different components in the image.
 
-### Deleting an Image
+## Deleting an Image
 
 To delete an image:
 
-```
+```bash
 curl -c cjar -b cjar -k -H "Content-Type: application/json" \
     -X POST https://${bmc}/xyz/openbmc_project/software/<$id>/action/delete \
     -d "{\"data\": [] }"
@@ -333,13 +334,13 @@
 
 To delete all non-functional images, whether BMC or host images:
 
-```
+```bash
 curl -c cjar -b cjar -k -H "Content-Type: application/json" \
     -X POST https://${bmc}/xyz/openbmc_project/software/action/deleteAll \
     -d "{\"data\": [] }"
 ```
 
-### Software Field Mode
+## Software Field Mode
 
 Field mode is meant for systems shipped from manufacturing to a customer. Field
 mode offers a way to provide security and ensure incorrect patches don't get
@@ -351,7 +352,7 @@
 
 Field mode can be enabled by running the following command:
 
-```
+```bash
 curl -b cjar -k -H 'Content-Type: application/json' -X PUT -d '{"data":1}'  \
     https://${bmc}/xyz/openbmc_project/software/attr/FieldModeEnabled
 
@@ -360,7 +361,7 @@
 Although field mode is meant to be a one-way operation, it can be disabled by a
 user with admin privileges by running the following commands on the BMC:
 
-```
+```bash
 fw_setenv fieldmode
 
 systemctl unmask usr-local.mount
@@ -369,15 +370,15 @@
 ```
 
 More information on field mode can be found here:
-https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/yaml/xyz/openbmc_project/Control/FieldMode.interface.yaml
+<https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/yaml/xyz/openbmc_project/Control/FieldMode.interface.yaml>
 
-### Software Factory Reset
+## Software Factory Reset
 
 Software factory reset resets the BMC and host firmware to its factory state by
 clearing out any read/write data. To software factory reset run the following
 command and then reboot the BMC:
 
-```
+```bash
 curl -b cjar -k -H 'Content-Type: application/json' -X POST -d '{"data":[]}' \
     https://${bmc}/xyz/openbmc_project/software/action/Reset
 
@@ -389,11 +390,11 @@
 any host patches located in `/usr/local/share/pnor/`.
 
 The factory reset interface can be found here:
-https://github.com/openbmc/phosphor-dbus-interfaces/blob/02b39246d45ea029a1652a49cc20eab7723dd63b/xyz/openbmc_project/Common/FactoryReset.interface.yaml
+<https://github.com/openbmc/phosphor-dbus-interfaces/blob/02b39246d45ea029a1652a49cc20eab7723dd63b/xyz/openbmc_project/Common/FactoryReset.interface.yaml>
 
-### Image Storage Location
+## Image Storage Location
 
-#### Static layout
+### Static layout
 
 When a BMC image is activated, each `image-<name>` is written to the BMC chip's
 partitions indicated by the `<name>`:
@@ -403,7 +404,7 @@
 - image-rofs
 - image-rwfs
 
-#### UBI layout
+### UBI layout
 
 When a BMC image is activated (i.e. when "RequestedActivation" is set to
 "Active"), UBI volumes are created on the BMC chip for the image. The alternate
@@ -412,8 +413,8 @@
 images to be stored. By default, only the BMC chip is used. To use both, set
 "BMC_RO_MTD" to "alt-bmc+bmc".
 
-### Implementation
+## Implementation
 
 More information about the implementation of the code update can be found at
-https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/yaml/xyz/openbmc_project/Software
-and https://github.com/openbmc/phosphor-bmc-code-mgmt
+<https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/yaml/xyz/openbmc_project/Software>
+and <https://github.com/openbmc/phosphor-bmc-code-mgmt>
diff --git a/architecture/code-update/firmware-update-over-redfish.md b/architecture/code-update/firmware-update-over-redfish.md
index 2a56398..b962ced 100644
--- a/architecture/code-update/firmware-update-over-redfish.md
+++ b/architecture/code-update/firmware-update-over-redfish.md
@@ -16,12 +16,13 @@
 
 ## Background and References
 
-The existing firmware update details for OpenBMC can be found [here][2]. It uses
-a custom REST api for uploading and then activating the input image.
+The existing firmware update details for OpenBMC can be found in the
+[architecture][2]. It uses a custom REST api for uploading and then activating
+the input image.
 
-The Redfish schema for firmware update can be found [here][3]. Note the
-referenced doc points to the most recent version of the schema and that is what
-you'll want to load into your browser (at the time of this writing it is
+The Redfish schema for firmware update can be found in the [DMTF schemas][3].
+Note the referenced doc points to the most recent version of the schema and that
+is what you'll want to load into your browser (at the time of this writing it is
 [v1_4_0][4]).
 
 Some differences between the Redfish API and OpenBMC's existing API:
@@ -106,7 +107,7 @@
 
 The pseudo flow for an update is:
 
-```
+```bash
 Discover UpdateService location
 HttpPushUri = GET https://${bmc}/redfish/v1/UpdateService
 POST ApplyTime property in
@@ -139,7 +140,7 @@
 provide status of inventory items back to the user. Here is the mapping of
 [phosphor activation states][13] to [Redfish Status States][14].
 
-```
+```text
 NotReady   -> Disabled
 Invalid    -> Disabled
 Ready      -> Disabled
@@ -179,7 +180,7 @@
 
 The pseudo flow for an update is:
 
-```
+```bash
 # Discover SimpleUpdate URI Action location
 GET https://${bmc}/redfish/v1/UpdateService
 
diff --git a/architecture/code-update/host-code-update.md b/architecture/code-update/host-code-update.md
index 57f4413..729b0ae 100644
--- a/architecture/code-update/host-code-update.md
+++ b/architecture/code-update/host-code-update.md
@@ -1,138 +1,139 @@
 # Host Code Update
 
 Reference:
-https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/yaml/xyz/openbmc_project/Software
+<https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/yaml/xyz/openbmc_project/Software>
 
 Following are the steps to update the host firmware (or "BIOS"). This assumes
 the host is not accessing its firmware.
 
 1. Get a squashfs image:
 
-- Build op-build: https://github.com/open-power/op-build
-- After building, the image should be a tarball in the output/images directory
-  called <system type>.pnor.squashfs.tar
+   - Build op-build: <https://github.com/open-power/op-build>
+   - After building, the image should be a tarball in the output/images
+     directory called `<system type>.pnor.squashfs.tar`
 
 2. Transfer the generated squashfs image to the BMC via one of the following
    methods:
 
-- Method 1: Via scp: Copy the generated squashfs image to the `/tmp/images/`
-  directory on the BMC.
-- Method 2: Via REST Upload:
-  https://github.com/openbmc/docs/blob/master/rest-api.md#uploading-images
-- Method 3: Via TFTP: Perform a POST request to call the `DownloadViaTFTP`
-  method of `/xyz/openbmc_project/software`.
+   - Method 1: Via scp: Copy the generated squashfs image to the `/tmp/images/`
+     directory on the BMC.
+   - Method 2: Via REST Upload:
+     <https://github.com/openbmc/docs/blob/master/rest-api.md#uploading-images>
+   - Method 3: Via TFTP: Perform a POST request to call the `DownloadViaTFTP`
+     method of `/xyz/openbmc_project/software`.
 
-  ```
-  curl -b cjar -k -H "Content-Type: application/json" -X POST \
-    -d '{"data": ["<filename>", "<TFTP server IP address"]}' \
-    https://${bmc}/xyz/openbmc_project/software/action/DownloadViaTFTP
-  ```
+   ```bash
+     curl -b cjar -k -H "Content-Type: application/json" -X POST \
+       -d '{"data": ["<filename>", "<TFTP server IP address"]}' \
+       https://${bmc}/xyz/openbmc_project/software/action/DownloadViaTFTP
+   ```
 
 3. Note the version id generated for that image file. The version id is a hash
    value of 8 hexadecimal numbers, generated by SHA-512 hashing the version
    string contained in the image and taking the first 8 characters. Get the
    version id via one of the following methods:
 
-- Method 1: From the BMC command line, note the most recent directory name
-  created under `/tmp/images/`, in this example it'd be `2a1022fe`:
+   - Method 1: From the BMC command line, note the most recent directory name
+     created under `/tmp/images/`, in this example it'd be `2a1022fe`:
 
-  ```
-  # ls -l /tmp/images/
-  total 0
-  drwx------    2 root     root            80 Aug 22 07:54 2a1022fe
-  drwx------    2 root     root            80 Aug 22 07:53 488449a2
-  ```
+   ```bash
+     # ls -l /tmp/images/
+     total 0
+     drwx------    2 root     root            80 Aug 22 07:54 2a1022fe
+     drwx------    2 root     root            80 Aug 22 07:53 488449a2
+   ```
 
-- Method 2: This method _only_ works if there are no `Ready` images at the start
-  of transferring the image. Using the REST API, note the object that has its
-  Activation property set to Ready, in this example it'd be `2a1022fe`:
+   - Method 2: This method _only_ works if there are no `Ready` images at the
+     start of transferring the image. Using the REST API, note the object that
+     has its Activation property set to Ready, in this example it'd be
+     `2a1022fe`:
 
-  ```
-  $ curl -b cjar -k https://${bmc}/xyz/openbmc_project/software/enumerate
-  {
-    "data": {
-      "/xyz/openbmc_project/software/2a1022fe": {
-        "Activation": "xyz.openbmc_project.Software.Activation.Activations.Ready",
-  ```
+   ```json
+     $ curl -b cjar -k https://${bmc}/xyz/openbmc_project/software/enumerate
+     {
+       "data": {
+         "/xyz/openbmc_project/software/2a1022fe": {
+           "Activation": "xyz.openbmc_project.Software.Activation.Activations.Ready",
+   ```
 
-- Method 3: Calculate the version id beforehand from the image with:
+   - Method 3: Calculate the version id beforehand from the image with:
 
-  ```
-  tar xfO <squashfs image tar> MANIFEST | sed -ne '/version=/ {s/version=//;p}' | head -n1 | tr -d '\n' | sha512sum | cut -b 1-8
-  ```
+   ```bash
+     tar xfO <squashfs image tar> MANIFEST | sed -ne '/version=/ {s/version=//;p}' | head -n1 | tr -d '\n' | sha512sum | cut -b 1-8
+   ```
 
 4. To initiate the update, set the `RequestedActivation` property of the desired
    image to `Active`, substitute `<id>` with the hash value noted on the
    previous step, this will write the contents of the image to a UBI volume in
    the PNOR chip via one of the following methods:
 
-- Method 1: From the BMC command line:
+   - Method 1: From the BMC command line:
 
-  ```
-  busctl set-property org.open_power.Software.Host.Updater \
-    /xyz/openbmc_project/software/<id> \
-    xyz.openbmc_project.Software.Activation RequestedActivation s \
-    xyz.openbmc_project.Software.Activation.RequestedActivations.Active
+   ```bash
+     busctl set-property org.open_power.Software.Host.Updater \
+       /xyz/openbmc_project/software/<id> \
+       xyz.openbmc_project.Software.Activation RequestedActivation s \
+       xyz.openbmc_project.Software.Activation.RequestedActivations.Active
 
-  ```
+   ```
 
-- Method 2: Using the REST API:
+   - Method 2: Using the REST API:
 
-  ```
-  curl -b cjar -k -H "Content-Type: application/json" -X PUT \
-    -d '{"data":
-    "xyz.openbmc_project.Software.Activation.RequestedActivations.Active"}' \
-    https://${bmc}/xyz/openbmc_project/software/<id>/attr/RequestedActivation
-  ```
+   ```bash
+     curl -b cjar -k -H "Content-Type: application/json" -X PUT \
+       -d '{"data":
+       "xyz.openbmc_project.Software.Activation.RequestedActivations.Active"}' \
+       https://${bmc}/xyz/openbmc_project/software/<id>/attr/RequestedActivation
+   ```
 
 5. (Optional) Check the flash progress. This interface is only available during
    the activation progress and is not present once the activation is completed
    via one of the following:
 
-- Method 1: From the BMC command line:
+   - Method 1: From the BMC command line:
 
-  ```
-  busctl get-property org.open_power.Software.Host.Updater \
-    /xyz/openbmc_project/software/<id> \
-    xyz.openbmc_project.Software.Activation Progress
-  ```
+   ```bash
+     busctl get-property org.open_power.Software.Host.Updater \
+       /xyz/openbmc_project/software/<id> \
+       xyz.openbmc_project.Software.Activation Progress
+   ```
 
-- Method 2: Using the REST API:
+   - Method 2: Using the REST API:
 
-  ```
-  curl -b cjar -k https://${bmc}/xyz/openbmc_project/software/<id>/attr/Progress
-  ```
+   ```bash
+     curl -b cjar -k https://${bmc}/xyz/openbmc_project/software/<id>/attr/Progress
+   ```
 
 6. Check the activation is complete by verifying the Activation property is set
    to Active via one of the following methods:
 
-- Method 1: From the BMC command line:
+   - Method 1: From the BMC command line:
 
-  ```
-  busctl get-property org.open_power.Software.Host.Updater \
-    /xyz/openbmc_project/software/<id> \
-    xyz.openbmc_project.Software.Activation Activation
-  ```
+   ```bash
+     busctl get-property org.open_power.Software.Host.Updater \
+       /xyz/openbmc_project/software/<id> \
+       xyz.openbmc_project.Software.Activation Activation
+   ```
 
-- Method 2: Using the REST API:
+   - Method 2: Using the REST API:
 
-  ```
-  curl -b cjar -k https://${bmc}/xyz/openbmc_project/software/<id>
-  ```
+   ```bash
+     curl -b cjar -k https://${bmc}/xyz/openbmc_project/software/<id>
+   ```
 
-### Patching the host firmware
+## Patching the host firmware
 
 Copy the partition binary file to `/usr/local/share/pnor/` on the BMC.
 
 The partition binary file must be named the same as the partition name that
 intends to patch, ex: `ATTR_TMP`.
 
-### Associations, MANIFEST File, Deleting an Image, Software Field Mode, and Software Factory Reset
+## Associations, MANIFEST File, Deleting an Image, Software Field Mode, and Software Factory Reset
 
 Information about associations, the MANIFEST file, deleting an image, software
 field mode, and software factory reset can be found at
 [code-update.md#associations](code-update.md#associations)
 
-### Implementation
+## Implementation
 
-https://github.com/openbmc/openpower-pnor-code-mgmt
+<https://github.com/openbmc/openpower-pnor-code-mgmt>
diff --git a/architecture/interface-overview.md b/architecture/interface-overview.md
index ebc38db..0a525b9 100644
--- a/architecture/interface-overview.md
+++ b/architecture/interface-overview.md
@@ -24,7 +24,7 @@
 OpenBMC's services and the interfaces they provide are controlled by `systemd`.
 This document references OpenBMC `systemd` unit names to help link concepts to
 the source code. The reader is assumed to be familiar with [systemd concepts][].
-The templated units ("unit@.service") may be omitted for clarity. Relevant
+The templated units (`unit@.service`) may be omitted for clarity. Relevant
 details from the unit file may be shown, such as the program which implements a
 service.
 
@@ -54,7 +54,7 @@
 particular system. This section is intended to be referenced by additional
 documentation which gives details for specific BMC and host implementations.
 
-```
+```ascii
         +----------------+         +----------------+
         | BMC            |         | Host           |
         |                |         |                |
@@ -99,7 +99,7 @@
 listed here by port number. More information about each service is given in
 sections below or in the appendix.
 
-```
+```ascii
         +----------------------------------+
         | BMC                              |
         |                                  |
@@ -149,7 +149,7 @@
 - Client access via ssh port 2200.
 - The hostlogger facility.
 
-```
+```ascii
                 +---------------------------+    +-----------------+
                 | BMC                       |    | Host            |
  ipmitool sol   |                           |    |                 |
@@ -172,7 +172,7 @@
 
 OpenBMC provides a custom HTTP/Web server called BMCWeb.
 
-```
+```ascii
         +--------------------------------------------------+
         | BMC                                              |
         |                                                  |
@@ -213,7 +213,7 @@
 
 OpenBMC provides a host IPMI service.
 
-```
+```ascii
     +---------------+    +-----------------+
     | BMC           |    | Host            |
     |               |    |                 |
@@ -235,7 +235,7 @@
 communication) between OpenBMC applications. Note that other methods are used,
 for example Unix domain sockets.
 
-```
+```ascii
         +--------------------------------------------------+
         | BMC                                              |
         |                                                  |
@@ -273,7 +273,7 @@
 "management network" to distinguish it from the payload network the host system
 is connected to. These are typically separate networks.
 
-```
+```ascii
              +-----------+      +----------------+
              | BMC       |      | Host           |
 management   |           |      |                |
@@ -285,7 +285,7 @@
 The BMC may be served by a Network Controller Sideband Interface (NC-SI) which
 maintains a logically separate network from the host, as shown in this diagram:
 
-```
+```ascii
              +-----------+      +----------------+
              | BMC       |      | Host           |
 management   |           |      |                |
@@ -305,7 +305,7 @@
 The BMC's management network may be provided by its host system and have no
 direct connection external to the host, as shown in this diagram:
 
-```
+```ascii
              +-----------+      +----------------+
              | BMC       |      | Host           |
              |           |      |                |
@@ -320,7 +320,7 @@
 
 The BMC's management network may be connected to USB (LAN over USB):
 
-```
+```ascii
              +-----------+      +----------------+
              | BMC       |      | Host           |
         +-+  |           |      |                |
@@ -381,7 +381,7 @@
 more. Also known as out of band IPMI. Contrast with host-IPMI which interacts
 with the host and with Redfish which provides alternate function.
 
-The BMC's RMCP+ IPMI interface is designed to be operated by the `[ipmitool][]`
+The BMC's RMCP+ IPMI interface is designed to be operated by the [ipmitool][]
 external command.
 
 [ipmi session management]:
@@ -406,7 +406,7 @@
 ### obmc-console
 
 This refers to support for multiple independent consoles in
-https://github.com/openbmc/obmc-console and two applications:
+<https://github.com/openbmc/obmc-console> and two applications:
 
 - The `obmc-console-server` abstracts the host console (UART) connection as a
   Unix domain socket.
@@ -417,14 +417,14 @@
 ### hostlogger
 
 Refers to the BMC service provided by the `hostlogger` program here:
-https://github.com/openbmc/phosphor-hostlogger which listens to the
+<https://github.com/openbmc/phosphor-hostlogger> which listens to the
 `obmc-console-server` and logs host console messages into the BMC's file system.
 
 ### BMCWeb web server
 
 Refers to the custom HTTP/Web server with source here:
-https://github.com/openbmc/bmcweb Note that BMCWeb is configurable per
-https://github.com/openbmc/bmcweb#configuration with build-time options to
+<https://github.com/openbmc/bmcweb> Note that BMCWeb is configurable per
+<https://github.com/openbmc/bmcweb#configuration> with build-time options to
 control which interfaces it provides. For example, there are configurations
 options to:
 
@@ -438,26 +438,26 @@
 ### Redfish
 
 Refers to the set of Redfish REST APIs served by the BMCWeb web server. See
-details here: https://github.com/openbmc/bmcweb/blob/master/Redfish.md with docs
-here: https://github.com/openbmc/docs/blob/master/REDFISH-cheatsheet.md
+details here: <https://github.com/openbmc/bmcweb/blob/master/Redfish.md> with
+docs here: <https://github.com/openbmc/docs/blob/master/REDFISH-cheatsheet.md>
 
 ### phosphor-dbus-rest
 
 Refers to the legacy REST APIs optionally served by the BMCWeb server. Docs:
-https://github.com/openbmc/docs/blob/master/REST-cheatsheet.md
+<https://github.com/openbmc/docs/blob/master/REST-cheatsheet.md>
 
 ### KVM-IP
 
 Refers to the OpenBMC implementation of the Remote Frame Buffer (RFB, aka VNC)
 protocol which lets you operate the host system's keyboard, video, and mouse
-(KVM) remotely. See https://github.com/openbmc/obmc-ikvm/blob/master/README.md
+(KVM) remotely. See <https://github.com/openbmc/obmc-ikvm/blob/master/README.md>
 Also known as IPKvm. Do not confuse with Kernel Virtual Machine (the other KVM).
 
 ### Virtual media
 
-Also known as: remote media and USB-over-IP. Design:
-https://github.com/openbmc/docs/blob/master/designs/VirtualMedia.md Contrast
-with LAN-over-USB.
+- Also known as: remote media and USB-over-IP.
+- Design: <https://github.com/openbmc/docs/blob/master/designs/VirtualMedia.md>
+- Contrast with LAN-over-USB.
 
 ### Virtual USB
 
diff --git a/architecture/ipmi-architecture.md b/architecture/ipmi-architecture.md
index 5f38989..633d93a 100644
--- a/architecture/ipmi-architecture.md
+++ b/architecture/ipmi-architecture.md
@@ -14,7 +14,7 @@
 Completion Code and optional data. So the first step is to break apart channels
 and the IPMI queue.
 
-```
+```ascii
                                                      /------------------\
     /----------------------------\                   |                  |
     |      KCS/BT - Host         | <-All IPMI cmds-> |                  |
@@ -264,13 +264,13 @@
 
 Some types that are supported are as follows:
 
-- standard integer types (uint8_t, uint16_t, uint32_t, int, long, etc.)
-- bool (extracts a single bit, same as uint1_t)
-- multi-precision integers (uint<N>)
-- std::bitset<N>
-- std::optional<T> - extracts T if there are enough remaining bits/bytes
-- std::array<T, N> - extracts N elements of T if possible
-- std::vector<T> - extracts elements of T from the remaining bytes
+- standard integer types (`int8_t`, `uint16_t`, `uint32_t`, `int`, `long`, etc.)
+- `bool` (extracts a single bit, same as `uint1_t`)
+- multi-precision integers (`uint<N>`)
+- `std::bitset<N>`
+- `std::optional<T>` - extracts T if there are enough remaining bits/bytes
+- `std::array<T, N>` - extracts N elements of T if possible
+- `std::vector<T>` - extracts elements of T from the remaining bytes
 - any additional types can be created by making a pack/unpack template
 
 For partial byte types, the least-significant bits of the next full byte are
diff --git a/architecture/object-mapper.md b/architecture/object-mapper.md
index 59ca584..1086ccc 100644
--- a/architecture/object-mapper.md
+++ b/architecture/object-mapper.md
@@ -12,7 +12,8 @@
 
 ## Methods
 
-The official YAML interface definition can be found [here][1].
+The official YAML interface definition can be found in
+[phosphor-dbus-interfaces][1].
 
 ### GetObject
 
@@ -30,7 +31,7 @@
 
 - Map of service names to their interfaces
 
-```
+```bash
 dbus-send --system --print-reply \
 --dest=xyz.openbmc_project.ObjectMapper \
 /xyz/openbmc_project/object_mapper \
@@ -73,7 +74,7 @@
 
 - Map of object paths to a map of service names to their interfaces
 
-```
+```bash
 dbus-send --system --print-reply \
 --dest=xyz.openbmc_project.ObjectMapper \
 /xyz/openbmc_project/object_mapper \
@@ -137,7 +138,7 @@
 - Map of object paths to a map of service names to their interfaces that is in
   the associated endpoints
 
-```
+```bash
 dbus-send --system --print-reply \
 --dest=xyz.openbmc_project.ObjectMapper \
 /xyz/openbmc_project/object_mapper \
@@ -213,7 +214,7 @@
 - Map of object paths to a map of service names to their interfaces that are in
   the associated endpoints that end with `id`
 
-```text
+```bash
 ID="chassis"
 ASSOCIATION="powered_by"
 dbus-send --system --print-reply \
@@ -287,7 +288,7 @@
 
 - array of object paths in that subtree
 
-```
+```bash
 dbus-send --system --print-reply \
 --dest=xyz.openbmc_project.ObjectMapper \
 /xyz/openbmc_project/object_mapper \
@@ -322,7 +323,7 @@
 
 - array of object paths in that subtree that is in the associated endpoints
 
-```
+```bash
 dbus-send --system --print-reply \
 --dest=xyz.openbmc_project.ObjectMapper \
 /xyz/openbmc_project/object_mapper \
@@ -370,7 +371,7 @@
 - Map of object paths to a map of service names to their interfaces that are in
   the associated endpoints that ends with `id`
 
-```text
+```bash
 ID="chassis"
 ASSOCIATION="powered_by"
 dbus-send --system --print-reply \
@@ -419,7 +420,7 @@
 
 - A map of object paths to a map of services names to their interfaces
 
-```
+```bash
 
 dbus-send --system --print-reply \
 --dest=xyz.openbmc_project.ObjectMapper \
@@ -479,7 +480,7 @@
 
 This `Associations` property is an array of tuples of the form:
 
-```
+```text
 [forward, reverse, object path]
 ```
 
@@ -490,7 +491,7 @@
 When an object with, for example, an object path of `pathA` uses the following
 values:
 
-```
+```json
 ["foo", "bar", "pathB"]
 ```
 
@@ -521,11 +522,11 @@
 `org.openbmc.Associations`. While the mapper still supports this interface as
 well for the time being, new code should use the `xyz` version.
 
-#### Example Use Case
+### Example Use Case
 
 Associate an error log with the inventory item that caused it.
 
-```
+```text
 # Error log
 "/xyz/openbmc_project/logging/entry/3": {
 ...
diff --git a/architecture/openbmc-systemd.md b/architecture/openbmc-systemd.md
index 39ed729..db5cbeb 100644
--- a/architecture/openbmc-systemd.md
+++ b/architecture/openbmc-systemd.md
@@ -45,7 +45,7 @@
 If you dig into its .requires relationship, you'll see the following in the file
 system
 
-```
+```shell
 ls -1 /lib/systemd/system/obmc-host-start@0.target.requires/
 obmc-host-startmin@0.target
 phosphor-reset-host-reboot-attempts@0.service
@@ -63,7 +63,7 @@
 
 Next if we look at the `obmc-host-startmin@0.target`, we see this:
 
-```
+```shell
 ls -1 /lib/systemd/system/obmc-host-startmin@0.target.requires/
 obmc-chassis-poweron@0.target
 start_host@0.service
@@ -76,7 +76,7 @@
 The `obmc-chassis-poweron@0.target` has corresponding services associated with
 it:
 
-```
+```shell
 ls -1 /lib/systemd/system/obmc-chassis-poweron@0.target.requires/
 op-power-start@0.service
 op-wait-power-on@0.service
@@ -180,22 +180,22 @@
 
 1. A service within a target fails
 
-- If the service is a "oneshot" type, and the service is required (not wanted)
-  by the target then the target will fail if the service fails - Define a
-  behavior for when the target fails using the "OnFailure" option (i.e. go to a
-  new failure target if any required service fails)
-- If the service is not a "oneshot", then it can not fail the target (the target
-  only knows that it started successfully) - Define a behavior for when the
-  service fails (OnFailure) option. - The service can not have
-  "RemainAfterExit=yes" otherwise, the OnFailure action does not occur until the
-  service is stopped (instead of when it fails) - \*See more information below
-  on [RemainAfterExit](#RemainAfterExit)
+   - If the service is a "oneshot" type, and the service is required (not
+     wanted) by the target then the target will fail if the service fails -
+     Define a behavior for when the target fails using the "OnFailure" option
+     (i.e. go to a new failure target if any required service fails)
+   - If the service is not a "oneshot", then it can not fail the target (the
+     target only knows that it started successfully) - Define a behavior for
+     when the service fails (OnFailure) option. - The service can not have
+     "RemainAfterExit=yes" otherwise, the OnFailure action does not occur until
+     the service is stopped (instead of when it fails) - \*See more information
+     below on [RemainAfterExit](#remainafterexit)
 
 2. A failure outside of a normal systemd target/service (host watchdog expires,
    host checkstop detected)
 
-- The service which detects this failure is responsible for logging the
-  appropriate error, and instructing systemd to go to the appropriate target
+   - The service which detects this failure is responsible for logging the
+     appropriate error, and instructing systemd to go to the appropriate target
 
 Within OpenBMC, there is a host quiesce target. This is the target that other
 host related targets should go to when they hit a failure. Other software within
@@ -242,7 +242,7 @@
 For now, document the current dependencies on a witherspoon system for
 reference.
 
-```
+```text
 R = Requires
 W = Wants
 A = After
@@ -253,7 +253,7 @@
 
 ### Soft Power Off
 
-```
+```text
 obmc-host-shutdown.target
   R: xyz.openbmc_project.Ipmi.Internal.SoftPowerOff.service
      W: obmc-host-stopping.target (S)
@@ -288,7 +288,7 @@
 
 #### Synchronization Target Dependencies
 
-```
+```text
 obmc-power-stop.target
   W: obmc-power-stop-pre.target
   A: obmc-power-stop-pre.target
diff --git a/architecture/sensor-architecture.md b/architecture/sensor-architecture.md
index 8502ee3..909e975 100644
--- a/architecture/sensor-architecture.md
+++ b/architecture/sensor-architecture.md
@@ -14,7 +14,7 @@
 
 ## D-Bus
 
-```
+```text
 Service     xyz.openbmc_project.Hwmon-<hash>.Hwmon1
 Path        /xyz/openbmc_project/sensors/<type>/<label>
 Interfaces  xyz.openbmc_project.Sensor.[*], others (see below)
@@ -22,7 +22,7 @@
 Signals: All properties for an interface will broadcast signal changed
 ```
 
-**Path definitions**
+### Path definitions
 
 - **<type\>** : The [HWMon class][2] name in lower case.
 
@@ -32,9 +32,9 @@
   - Examples include `ambient, cpu0, fan5`
 
 **Note**: The label shall comply with "Valid Object Paths" of [D-Bus Spec][3],
-that shall only contain the ASCII characters "[A-Z][a-z][0-9]\_".
+that shall only contain the ASCII characters `[A-Z][a-z][0-9]\_`.
 
-**Hash definition**
+### Hash definition
 
 The hash value in the service name is used to give the service a unique and
 stable name. It is a decimal number that is obtained by hashing characteristics
@@ -140,21 +140,21 @@
 
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Warning.interface.yaml][6]
 
-```
+```yaml
 properties:
-    - name: WarningHigh
-      type: int64
-    - name: WarningLow
-      type: int64
-    - name: WarningAlarmHigh
-      type: boolean
-    - name: WarningAlarmLow
-      type: boolean
+  - name: WarningHigh
+    type: int64
+  - name: WarningLow
+    type: int64
+  - name: WarningAlarmHigh
+    type: boolean
+  - name: WarningAlarmLow
+    type: boolean
 ```
 
 Maps to
 
-```
+```text
 busctl --system introspect xyz.openbmc_project.Hwmon-3301914901.Hwmon1 \
  /xyz/openbmc_project/Sensors/temperature/ambient \
  xyz.openbmc_project.Sensor.Threshold.Warning | grep property
@@ -168,15 +168,17 @@
 
 ### REST
 
-```
-"/xyz/openbmc_project/Sensors/temperature/ambient": {
-      "Scale": -3,
-      "Unit": "xyz.openbmc_project.Sensor.Value.Unit.DegreesC",
-      "Value": 30125,
-      "WarningAlarmHigh": 0,
-      "WarningAlarmLow": 0,
-      "WarningHigh": 40000,
-      "WarningLow": 10000
+```json
+{
+  "/xyz/openbmc_project/Sensors/temperature/ambient": {
+    "Scale": -3,
+    "Unit": "xyz.openbmc_project.Sensor.Value.Unit.DegreesC",
+    "Value": 30125,
+    "WarningAlarmHigh": 0,
+    "WarningAlarmLow": 0,
+    "WarningHigh": 40000,
+    "WarningLow": 10000
+  }
 }
 ```
 
@@ -185,12 +187,12 @@
 Aside from the `xyz.openbmc_project.Sensor` interfaces, the sensor D-Bus objects
 may also expose the following interfaces:
 
-1.  `xyz.openbmc_project.Control.FanSpeed`
-    - Provides a Target property to set a fan RPM value
-2.  `xyz.openbmc_project.Control.FanPwm`
-    - Provides a Target property to set a fan PWM value
-3.  `xyz.openbmc_project.State.Decorator.OperationalStatus`
-    - Provides a Functional property that tracks the state of any fault files
+1. `xyz.openbmc_project.Control.FanSpeed`
+   - Provides a Target property to set a fan RPM value
+2. `xyz.openbmc_project.Control.FanPwm`
+   - Provides a Target property to set a fan PWM value
+3. `xyz.openbmc_project.State.Decorator.OperationalStatus`
+   - Provides a Functional property that tracks the state of any fault files
 
 ### Signals
 
@@ -217,37 +219,39 @@
 within the [machine configuration][7]. The children of the `obmc/hwmon`
 directory should follow the path of either:
 
-1.  The children of the `devicetree/base` directory path on the system, as
-    defined by the kernel. The code obtains this from the OF_FULLNAME udev
-    environment variable.
+1. The children of the `devicetree/base` directory path on the system, as
+   defined by the kernel. The code obtains this from the OF_FULLNAME udev
+   environment variable.
 
-2.  If the device isn't in the device tree, then the device path can be used.
+2. If the device isn't in the device tree, then the device path can be used.
 
 As an example, the Palmetto [configuration][8] file for the ambient temperature
 sensor.
 
-```
+```text
 recipes-phosphor/sensors/phosphor-hwmon/obmc/hwmon/ahb/apb/bus@1e78a000/i2c-bus@c0/tmp423@4c.conf
+
 ```
 
 which maps to this specific sensor and conf file on the system...
 
-```
+```text
 /sys/firmware/devicetree/base/ahb/apb/bus@1e78a000/i2c-bus@c0/tmp423@4c
 /etc/default/obmc/hwmon/ahb/apb/bus@1e78a000/i2c@c0/tmp423@4c.conf
+
 ```
 
 This next example shows using the device path as opposed to the devicetree path
 for the OCC device on an OpenPOWER system. Note how a '--' replaces a ':' in the
 directory names for the conf file.
 
-```
+```text
 recipes-phosphor/sensors/phosphor-hwmon%/obmc/hwmon/devices/platform/gpio-fsi/fsi0/slave@00--00/00--00--00--06/sbefifo1-dev0/occ-hwmon.1.conf
 ```
 
 which maps to this specific sensor and conf file on the system...
 
-```
+```text
 /sys/devices/platform/gpio-fsi/fsi0/slave@00:00/00:00:00:06/sbefifo1-dev0/occ-hwmon.1
 /etc/default/obmc/hwmon/devices/platform/gpio-fsi/fsi0/slave@00--00/00--00--00--06/sbefifo1-dev0/occ-hwmon.1.conf
 ```
@@ -255,12 +259,15 @@
 In order for the sensor to be exposed to D-Bus, the configuration file must
 describe the sensor attributes. Attributes follow a format.
 
-```
+```text
 xxx_yyy#=value
 
 xxx = Attribute
-#   = Association number (i.e. 1-n)
+
+# = Association number (i.e. 1-n)
+
 yyy = HWMon sensor type (i.e. temp, pwm)
+
 ```
 
 | Attribute      | Interfaces Added                       |
@@ -283,26 +290,22 @@
 In this conf example the tmp423 chip is wired to two temperature sensors. The
 values must be described in 10<sup>-3</sup> degrees Celsius.
 
-```
-LABEL_temp1=ambient
-WARNLO_temp1=10000
-WARNHI_temp1=40000
+```text
+LABEL_temp1=ambient WARNLO_temp1=10000 WARNHI_temp1=40000
 
-LABEL_temp2=cpu
-WARNLO_temp2=10000
-WARNHI_temp2=80000
+LABEL_temp2=cpu WARNLO_temp2=10000 WARNHI_temp2=80000
 ```
 
-#### Additional Config File Entries
+### Additional Config File Entries
 
 The phosphor-hwmon code supports these additional config file entries:
 
-**INTERVAL**
+#### INTERVAL
 
 The interval, in microseconds, at which sensors should be read. If not specified
 the interval is 1000000us (1 second).
 
-```
+```text
 INTERVAL=1000000
 ```
 
@@ -311,21 +314,21 @@
 Used to support scaled sensor readings, where value = (raw sensor reading) \*
 gain + offset
 
-```
-GAIN_in3 = 5.0  #GAIN is a double
-OFFSET_in3 = 6  #OFFSET is an integer
+```text
+GAIN_in3 = 5.0 #GAIN is a double OFFSET_in3 = 6 #OFFSET is an integer
 ```
 
-**MINVALUE**, **MAXVALUE**
+#### MINVALUE / MAXVALUE
 
 If found, will be used to set the MinValue/MaxValue properties on the
 `xyz.openbmc_project.Sensor.Value` interface.
 
-```
+```text
 MINVALUE_temp1 = 1
+
 ```
 
-**MODE**
+#### MODE
 
 Needed for certain device drivers, specifically the OpenPOWER OCC driver, where
 the instance number (the N in tempN_input) is dynamic and instead another file
@@ -333,9 +336,8 @@
 
 For example
 
-```
-temp26_input:29000
-temp26_label:171
+```text
+temp26_input:29000 temp26_label:171
 ```
 
 Where the 26 is just what hwmon assigns, but the 171 corresponds to something
@@ -343,44 +345,44 @@
 
 The config file would then have:
 
-```
-MODE_temp26 = "label"  #Tells the code to look in temp26_label
-LABEL_temp171 = "dimm3_temp" #Says that temp26_input holds dimm3_temp
+```text
+MODE_temp26 = "label" #Tells the code to look in temp26_label LABEL_temp171 =
+"dimm3_temp" #Says that temp26_input holds dimm3_temp
 ```
 
-**REMOVERCS**
+#### REMOVERCS
 
 Contains a list of device driver errno values where if these are obtained when
 reading the hardware, the corresponding sensor object will be removed from D-Bus
 until it is successfully read again.
 
-```
-REMOVERCS = "5,6"  #If any sensor on the device returns a 5 or 6, remove it.
-REMOVERCS_temp1 = "42"  #If reading temp1_input returns a 42, remove it.
+```text
+REMOVERCS = "5,6" #If any sensor on the device returns a 5 or 6, remove it.
+REMOVERCS_temp1 = "42" #If reading temp1_input returns a 42, remove it.
 ```
 
-**TARGET_MODE**
+#### TARGET_MODE
 
 Allows one to choose the fan target mode, either RPM or PWM, if the device
 driver exposes both methods.
 
-```
+```text
 TARGET_MODE = "RPM"
 ```
 
-**PWM_TARGET**
+#### PWM_TARGET
 
 For fans that are PWM controlled, can be used to map the pwmN file to a fan M.
 
-```
+```text
 PWM_TARGET_fan0 = 1 #Use the pwm1 file to control fan 0
 ```
 
-**ENABLE**
+#### ENABLE
 
 Will write a value to a pwmN_enable file on startup if present.
 
-```
+```text
 ENABLE_fan1 = 2 #Write a 2 to pwm1_enable
 ```
 
@@ -393,7 +395,7 @@
 
 Sensor reading, according to IPMI spec, is calculated as:
 
-```none
+```text
 y = L[(Mx + B * 10^(bExp)) * 10^(rExp)]
 ```
 
@@ -411,14 +413,14 @@
 As you can tell, one should choose the coefficients based on possible sensor
 reading range and desired resolution. Commonly, B=0, we would have
 
-    Supported range: [0, 255 * M * 10^(scale - rExp)]
-    Resolution: M * 10^(scale - rExp)
+- Supported range: [0, 255 \* M \* 10^(scale - rExp)]
+- Resolution: M \* 10^(scale - rExp)
 
 For a concrete example, let's say a voltage sensor reports between 0 to 5.0V.
 hwmon sysfs scales the value by 1000, so the sensor value read over DBus is
 between 0 and 5000. A possible configuration for this is:
 
-```none
+```text
 multiplierM: 20
 offsetB: 0
 bExp: 0
@@ -429,14 +431,16 @@
 so for a DBus sensor value of 4986 meaning 4.986V, phosphor-ipmi-host would
 encode it as
 
+```text
     x: 4986 / 20 = 249
     M: 20
     rExp: -3
+```
 
 When ipmitool sensor list is called, the tool fetches sensor factors and
 computes value as:
 
-```none
+```text
 y = 20 * 249 * 10^-3 = 4.98 (V)
 ```
 
diff --git a/architecture/user-management.md b/architecture/user-management.md
index 51d2497..7135441 100644
--- a/architecture/user-management.md
+++ b/architecture/user-management.md
@@ -75,12 +75,12 @@
 User Manager service exposes D-Bus methods for user-management operations. It
 exposes `xyz.openbmc_project.User.Manager` as a service and handles objects
 through `org.freedesktop.DBus.ObjectManager`. Please refer
-https://github.com/openbmc/phosphor-dbus-interfaces/tree/master/yaml/xyz/openbmc_project/User
+<https://github.com/openbmc/phosphor-dbus-interfaces/tree/master/yaml/xyz/openbmc_project/User>
 for detailed user management D-Bus API and interfaces.
 
 ## OpenBMC - User Management - High Level architectural diagram
 
-```
+```ascii
                                 WEBSERVER/REDFISH
      ========================================================================
     ||  ________________  |  ________________  |   |**********************| ||
@@ -122,7 +122,7 @@
 
 ## User management - overview
 
-```
+```ascii
                              user management
           +---------------------------------------------------------+
           |                phosphor-user-manager                    |
@@ -160,7 +160,7 @@
 
 ## OpenBMC - User Management - User creation from webserver flow - with all groups
 
-```
+```ascii
 ------------------------------------|---------------------------------- -|-----------------------------|
 WEBSERVER                           | Common User Manager                |   IPMI & REDFISH(webserver) |
 ------------------------------------|------------------------------------|-----------------------------|
@@ -205,7 +205,7 @@
 
 ## OpenBMC - User Management - User creation from IPMI - 'ipmi' Group only
 
-```
+```ascii
 ------------------------------------|---------------------------------- -|-----------------------------|
 IPMI                                | Common User Manager                |   pam_unix/pam_ipmi storage |
 ------------------------------------|------------------------------------|-----------------------------|
@@ -258,7 +258,7 @@
 
 ## OpenBMC - User Management - User deletion from webserver flow - with all groups
 
-```
+```ascii
 ------------------------------------|---------------------------------- -|-----------------------------|
 WEBSERVER                           | Common User Manager                |   IPMI & REDFISH(webserver) |
 ------------------------------------|------------------------------------|-----------------------------|
@@ -293,7 +293,7 @@
 
 ## OpenBMC - User Management - User deletion from IPMI - 'ipmi' Group only
 
-```
+```ascii
 ------------------------------------|---------------------------------- -|
 IPMI                                | Common User Manager                |
 ------------------------------------|------------------------------------|
@@ -331,7 +331,7 @@
 modules are used such that `pam_authenticate()` can be used for both local &
 remote users.
 
-```
+```ascii
                 +----------------------------------+
                 |    Stacked PAM Authentication    |
                 |     +-----------------------+    |
@@ -362,7 +362,7 @@
 `pam_ipmicheck` and `pam_ipmisave` modules loaded as first & last modules in
 stacked pam modules.
 
-```
+```ascii
                 +------------------+---------------+
                 |      Stacked PAM - Password      |
                 |                                  |
@@ -401,7 +401,7 @@
 
 ## Authorization flow (except IPMI)
 
-```
+```ascii
                                 +
                                 |
                                 |
@@ -510,7 +510,7 @@
 1. Preprogrammed password unique to each device
 2. Forcing user to generate new authentication account, before using the device.
 
-### Generating user during deployment:
+### Generating user during deployment
 
 To adhere above mentioned guideline and to make OpenBMC more secure, this design
 specifies about forcing end-user to generate a new account, during deployment
@@ -521,7 +521,7 @@
 method have access to IPMI, REDFISH & Webserver and can be used to create more
 accounts through out-of-band interfaces.
 
-### Special user - root – user id 0:
+### Special user - root – user id 0
 
 Exposing root account (user id 0) to end-user by default (other than debug /
 developer scenario) is security risk. Hence current architecture recommends not
@@ -540,7 +540,7 @@
 (Note: `root` user will not be listed as user account in any interfaces like
 IPMI / REDFISH from user management point of view).
 
-### Deployment for systems without in-band interfaces:
+### Deployment for systems without in-band interfaces
 
 Any systems which doesn’t have in-band system interface can generate passwords
 uniquely for each & every device or can expose a default user name & password
diff --git a/cheatsheet.md b/cheatsheet.md
index 8518c30..ed6109d 100644
--- a/cheatsheet.md
+++ b/cheatsheet.md
@@ -7,14 +7,14 @@
 
 The kernel recipe is in:
 
-```
+```text
  meta-phosphor/common/recipes-kernel/linux/linux-obmc_X.Y.bb
 ```
 
 To use a local git tree, change the `SRC_URI` to a git:// URL without a
 hostname, and remove the `protocol=git` parameter. For example:
 
-```
+```bitbake
 SRC_URI = "git:///home/jk/devel/linux;branch=${KBRANCH}"
 ```
 
@@ -25,27 +25,27 @@
 
 The Palmetto target is `palmetto`.
 
-```
-$ cd openbmc
-$ . setup palmetto
-$ bitbake obmc-phosphor-image
+```bash
+cd openbmc
+. setup palmetto
+bitbake obmc-phosphor-image
 ```
 
 ## Building for Zaius
 
 The Zaius target is `zaius`.
 
-```
-$ cd openbmc
-$ . setup zaius
-$ bitbake obmc-phosphor-image
+```bash
+cd openbmc
+. setup zaius
+bitbake obmc-phosphor-image
 ```
 
 ## Building a specific machine configuration
 
 If the system you want to build contains different machine configurations:
 
-```
+```text
 meta-<layer>/meta-<system>/conf/machine/machineA.conf
 meta-<layer>/meta-<system>/conf/machine/machineB.conf
 ```
@@ -53,10 +53,10 @@
 You can specify the machine configuration you want to build by passing the name
 to the `setup`.
 
-```
-$ cd openbmc
-$ . setup machineB
-$ bitbake obmc-phosphor-image
+```bash
+cd openbmc
+. setup machineB
+bitbake obmc-phosphor-image
 ```
 
 ## Building the OpenBMC SDK
@@ -65,15 +65,15 @@
 running on a 'PPC' or 'x86' system? You can build the sdk receive a fakeroot
 environment.
 
-```
-$ bitbake -c populate_sdk obmc-phosphor-image
-$ ./tmp/deploy/sdk/openbmc-phosphor-glibc-x86_64-obmc-phosphor-image-armv5e-toolchain-2.1.sh
+```bash
+bitbake -c populate_sdk obmc-phosphor-image
+./tmp/deploy/sdk/openbmc-phosphor-glibc-x86_64-obmc-phosphor-image-armv5e-toolchain-2.1.sh
 ```
 
 Follow the prompts. After it has been installed the default to setup your env
 will be similar to this command
 
-```
+```bash
 . /opt/openbmc-phosphor/2.1/environment-setup-armv5e-openbmc-linux-gnueabi
 ```
 
@@ -81,7 +81,7 @@
 
 You can reconfigure your build by removing the build/conf dir:
 
-```
+```bash
 rm -rf build/conf
 ```
 
@@ -91,7 +91,7 @@
 
 ## `busctl`
 
-http://www.freedesktop.org/software/systemd/man/busctl.html
+<http://www.freedesktop.org/software/systemd/man/busctl.html>
 
 Great tool to issue D-Bus commands via cli. That way you don't have to wait for
 the code to hit the path on the system. Great for running commands with QEMU
@@ -99,7 +99,7 @@
 
 Run as:
 
-```
+```bash
 busctl call <path> <interface> <object> <method> <parameters>
 ```
 
@@ -113,25 +113,25 @@
 upstream or temporary work-arounds that add to QEMU's capabilities where
 appropriate.
 
-```
+```bash
 qemu-system-arm -m 256 -M palmetto-bmc -nographic \
--drive file=<path>/flash-palmetto,format=raw,if=mtd \
--net nic \
--net user,hostfwd=:127.0.0.1:2222-:22,hostfwd=:127.0.0.1:2443-:443,hostname=qemu
+    -drive file=<path>/flash-palmetto,format=raw,if=mtd \
+    -net nic \
+    -net user,hostfwd=:127.0.0.1:2222-:22,hostfwd=:127.0.0.1:2443-:443,hostname=qemu
 ```
 
 If you get an error you likely need to build QEMU (see the section in this
 document). If no error and QEMU starts up just change the port when interacting
 with the BMC...
 
-```
+```bash
 curl -c cjar -b cjar -k -H "Content-Type: application/json" \
--X POST https://localhost:2443/login -d "{\"data\": [ \"root\", \"0penBmc\" ] }"
+    -X POST https://localhost:2443/login -d "{\"data\": [ \"root\", \"0penBmc\" ] }"
 ```
 
 or
 
-```
+```bash
 ssh -p 2222 root@localhost
 ```
 
@@ -139,7 +139,7 @@
 
 ## Building QEMU
 
-```
+```bash
 git clone https://github.com/openbmc/qemu.git
 cd qemu
 git submodule update --init dtc
@@ -157,13 +157,13 @@
 your qemu session runs in the bridges subnet so no port forwarding is needed.
 There are packages needed to yourself a virbr0 such as...
 
-```
+```bash
 apt-get install libvirt libvirt-bin bridge-utils uml-utilities qemu-system-common
 
 qemu-system-arm -m 256 -M palmetto-bmc -nographic \
--drive file=<path>/flash-palmetto,format=raw,if=mtd \
--net nic,macaddr=C0:FF:EE:00:00:02,model=ftgmac100  \
--net bridge,id=net0,helper=/usr/lib/qemu-bridge-helper,br=virbr0
+    -drive file=<path>/flash-palmetto,format=raw,if=mtd \
+    -net nic,macaddr=C0:FF:EE:00:00:02,model=ftgmac100  \
+    -net bridge,id=net0,helper=/usr/lib/qemu-bridge-helper,br=virbr0
 ```
 
 There are some other useful parms like that can redirect the console to another
@@ -174,22 +174,22 @@
 
 Login:
 
-```
+```bash
 curl -c cjar -k -X POST -H "Content-Type: application/json" -d '{"data": [ "root", "0penBmc" ] }' https://${bmc}/login
 ```
 
 Connect to host console:
 
-```
+```bash
 ssh -p 2200 root@bmc
 ```
 
 Power on:
 
-```
+```bash
 curl -c cjar -b cjar -k -H "Content-Type: application/json" -X PUT \
-  -d '{"data": "xyz.openbmc_project.State.Host.Transition.On"}' \
-  https://${bmc}/xyz/openbmc_project/state/host0/attr/RequestedHostTransition
+    -d '{"data": "xyz.openbmc_project.State.Host.Transition.On"}' \
+    https://${bmc}/xyz/openbmc_project/state/host0/attr/RequestedHostTransition
 ```
 
 ## GDB
@@ -203,16 +203,17 @@
 
 1. Setup SDK environment;
 2. Run below GDB commands:
-   ```
-   cd <sysroot_of_sdk_build>
-   $GDB <relative_path_to_exeutable> <path_to_core_file>
-   ```
+
+```bash
+cd <sysroot_of_sdk_build>
+$GDB <relative_path_to_exeutable> <path_to_core_file>
+```
 
 ## Coredump
 
 By default coredump is disabled in OpenBMC. To enable coredump:
 
-```
+```bash
 echo '/tmp/core_%e.%p' | tee /proc/sys/kernel/core_pattern
 ulimit -c unlimited
 ```
@@ -223,7 +224,7 @@
 rwfs. To do this, you can list this path and then remove those files which you'd
 prefer the originals or remove the deletion overlay to restore files.
 
-```
+```bash
 /run/initramfs/rw/cow/
 ```
 
@@ -249,14 +250,18 @@
 
 - Set `DL_DIR` Bitbake environment variable to the location of your shared
   downloads directory by editing the `build/conf/local.conf` file:
-  ```
-  DL_DIR ?= "<path>/<to>/<existing>/downloads"
-  ```
+
+```bitbake
+DL_DIR ?= "<path>/<to>/<existing>/downloads"
+```
+
 - Or create a symbol link:
-  ```
-  ln -sf <path>/<to>/<existing>/downloads build/downloads
-  ```
-  Then do the build. It will save a lot of time from downloading codes.
+
+```bash
+ln -sf <path>/<to>/<existing>/downloads build/downloads
+```
+
+Then do the build. It will save a lot of time from downloading codes.
 
 ## Using git proxy
 
@@ -268,7 +273,7 @@
 
 Below is an example wrapper in `~/bin` assuming a socks5 proxy at port 9054:
 
-```
+```bash
 #!/bin/sh
 ## Use connect-proxy as git proxy wrapper which supports SOCKS5
 ## Install with `apt-get install connect-proxy`
@@ -284,7 +289,7 @@
 `devtool` is a convenient utility in Yocto to make changes in the local
 directory. Typical usage is:
 
-```
+```bash
 # To create a local copy of recipe's code and build with it:
 devtool modify <recipe>
 cd build/workspace/sources/<recipe>  # And make changes
@@ -308,28 +313,36 @@
 the code locally, build and test it.
 
 1. Use devtool to create a local repo:
-   ```
+
+   ```bash
    devtool modify phosphor-ipmi-host
    ```
+
    devtool clones the repo into `build/workspace/sources/phosphor-ipmi-host`,
    creates and checkout branch `devtool`.
+
 2. Make changes in the repo, e.g. adding code to handle new ipmi commands or
    simply adding trace logs.
+
 3. Now you can build the whole image or the ipmi recipe itself:
-   ```
+
+   ```bash
    bitbake obmc-phosphor-image  # Build the whole image
    bitbake phosphor-ipmi-host  # Build the recipe
    ```
+
 4. To test your change, either flash the whole image or replace the changed
    binary. Note that the changed code is built into `libapphandler.so` and it is
    used by both host and net ipmi daemon. It is recommended that you copy the
    changed binary to BMC because it is easier to test:
-   ```
+
+   ```bash
    # Replace libapphandler.so.0.0.0
    scp build/workspace/sources/phosphor-ipmi-host/oe-workdir/package/usr/lib/ipmid-providers/libapphandler.so.0.0.0 root@bmc:/usr/lib/ipmid-providers/
    systemctl restart phosphor-ipmi-host.service  # Restart the inband ipmi daemon
    # Or restart phosphor-ipmi-net.service if you want to test net ipmi.
    ```
+
 5. Now you can test your changes.
 
 ## Develop linux kernel
@@ -353,7 +366,7 @@
 
 You can modify the code and build the kernel as usual as follows:
 
-```
+```bash
 bitbake linux-obmc -c build
 ```
 
@@ -361,7 +374,7 @@
 
 If you need to change the config and save it as defconfig for further use:
 
-```
+```bash
 bitbake linux-obmc -c menuconfig
 # Edit the configs and after save it generates
 # .config.new as the new kernel config
@@ -386,14 +399,16 @@
    to a tftp server, name it to `fitImage`
 2. Reboot BMC and press keys to enter uboot shell;
 3. In uboot:
-   ```
-   setenv ethaddr <mac:addr>  # Set mac address if there it is unavailable
-   setenv ipaddr 192.168.0.80  # Set BMC IP
-   setenv serverip 192.168.0.11  # Set tftp server IP
-   tftp 0x83000000 fitImage  # Load fit image to ram. Use 0x43000000 on AST2400
-   bootm 0x83000000  # Boot from fit image
-   ```
-   Then you are running an OpenBMC with your updated kernel.
+
+```bash
+setenv ethaddr <mac:addr>  # Set mac address if there it is unavailable
+setenv ipaddr 192.168.0.80  # Set BMC IP
+setenv serverip 192.168.0.11  # Set tftp server IP
+tftp 0x83000000 fitImage  # Load fit image to ram. Use 0x43000000 on AST2400
+bootm 0x83000000  # Boot from fit image
+```
+
+Then you are running an OpenBMC with your updated kernel.
 
 [1]: https://github.com/openbmc/phosphor-host-ipmid
 [2]:
diff --git a/console.md b/console.md
index fddc204..f086cc9 100644
--- a/console.md
+++ b/console.md
@@ -12,32 +12,38 @@
 To connect to an OpenBMC console session remotely, just ssh to your BMC on
 port 2200. Use the same login credentials you would for a normal ssh session:
 
-    $ ssh -p 2200 [user]@[bmc-hostname]
+```bash
+ssh -p 2200 [user]@[bmc-hostname]
+```
 
 ## Local console connections
 
 If you're already logged into an OpenBMC machine, you can start a console
 session directly, using:
 
-    $ obmc-console-client
+```bash
+obmc-console-client
+```
 
 To exit from a console, type:
 
+```text
     return ~ .
+```
 
 Note that if you're on an ssh connection, you'll need to 'escape' the ~
 character, by entering it twice:
 
+```text
     return ~ ~ .
+```
 
 This is because obmc-console-client is an ssh session, and a double `~` is
 required to escape the "inner" (obmc-console-client) ssh session.
 
 ## Logging
 
-Console logs are kept in:
-
-    /var/log/obmc-console.log
+Console logs are kept in: `/var/log/obmc-console.log`
 
 This log is limited in size, and will wrap after hitting that limit (currently
 set at 16kB).
diff --git a/cpp-style-and-conventions.md b/cpp-style-and-conventions.md
index 341c083..6a7c4cd 100644
--- a/cpp-style-and-conventions.md
+++ b/cpp-style-and-conventions.md
@@ -12,9 +12,9 @@
 principles that help us align the software we develop with the constraints
 within the problem domain being solved by OpenBMC. These are:
 
-1.  Code should be clear and concise.
-2.  Code should be written with modern practices.
-3.  Code should be performant.
+1. Code should be clear and concise.
+2. Code should be written with modern practices.
+3. Code should be performant.
 
 ### Code should be clear and concise
 
@@ -52,7 +52,7 @@
 recommend the book "Effective Modern C++" as a way to get up to speed on the
 differences between C++98/03 and C++11/14/17/20.
 
-### Code should be performant.
+### Code should be performant
 
 OpenBMC targets embedded processors that typically have 32-64MB of flash and
 similar processing power of a typical smart-watch available in 2016. This means
@@ -70,7 +70,7 @@
 
 Please follow the guidelines established by the C++ Core Guidelines (CCG).
 
-https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md
+<https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md>
 
 [[Last reviewed revision is 53bc78f]]
 
@@ -164,14 +164,14 @@
 - Utilize 'Allman' style brackets. Brackets are on their own line at the same
   indentation level as the statement that creates the scope.
 
-```
+```cpp
 if (condition)
 {
     ...
 }
 ```
 
-```
+```cpp
 void foo()
 {
     ...
@@ -180,7 +180,7 @@
 
 - Even one line conditional and loop statements should have brackets.
 
-```
+```cpp
 /// Wrong.
 if (condition)
     do_something;
@@ -197,7 +197,7 @@
 - Content within a namespace should be at the same indentation level as the
   namespace itself.
 
-```
+```cpp
 namespace foo
 {
 
@@ -208,7 +208,7 @@
 
 - Content within a class / struct should be indented.
 
-```
+```cpp
 class Foo
 {
     public:
@@ -218,7 +218,7 @@
 
 - Content within a function / conditional / loop should be indented.
 
-```
+```cpp
 void foo()
 {
     while (1)
@@ -233,7 +233,7 @@
 
 - Switch / case statements should be indented.
 
-```
+```cpp
 switch (foo)
 {
     case bar:
@@ -255,7 +255,7 @@
   labels are preferred or should be regularly used, but simply when they are
   used, this is how they are to be used.)
 
-```
+```cpp
 void foo()
 {
     if (bar)
@@ -275,13 +275,13 @@
 }
 ```
 
-### Naming Conventions.
+### Naming Conventions
 
 - We generally abstain from any prefix or suffix on names.
 - Acronyms should be same-case throughout and follow the requirements as in
   their appropriate section.
 
-```
+```cpp
 /// Correct.
 SomeBMCType someBMCVariable = bmcFunction();
 
@@ -293,7 +293,7 @@
 
 Header inclusion order for a header file:
 
-```
+```text
 local headers (e.g. "daemon_sys.hpp")
 c-libraries
 cpp-libraries (including openbmc libraries)
@@ -301,7 +301,7 @@
 
 Header inclusion order for a source file:
 
-```
+```text
 source.hpp (if applicable)
 local headers
 c-libraries
@@ -330,7 +330,7 @@
 - Exception: A for-convenience template type alias of a template class may end
   in `_t` to match the conventions of the STL.
 
-```
+```cpp
 template <typename T>
 class Foo
 {
@@ -371,7 +371,7 @@
 
 - Follow NL.18: Use C++-style declarator layout.
 
-```
+```cpp
 foo(T& bar, const S* baz); /// Correct.
 foo(T &bar, const S *baz); /// Incorrect.
 ```
@@ -380,7 +380,7 @@
 
 - Insert whitespace after a conditional and before parens.
 
-```
+```cpp
 if (...)
 while (...)
 for (...)
@@ -388,14 +388,14 @@
 
 - Insert whitespace around binary operators for readability.
 
-```
+```cpp
 foo((a-1)/b,c-2); /// Incorrect.
 foo((a - 1) / b, c - 2); /// Correct.
 ```
 
 - Do not insert whitespace around unary operators.
 
-```
+```cpp
 a = * b;  /// Incorrect.
 a = & b;  /// Incorrect.
 a = b -> c;  /// Incorrect.
@@ -405,7 +405,7 @@
 - Do not insert whitespace inside parens or between a function call and
   parameters.
 
-```
+```cpp
 foo(x, y); /// Correct.
 foo ( x , y ); /// Incorrect.
 
@@ -416,7 +416,7 @@
 
 - Prefer line-breaks after operators to show continuation.
 
-```
+```cpp
 if (this1 == that1 &&
     this2 == that2) /// Correct.
 
@@ -427,7 +427,7 @@
 - Long lines should have continuation start at the same level as the parens or
   all all items inside the parens should be at a 2-level indent.
 
-```
+```cpp
 reallyLongFunctionCall(foo,
                        bar,
                        baz); // Correct.
@@ -445,7 +445,7 @@
         baz); // Incorrect.
 ```
 
-### Misc Guidelines.
+### Misc Guidelines
 
 - Always use `size_t` or `ssize_t` for things that are sizes, counts, etc. You
   need a strong rationale for using a sized type (ex. `uint8_t`) when a size_t
diff --git a/designs/README.md b/designs/README.md
index 7c8f46f..d6e12b7 100644
--- a/designs/README.md
+++ b/designs/README.md
@@ -1,3 +1,5 @@
+# Overview
+
 This is a directory of design documents.
 
 Newly authored design documents are encouraged to follow the
diff --git a/designs/binarystore-via-blobs.md b/designs/binarystore-via-blobs.md
index de841a2..ecb73c4 100644
--- a/designs/binarystore-via-blobs.md
+++ b/designs/binarystore-via-blobs.md
@@ -1,6 +1,6 @@
 # BMC Generic Binary Blob Store via OEM IPMI Blob Transport
 
-Author: Kun Yi (kunyi@google.com, kunyi!)
+Author: Kun Yi <kunyi@google.com> `kunyi!`
 
 Created: 2018-12-07
 
@@ -37,8 +37,8 @@
 
 ## Background and References
 
-Please read the IPMI Blob protocol design as primer
-[here](https://github.com/openbmc/phosphor-ipmi-blobs/blob/master/README.md).
+Please read the IPMI Blob protocol design as
+[primer](https://github.com/openbmc/phosphor-ipmi-blobs/blob/master/README.md).
 
 Under the hood, the binary blobs are stored as a binary
 [protocol buffer](https://github.com/protocolbuffers/protobuf), or "protobuf" in
diff --git a/designs/bios-bmc-smm-error-logging.md b/designs/bios-bmc-smm-error-logging.md
index 71a4704..2959268 100644
--- a/designs/bios-bmc-smm-error-logging.md
+++ b/designs/bios-bmc-smm-error-logging.md
@@ -2,11 +2,11 @@
 
 Author:
 
-- Brandon Kim / brandonkim@google.com / @brandonk
+- Brandon Kim <brandonkim@google.com> `@brandonk`
 
 Other contributors:
 
-- Marco Cruz-Heredia / mcruzheredia@google.com
+- Marco Cruz-Heredia <mcruzheredia@google.com>
 
 Created: Mar 15, 2022
 
@@ -60,24 +60,24 @@
 separate libraries shared between `phosphor-ipmi-flash` and this daemon to
 reduce duplication of code.
 
-Taken from Marco's (mcruzheredia@google.com) internal design document for the
+Taken from Marco's <mcruzheredia@google.com> internal design document for the
 circular buffer, the data structure of its header will look like the following:
 
-| Name                                | Size                             | Offset      | Written by   | Description                                                                                                                                                                                                                                                                                                                                                                                                                                 |
-| ----------------------------------- | -------------------------------- | ----------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| BMC Interface Version               | 4 bytes                          | 0x0         | BMC at init  | Allows the BIOS to determine if it is compatible with the BMC                                                                                                                                                                                                                                                                                                                                                                               |
-| BIOS Interface Version              | 4 bytes                          | 0x4         | BIOS at init | Allows the BMC to determine if it is compatible with the BIOS                                                                                                                                                                                                                                                                                                                                                                               |
-| Magic Number                        | 16 bytes                         | 0x8         | BMC at init  | Magic number to set the state of the queue as described below. Written by BMC once the memory region is ready to be used. Must be checked by BIOS before logging. BMC can change this number when it suspects data corruption to prevent BIOS from writing anything during reinitialization                                                                                                                                                 |
-| Queue size                          | 3 bytes                          | 0x18        | BMC at init  | Indicates the size of the region allocated for the circular queue. Written by BMC on init only, should not change during runtime. **This includes the size of the header and UE region size**                                                                                                                                                                                                                                               |
-| Uncorrectable Error region size     | 2 bytes                          | 0x1b        | BMC at init  | Indicates the size of the region reserved for Uncorrectable Error (UE) logs. Written by BMC on init only, should not change during runtime                                                                                                                                                                                                                                                                                                  |
-| BMC flags                           | 4 bytes                          | 0x1d        | BMC          | <ul><li>BIT0 - BMC UE reserved region “switch”<ul><li>Toggled when BMC reads a UE from the reserved region.</li></ul><li>BIT1 - Overflow<ul><li>Lets BIOS know BMC has seen the overflow incident</li><li>Toggled when BMC acks the overflow incident</li></ul><li>BIT2 - BMC_READY<ul><li>BMC sets this bit once it has received any initialization information it needs to get from the BIOS before it’s ready to receive logs.</li></ul> |
-| BMC read pointer                    | 3 bytes                          | 0x21        | BMC          | Used to allow the BIOS to detect when the BMC was unable to read the previous error logs in time to prevent the circular buffer from overflowing.                                                                                                                                                                                                                                                                                           |
-| Padding                             | 4 bytes                          | 0x24        | Reserved     | Padding for 8 byte alignment                                                                                                                                                                                                                                                                                                                                                                                                                |
-| BIOS flags                          | 4 bytes                          | 0x28        | BIOS         | <ul><li>BIT0 - BIOS UE reserved region “switch”<ul><li> Toggled when BIOS writes a UE to the reserved region.</li></ul><li>BIT1 - Overflow<ul><li>Lets the BMC know that it missed an error log</li><li>Toggled when BIOS sees overflow and not already overflowed</li></ul><li>BIT2 - Incomplete Initialization<ul><li>Set when BIOS has attempted to initialize but did not see BMC ack back with `BMC_READY` bit in BMC flags</li></ul>  |
-| BIOS write pointer                  | 3 bytes                          | 0x2c        | BIOS         | Indicates where the next log will be written by BIOS. Used to tell BMC when it should read a new log                                                                                                                                                                                                                                                                                                                                        |
-| Padding                             | 1 byte                           | 0x2f        | Reserved     | Padding for 8 byte alignment                                                                                                                                                                                                                                                                                                                                                                                                                |
-| Uncorrectable Error reserved region | TBD1                             | 0x30        | BIOS         | Reserved region only for UE logs. This region is only used if the rest of the buffer is going to overflow and there is no unread UE log already in the region.                                                                                                                                                                                                                                                                              |
-| Error Logs from BIOS                | Size of the Buffer - 0x30 - TBD1 | 0x30 + TBD1 | BIOS         | Logs vary by type, so each log will self-describe with a header. This region will fill up the rest of the buffer                                                                                                                                                                                                                                                                                                                            |
+| Name                                | Size                             | Offset      | Written by   | Description                                                                                                                                                                                                                                                                                                                                                                              |
+| ----------------------------------- | -------------------------------- | ----------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| BMC Interface Version               | 4 bytes                          | 0x0         | BMC at init  | Allows the BIOS to determine if it is compatible with the BMC                                                                                                                                                                                                                                                                                                                            |
+| BIOS Interface Version              | 4 bytes                          | 0x4         | BIOS at init | Allows the BMC to determine if it is compatible with the BIOS                                                                                                                                                                                                                                                                                                                            |
+| Magic Number                        | 16 bytes                         | 0x8         | BMC at init  | Magic number to set the state of the queue as described below. Written by BMC once the memory region is ready to be used. Must be checked by BIOS before logging. BMC can change this number when it suspects data corruption to prevent BIOS from writing anything during reinitialization                                                                                              |
+| Queue size                          | 3 bytes                          | 0x18        | BMC at init  | Indicates the size of the region allocated for the circular queue. Written by BMC on init only, should not change during runtime. **This includes the size of the header and UE region size**                                                                                                                                                                                            |
+| Uncorrectable Error region size     | 2 bytes                          | 0x1b        | BMC at init  | Indicates the size of the region reserved for Uncorrectable Error (UE) logs. Written by BMC on init only, should not change during runtime                                                                                                                                                                                                                                               |
+| BMC flags                           | 4 bytes                          | 0x1d        | BMC          | **BIT0 - BMC UE reserved region “switch”**: Toggled when BMC reads a UE from the reserved region.<br>**BIT1 - Overflow**: Lets BIOS know BMC has seen the overflow incident. Toggled when BMC acks the overflow incident<br>**BIT2 - BMC_READY**: BMC sets this bit once it has received any initialization information it needs to get from the BIOS before it’s ready to receive logs. |
+| BMC read pointer                    | 3 bytes                          | 0x21        | BMC          | Used to allow the BIOS to detect when the BMC was unable to read the previous error logs in time to prevent the circular buffer from overflowing.                                                                                                                                                                                                                                        |
+| Padding                             | 4 bytes                          | 0x24        | Reserved     | Padding for 8 byte alignment                                                                                                                                                                                                                                                                                                                                                             |
+| BIOS flags                          | 4 bytes                          | 0x28        | BIOS         | **BIT0 - BIOS UE reserved region “switch”**: Toggled when BIOS writes a UE to the reserved region.<br>**BIT1 - Overflow**: Lets the BMC know that it missed an error log. Toggled when BIOS sees overflow and not already overflowed<br>**BIT2 - Incomplete Initialization**: Set when BIOS has attempted to initialize but did not see BMC ack back with `BMC_READY` bit in BMC flags   |
+| BIOS write pointer                  | 3 bytes                          | 0x2c        | BIOS         | Indicates where the next log will be written by BIOS. Used to tell BMC when it should read a new log                                                                                                                                                                                                                                                                                     |
+| Padding                             | 1 byte                           | 0x2f        | Reserved     | Padding for 8 byte alignment                                                                                                                                                                                                                                                                                                                                                             |
+| Uncorrectable Error reserved region | TBD1                             | 0x30        | BIOS         | Reserved region only for UE logs. This region is only used if the rest of the buffer is going to overflow and there is no unread UE log already in the region.                                                                                                                                                                                                                           |
+| Error Logs from BIOS                | Size of the Buffer - 0x30 - TBD1 | 0x30 + TBD1 | BIOS         | Logs vary by type, so each log will self-describe with a header. This region will fill up the rest of the buffer                                                                                                                                                                                                                                                                         |
 
 ### Initialization
 
@@ -140,12 +140,12 @@
 
 - bios-bmc-smm-error-logger
   - This repository will implement the daemon described in this document
-  - Proposed maintainer: wltu@google.com , brandonkim@google.com
+  - Proposed maintainer: <wltu@google.com> , <brandonkim@google.com>
 - libbej
   - This repository will follow the PLDM RDE specification as much as possible
     for RDE BEJ decoding (initially, encoding may come in the future) and will
     host a library written in C
-  - Proposed maintainer: wltu@google.com , brandonkim@google.com
+  - Proposed maintainer: <wltu@google.com> , <brandonkim@google.com>
 
 ## Testing
 
diff --git a/designs/bmc-boot-ready.md b/designs/bmc-boot-ready.md
index 1d43d3b..7a1e12e 100644
--- a/designs/bmc-boot-ready.md
+++ b/designs/bmc-boot-ready.md
@@ -25,9 +25,9 @@
 
 ## Background and References
 
-The mailing list discussion can be found [here][1]. The BMC currently has three
-major [state][2] management interfaces in a system. The BMC, Chassis, and Host.
-Within each state interface, the current state and requested state are tracked.
+The [mailing list discussion][1] can be found. The BMC currently has three major
+[state][2] management interfaces in a system. The BMC, Chassis, and Host. Within
+each state interface, the current state and requested state are tracked.
 
 The [BMC][3] state object is considered `Ready` once the systemd
 `multi-user.target` has successfully started all if its services.
diff --git a/designs/bmc-health-monitor.md b/designs/bmc-health-monitor.md
index 185d302..e1882cf 100644
--- a/designs/bmc-health-monitor.md
+++ b/designs/bmc-health-monitor.md
@@ -1,4 +1,4 @@
-### BMC Health Monitor
+# BMC Health Monitor
 
 Author: Vijay Khemka <vijaykhemka@fb.com>, Sui Chen <suichen@google.com>, Jagpal
 Singh Gill <paligill@gmail.com>
@@ -162,7 +162,7 @@
 Each metric will be exposed on a specific object path and above interfaces will
 be implemented at these paths.
 
-```
+```text
 /xyz/openbmc_project
     |- /xyz/openbmc_project/metric/bmc/memory/total
     |- /xyz/openbmc_project/metric/bmc/memory/free
@@ -188,7 +188,7 @@
 In case there are multiple devices of same type, the D-Bus path can be extended
 to add context about **"which device"**. For example -
 
-```
+```text
 /xyz/openbmc_project/metric/device-0/memory/total
 /xyz/openbmc_project/metric/device-1/memory/total
 ...
@@ -226,7 +226,7 @@
   pretty significant. Given the amount of functionality needed for openBMC,
   Collectd seems heavyweight. Majority of phosphor-health-monitor code will be
   around exposing the metrics on Dbus which will also be needed for Collectd
-  plugin. Hence, directly reading from /proc/<fileX> seems lightweight as code
+  plugin. Hence, directly reading from `/proc/<fileX>` seems lightweight as code
   already exist for it.
 - Collected has minimal support for threshold monitoring and doesn't allow
   starting systemd services on threshold violations.
diff --git a/designs/bmc-reboot-cause-update.md b/designs/bmc-reboot-cause-update.md
index 45571e8..1e10374 100644
--- a/designs/bmc-reboot-cause-update.md
+++ b/designs/bmc-reboot-cause-update.md
@@ -58,37 +58,37 @@
 
 1. Driver Provision by BMC Vendors:
 
-- Each BMC vendor must provide a driver to retrieve the BMC reboot cause and
-  record the result at the specified location.
+   - Each BMC vendor must provide a driver to retrieve the BMC reboot cause and
+     record the result at the specified location.
 
 2. Definition and Identification of Reboot Cause Type **Software Reset**:
 
-- This one is still under discussion, please refer to the following link for
-  more detail:
-  https://lore.kernel.org/all/9565c496-44d8-4214-8038-931926210d0f@roeck-us.net/
+   - This one is still under discussion, please refer to the following link for
+     more detail:
+     <https://lore.kernel.org/all/9565c496-44d8-4214-8038-931926210d0f@roeck-us.net/>
 
 3. Revise the Definition of **WDIOF_CARDRESET**:
 
-- The **WDIOF_CARDRESET** type will now specifically indicate resets caused by
-  the watchdog.
+   - The **WDIOF_CARDRESET** type will now specifically indicate resets caused
+     by the watchdog.
 
 4. Clarification of The **Power-on-reset case**:
 
-- When a BMC reset occured, but the flag in the bootstatus remains unchanged by
-  the watchdog driver (i.e., it stays at 0), this indicates that a
-  **Power-on-reset** has occurred.
+   - When a BMC reset occured, but the flag in the bootstatus remains unchanged
+     by the watchdog driver (i.e., it stays at 0), this indicates that a
+     **Power-on-reset** has occurred.
 
 5. Update Reboot Cause Interpretation:
 
-| phosphor-state-manager | bootstatus value | watchdog driver                  |
-| ---------------------- | ---------------- | -------------------------------- |
-| WDIOF_CARDRESET        | 0x20             | return 0x20 if reset by Watchdog |
-| POR                    | 0x00             | Do nothing                       |
+   | phosphor-state-manager | bootstatus value | watchdog driver                  |
+   | ---------------------- | ---------------- | -------------------------------- |
+   | WDIOF_CARDRESET        | 0x20             | return 0x20 if reset by Watchdog |
+   | POR                    | 0x00             | Do nothing                       |
 
 6. Generate Corresponding Event Log:
 
-- After interpreting the reboot cause, the system should issue the corresponding
-  event log based on the determined type.
+   - After interpreting the reboot cause, the system should issue the
+     corresponding event log based on the determined type.
 
 ## Alternatives Considered
 
diff --git a/designs/bmc-reset-with-host-up.md b/designs/bmc-reset-with-host-up.md
index 0a308eb..7d0425b 100644
--- a/designs/bmc-reset-with-host-up.md
+++ b/designs/bmc-reset-with-host-up.md
@@ -116,8 +116,8 @@
 within phosphor-state-manager. Any system or company specific services can be
 installed in the common targets:
 
-- obmc-chassis-powerreset@.target.require
-- obmc-host-reset@.target.requires
+- `obmc-chassis-powerreset@.target.require`
+- `obmc-host-reset@.target.requires`
 
 ### Automated Recovery when host does not respond
 
diff --git a/designs/bmc-service-failure-debug-and-recovery.md b/designs/bmc-service-failure-debug-and-recovery.md
index a8afd64..92fac51 100644
--- a/designs/bmc-service-failure-debug-and-recovery.md
+++ b/designs/bmc-service-failure-debug-and-recovery.md
@@ -389,20 +389,20 @@
 BMC's behaviour in this way allows the use of the `serio_raw` driver (which has
 the restriction that userspace can't access the status value).
 
-[1]
-https://lore.kernel.org/lkml/37e75b07-a5c6-422f-84b3-54f2bea0b917@www.fastmail.com/
+[1]:
+  https://lore.kernel.org/lkml/37e75b07-a5c6-422f-84b3-54f2bea0b917@www.fastmail.com/
 
 #### Prototype Implementation Supporting Power10 Platforms
 
 A concrete implementation of the proposal's userspace daemon is available on
 Github:
 
-https://github.com/amboar/debug-trigger/
+<https://github.com/amboar/debug-trigger/>
 
 Deployment requires additional kernel support in the form of patches at [2].
 
-[2]
-https://github.com/amboar/linux/compare/2dbb5aeba6e55e2a97e150f8371ffc1cc4d18180...for/openbmc/kcs-raw
+[2]:
+  https://github.com/amboar/linux/compare/2dbb5aeba6e55e2a97e150f8371ffc1cc4d18180...for/openbmc/kcs-raw
 
 ### Alternatives Considered
 
@@ -458,7 +458,7 @@
 
 ### Proposed Design
 
-This will build upon the existing [target-fail-monitoring][1] design. The
+This will build upon the existing [target-fail-monitoring][3] design. The
 monitor service will be enhanced to also take json file(s) which list critical
 services to monitor.
 
@@ -482,7 +482,7 @@
   the BMC state into Quiesced
 - bmcweb looks at BMC state to return appropriate state to external clients
 
-[1]:
+[3]:
   https://github.com/openbmc/docs/blob/master/designs/target-fail-monitoring.md
 
 ### Alternatives Considered
diff --git a/designs/boot-progress.md b/designs/boot-progress.md
index 3b4082b..f25e7f0 100644
--- a/designs/boot-progress.md
+++ b/designs/boot-progress.md
@@ -1,6 +1,6 @@
 # System Boot Progress on OpenBMC
 
-Author: Andrew Geissler (geissonator)
+Author: Andrew Geissler `geissonator`
 
 Other contributors: None
 
@@ -41,8 +41,7 @@
 Redfish represents system state in a variety of ways. The BMC, Chassis, and
 System all implement a [Status][6] object. This provides a list of generic
 `State` options which are applicable to Redfish objects. OpenBMC has the
-following mapping for phosphor-state-manager to the Redfish System
-[Status][state]:
+following mapping for phosphor-state-manager to the Redfish System [Status][7]:
 
 - `xyz.openbmc_project.State.Host.HostState.Running` : `Enabled`
 - `xyz.openbmc_project.State.Host.HostState.Quiesced` : `Quiesced`
@@ -73,7 +72,7 @@
 
 Note that this design does not include multi-host computer system concepts but
 it also does not preclude them. The `BootProgress` D-Bus property is associated
-with a `/xyz/openbmc_project/state/host<X>` instance where <X> is the host
+with a `/xyz/openbmc_project/state/host<X>` instance where `<X>` is the host
 instance. Similarly, the Redfish system object is also an instance based object.
 
 ## Requirements
diff --git a/designs/certificate-revocation-list.md b/designs/certificate-revocation-list.md
index 889428b..c0e3e82 100644
--- a/designs/certificate-revocation-list.md
+++ b/designs/certificate-revocation-list.md
@@ -1,6 +1,6 @@
 # Certificate Revocation List on BMC
 
-Author: Nan Zhou (nanzhoumails@gmail.com)
+Author: Nan Zhou <nanzhoumails@gmail.com>
 
 Created: 02/25/2022
 
diff --git a/designs/ci-authorization.md b/designs/ci-authorization.md
index c00eb22..d0d988b 100644
--- a/designs/ci-authorization.md
+++ b/designs/ci-authorization.md
@@ -29,8 +29,11 @@
 the general-developers team, manual intervention (ok-to-test) is required by a
 project maintainer to trigger the automated CI processes.
 
-Additional reading: https://en.wikipedia.org/wiki/Continuous_integration
-https://jenkins.io/ https://help.github.com/articles/about-organizations/
+Additional reading:
+
+- <https://en.wikipedia.org/wiki/Continuous_integration>
+- <https://jenkins.io/>
+- <https://help.github.com/articles/about-organizations/>
 
 ## Requirements
 
diff --git a/designs/code-update.md b/designs/code-update.md
index 179636e..8257e1b 100644
--- a/designs/code-update.md
+++ b/designs/code-update.md
@@ -28,8 +28,8 @@
 
 1. Able to start an update, given a firmware image and update settings.
 
-- Update settings shall be able to specify when to apply the image, for example
-  immediately or on device reset or on-demand.
+   - Update settings shall be able to specify when to apply the image, for
+     example immediately or on device reset or on-demand.
 
 2. Able to retrieve the update progress and status.
 3. Able to produce an interface complaint with
@@ -372,7 +372,7 @@
 - Different type hardware components:
 
   Upgrade for different type hardware components can be handled either by
-  different <deviceX>CodeUpdater daemons or by a single daemon for hardware
+  different `<deviceX>CodeUpdater` daemons or by a single daemon for hardware
   components with common features, for example, PLDMd may handle update for
   devices using PLDM specification. Such updates can be invoked in parallel from
   BMCWeb and tracked via different tasks.
@@ -446,7 +446,7 @@
 #### Cons
 
 - Server would still need maintain some info so it can map client's task status
-  request to Dbus path for /xyz/openbmc_project/Software/<deviceX> for calling
+  request to Dbus path for `/xyz/openbmc_project/Software/<deviceX>` for calling
   getActivationStatus and getActivationProgress.
 - Aforementioned [issue](https://github.com/openbmc/bmcweb/issues/202) is more
   of an implementation problem which can be resolved through implementation
diff --git a/designs/dump-manager.md b/designs/dump-manager.md
index 67d12bf..3f7613f 100644
--- a/designs/dump-manager.md
+++ b/designs/dump-manager.md
@@ -37,7 +37,7 @@
 some sources allow the dump to be extracted manually without a failure to
 understand the current state or analyze a suspected problems.
 
-### Type of dumps supported.
+### Type of dumps supported
 
 These are some of the dumps supported by dump manager.
 
@@ -83,7 +83,7 @@
 
 ![Dump use cases - Users are examples, not a mandatory part of implementation](https://user-images.githubusercontent.com/16666879/70888651-d8f44080-2006-11ea-8596-ed4c321cfaa6.png)
 
-#### Dump manager needs to provide interfaces for
+### Dump manager needs to provide interfaces for
 
 - Create a dump: Initiate the creation of the dump, based on an error condition
   or a user request.
@@ -112,7 +112,7 @@
 
 ![phosphor-debug-collector](https://user-images.githubusercontent.com/16666879/72070844-7b56c980-3310-11ea-8d26-07d33b84b980.jpeg)
 
-#### Brief design points of existing phosphor-debug-collector
+### Brief design points of existing phosphor-debug-collector
 
 - A create interface which assumes the type is BMC dump and returns an ID to the
   caller for the user-initiated dumps.
@@ -138,7 +138,7 @@
 - The dump manager calls dreport with a dump type got from the monitor and write
   data to a path based on dump id.
 
-#### Updates proposed to the existing phosphor-debug-collector.
+### Updates proposed to the existing phosphor-debug-collector
 
 - External D-Bus interface needs to specify the type of the dump since a user
   can request multiple types of dumps
@@ -149,7 +149,7 @@
 - The InitiateOffload function will be implemented to download the dump.
 - Status of the dump, whether offloaded or not, will be added to the dump entry.
 
-### Dump manager interfaces.
+### Dump manager interfaces
 
 - Dump Manager DBus object provides interfaces for creating and managing dump
 
diff --git a/designs/ecc-dbus-sel.md b/designs/ecc-dbus-sel.md
index bc1db98..9fbb0d6 100644
--- a/designs/ecc-dbus-sel.md
+++ b/designs/ecc-dbus-sel.md
@@ -1,10 +1,10 @@
-### ECC Error SEL for BMC
+# ECC Error SEL for BMC
 
 Author: Will Liang
 
 Created: 2019-02-26
 
-#### Problem Description
+## Problem Description
 
 The IPMI SELs only define memory Error Correction Code (ECC) errors for host
 memory rather than BMC.
@@ -13,7 +13,7 @@
 Event Log (SEL). Whenever ECC occurs, the BMC generates an event with the
 appropriate information and adds it to the SEL.
 
-#### Background and References
+## Background and References
 
 The IPMI specification defines memory system event log about ECC/other
 correctable or ECC/other uncorrectable and whether ECC/other correctable memory
@@ -27,7 +27,7 @@
 
 [[1]Intelligent Platform Management Interface Specification v2.0 rev 1.1, section 41](https://www.intel.com/content/www/us/en/servers/ipmi/ipmi-second-gen-interface-spec-v2-rev1-1.html)
 
-#### Requirements
+## Requirements
 
 Currently, the OpenBMC project does not support ECC event logs in D-Bus because
 there is no relevant ECC information in the OpenBMC D-Bus architecture. The new
@@ -36,7 +36,7 @@
 driver. And make sure the EDAC driver must be loaded and ECC/other correctable
 or ECC/other uncorrectable counts need to be obtained from the EDAC driver.
 
-#### Proposed Design
+## Proposed Design
 
 ECC-enabled memory controllers can detect and correct errors in operating
 systems (such as certain versions of Linux, macOS, and Windows) that allow
@@ -68,7 +68,7 @@
 (default:100) is saved in the configuration file, and the user can modify the
 value if necessary.
 
-##### phosphor-ecc.service
+### phosphor-ecc.service
 
 This will always run the application and look up the ECC error count every
 second after service is started. On first start, it resets all correctable ECC
@@ -89,7 +89,7 @@
 `ueCount` and `isLoggingLimitReached` will be created which generated the error
 type for the ECC logs.
 
-##### Create the ECC SEL
+### Create the ECC SEL
 
 Use the `phosphor-sel-logger` package to record the following logs in BMC SEL
 format.
@@ -101,19 +101,19 @@
 - logging limit reached log : When the correctable ECC log reaches the
   `maximum quantity`.
 
-#### Alternatives Considered
+## Alternatives Considered
 
 Another consideration is that there is no stopping the recording of the ECC
 logging mechanism. When the checks `ce_count` and value exceeds the previous
 value, it will record the ECC log. But this will encounter a lot of ECC logs,
 and BMC memory will also be occupied.
 
-#### Impacts
+## Impacts
 
 This application implementation only needs to make some changes when creating
 the event log, so it has minimal impact on the rest of the system.
 
-#### Testing
+## Testing
 
 Depending on the platform hardware design, this test requires an ECC driver to
 make fake ECC errors and then check the scenario is good.
diff --git a/designs/entity-manager-hw-id-vpd-discover-via-device-tree.md b/designs/entity-manager-hw-id-vpd-discover-via-device-tree.md
index 8e61021..ef8544b 100644
--- a/designs/entity-manager-hw-id-vpd-discover-via-device-tree.md
+++ b/designs/entity-manager-hw-id-vpd-discover-via-device-tree.md
@@ -65,8 +65,8 @@
 element via third party driver. From here, the data blob is copied to a
 predetermined location in RAM, where it is retrieved and parsed by HPE-specific
 code in u-Boot (open-sourced, and available at
-https://github.com/HewlettPackard/gxp-uboot). In the future, we'll be aiming to
-upstream as much 'HPE-critical' u-boot code as needed so that an HPE-specific
+<https://github.com/HewlettPackard/gxp-uboot>). In the future, we'll be aiming
+to upstream as much 'HPE-critical' u-boot code as needed so that an HPE-specific
 u-boot fork will not be needed to boot HPE hardware.
 
 Additionally, code in u-Boot gathers MAC addresses for the BMC's network
@@ -145,23 +145,23 @@
 
 ## Alternatives Considered
 
-### Entity-Manager probes are extended to handle reading data from arbitrary<br/>device-tree nodes
+### Entity-Manager probes are extended to handle reading data from arbitrary device-tree nodes
 
-#### Pros:
+#### Pros
 
 1. No new daemon required
 
-#### Cons:
+#### Cons
 
 1. May encourage undesired device-tree exploitation
 
-### A reserved-memory node in device-tree is used for transport of<br/>'serial-number' and 'model' ID data
+### A reserved-memory node in device-tree is used for transport of 'serial-number' and 'model' ID data
 
-#### Pros:
+#### Pros
 
 1. Reserved-memory is commonly used for passing data from firmware
 
-#### Cons:
+#### Cons
 
 1. Has no well-known handles for common properties like /model or /serial-number
    like device-tree does; makes more sense for keeping arbitrary data instead of
@@ -178,7 +178,7 @@
 
 ### All VPD is exposed as devicetree attributes under /chosen/
 
-#### Pros:
+#### Pros
 
 1. Is a well-established device-tree node
 2. Is not being used by other BMC platforms, so easy to enable/disable service
@@ -186,7 +186,7 @@
 3. Values can be set from u-Boot via modifications to the flattened device tree
    available to it (applicable to arbitrary device-tree paths)
 
-#### Cons:
+#### Cons
 
 1. Not a 'usual' location for passing this kind HW-tied data. Unlikely to ever
    be used for moving product data by other entities, so such a daemon would be
@@ -194,39 +194,39 @@
 2. Presenting HW-specific data here appears to go against the intended use of
    'chosen' node
 
-### Vital product data is published to u-Boot environment variables, then<br/>transferred to D-Bus
+### Vital product data is published to u-Boot environment variables, then transferred to D-Bus
 
-#### Pros:
+#### Pros
 
 1. Would increase code reuse and testing
 
-#### Cons:
+#### Cons
 
 1. Potential issues with limited writes to memory where u-boot env variables are
    stored in memory.
 2. HPE component that retrieves VPD from HPE's secure element has no
    knowledge/ability to alter u-boot environmental variables
 
-### Use an HPE-specific daemon instead of a generalized'[channel]-> D-Bus'<br/>daemon
+### Use an HPE-specific daemon instead of a generalized'[channel]-> D-Bus' daemon
 
-#### Pros:
+#### Pros
 
 1. Simpler (slightly?) code
 2. Would only fire for HPE platforms
 3. Better abstraction
 
-#### Cons:
+#### Cons
 
 1. Doesn't save much effort compared to a generalized non-HPE-specific solution
 2. Harder to leverage code for potential future cases
 
 ### Service is hosted in Entity-Manager [ACCEPTED after TOF re-examination]
 
-#### Pros:
+#### Pros
 
 1. Would operate in parallel to existing Fru_Device daemon
 
-#### Cons:
+#### Cons
 
 1. Community doesn't want to host VPD -> DBus daemons in Entity-Manager repo
 
@@ -235,25 +235,25 @@
 the existing fru-device daemon rather than to create a dedicated repo for a
 daemon as simple as this one, or to force into another even less-related repo.
 
-https://github.com/openbmc/technical-oversight-forum/issues/38
+<https://github.com/openbmc/technical-oversight-forum/issues/38>
 
 ### Service is hosted in Phosphor-u-boot-env-mgr
 
-#### Pros:
+#### Pros
 
 1. Repo is already associated with u-boot operations
 
-#### Cons:
+#### Cons
 
 1. Current repo maintainer feels the service doesn't fit this repo because the
    purpose is explicitly to deal with manipulation of u-boot env variables,
    which this service is not involved with.
 
-   https://gerrit.openbmc.org/c/openbmc/phosphor-u-boot-env-mgr/+/71512
+   <https://gerrit.openbmc.org/c/openbmc/phosphor-u-boot-env-mgr/+/71512>
 
-### Addendum: Rejected D-Bus interfaces for pending device-tree -> D-Bus<br/>daemon
+### Addendum: Rejected D-Bus interfaces for pending device-tree -> D-Bus daemon
 
-#### Existing interfaces (rejected):
+#### Existing interfaces (rejected)
 
 1. Proposal: xyz.openbmc_project.Decorator.\*
 
@@ -268,7 +268,7 @@
    property).
 
    Discussion @
-   https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/73260/comment/e0226ae4_d7e514dd/
+   <https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/73260/comment/e0226ae4_d7e514dd/>
 
    Follow-up 2: Sticking with Inventory.Decorator.Asset, but removing MAC
    address properties to reduce unneeded complexity.
@@ -277,7 +277,7 @@
 
    Rejection: The data is not coming from a FRU device
 
-#### Proposed interfaces (rejected):
+#### Proposed interfaces (rejected)
 
 1. Proposal: xyz.openbmc_project.DeviceTree
 2. Proposal: xyz.openbmc_project.uBootHWID
@@ -319,7 +319,7 @@
    MACAddress.." - Patrick Williams
 
    Discussion @
-   https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/73260/comment/e0226ae4_d7e514dd/
+   <https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/73260/comment/e0226ae4_d7e514dd/>
 
    Follow-up: Landed on interface: xyz.openbmc_project.Inventory.Decorator.Asset
    @ path xyz/openbmc_project/MachineContext
@@ -334,7 +334,7 @@
 to be no noticeable performance or functional impact to platforms that don't
 rely on this service for Entity-Manager HW/config detection.
 
-## Organizational:
+## Organizational
 
 ### Does this design require a new repository?
 
diff --git a/designs/error-log-handling-for-phal.md b/designs/error-log-handling-for-phal.md
index 32c7000..8441103 100644
--- a/designs/error-log-handling-for-phal.md
+++ b/designs/error-log-handling-for-phal.md
@@ -1,6 +1,6 @@
 # Error handling for power Hardware Abstraction Layer (pHAL)
 
-Author: Devender Rao <devenrao@in.ibm.com> <devenrao>
+Author: Devender Rao <devenrao@in.ibm.com> `devenrao`
 
 Other contributors: None
 
diff --git a/designs/estoraged.md b/designs/estoraged.md
index fe95982..b4326d5 100644
--- a/designs/estoraged.md
+++ b/designs/estoraged.md
@@ -1,9 +1,12 @@
 # eStoraged Design - Encrypted Secondary Storage Management Daemon
 
-Author: John Wedig (johnwedig@google.com)
+Author: John Wedig <johnwedig@google.com>
 
-Other contributors: John Broadbent (jebr@google.com) Benjamin Fair
-(benjaminfair@google.com) Nancy Yuenn (yuenn@google.com)
+Other contributors:
+
+- John Broadbent <jebr@google.com>
+- Benjamin Fair <benjaminfair@google.com>
+- Nancy Yuenn <yuenn@google.com>
 
 Created: September 2, 2021
 
diff --git a/designs/event-logging.md b/designs/event-logging.md
index 7c15526..a54d7e4 100644
--- a/designs/event-logging.md
+++ b/designs/event-logging.md
@@ -86,7 +86,7 @@
 logging messages into any application that wants to record these events, tightly
 coupling all applications to the Redfish implementation. It has also been
 observed that these [strings][app-example], when used, are often out of date
-with the [message registry][registry-example] advertised by `bmcweb`. Some
+with the [message registry][obmc-registry-example] advertised by `bmcweb`. Some
 maintainers have rejected adding new Redfish-specific logging messages to their
 applications.
 
@@ -102,7 +102,7 @@
   https://github.com/openbmc/docs/blob/master/architecture/redfish-logging-in-bmcweb.md
 [app-example]:
   https://github.com/openbmc/phosphor-post-code-manager/blob/f2da78deb3a105c7270f74d9d747c77f0feaae2c/src/post_code.cpp#L143
-[registry-example]:
+[obmc-registry-example]:
   https://github.com/openbmc/bmcweb/blob/4ba5be51e3fcbeed49a6a312b4e6b2f1ea7447ba/redfish-core/include/registries/openbmc.json#L5
 
 ### Existing phosphor-logging implementation
diff --git a/designs/expired-password.md b/designs/expired-password.md
index a2c5dc8..4e07166 100644
--- a/designs/expired-password.md
+++ b/designs/expired-password.md
@@ -1,6 +1,6 @@
 # Initial expired passwords
 
-Author: Joseph Reynolds <josephreynolds1>
+Author: Joseph Reynolds `josephreynolds1`
 
 Other contributors: None
 
@@ -49,14 +49,14 @@
 
 The meaning of the term "access" varies by context. It could mean:
 
-1.  Access to the BMC's network interfaces.
-2.  Access to the BMC's authentication mechanisms together with correct
-    credentials, whether or not those credentials have expired and must be
-    changed.
-3.  Access to the BMC's function via an authenticated interface, for example,
-    such as establishing a session after you've changed your initial password.
-4.  Access to the BMC's function via an unauthenticated interface such as host
-    IPMI or physical control panel (example: power button).
+1. Access to the BMC's network interfaces.
+2. Access to the BMC's authentication mechanisms together with correct
+   credentials, whether or not those credentials have expired and must be
+   changed.
+3. Access to the BMC's function via an authenticated interface, for example,
+   such as establishing a session after you've changed your initial password.
+4. Access to the BMC's function via an unauthenticated interface such as host
+   IPMI or physical control panel (example: power button).
 
 This design uses meanings 3 and 4 except where indicated.
 
@@ -112,8 +112,8 @@
    correct userid and incorrect password, or with an incorrect userid, the
    behavior must not change. Note the `/login` URI is deprecated.
 
-   The '/redfish/v1/SessionService/Sessions/<session>' and
-   '/redfish/v1/AccountService/Accounts/<account>' resources are enhanced to
+   The `/redfish/v1/SessionService/Sessions/<session>` and
+   `/redfish/v1/AccountService/Accounts/<account>` resources are enhanced to
    indicate PasswordChangeRequired per the Redfish spec.
 
    The `ipmitool` command treats an expired password the same as an invalid
@@ -142,12 +142,12 @@
 ConfigureSelf privilege which allows it to only change the password and
 terminate the session. The usage pattern is:
 
-1.  Create a session.
-2.  If the PasswordChangeRequired message is present:
-    1.  PATCH the new password into the ManagerAccount object.
-    2.  Any other use of the session will get HTTP status code 403 Forbidden.
-    3.  DELETE the Session object to terminate the session.
-    4.  Create a new session and continue.
+1. Create a session.
+2. If the PasswordChangeRequired message is present:
+   1. PATCH the new password into the ManagerAccount object.
+   2. Any other use of the session will get HTTP status code 403 Forbidden.
+   3. DELETE the Session object to terminate the session.
+   4. Create a new session and continue.
 
 This design is intended to cover any cause of expired password, including both
 the BMC's initial expired password and password expired for another cause such
diff --git a/designs/external-sensor.md b/designs/external-sensor.md
index bc2ffe3..feedab2 100644
--- a/designs/external-sensor.md
+++ b/designs/external-sensor.md
@@ -1,6 +1,6 @@
 # ExternalSensor in dbus-sensors
 
-Author: Josh Lehan[^1]
+Author: Josh Lehan[1]
 
 Other contributors: Ed Tanous, Peter Lundgren, Alex Qiu
 
@@ -8,7 +8,7 @@
 
 ## Introduction
 
-In OpenBMC, the _dbus-sensors_[^2] package contains a suite of sensor daemons.
+In OpenBMC, the _dbus-sensors_[2] package contains a suite of sensor daemons.
 Each daemon monitors a particular type of sensor. This document provides
 rationale and motivation for adding _ExternalSensor_, another sensor daemon, and
 gives some example usages of it.
@@ -25,15 +25,15 @@
 
 - Essentially all of the existing sensor daemons obtain the sensor values they
   publish to D-Bus by reading from local hardware (typically by reading from
-  virtual files provided by the _hwmon_[^3] subsystem of the Linux kernel). None
+  virtual files provided by the _hwmon_[3] subsystem of the Linux kernel). None
   of the daemons are currently designed with the intention of accepting values
   pushed in from an external source. Although there is some debugging
-  functionality to add this feature to other sensor daemons[^25], it is not the
+  functionality to add this feature to other sensor daemons[25], it is not the
   primary purpose for which they were designed.
 
 - Even if the debugging functionality of an existing daemon were to be used, the
   daemon would still need a valid configuration tied to recognized hardware, as
-  detected by _entity-manager_[^4], in order for the daemon to properly
+  detected by _entity-manager_[4], in order for the daemon to properly
   initialize itself and participate in the OpenBMC software stack.
 
 - For the same reason it is desirable for existing sensor daemons to detect and
@@ -43,30 +43,29 @@
   into the architecture of any existing sensor daemon, thus a new daemon is the
   correct choice for this behavior.
 
-For these reasons, _ExternalSensor_ has been added[^5], as the eleventh sensor
+For these reasons, _ExternalSensor_ has been added[5], as the eleventh sensor
 daemon in _dbus-sensors_.
 
 ## Design
 
-After some discussion, a proof-of-concept _HostSensor_[^6] was published. This
+After some discussion, a proof-of-concept _HostSensor_[6] was published. This
 was a stub, but it revealed the minimal implementation that would still be
 capable of fully initializing and participating in the OpenBMC software stack.
 _ExternalSensor_ was formed by using this example _HostSensor_, and also one of
-the simplest existing sensor daemons, _HwmonTempSensor_[^7], as references to
+the simplest existing sensor daemons, _HwmonTempSensor_[7], as references to
 build upon.
 
 As written, after validating parameters during initialization, there is
 essentially no work for _ExternalSensor_ to do. The main loop is mostly idle,
-remaining blocked in the Boost ASIO[^8] library, handling D-Bus requests as they
-come in. This utilizes the functionality in the underlying _Sensor_[^9] class,
+remaining blocked in the Boost ASIO[8] library, handling D-Bus requests as they
+come in. This utilizes the functionality in the underlying _Sensor_[9] class,
 which already contains the D-Bus hooks necessary to receive values from the
 external source.
 
-An example external source is the IPMI service[^10], receiving values from the
-host via the IPMI "Set Sensor Reading" command[^11]. _ExternalSensor_ is
-intended to be source-agnostic, so it does not matter if this is IPMI or
-Redfish[^12] or something else in the future, as long as they are received
-similarly over D-Bus.
+An example external source is the IPMI service[10], receiving values from the
+host via the IPMI "Set Sensor Reading" command[11]. _ExternalSensor_ is intended
+to be source-agnostic, so it does not matter if this is IPMI or Redfish[12] or
+something else in the future, as long as they are received similarly over D-Bus.
 
 ### Timeout
 
@@ -76,11 +75,11 @@
 will be properly published onto D-Bus, in the usual way done by all sensor
 daemons, as a floating-point value.
 
-A timer is used, the same Boost ASIO[^13] timer mechanism used by other sensor
+A timer is used, the same Boost ASIO[13] timer mechanism used by other sensor
 daemons to poll their hardware, but in this case, is used to manage how long it
 has been since the last known good external update. When the timer expires, the
 sensor value will be deemed stale, and will be replaced with floating-point
-quiet _NaN_[^14].
+quiet _NaN_[14].
 
 ### NaN
 
@@ -93,13 +92,13 @@
 possibility of confusion that this will be mistaken for a valid sensor value, as
 _NaN_ is literally _not a number_, and thus can not be misparsed as a valid
 sensor reading. It thus saves having to add a second field to reliably indicate
-validity, which would break the existing schema[^15].
+validity, which would break the existing schema[15].
 
 An alternative to using _NaN_ for staleness indication would have been to use a
 timestamp, which would introduce the complication of having to parse and compare
-timestamps within OpenBMC, and all the subtle difficulties thereof[^16]. What's
+timestamps within OpenBMC, and all the subtle difficulties thereof[16]. What's
 more, adding a second field might require a second D-Bus message to update, and
-D-Bus messages are computationally expensive[^17] and should be used sparingly.
+D-Bus messages are computationally expensive[17] and should be used sparingly.
 Periodic things like sensors, which send out regular updates, could easily lead
 to frequent D-Bus traffic and thus should be kept as minimal as practical. And
 finally, changing the Value schema would cause a large blast radius, both in
@@ -109,7 +108,7 @@
 ### Configuration
 
 Configuring a sensor for use with _ExternalSensor_ should be done in the usual
-way[^18] that is done for use with other sensor daemons, namely, a JSON
+way[18] that is done for use with other sensor daemons, namely, a JSON
 dictionary that is an element of the "Exposes" array within a JSON configuration
 file to be read by _entity-manager_. In that JSON dictionary, the valid names
 are listed below. All of these are mandatory parameters, unless mentioned as
@@ -123,7 +122,7 @@
 - "Units": String. This parameter is unique to _ExternalSensor_. As
   _ExternalSensor_ is not tied to any particular physical hardware, it can
   measure any physical quantity supported by OpenBMC. This string will be
-  translated to another string via a lookup table[^19], and forms another
+  translated to another string via a lookup table[19], and forms another
   mandatory component of the D-Bus object path.
 
 - "MinValue": Numeric. The minimum valid value for this sensor. Although not
@@ -160,15 +159,15 @@
 Here is an example. The sensor created by this stanza will form this object
 path: /xyz/openbmc_project/sensors/temperature/HostDevTemp
 
-```
-        {
-            "Name": "HostDevTemp",
-            "Units": "DegreesC",
-            "MinValue": -16.0,
-            "MaxValue": 111.5,
-            "Timeout": 4.0,
-            "Type": "ExternalSensor"
-        },
+```json
+{
+  "Name": "HostDevTemp",
+  "Units": "DegreesC",
+  "MinValue": -16.0,
+  "MaxValue": 111.5,
+  "Timeout": 4.0,
+  "Type": "ExternalSensor"
+}
 ```
 
 There can be multiple _ExternalSensor_ sensors in the configuration. There is no
@@ -177,15 +176,15 @@
 
 ## Implementation
 
-As it stands now, _ExternalSensor_ is up and running[^20]. However, the timeout
+As it stands now, _ExternalSensor_ is up and running[20]. However, the timeout
 feature was originally implemented at the IPMI layer. Upon further
 investigation, it was found that IPMI was the wrong place for this feature, and
-that it should be moved within _ExternalSensor_ itself[^21]. It was originally
+that it should be moved within _ExternalSensor_ itself[21]. It was originally
 thought that the timeout feature would be a useful enhancement available to all
 IPMI sensors, however, expected usage of almost all external sensor updates is a
 one-shot adjustment (for example, somebody wishes to change a voltage regulator
 setting, or fan speed setting). In this case, the timeout feature would not only
-not be necessary, it would get in the way and require additional coding[^22] to
+not be necessary, it would get in the way and require additional coding[22] to
 compensate for the unexpected _NaN_ value. Only sensors intended for use with
 _ExternalSensor_ are expected to receive continuous periodic updates from an
 external source, so it makes sense to move this timeout feature into
@@ -194,75 +193,51 @@
 
 A challenge of generalizing the timeout feature into _ExternalSensor_, however,
 was that the existing _Sensor_ base class did not currently allow its existing
-D-Bus setter hook to be customized. This feature was straightforward to
-add[^23]. One limitation was that the existing _Sensor_ class, by design,
-dropped updates that duplicated the existing sensor value. For use with
-_ExternalSensor_, we want to recognize all updates received, even duplicates, as
-they are important to pet the watchdog, to avoid inadvertently triggering the
-timeout feature. However, it is still important to avoid needlessly sending the
-D-Bus _PropertiesChanged_ event for duplicate readings.
+D-Bus setter hook to be customized. This feature was straightforward to add[23].
+One limitation was that the existing _Sensor_ class, by design, dropped updates
+that duplicated the existing sensor value. For use with _ExternalSensor_, we
+want to recognize all updates received, even duplicates, as they are important
+to pet the watchdog, to avoid inadvertently triggering the timeout feature.
+However, it is still important to avoid needlessly sending the D-Bus
+_PropertiesChanged_ event for duplicate readings.
 
 The timeout value was originally a compiled-in constant. If _ExternalSensor_ is
 to succeed as a general-purpose tool, this must be configurable. It was
-straightforward to add another configurable parameter[^24] to accept this
-timeout value, as shown in "Parameters" above.
+straightforward to add another configurable parameter[24] to accept this timeout
+value, as shown in "Parameters" above.
 
 The hardest task of all, however, was getting it accepted upstream. If you are
 reading this, then most likely, it was successful!
 
 ## Footnotes
 
-[^1]: https://gerrit.openbmc.org/q/owner:krellan%2540google.com
-
-[^2]: https://github.com/openbmc/dbus-sensors/blob/master/README.md
-
-[^3]: https://www.kernel.org/doc/html/latest/hwmon/index.html
-
-[^4]: https://github.com/openbmc/entity-manager/blob/master/README.md
-
-[^5]: https://gerrit.openbmc.org/c/openbmc/dbus-sensors/+/36206
-
-[^6]: https://gerrit.openbmc.org/c/openbmc/dbus-sensors/+/35476
-
-[^7]: https://github.com/openbmc/dbus-sensors/blob/master/src/HwmonTempMain.cpp
-
-[^8]: https://think-async.com/Asio/
-
-[^9]: https://github.com/openbmc/dbus-sensors/blob/master/include/sensor.hpp
-
-[^10]:
-    https://github.com/openbmc/docs/blob/master/architecture/ipmi-architecture.md
-
-[^11]:
-    https://www.intel.com/content/www/us/en/servers/ipmi/ipmi-intelligent-platform-mgt-interface-spec-2nd-gen-v2-0-spec-update.html
-
-[^12]: https://www.dmtf.org/standards/redfish
-
-[^13]:
-    https://www.boost.org/doc/libs/1_75_0/doc/html/boost_asio/overview/timers.html
-
-[^14]: https://anniecherkaev.com/the-secret-life-of-nan
-
-[^15]:
-    https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/yaml/xyz/openbmc_project/Sensor/Value.interface.yaml
-
-[^16]: https://cr.yp.to/proto/utctai.html
-
-[^17]: https://github.com/openbmc/openbmc/issues/1892
-
-[^18]:
-    https://github.com/openbmc/entity-manager/blob/master/docs/my_first_sensors.md
-
-[^19]: https://github.com/openbmc/dbus-sensors/blob/master/src/SensorPaths.cpp
-
-[^20]: https://gerrit.openbmc.org/c/openbmc/dbus-sensors/+/36206
-
-[^21]: https://gerrit.openbmc.org/c/openbmc/dbus-sensors/+/41398
-
-[^22]: https://gerrit.openbmc.org/c/openbmc/dbus-sensors/+/39294
-
-[^23]: https://gerrit.openbmc.org/c/openbmc/dbus-sensors/+/41394
-
-[^24]: https://gerrit.openbmc.org/c/openbmc/entity-manager/+/41397
-
-[^25]: https://gerrit.openbmc.org/c/openbmc/dbus-sensors/+/16177
+[1]: https://gerrit.openbmc.org/q/owner:krellan%2540google.com
+[2]: https://github.com/openbmc/dbus-sensors/blob/master/README.md
+[3]: https://www.kernel.org/doc/html/latest/hwmon/index.html
+[4]: https://github.com/openbmc/entity-manager/blob/master/README.md
+[5]: https://gerrit.openbmc.org/c/openbmc/dbus-sensors/+/36206
+[6]: https://gerrit.openbmc.org/c/openbmc/dbus-sensors/+/35476
+[7]: https://github.com/openbmc/dbus-sensors/blob/master/src/HwmonTempMain.cpp
+[8]: https://think-async.com/Asio/
+[9]: https://github.com/openbmc/dbus-sensors/blob/master/include/sensor.hpp
+[10]:
+  https://github.com/openbmc/docs/blob/master/architecture/ipmi-architecture.md
+[11]:
+  https://www.intel.com/content/www/us/en/servers/ipmi/ipmi-intelligent-platform-mgt-interface-spec-2nd-gen-v2-0-spec-update.html
+[12]: https://www.dmtf.org/standards/redfish
+[13]:
+  https://www.boost.org/doc/libs/1_75_0/doc/html/boost_asio/overview/timers.html
+[14]: https://anniecherkaev.com/the-secret-life-of-nan
+[15]:
+  https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/yaml/xyz/openbmc_project/Sensor/Value.interface.yaml
+[16]: https://cr.yp.to/proto/utctai.html
+[17]: https://github.com/openbmc/openbmc/issues/1892
+[18]:
+  https://github.com/openbmc/entity-manager/blob/master/docs/my_first_sensors.md
+[19]: https://github.com/openbmc/dbus-sensors/blob/master/src/SensorPaths.cpp
+[20]: https://gerrit.openbmc.org/c/openbmc/dbus-sensors/+/36206
+[21]: https://gerrit.openbmc.org/c/openbmc/dbus-sensors/+/41398
+[22]: https://gerrit.openbmc.org/c/openbmc/dbus-sensors/+/39294
+[23]: https://gerrit.openbmc.org/c/openbmc/dbus-sensors/+/41394
+[24]: https://gerrit.openbmc.org/c/openbmc/entity-manager/+/41397
+[25]: https://gerrit.openbmc.org/c/openbmc/dbus-sensors/+/16177
diff --git a/designs/fail-boot-on-hw-error.md b/designs/fail-boot-on-hw-error.md
index db66677..bacd3bc 100644
--- a/designs/fail-boot-on-hw-error.md
+++ b/designs/fail-boot-on-hw-error.md
@@ -46,7 +46,7 @@
   - The halt must only stop the chassis/host instance that encountered the error
   - The halt must allow the host firmware the opportunity to gracefully shut
     itself down
-  - The halt must stop the host (run obmc-host-stop@X.target) associated with
+  - The halt must stop the host (run `obmc-host-stop@X.target`) associated with
     the error and attempt to leave system in the fail state (i.e. chassis power
     remains on if it is on)
   - The chassis/host instance pair will not be allowed to power on until the log
diff --git a/designs/firmware-update-via-blobs.md b/designs/firmware-update-via-blobs.md
index f786452..f2f91a9 100644
--- a/designs/firmware-update-via-blobs.md
+++ b/designs/firmware-update-via-blobs.md
@@ -21,16 +21,16 @@
 In-band here refers to a communications channel that is directly connected
 between the host and BMC.
 
-1.  Serial
-1.  IPMI over LPC
-1.  IPMI over i2c
-1.  LPC Memory-Mapped Region
-1.  P2A bridge
+1. Serial
+1. IPMI over LPC
+1. IPMI over i2c
+1. LPC Memory-Mapped Region
+1. P2A bridge
 
 ## Primer
 
-Please read the IPMI BLOB protocol design as primer
-[here](https://github.com/openbmc/phosphor-ipmi-blobs/blob/master/README.md).
+Please read the IPMI BLOB protocol design as
+[primer](https://github.com/openbmc/phosphor-ipmi-blobs/blob/master/README.md).
 
 ## Requirements
 
@@ -186,60 +186,60 @@
 
 #### BlockTransfer Sequence
 
-1.  Open (for Image or tarball)
-1.  Write
-1.  Close
-1.  Open (`/flash/hash`)
-1.  Write
-1.  Close
-1.  Open (`/flash/verify`)
-1.  Commit
-1.  SessionStat (to read back verification status)
-1.  Close
-1.  Open (`/flash/update`)
-1.  Commit
-1.  SessionStat (to read back update status)
-1.  Close
+1. Open (for Image or tarball)
+1. Write
+1. Close
+1. Open (`/flash/hash`)
+1. Write
+1. Close
+1. Open (`/flash/verify`)
+1. Commit
+1. SessionStat (to read back verification status)
+1. Close
+1. Open (`/flash/update`)
+1. Commit
+1. SessionStat (to read back update status)
+1. Close
 
 #### P2A Sequence
 
-1.  Open (for Image or tarball)
-1.  SessionStat (P2A Region for P2A mapping)
-1.  Write
-1.  Close
-1.  Open (`/flash/hash`)
-1.  SessionStat (P2A Region)
-1.  Write
-1.  Close
-1.  Open (`/flash/verify`)
-1.  Commit
-1.  SessionStat (to read back verification status)
-1.  Close
-1.  Open (`/flash/update`)
-1.  Commit
-1.  SessionStat (to read back update status)
-1.  Close
+1. Open (for Image or tarball)
+1. SessionStat (P2A Region for P2A mapping)
+1. Write
+1. Close
+1. Open (`/flash/hash`)
+1. SessionStat (P2A Region)
+1. Write
+1. Close
+1. Open (`/flash/verify`)
+1. Commit
+1. SessionStat (to read back verification status)
+1. Close
+1. Open (`/flash/update`)
+1. Commit
+1. SessionStat (to read back update status)
+1. Close
 
 #### LPC Sequence
 
-1.  Open (for image or tarball)
-1.  WriteMeta (specify region information from host for LPC)
-1.  SessionStat (verify the contents from the above)
-1.  Write
-1.  Close
-1.  Open (`/flash/hash`)
-1.  WriteMeta (LPC Region)
-1.  SessionStat (verify LPC config)
-1.  Write
-1.  Close
-1.  Open (`/flash/verify`)
-1.  Commit
-1.  SessionStat (to read back verification status)
-1.  Close
-1.  Open (`/flash/update`)
-1.  Commit
-1.  SessionStat (to read back update status)
-1.  Close
+1. Open (for image or tarball)
+1. WriteMeta (specify region information from host for LPC)
+1. SessionStat (verify the contents from the above)
+1. Write
+1. Close
+1. Open (`/flash/hash`)
+1. WriteMeta (LPC Region)
+1. SessionStat (verify LPC config)
+1. Write
+1. Close
+1. Open (`/flash/verify`)
+1. Commit
+1. SessionStat (to read back verification status)
+1. Close
+1. Open (`/flash/update`)
+1. Commit
+1. SessionStat (to read back update status)
+1. Close
 
 ### Stale Images
 
@@ -265,7 +265,7 @@
 used for specifying the transport mechanism. To obtain the list of supported
 mechanisms on a platform, see the `Stat` command below.
 
-```
+```cpp
 enum OpenFlags
 {
     read = (1 << 0),
@@ -314,7 +314,7 @@
 
 The data section of the payload is the following structure:
 
-```
+```cpp
 struct ExtChunkHdr
 {
     uint32_t length; /* Length of the data queued (little endian). */
@@ -325,7 +325,7 @@
 
 The data section of the payload is the following structure:
 
-```
+```cpp
 struct ExtChunkHdr
 {
     uint32_t length; /* Length of the data queued (little endian). */
@@ -371,8 +371,8 @@
 
 Aborts any update that's in progress:
 
-1.  Stops the verify_image.service if started.
-1.  Deletes any staged files.
+1. Stops the verify_image.service if started.
+1. Deletes any staged files.
 
 In the event the update is already in progress, such as the tarball mechanism is
 used and in the middle of updating the files, it cannot be aborted.
@@ -382,7 +382,7 @@
 Blob stat on a blob_id (not SessionStat) will return the capabilities of the
 blob_id handler.
 
-```
+```cpp
 struct BmcBlobStatRx {
     uint16_t crc16;
     /* This will have the bits set from the FirmwareUpdateFlags enum. */
@@ -396,7 +396,7 @@
 
 If called pre-commit, it'll return the following information:
 
-```
+```cpp
 struct BmcBlobStatRx {
     uint16_t crc16;
     uint16_t blob_state; /* OpenFlags::write | (one of the interfaces) */
@@ -409,7 +409,7 @@
 address for use to configure the P2A region as part of the metadata portion of
 the `BmcBlobStatRx`.
 
-```
+```cpp
 struct BmcBlobStatRx {
     uint16_t crc16;
     uint16_t blob_state; /* OpenFlags::write | (one of the interfaces) */
@@ -423,7 +423,7 @@
 
 If called post-commit on the verify file session, it'll return:
 
-```
+```cpp
 struct BmcBlobStatRx {
     uint16_t crc16;
     uint16_t blob_state; /* OPEN_W | (one of the interfaces) */
@@ -443,7 +443,7 @@
 
 If called post-commit on the update file session, it'll return:
 
-```
+```cpp
 struct BmcBlobStatRx {
     uint16_t crc16;
     uint16_t blob_state; /* OPEN_W | (one of the interfaces) */
@@ -473,7 +473,7 @@
 
 The write meta command's blob will be this structure:
 
-```
+```cpp
 struct LpcRegion
 {
     uint32_t address; /* Host LPC address where the chunk is to be mapped. */
diff --git a/designs/firmware-update-via-usb.md b/designs/firmware-update-via-usb.md
index a25bbd0..efe6885 100644
--- a/designs/firmware-update-via-usb.md
+++ b/designs/firmware-update-via-usb.md
@@ -56,7 +56,7 @@
 
 The udev rules files for example:
 
-```
+```udev
 SUBSYSTEM=="block", ACTION=="add", ENV{ID_USB_DRIVER}=="usb-storage", ENV{DEVTYPE}=="partition", ENV{SYSTEMD_WANTS}="usb-code-update@%k", TAG+="systemd"
 ```
 
diff --git a/designs/gpio-based-cable-presence.md b/designs/gpio-based-cable-presence.md
index 8763a5f..937a7bb 100644
--- a/designs/gpio-based-cable-presence.md
+++ b/designs/gpio-based-cable-presence.md
@@ -1,6 +1,6 @@
-## GPIO-based Cable Presence Detection
+# GPIO-based Cable Presence Detection
 
-Author: Chu Lin (linchuyuan@google.com)
+Author: Chu Lin <linchuyuan@google.com>
 
 Created: 2021-07-29
 
@@ -15,8 +15,8 @@
 
 ## Background and References
 
-1. https://www.intel.com/content/www/us/en/products/docs/servers/ipmi/ipmi-second-gen-interface-spec-v2-rev1-1.html
-2. https://www.dmtf.org/sites/default/files/Redfish_Cable_Management_Proposal_WIP_04-2021.pdf
+1. <https://www.intel.com/content/www/us/en/products/docs/servers/ipmi/ipmi-second-gen-interface-spec-v2-rev1-1.html>
+2. <https://www.dmtf.org/sites/default/files/Redfish_Cable_Management_Proposal_WIP_04-2021.pdf>
 
 ## Requirements
 
@@ -31,7 +31,7 @@
 runtime configuration will be provIDed by EntityManager during startup. A
 proposed config file looks like the following:
 
-```
+```json
 {
   "Exposes": [
     {
@@ -39,18 +39,14 @@
       "GpioLine": "osfp0",
       "Polarity": "active_low",
       "Type": "GPIOCableSensing",
-      "FaultLedGroup": [
-        "attention"
-      ]
+      "FaultLedGroup": ["attention"]
     },
     {
       "Name": "cable1",
       "GpioLine": "osfp1",
       "Polarity": "active_high",
       "Type": "GPIOCableSensing",
-      "FaultLedGroup": [
-        "attention"
-      ]
+      "FaultLedGroup": ["attention"]
     }
   ]
 }
@@ -69,7 +65,7 @@
 On the IPMI sIDe, the presence states will be grouped into fewer SDR IDs in
 order to save SDR IDs for ipmi. Given the following example,
 
-```
+```text
 └─/xyz
   └─/xyz/openbmc_project
     └─/xyz/openbmc_project/inventory
@@ -91,7 +87,7 @@
 cable0-13. One is cable[14-19]. If the object path is not indexed by the user,
 it will take one SDR ID.
 
-```
+```text
 ipmitool sdr list event
 # /xyz/openbmc_project/inventory/item/cdfp0 to
 # /xyz/openbmc_project/inventory/item/cdfp3
@@ -106,7 +102,7 @@
 try to group it with anything and use 1 SDR ID for its presence state. See the
 following for an example output.
 
-```
+```text
 ipmitool sdr list event
 cdfp[0-3]        | Event-Only        | ns
 # /xyz/openbmc_project/inventory/item/osfp
@@ -140,7 +136,7 @@
 - Instead of having a sleep-poll mechanism, it is better to have a event
   listener on the gpio signals. However, the gpio_event_wait api requires all
   the lines to come from the same chip. See
-  https://github.com/brgl/libgpiod/blob/cc23ef61f66d5a9055b0e9fbdcfe6744c8a637ae/lib/core.c#L993
+  <https://github.com/brgl/libgpiod/blob/cc23ef61f66d5a9055b0e9fbdcfe6744c8a637ae/lib/core.c#L993>
   We could spawn threads to listen to each chips but I don't think we should
   increase the complexity of such a simple daemon.
 
diff --git a/designs/guard-on-bmc.md b/designs/guard-on-bmc.md
index 09cd29f..c144cf6 100644
--- a/designs/guard-on-bmc.md
+++ b/designs/guard-on-bmc.md
@@ -150,7 +150,7 @@
 
 #### redfish » v1 » Systems » system » Processors » CPU1
 
-```
+```json
 {
   "@odata.type": "#Processor.v1_7_0.Processor",
   "Id":view details "CPU1",
@@ -181,7 +181,7 @@
 
 #### >> Entries
 
-```
+```json
 {
   "@odata.id": "/redfish/v1/Systems/system/LogServices/IsolatedHardware/Entries",
   "@odata.type": "#LogEntryCollection.LogEntryCollection",
diff --git a/designs/hw-fault-monitor.md b/designs/hw-fault-monitor.md
index 2e59a86..6273b3b 100644
--- a/designs/hw-fault-monitor.md
+++ b/designs/hw-fault-monitor.md
@@ -1,9 +1,11 @@
 # Hardware Fault Monitor
 
-Author: Claire Weinan (cweinan@google.com), daylight22)
+Author: Claire Weinan <cweinan@google.com> `daylight22`
 
-Other contributors: Heinz Boehmer Fiehn (heinzboehmer@google.com) Drew Walton
-(acwalton@google.com)
+Other contributors:
+
+- Heinz Boehmer Fiehn <heinzboehmer@google.com>
+- Drew Walton <acwalton@google.com>
 
 Created: Aug 5, 2021
 
@@ -31,35 +33,35 @@
 
 - Host Error Monitor logs CPU error information such as CATERR details and takes
   appropriate actions such as performing resets and collecting crashdumps:
-  https://github.com/openbmc/host-error-monitor
+  <https://github.com/openbmc/host-error-monitor>
 
 - bmcweb implements a Redfish webserver for openbmc:
-  https://github.com/openbmc/bmcweb. The Redfish LogService schema is available
-  for logging purposes and the EventService schema is available for a Redfish
-  server to send event notifications to clients.
+  <https://github.com/openbmc/bmcweb>. The Redfish LogService schema is
+  available for logging purposes and the EventService schema is available for a
+  Redfish server to send event notifications to clients.
 
 - Phosphor Debug Collector (phosphor-debug-collector) collects various debug
   dumps and saves them into files:
-  https://github.com/openbmc/phosphor-debug-collector
+  <https://github.com/openbmc/phosphor-debug-collector>
 
 - Dbus-sensors reads and saves sensor values and makes them available to other
-  modules via D-Bus: https://github.com/openbmc/dbus-sensors
+  modules via D-Bus: <https://github.com/openbmc/dbus-sensors>
 
 - SEL logger logs to the IPMI and Redfish system event logs when certain events
   happen, such as sensor readings going beyond their thresholds:
-  https://github.com/openbmc/phosphor-sel-logger
+  <https://github.com/openbmc/phosphor-sel-logger>
 
 - FRU fault manager controls the blinking of LEDs when faults occur:
-  https://github.com/openbmc/phosphor-led-manager/blob/master/fault-monitor/fru-fault-monitor.hpp
+  <https://github.com/openbmc/phosphor-led-manager/blob/master/fault-monitor/fru-fault-monitor.hpp>
 
 - Guard On BMC records and manages a list of faulty components for isolation.
   (Both the host and the BMC may identify faulty components and create guard
   records for them):
-  https://github.com/openbmc/docs/blob/9c79837a8a20dc8e131cc8f046d1ceb4a731391a/designs/guard-on-bmc.md
+  <https://github.com/openbmc/docs/blob/9c79837a8a20dc8e131cc8f046d1ceb4a731391a/designs/guard-on-bmc.md>
 
 There is an OpenCompute Fault Management Infrastructure proposal that also
 recommends delivering error logs from the BMC:
-https://drive.google.com/file/d/1A9Qc7hB3THw0wiEK_dbXYj85_NOJWrb5/
+<https://drive.google.com/file/d/1A9Qc7hB3THw0wiEK_dbXYj85_NOJWrb5/>
 
 ## Requirements
 
diff --git a/designs/management-console/Authorities_List_Management.md b/designs/management-console/Authorities_List_Management.md
index 0f13bea..b95ea6d 100644
--- a/designs/management-console/Authorities_List_Management.md
+++ b/designs/management-console/Authorities_List_Management.md
@@ -1,6 +1,6 @@
 # Authorities List Management
 
-Author: Nan Zhou (nanzhoumails@gmail.com)
+Author: Nan Zhou <nanzhoumails@gmail.com>
 
 Created: 12/01/2021
 
diff --git a/designs/management-console/VMI_Certificate_Exchange.md b/designs/management-console/VMI_Certificate_Exchange.md
index 7dd7cd5..72ef38e 100644
--- a/designs/management-console/VMI_Certificate_Exchange.md
+++ b/designs/management-console/VMI_Certificate_Exchange.md
@@ -108,7 +108,7 @@
 Management console should use the below REST commands to exchange certificates
 with VMI
 
-#### Get Signed certificate:
+#### Get Signed certificate
 
 REST command to get signed client certificate from VMI
 
@@ -122,14 +122,13 @@
 Response: This will return the certificate string which contains signed client
 certificate
 
-```
- {
-   “Certificate”: "<certificate string>"
- }
-
+```json
+{
+  "Certificate": "<certificate string>"
+}
 ```
 
-#### Get Root certificate:
+#### Get Root certificate
 
 REST command to get VMI root certificate
 
@@ -142,21 +141,20 @@
 Response: This will return the certificate string which contains and root CA
 certificate.
 
-```
- {
-   “Certificate”: "<certificate string>"
- }
-
+```json
+{
+  "Certificate": "<certificate string>"
+}
 ```
 
 This interface returns HTTP error codes 5XX/4XX in failure cases
 
-## Alternatives considered:
+## Alternatives considered
 
 Have gone through existing BMC certificate management infrastructure if we can
 extend for this use case.
 
-### Current flow for generating and installing Certificates (CSR Based):
+### Current flow for generating and installing Certificates (CSR Based)
 
 - Certificate Signing Request CSR is a message sent from an applicant to a
   certificate authority in order to apply for a digital identity certificate.
diff --git a/designs/management-console/service-discovery.md b/designs/management-console/service-discovery.md
index a6598a1..f7a94c1 100644
--- a/designs/management-console/service-discovery.md
+++ b/designs/management-console/service-discovery.md
@@ -6,12 +6,12 @@
 
 Created: 2019-07-12
 
-# Background and References
+## Background and References
 
-[1] https://www.engineersgarage.com/Articles/IoT-Service-Discovery-Protocols [2]
-http://www.zeroconf.org/ZeroconfAndUPnP.html : comparison of mDns v/s UPnP. [3]
-https://www.avahi.org/ [4]
-https://github.com/lathiat/avahi/blob/master/avahi-daemon/example.service
+1. <https://www.engineersgarage.com/Articles/IoT-Service-Discovery-Protocols>
+2. <http://www.zeroconf.org/ZeroconfAndUPnP.html> : comparison of mDns v/s UPnP.
+3. <https://www.avahi.org/>
+4. <https://github.com/lathiat/avahi/blob/master/avahi-daemon/example.service>
 
 Apple’s Bonjour uses mDNS and DNS-SD. Linux’s Avahi uses IPv4LL, mDNS, and
 DNS-SD. Linux’s systemd uses resolve hostnames on a network via DNS, mDNS, and
@@ -46,8 +46,8 @@
 
 Following commits implements the behaviour.
 
-https://gerrit.openbmc.org/c/openbmc/meta-phosphor/+/22950
-https://gerrit.openbmc.org/c/openbmc/meta-ibm/+/22951
+- <https://gerrit.openbmc.org/c/openbmc/meta-phosphor/+/22950>
+- <https://gerrit.openbmc.org/c/openbmc/meta-ibm/+/22951>
 
 As part of avahi discovery response, the client receives the following:
 
@@ -60,7 +60,7 @@
 ### How to do discovery through avahi
 
 The following command may be used to discover the BMC systems in the network.
-Avahi-browse -rt <service type> e.g. To discover service type :
+`avahi-browse -rt <service type>` e.g. To discover service type :
 \_obmc_rest.\_tcp avahi-browse -rt \_obmc_rest.\_tcp Output of the above command
 is as follows avahi-browse -rt \_obmc_rest.\_tcp
 
diff --git a/designs/mctp/mctp-kernel.md b/designs/mctp/mctp-kernel.md
index fc2d914..6f77d0a 100644
--- a/designs/mctp/mctp-kernel.md
+++ b/designs/mctp/mctp-kernel.md
@@ -1,6 +1,6 @@
 # OpenBMC in-kernel MCTP
 
-Author: Jeremy Kerr `<jk@codeconstruct.com.au>`
+Author: Jeremy Kerr <jk@codeconstruct.com.au>
 
 Please refer to the [MCTP Overview](mctp.md) document for general MCTP design
 description, background and requirements.
@@ -9,7 +9,7 @@
 providing a sockets-based API for MCTP communication within an OpenBMC-based
 platform.
 
-# Requirements for a kernel implementation
+## Requirements for a kernel implementation
 
 - The MCTP messaging API should be an obvious application of the existing POSIX
   socket interface
@@ -30,7 +30,7 @@
 
   - customisable routing/bridging configurations within a network.
 
-# Proposed Design
+## Proposed Design
 
 The design contains several components:
 
@@ -63,7 +63,7 @@
 the namespace for these interfaces is separate from other network interfaces -
 such as those for ethernet.
 
-## Structure: interfaces & networks
+### Structure: interfaces & networks
 
 The kernel models the local MCTP topology through two items: interfaces and
 networks.
@@ -85,9 +85,9 @@
 If multiple networks are present, each may contain EIDs that are also present on
 other networks.
 
-## Sockets API
+### Sockets API
 
-### Protocol definitions
+#### Protocol definitions
 
 We define a new address family (and corresponding protocol family) for MCTP:
 
@@ -152,13 +152,13 @@
     #define MCTP_TAG_RSP(x) (x & MCTP_TAG_MASK) /* response to a request: clear TO, keep value */
 ```
 
-### Syscall behaviour
+#### Syscall behaviour
 
 The following sections describe the MCTP-specific behaviours of the standard
 socket system calls. These behaviours have been chosen to map closely to the
 existing sockets APIs.
 
-#### `bind()`: set local socket address
+##### `bind()`: set local socket address
 
 Sockets that receive incoming request packets will bind to a local address,
 using the `bind()` syscall.
@@ -203,7 +203,7 @@
 bit is not part of the match). This results in the socket receiving packets with
 and without a message integrity check footer.
 
-#### `connect()`: set remote socket address
+##### `connect()`: set remote socket address
 
 Sockets may specify a socket's remote address with the `connect()` syscall:
 
@@ -250,7 +250,7 @@
 Requesters which connect to a single responder will typically use `connect()` to
 specify the peer address and tag for future outgoing messages.
 
-#### `sendto()`, `sendmsg()`, `send()` & `write()`: transmit an MCTP message
+##### `sendto()`, `sendmsg()`, `send()` & `write()`: transmit an MCTP message
 
 An MCTP message is transmitted using one of the `sendto()`, `sendmsg()`,
 `send()` or `write()` syscalls. Using `sendto()` as the primary example:
@@ -318,7 +318,7 @@
 Sockets will only receive responses to requests they have sent (with TO=1) and
 may only respond (with TO=0) to requests they have received.
 
-#### `recvfrom()`, `recvmsg()`, `recv()` & `read()`: receive an MCTP message
+##### `recvfrom()`, `recvmsg()`, `recv()` & `read()`: receive an MCTP message
 
 An MCTP message can be received by an application using one of the `recvfrom()`,
 `recvmsg()`, `recv()` or `read()` system calls. Using `recvfrom()` as the
@@ -356,7 +356,7 @@
 Like the send calls, sockets will only receive responses to requests they have
 sent (TO=1) and may only respond (TO=0) to requests they have received.
 
-#### `getsockname()` & `getpeername()`: query local/remote socket address
+##### `getsockname()` & `getpeername()`: query local/remote socket address
 
 The `getsockname()` system call returns the `struct sockaddr_mctp` value for the
 local side of this socket, `getpeername()` for the remote (ie, that used in a
@@ -366,11 +366,11 @@
 Calling `getpeername()` on an unconnected socket will result in an error of
 `ENOTCONN`.
 
-#### Socket options
+##### Socket options
 
 The following socket options are defined for MCTP sockets:
 
-##### `MCTP_ADDR_EXT`: Use extended addressing information in sendmsg/recvmsg
+###### `MCTP_ADDR_EXT`: Use extended addressing information in sendmsg/recvmsg
 
 Enabling this socket option allows an application to specify extended addressing
 information on transmitted packets, and access the same on received packets.
@@ -397,14 +397,16 @@
 contain this larger structure, then the extended addressing fields are consumed
 / populated respectively.
 
-##### `MCTP_TAG_CONTROL`: manage outgoing tag allocation behaviour
+###### `MCTP_TAG_CONTROL`: manage outgoing tag allocation behaviour
 
 The set/getsockopt argument is a `mctp_tagctl` structure:
 
+```c
     struct mctp_tagctl {
         bool            retain;
         struct timespec timeout;
     };
+```
 
 This allows an application to control the behaviour of allocated tags for
 non-connected sockets when transferring messages to multiple different
@@ -431,7 +433,7 @@
 - the socket is sending messages with TO=1 (ie, is a requester); and
 - messages are sent to multiple different destination EIDs from the one socket.
 
-#### Syscalls not implemented
+##### Syscalls not implemented
 
 The following system calls are not implemented for MCTP, primarily as they are
 not used in `SOCK_DGRAM`-type sockets:
@@ -442,7 +444,7 @@
 - `shutdown()`
 - `mmap()`
 
-### Userspace examples
+#### Userspace examples
 
 These examples cover three general use-cases:
 
@@ -462,7 +464,7 @@
 
   This is similar to a DHCP server.
 
-#### Requester
+##### Requester
 
 "Client"-side implementation to send requests to a responder, and receive a
 response. This uses a (fictitious) message type of `MCTP_TYPE_ECHO`.
@@ -515,7 +517,7 @@
     }
 ```
 
-#### Responder
+##### Responder
 
 "Server"-side implementation to receive requests and respond. Like the client,
 This uses a (fictitious) message type of `MCTP_TYPE_ECHO` in the
@@ -574,7 +576,7 @@
     }
 ```
 
-#### Broadcast request
+##### Broadcast request
 
 Sends a request to a broadcast EID, and receives (unicast) replies. Typical
 control protocol pattern.
@@ -652,9 +654,9 @@
     }
 ```
 
-### Implementation notes
+#### Implementation notes
 
-#### Addressing
+##### Addressing
 
 Transmitted messages (through `sendto()` and related system calls) specify their
 destination via the `smctp_network` and `smctp_addr` fields of a
@@ -677,7 +679,7 @@
 MCTP responders should use the EID and network values of an incoming request to
 specify the destination for any responses.
 
-#### Bridging/routing
+##### Bridging/routing
 
 The network and interface structure allows multiple interfaces to share a common
 network. By default, packets are not forwarded between interfaces.
@@ -690,7 +692,7 @@
 If the packet is larger than the MTU for the destination interface/route, then
 the packet is dropped.
 
-#### Tag behaviour for transmitted messages
+##### Tag behaviour for transmitted messages
 
 On every message sent with the tag-owner bit set ("TO" in DSP0236), the kernel
 must allocate a tag that will uniquely identify responses over a (destination
@@ -739,7 +741,7 @@
 use with _any other EID_. Sending to the broadcast address should be avoided; we
 expect few applications will need this functionality.
 
-#### MCTP Control Protocol implementation
+##### MCTP Control Protocol implementation
 
 Aside from the "Resolve endpoint EID" message, the MCTP control protocol
 implementation would exist as a userspace process, `mctpd`. This process is
@@ -753,7 +755,7 @@
 route table via a netlink interface - the same as that implemented for the
 [Utility and configuration interfaces](#utility-and-configuration-interfaces).
 
-### Neighbour and routing implementation
+#### Neighbour and routing implementation
 
 The packet-transmission behaviour of the MCTP infrastructure relies on a single
 routing table to lookup both route and neighbour information. Entries in this
@@ -786,7 +788,7 @@
 
 This is the only kernel-internal usage of MCTP Control Protocol messages.
 
-## Utility and configuration interfaces
+### Utility and configuration interfaces
 
 A small utility will be developed to control the state of the kernel MCTP stack.
 This will be similar in design to the 'iproute2' tools, which perform a similar
@@ -795,7 +797,7 @@
 The utility will be invoked as `mctp`, and provide subcommands for managing
 different aspects of the kernel stack.
 
-### `mctp link`: manage interfaces
+#### `mctp link`: manage interfaces
 
 ```sh
     mctp link set <link> <up|down>
@@ -804,7 +806,7 @@
     mctp link set <link> bus-owner <hwaddr>
 ```
 
-### `mctp network`: manage networks
+#### `mctp network`: manage networks
 
 ```sh
     mctp network create <network-id>
@@ -813,14 +815,14 @@
     mctp network delete <network-id>
 ```
 
-### `mctp address`: manage local EID assignments
+#### `mctp address`: manage local EID assignments
 
 ```sh
     mctp address add <eid> dev <link>
     mctp address del <eid> dev <link>
 ```
 
-### `mctp route`: manage routing tables
+#### `mctp route`: manage routing tables
 
 ```sh
     mctp route add net <network-id> eid <eid|eid-range> via <link> [hwaddr <addr>] [mtu <mtu>] [metric <metric>]
@@ -828,7 +830,7 @@
     mctp route show [net <network-id>]
 ```
 
-### `mctp stat`: query socket status
+#### `mctp stat`: query socket status
 
 ```sh
     mctp stat
@@ -837,9 +839,9 @@
 A set of netlink message formats will be defined to support these control
 functions.
 
-# Design points & alternatives considered
+## Design points & alternatives considered
 
-## Including message-type byte in send/receive buffers
+### Including message-type byte in send/receive buffers
 
 This design specifies that message buffers passed to the kernel in send syscalls
 and from the kernel in receive syscalls will have the message type byte as the
@@ -859,7 +861,7 @@
 Therefore, we transfer the message payload as-is to userspace, without any
 modification by the kernel.
 
-## MCTP message-type specification: using `sockaddr_mctp.smctp_type` rather than protocol
+### MCTP message-type specification: using `sockaddr_mctp.smctp_type` rather than protocol
 
 This design specifies message-types to be passed in the `smctp_type` field of
 `struct sockaddr_mctp`. An alternative would be to pass it in the `protocol`
@@ -881,7 +883,7 @@
 Future additions that perform protocol-specific message handling, and so alter
 the send/receive buffer format, may use a new protocol argument.
 
-## Networks referenced by index rather than UUID
+### Networks referenced by index rather than UUID
 
 This design proposes referencing networks by an integer index. The MCTP standard
 does optionally associate a RFC4122 UUID with a networks; it would be possible
@@ -896,12 +898,12 @@
 Instead, the index integer is used instead, in a similar fashion to the integer
 index used to reference `struct netdevice`s elsewhere in the network stack.
 
-## Tag behaviour alternatives
+### Tag behaviour alternatives
 
 We considered _several_ different designs for the tag handling behaviour. A
 brief overview of the more-feasible of those, and why they were rejected:
 
-### Each socket is allocated a unique tag value on creation
+#### Each socket is allocated a unique tag value on creation
 
 We could allocate a tag for each socket on creation, and use that value when a
 tag is required. This, however:
@@ -911,7 +913,7 @@
 
 - limits us to 8 sockets per network.
 
-### Tags only used for message packetisation / reassembly
+#### Tags only used for message packetisation / reassembly
 
 An alternative would be to completely dissociate tag allocation from sockets;
 and only allocate a tag for the (short-lived) task of packetising a message, and
@@ -929,7 +931,7 @@
   listening on that type, making it trivial to eavesdrop on MCTP data of other
   applications
 
-### Allocate a tag for one request/response pair
+#### Allocate a tag for one request/response pair
 
 Another alternative would be to allocate a tag on each outgoing TO=1 message,
 and then release that allocation after the incoming response to that tag (TO=0)
diff --git a/designs/mctp/mctp-userspace.md b/designs/mctp/mctp-userspace.md
index cd09b61..dce74fc 100644
--- a/designs/mctp/mctp-userspace.md
+++ b/designs/mctp/mctp-userspace.md
@@ -1,6 +1,6 @@
 # OpenBMC platform communication channel: MCTP & PLDM in userspace
 
-Author: Jeremy Kerr <jk@ozlabs.org> <jk>
+Author: Jeremy Kerr <jk@ozlabs.org> `jk`
 
 Please refer to the [MCTP Overview](mctp.md) document for general MCTP design
 description, background and requirements.
@@ -25,12 +25,12 @@
 
 This daemon has a few components:
 
-1.  the core MCTP stack
+1. the core MCTP stack
 
-2.  one or more binding implementations (eg, MCTP-over-serial), which interact
-    with the hardware channel(s).
+2. one or more binding implementations (eg, MCTP-over-serial), which interact
+   with the hardware channel(s).
 
-3.  an interface to handler applications over a unix-domain socket.
+3. an interface to handler applications over a unix-domain socket.
 
 The proposed implementation here is to produce an MCTP "library" which provides
 the packetisation and routing functions, between:
@@ -88,7 +88,7 @@
 MCTP handlers (ie, clients of the demultiplexer) connect using a unix-domain
 socket, at the abstract socket address:
 
-```
+```text
 \0mctp-demux
 ```
 
@@ -104,7 +104,7 @@
 
 Each message has a fixed small header:
 
-```
+```cpp
 uint8_t eid
 ```
 
diff --git a/designs/mctp/mctp.md b/designs/mctp/mctp.md
index b0e8cf1..3b7801f 100644
--- a/designs/mctp/mctp.md
+++ b/designs/mctp/mctp.md
@@ -1,6 +1,6 @@
 # OpenBMC platform communication channel: MCTP & PLDM
 
-Author: Jeremy Kerr <jk@ozlabs.org> <jk>
+Author: Jeremy Kerr <jk@ozlabs.org> `jk`
 
 ## Problem Description
 
@@ -31,13 +31,13 @@
 layer bindings for the actual transport of MCTP packets. These are defined by
 the DMTF's Platform Management Working group; standards are available at:
 
-https://www.dmtf.org/standards/pmci
+<https://www.dmtf.org/standards/pmci>
 
 The following diagram shows how these standards map to the areas of
 functionality that we may want to implement for OpenBMC. The DSP numbers
 provided are references to DMTF standard documents.
 
-![](mctp-standards.svg)
+![MCTP Diagram](mctp-standards.svg)
 
 One of the key concepts here is that separation of transport protocol from the
 physical layer bindings; this means that an MCTP "stack" may be using either a
diff --git a/designs/multi-host-postcode.md b/designs/multi-host-postcode.md
index 7529f82..5e546b4 100644
--- a/designs/multi-host-postcode.md
+++ b/designs/multi-host-postcode.md
@@ -25,7 +25,7 @@
 |`S:` |D-Bus service name (well-known bus name)| |`R:` |Repository name| |`U:`
 |Systemd service unit name| |`A:` |Executable name| |`H:` |HW Module|
 
-```
+```text
                                          +-----------+
                        +------+          | 7 segment |
                        | Host |          |  display  |
@@ -94,11 +94,11 @@
 - platform specific OEM handler (fb-ipmi-oem).
 - bmcweb (redfish logging service).
 
-**Interface Diagram**
+### Interface Diagram
 
 Provided below the post code interface diagram with flow sequence
 
-```
+```text
 +---------------------------------------------------+
 | BMC                                               |
 |                                                   |
@@ -143,7 +143,7 @@
 +----------------------------------------------------------+
 ```
 
-**Postcode Flow:**
+### Postcode Flow
 
 - BMC power-on the host.
 - Host starts sending the postcode IPMI message continuously to the BMC.
@@ -178,15 +178,15 @@
 - Display the latest postcode of the selected host read through D-Bus on a
   7-segment display.
 
-**D-Bus interface**
+### D-Bus interface
 
 The following D-Bus names need to be created for the multi-host post-code.
 
-    Service name      -- xyz.openbmc_project.State.Boot.Raw
-
-    Obj path name     -- /xyz/openbmc_project/State/Boot/RawX(1,2..N)
-
-    Interface name    -- xyz.openbmc_project.State.Boot.Raw
+```text
+Service name: xyz.openbmc_project.State.Boot.Raw
+Obj path name: /xyz/openbmc_project/State/Boot/RawX(1,2..N)
+Interface name: xyz.openbmc_project.State.Boot.Raw
+```
 
 ## phosphor-post-code-manager
 
@@ -202,15 +202,15 @@
 - Store/retrieve post-code from directory (/var/lib/phosphor-post-code-manager/
   hostX(1,2,3..N)) based on event received from phosphor-host-postd.
 
-**D-Bus interface**
+### D-Bus interface
 
 The following D-Bus names needs to be created for multi-host post-code.
 
-    Service name     -- xyz.openbmc_project.State.Boot.PostCodeX(1,2..N)
-
-    Obj path name    -- /xyz/openbmc_project/State/Boot/PostCodeX(1,2..N)
-
-    Interface name   -- xyz.openbmc_project.State.Boot.PostCode
+```text
+Service name: xyz.openbmc_project.State.Boot.PostCodeX(1,2..N)
+Obj path name: /xyz/openbmc_project/State/Boot/PostCodeX(1,2..N)
+Interface name: xyz.openbmc_project.State.Boot.PostCode
+```
 
 ## bmcweb
 
@@ -219,7 +219,7 @@
 
 ## Alternate design
 
-**phosphor-post-code-manager single process approach**
+### phosphor-post-code-manager single process approach
 
 This implementation consider single service to handle multi-host postcode. In
 this approach, all D-Bus handling will taken care by the single process.
diff --git a/designs/multihost-ipmi-design.md b/designs/multihost-ipmi-design.md
index d2855e4..74ef1a1 100644
--- a/designs/multihost-ipmi-design.md
+++ b/designs/multihost-ipmi-design.md
@@ -26,7 +26,7 @@
 
 IPMI and IPMB System architecture:
 
-```
+```ascii
  +------------------------------------+
  |               BMC                  |
  | +-----------+       +------------+ |      +--------+
@@ -68,11 +68,11 @@
 ipmbbridged and ipmid. To address out-of-band IPMI command from the network,the
 proposal is captured in section "Changes in netipmid".
 
-## Issue1: Changes in ipmbbridged:
+## Issue1: Changes in ipmbbridged
 
 ipmbbridged to send the channel details from where the request is received.
 
-**Change: Sending Host detail as additional parameter**
+### Change: Sending Host detail as additional parameter
 
 While routing the IPMB requests coming from the host channel, We will be adding
 new entry in the json config file for the host ID '"devIndex": 0' ipmbbridged
@@ -84,13 +84,40 @@
 channel.To ensure existing platforms does not get affected, if the "devIndex"
 key is not present in the file ipmbbridged uses default "devIndex" as 0.
 
-{ "type": "me", "slave-path": "/dev/ipmb-1", "bmc-addr": 32, "remote-addr": 64,
-"devIndex": 0 }, { "type": "ipmb", "slave-path": "/dev/ipmb-2", "bmc-addr": 32,
-"remote-addr": 64, "devIndex": 0 }, { "type": "me", "slave-path": "/dev/ipmb-3",
-"bmc-addr": 32, "remote-addr": 64, "devIndex": 1 }, { "type": "ipmb",
-"slave-path": "/dev/ipmb-4", "bmc-addr": 32, "remote-addr": 64, "devIndex": 1 },
+```json
+[
+  {
+    "type": "me",
+    "slave-path": "/dev/ipmb-1",
+    "bmc-addr": 32,
+    "remote-addr": 64,
+    "devIndex": 0
+  },
+  {
+    "type": "ipmb",
+    "slave-path": "/dev/ipmb-2",
+    "bmc-addr": 32,
+    "remote-addr": 64,
+    "devIndex": 0
+  },
+  {
+    "type": "me",
+    "slave-path": "/dev/ipmb-3",
+    "bmc-addr": 32,
+    "remote-addr": 64,
+    "devIndex": 1
+  },
+  {
+    "type": "ipmb",
+    "slave-path": "/dev/ipmb-4",
+    "bmc-addr": 32,
+    "remote-addr": 64,
+    "devIndex": 1
+  }
+]
+```
 
-## Issue2: Changes in ipmid:
+## Issue2: Changes in ipmid
 
 Receive the optional parameter sent by the ipmbbridged as host details, while
 receiving the parameter in the executionEntry method call the same will be
@@ -103,7 +130,7 @@
 order details and respond from the command handler. This is applicable for both
 common and oem handlers.
 
-## Changes in netipmid:
+## Changes in netipmid
 
 The "options" parameter can be used for sending the host information from
 netipmid. The changes proposed for ipmbbridged can be used in netipmid as well.
@@ -125,7 +152,7 @@
 
 Example implementation of approach1:Virtual ethernet interface.
 
-```
+```ascii
 +--------------------------------------------+
 |           BMC                              |
 | +--------+       +-----------+   +------+  |      +--------+
@@ -160,14 +187,14 @@
 looks to be a simple change but impacts the existing platforms which are already
 using it.This may not be a right approach.
 
-## Approach2:Create multiple ipmid to handle multihost.One ipmid process per host.
+## Approach2:Create multiple ipmid to handle multihost.One ipmid process per host
 
 This is a multi service appoach,one instance of ipmid service shall be spawned
 to respond each host.The changes looks simple and no major design change from
 the existing design. But many common handlers will be running as duplicate in
 multiple instances.
 
-## Approach3:Using a different IPMI channel for handling multiple host.
+## Approach3:Using a different IPMI channel for handling multiple host
 
 Using a different IPMI channel for handling multiple hosts, in the ipmbbridged
 the channel id can be used to identify host. In this approach we will be having
diff --git a/designs/multihost-phosphor-buttons.md b/designs/multihost-phosphor-buttons.md
index 4d2fbca..48bd850 100644
--- a/designs/multihost-phosphor-buttons.md
+++ b/designs/multihost-phosphor-buttons.md
@@ -34,7 +34,7 @@
 The front panel of bmc has buttons like power button, reset button in general
 the code for monitoring these buttons and triggering actions are supported.
 
-```
+```text
    +----------------------------------------------+
    |                                              |
    |       Front panel                            |
@@ -57,7 +57,7 @@
 example for a multihost platform yosemite-V2 it has host selector switch mux as
 additional button in front panel.
 
-```
+```text
 +---------------------------+                                      +------------+
 |                           |                                      |            |
 |       yv2 front panel     |           power/           ---------+|  host 1    |
@@ -111,7 +111,7 @@
 The power/reset button press events are triggered based on the value of host
 selector switch position.
 
-### Example :
+### Example
 
 host selector position value = 0,bmc is mapped to power and reset buttons host
 selector position value = 1,host 1 is mapped to power and reset buttons host
@@ -148,7 +148,7 @@
 host selector switch value is more than MaxPosition then it should be reset to
 zero.
 
-# Proposed Design
+## Proposed Design
 
 Three high level changes are required in the phosphor button interface class
 
@@ -193,7 +193,7 @@
 This button interface monitors the corresponding gpio lines for debug card host
 selection button press and release event via sd-event based loop.
 
-### OCP Debug card host selector button dbus interface details :
+### OCP Debug card host selector button dbus interface details
 
 1. Released(signal) - This is signal is triggered in the ocp debug card event
    handler when the ocp debug card button is pressed and released.
diff --git a/designs/multihost-physical-led.md b/designs/multihost-physical-led.md
index 0b538d7..2acbfce 100644
--- a/designs/multihost-physical-led.md
+++ b/designs/multihost-physical-led.md
@@ -34,8 +34,7 @@
 
 The below diagram represents the overview for current physical LED design.
 
-```
-
+```ascii
       KERNEL                 META-PHOSPHOR           PHOSPHOR-LED-SYSFS SERVICE
 
    +------------+  Event 1   +----------+  LED 1  +-----------------------------+
@@ -78,9 +77,9 @@
 triggers the necessary action to generate the dbus object path and interface for
 that specified service. It exposes one service per LED.
 
-**Example**
+### Example
 
-```
+```text
      busctl tree xyz.openbmc_project.LED.Controller.led1
      `-/xyz
        `-/xyz/openbmc_project
@@ -107,8 +106,7 @@
 
 The below diagram represents the overview for proposed physical LED design.
 
-```
-
+```ascii
       KERNEL                               PHOSPHOR-LED-SYSFS DAEMON
 
    +------------+  Event 1   +--------+      +---------+      +--------------+
@@ -139,7 +137,7 @@
 - Physical Leds are defined in the device tree under "leds" section and
   corresponding GPIO pins are configured.
 
-```
+```dts
         leds {
                 compatible = "gpio-leds";
 
@@ -154,7 +152,7 @@
   **_xyz.openbmc_project.Led.Sysfs.Internal_** interface name to add or remove
   the LED, which will be coming from each udev LED event.
 
-```
+```text
     NAME                                   TYPE      SIGNATURE  RESULT/VALUE  FLAGS
 
     xyz.openbmc_project.Led.Sysfs.Internal interface -          -             -
@@ -185,8 +183,7 @@
 
 **_Example_**
 
-```
-
+```text
    SERVICE        xyz.openbmc_project.LED.Controller
 
    INTERFACE      xyz.openbmc_project.LED.Physical
@@ -207,7 +204,7 @@
 
 ## Alternatives Considered
 
-**Approach 1**
+### Approach 1
 
 When the udev event is initialized for the LED, it will save those LED names in
 a file utilizing the script. Phosphor-led-sysfs will monitor the file using
diff --git a/designs/nmi-dbus-interface.md b/designs/nmi-dbus-interface.md
index ef4ee66..92e3264 100644
--- a/designs/nmi-dbus-interface.md
+++ b/designs/nmi-dbus-interface.md
@@ -16,7 +16,7 @@
 ## Background and References
 
 There is a situation at customer places/lab where the host goes unresponsive
-causing system hang(https://github.com/ibm-openbmc/dev/issues/457). This means
+causing system hang(<https://github.com/ibm-openbmc/dev/issues/457>). This means
 there is no way to figure out what went wrong with the host in a hung state. One
 has to recover the system with no relevant debug data captured.
 
diff --git a/designs/nvmemi-over-smbus.md b/designs/nvmemi-over-smbus.md
index 59b1684..24515a6 100644
--- a/designs/nvmemi-over-smbus.md
+++ b/designs/nvmemi-over-smbus.md
@@ -1,10 +1,10 @@
-### NVMe-MI over SMBus
+# NVMe-MI over SMBus
 
 Author: Tony Lee <tony.lee@quantatw.com>
 
 Created: 3-8-2019
 
-#### Problem Description
+## Problem Description
 
 Currently, OpenBMC does not support NVMe drive information. NVMe-MI
 specification defines a command that can read the NVMe drive information via
@@ -12,7 +12,7 @@
 vendor ID, temperature, etc. The aim of this proposal is to allow users to
 monitor NVMe drives so appropriate action can be taken.
 
-#### Background and References
+## Background and References
 
 NVMe-MI specification defines a command called
 `NVM Express Basic Management Command` that can read the NVMe drives information
@@ -24,12 +24,14 @@
 communicate with NVMe drives. According to different platforms, temperature
 sensor, present status, LED and power sequence will be customized.
 
-[1] NVM Express Management Interface Revision 1.0a April 8, 2017 in Appendix A.
-(https://nvmexpress.org/wp-content/uploads/NVM_Express_Management_Interface_1_0a_2017.04.08_-_gold.pdf)
-[2] System Management Bus (SMBus) Specification Version 3.0 20 Dec 2014
-(http://smbus.org/specs/SMBus_3_0_20141220.pdf)
+[1]:
+  https://nvmexpress.org/wp-content/uploads/NVM_Express_Management_Interface_1_0a_2017.04.08_-_gold.pdf
+  "NVM Express Management Interface Revision 1.0a April 8, 2017 in Appendix A."
+[2]:
+  http://smbus.org/specs/SMBus_3_0_20141220.pdf
+  "System Management Bus (SMBus) Specification Version 3.0 20 Dec 2014"
 
-#### Requirements
+## Requirements
 
 The implementation should:
 
@@ -41,7 +43,7 @@
 - Ability to turn the fault LED on/off for each drive by SmartWarnings if the
   object path of fault LED is defined in the configuration file.
 
-#### Proposed Design
+## Proposed Design
 
 Create a D-bus service "xyz.openbmc_project.nvme.manager" with object paths for
 each NVMe sensor: "/xyz/openbmc_project/sensors/temperature/nvme0",
@@ -70,7 +72,7 @@
 
 Under the D-bus named "xyz.openbmc_project.nvme.manager":
 
-```
+```text
     /xyz/openbmc_project
     └─/xyz/openbmc_project/sensors
       └─/xyz/openbmc_project/sensors/temperature/nvme0
@@ -84,7 +86,7 @@
 
 Under the D-bus named "xyz.openbmc_project.Inventory.Manager":
 
-```
+```text
 /xyz/openbmc_project
     └─/xyz/openbmc_project/inventory
       └─/xyz/openbmc_project/inventory/system
@@ -142,7 +144,7 @@
 | BuildDate    | bool   | The date of item manufacture in YYYYMMDD format   |
 | Model        | bool   | The model of the item                             |
 
-##### xyz.openbmc_project.nvme.manager.service
+### xyz.openbmc_project.nvme.manager.service
 
 This service has several steps:
 
@@ -165,12 +167,12 @@
 
 This service will run automatically and look up NVMe drives every second.
 
-##### Fault LED
+### Fault LED
 
 When the value obtained from the command corresponds to one of the warning
 types, it will trigger the fault LED of corresponding device and issue events.
 
-##### Add SEL related to NVMe
+### Add SEL related to NVMe
 
 The events `TemperatureFault`, `BackupdrivesFault`, `CapacityFault`,
 `DegradesFault` and `MediaFault` will be generated for the NVMe errors.
@@ -181,7 +183,7 @@
 - Degrades Fault log : when the property `DegradesFault` set to true
 - Media Fault log: when the property `MediaFault` set to true
 
-#### Alternatives Considered
+## Alternatives Considered
 
 NVMe-MI specification defines multiple commands that can communicate with NVMe
 drives over MCTP protocol. The NVMe-MI over MCTP has the following key
@@ -196,12 +198,12 @@
 For monitoring NVMe drives, using NVM Express Basic Management Command over
 SMBus directly is much simpler than NVMe-MI over MCTP protocol.
 
-#### Impacts
+## Impacts
 
 This application is monitoring NVMe drives via SMbus and set values to D-bus.
 The impacts should be small in the system.
 
-#### Testing
+## Testing
 
 This implementation is to use NVMe-MI-Basic command over SMBus and then set the
 response data to D-bus. Testing will send SMBus command to the drives to get the
diff --git a/designs/oem/google/root_of_trust.md b/designs/oem/google/root_of_trust.md
index 456b355..35e4326 100644
--- a/designs/oem/google/root_of_trust.md
+++ b/designs/oem/google/root_of_trust.md
@@ -44,7 +44,7 @@
 This new API is designed to forward calls to RoT devices and avoid and
 inspections of data. An example call would be:
 
-```
+```json
 {
   "#RootOfTrust.Mailbox": {
       "target": "/redfish/v1/RootsOfTrust/0/Actions.Mailbox",
@@ -57,21 +57,21 @@
 This new service root is very similar to `/ibm/v1`. This would require a new
 dbus interface to service this API:
 
-```
+```yaml
 description: >
-    Forward bytes to Google RoT devices.
+  Forward bytes to Google RoT devices.
 methods:
-    - name: Mailbox
-      description: >
-          A method to forward bytes to RoT device.
-      parameters:
-        - name: rawRequest
-          type: array[byte]
-          description: >
-              Value to be updated for the keyword.
-      errors:
-        - xyz.openbmc_project.Common.Error.InvalidArgument
-        - xyz.openbmc_project.Common.Error.InternalFailure
+  - name: Mailbox
+    description: >
+      A method to forward bytes to RoT device.
+    parameters:
+      - name: rawRequest
+        type: array[byte]
+        description: >
+          Value to be updated for the keyword.
+    errors:
+      - xyz.openbmc_project.Common.Error.InvalidArgument
+      - xyz.openbmc_project.Common.Error.InternalFailure
 ```
 
 ## Alternatives Considered
diff --git a/designs/oem/ibm/system-power-mode.md b/designs/oem/ibm/system-power-mode.md
index 65a019a..6909b0d 100644
--- a/designs/oem/ibm/system-power-mode.md
+++ b/designs/oem/ibm/system-power-mode.md
@@ -35,7 +35,7 @@
 the OCC.
 
 PowerMode was added to version 2021.1 Redfish Schema Supplement:
-https://www.dmtf.org/sites/default/files/standards/documents/DSP0268_2021.1.pdf
+<https://www.dmtf.org/sites/default/files/standards/documents/DSP0268_2021.1.pdf>
 
 Current Customer Settable System Power Modes that will be sent to the OCCs:
 
@@ -73,7 +73,7 @@
 When initiated, the new code will send a SET_MODE_AND_STATE command (0x20) to
 the OCC and a SET_CONFIG_DATA (0x21) command with the Idle Power Saver
 parameters. These commands are defined in the OCC Interface Spec:
-https://github.com/open-power/docs/blob/master/occ/OCC_P9_FW_Interfaces.pdf
+<https://github.com/open-power/docs/blob/master/occ/OCC_P9_FW_Interfaces.pdf>
 
 Default values will also be defined for Power Mode and Idle Power Saver
 parameters for the system. If the customer has not yet set any of these
diff --git a/designs/phosphor-audit.md b/designs/phosphor-audit.md
index 86464ac..399d50f 100644
--- a/designs/phosphor-audit.md
+++ b/designs/phosphor-audit.md
@@ -1,10 +1,11 @@
 # phosphor-audit
 
-Author: Ivan Mikhaylov, [i.mikhaylov@yadro.com](mailto:i.mikhaylov@yadro.com)
+Author: Ivan Mikhaylov [i.mikhaylov@yadro.com](mailto:i.mikhaylov@yadro.com)
 
-Other contributors: Alexander Amelkin,
-[a.amelkin@yadro.com](mailto:a.amelkin@yadro.com) Alexander Filippov,
-[a.filippov@yadro.com](mailto:a.filippov@yadro.com)
+Other contributors:
+
+- Alexander Amelkin [a.amelkin@yadro.com](mailto:a.amelkin@yadro.com)
+- Alexander Filippov [a.filippov@yadro.com](mailto:a.filippov@yadro.com)
 
 Created: 2019-07-23
 
@@ -104,7 +105,7 @@
 possible to just store logs, run arbitrary command or notify someone in handler
 or we can do all of the above and all of this can be optional.
 
-**Audit event call**
+### Audit event call
 
 Audit event call performs preprocessing of incoming data at application side
 before sending it to the audit service, if the request is filtered out, it will
@@ -133,15 +134,18 @@
 
 Pseudocode for example:
 
+```cpp
     audit_event(NET_IPMI, "access denied"(rc=-1), "ipmi cmd", "qwerty223",
                           "192.168.0.1", <some additional data if needed>)
     audit_event(REST, "login successful"(rc=200), "rest login",
                       "qwerty223", "192.168.0.1", NULL)
     audit_event(HOST_IPMI, "shutting down the host"(rc=0), "host poweroff",
                        NULL, NULL, NULL)
+```
 
 `audit_event(blob_data)` Blob can be described as structure:
 
+```cpp
     struct blob_audit
     {
         uint8_t type;
@@ -151,6 +155,7 @@
         sockaddr_in6 *addr;
         struct iovec *data;
     }
+```
 
 When the call reaches the server destination via D-Bus, the server already knows
 that the call should be processed via predefined list of actions which are set
@@ -169,18 +174,17 @@
 
 How the checks will be processed at client's layer:
 
-1.  check the status of service and cache that value
-2.  check the list of possible actions which should be logged and cache them
-    also
-3.  listen on 'propertiesChanged' event in case of changing list or status of
-    service
+1. check the status of service and cache that value
+2. check the list of possible actions which should be logged and cache them also
+3. listen on 'propertiesChanged' event in case of changing list or status of
+   service
 
 ## Service configuration
 
 The configuration structure can be described as tree with set of options, as
 example of structure:
 
-```
+```text
 [IPMI]
    [Enabled]
    [Whitelist]
diff --git a/designs/phosphor-hwmon-io-uring.md b/designs/phosphor-hwmon-io-uring.md
index 4e61bf8..4cbab70 100644
--- a/designs/phosphor-hwmon-io-uring.md
+++ b/designs/phosphor-hwmon-io-uring.md
@@ -71,7 +71,7 @@
 used to store the read results, which will be the main access point for
 obtaining sensor reads in mainloop.cpp.
 
-```
+```ascii
                Interface Layer
 +--------------------------------------------+
 |                                            |
diff --git a/designs/physical-topology.md b/designs/physical-topology.md
index bf2ba3f..9f2bc20 100644
--- a/designs/physical-topology.md
+++ b/designs/physical-topology.md
@@ -1,8 +1,8 @@
 # Physical Topology for Inventory Items
 
-Author: Benjamin Fair <benjaminfair>
+Author: Benjamin Fair `benjaminfair`
 
-Other contributors: Ed Tanous <edtanous>
+Other contributors: Ed Tanous `edtanous`
 
 Created: June 1, 2022
 
@@ -89,34 +89,34 @@
 
 superchassis.json
 
-```
+```json
 {
-    "Exposes": [
-        {
-            "Name": "MyPort",
-            "Type": "BackplanePort"
-        }
-    ],
-    "Name": "Superchassis",
-    "Probe": "TRUE",
-    "Type": "Chassis"
+  "Exposes": [
+    {
+      "Name": "MyPort",
+      "Type": "BackplanePort"
+    }
+  ],
+  "Name": "Superchassis",
+  "Probe": "TRUE",
+  "Type": "Chassis"
 }
 ```
 
 subchassis.json:
 
-```
+```json
 {
-    "Exposes": [
-        {
-            "ConnectsToType": "BackplanePort",
-            "Name": "MyDownstreamPort",
-            "Type": "DownstreamPort"
-        }
-    ],
-    "Name": "Subchassis",
-    "Probe": "TRUE",
-    "Type": "Chassis"
+  "Exposes": [
+    {
+      "ConnectsToType": "BackplanePort",
+      "Name": "MyDownstreamPort",
+      "Type": "DownstreamPort"
+    }
+  ],
+  "Name": "Subchassis",
+  "Probe": "TRUE",
+  "Type": "Chassis"
 }
 ```
 
@@ -134,7 +134,7 @@
 
 Example `busctl` calls:
 
-```
+```text
 $ busctl get-property xyz.openbmc_project.ObjectMapper \
 /xyz/openbmc_project/inventory/system/chassis/Superchassis/containing \
 xyz.openbmc_project.Association endpoints
diff --git a/designs/pldm-stack.md b/designs/pldm-stack.md
index daebfa9..47ce5b2 100644
--- a/designs/pldm-stack.md
+++ b/designs/pldm-stack.md
@@ -1,6 +1,6 @@
 # PLDM stack on OpenBMC
 
-Author: Deepak Kodihalli <dkodihal@linux.vnet.ibm.com> <dkodihal>
+Author: Deepak Kodihalli <dkodihal@linux.vnet.ibm.com> `dkodihal`
 
 Created: 2019-01-22
 
@@ -40,7 +40,7 @@
 associated IDs and states specs), BIOS, FRU, Platform monitoring and control,
 Firmware Update and SMBIOS. All these specifications are available at:
 
-https://www.dmtf.org/standards/pmci
+<https://www.dmtf.org/standards/pmci>
 
 Some of the reasons PLDM sounds promising (some of these are advantages over
 IPMI):
@@ -223,7 +223,7 @@
 
 a) With blocking API
 
-```
+```text
 +---------------+               +----------------+            +----------------+               +-----------------+
 |BMC requester/ |               |PLDM requester  |            |PLDM responder  |               |PLDM Daemon      |
 |client app     |               |lib (part of    |            |                |               |                 |
@@ -277,7 +277,7 @@
 
 b) With non-blocking API
 
-```
+```text
 +---------------+               +----------------+            +----------------+             +---------------+
 |BMC requester/ |               |PLDM requester  |            |PLDM responder  |             |PLDM daemon    |
 |client app     |               |lib (part of    |            |                |             |               |
@@ -335,7 +335,7 @@
 
 a) Define D-Bus interfaces to send and receive PLDM messages :
 
-```
+```python
 method sendPLDM(uint8 mctp_eid, uint8 msg[])
 
 signal recvPLDM(uint8 mctp_eid, uint8 pldm_instance_id, uint8 msg[])
@@ -376,8 +376,8 @@
   by sending it the PLDM GetFRURecordTable command. The pldmd should send this
   command if the host indicates support for the PLDM FRU spec. The pldmd
   receives a PLDM FRU record table from the host firmware (
-  www.dmtf.org/sites/default/files/standards/documents/DSP0257_1.0.0.pdf). The
-  daemon parses the FRU record table and hosts the PLDM FRU information on
+  <https://www.dmtf.org/sites/default/files/standards/documents/DSP0257_1.0.0.pdf>).
+  The daemon parses the FRU record table and hosts the PLDM FRU information on
   D-Bus.
 
 - Pldmd will also host the FRU inventory D-Bus from the xyz.openbmc_project.
@@ -517,7 +517,7 @@
 
 After doing the discovery of PLDM sensors, `pldmd` should initialize all found
 sensors by necessary commands (e.g., `SetNumericSensorEnable`,
-`SetSensorThresholds`, `SetSensorHysteresis and `InitNumericSensor`) and then
+`SetSensorThresholds`, `SetSensorHysteresis` and `InitNumericSensor`) and then
 start to update the sensor status to D-bus objects by polling or async event
 method depending on the capability of PLDM terminus.
 
diff --git a/designs/power-recovery.md b/designs/power-recovery.md
index 3465b0d..4154dbe 100644
--- a/designs/power-recovery.md
+++ b/designs/power-recovery.md
@@ -288,7 +288,7 @@
 
 The control of this policy can already bet set via the Redfish API.
 
-```
+```bash
 #  Power Restore Policy
 curl -k -H "Content-Type: application/json" -X PATCH -d '{"PowerRestorePolicy":"AlwaysOn"}' https://${bmc}/redfish/v1/Systems/system
 curl -k -H "Content-Type: application/json" -X PATCH -d '{"PowerRestorePolicy":"AlwaysOff"}' https://${bmc}/redfish/v1/Systems/system
diff --git a/designs/power-systems-memory-preserving-reboot.md b/designs/power-systems-memory-preserving-reboot.md
index 9834671..cc86179 100644
--- a/designs/power-systems-memory-preserving-reboot.md
+++ b/designs/power-systems-memory-preserving-reboot.md
@@ -1,4 +1,4 @@
-# Memory preserving reboot and System Dump extraction flow on POWER Systems.
+# Memory preserving reboot and System Dump extraction flow on POWER Systems
 
 Author: Dhruvaraj S <dhruvaraj@in.ibm.com>
 
@@ -131,7 +131,7 @@
 systems, an additional s0 interrupt will be sent to SBE to stop the cores
 immediately.
 
-#### 2 - Analyze the error data.
+#### 2 - Analyze the error data
 
 The attention listener on the BMC calls a chip-op to analyze the reason for the
 attention.
@@ -192,12 +192,12 @@
 Hypervisor sends down offload complete message to BMC and BMC sends it to HMC.
 The NBD endpoints are cleared.
 
-#### 12 - HMC verifies dump and send dump DELETE to BMC.
+#### 12 - HMC verifies dump and send dump DELETE to BMC
 
 HMC verifies the dump and send dump delete request to BMC BMC sends the dump
 delete message to hypervisor Hypervisor deletes dump in host memory.
 
-### Memory preserve reboot sequence.
+### Memory preserve reboot sequence
 
 ![Memory preserve reboot sequence](https://user-images.githubusercontent.com/16666879/77681484-64448100-6fbb-11ea-94b4-9f2256241b1c.jpeg)
 
diff --git a/designs/psu-firmware-update.md b/designs/psu-firmware-update.md
index 9c43313..d4344db 100644
--- a/designs/psu-firmware-update.md
+++ b/designs/psu-firmware-update.md
@@ -1,8 +1,11 @@
 # PSU firmware update
 
-Author: Lei YU <mine260309@gmail.com> <LeiYU>
+Author: Lei YU <mine260309@gmail.com> `LeiYU`
 
-Other contributors: Su Xiao <suxiao@inspur.com> Derek Howard <derekh@us.ibm.com>
+Other contributors:
+
+- Su Xiao <suxiao@inspur.com>
+- Derek Howard <derekh@us.ibm.com>
 
 Created: 2019-06-03
 
diff --git a/designs/redfish-authorization.md b/designs/redfish-authorization.md
index 5f9e4db..21f97c1 100644
--- a/designs/redfish-authorization.md
+++ b/designs/redfish-authorization.md
@@ -1,6 +1,6 @@
 # Dynamic Redfish Authorization
 
-Author: Nan Zhou (nanzhoumails@gmail.com)
+Author: Nan Zhou <nanzhoumails@gmail.com>
 
 Created: 08/08/2022
 
@@ -50,10 +50,10 @@
 
 References:
 
-1. https://redfish.dmtf.org/schemas/DSP0266_1.15.1.html#privilege-model
-2. https://redfish.dmtf.org/schemas/DSP0266_1.15.1.html#redfish-service-operation-to-privilege-mapping
-3. https://redfish.dmtf.org/schemas/DSP0266_1.15.1.html#roles
-4. https://redfish.dmtf.org/registries/v1/Redfish_1.3.0_PrivilegeRegistry.json
+1. <https://redfish.dmtf.org/schemas/DSP0266_1.15.1.html#privilege-model>
+2. <https://redfish.dmtf.org/schemas/DSP0266_1.15.1.html#redfish-service-operation-to-privilege-mapping>
+3. <https://redfish.dmtf.org/schemas/DSP0266_1.15.1.html#roles>
+4. <https://redfish.dmtf.org/registries/v1/Redfish_1.3.0_PrivilegeRegistry.json>
 
 ### Phosphor-user-manager
 
@@ -71,11 +71,11 @@
 
 References:
 
-1. https://github.com/openbmc/docs/blob/master/architecture/user-management.md
-2. https://github.com/openbmc/phosphor-user-manager
-3. https://github.com/openbmc/phosphor-dbus-interfaces/tree/master/yaml/xyz/openbmc_project/User
-4. https://linux.die.net/man/8/nslcd
-5. https://linux.die.net/man/8/nscd
+1. <https://github.com/openbmc/docs/blob/master/architecture/user-management.md>
+2. <https://github.com/openbmc/phosphor-user-manager>
+3. <https://github.com/openbmc/phosphor-dbus-interfaces/tree/master/yaml/xyz/openbmc_project/User>
+4. <https://linux.die.net/man/8/nslcd>
+5. <https://linux.die.net/man/8/nscd>
 
 ### BMCWeb
 
@@ -121,9 +121,9 @@
 
 References:
 
-1. https://github.com/openbmc/bmcweb/blob/d9f6c621036162e9071ce3c3a333b4544c6db870/include/authentication.hpp
-2. https://github.com/openbmc/bmcweb/blob/d9f6c621036162e9071ce3c3a333b4544c6db870/http/http_connection.hpp
-3. https://github.com/openbmc/bmcweb/blob/d9f6c621036162e9071ce3c3a333b4544c6db870/redfish-core/lib/roles.hpp
+1. <https://github.com/openbmc/bmcweb/blob/d9f6c621036162e9071ce3c3a333b4544c6db870/include/authentication.hpp>
+2. <https://github.com/openbmc/bmcweb/blob/d9f6c621036162e9071ce3c3a333b4544c6db870/http/http_connection.hpp>
+3. <https://github.com/openbmc/bmcweb/blob/d9f6c621036162e9071ce3c3a333b4544c6db870/redfish-core/lib/roles.hpp>
 
 ### Gaps
 
@@ -256,7 +256,7 @@
 The following diagram shows how assigned privileges of a power control service
 with identity (username in PAM, or CN/SAN in TLS) "power-service" is resolved.
 
-```
+```ascii
  +-----------------+
  |  power service  |
  |                 |
@@ -360,7 +360,7 @@
 Redfish role which is assigned a new set of OEM Redfish Privileges is mapped out
 below.
 
-```
+```ascii
          Root User                    BMCWeb                  Phosphor-User-Manager             Linux
               |   PATCH PrivilegeRegistry |                              |                        |
               |-------------------------->|   DBus: createGroup          |                        |
@@ -475,7 +475,7 @@
 
 A example execution flow for a read operation is mapped out below.
 
-```
+```ascii
     +---------------+
     |   BMCWeb      | Get
     |    routing    | /redfish/v1/Managers/${ManagerId}/EthernetInterfaces/
@@ -538,7 +538,7 @@
 Entity EthernetInterface so that users with "OemEthernetManager" can also send
 GET to EthernetInterface.
 
-```
+```json
 {
     Entity": "EthernetInterface",
     "OperationMap": {
diff --git a/designs/redfish-eventservice.md b/designs/redfish-eventservice.md
index f29f311..b54c544 100644
--- a/designs/redfish-eventservice.md
+++ b/designs/redfish-eventservice.md
@@ -109,9 +109,7 @@
 - Server Sent-Events (Section 12.5)
 - Security (Section 12 & 13.2.8)
 
-**BLOCK DIAGRAM**
-
-```
+```text
 +------------------------------------------------------------------------------------+
 |                                 CLIENT                                             |
 |                             EVENT LISTENER                                         |
@@ -161,7 +159,7 @@
 
 Push style events(HTTPS) flow diagram:
 
-```
+```text
 +-------------+   +------------+               +-------------------------------------+ +-----------------+
 |             |   |  CLIENT    |               |              BMCWEB                 | |   EVENT LOG/    |
 |   CLIENT    |   | LISTENERS  |               |RESOURCE SENDER  FORMATTER  MONITOR  | |TELEMETRY SERVICE|
@@ -301,7 +299,7 @@
 
 SSE flow diagram:
 
-```
+```text
 +-------------+   +------------+               +-------------------------------------+ +-----------------+
 |             |   |  CLIENT    |               |              BMCWEB                 | |   EVENT LOG/    |
 |   CLIENT    |   | LISTENERS  |               |RESOURCE SENDER  FORMATTER  MONITOR  | |TELEMETRY SERVICE|
@@ -465,44 +463,40 @@
 
 This document doesn't cover below component design.
 
-1.  Redfish Event Logs: This is existing implementation. In OpenBMC, All events
-    will be logged to Journal control logs and RSyslog service, monitors event
-    logs associated with "REDFISH_MESSAGE_ID" and write the required information
-    to "/var/log/redfish" for persisting the event logs.
+1. Redfish Event Logs: This is existing implementation. In OpenBMC, All events
+   will be logged to Journal control logs and RSyslog service, monitors event
+   logs associated with "REDFISH_MESSAGE_ID" and write the required information
+   to "/var/log/redfish" for persisting the event logs.
 
-         So EventService design is hooked to Redfish Event Logs majorly for below
-         two reasons.
+   So EventService design is hooked to Redfish Event Logs majorly for below two
+   reasons.
 
-           - Get the notification whenever new event is logged to Redfish event
-             Logs.
-           - Way to read the Redfish event log information.
+   - Get the notification whenever new event is logged to Redfish event Logs.
+   - Way to read the Redfish event log information.
 
-         This document covers one example Redfish Event Log implementation covered
-         under below design. As part of it, it uses inotify for getting
-         notification about new event log and read the log information by accessing
-         the redfish event log file.
+   This document covers one example Redfish Event Log implementation covered
+   under below design. As part of it, it uses inotify for getting notification
+   about new event log and read the log information by accessing the redfish
+   event log file.
 
-         Refer below link for more information on same.
+   Refer below link for more information on same.
+   [Redfish Logging](https://github.com/openbmc/docs/blob/master/redfish-logging-in-bmcweb.md)
 
-    [link](https://github.com/openbmc/docs/blob/master/redfish-logging-in-bmcweb.md)
+   If other OEM's has different implementation for Redfish EventLogs, they can
+   satisfy above mentioned two requirement and can hook it to EventService
+   design specified here. For example, If xyz OEM uses D-Bus based Redfish Event
+   logs, They can use 'signal' for notifying the new redfish event log and event
+   log information. They can replace 'inotify' with 'signal' and hook their OEM
+   specific Redfish event log to this Redfish EventService design.
 
-         If other OEM's has different implementation for Redfish EventLogs, they
-         can satisfy  above mentioned two requirement and can hook it to
-         EventService design specified here.
-         For example, If xyz OEM uses D-Bus based Redfish Event logs, They can
-         use 'signal' for notifying the new redfish event log and event log
-         information. They can replace 'inotify' with 'signal' and hook their
-         OEM specific Redfish event log to this Redfish EventService design.
+2. Telemetry service: Redfish telemetry service is used to gather all the
+   metrics reports associated with different resources such as Power metrics,
+   thermal metrics, memory metrics, processor metrics etc... Monitoring service
+   in telemetry supports different modes along with aggregated
+   operations(Single, average, max, min, sum etc..).
 
-2.  Telemetry service: Redfish telemetry service is used to gather all the
-    metrics reports associated with different resources such as Power metrics,
-    thermal metrics, memory metrics, processor metrics etc... Monitoring service
-    in telemetry supports different modes along with aggregated
-    operations(Single, average, max, min, sum etc..).
-
-         Refer below link for design document of telemetry service.
-
-    [link](https://gerrit.openbmc.org/#/c/openbmc/docs/+/24357/)
+   Refer below link for design document of telemetry service.
+   [Telemetry Service](https://gerrit.openbmc.org/#/c/openbmc/docs/+/24357/)
 
 ### Redfish resource schema's
 
@@ -516,10 +510,8 @@
 bmcweb webserver and synced with config json file for restoring and persisting
 the data.
 
-**EventService**
-
-Contains the attributes of the service such as Service Enabled, status, delivery
-retry attempts, Event Types, Subscriptions, Actions URI etc.
+**EventService** Contains the attributes of the service such as Service Enabled,
+status, delivery retry attempts, Event Types, Subscriptions, Actions URI etc.
 
 - URI : `/redfish/v1/EventService`
 - SCHEMA :
@@ -567,7 +559,7 @@
 The "Event service sender" is common entity for both type of resources. The
 formatter and monitor entities are different for each type of resources.
 
-**Event log monitor**
+#### Event log monitor
 
 In OpenBMC, all the redfish event logs are currently logged to persistent area
 of BMC filesystem("/var/log/redfish"). The "Event log monitor" service under
@@ -580,7 +572,7 @@
 It monitors the live events for sending asynchronously and does not send the
 events logged before bmcweb service start.
 
-**Event log formatter**
+#### Event log formatter
 
 It is used to format the request body by reading event logs passed from 'Event
 log monitor' and filter the data by reading subscription information. It will
@@ -592,7 +584,7 @@
 
 Refer Tested section for example request body.
 
-**MetricReport monitor**
+#### MetricReport monitor
 
 Telemetry monitoring service ( Not covered in this document) is responsible for
 gathering metrics from D-Bus sensors and exposing them as D-Bus objects.
@@ -612,13 +604,13 @@
 to communicate the subscriptions data whenever user creates or updates or delete
 subscription.
 
-**MetricReport formatter**
+#### MetricReport formatter
 
 The 'MetricReport formatter' is responsible for formatting the data which comes
 from 'MetricReport monitor/agent' by checking subscriptions information such as
 HttpHeaders, Custom text strings along with Telemetry report data.
 
-**Event service sender**
+#### Event service sender
 
 The "Event service sender" is used to send the formatted request body which is
 passed from 'Event log formatter' or 'Telemetry formatter' to all filtered
@@ -631,14 +623,14 @@
 interoperable networking libraries by providing low-level HTTP/1, WebSocket, and
 networking protocol vocabulary types and algorithms using the consistent
 asynchronous model of Boost.Asio. For more information on beast, refer
-[link](https://www.boost.org/doc/libs/develop/libs/beast/doc/html/beast/introduction.html)
+[Beast](https://www.boost.org/doc/libs/develop/libs/beast/doc/html/beast/introduction.html)
 
 1. PUSH style eventing: BMC uses the boost::beast for asynchronously sending
    events to the subscribed clients. Here is the Beast client Examples for
    sending the synchronous and asynchronous requests over encrypted and
    un-encrypted channels.
-   [link](https://www.boost.org/doc/libs/develop/libs/beast/example/http/client/async/)
-   [link](https://www.boost.org/doc/libs/develop/libs/beast/example/http/client/async-ssl/)
+   [Beast Async](https://www.boost.org/doc/libs/develop/libs/beast/example/http/client/async/)
+   [Beast AsyncSSL](https://www.boost.org/doc/libs/develop/libs/beast/example/http/client/async-ssl/)
 
 2. Server-Sent Events (SSE): The EventDestination resource of the subscription
    data shall contains the opaque of opened client SSE stream connection. After
@@ -734,7 +726,7 @@
 - Subscription structure: It holds the data associated with each
   EventDestination schema properties along with established connection handle.
 
-### Server-Sent Events (SSE):
+### Server-Sent Events (SSE)
 
 Server-Sent Events (SSE) is a server push technology enabling a browser to
 receive automatic updates from a server via HTTP connection. The Server-Sent
@@ -753,7 +745,7 @@
 until the client closes the socket. The bmcweb service should sent the response
 to GET URI with following headers.
 
-```
+```text
 'Content-Type': 'text/event-stream',
 'Cache-Control': 'no-cache',
 'Connection': 'keep-alive'
@@ -764,7 +756,7 @@
 postfix "\n" on each line. For representing the end of data, it should end with
 "\n\n". Example sending json response should look like
 
-```
+```text
 data: {\n
 data: "msg": "hello world",\n
 data: "id": 12345\n
@@ -776,9 +768,9 @@
 collection. Once bmcweb receives the SSE stream request, the open connection
 will be upgraded to WebSocket by checking the request Content-Type
 header(matches to 'text/event-stream') and keep the connection alive till the
-client/server closes the connection. Please refer
-[link](https://gerrit.openbmc.org/#/c/openbmc/bmcweb/+/13948/) for details on
-how to upgrade the connection for SSE. The "Context" property in the
+client/server closes the connection. Please refer to
+[code review](https://gerrit.openbmc.org/#/c/openbmc/bmcweb/+/13948/) for
+details on how to upgrade the connection for SSE. The "Context" property in the
 EventDestination resource shall be an opaque string generated by the service.
 
 Note: since its GET operation on existing open connection(which is authenticated
@@ -824,10 +816,10 @@
 
 Example for subscribing SSE with filters:
 
-```
+```text
 MessageId based filter:
 METHOD: GET
-URi: https://<BMCIP>/redfish/v1/EventService/SSE?MessageId='Alert.1.0.LanDisconnect'
+URI: https://<BMCIP>/redfish/v1/EventService/SSE?MessageId='Alert.1.0.LanDisconnect'
 
 RegistryPrefix based filter:
 https://sseuri?$filter=(RegistryPrefix eq Resource) or (RegistryPrefix eq
@@ -862,7 +854,7 @@
 threshold limit. If SSL negotiation fails, it will not retry for connection
 establishment. Users can upload new certificates. More details about certificate
 can be found at
-[link](https://github.com/openbmc/docs/blob/master/designs/redfish-tls-user-authentication.md)
+[TLS design](https://github.com/openbmc/docs/blob/master/designs/redfish-tls-user-authentication.md)
 
 Example for created Push style event is documented in testing section of same
 document.
@@ -883,19 +875,19 @@
 
 Example POST Request body:
 
-```
+```json
 {
   "Message": "Test Event for validation",
   "MessageArgs": [],
   "EventId": "OpenBMC.0.1.TestEvent",
-  "EventGroupId" : "",
+  "EventGroupId": "",
   "Severity": "OK"
 }
 ```
 
 ## Alternatives considered
 
-**HTTP POLLING**
+### HTTP POLLING
 
 Polling is a traditional technique where client repeatedly polls a server for
 data. The client makes a request and waits for the server to respond with data.
@@ -908,7 +900,7 @@
 polling and send the data/events when it happens on server side to the
 subscribed clients.
 
-**WEBSOCKET**
+### WEBSOCKET
 
 WebSocket provides a richer protocol to perform bi-directional, full-duplex
 communication. Having a two-way channel is more attractive for some case but in
@@ -920,7 +912,7 @@
 WebSocket on the other hand, require full-duplex connections and new Web Socket
 servers to handle the protocol.
 
-**IPMI PEF**
+### IPMI PEF
 
 Platform Event Filtering (PEF) provides a mechanism for configuring the BMC to
 take selected actions on event messages that it receives. This mechanism is IPMI
@@ -931,7 +923,7 @@
 
 - Direct journal logs vs Redfish event log file using inotify
 
-Considered reading direct journald logs using sd*journal*<xyz> api's but that
+Considered reading direct journald logs using `sd*journal*<xyz>` api's but that
 seems to be in-efficient because
 
 1. sdjournal has multiple logs currently( not just event logs) and so this
@@ -1025,120 +1017,120 @@
   should not create any subscription or open any http connection.
 - Max limit check: Creates max supported event subscriptions and validate.
 
-** Push style events: **
+### Push style events
 
 1. EventListner: Client should configure the web service for listening the
-   events (Example: http://192.168.1.2/Events).
+   events (Example: `http://192.168.1.2/Events`).
 
 2. Subscription: Client can subscribe for events on BMC using below
 
-```
-URI: /redfish/v1/EventService/Subscriptions
-METHOD: POST
-REQUEST BODY:
-{
-  "Destination":"http://192.168.1.2/Events",
-  "Context":"CustomText",
-  "Protocol":"Redfish",
-}
-```
+   ```text
+   URI: /redfish/v1/EventService/Subscriptions
+   METHOD: POST
+   REQUEST BODY:
+   {
+   "Destination":"http://192.168.1.2/Events",
+   "Context":"CustomText",
+   "Protocol":"Redfish",
+   }
+   ```
 
-     On successful event subscription client will receive 201(Created) http
-     status code along with created subscription ID. At this point onwards,
-     client will receive events associated with subscribed data.
+   On successful event subscription client will receive 201(Created) http status
+   code along with created subscription ID. At this point onwards, client will
+   receive events associated with subscribed data.
 
-     Client can use "SubmitTestEvent" (Documented above) to test the working
-     state.
+   Client can use "SubmitTestEvent" (Documented above) to test the working
+   state.
 
 3. ViewSubscription: Client can get the subscriptions details using
 
-```
-URI: /redfish/v1/EventService/Subscriptions/<ID>
-METHOD: GET
-```
+   ```text
+   URI: /redfish/v1/EventService/Subscriptions/<ID>
+   METHOD: GET
+   ```
 
 4. UpdateSubscription: At any point client can update the subscription
    information.
 
-```
-URI: /redfish/v1/EventService/Subscriptions/<ID>
-METHOD: PATCH
-REQUEST BODY:
-{
-  "Destination":"http://192.168.1.2/Events",
-  "Context":"Changed Custom Text",
-  "RegistryPrefix": "OpenBMC.0.2"
-}
-```
+   ```text
+   URI: /redfish/v1/EventService/Subscriptions/<ID>
+   METHOD: PATCH
+   REQUEST BODY:
+   {
+     "Destination":"http://192.168.1.2/Events",
+     "Context":"Changed Custom Text",
+     "RegistryPrefix": "OpenBMC.0.2"
+   }
+   ```
 
 5. DeleteSubscription: Client can unsubscribe and stop receiving events by
    deleting the subscription.
 
-```
-URI: /redfish/v1/EventService/Subscriptions/<ID>
-METHOD: DELETE
-```
+   ```text
+   URI: /redfish/v1/EventService/Subscriptions/<ID>
+   METHOD: DELETE
+   ```
 
-** Server-Sent events subscription: **
+### Server-Sent events subscription
 
 1. EventListner and Subscription: Client can open latest browser (chrome) and
    fire GET URI on "ServerSentEventUri" along with filters.
 
-```
-URI: /redfish/v1/EventService/SSE?RegistryPrefix='OpenBMC.0.2'&MessageId='OpenBMC.0.2.xyz"
-METHOD: GET
-```
+   ```text
+   URI: /redfish/v1/EventService/SSE?RegistryPrefix='OpenBMC.0.2'&MessageId='OpenBMC.0.2.xyz"
+   METHOD: GET
+   ```
 
-     On successful event subscription client will receive 200(Created) http
-     status code, subscription id along with below response headers for
-     streaming.
+   On successful event subscription client will receive 200(Created) http status
+   code, subscription id along with below response headers for streaming.
 
-```
-'Content-Type': 'text/event-stream',
-'Cache-Control': 'no-cache',
-'Connection': 'keep-alive'
-```
+   ```text
+   'Content-Type': 'text/event-stream',
+   'Cache-Control': 'no-cache',
+   'Connection': 'keep-alive'
+   ```
 
-     At this point onwards, client browser will receive events associated with
-     subscribed data.
+   At this point onwards, client browser will receive events associated with
+   subscribed data.
 
-     Client can use "SubmitTestEvent" (Documented above) to test the working
-     state.
+   Client can use "SubmitTestEvent" (Documented above) to test the working
+   state.
 
 2. ViewSubscription: Client can get the subscriptions details using
 
-```
-URI: /redfish/v1/EventService/Subscriptions/<ID>
-METHOD: GET
-```
+   ```text
+   URI: /redfish/v1/EventService/Subscriptions/<ID>
+   METHOD: GET
+   ```
 
 3. UpdateSubscription: At any point client can update the subscription
    information. Note Client can't change the destination as that is opaque
    associated with opened SSE connection.
 
-```
-URI: /redfish/v1/EventService/Subscriptions/<ID>
-METHOD: PATCH
-REQUEST BODY:
-{
-  "Context":"Changed Custom Text",
-  "RegistryPrefix": "OpenBMC.0.2"
-}
-```
+   ```text
+   URI: /redfish/v1/EventService/Subscriptions/<ID>
+   METHOD: PATCH
+   REQUEST BODY:
+   {
+     "Context":"Changed Custom Text",
+     "RegistryPrefix": "OpenBMC.0.2"
+   }
+   ```
 
 4. DeleteSubscription: There are two ways to close the connection from client.
+
    - Client can close the browser directly which will close the SSE http
      connection and so bmcweb service can close and delete the subscription
      data.
    - Client can also unsubscribe and stop receiving events by deleting the
      subscription.
 
-```
-URI: /redfish/v1/EventService/Subscriptions/<ID>
-METHOD: DELETE
-```
+   ```text
+   URI: /redfish/v1/EventService/Subscriptions/<ID>
+   METHOD: DELETE
+   ```
 
-** EventListner **
+### EventListner
 
 Push style Events:
 
@@ -1149,22 +1141,26 @@
 There are multiple EventListners exist and here is simple node js server, which
 can be run using "node server.js".
 
-```
+```js
 // server.js
 const http = require("http");
 var displayResponse;
 
-http.createServer((request, response) => {
+http
+  .createServer((request, response) => {
     console.log("Requested url: " + request.url);
     const { headers, method, url } = request;
 
-    if ((method.toLowerCase() == "post") && (url.toLowerCase() === "/events")) {
-        let body = [];
-        request.on('error', (err) => {
+    if (method.toLowerCase() == "post" && url.toLowerCase() === "/events") {
+      let body = [];
+      request
+        .on("error", (err) => {
           console.error(err);
-        }).on('data', (chunk) => {
+        })
+        .on("data", (chunk) => {
           body.push(chunk);
-        }).on('end', () => {
+        })
+        .on("end", () => {
           body = Buffer.concat(body).toString();
 
           console.log(body);
@@ -1173,13 +1169,16 @@
 
           response.statusCode = 200;
           response.end();
-        })
-    } else if ((method.toLowerCase() == "get") && (url.toLowerCase() === "/display_events")) {
+        });
+    } else if (
+      method.toLowerCase() == "get" &&
+      url.toLowerCase() === "/display_events"
+    ) {
       response.writeHead(200, {
         Connection: "keep-alive",
         "Content-Type": "text/event-stream",
         "Cache-Control": "no-cache",
-        "Access-Control-Allow-Origin": "*"
+        "Access-Control-Allow-Origin": "*",
       });
 
       displayResponse = response;
@@ -1187,8 +1186,11 @@
       response.writeHead(404);
       response.end();
     }
-  }).listen(5000, () => {
-    console.log("Use 'http://<IP>:5000/events' as destination to subscribe for BMC events");
+  })
+  .listen(5000, () => {
+    console.log(
+      "Use 'http://<IP>:5000/events' as destination to subscribe for BMC events",
+    );
     console.log("Open 'http://<IP>:5000/display_events' URL on browser\n");
   });
 ```
@@ -1202,12 +1204,12 @@
 listening events.
 
 You can also refer below link for details on Server-Sent events.
-(https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events)
+<https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events>
 
 Another simple python script for testing SSE using EventSource. Run it using
 "python sse-client.py".
 
-```
+```python
 // sse-client.py
 import requests, json, sys, time, re, os
 import sseclient
@@ -1238,28 +1240,28 @@
   print("\nERROR: Error in subscribing the SSE events\n")
 ```
 
-**EventService**
+#### EventService
 
 Supported properties:
 
-| PROPERTY NAME                | TYPE          | DESCRIPTION                                                                                                                                                                                                                                                                                                     |
-| ---------------------------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| ServiceEnabled               | Boolean       | This indicates whether event service is enabled. Default: True                                                                                                                                                                                                                                                  |
-| DeliveryRetryAttempts        | Integer       | This is the number of attempts an event posting is retried before the subscription is terminated. Default: 3                                                                                                                                                                                                    |
-| DeliveryRetryIntervalSeconds | Integer       | This represents the number of seconds between retry attempts for sending any given Event. Default: 30                                                                                                                                                                                                           |
-| EventFormatTypes             | Array(string) | Indicates the content types of the message that this service can send to the event destination. ** Event: ** Resource types of 'Event' sent to subscribed destination. This is default value if nothing is specified. ** MetricReport: ** Resource types of 'MetricReport' only sent to subscribed destination. |
-| RegistryPrefixes             | Array(string) | A list of the Prefixes of the Message Registries that can be used for the RegistryPrefix property on a subscription. If this property is absent or contains an empty array, the service does not support RegistryPrefix-based subscriptions.                                                                    |
-| ResourceTypes                | Array(string) | A list of the Prefixes of the message registries that can be used for the RegistryPrefix property on a subscription. If this property is absent or contains an empty array, the service does not support RegistryPrefix-based subscriptions                                                                     |
-| ServerSentEventUri           | String        | The value of this property shall be a URI that specifies an HTML5 Server-Sent Event conformant endpoint. URI: /redfish/v1/EventService/SSE                                                                                                                                                                      |
-| Subscriptions                | Object        | The value of this property shall contain the link to a collection of type EventDestinationCollection.                                                                                                                                                                                                           |
-| Actions                      | Object        | This action shall add a test event to the event service with the event data specified in the action parameters. More details on TestEvents captured below.                                                                                                                                                      |
+| PROPERTY NAME                | TYPE          | DESCRIPTION                                                                                                                                                                                                                                                                                                 |
+| ---------------------------- | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| ServiceEnabled               | Boolean       | This indicates whether event service is enabled. Default: True                                                                                                                                                                                                                                              |
+| DeliveryRetryAttempts        | Integer       | This is the number of attempts an event posting is retried before the subscription is terminated. Default: 3                                                                                                                                                                                                |
+| DeliveryRetryIntervalSeconds | Integer       | This represents the number of seconds between retry attempts for sending any given Event. Default: 30                                                                                                                                                                                                       |
+| EventFormatTypes             | Array(string) | Indicates the content types of the message that this service can send to the event destination. **Event:** Resource types of 'Event' sent to subscribed destination. This is default value if nothing is specified. **MetricReport:** Resource types of 'MetricReport' only sent to subscribed destination. |
+| RegistryPrefixes             | Array(string) | A list of the Prefixes of the Message Registries that can be used for the RegistryPrefix property on a subscription. If this property is absent or contains an empty array, the service does not support RegistryPrefix-based subscriptions.                                                                |
+| ResourceTypes                | Array(string) | A list of the Prefixes of the message registries that can be used for the RegistryPrefix property on a subscription. If this property is absent or contains an empty array, the service does not support RegistryPrefix-based subscriptions                                                                 |
+| ServerSentEventUri           | String        | The value of this property shall be a URI that specifies an HTML5 Server-Sent Event conformant endpoint. URI: /redfish/v1/EventService/SSE                                                                                                                                                                  |
+| Subscriptions                | Object        | The value of this property shall contain the link to a collection of type EventDestinationCollection.                                                                                                                                                                                                       |
+| Actions                      | Object        | This action shall add a test event to the event service with the event data specified in the action parameters. More details on TestEvents captured below.                                                                                                                                                  |
 
 Note: EventService.v1_3_0 was created to deprecate the EventTypesForSubscription
 and SSEFilterPropertiesSupported\EventType properties.
 
 Example GET Response:
 
-```
+```json
 {
   "@odata.context": "/redfish/v1/$metadata#EventService.EventService",
   "@odata.id": "/redfish/v1/EventService",
@@ -1271,15 +1273,10 @@
   },
   "DeliveryRetryAttempts": 3,
   "DeliveryRetryIntervalSeconds": 30,
-  "EventFormatTypes": [
-    "Event"
-  ],
+  "EventFormatTypes": ["Event"],
   "Id": "EventService",
   "Name": "Event Service",
-  "RegistryPrefixes": [
-    "Base",
-    "OpenBMC"
-  ],
+  "RegistryPrefixes": ["Base", "OpenBMC"],
   "ServerSentEventUri": "/redfish/v1/EventService/SSE",
   "ServiceEnabled": true,
   "Subscriptions": {
@@ -1288,11 +1285,11 @@
 }
 ```
 
-**Subscription Collections**
+#### Subscription Collections
 
 Example GET output:
 
-```
+```json
 {
   "@odata.type":"#EventDestinationCollection.EventDestinationCollection",
   "@odata.context":"/redfish/v1/$metadata#EventDestinationCollection.EventDestinationCollection",
@@ -1309,7 +1306,7 @@
 }
 ```
 
-**Subscriptions**
+#### Subscriptions
 
 Supported properties:
 
@@ -1325,37 +1322,27 @@
 
 Example GET Request:
 
-```
+```json
 {
   "@odata.context": "/redfish/v1/$metadata#EventDestination.EventDestination",
   "@odata.id": "/redfish/v1/EventService/Subscriptions/1",
   "@odata.type": "#EventDestination.v1_5_0.EventDestination",
   "Context": "143TestString",
   "Destination": "http://test3.domain.com/EventListener",
-  "EventFormatTypes": [
-    "Event"
-  ],
-  "HttpHeaders": [
-    "X-Auth-Token:XYZABCDEDF"
-  ],
+  "EventFormatTypes": ["Event"],
+  "HttpHeaders": ["X-Auth-Token:XYZABCDEDF"],
   "Id": "1",
-  "MessageIds": [
-    "InventoryAdded",
-    "InventoryRemoved"
-  ],
+  "MessageIds": ["InventoryAdded", "InventoryRemoved"],
   "Name": "EventSubscription 1",
   "Protocol": "Redfish",
-  "RegistryPrefixes": [
-    "Base",
-    "OpenBMC"
-  ],
+  "RegistryPrefixes": ["Base", "OpenBMC"],
   "SubscriptionType": "Event"
 }
 ```
 
 - Event log formatted response body looks like:
 
-```
+```text
 id: 1
 data:{
 data: "@odata.type": "#Event.v1_1_0.Event",
@@ -1384,7 +1371,7 @@
 
 - Configuration structure pseudo code:
 
-```
+```cpp
 struct EventSrvConfig
 {
     bool enabled;
@@ -1395,7 +1382,7 @@
 
 - Subscription structure pseudo code:
 
-```
+```cpp
 struct EventSrvSubscription
 {
     std::string destinationUri;
diff --git a/designs/redfish-pcie.md b/designs/redfish-pcie.md
index 9555d26..e714ac4 100644
--- a/designs/redfish-pcie.md
+++ b/designs/redfish-pcie.md
@@ -36,7 +36,7 @@
 the Redfish PCIe resources.
 
 The proposed D-Bus interface can be found here:
-https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/19768
+<https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/19768>
 
 The proposed producer will be a new D-Bus daemon that will be responsible for
 gathering and caching PCIe hardware data and maintaining the D-Bus interfaces
diff --git a/designs/redfish-postcodes.md b/designs/redfish-postcodes.md
index 0e4e329..6305ae4 100644
--- a/designs/redfish-postcodes.md
+++ b/designs/redfish-postcodes.md
@@ -20,7 +20,7 @@
 
 Sample [LogService](https://redfish.dmtf.org/schemas/LogService_v1.xml) entry:
 
-```
+```json
 https://obmc/redfish/v1/Systems/system/LogServices/PostCodes
 {
     "@odata.context": "/redfish/v1/$metadata#LogService.LogService",
@@ -44,7 +44,7 @@
 Events will be exposed using the
 [LogEntry](https://redfish.dmtf.org/schemas/LogEntry_v1.xml) schema.
 
-```
+```json
 https://obmc/redfish/v1/Systems/system/LogServices/PostCodes/Entries
 {
     "@odata.context": "/redfish/v1/$metadata#LogEntryCollection.LogEntryCollection",
@@ -79,7 +79,7 @@
 A new [MessageRegistry](https://redfish.dmtf.org/schemas/MessageRegistry_v1.xml)
 schema entry defines the format for the message.
 
-```
+```json
 https://obmc/redfish/v1/Registries/OpenBMC/OpenBMC
 {
     "@Redfish.Copyright": "Copyright 2018 OpenBMC. All rights reserved.",
@@ -123,7 +123,7 @@
 xyz.openbmc_project.State.Boot.PostCode service. The existing interface tracks
 POST codes for the past 100 host boot events and the current boot cycle index.
 
-```
+```json
 xyz.openbmc_project.State.Boot.PostCode
     GetPostCodes(q undefined) → [uint64] undefined
     CurrentBootCycleIndex = 1
@@ -133,23 +133,12 @@
 The GetPostCodes method is called using the boot cycle index to retrieve the
 codes for the boot cycle.
 
-```
+```json
 {
   "call": "GetPostCodes",
   "interface": "xyz.openbmc_project.State.Boot.PostCode",
   "obj": "/xyz/openbmc_project/State/Boot/PostCode",
-  "result": [
-    1,
-    2,
-    3,
-    4,
-    5,
-    6,
-    17,
-    50,
-    4,
-    173
-  ],
+  "result": [1, 2, 3, 4, 5, 6, 17, 50, 4, 173],
   "status": "ok"
 }
 ```
@@ -158,7 +147,7 @@
 new method GetPostCodesTS will be added to include an ISO formatted time stamp
 with micro-second resolution along with each POST code.
 
-```
+```json
 {
   "call": "GetPostCodesTS",
   "interface": "xyz.openbmc_project.State.Boot.PostCode",
@@ -182,7 +171,7 @@
 The DBus DeleteAll interface will be implemented to remove entries. The Redfish
 ClearLog action will call the DBus DeleteAll interface.
 
-```
+```json
 {
   "call": "DeleteAll",
   "interface": "xyz.openbmc_project.Collection.DeleteAll",
diff --git a/designs/redfish-resource-supplement-for-pfr.md b/designs/redfish-resource-supplement-for-pfr.md
index c6c7daf..11068e4 100644
--- a/designs/redfish-resource-supplement-for-pfr.md
+++ b/designs/redfish-resource-supplement-for-pfr.md
@@ -85,13 +85,13 @@
 it can not be re-provisioned.
 
 New OemComputerSystem schema can be found at
-[link](https://gerrit.openbmc.org/#/c/openbmc/bmcweb/+/24253/)
+[in review](https://gerrit.openbmc.org/#/c/openbmc/bmcweb/+/24253/).
 
 PFR in OpenBMC must support logging of resiliency error detection and
 correction. Below are two metadata entries in redfish message registry for
 redfish event logging capability. For more details on how to log redfish events
 can be found at document
-[Redfish logging in bmcweb ](https://github.com/openbmc/docs/blob/master/redfish-logging-in-bmcweb.md).
+[Redfish logging in bmcweb](https://github.com/openbmc/docs/blob/master/redfish-logging-in-bmcweb.md).
 
 Below type of events should be logged as part of PFR or provisioning. These
 redfish events are created for basic firmware components BIOS, BMC, CPLD and ME
@@ -147,7 +147,7 @@
 
 Event logs associated with BMC component is specified here as example.
 
-```
+```text
     MessageEntry{"BMCFirmwareResiliencyError",
                  {
                      "Indicates BMC firmware encountered resilience error",
@@ -199,7 +199,7 @@
   Method. Intel uses "Intel PFR" design (via BIOS) to provision and lock the PFR
   provisioning status.
 
-```
+```text
 URI: /redfish/v1/Systems/system
 METHOD: GET
 RESPONSE:
@@ -230,14 +230,14 @@
 
   Few examples to attack Firmware components and validate PFR:
 
-  1.  Corrupt the BMC/BIOS etc... firmware and check Panic events and recovery
-      actions events.
+  1. Corrupt the BMC/BIOS etc... firmware and check Panic events and recovery
+     actions events.
 
-  2.  Induce hardware watchdog trigger using known methods and check. etc..
+  2. Induce hardware watchdog trigger using known methods and check. etc..
 
-  3.  Corrupt the security key's by directly mocking hardware and validate.
+  3. Corrupt the security key's by directly mocking hardware and validate.
 
-```
+```text
 URI: /redfish/v1/Systems/system/LogServices/EventLog/Entries
 METHOD: GET
 ```
diff --git a/designs/redfish-spdm-attestation.md b/designs/redfish-spdm-attestation.md
index 3bcb844..6120c0c 100644
--- a/designs/redfish-spdm-attestation.md
+++ b/designs/redfish-spdm-attestation.md
@@ -50,11 +50,11 @@
 There are three type of information we will need from an attestation daemon on
 D-Bus:
 
-1.  Basic information, like attestation protocol, enablement status, update
-    timestamp, etc.
-2.  Identity information, e.g., device identity certificates.
-3.  Measurements information, e.g., measurements of the component firmware,
-    hardware configuration, etc.
+1. Basic information, like attestation protocol, enablement status, update
+   timestamp, etc.
+2. Identity information, e.g., device identity certificates.
+3. Measurements information, e.g., measurements of the component firmware,
+   hardware configuration, etc.
 
 So far, phosphor-dbus-interfaces lacks interfaces defined for attestation
 purpose. Thus, we propose three new interfaces:
@@ -145,10 +145,10 @@
 path. It is up to the vendor to do the association.
 
 For MCTP devices detection, the community has been working on `mctpreactor`
-daemon in dbus-sensors to handle the configuration. The link to implementation
-is [here](https://gerrit.openbmc.org/c/openbmc/dbus-sensors/+/69111), the
-related PR discussion is [here](https://github.com/CodeConstruct/mctp/pull/17).
-SPDM daemon will monitor `mctpd` for `InterfacesAdded` signals providing the
+daemon in dbus-sensors to handle the configuration. The proposed
+[implementation](https://gerrit.openbmc.org/c/openbmc/dbus-sensors/+/69111); the
+related [PR discussion](https://github.com/CodeConstruct/mctp/pull/17). SPDM
+daemon will monitor `mctpd` for `InterfacesAdded` signals providing the
 `xyz.openbmc_project.MCTP.Endpoint` interface, which exposes the message types
 supported by the endpoint in the `SupportedMessageTypes` member. SPDM daemon set
 up a connection with the SPDM-capable endpoints to get certificates and
@@ -158,7 +158,7 @@
 Below is a high-level diagram showing the relationship between different
 components.
 
-```
+```ascii
     +------+            +---------+
     |Client|            |Inventory|
     +--+---+            |Manager  |
@@ -292,8 +292,8 @@
 addition, the following repositories are expected to be modified to execute this
 design:
 
-- https://github.com/openbmc/bmcweb
-- https://github.com/openbmc/phosphor-dbus-interfaces
+- <https://github.com/openbmc/bmcweb>
+- <https://github.com/openbmc/phosphor-dbus-interfaces>
 
 ## Testing
 
diff --git a/designs/redfish-tls-user-authentication.md b/designs/redfish-tls-user-authentication.md
index dfde1d6..a794786 100644
--- a/designs/redfish-tls-user-authentication.md
+++ b/designs/redfish-tls-user-authentication.md
@@ -50,7 +50,7 @@
 proper `user`'s certificate from `CA`. After this certificate is acquired,
 `User` can use this certificate when initializing HTTPS sessions.
 
-```
+```text
 ┌──┐                           ┌────┐                                 ┌───────┐
 │CA│                           │User│                                 │Redfish│
 └┬─┘                           └─┬──┘                                 └───┬───┘
@@ -135,7 +135,7 @@
 
 #### Authentication Process
 
-```
+```text
                                     +-+
                                     +++
                                      |
@@ -199,8 +199,8 @@
 ```
 
 Certificate based authentication has the highest priority, because of the design
-of _Boost.Beast/Boost.ASIO/OpenSSL_ as the certificate verification is being
-done at the very beginning of HTTPS request processing. _OpenSSL_ library is
+of `Boost.Beast/Boost.ASIO/OpenSSL` as the certificate verification is being
+done at the very beginning of HTTPS request processing. `OpenSSL` library is
 responsible for determining whether certificate is valid or not. For certificate
 to be marked as valid, it (and every certificate in chain) has to meet these
 conditions:
@@ -216,9 +216,9 @@
 - certificate cannot be self-signed
 - issuer name has to match CA's subject name
 
-After these checks a callback is invoked providing result of user<->CA matching
-status. There, in case of success Redfish extracts username from `CommonName`
-and verifies if user does exist in the system.
+After these checks a callback is invoked providing result of `user<->CA`
+matching status. There, in case of success Redfish extracts username from
+`CommonName` and verifies if user does exist in the system.
 
 As can be seen on the flow diagram, Redfish will use **the first valid**
 credentials according to processing sequence. It is recommended for user to use
@@ -268,8 +268,8 @@
 
 As for TLS auth itself:
 
-1. Flow described in [Process overview](###process-overview) should be tested,
-   to confirm that after going through it, everything works as expected.
+1. Flow described in [Process overview](#process-overview) should be tested, to
+   confirm that after going through it, everything works as expected.
 2. Validity period tests - to confirm that certificates that are not-yet-valid
    and expired ones are not accepted, by both - changing validity periods in
    certificates themselves, as well as modifying time on BMC itself
diff --git a/designs/remote-bios-configuration.md b/designs/remote-bios-configuration.md
index 77bab9f..f814590 100644
--- a/designs/remote-bios-configuration.md
+++ b/designs/remote-bios-configuration.md
@@ -18,10 +18,9 @@
 
 ## Background and References
 
-[1]
-https://www.dmtf.org/sites/default/files/standards/documents/DSP0247_1.0.0.pdf
-[2] https://redfish.dmtf.org/schemas/v1/Bios.v1_1_0.json [3]
-https://redfish.dmtf.org/schemas/v1/AttributeRegistry.v1_3_2.json
+1. <https://www.dmtf.org/sites/default/files/standards/documents/DSP0247_1.0.0.pdf>
+2. <https://redfish.dmtf.org/schemas/v1/Bios.v1_1_0.json>
+3. <https://redfish.dmtf.org/schemas/v1/AttributeRegistry.v1_3_2.json>
 
 ## Requirements
 
@@ -48,7 +47,7 @@
 
 ## Proposed Design
 
-```
+```text
 +----------------------------------------------------------------------------------------------------------------+
 | Remote BIOS configuration (RBC) via BMC                                                                        |
 |                                                                                                                |
@@ -84,7 +83,7 @@
 +----------------------------------------------------------------------------------------------------------------+
 ```
 
-##Intel uses the following logic
+## Intel uses the following logic
 
 BIOS send data in as Proprietary format to the BMC via IPMI interface. There are
 two types of proprietary XML format files in BIOS configuration. Type-0 contain
@@ -115,7 +114,7 @@
 non-volatile storage. Pending attributes list will be cleared whenever new
 attributes data received.
 
-```
+```text
 #Intel uses the following logic for BIOS first boot
    +---------------------------------------------------------------------------------------------------------------------+
    |                                                                                                                     |
@@ -152,7 +151,7 @@
    +---------------------------------------+-----------------------------------------------------------------------------+
 ```
 
-```
+```text
 #Intel uses the following logic for BIOS reset
    +---------------------------------------------------------------------------------------------------------------------+
    |                                                                                                                     |
@@ -189,7 +188,7 @@
    +---------------------------------------+-----------------------------------------------------------------------------+
 ```
 
-```
+```text
 #Intel uses the following logic for BIOS reset and BMC have new values
    +---------------------------------------------------------------------------------------------------------------------+
    |                                                                                                                     |
@@ -234,7 +233,7 @@
 
 ```
 
-##BIOS send the data in BIOS configuration PLDM via MCTP
+## BIOS send the data in BIOS configuration PLDM via MCTP
 
 BIOS should update the BIOS settings via Set BIOS table PLDM command- BIOS
 string table, Attribute name table, Attribute value table via MCTP.
@@ -253,9 +252,9 @@
 non-volatile storage. PLDM daemon should preserve BIOS tables in non-volatile
 storage. RBC and PLDM should restored the data whenever BMC reset.
 
-#BIOS first boot
+## BIOS first boot
 
-```
+```text
 
    +--------------------------------------------------------------------------------------------------------------------+
    | +-----------------------+             +---------------------------------------------------------------------------+|
@@ -322,9 +321,9 @@
 
 ```
 
-##Complete BIOS BMC flow for BIOS configuration in deferred update model
+## Complete BIOS BMC flow for BIOS configuration in deferred update model
 
-```
+```text
 +----------------------------------------+                    +----------------------------------------+
 |                BIOS                    |                    |                  BMC                   |
 |                                        |                    |                                        |
@@ -368,9 +367,9 @@
 +----------------------------------------+                    +----------------------------------------+
 ```
 
-##Complete BIOS BMC flow for BIOS configuration in immediate update model
+## Complete BIOS BMC flow for BIOS configuration in immediate update model
 
-```
+```text
 +----------------------------------------+                    +----------------------------------------+
 |                BIOS                    |                    |                  BMC                   |
 |                                        |                    |                                        |
@@ -415,9 +414,9 @@
 clear the Pending Attributes list whenever new AllBaseBIOSTables received from
 BIOS.
 
-#Redfish interfaces for remote Bios configuration
+## Redfish interfaces for remote Bios configuration
 
-```
+```text
  +-----------------------------------------------------------------------------------------------------------+
  | +-------------------------+             +----------------------------------------------------------------+|
  | | RBC Web tool - POSTMAN  |             |   BMC                                                          ||
@@ -452,34 +451,32 @@
 
 1. Get Current Attributes name and value list: Get the current BIOS settings
    attribute name and value pair list. GET Method -
-   "https://<BMC IP address>/redfish/v1/Systems/system/Bios"
+   `https://<BMC>/redfish/v1/Systems/system/Bios`
 
 2. Get Attribute Registry: Get the detailed information about Bios Attribute
    like current value, supported value, description, Menupath, Default value.
-   GET Method - "https://<BMC IP address>/redfish/v1/Registries/Bios"
+   GET Method - `https://<BMC>/redfish/v1/Registries/Bios`
 
 3. Change BIOS password: ACTION -
-   "https://<BMC IP address>/redfish/v1/Systems/system/Bios/Actions/Bios.ChangePassword"
+   `https://<BMC>/redfish/v1/Systems/system/Bios/Actions/Bios.ChangePassword`
 
 4. Reset To default settings: ACTION -
-   "https://<BMC IP address>/redfish/v1/Systems/system/Bios/Actions/Bios.ResetBios"
+   `https://<BMC>/redfish/v1/Systems/system/Bios/Actions/Bios.ResetBios`
 
 5. Update new BIOS settings (single attribute): Use to send the new value for
    particular attribute or list of attributes. PATCH Method -
-   "https://<BMC IP address>/redfish/v1/Systems/system/Bios/Settings" Ex:
-   Attribute name and new value : { "DdrFreqLimit" : 2400}
+   `https://<BMC>/redfish/v1/Systems/system/Bios/Settings` Ex: Attribute name
+   and new value : `{ "DdrFreqLimit" : 2400 }`
 
 6. Get the new pending value list: Use to get the new pending attributes list.
-   GET Method -
-   "https://<BMC IP address>/redfish/v1/Systems/system/Bios/Settings" -Valid
+   GET Method - `https://<BMC>/redfish/v1/Systems/system/Bios/Settings` - Valid
    only in deferred model. For immediate update model, It will be empty. Ex:
-   Attribute name and new value : { "DdrFreqLimit" : 2400,"QuietBoot",0x1 }
+   Attribute name and new value : `{ "DdrFreqLimit" : 2400, "QuietBoot", 0x1 }`
 
 7. Update new BIOS settings (multiple attributes): Use to send the new value for
    particular attribute or list of attributes. PATCH Method -
-   "https://<BMC IP address>/redfish/v1/Systems/system/Bios/Settings" Ex:
-   Attribute name and new value list : { "DdrFreqLimit" : 2400},"QuietBoot",0x1
-   }
+   `https://<BMC>/redfish/v1/Systems/system/Bios/Settings` Ex: Attribute name
+   and new value list : `{ "DdrFreqLimit" : 2400, "QuietBoot", 0x1 }`
 
 ## Alternatives Considered
 
diff --git a/designs/state-management-and-external-interfaces.md b/designs/state-management-and-external-interfaces.md
index 072e63d..d0335e2 100644
--- a/designs/state-management-and-external-interfaces.md
+++ b/designs/state-management-and-external-interfaces.md
@@ -43,7 +43,7 @@
 
 The Redfish [ResetType][1] has the following operations associated with it:
 
-```
+```json
 "ResetType": {
     "enum": [
         "On",
@@ -180,4 +180,3 @@
 [1]: http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/ResetType
 [2]: https://github.com/openbmc/phosphor-state-manager
 [3]: https://github.com/openbmc/bmcweb
-[4]: https://gerrit.openbmc.org/c/openbmc/docs/+/22358
diff --git a/designs/target-fail-monitoring.md b/designs/target-fail-monitoring.md
index e598ca8..e4dcede 100644
--- a/designs/target-fail-monitoring.md
+++ b/designs/target-fail-monitoring.md
@@ -41,7 +41,7 @@
 completed unit. See the JobNew()/JobRemoved() section in the [systemd dbus
 API][3]. The six different results are:
 
-```
+```text
 done, canceled, timeout, failed, dependency, skipped
 ```
 
@@ -73,7 +73,7 @@
   status that failed (i.e. canceled, timeout, ...)
   - Example:
 
-```
+```text
     xyz.openbmc_project.State.BMC.Error.MultiUserTargetFailure
     STATUS=timeout
 ```
@@ -82,10 +82,10 @@
   targets
   - Critical systemd targets are ones used by phosphor-state-manager
     - BMC: multi-user.target
-    - Chassis: obmc-chassis-poweron@0.target, obmc-chassis-poweroff@0.target
-    - Host: obmc-host-start@0.target, obmc-host-startmin@0.target,
-      obmc-host-shutdown@0.target, obmc-host-stop@0.target,
-      obmc-host-reboot@0.target
+    - Chassis: `obmc-chassis-poweron@0.target, obmc-chassis-poweroff@0.target`
+    - Host: `obmc-host-start@0.target, obmc-host-startmin@0.target`,
+      `obmc-host-shutdown@0.target`, `obmc-host-stop@0.target`,
+      `obmc-host-reboot@0.target`
   - The errors for these must be defined in phosphor-dbus-interfaces
 - Limitations:
   - Fully qualified target name must be input (i.e. no templated / wild card
@@ -108,31 +108,31 @@
 
 The json file(s) would have the following format for targets:
 
-```
+```json
 {
-    "targets" : [
-        {
-            "name": "multi-user.target",
-            "errorsToMonitor": ["default"],
-            "errorToLog": "xyz.openbmc_project.State.BMC.Error.MultiUserTargetFailure",
-        },
-        {
-            "name": "obmc-chassis-poweron@0.target",
-            "errorsToMonitor": ["timeout", "failed"],
-            "errorToLog": "xyz.openbmc_project.State.Chassis.Error.PowerOnTargetFailure",
-        }
-      ]
+  "targets": [
+    {
+      "name": "multi-user.target",
+      "errorsToMonitor": ["default"],
+      "errorToLog": "xyz.openbmc_project.State.BMC.Error.MultiUserTargetFailure"
+    },
+    {
+      "name": "obmc-chassis-poweron@0.target",
+      "errorsToMonitor": ["timeout", "failed"],
+      "errorToLog": "xyz.openbmc_project.State.Chassis.Error.PowerOnTargetFailure"
+    }
+  ]
 }
 ```
 
 The json (files) would have the following format for services:
 
-```
+```json
 {
-    "services" : [
-        "xyz.openbmc_project.biosconfig_manager.service",
-        "xyz.openbmc_project.Dump.Manager.service"
-        ]
+  "services": [
+    "xyz.openbmc_project.biosconfig_manager.service",
+    "xyz.openbmc_project.Dump.Manager.service"
+  ]
 }
 ```
 
diff --git a/designs/telemetry.md b/designs/telemetry.md
index 7a646c2..88254df 100644
--- a/designs/telemetry.md
+++ b/designs/telemetry.md
@@ -2,8 +2,10 @@
 
 Author: Piotr Matuszczak <piotr.matuszczak@intel.com>
 
-Other contributors: Pawel Rapkiewicz <pawel.rapkiewicz@intel.com> <pawelr>,
-Kamil Kowalski <kamil.kowalski@intel.com>
+Other contributors:
+
+- Pawel Rapkiewicz <pawel.rapkiewicz@intel.com> `pawelr`
+- Kamil Kowalski <kamil.kowalski@intel.com>
 
 Created: 2019-08-07
 
@@ -272,13 +274,13 @@
 additional sensor readings because it already has the latest values, since they
 are updated on PropertiesChanged signal from the D-Bus sensors.
 
-**Telemetry service on [D-Bus][4]**
+### Telemetry service on [D-Bus][4]
 
 Telemetry service exposes specific interfaces on D-Bus. One of them will be used
 for reading report management. The second one will be used for triggers
 management.
 
-**Reading report management**
+### Reading report management
 
 The reading report management D-Bus object:
 
@@ -307,7 +309,7 @@
 this metric. Each report has also the property that stores update interval (for
 periodically updated reports).
 
-**Trigger management**
+### Trigger management
 
 The trigger management D-Bus object:
 
@@ -415,7 +417,7 @@
 | string      | Unique metric Id                                                                                                                                                                         |
 | object path | D-Bus path of existing reading report. This is required when trigger's action is to update metric report. This path shall point to existing reading report within the Telemetry service. |
 
-**Trigger operations**
+### Trigger operations\*\*
 
 Triggers support three types of operation: Log, Event and Update. For each,
 there is a different way of proceeding.
@@ -425,33 +427,33 @@
    Redfish log service shall then retrieve the data by reading system journal.
    All is shown on the diagram below.
 
-```ascii
-+---------------------------+
-|bmcweb|                    |         +----------------------+
-+------/    +-----------+-+ |         |Telemetry|            |
-|           |Redfish    | | |         +---------/            |
-|           |log service| | |         |                      |
-|           +-----------/ | |         |                      |
-|           |             | |         |                      |
-|           |             | |         |                      |
-|           +------^------+ |         +-----------+----------+
-+---------------------------+                     |
-                   |                              |
-                   +----collect----+            event
-                     journal entry |      (write to journal)
-                                   |              |
-       +------------------------------------+     |
-       |systemd|                   |        |     |
-       +-------/ +----------+  +---+------+ |     |
-       |         |journal|  |  |libjournal| |     |
-       |         +-------/  <-->          <-------+
-       |         |          |  +----------+ |
-       |         |          |               |
-       |         |          |               |
-       |         +----------+               |
-       |                                    |
-       +------------------------------------+
-```
+   ```ascii
+   +---------------------------+
+   |bmcweb|                    |         +----------------------+
+   +------/    +-----------+-+ |         |Telemetry|            |
+   |           |Redfish    | | |         +---------/            |
+   |           |log service| | |         |                      |
+   |           +-----------/ | |         |                      |
+   |           |             | |         |                      |
+   |           |             | |         |                      |
+   |           +------^------+ |         +-----------+----------+
+   +---------------------------+                     |
+                      |                              |
+                      +----collect----+            event
+                        journal entry |      (write to journal)
+                                      |              |
+          +------------------------------------+     |
+          |systemd|                   |        |     |
+          +-------/ +----------+  +---+------+ |     |
+          |         |journal|  |  |libjournal| |     |
+          |         +-------/  <-->          <-------+
+          |         |          |  +----------+ |
+          |         |          |               |
+          |         |          |               |
+          |         +----------+               |
+          |                                    |
+          +------------------------------------+
+   ```
 
 2. For action Event, the Telemetry service shall send event using the [Redfish
    Event Service][6] either as push-style event or SSE.
@@ -462,7 +464,7 @@
    signal. This will cause Redfish Metric Report to be streamed out if it was
    configured to do so.
 
-**Redfish Telemetry Service API**
+### Redfish Telemetry Service API
 
 Redfish Telemetry Service shall support 2019.1 Redfish schemas for telemetry
 resources. Metric report definitions determines which metrics are to be include
@@ -661,7 +663,7 @@
 }
 ```
 
-**Performance tests**
+### Performance tests
 
 Performance test were conducted on the AST2500 system with 64 MB flash and 512
 MB RAM. Flash consumption by the Telemetry service is 197.5 kB. The runtime
@@ -769,7 +771,7 @@
 - Functional tests
 - Performance tests
 
-**Unit tests**
+### Unit tests
 
 The Telemetry's code shall be covered by the unit tests. The preferred framework
 is the [GTest/GMock][7]. The unit tests shall be ran before code change is to be
@@ -778,7 +780,7 @@
 according to test-driven development principle. Unit tests shall be also
 carefully reviewed.
 
-**Functional tests**
+### Functional tests
 
 Functional tests will be divided into two steps.
 
@@ -796,7 +798,7 @@
 scenarios with sending metric report as an event, triggering metric report
 update and logging events.
 
-**Performance tests**
+### Performance tests
 
 Performance tests shall be done using full OpenBMC configuration with all the
 required set of features. The tests shall create a lot of metric reports (up to
diff --git a/designs/thermal-control-modes.md b/designs/thermal-control-modes.md
index 163784f..8a65724 100644
--- a/designs/thermal-control-modes.md
+++ b/designs/thermal-control-modes.md
@@ -32,7 +32,7 @@
 overall power dissipation.
 
 Mathematical calculations to logically estimate exit air temps:
-https://github.com/openbmc/dbus-sensors/blob/master/src/ExitAirTempSensor.cpp
+<https://github.com/openbmc/dbus-sensors/blob/master/src/ExitAirTempSensor.cpp>
 
 ## Requirements
 
diff --git a/designs/uart-mux-support.md b/designs/uart-mux-support.md
index d71a6d9..1bf0e27 100644
--- a/designs/uart-mux-support.md
+++ b/designs/uart-mux-support.md
@@ -216,7 +216,7 @@
 
 Example:
 
-```
+```bash
 busctl set-property xyz.openbmc_project.Console.host1 \
 /xyz/openbmc_project/console/host2 \
 xyz.openbmc_project.Console.Access Connect ""
@@ -227,7 +227,7 @@
 
 Unified Tree:
 
-```
+```text
 busctl tree --user xyz.openbmc_project.Console.host1
 └─/xyz
   └─/xyz/openbmc_project
@@ -238,7 +238,7 @@
 
 Split Tree:
 
-```
+```text
 busctl tree --user xyz.openbmc_project.Console.host1
 └─/xyz
   └─/xyz/openbmc_project
@@ -392,7 +392,7 @@
 Below is a block diagram of the relationships between the software and hardware
 components:
 
-```
+```text
                                           +--------------------+
                                           | server.conf        |
                                           +--------------------+
@@ -434,7 +434,7 @@
 
 The initial format of these messages will be something like:
 
-```
+```text
 [obmc-console] %Y-%m-%d %H:%M:%S UTC CONNECTED
 [obmc-console] %Y-%m-%d %H:%M:%S UTC DISCONNECTED
 ```
diff --git a/designs/unique-hostname.md b/designs/unique-hostname.md
index 14e5c22..a919f35 100644
--- a/designs/unique-hostname.md
+++ b/designs/unique-hostname.md
@@ -18,9 +18,9 @@
 The detailed issue regarding the hostname and service name conflicts is
 described in the following links.
 
-https://github.com/openbmc/openbmc/issues/1741.
-https://lists.freedesktop.org/archives/avahi/2018-January/002492.html
-https://github.com/lathiat/avahi/issues/117
+- <https://github.com/openbmc/openbmc/issues/1741.>
+- <https://lists.freedesktop.org/archives/avahi/2018-January/002492.html>
+- <https://github.com/lathiat/avahi/issues/117>
 
 ## Requirements
 
diff --git a/designs/virtual-media.md b/designs/virtual-media.md
index f858267..683b9b1 100644
--- a/designs/virtual-media.md
+++ b/designs/virtual-media.md
@@ -1,10 +1,11 @@
 # Virtual Media (a.k.a. Remote Media)
 
-Author: Pawel Rapkiewicz <pawel.rapkiewicz@intel.com> <pawelr>
+Author: Pawel Rapkiewicz <pawel.rapkiewicz@intel.com> `pawelr`
 
-Other contributors: Przemyslaw Czarnowski
-<przemyslaw.hawrylewicz.czarnowski@intel.com> Anna Platash
-<anna.platash@intel.com>
+Other contributors:
+
+- Przemyslaw Czarnowski <przemyslaw.hawrylewicz.czarnowski@intel.com>
+- Anna Platash <anna.platash@intel.com>
 
 Created: 6/4/2019
 
@@ -291,14 +292,14 @@
 Schema will look similar for both Proxy and Legacy Mode. Some key differences as
 follows:
 
-| Field Name           | Proxy Mode | Legacy Mode                      | Comment                                                         |
-| -------------------- | ---------- | -------------------------------- | --------------------------------------------------------------- |
-| InsertMedia          | N/A        | action as described by DMTF spec | Action can return Task object if<br> process is time consumming |
-| Image                | N/A        | image location                   |                                                                 |
-| ImageName            | N/A        | image name                       |                                                                 |
-| ConnectedVia         | "Applet"   | as described by DMTF spec        | applies only for connected media                                |
-| TransferMethod       | "Stream"   | "Stream"                         | "upload" is not supported by design                             |
-| TransferProtocolType | "OEM"      | as described by DMTF spec        |                                                                 |
+| Field Name           | Proxy Mode | Legacy Mode                      | Comment                                                    |
+| -------------------- | ---------- | -------------------------------- | ---------------------------------------------------------- |
+| InsertMedia          | N/A        | action as described by DMTF spec | Action can return Task object if process is time consuming |
+| Image                | N/A        | image location                   |                                                            |
+| ImageName            | N/A        | image name                       |                                                            |
+| ConnectedVia         | "Applet"   | as described by DMTF spec        | applies only for connected media                           |
+| TransferMethod       | "Stream"   | "Stream"                         | "upload" is not supported by design                        |
+| TransferProtocolType | "OEM"      | as described by DMTF spec        |                                                            |
 
 #### Virtual Media OEM Extension
 
@@ -306,7 +307,7 @@
 directly via Redfish action and whole connection is processed between service
 and web server.
 
-For [Proxy Mode](#Proxy-Mode) nbd data is served by client web browser. Having
+For [Proxy Mode](#proxy-mode) nbd data is served by client web browser. Having
 multiple connections, in order to setup connection, client needs the information
 about the location of websocket created by web server. This value is exposed as
 OEM `WebSocketEndpoint` property for each item.
diff --git a/designs/virtual-sensors.md b/designs/virtual-sensors.md
index bda4f8c..2f33a94 100644
--- a/designs/virtual-sensors.md
+++ b/designs/virtual-sensors.md
@@ -1,4 +1,4 @@
-### Virtual sensors
+# Virtual sensors
 
 Author: Vijay Khemka <vijaykhemka@fb.com>; <vijay!>
 
diff --git a/designs/vpd-collection.md b/designs/vpd-collection.md
index 1e52b63..96e086c 100644
--- a/designs/vpd-collection.md
+++ b/designs/vpd-collection.md
@@ -158,7 +158,7 @@
   containing keywords SN, FN and CCIN, the representation in D-Bus would look
   like:
 
-```
+```text
 Interface: com.ibm.ipzvpd.VINI
 Properties:
     SN
@@ -222,9 +222,9 @@
 
 ### Build upon the entity manager
 
-Using the entity manager: https://github.com/openbmc/entity-manager. The Entity
-manager has an application called the FruDevice, which probes /dev/i2c/ for
-EEPROMs, reads (IPMI format) VPD and stores it on DBUS.
+Using the entity manager: <https://github.com/openbmc/entity-manager>. The
+Entity manager has an application called the FruDevice, which probes /dev/i2c/
+for EEPROMs, reads (IPMI format) VPD and stores it on DBUS.
 
 The application could be enhanced to:
 
diff --git a/development/add-new-system.md b/development/add-new-system.md
index 4f433e8..4b4368f 100644
--- a/development/add-new-system.md
+++ b/development/add-new-system.md
@@ -67,7 +67,7 @@
 within `meta-ibm/meta-romulus/`. The Romulus layer is defined within the `conf`
 subdirectory. Under `conf` you will see a layout like this:
 
-```
+```bash
 meta-ibm/meta-romulus/conf/
 ├── bblayers.conf.sample
 ├── conf-notes.txt
@@ -80,7 +80,7 @@
 To create our new romulus-prime system we are going to start out by copying our
 romulus layer.
 
-```
+```bash
 cp -R meta-ibm/meta-romulus meta-ibm/meta-romulus-prime
 ```
 
@@ -154,7 +154,7 @@
    the conf file for your build. You can manually copy in the new files or just
    remove it and let BitBake do it for you:
 
-   ```
+   ```bash
    cd ..
    rm -r ./build/conf
    . setup romulus-prime
@@ -179,7 +179,7 @@
 
    Create a config files as follows:
 
-   ```
+   ```bash
    cp meta-ibm/meta-romulus-prime/recipes-phosphor/workbook/romulus-config.bb meta-ibm/meta-romulus-prime/recipes-phosphor/workbook/romulus-prime-config.bb
 
    vi meta-ibm/meta-romulus-prime/recipes-phosphor/workbook/romulus-prime-config.bb
@@ -192,15 +192,15 @@
 
    #Use Romulus config
    do_make_setup() {
-           cp ${S}/Romulus.py \
-                   ${S}/obmc_system_config.py
-           cat <<EOF > ${S}/setup.py
+          cp ${S}/Romulus.py \
+                  ${S}/obmc_system_config.py
+          cat <<EOF > ${S}/setup.py
    from distutils.core import setup
 
    setup(name='${BPN}',
-       version='${PR}',
-       py_modules=['obmc_system_config'],
-       )
+      version='${PR}',
+      py_modules=['obmc_system_config'],
+      )
    EOF
    }
 
@@ -215,7 +215,7 @@
    romulus-prime to use the romulus.cfg file. We just need to add the `-prime`
    to the prepend path.
 
-   ```
+   ```bash
    vi ./meta-ibm/meta-romulus-prime/recipes-kernel/linux/linux-aspeed_%.bbappend
 
    FILESEXTRAPATHS_prepend_romulus-prime := "${THISDIR}/${PN}:"
@@ -234,7 +234,7 @@
    is an example of this process. Upstreaming to the kernel is a lesson in
    itself. For this lesson, we will simply use the Romulus kernel config files.
 
-   ```
+   ```bash
    vi ./meta-ibm/meta-romulus-prime/conf/machine/romulus-prime.conf
    # Replace the ${MACHINE} variable in the KERNEL_DEVICETREE
 
@@ -252,7 +252,7 @@
 Your new image will be in the following location from where you ran your
 "bitbake" command:
 
-```
+```bash
 ./tmp/deploy/images/romulus-prime/obmc-phosphor-image-romulus-prime.static.mtd
 ```
 
@@ -262,7 +262,7 @@
 
 Once booted, you should see the following for the login:
 
-```
+```text
 romulus-prime login:
 ```
 
@@ -278,9 +278,9 @@
 
 This section describes how you can make changes to the kernel to port OpenBMC to
 a new machine. The device tree is in
-https://github.com/openbmc/linux/tree/dev-4.13/arch/arm/boot/dts. For examples,
-see [aspeed-bmc-opp-romulus.dts][1] or a similar machine. Complete the following
-steps to make kernel changes:
+<https://github.com/openbmc/linux/tree/dev-4.13/arch/arm/boot/dts>. For
+examples, see [aspeed-bmc-opp-romulus.dts][1] or a similar machine. Complete the
+following steps to make kernel changes:
 
 1. Add the new machine device tree:
    - Describe the GPIOs, e.g. LED, FSI, gpio-keys, etc. You should get such info
@@ -387,21 +387,25 @@
 
 - [w83773g@4c.conf][8] defines the `w83773` temperature sensor containing 3
   temperatures:
-  ```
+
+```bash
   LABEL_temp1 = "outlet"
   ...
   LABEL_temp2 = "inlet_cpu"
   ...
   LABEL_temp3 = "inlet_io"
-  ```
-  This device is defined in its device tree as [w83773g@4c][9]. When BMC starts,
-  the udev rule will start `phosphor-hwmon` and it will create temperature
-  sensors on below DBus objects based on its sysfs attributes.
-  ```
+```
+
+This device is defined in its device tree as [w83773g@4c][9]. When BMC starts,
+the udev rule will start `phosphor-hwmon` and it will create temperature sensors
+on below DBus objects based on its sysfs attributes.
+
+```bash
   /xyz/openbmc_project/sensors/temperature/outlet
   /xyz/openbmc_project/sensors/temperature/inlet_cpu
   /xyz/openbmc_project/sensors/temperature/inlet_io
-  ```
+```
+
 - [pwm-tacho-controller@1e786000.conf][10] defines the fans and the config is
   similar as above, the difference is that it creates `fan_tach` sensors.
 - [occ-hwmon.1.conf][11] defines the occ hwmon sensor for master CPU. This
@@ -409,7 +413,8 @@
   label instead of directly getting the index of the sensor, because CPU cores
   and DIMMs could be dynamic, e.g. CPU cores could be disabled, DIMMs could be
   pulled out.
-  ```
+
+```bash
   MODE_temp1 = "label"
   MODE_temp2 = "label"
   ...
@@ -422,21 +427,22 @@
   LABEL_temp34 = "dimm7_temp"
   LABEL_power2 = "p0_power"
   ...
-  ```
-  - The `MODE_temp* = "label"` tells that if it sees `tempX`, it shall read the
-    label which is the sensor id.
-  - And `LABEL_temp* = "xxx"` tells the sensor name for the corresponding sensor
-    id.
-  - For example, if `temp1_input` is 37000 and `temp1_label` is 91 in sysfs,
-    `phosphor-hwmon` knows `temp1_input` is for sensor id 91, which is
-    `p0_core0_temp`, so it creates
-    `/xyz/openbmc_project/sensors/temperature/p0_core0_temp` with sensor
-    value 37000.
-  - For Romulus, the power sensors do not need to read label since all powers
-    are available on a system.
-  - For Witherspoon, the power sensors are similar to temperature sensors, that
-    it shall tell hwmon to read the `function_id` instead of directly getting
-    the index of the sensor.
+```
+
+- The `MODE_temp* = "label"` tells that if it sees `tempX`, it shall read the
+  label which is the sensor id.
+- And `LABEL_temp* = "xxx"` tells the sensor name for the corresponding sensor
+  id.
+- For example, if `temp1_input` is 37000 and `temp1_label` is 91 in sysfs,
+  `phosphor-hwmon` knows `temp1_input` is for sensor id 91, which is
+  `p0_core0_temp`, so it creates
+  `/xyz/openbmc_project/sensors/temperature/p0_core0_temp` with sensor
+  value 37000.
+- For Romulus, the power sensors do not need to read label since all powers are
+  available on a system.
+- For Witherspoon, the power sensors are similar to temperature sensors, that it
+  shall tell hwmon to read the `function_id` instead of directly getting the
+  index of the sensor.
 
 ### LEDs
 
@@ -445,54 +451,59 @@
 1. In kernel dts, LEDs shall be described, e.g. [romulus dts][12] describes 3
    LEDs, `fault`, `identify` and `power`.
 
-   ```
-     leds {
-       compatible = "gpio-leds";
+   ```dts
+    leds {
+      compatible = "gpio-leds";
 
-       fault {
-         gpios = <&gpio ASPEED_GPIO(N, 2) GPIO_ACTIVE_LOW>;
-       };
+      fault {
+        gpios = <&gpio ASPEED_GPIO(N, 2) GPIO_ACTIVE_LOW>;
+      };
 
-       identify {
-         gpios = <&gpio ASPEED_GPIO(N, 4) GPIO_ACTIVE_HIGH>;
-       };
+      identify {
+        gpios = <&gpio ASPEED_GPIO(N, 4) GPIO_ACTIVE_HIGH>;
+      };
 
-       power {
-         gpios = <&gpio ASPEED_GPIO(R, 5) GPIO_ACTIVE_LOW>;
-       };
-     };
+      power {
+        gpios = <&gpio ASPEED_GPIO(R, 5) GPIO_ACTIVE_LOW>;
+      };
+    };
    ```
 
 2. In machine layer, LEDs shall be configured via yaml to describe how it
    functions, e.g. [Romulus led yaml][28]:
-   ```
+
+   ```yaml
    bmc_booted:
-       power:
-           Action: 'Blink'
-           DutyOn: 50
-           Period: 1000
-           Priority: 'On'
+     power:
+       Action: "Blink"
+       DutyOn: 50
+       Period: 1000
+       Priority: "On"
    power_on:
-       power:
-           Action: 'On'
-           DutyOn: 50
-           Period: 0
-           Priority: 'On'
-   ...
+     power:
+       Action: "On"
+       DutyOn: 50
+       Period: 0
+       Priority: "On"
    ```
+
    It tells the LED manager to set the `power` LED to blink when BMC is ready
-   and booted, and set it on when host is powered on.
-3. At runtime, LED manager automatically set LEDs on/off/blink based on the
-   above yaml config.
-4. LED can be accessed manually via /xyz/openbmc_project/led/, e.g.
-   - Get identify LED state:
-     ```
-     curl -b cjar -k https://$bmc/xyz/openbmc_project/led/physical/identify
-     ```
-   - Set identify LED to blink:
-     ```
-     curl -b cjar -k -X PUT -H "Content-Type: application/json" -d '{"data": "xyz.openbmc_project.Led.Physical.Action.Blink" }' https://$bmc/xyz/openbmc_project/led/physical/identify/attr/State
-     ```
+   and booted, and set it on when host is powered on. 3. At runtime, LED manager
+   automatically set LEDs on/off/blink based on the above yaml config. 4. LED
+   can be accessed manually via /xyz/openbmc_project/led/, e.g.
+
+3. Get identify LED state:
+
+   ```bash
+    curl -b cjar -k https://$bmc/xyz/openbmc_project/led/physical/identify
+   ```
+
+4. Set identify LED to blink:
+
+   ```bash
+    curl -b cjar -k -X PUT -H "Content-Type: application/json" -d '{"data": "xyz.openbmc_project.Led.Physical.Action.Blink" }' https://$bmc/xyz/openbmc_project/led/physical/identify/attr/State
+   ```
+
 5. When an error related to a FRU occurs, an event log is created in logging
    with a CALLOUT path. [phosphor-fru-fault-monitor][29] monitors the logs:
    - Assert the related fault LED group when a log with the CALLOUT path is
@@ -522,7 +533,7 @@
 For ipmi-sensor-inventory, the sensors from IPMI are different between systems,
 so you need to define your own sensors, e.g.
 
-```
+```yaml
 0x08:
   sensorType: 0x07
   path: /org/open_power/control/occ0
@@ -566,7 +577,7 @@
 
 Romulus has no GPIO detection for fans, so it checks fan tach sensor:
 
-```
+```yaml
 - name: fan0
   path: /system/chassis/motherboard/fan0
   methods:
@@ -587,17 +598,17 @@
 and the fan speed ranges from 0 to about 7000. So it needs a factor and offset
 to mapping the pwm to fan speed:
 
-```
-  - inventory: /system/chassis/motherboard/fan0
-    allowed_out_of_range_time: 30
-    deviation: 15
-    num_sensors_nonfunc_for_fan_nonfunc: 1
-    sensors:
-      - name: fan0
-        has_target: true
-        target_interface: xyz.openbmc_project.Control.FanPwm
-        factor: 21
-        offset: 1600
+```yaml
+- inventory: /system/chassis/motherboard/fan0
+  allowed_out_of_range_time: 30
+  deviation: 15
+  num_sensors_nonfunc_for_fan_nonfunc: 1
+  sensors:
+    - name: fan0
+      has_target: true
+      target_interface: xyz.openbmc_project.Control.FanPwm
+      factor: 21
+      offset: 1600
 ```
 
 The yaml config tells that:
@@ -614,7 +625,8 @@
 - `zone-condition` defines the cooling zone conditions. Romulus is always
   air-cooled, so this config is as simple as defining an `air_cooled_chassis`
   condition based on the cooling type property.
-  ```
+
+```yaml
   - name: air_cooled_chassis
    type: getProperty
    properties:
@@ -623,65 +635,74 @@
        path: /xyz/openbmc_project/inventory/system/chassis
        type: bool
        value: false
-  ```
+```
+
 - `zone-config` defines the cooling zones. Romulus has only one zone:
-  ```
-  zones:
-   - zone: 0
-     full_speed: 255
-     default_floor: 195
-     increase_delay: 5
-     decrease_interval: 30
-  ```
-  It defines that the zone full speed and default floor speed for the fans, so
-  the fan pwm will be set to 255 if it is in full speed, and set to 195 if fans
-  are in default floor speed.
+
+```yaml
+zones:
+  - zone: 0
+    full_speed: 255
+    default_floor: 195
+    increase_delay: 5
+    decrease_interval: 30
+```
+
+It defines that the zone full speed and default floor speed for the fans, so the
+fan pwm will be set to 255 if it is in full speed, and set to 195 if fans are in
+default floor speed.
+
 - `fan-config` defines which fans are controlled in which zone and which target
   interface shall be used, e.g. below yaml config defines fan0 shall be
   controlled in zone0 and it shall use `FanPwm` interface.
-  ```
+
+```yaml
   - inventory: /system/chassis/motherboard/fan0
    cooling_zone: 0
    sensors:
      - fan0
    target_interface: xyz.openbmc_project.Control.FanPwm
    ...
-  ```
+```
+
 - `events-config` defines the various events and its handlers, e.g. which fan
   targets shall be set in which temperature. This config is a bit complicated,
   the [example event yaml][17] provides documents and examples. Romulus example:
-  ```
-   - name: set_air_cooled_speed_boundaries_based_on_ambient
-     groups:
-         - name: zone0_ambient
-           interface: xyz.openbmc_project.Sensor.Value
-           property:
-               name: Value
-               type: int64_t
-     matches:
-         - name: propertiesChanged
-     actions:
-         - name: set_floor_from_average_sensor_value
-           map:
-               value:
-                   - 27000: 85
-                   - 32000: 112
-                   - 37000: 126
-                   - 40000: 141
-               type: std::map<int64_t, uint64_t>
-         - name: set_ceiling_from_average_sensor_value
-           map:
-               value:
-                   - 25000: 175
-                   - 27000: 255
-               type: std::map<int64_t, uint64_t>
-  ```
-  The above yaml config defines the fan floor and ceiling speed in
-  `zone0_ambient`'s different temperatures. E.g.
-  1.  When the temperature is lower than 27 degreesC, the floor speed (pwm)
-      shall be set to 85.
-  2.  When the temperature is between 27 and 32 degrees C, the floor speed (pwm)
-      shall be set to 112, etc.
+
+```yaml
+- name: set_air_cooled_speed_boundaries_based_on_ambient
+  groups:
+    - name: zone0_ambient
+      interface: xyz.openbmc_project.Sensor.Value
+      property:
+        name: Value
+        type: int64_t
+  matches:
+    - name: propertiesChanged
+  actions:
+    - name: set_floor_from_average_sensor_value
+      map:
+        value:
+          - 27000: 85
+          - 32000: 112
+          - 37000: 126
+          - 40000: 141
+        type: std::map<int64_t, uint64_t>
+    - name: set_ceiling_from_average_sensor_value
+      map:
+        value:
+          - 25000: 175
+          - 27000: 255
+        type: std::map<int64_t, uint64_t>
+```
+
+The above yaml config defines the fan floor and ceiling speed in
+`zone0_ambient`'s different temperatures. E.g.
+
+1. When the temperature is lower than 27 degreesC, the floor speed (pwm) shall
+   be set to 85.
+2. When the temperature is between 27 and 32 degrees C, the floor speed (pwm)
+   shall be set to 112, etc.
 
 With above configs, phosphor-fan will run the fan presence/monitor/control logic
 as configured specifically for the machine.
@@ -710,9 +731,10 @@
 
 All the GPIOs to be monitored shall be described in the device tree. E.g.
 
-```
+```dts
   gpio-keys {
     compatible = "gpio-keys";
+
     checkstop {
       label = "checkstop";
       gpios = <&gpio ASPEED_GPIO(J, 2) GPIO_ACTIVE_LOW>;
@@ -729,7 +751,7 @@
 The following code describes two GPIO keys, one for `checkstop` and the other
 for `id-button`, where the key code is calculated from [aspeed-gpio.h][24]:
 
-```
+```bash
 #define ASPEED_GPIO_PORT_A 0
 #define ASPEED_GPIO_PORT_B 1
 ...
@@ -747,24 +769,29 @@
 Witherspoon and Zaius have examples for gpio presence.
 
 - [Witherspoon][19]:
-  ```
-  INVENTORY=/system/chassis/motherboard/powersupply0
-  DEVPATH=/dev/input/by-path/platform-gpio-keys-event
-  KEY=104
-  NAME=powersupply0
-  DRIVERS=/sys/bus/i2c/drivers/ibm-cffps,3-0069
-  ```
-  It checks GPIO key 104 for `powersupply0`'s presence, creates the inventory
-  object and bind or unbind the driver.
+
+```bash
+INVENTORY=/system/chassis/motherboard/powersupply0
+DEVPATH=/dev/input/by-path/platform-gpio-keys-event
+KEY=104
+NAME=powersupply0
+DRIVERS=/sys/bus/i2c/drivers/ibm-cffps,3-0069
+```
+
+It checks GPIO key 104 for `powersupply0`'s presence, creates the inventory
+object and bind or unbind the driver.
+
 - [Zaius][20]:
-  ```
-  INVENTORY=/system/chassis/pcie_card_e2b
-  DEVPATH=/dev/input/by-path/platform-gpio-keys-event
-  KEY=39
-  NAME=pcie_card_e2b
-  ```
-  It checks GPIO key 39 for `pcie_card_e2b`'s presence, and creates the
-  inventory object.
+
+```bash
+INVENTORY=/system/chassis/pcie_card_e2b
+DEVPATH=/dev/input/by-path/platform-gpio-keys-event
+KEY=39
+NAME=pcie_card_e2b
+```
+
+It checks GPIO key 39 for `pcie_card_e2b`'s presence, and creates the inventory
+object.
 
 #### GPIO monitor
 
@@ -772,32 +799,36 @@
 or button presses.
 
 - [checkstop monitor][21] is a common service for OpenPOWER machines.
-  ```
-  DEVPATH=/dev/input/by-path/platform-gpio-keys-event
-  KEY=74
-  POLARITY=1
-  TARGET=obmc-host-crash@0.target
-  ```
-  By default it monitors GPIO key 74, and if it is triggered, it tells systemd
-  to start `obmc-host-crash@0.target`. For systems using a different GPIO pin
-  for checkstop, it simply overrides the default one by specifying its own
-  config file in meta-machine layer. E.g. [Zaius's checkstop config][22].
-  **Note**: when the key is pressed, `phosphor-gpio-monitor` starts the target
-  unit and exits.
+
+```bash
+DEVPATH=/dev/input/by-path/platform-gpio-keys-event
+KEY=74
+POLARITY=1
+TARGET=obmc-host-crash@0.target
+```
+
+By default it monitors GPIO key 74, and if it is triggered, it tells systemd to
+start `obmc-host-crash@0.target`. For systems using a different GPIO pin for
+checkstop, it simply overrides the default one by specifying its own config file
+in meta-machine layer. E.g. [Zaius's checkstop config][22]. **Note**: when the
+key is pressed, `phosphor-gpio-monitor` starts the target unit and exits.
+
 - [id-button monitor][23] is an example service on Romulus to monitor ID button
   press.
-  ```
-  DEVPATH=/dev/input/by-path/platform-gpio-keys-event
-  KEY=135
-  POLARITY=1
-  TARGET=id-button-pressed.service
-  EXTRA_ARGS=--continue
-  ```
-  It monitors GPIO key 135 for the button press and starts
-  `id-button-pressed.service`, that handles the event by setting the identify
-  LED group's `Assert` property. **Note**: It has an extra argument,
-  `--continue`, that tells `phosphor-gpio-monitor` to not exit and continue
-  running when the key is pressed.
+
+```bash
+DEVPATH=/dev/input/by-path/platform-gpio-keys-event
+KEY=135
+POLARITY=1
+TARGET=id-button-pressed.service
+EXTRA_ARGS=--continue
+```
+
+It monitors GPIO key 135 for the button press and starts
+`id-button-pressed.service`, that handles the event by setting the identify LED
+group's `Assert` property. **Note**: It has an extra argument, `--continue`,
+that tells `phosphor-gpio-monitor` to not exit and continue running when the key
+is pressed.
 
 [1]:
   https://github.com/openbmc/linux/blob/dev-4.13/arch/arm/boot/dts/aspeed-bmc-opp-romulus.dts
@@ -842,7 +873,6 @@
   https://github.com/openbmc/openbmc/tree/master/meta-ibm/meta-romulus/recipes-phosphor/gpio
 [24]:
   https://github.com/openbmc/linux/blob/dev-4.13/include/dt-bindings/gpio/aspeed-gpio.h
-[25]: https://github.com/openbmc/docs/blob/master/development/add-new-system.md
 [26]:
   https://github.com/openbmc/openbmc/commit/e0e69beab7c268e4ad98972016c78b0d7d5769ac
 [27]:
@@ -850,6 +880,5 @@
 [28]:
   https://github.com/openbmc/openbmc/blob/3cce45a96f0416b4c3d8f2b698cb830662a29227/meta-ibm/meta-romulus/recipes-phosphor/leds/romulus-led-manager-config/led.yaml
 [29]: https://github.com/openbmc/phosphor-led-manager/tree/master/fault-monitor
-[30]: https://github.com/openbmc/docs/blob/master/development/dev-environment.md
 [31]: https://github.com/openbmc/docs/blob/master/kernel-development.md
 [32]: https://github.com/openbmc/docs/blob/master/development/dev-environment.md
diff --git a/development/dev-environment.md b/development/dev-environment.md
index a62ed0b..69d56b0 100644
--- a/development/dev-environment.md
+++ b/development/dev-environment.md
@@ -81,21 +81,21 @@
 Note this section will take you through the process of building a Romulus
 OpenBMC image. Future tutorials will build on this by having you customize the
 image. If you would like to skip the building and just try out OpenBMC and QEMU
-then you can download the latest Romulus image from
-[here](https://jenkins.openbmc.org/job/latest-master/label=docker-builder,target=romulus/lastSuccessfulBuild/artifact/openbmc/build/tmp/deploy/images/romulus/obmc-phosphor-image-romulus.static.mtd)
+then you can download the latest Romulus image from the
+[OpenBMC Jenkins](https://jenkins.openbmc.org/job/latest-master/label=docker-builder,target=romulus/lastSuccessfulBuild/artifact/openbmc/build/tmp/deploy/images/romulus/obmc-phosphor-image-romulus.static.mtd)
 and skip to the
 [Download and Start QEMU Session](#download-and-start-qemu-session) section.
 
 1. Clone OpenBMC
 
-   ```
+   ```bash
    git clone https://github.com/openbmc/openbmc.git
    ```
 
 2. Build the Romulus OpenBMC Image (note this will take 30 - 120 minutes
    depending on your hardware)
 
-   ```
+   ```bash
    . setup romulus
    bitbake obmc-phosphor-image
    ```
@@ -108,7 +108,7 @@
 
 1. Download latest openbmc/qemu fork of QEMU application
 
-   ```
+   ```bash
    wget https://jenkins.openbmc.org/job/latest-qemu-x86/lastSuccessfulBuild/artifact/qemu/build/qemu-system-arm
 
    chmod u+x qemu-system-arm
@@ -116,7 +116,7 @@
 
 2. Copy the image generated by the build to your current directory
 
-   ```
+   ```bash
    cp ./tmp/deploy/images/romulus/obmc-phosphor-image-romulus.static.mtd ./
    ```
 
@@ -127,21 +127,24 @@
    session. In this example, it just uses 2222, 2443, 2623. You can use whatever
    you prefer.
 
-   ```
+   ```bash
    ./qemu-system-arm -m 256 -M romulus-bmc -nographic \
-       -drive file=./obmc-phosphor-image-romulus.static.mtd,format=raw,if=mtd \
-       -net nic \
-       -net user,hostfwd=:127.0.0.1:2222-:22,hostfwd=:127.0.0.1:2443-:443,hostfwd=udp:127.0.0.1:2623-:623,hostname=qemu
+      -drive file=./obmc-phosphor-image-romulus.static.mtd,format=raw,if=mtd \
+      -net nic \
+      -net user,hostfwd=:127.0.0.1:2222-:22,hostfwd=:127.0.0.1:2443-:443,hostfwd=udp:127.0.0.1:2623-:623,hostname=qemu
    ```
 
    If you are running within a virtual environment where you can use the real
    ports, then you would start QEMU with the following.
 
-   ```
+   ```bash
+
    ./qemu-system-arm -m 256 -machine romulus-bmc -nographic \
-       -drive file=./obmc-phosphor-image-romulus.static.mtd,format=raw,if=mtd \
-       -net nic \
-       -net user,hostfwd=:127.0.0.1:22-:22,hostfwd=:127.0.0.1:443-:443,hostfwd=tcp:127.0.0.1:80-:80,hostfwd=tcp:127.0.0.1:2200-:2200,hostfwd=udp:127.0.0.1:623-:623,hostfwd=udp:127.0.0.1:664-:664,hostname=qemu
+    -drive file=./obmc-phosphor-image-romulus.static.mtd,format=raw,if=mtd \
+    -net nic \
+    -net
+   user,hostfwd=:127.0.0.1:22-:22,hostfwd=:127.0.0.1:443-:443,hostfwd=tcp:127.0.0.1:80-:80,hostfwd=tcp:127.0.0.1:2200-:2200,hostfwd=udp:127.0.0.1:623-:623,hostfwd=udp:127.0.0.1:664-:664,hostname=qemu
+
    ```
 
 4. Wait for your QEMU-based BMC to boot
@@ -154,7 +157,7 @@
    the obmcutil tool to check the state of the OpenBMC state services. When you
    see the following then you have successfully booted to "Ready" state.
 
-   ```
+   ```bash
    root@openbmc:~# obmcutil state
    CurrentBMCState     : xyz.openbmc_project.State.BMC.BMCState.Ready
    CurrentPowerState   : xyz.openbmc_project.State.Chassis.PowerState.Off
@@ -167,7 +170,7 @@
 
    Run these from the system you started QEMU on
 
-   ```
+   ```bash
    ssh root@localhost -p 2222
    ```
 
@@ -190,31 +193,31 @@
 
 - set up a bmc build environment
 
-```
+```bash
 source setup romulus myBuild/build
 ```
 
 - add the qemu x86 open embedded machine for testing
 
-```
+```bash
 MACHINE ??= "qemux86"
 ```
 
 - Make the changes to the build (ie devtool modify bmcweb, devtool add gdb)
 
-```
+```bash
 devtool modify bmcweb myNewLocalbmcweb/
 ```
 
 - build open bmc for the qemu x86 machine
 
-```
+```bash
 MACHINE=qemux86 bitbake obmc-phosphor-image
 ```
 
 - run qemu they way yocto provides
 
-```
+```bash
 runqemu myBuild/build/tmp/deploy/images/qemux86/ nographic \
     qemuparams="-m 2048"
 ```
diff --git a/development/devtool-hello-world.md b/development/devtool-hello-world.md
index 89403dc..c6d4501 100644
--- a/development/devtool-hello-world.md
+++ b/development/devtool-hello-world.md
@@ -21,7 +21,7 @@
 
 1. Use devtool to extract source code
 
-   ```
+   ```bash
    devtool modify phosphor-state-manager
    ```
 
@@ -29,25 +29,25 @@
 
 2. Modify a source file and add a cout
 
-   ```
+   ```bash
    vi workspace/sources/phosphor-state-manager/bmc_state_manager_main.cpp
    ```
 
    Your diff should look something like this:
 
-   ```
+   ```bash
    +#include <iostream>
 
    int main(int argc, char**)
    {
    @@ -17,6 +18,8 @@ int main(int argc, char**)
 
-        bus.request_name(BMC_BUSNAME);
+       bus.request_name(BMC_BUSNAME);
 
    +    std::cout<<"Hello World" <<std::endl;
    +
-        while (true)
-        {
+       while (true)
+       {
    ```
 
 3. Rebuild the flash image which will now include your change
@@ -55,7 +55,7 @@
    This will be a much faster build as bitbake will utilize all of the cache
    from your previous build, only building what is new.
 
-   ```
+   ```bash
    bitbake obmc-phosphor-image
    ```
 
@@ -66,13 +66,13 @@
 
    After you login to your QEMU session, verify the message is in the journal
 
-   ```
+   ```bash
    journalctl | grep "Hello World"
    ```
 
    You should see something like this:
 
-   ```
+   ```bash
    <date> romulus phosphor-bmc-state-manager[1089]: Hello World
    ```
 
@@ -87,7 +87,7 @@
 
 1. Modify your hello world
 
-   ```
+   ```bash
    vi workspace/sources/phosphor-state-manager/bmc_state_manager_main.cpp
    ```
 
@@ -99,7 +99,7 @@
    that you are interested in. In this case, we'll just rebuild the
    phosphor-state-manager repo to pick up your new hello world change.
 
-   ```
+   ```bash
    bitbake phosphor-state-manager
    ```
 
@@ -121,7 +121,7 @@
    no more bricking the system. Log in to the QEMU instance and run these
    commands.
 
-   ```
+   ```bash
    mkdir -p /tmp/persist/usr
    mkdir -p /tmp/persist/work/usr
    mount -t overlay -o lowerdir=/usr,upperdir=/tmp/persist/usr,workdir=/tmp/persist/work/usr overlay /usr
@@ -133,7 +133,7 @@
    to run from your phosphor-state-manager directory. If you chose your own port
    then substitute that here for the 2222.
 
-   ```
+   ```bash
    scp -P 2222 ./workspace/sources/phosphor-state-manager/oe-workdir/package/usr/bin/phosphor-bmc-state-manager root@127.0.0.1:/usr/bin/
    ```
 
@@ -141,13 +141,13 @@
 
 1. Stop the BMC state manager service
 
-   ```
+   ```bash
    systemctl stop xyz.openbmc_project.State.BMC.service
    ```
 
 2. Run the application in your QEMU session:
 
-   ```
+   ```bash
    phosphor-bmc-state-manager
    ```
 
@@ -161,7 +161,7 @@
    tutorials on this, but for now just run the following to restart the BMC
    state service and have it pick up your new application:
 
-   ```
+   ```bash
    systemctl restart xyz.openbmc_project.State.BMC.service
    ```
 
@@ -169,13 +169,13 @@
    output to the console, but it will be in the journal. Later tutorials will
    discuss the journal but for now just run:
 
-   ```
+   ```bash
    journalctl | tail
    ```
 
    You should see something like this in one of the journal entries:
 
-   ```
+   ```bash
    <date> romulus phosphor-bmc-state-manager[1089]: Hello World Again
    ```
 
@@ -186,6 +186,6 @@
 ## Advanced Workflow
 
 Once you've got a good handle on the above, there are some more advanced tools
-and wrappers you can utilize to optimize this flow. See this
-[link](https://amboar.github.io/notes/2022/01/13/openbmc-development-workflow.html)
+and wrappers you can utilize to optimize this flow. See the
+[workflow document](https://amboar.github.io/notes/2022/01/13/openbmc-development-workflow.html)
 for more information.
diff --git a/development/gerrit-setup.md b/development/gerrit-setup.md
index fdb9ece..903eb40 100644
--- a/development/gerrit-setup.md
+++ b/development/gerrit-setup.md
@@ -9,14 +9,14 @@
 
 ## Initial Setup
 
-##### Update Git Identity
+### Update Git Identity
 
 - `git config --global --add user.name "Your name" (eg. John Smith)`
 - `git config --global --add user.email "youremail@your-domain" (eg. jsmith@somedomain.com)`
 - (Optional)
   `git config --global --add diff.tool "preferred diff tool" (eg. gvimdiff or meld)`
 
-##### Setup SSH Keys
+### Setup SSH Keys
 
 Create keys: `ssh-keygen -t ed25519 -C "your_email@your-domain"`
 
@@ -43,21 +43,21 @@
 - Click on "ADD NEW SSH KEY"
 - If succesfull you should see your public key added and with the status "Valid"
 
-##### Add e-mail to Gerrit
+### Add e-mail to Gerrit
 
 - Login to [Gerrit](https://gerrit.openbmc.org/)
 - Enter e-mail in Settings -> Contact Information -> Register New E-Mail
 - Check e-mail for confirmation and click the link to confirm
 
-##### Add full name to Gerrit
+### Add full name to Gerrit
 
 - Enter your full name in Settings -> Profile -> Full name
 
-##### Add SSH config entry
+### Add SSH config entry
 
 Add the following to `~/.ssh/config`:
 
-```
+```bash
 Host openbmc.gerrit
     Hostname gerrit.openbmc.org
     Port 29418
@@ -70,7 +70,7 @@
   Username
 - Ensure proper permissions for for your .ssh directory: `chmod 600 ~/.ssh/*`
 
-##### Confirm Setup Success
+### Confirm Setup Success
 
 Test connectivity to Gerrit by attempting to clone a repo
 
@@ -78,11 +78,11 @@
 - If successful you should see something like:
   `Checking out files: 100% (45/45), done.`
 
-##### Add Hooks
+### Add Hooks
 
 Inside the repo you just cloned, enter the following commands:
 
-```
+```bash
 gitdir=$(git rev-parse --git-dir)
 curl https://gerrit.openbmc.org/tools/hooks/commit-msg -o ${gitdir}/hooks/commit-msg
 chmod +x ${gitdir}/hooks/commit-msg
@@ -91,7 +91,7 @@
 This will enhance the `git commit` command to add a `Change-Id` to your commit
 message which Gerrit uses to track the review.
 
-##### Push Code Change to Gerrit
+### Push Code Change to Gerrit
 
 Now that your workstation and Gerrit are configured, you are ready to make code
 changes and push them to Gerrit for code review. Here is what the basic workflow
@@ -108,7 +108,7 @@
 - Go to [Gerrit web interface](https://gerrit.openbmc.org/), click on your new
   review, and add reviewers based on `OWNERS` file in the repo.
 
-##### Conclusion
+## Conclusion
 
 If you've completed all of the above steps successfully, that's it! You have now
 set up Gerrit and know how to submit your code changes for review!
diff --git a/development/web-ui.md b/development/web-ui.md
index 7ae1df8..ae428c2 100644
--- a/development/web-ui.md
+++ b/development/web-ui.md
@@ -6,7 +6,7 @@
 
 **Prerequisites:** Current Linux, Mac, or Windows system
 
-# Webui-vue
+## Webui-vue
 
 The [webui-vue](https://github.com/openbmc/webui-vue) repository will replace
 phosphor-webui once it is deprecated. Webui-vue uses the
@@ -41,7 +41,7 @@
 - State Store
 - Theming
 
-## Load Web UI against QEMU
+### Load Web UI against QEMU
 
 Connect to Web UI in QEMU
 
@@ -50,7 +50,7 @@
    [dev-environment](https://github.com/openbmc/docs/blob/master/development/dev-environment.md).
 
 2. Assuming you used the default of 2443 for the HTTPS port in your QEMU
-   session, you will point your web browser to https://localhost:2443.
+   session, you will point your web browser to <https://localhost:2443>.
 
 3. Login with default username and password and verify basic Web UI features are
    working as expected.
@@ -58,10 +58,10 @@
 **Note** You will need to approve the security exception in your browser to
 connect. OpenBMC is running with a self-signed SSL certificate.
 
-# Phosphor-webui
+## Phosphor-webui
 
-The [phosphor-webui](https://github.com/openbmc/phosphor-webui) repository
-provides a web-based interface for an OpenBMC. It uses the
+The [phosphor-webui](https://github.com/openbmc/webui-vue) repository provides a
+web-based interface for an OpenBMC. It uses the
 [AngularJS](https://angularjs.org/) framework to interact with the BMC via REST
 API calls. It allows users to view hardware information, update firmware, set
 network settings, and much more.
@@ -72,11 +72,11 @@
 Phosphor-webui was built on AngularJS and AngularJS goes End of Life June
 30, 2021.
 
-## Customize Phosphor-webui
+### Customize Phosphor-webui
 
 1. Clone the repository
 
-   ```
+   ```bash
    git clone https://github.com/openbmc/phosphor-webui.git
    ```
 
@@ -96,19 +96,19 @@
    will use to represent your customized version of OpenBMC. Feel free to use
    any .png you wish for this step.
 
-   ```
+   ```bash
    wget http://www.pngmart.com/files/3/Free-PNG-Transparent-Image.png
    ```
 
    Copy your new .png into the appropriate directory
 
-   ```
+   ```bash
    cp Free-PNG-Transparent-Image.png app/assets/images/
    ```
 
    Point to that new image in the web UI HTML
 
-   ```
+   ```bash
    vi app/login/controllers/login-controller.html
    # Replace the logo.svg near the top with Free-PNG-Transparent-Image.png
    <img src="../../assets/images/Free-PNG-Transparent-Image.png" class="login__logo" alt="OpenBMC logo" role="img"/>
@@ -116,11 +116,11 @@
 
    Start up the server with your change
 
-   ```
+   ```bash
    npm run-script server
    ```
 
-   Load web browser at https://localhost:8080 and verify your new image is on
+   Load web browser at <https://localhost:8080> and verify your new image is on
    the login screen.
 
    Kill your npm run using Ctrl^C.
@@ -131,7 +131,7 @@
 
    Similar to the previous step, modify the appropriate HTML for the header:
 
-   ```
+   ```bash
    vi app/common/directives/app-header.html
    # Replace logo.svg with Free-PNG-Transparent-Image.png again
    <div class="logo__wrapper"><img src="../../assets/images/Free-PNG-Transparent-Image.png" class="header__logo" alt="company logo"/></div>
@@ -139,11 +139,12 @@
 
    Start up the server with your change
 
-   ```
+   ```bash
    npm run-script server
    ```
 
-   Browse to https://localhost:8080 and verify your new image is on the header.
+   Browse to `https://localhost:8080` and verify your new image is on the
+   header.
 
    Note that you will need to log in to view the header. Point the web UI to
    your QEMU session by typing the QEMU session (e.g. localhost:2443) in the
@@ -154,5 +155,5 @@
    your logo is also something you can easily do to customize your creation of
    an OpenBMC system.
 
-   And that's it! You've downloaded, customized, and run the OpenBMC
-   phosphor-webui code!
+And that's it! You've downloaded, customized, and run the OpenBMC phosphor-webui
+code!
diff --git a/features.md b/features.md
index 6963e1d..d500b2b 100644
--- a/features.md
+++ b/features.md
@@ -58,8 +58,6 @@
   https://github.com/openbmc/docs/blob/master/architecture/code-update/code-update.md
 [hardware diagnostics]:
   https://github.com/openbmc/openpower-hw-diags/blob/master/README.md
-[host management]:
-  https://github.com/openbmc/docs/blob/master/host-management.md
 [host management rest apis]:
   https://github.com/openbmc/docs/blob/master/host-management.md
 [ipmi in band]:
diff --git a/host-management.md b/host-management.md
index 74fcf93..d339c58 100644
--- a/host-management.md
+++ b/host-management.md
@@ -10,10 +10,10 @@
 
 This document uses token based authentication method:
 
-```
-$ export bmc=xx.xx.xx.xx
-$ export token=`curl -k -H "Content-Type: application/json" -X POST https://${bmc}/login -d '{"username" :  "root", "password" :  "0penBmc"}' | grep token | awk '{print $2;}' | tr -d '"'`
-$ curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/...
+```bash
+export bmc=xx.xx.xx.xx
+export token=`curl -k -H "Content-Type: application/json" -X POST https://${bmc}/login -d '{"username" :  "root", "password" :  "0penBmc"}' | grep token | awk '{print $2;}' | tr -d '"'`
+curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/...
 ```
 
 ## Inventory
@@ -41,11 +41,15 @@
 structure to be accessed. For example, to enumerate all inventory items and
 their properties:
 
-    $ curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/inventory/enumerate
+```bash
+curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/inventory/enumerate
+```
 
 To list the properties of one item:
 
-    $ curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/inventory/system/chassis/motherboard
+```bash
+curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/inventory/system/chassis/motherboard
+```
 
 ## Sensors
 
@@ -77,7 +81,8 @@
 
 A temperature sensor might look like:
 
-    $ curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/sensors/temperature/ocp_zone
+```bash
+    curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/sensors/temperature/ocp_zone
     {
       "data": {
         "CriticalAlarmHigh": false,
@@ -98,6 +103,7 @@
       "message": "200 OK",
       "status": "ok"
     }
+```
 
 Note the value of this sensor is 34.625C (34625 \* 10^-3).
 
@@ -106,11 +112,15 @@
 
 To enumerate all sensors in the system:
 
-    $ curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/sensors/enumerate
+```bash
+curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/sensors/enumerate
+```
 
 List properties of one inventory item:
 
-    $ curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/sensors/temperature/outlet
+```bash
+curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/sensors/temperature/outlet
+```
 
 ## Event Logs
 
@@ -133,7 +143,8 @@
 
 To list all reported event logs:
 
-    $ curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/logging/entry
+```bash
+    curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/logging/entry
     {
       "data": [
         "/xyz/openbmc_project/logging/entry/3",
@@ -147,10 +158,12 @@
       "message": "200 OK",
       "status": "ok"
     }
+```
 
 To read a specific event log:
 
-    $ curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/logging/entry/1
+```bash
+    curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/logging/entry/1
     {
       "data": {
         "AdditionalData": [
@@ -168,15 +181,20 @@
       "message": "200 OK",
       "status": "ok"
     }
+```
 
 To delete an event log (log 1 in this example), call the `Delete` method on the
 event:
 
-    $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X POST -d '{"data" : []}' https://${bmc}/xyz/openbmc_project/logging/entry/1/action/Delete
+```bash
+curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X POST -d '{"data" : []}' https://${bmc}/xyz/openbmc_project/logging/entry/1/action/Delete
+```
 
 To clear all event logs, call the top-level `DeleteAll` method:
 
-    $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X POST -d '{"data" : []}' https://${bmc}/xyz/openbmc_project/logging/action/DeleteAll
+```bash
+curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X POST -d '{"data" : []}' https://${bmc}/xyz/openbmc_project/logging/action/DeleteAll
+```
 
 ## Host Boot Options
 
@@ -189,21 +207,21 @@
 
 - Set boot mode:
 
-  ```
-   $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT https://${bmc}/xyz/openbmc_project/control/host0/boot/attr/BootMode -d '{"data": "xyz.openbmc_project.Control.Boot.Mode.Modes.Regular"}'
-  ```
+```bash
+curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT https://${bmc}/xyz/openbmc_project/control/host0/boot/attr/BootMode -d '{"data": "xyz.openbmc_project.Control.Boot.Mode.Modes.Regular"}'
+```
 
 - Set boot source:
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT https://${bmc}/xyz/openbmc_project/control/host0/boot/attr/BootSource -d '{"data": "xyz.openbmc_project.Control.Boot.Source.Sources.Default"}'
-  ```
+```bash
+curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT https://${bmc}/xyz/openbmc_project/control/host0/boot/attr/BootSource -d '{"data": "xyz.openbmc_project.Control.Boot.Source.Sources.Default"}'
+```
 
 - Set boot type (valid only if host is based on the x86 CPU):
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT https://${bmc}/xyz/openbmc_project/control/host0/boot/attr/BootType -d '{"data": "xyz.openbmc_project.Control.Boot.Type.Types.EFI"}'
-  ```
+```bash
+curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT https://${bmc}/xyz/openbmc_project/control/host0/boot/attr/BootType -d '{"data": "xyz.openbmc_project.Control.Boot.Type.Types.EFI"}'
+```
 
 Also there are boolean
 [`Enable`](https://github.com/openbmc/phosphor-dbus-interfaces/blob/master/yaml/xyz/openbmc_project/Object/Enable.interface.yaml)
@@ -212,15 +230,15 @@
 
 - Set boot override one-time flag:
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT https://${bmc}/xyz/openbmc_project/control/host0/boot/one_time/attr/Enabled -d '{"data": "true"}'
-  ```
+```bash
+curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT https://${bmc}/xyz/openbmc_project/control/host0/boot/one_time/attr/Enabled -d '{"data": "true"}'
+```
 
 - Enable boot override:
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT https://${bmc}/xyz/openbmc_project/control/host0/boot/attr/Enabled -d '{"data": "true"}'
-  ```
+```bash
+curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT https://${bmc}/xyz/openbmc_project/control/host0/boot/attr/Enabled -d '{"data": "true"}'
+```
 
 ## Host State Control
 
@@ -230,30 +248,30 @@
 
 Assuming you have logged in, the following will power on the host:
 
-```
-$ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"data": "xyz.openbmc_project.State.Host.Transition.On"}' -X PUT https://${bmc}/xyz/openbmc_project/state/host0/attr/RequestedHostTransition
+```bash
+curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"data": "xyz.openbmc_project.State.Host.Transition.On"}' -X PUT https://${bmc}/xyz/openbmc_project/state/host0/attr/RequestedHostTransition
 ```
 
 To power off the host:
 
-```
-$ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"data": "xyz.openbmc_project.State.Host.Transition.Off"}' -X PUT https://${bmc}/xyz/openbmc_project/state/host0/attr/RequestedHostTransition
+```bash
+curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -d '{"data": "xyz.openbmc_project.State.Host.Transition.Off"}' -X PUT https://${bmc}/xyz/openbmc_project/state/host0/attr/RequestedHostTransition
 ```
 
 To issue a hard power off (accomplished by powering off the chassis):
 
-```
-$ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT -d '{"data":"xyz.openbmc_project.State.Chassis.Transition.Off"}' https://${bmc}//xyz/openbmc_project/state/chassis0/attr/RequestedPowerTransition
+```bash
+curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT -d '{"data":"xyz.openbmc_project.State.Chassis.Transition.Off"}' https://${bmc}//xyz/openbmc_project/state/chassis0/attr/RequestedPowerTransition
 ```
 
 To reboot the host:
 
-```
-$ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT -d '{"data":"xyz.openbmc_project.State.Host.Transition.Reboot"}' https://${bmc}/xyz/openbmc_project/state/host0/attr/RequestedHostTransition
+```bash
+curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT -d '{"data":"xyz.openbmc_project.State.Host.Transition.Reboot"}' https://${bmc}/xyz/openbmc_project/state/host0/attr/RequestedHostTransition
 ```
 
 More information about Host State Management can be found here:
-https://github.com/openbmc/phosphor-dbus-interfaces/tree/master/yaml/xyz/openbmc_project/State
+<https://github.com/openbmc/phosphor-dbus-interfaces/tree/master/yaml/xyz/openbmc_project/State>
 
 ## Host Clear GARD
 
@@ -266,19 +284,19 @@
 
 - Method 1: From the BMC command line:
 
-  ```
+```bash
   busctl call org.open_power.Software.Host.Updater \
     /org/open_power/control/gard \
     xyz.openbmc_project.Common.FactoryReset Reset
-  ```
+```
 
 - Method 2: Using the REST API:
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X POST -d '{"data":[]}' https://${bmc}/org/open_power/control/gard/action/Reset
-  ```
+```bash
+curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X POST -d '{"data":[]}' https://${bmc}/org/open_power/control/gard/action/Reset
+```
 
-Implementation: https://github.com/openbmc/openpower-pnor-code-mgmt
+Implementation: <https://github.com/openbmc/openpower-pnor-code-mgmt>
 
 ## Host Watchdog
 
@@ -294,8 +312,10 @@
 host watchdog service provides 2 files as configuration options into
 phosphor-watchdog:
 
+```text
     /lib/systemd/system/phosphor-watchdog@poweron.service.d/poweron.conf
     /etc/default/obmc/watchdog/poweron
+```
 
 `poweron.conf` contains the "Conflicts" relationships to ensure the watchdog
 service is stopped at the correct times. `poweron` contains the required
@@ -304,8 +324,10 @@
 
 The 2 service files involved with the host watchdog are:
 
+```text
     phosphor-watchdog@poweron.service
     obmc-enable-host-watchdog@0.service
+```
 
 `phosphor-watchdog@poweron` starts the host watchdog service and
 `obmc-enable-host-watchdog` starts the watchdog timer. Both are run as a part of
diff --git a/kernel-development.md b/kernel-development.md
index ed092f2..6056320 100644
--- a/kernel-development.md
+++ b/kernel-development.md
@@ -5,7 +5,7 @@
 requirement, not a hard requirement, and exceptions will be made on a
 case-by-case basis. If in doubt, start a discussion on the mailing list.
 
-The OpenBMC kernel tree is hosted at https://github.com/openbmc/linux and
+The OpenBMC kernel tree is hosted at <https://github.com/openbmc/linux> and
 contains the set of patches that we carry. Ideally there would be no patches
 carried, as everything should be upstream.
 
@@ -88,16 +88,16 @@
 Before submitting patches it is recommended you boot test on at least the Qemu
 platforms, and whatever hardware you have available.
 
-# Tips and Tricks
+## Tips and Tricks
 
 Some general hints for kernel development
 
-## Out-of-tree builds
+### Out-of-tree builds
 
 You can build a kernel out of the yocto environment, by using the initramfs
 (from a pre-existing yocto build) directly:
 
-```
+```sh
 make ARCH=arm \
     O=obj \
     CROSS_COMPILE=arm-linux-gnueabihf- \
@@ -111,15 +111,15 @@
 
 The cpio can be found in the following yocto output directory:
 
-```
+```sh
  build/tmp/deploy/images/palmetto/
 ```
 
-## Building a uImage
+### Building a uImage
 
 To build a uImage (for example, to netboot):
 
-```
+```sh
 # build a zImage using the obmc rootfs
 make ARCH=arm \
     O=obj \
diff --git a/maintainer-workflow.md b/maintainer-workflow.md
index cdd92ea..93fe5be 100644
--- a/maintainer-workflow.md
+++ b/maintainer-workflow.md
@@ -8,14 +8,14 @@
   on an existing CCLA (corporate).
   - Executed CLAs can be found [in the CLA repository][1].
   - If you were not added to the appropriate CLA repository ACL send an email to
-    openbmc@lists.ozlabs.org with a request to be added.
+    `openbmc@lists.ozlabs.org` with a request to be added.
   - If a CLA for the contributor is found, accept the patch(1).
 - If a CLA is not found, request that the contributor execute one and send it to
-  manager@lfprojects.org.
+  `manager@lfprojects.org`.
   - Do not accept the patch(1) until a signed CLA (individual _or_ corporate)
     has been uploaded to the CLA repository.
-  - The CCLA form can be found [here][2].
-  - The ICLA form can be found [here][3].
+  - The CCLA form can be found at [CCLA template][2].
+  - The ICLA form can be found at [ICLA template][3].
 
 An executed OpenBMC CLA is _not_ required to accept contributions to OpenBMC
 forks of upstream projects, like the Linux kernel or U-Boot.
diff --git a/meta-layer-guidelines.md b/meta-layer-guidelines.md
index 9323386..d074714 100644
--- a/meta-layer-guidelines.md
+++ b/meta-layer-guidelines.md
@@ -106,9 +106,7 @@
 community through the mailing list or discord whether or not the OpenBMC
 community would be willing to adopt support and maintenance of said project.
 
-## Meta layers should not point to OpenBMC specific repositories outside of
-
-https://github.com/openbmc
+## Meta layers should not point to OpenBMC specific repositories outside of <https://github.com/openbmc>
 
 **What defines an OpenBMC specific repository?**
 
diff --git a/rest-api.md b/rest-api.md
index 39e9de7..8cad489 100644
--- a/rest-api.md
+++ b/rest-api.md
@@ -18,10 +18,10 @@
 
 This tutorial uses token based authentication method:
 
-```
-$ export bmc=xx.xx.xx.xx
-$ export token=`curl -k -H "Content-Type: application/json" -X POST https://${bmc}/login -d '{"username" :  "root", "password" :  "0penBmc"}' | grep token | awk '{print $2;}' | tr -d '"'`
-$ curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/...
+```bash
+export bmc=xx.xx.xx.xx
+export token=`curl -k -H "Content-Type: application/json" -X POST https://${bmc}/login -d '{"username" : "root", "password" : "0penBmc"}' | grep token | awk '{print $2;}' | tr -d '"'`
+curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/...
 ```
 
 ## HTTP GET operations & URL structure
@@ -32,131 +32,145 @@
 - To query the attributes of an object, perform a GET request on the object
   name, with no trailing slash. For example:
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/inventory/system
-  {
+```bash
+curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/inventory/system
+```
+
+```json
+{
   "data": {
-   "AssetTag": "",
-   "BuildDate": "",
-   "Cached": true,
-   "FieldReplaceable": true,
-   "Manufacturer": "",
-   "Model": "",
-   "PartNumber": "",
-   "Present": true,
-   "PrettyName": "",
-   "SerialNumber": ""
-   },
-   "message": "200 OK",
-   "status": "ok"
-  }
-  ```
+    "AssetTag": "",
+    "BuildDate": "",
+    "Cached": true,
+    "FieldReplaceable": true,
+    "Manufacturer": "",
+    "Model": "",
+    "PartNumber": "",
+    "Present": true,
+    "PrettyName": "",
+    "SerialNumber": ""
+  },
+  "message": "200 OK",
+  "status": "ok"
+}
+```
 
 - To query a single attribute, use the `attr/<name>` path. Using the `system`
   object from above, we can query just the `Name` value:
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/inventory/system/attr/Cached
-  {
-   "data": true,
-   "message": "200 OK",
-   "status": "ok"
-  }
-  ```
+```bash
+curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/inventory/system/attr/Cached
+```
+
+```json
+{
+  "data": true,
+  "message": "200 OK",
+  "status": "ok"
+}
+```
 
 - When a path has a trailing-slash, the response will list the sub objects of
   the URL. For example, using the same object path as above, but adding a slash:
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/
-  {
-   "data": [
-   "/xyz/openbmc_project/Chassis",
-   "/xyz/openbmc_project/Hiomapd",
-   "/xyz/openbmc_project/Ipmi",
-   "/xyz/openbmc_project/certs",
-   "/xyz/openbmc_project/console",
-   "/xyz/openbmc_project/control",
-   "/xyz/openbmc_project/dump",
-   "/xyz/openbmc_project/events",
-   "/xyz/openbmc_project/inventory",
-   "/xyz/openbmc_project/ipmi",
-   "/xyz/openbmc_project/led",
-   "/xyz/openbmc_project/logging",
-   "/xyz/openbmc_project/network",
-   "/xyz/openbmc_project/object_mapper",
-   "/xyz/openbmc_project/sensors",
-   "/xyz/openbmc_project/software",
-   "/xyz/openbmc_project/state",
-   "/xyz/openbmc_project/time",
-   "/xyz/openbmc_project/user"
-       ],
-       "message": "200 OK",
-    "status": "ok"
-  }
-  ```
+```bash
+curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/
+```
 
-  This shows that there are 19 children of the `openbmc_project/` object:
-  `dump`, `software`, `control`, `network`, `logging`,etc. This can be used with
-  the base REST URL (ie., `http://${bmc}/`), to discover all objects in the
-  hierarchy.
+```json
+{
+  "data": [
+    "/xyz/openbmc_project/Chassis",
+    "/xyz/openbmc_project/Hiomapd",
+    "/xyz/openbmc_project/Ipmi",
+    "/xyz/openbmc_project/certs",
+    "/xyz/openbmc_project/console",
+    "/xyz/openbmc_project/control",
+    "/xyz/openbmc_project/dump",
+    "/xyz/openbmc_project/events",
+    "/xyz/openbmc_project/inventory",
+    "/xyz/openbmc_project/ipmi",
+    "/xyz/openbmc_project/led",
+    "/xyz/openbmc_project/logging",
+    "/xyz/openbmc_project/network",
+    "/xyz/openbmc_project/object_mapper",
+    "/xyz/openbmc_project/sensors",
+    "/xyz/openbmc_project/software",
+    "/xyz/openbmc_project/state",
+    "/xyz/openbmc_project/time",
+    "/xyz/openbmc_project/user"
+  ],
+  "message": "200 OK",
+  "status": "ok"
+}
+```
+
+This shows that there are 19 children of the `openbmc_project/` object: `dump`,
+`software`, `control`, `network`, `logging`,etc. This can be used with the base
+REST URL (ie., `http://${bmc}/`), to discover all objects in the hierarchy.
 
 - Performing the same query with `/list` will list the child objects
   _recursively_.
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/network/list
-  {
-   "data": [
-   "/xyz/openbmc_project/network/config",
-   "/xyz/openbmc_project/network/config/dhcp",
-   "/xyz/openbmc_project/network/eth0",
-   "/xyz/openbmc_project/network/eth0/ipv4",
-   "/xyz/openbmc_project/network/eth0/ipv4/3b9faa36",
-   "/xyz/openbmc_project/network/eth0/ipv6",
-   "/xyz/openbmc_project/network/eth0/ipv6/ff81b6d6",
-   "/xyz/openbmc_project/network/eth1",
-   "/xyz/openbmc_project/network/eth1/ipv4",
-   "/xyz/openbmc_project/network/eth1/ipv4/3b9faa36",
-   "/xyz/openbmc_project/network/eth1/ipv4/66e63348",
-   "/xyz/openbmc_project/network/eth1/ipv6",
-   "/xyz/openbmc_project/network/eth1/ipv6/ff81b6d6",
-   "/xyz/openbmc_project/network/host0",
-   "/xyz/openbmc_project/network/host0/intf",
-   "/xyz/openbmc_project/network/host0/intf/addr",
-   "/xyz/openbmc_project/network/sit0",
-   "/xyz/openbmc_project/network/snmp",
-   "/xyz/openbmc_project/network/snmp/manager"
-       ],
-     "message": "200 OK",
-     "status": "ok"
-  }
-  ```
+```bash
+curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/network/list
+```
+
+```json
+{
+  "data": [
+    "/xyz/openbmc_project/network/config",
+    "/xyz/openbmc_project/network/config/dhcp",
+    "/xyz/openbmc_project/network/eth0",
+    "/xyz/openbmc_project/network/eth0/ipv4",
+    "/xyz/openbmc_project/network/eth0/ipv4/3b9faa36",
+    "/xyz/openbmc_project/network/eth0/ipv6",
+    "/xyz/openbmc_project/network/eth0/ipv6/ff81b6d6",
+    "/xyz/openbmc_project/network/eth1",
+    "/xyz/openbmc_project/network/eth1/ipv4",
+    "/xyz/openbmc_project/network/eth1/ipv4/3b9faa36",
+    "/xyz/openbmc_project/network/eth1/ipv4/66e63348",
+    "/xyz/openbmc_project/network/eth1/ipv6",
+    "/xyz/openbmc_project/network/eth1/ipv6/ff81b6d6",
+    "/xyz/openbmc_project/network/host0",
+    "/xyz/openbmc_project/network/host0/intf",
+    "/xyz/openbmc_project/network/host0/intf/addr",
+    "/xyz/openbmc_project/network/sit0",
+    "/xyz/openbmc_project/network/snmp",
+    "/xyz/openbmc_project/network/snmp/manager"
+  ],
+  "message": "200 OK",
+  "status": "ok"
+}
+```
 
 - Adding `/enumerate` instead of `/list` will also include the attributes of the
   listed objects.
 
-  ```
-  $ curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/time/enumerate
-  {
-   "data": {
-   "/xyz/openbmc_project/time/bmc": {
-     "Elapsed": 1563209492098739
-   },
-   "/xyz/openbmc_project/time/host": {
-     "Elapsed": 1563209492101678
-   },
-   "/xyz/openbmc_project/time/owner": {
-     "TimeOwner": "xyz.openbmc_project.Time.Owner.Owners.BMC"
-   },
-   "/xyz/openbmc_project/time/sync_method": {
-     "TimeSyncMethod": "xyz.openbmc_project.Time.Synchronization.Method.NTP"
-   }
-   },
-   "message": "200 OK",
-   "status": "ok"
-  }
-  ```
+```bash
+curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/time/enumerate
+```
+
+```json
+{
+  "data": {
+    "/xyz/openbmc_project/time/bmc": {
+      "Elapsed": 1563209492098739
+    },
+    "/xyz/openbmc_project/time/host": {
+      "Elapsed": 1563209492101678
+    },
+    "/xyz/openbmc_project/time/owner": {
+      "TimeOwner": "xyz.openbmc_project.Time.Owner.Owners.BMC"
+    },
+    "/xyz/openbmc_project/time/sync_method": {
+      "TimeSyncMethod": "xyz.openbmc_project.Time.Synchronization.Method.NTP"
+    }
+  },
+  "message": "200 OK",
+  "status": "ok"
+}
+```
 
 ## HTTP PUT operations
 
@@ -164,9 +178,12 @@
 for creating a new resource when the client already knows where to put it. These
 require a json formatted payload. To get an example of what that looks like:
 
+```bash
+curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/state/host0 > host.json
+cat host.json
 ```
-$ curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/state/host0 > host.json
-$ cat host.json
+
+```json
 {
   "data": {
     "AttemptsLeft": 3,
@@ -182,9 +199,12 @@
 
 or
 
+```bash
+curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/state/host0/attr/RequestedHostTransition > requested_host.json
+cat requested_host.json
 ```
-$ curl -k -H "X-Auth-Token: $token" https://${bmc}/xyz/openbmc_project/state/host0/attr/RequestedHostTransition > requested_host.json
-$ cat requested_host.json
+
+```json
 {
   "data": "xyz.openbmc_project.State.Host.Transition.Off",
   "message": "200 OK",
@@ -198,8 +218,8 @@
 To make curl use the correct content type header use the -H option to specify
 that we're sending JSON data:
 
-```
-$ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT -d <json> <url>
+```bash
+curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT -d <json> <url>
 ```
 
 A PUT operation on an object requires a complete object. For partial updates
@@ -208,7 +228,7 @@
 
 For example, make changes to the requested_host.json file and do a PUT (upload):
 
-```
+```bash
 $ cat requested_host.json
 {"data": "xyz.openbmc_project.State.Host.Transition.Off"}
 $ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT -T requested_host.json https://${bmc}/xyz/openbmc_project/state/host0/attr/RequestedHostTransition
@@ -216,8 +236,8 @@
 
 Alternatively specify the json inline with -d:
 
-```
-$ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT -d '{"data": "xyz.openbmc_project.State.Host.Transition.On"}' https://${bmc}/xyz/openbmc_project/state/host0/attr/RequestedHostTransition
+```bash
+curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X PUT -d '{"data": "xyz.openbmc_project.State.Host.Transition.On"}' https://${bmc}/xyz/openbmc_project/state/host0/attr/RequestedHostTransition
 ```
 
 When using '-d' just remember that json requires quoting.
@@ -230,14 +250,14 @@
 HTTP 403 (Forbidden). These also require a json formatted payload. To delete
 logging entries:
 
-```
-$ curl -k -H "X-Auth-Token: $token" -H 'Content-Type: application/json' -X POST -d '{"data":[]}' https://${bmc}/xyz/openbmc_project/logging/action/DeleteAll
+```bash
+curl -k -H "X-Auth-Token: $token" -H 'Content-Type: application/json' -X POST -d '{"data":[]}' https://${bmc}/xyz/openbmc_project/logging/action/DeleteAll
 ```
 
 To invoke a method without parameters (Factory Reset of BMC and Host):
 
-```
-$ curl -k -H "X-Auth-Token: $token" -H 'Content-Type: application/json' -X POST -d '{"data":[]}' https://${bmc}/xyz/openbmc_project/software/action/Reset
+```bash
+curl -k -H "X-Auth-Token: $token" -H 'Content-Type: application/json' -X POST -d '{"data":[]}' https://${bmc}/xyz/openbmc_project/software/action/Reset
 ```
 
 ## HTTP DELETE operations
@@ -252,14 +272,14 @@
 
 Display logging entries:
 
-```
-$ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X GET https://${bmc}/xyz/openbmc_project/logging/entry/enumerate
+```bash
+curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X GET https://${bmc}/xyz/openbmc_project/logging/entry/enumerate
 ```
 
 Then delete the event record with ID 1:
 
-```
-$ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X DELETE  https://${bmc}/xyz/openbmc_project/logging/entry/1
+```bash
+curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/json" -X DELETE  https://${bmc}/xyz/openbmc_project/logging/entry/1
 ```
 
 ## Uploading images
@@ -270,15 +290,15 @@
 
 For example, to upload an image:(the `<file_to_upload>` must be a tar ball)
 
-```
-$ curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/octet-stream" -X POST -T <file_to_upload> https://${bmc}/upload/image
+```bash
+curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/octet-stream" -X POST -T <file_to_upload> https://${bmc}/upload/image
 ```
 
 In above example, the filename on the BMC will be chosen by the REST server.
 
 It is possible for the user to choose the uploaded file's remote name:
 
-```
+```bash
 curl -k -H "X-Auth-Token: $token" -H "Content-Type: application/octet-stream" -X PUT -T foo https://${bmc}/upload/image/bar
 ```
 
@@ -287,7 +307,7 @@
 The operation will either return the version id (hash) of the uploaded file on
 success:
 
-```
+```json
 {
   "data": "afb92384",
   "message": "200 OK",
@@ -297,18 +317,18 @@
 
 or an error message
 
-```
+```json
 {
-    "data": {
-        "description": "Version already exists or failed to be extracted"
-    },
-    "message": "400 Bad Request",
-    "status": "error"
+  "data": {
+    "description": "Version already exists or failed to be extracted"
+  },
+  "message": "400 Bad Request",
+  "status": "error"
 }
 ```
 
 For more details on uploading and updating software, see:
-https://github.com/openbmc/docs/tree/master/architecture/code-update
+<https://github.com/openbmc/docs/tree/master/architecture/code-update>
 
 ## Event subscription protocol
 
@@ -321,14 +341,16 @@
 Following is a description of the event subscription protocol, with example JS
 code snippets denoting client-side code.
 
-a) The client needs to have logged on to the BMC. b) The client needs to open a
-secure websocket with the URL <BMC IP>/subscribe.
+a. The client needs to have logged on to the BMC.
 
-```
-   var ws = new WebSocket("wss://<BMC IP>/subscribe")
+b. The client needs to open a secure websocket with the URL
+`<BMC IP>/subscribe`.
+
+```javascript
+var ws = new WebSocket("wss://<BMC IP>/subscribe");
 ```
 
-c) The client needs to send, over the websocket, a JSON dictionary, comprising
+c. The client needs to send, over the websocket, a JSON dictionary, comprising
 of key-value pairs. This dictionary serves as the "events filter". All the keys
 are optional, so the dictionary can be empty if no filtering is desired. The
 filters represented by each of the key-value pairs are ORed.
@@ -345,54 +367,55 @@
 
 All of the following are valid:
 
-```
-var data = JSON.stringify(
-{
-    "paths": ["/xyz/openbmc_project/logging", "/xyz/openbmc_project/sensors"],
-    "interfaces": ["xyz.openbmc_project.Logging.Entry", "xyz.openbmc_project.Sensor.Value"]
+```javascript
+var data = JSON.stringify({
+  paths: ["/xyz/openbmc_project/logging", "/xyz/openbmc_project/sensors"],
+  interfaces: [
+    "xyz.openbmc_project.Logging.Entry",
+    "xyz.openbmc_project.Sensor.Value",
+  ],
 });
-ws.onopen = function() {
-    ws.send(data);
+ws.onopen = function () {
+  ws.send(data);
 };
 ```
 
-```
-var data = JSON.stringify(
-{
-    "paths": ["/xyz/openbmc_project/logging", "/xyz/openbmc_project/sensors"],
+```javascript
+var data = JSON.stringify({
+  paths: ["/xyz/openbmc_project/logging", "/xyz/openbmc_project/sensors"],
 });
-ws.onopen = function() {
-    ws.send(data);
+ws.onopen = function () {
+  ws.send(data);
 };
 ```
 
-```
-var data = JSON.stringify(
-{
-    "interfaces": ["xyz.openbmc_project.Logging.Entry", "xyz.openbmc_project.Sensor.Value"]
+```javascript
+var data = JSON.stringify({
+  interfaces: [
+    "xyz.openbmc_project.Logging.Entry",
+    "xyz.openbmc_project.Sensor.Value",
+  ],
 });
-ws.onopen = function() {
-    ws.send(data);
+ws.onopen = function () {
+  ws.send(data);
 };
 ```
 
-```
-var data = JSON.stringify(
-{
-});
-ws.onopen = function() {
-    ws.send(data);
+```javascript
+var data = JSON.stringify({});
+ws.onopen = function () {
+  ws.send(data);
 };
 ```
 
-d) The rest server on the BMC will respond over the websocket when a D-Bus event
+d. The rest server on the BMC will respond over the websocket when a D-Bus event
 occurs, considering the client supplied filters. The rest servers notifies about
 InterfacesAdded and PropertiesChanged events. The response is a JSON dictionary
 as follows :
 
 InterfacesAdded
 
-```
+```text
 "event": InterfacesAdded
 "path": <string : new D-Bus path that was created>
 "interfaces": <dict : a dictionary of interfaces> (similar to org.freedesktop.DBus.ObjectManager.InterfacesAdded )
@@ -400,7 +423,7 @@
 
 PropertiesChanged
 
-```
+```text
 "event": PropertiesChanged
 "path": <string : D-Bus path whose property changed>
 "interface": <string : D-Bus interface to which the changed property belongs>
diff --git a/security/TLS-configuration.md b/security/TLS-configuration.md
index b75258b..5e8e2ba 100644
--- a/security/TLS-configuration.md
+++ b/security/TLS-configuration.md
@@ -33,8 +33,8 @@
 - issuer name has to match the fully qualified domain name of your OpenBMC host
 
 If you already have certificates you can skip to
-[Enable TLS authentication ](#Enable-TLS-authentication) or go to
-[Verify certificates](#Verify-certificates) and check if they meet the above
+[Enable TLS authentication](#enable-tls-authentication) or go to
+[Verify certificates](#verify-certificates) and check if they meet the above
 requirements.
 
 ### Prepare configuration files
@@ -49,7 +49,7 @@
 at `/etc/ssl/openssl.cnf`. For Cygwin it might be
 `/etc/defaults/etc/pki/tls/openssl.cnf` or `/etc/pki/tls/openssl.cnf`.
 
-```
+```bash
 mkdir ~/ca
 cd ~/ca
 cp /usr/lib/ssl/openssl.cnf openssl-client.cnf
@@ -58,13 +58,13 @@
 Then open the client `~/ca/openssl-client.cnf` file in your favorite editor, for
 example `vi`.
 
-```
+```bash
 vi ~/ca/openssl-client.cnf
 ```
 
 Find the sections listed below and add or choose the presented values.
 
-```
+```bash
 [ req ]
 req_extensions = v3_req
 
@@ -79,13 +79,13 @@
 Now create a server configuration `openssl-server.cnf` by copying the client
 file
 
-```
+```bash
 cp ~/ca/openssl-client.cnf openssl-server.cnf
 ```
 
 and changing values presented in the sections listed below.
 
-```
+```bash
 [ usr_cert ]
 extendedKeyUsage = serverAuth
 
@@ -97,7 +97,7 @@
 `myext-server.cnf` for the client and server certificates respectively. Without
 these files no extensions are added to the certificate.
 
-```
+```bash
 cat << END > myext-client.cnf
 [ my_ext_section ]
 keyUsage = digitalSignature, keyAgreement
@@ -106,7 +106,7 @@
 END
 ```
 
-```
+```bash
 cat << END > myext-server.cnf
 [ my_ext_section ]
 keyUsage = digitalSignature, keyAgreement
@@ -119,7 +119,7 @@
 
 First we need to create a private key to sign the CA certificate.
 
-```
+```bash
 openssl genrsa -out CA-key.pem 2048
 ```
 
@@ -127,7 +127,7 @@
 be prompted for information which will be incorporated into the certificate,
 such as Country, City, Company Name, etc.
 
-```
+```bash
 openssl req -new -config openssl-client.cnf -key CA-key.pem -x509 -days 1000 -out CA-cert.pem
 ```
 
@@ -138,7 +138,7 @@
 
 Generate a new key that will be used to sign the certificate signing request:
 
-```
+```bash
 openssl genrsa -out client-key.pem 2048
 ```
 
@@ -148,14 +148,14 @@
 provide **the OpenBMC system user name** for the `CommonName` attribute of this
 certificate. In this example, use **root**.
 
-```
+```bash
 openssl req -new -config openssl-client.cnf -key client-key.pem -out signingReqClient.csr
 ```
 
 Sign the certificate using your `CA-cert.pem` certificate with following
 command:
 
-```
+```bash
 openssl x509 -req -extensions my_ext_section -extfile myext-client.cnf -days 365 -in signingReqClient.csr -CA CA-cert.pem -CAkey CA-key.pem -CAcreateserial -out client-cert.pem
 ```
 
@@ -164,13 +164,13 @@
 ### Create server certificate signed by given CA certificate
 
 For convenience we will use the same CA generated in paragraph
-[Create a new CA certificate](#Create-a-new-CA-certificate), although a
+[Create a new CA certificate](#create-a-new-ca-certificate), although a
 different one could be used.
 
 Generate a new key that will be used to sign the server certificate signing
 request:
 
-```
+```bash
 openssl genrsa -out server-key.pem 2048
 ```
 
@@ -179,17 +179,17 @@
 name of your OpenBMC server** for the `CommonName` attribute of this
 certificate. In this example it will be `bmc.example.com`. A wildcard can be
 used to protect multiple host, for example a certificate configured for
-`*.example.com` will secure www.example.com, as well as mail.example.com,
+`*.example.com` will secure `www.example.com`, as well as `mail.example.com`,
 blog.example.com, and others.
 
-```
+```bash
 openssl req -new -config openssl-server.cnf -key server-key.pem -out signingReqServer.csr
 ```
 
 Sign the certificate using your `CA-cert.pem` certificate with following
 command:
 
-```
+```bash
 openssl x509 -req -extensions my_ext_section -extfile myext-server.cnf -days 365 -in signingReqServer.csr -CA CA-cert.pem -CAkey CA-key.pem -CAcreateserial -out server-cert.pem
 ```
 
@@ -200,7 +200,7 @@
 To verify the signing request and both certificates you can use following
 commands.
 
-```
+```bash
 openssl x509 -in CA-cert.pem -text -noout
 openssl x509 -in client-cert.pem -text -noout
 openssl x509 -in server-cert.pem -text -noout
@@ -219,12 +219,12 @@
 - `Subject` CN in `client-cert.pem`, it should match existing OpemBMC user name.
   In this example it is **root**.
 - `Subject` CN in `server-cert.pem`, it should match OpemBMC host name. In this
-  example it is **bmc.example.com **. (see rfc 3280 4.2.1.11 for name
+  example it is **bmc.example.com**. (see rfc 3280 4.2.1.11 for name
   constraints)
 
 Below are fragments of generated certificates that you can compare with.
 
-```
+```text
 CA-cert.pem
     Data:
         Version: 3 (0x2)
@@ -259,7 +259,7 @@
          ee:d3:78:84
 ```
 
-```
+```text
 client-cert.pem
     Data:
         Version: 3 (0x2)
@@ -294,7 +294,7 @@
          56:57:4c:6a
 ```
 
-```
+```text
 server-cert.pem
     Data:
         Version: 3 (0x2)
@@ -338,7 +338,7 @@
 endings as `\n`. The command below prepares a whole POST body and puts it into a
 file named: `install_ca.json`.
 
-```
+```bash
 cat << END > install_ca.json
 {
   "CertificateString":"$(cat CA-cert.pem | sed -n -e '1h;1!H;${x;s/\n/\\n/g;p;}')",
@@ -353,7 +353,7 @@
 Where `${bmc}` should be `bmc.example.com`. It is convenient to export it as an
 environment variable.
 
-```
+```bash
 curl --user root:0penBmc -d @install_ca.json -k -H "Content-Type: application/json" -X POST https://${bmc}/redfish/v1/Managers/bmc/Truststore/Certificates
 
 ```
@@ -364,7 +364,7 @@
 After successful certificate installation you should get positive HTTP response
 and a new certificate should be available under this resource collection.
 
-```
+```bash
 curl --user root:0penBmc -k https://${bmc}/redfish/v1/Managers/bmc/Truststore/Certificates
 
 ```
@@ -374,7 +374,7 @@
 Additionally we must upload to OpenBMC the private key that was used to sign the
 server certificate. A proper message mody can be prepared the with this command:
 
-```
+```bash
 cat << END > replace_cert.json
 {
   "CertificateString":"$(cat server-key.pem server-cert.pem | sed -n -e '1h;1!H;${x;s/\n/\\n/g;p;}')",
@@ -390,7 +390,7 @@
 To replace the server certificate on the OpenBMC server post the content of
 `replace_cert.json` with this command:
 
-```
+```bash
 curl --user root:0penBmc -d @replace_cert.json -k -H "Content-Type: application/json" -X POST https://${bmc}/redfish/v1/CertificateService/Actions/CertificateService.ReplaceCertificate/
 
 ```
@@ -399,7 +399,7 @@
 
 To check current state of the TLS authentication method use this command:
 
-```
+```bash
 curl --user root:0penBmc -k https://${bmc}/redfish/v1/AccountService
 ```
 
@@ -407,13 +407,13 @@
 
 To enable TLS authentication use this command:
 
-```
+```bash
 curl --user root:0penBmc  -k -X PATCH -H "Content-Type: application/json" --data '{"Oem": {"OpenBMC": {"AuthMethods": { "TLS": true} } } }' https://${bmc}/redfish/v1/AccountService
 ```
 
 To disable TLS authentication use this command:
 
-```
+```bash
 curl --user root:0penBmc  -k -X PATCH -H "Content-Type: application/json" --data '{"Oem": {"OpenBMC": {"AuthMethods": { "TLS": false} } } }' https://${bmc}/redfish/v1/AccountService
 ```
 
@@ -428,7 +428,7 @@
 was replaced it should be possible to execute curl requests using only client
 certificate, key, and CA like below.
 
-```
+```bash
 curl --cert client-cert.pem --key client-key.pem -vvv --cacert CA-cert.pem https://${bmc}/redfish/v1/SessionService/Sessions
 ```
 
@@ -441,7 +441,7 @@
   when TLS is disabled or certificates are invalid.
 
 - Certificates do not meet the requirements. See paragraphs
-  [Verify certificates](#Verify-certificates).
+  [Verify certificates](#verify-certificates).
 
 - Attempting to load the same certificate twice will end up with an error.
 
diff --git a/security/how-to-report-a-security-vulnerability.md b/security/how-to-report-a-security-vulnerability.md
index 3bc3589..b5bf04e 100644
--- a/security/how-to-report-a-security-vulnerability.md
+++ b/security/how-to-report-a-security-vulnerability.md
@@ -50,7 +50,7 @@
 - Coordinate announcement details with you, such as timing or how you want to be
   credited.
 - At the agreed time, publish the OpenBMC security advisory, reveal the fix, and
-  publish the CVE.
+  publish the [CVE][].
 
 Please refer to the [CERT Guide to Coordinated Vulnerability Disclosure][],
 (SPECIAL REPORT CMU/SEI-2017-SR-022) for additional considerations.
diff --git a/security/network-security-considerations.md b/security/network-security-considerations.md
index e9ebff3..2360732 100644
--- a/security/network-security-considerations.md
+++ b/security/network-security-considerations.md
@@ -106,12 +106,11 @@
 surface. For example, a large scale data center may not need a Web interface.
 Services can be disabled in several ways:
 
-1.  Configure OpenBMC recipes to build the unwanted feature out of the BMC's
-    firmware image. This gives the BMC the advantage of a smaller attack
-    surface.
-2.  Implement something like the [Redfish ManagerNetworkProtocol][] properties
-    for IPMI, SSH, and other BMC services, possibly by using shell commands like
-    'systemctl disable ipmid' and 'systemctl stop ipmid'.
+1. Configure OpenBMC recipes to build the unwanted feature out of the BMC's
+   firmware image. This gives the BMC the advantage of a smaller attack surface.
+2. Implement something like the [Redfish ManagerNetworkProtocol][] properties
+   for IPMI, SSH, and other BMC services, possibly by using shell commands like
+   'systemctl disable ipmid' and 'systemctl stop ipmid'.
 
 [redfish managernetworkprotocol]:
   https://redfish.dmtf.org/schemas/ManagerNetworkProtocol.v1_4_0.json
@@ -168,12 +167,12 @@
 
 BMCWeb controls which HTTPS transport layer security (TLS) ciphers it offers via
 compile-time header file `include/ssl_key_handler.hpp` in the
-https://github.com/openbmc/bmcweb repository. The implementation is provided by
-OpenSSL.
+<https://github.com/openbmc/bmcweb> repository. The implementation is provided
+by OpenSSL.
 
 BMCWeb provides appropriate HTTP response headers, for example, in header file
 `include/security_headers_middleware.hpp` and `crow/include/crow/websocket.h` in
-the https://github.com/openbmc/bmcweb repository.
+the <https://github.com/openbmc/bmcweb> repository.
 
 [bmcweb configuration]: https://github.com/openbmc/bmcweb#configuration
 [owasp application security]:
@@ -183,14 +182,13 @@
 
 BMCWeb offers three authentication methods:
 
-1.  The Redfish SessionService, which takes a username and password and provides
-    an X-Auth token.
-2.  The Phosphor D-Bus REST interface '/login' URI, which takes a username and
-    password and provides a session cookie. This method is deprecated in
-    OpenBMC.
-3.  Basic Access Authentication, which takes a username and password (often URL
-    encoded like https://user:pass@host/...) in an "Authorization" request
-    header, and returns no credentials. This method is deprecated by RFC 3986.
+1. The Redfish SessionService, which takes a username and password and provides
+   an X-Auth token.
+2. The Phosphor D-Bus REST interface '/login' URI, which takes a username and
+   password and provides a session cookie. This method is deprecated in OpenBMC.
+3. Basic Access Authentication, which takes a username and password (often URL
+   encoded like `https://user:pass@host/...`) in an "Authorization" request
+   header, and returns no credentials. This method is deprecated by RFC 3986.
 
 The username and password are presented to phosphor-user-manager for
 authentication.
@@ -201,11 +199,11 @@
 tokens are required to use POST, PUT, PATCH, or DELETE methods.
 
 General security considerations for REST APIs apply:
-https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/REST_Security_Cheat_Sheet.md
+<https://github.com/OWASP/CheatSheetSeries/blob/master/cheatsheets/REST_Security_Cheat_Sheet.md>
 
 Redfish provides security considerations in the "Security Detail" section of the
 "Redfish Specification" (document ID DSP0266) available from
-https://www.dmtf.org/standards/redfish.
+<https://www.dmtf.org/standards/redfish>.
 
 #### The webui-vue Web application
 
@@ -235,7 +233,7 @@
 ### TCP and UDP ports 5355 - mDNS service discovery
 
 General security considerations for service discovery apply. For example,
-described here: https://attack.mitre.org/techniques/T1046/
+described here: <https://attack.mitre.org/techniques/T1046/>
 
 ### UDP port 427 - SLP, Avahi
 
@@ -244,13 +242,13 @@
 ### UDP port 623 - IPMI RCMP
 
 The IPMI network-facing design is described here:
-https://github.com/openbmc/docs/blob/master/architecture/ipmi-architecture.md
+<https://github.com/openbmc/docs/blob/master/architecture/ipmi-architecture.md>
 and the implementation is described here:
-https://github.com/openbmc/phosphor-net-ipmid. Note that host IPMI is outside
+<https://github.com/openbmc/phosphor-net-ipmid>. Note that host IPMI is outside
 the scope of this document.
 
 General security considerations for IPMI apply. For example, described here:
-https://www.us-cert.gov/ncas/alerts/TA13-207A
+<https://www.us-cert.gov/ncas/alerts/TA13-207A>
 
 OpenBMC implements RCMP+ and IPMI 2.0. The phosphor-user-manager provides the
 underlying authentication mechanism.
diff --git a/security/obmc-github-security-advisory-template.md b/security/obmc-github-security-advisory-template.md
index 76a8448..49f55e5 100644
--- a/security/obmc-github-security-advisory-template.md
+++ b/security/obmc-github-security-advisory-template.md
@@ -9,10 +9,12 @@
 
 [security response team guidelines]: ./obmc-security-response-team-guidelines.md
 
-### Affected Product
+## Affected Product
 
-Ecosystem: Other OpenBMC Package name: <TBD> Affected versions: 2.9 Patched
-versions: <TBD>
+- Ecosystem: Other
+- OpenBMC Package name: `TBD`
+- Affected versions: 2.9
+- Patched versions: `TBD`
 
 ## Severity
 
@@ -20,7 +22,7 @@
 
 ## CWE
 
-<TBD>
+`TBD`
 
 ## CVE identifier
 
diff --git a/security/obmc-security-response-team-guidelines.md b/security/obmc-security-response-team-guidelines.md
index 2a3f615..2f1367d 100644
--- a/security/obmc-security-response-team-guidelines.md
+++ b/security/obmc-security-response-team-guidelines.md
@@ -57,9 +57,10 @@
    - Privately engage an OpenBMC maintainer or subject matter expert.
 
 3. For OpenBMC problems.
-   1. Determine if this is a high severity problem. Example using CVSS metrics:
-      a remotely exploitable or low complexity attack that has high impact to
-      the BMC's confidentiality, integrity, or availability.
+   1. Determine if this is a high severity problem. Example using [CVSS
+      metrics](cvss metrics): a remotely exploitable or low complexity attack
+      that has high impact to the BMC's confidentiality, integrity, or
+      availability.
    2. Avoid pre-announcing problems. Be especially careful with high severity
       problems. When fixing the problem, use the contribution process but limit
       the details in the issue or use a private channel to discuss.
@@ -76,7 +77,7 @@
 
 Repository maintainer process steps: 1. Create a private gerrit code review and
 oversee development of the fix. 2. Create a draft advisory under
-github.com/openbmc/<REPO>/security/advisories. Please follow guidance in the
+`github.com/openbmc/<REPO>/security/advisories`. Please follow guidance in the
 [OpenBMC Security Advisory Template][]. Add the openbmc security-response group
 and other stakeholders to the advisory. 3. Review the security bulletin with
 stakeholders to get it ready to publish. 4. Work with the SRT to identify CVEs.
@@ -119,7 +120,7 @@
 
 ## Template: OpenBMC Security Advisory
 
-```
+```text
 OpenBMC Security Advisory
 Title: ...
 
@@ -143,7 +144,7 @@
 When the Security Advisory is created, inform the OpenBMC community by sending
 email like this:
 
-```
+```text
 TO: openbmc-security@lists.ozlabs.org, openbmc@lists.ozlabs.org
 SUBJECT: [Security Advisory] ${subject}
 
@@ -160,9 +161,9 @@
 
 Some of these guidelines were collected from:
 
-- https://bestpractices.coreinfrastructure.org/en/projects/34
-- https://www.kernel.org/doc/html/v4.16/admin-guide/security-bugs.html
-- https://oss-security.openwall.org/wiki/mailing-lists/distros
+- <https://bestpractices.coreinfrastructure.org/en/projects/34>
+- <https://www.kernel.org/doc/html/v4.16/admin-guide/security-bugs.html>
+- <https://oss-security.openwall.org/wiki/mailing-lists/distros>
 - [ISO/IEC 29147:2018 vulnerability disclosure](https://www.iso.org/standard/72311.html)
 
 ## Team composition and email maintenance
@@ -207,11 +208,11 @@
 This email list is for privately reporting OpenBMC security vulnerabilities.
 List membership is limited to the OpenBMC security response team. For more
 information, see
-https://github.com/openbmc/docs/blob/master/security/how-to-report-a-security-vulnerability.md
+<https://github.com/openbmc/docs/blob/master/security/how-to-report-a-security-vulnerability.md>
 
 Sample response for denying list membership:
 
-```
+```text
 Thanks for your interest in OpenBMC security.  Subscriptions to the
 openbmc-security@lists.ozlabs.org email list are by invitation only
 and are typically extended only to security response team members.
diff --git a/security/obmc-security-response-team.md b/security/obmc-security-response-team.md
index d2605a9..f6b339f 100644
--- a/security/obmc-security-response-team.md
+++ b/security/obmc-security-response-team.md
@@ -13,16 +13,16 @@
 
 The basic workflow is:
 
-1.  A community member reports a problem privately to the security response team
-    (and to the repository maintainers if known).
-2.  The responders (including the security response team, the repository
-    maintainers, and the problem submitter) work to understand the problem.
-3.  The repository maintainer creates an OpenBMC security advisory which
-    explains the problem, its severity, and how to protect your systems that
-    were built on OpenBMC.
-4.  The responders privately engage community members to create workarounds and
-    fixes and to negotiate disclosure dates.
-5.  The OpenBMC security advisory is published along with any accompanying CVEs.
+1. A community member reports a problem privately to the security response team
+   (and to the repository maintainers if known).
+2. The responders (including the security response team, the repository
+   maintainers, and the problem submitter) work to understand the problem.
+3. The repository maintainer creates an OpenBMC security advisory which explains
+   the problem, its severity, and how to protect your systems that were built on
+   OpenBMC.
+4. The responders privately engage community members to create workarounds and
+   fixes and to negotiate disclosure dates.
+5. The OpenBMC security advisory is published along with any accompanying CVEs.
 
 Note that the OpenBMC security response team is distinct from the OpenBMC
 security working group which remains completely open.
diff --git a/testing/local-ci-build.md b/testing/local-ci-build.md
index 08fdfd4..65b3e2d 100644
--- a/testing/local-ci-build.md
+++ b/testing/local-ci-build.md
@@ -108,7 +108,7 @@
 find where we call `docker run`, way down at the bottom. Add an additional
 argument, remembering to escape the newline ('\'):
 
-```
+```bash
 PHOSPHOR_IPMI_HOST_PATH="/my/dir/for/phosphor-host-ipmid"
 
 docker run --blah-blah-existing-flags \
@@ -143,7 +143,7 @@
 # Now run the Docker container normally
 ```
 
-#### Interactive Docker Session
+### Interactive Docker Session
 
 To use an interactive session, you can pass the flag `INTERACTIVE=true` to
 `run-unit-test-docker.sh` which will drop you into a bash shell with a default
diff --git a/testing/run-test-docker.md b/testing/run-test-docker.md
index b87ac30..04e0302 100644
--- a/testing/run-test-docker.md
+++ b/testing/run-test-docker.md
@@ -30,11 +30,12 @@
 
    `./scripts/build-qemu-robot-docker.sh`
 
-   ###### _Note: When your Docker is behind a proxy, add the following parameters to the build command (use proper IP and PORT values.)_
+**Note:** When your Docker is behind a proxy, add the following parameters to
+the build command (use proper IP and PORT values.)
 
-   ```
+```bash
    --build-arg http_proxy=<IP>:<PORT> --build-arg https_proxy=<IP>:<PORT>
-   ```
+```
 
 ## Code update process using robot test code
 
@@ -48,39 +49,40 @@
 
 3. Execute docker run to initiate BMC code update.
 
-   ###### _Note: Download BMC fw image file (_.all.tar) before executing this. BMC_IMG_PATH below points to this downloaded file.
+   **Note:** Download BMC fw image file (`_.all.tar`) before executing this.
+   `BMC\*IMG_PATH` below points to this downloaded file.
 
-   ```
+   ```bash
    docker run --user root \
-              --env HOME=${HOME} \
-              --workdir ${HOME} \
-              --volume ${HOME}/OpenBMC_Automation:${HOME} \
-              --tty openbmc/ubuntu-robot-qemu python -m robot \
-                  -v OPENBMC_HOST:<BMC IP> \
-                  -v FILE_PATH:<BMC_IMG_PATH> \
-                  -i Initiate_Code_Update_BMC \
-                  ${HOME}/openbmc-test-automation/extended/code_update/update_bmc.robot
+             --env HOME=${HOME} \
+             --workdir ${HOME} \
+             --volume ${HOME}/OpenBMC_Automation:${HOME} \
+             --tty openbmc/ubuntu-robot-qemu python -m robot \
+                 -v OPENBMC_HOST:<BMC IP> \
+                 -v FILE_PATH:<BMC_IMG_PATH> \
+                 -i Initiate_Code_Update_BMC \
+                 ${HOME}/openbmc-test-automation/extended/code_update/update_bmc.robot
    ```
 
    Example to run BMC code update using witherspoon-20170614071422.all.tar image
    file from HOME directory of the system where docker run command is executed:
 
-   ```
+   ```bash
    docker run --user root \
-              --env HOME=${HOME} \
-              --workdir ${HOME} \
-              --volume ${HOME}/OpenBMC_Automation:${HOME} \
-              --tty openbmc/ubuntu-robot-qemu python -m robot \
-                  -v OPENBMC_HOST:1.11.222.333 \
-                  -v FILE_PATH:/home/witherspoon-20170614071422.all.tar \
-                  -i Initiate_Code_Update_BMC \
-                  ${HOME}/openbmc-test-automation/extended/code_update/update_bmc.robot
+             --env HOME=${HOME} \
+             --workdir ${HOME} \
+             --volume ${HOME}/OpenBMC_Automation:${HOME} \
+             --tty openbmc/ubuntu-robot-qemu python -m robot \
+                 -v OPENBMC_HOST:1.11.222.333 \
+                 -v FILE_PATH:/home/witherspoon-20170614071422.all.tar \
+                 -i Initiate_Code_Update_BMC \
+                 ${HOME}/openbmc-test-automation/extended/code_update/update_bmc.robot
    ```
 
 4. On code update completion, logs generated from robot framework execution will
    be available in the following location:
 
-   ```
+   ```bash
    ${HOME}/OpenBMC_Automation/log.html
    ${HOME}/OpenBMC_Automation/report.html
    ${HOME}/OpenBMC_Automation/output.xml
@@ -90,41 +92,42 @@
 
 1. Execute docker run to execute OpenBMC automation test cases.
 
-   ###### _Note: This runs a Docker container using openbmc/ubuntu-robot-qemu image._
+   **Note:** This runs a Docker container using openbmc/ubuntu-robot-qemu image.
 
-   ###### _Robot test code is extracted and ran on this container using run-robot.sh script._
+   Robot test code is extracted and ran on this container using run-robot.sh
+   script.
 
-   ```
+   ```bash
    docker run --user root \
-              --env HOME=${HOME} \
-              --env IP_ADDR=<BMC IP> \
-              --env SSH_PORT=22 \
-              --env HTTPS_PORT=443 \
-              --env ROBOT_TEST_CMD="tox -e <System Type> -- <Robot Cmd>" \
-              --workdir ${HOME} \
-              --volume ${WORKSPACE}:${HOME} \
-              --tty openbmc/ubuntu-robot-qemu \
-                  ${HOME}/openbmc-build-scripts/scripts/run-robot.sh
+             --env HOME=${HOME} \
+             --env IP_ADDR=<BMC IP> \
+             --env SSH_PORT=22 \
+             --env HTTPS_PORT=443 \
+             --env ROBOT_TEST_CMD="tox -e <System Type> -- <Robot Cmd>" \
+             --workdir ${HOME} \
+             --volume ${WORKSPACE}:${HOME} \
+             --tty openbmc/ubuntu-robot-qemu \
+                 ${HOME}/openbmc-build-scripts/scripts/run-robot.sh
    ```
 
    Example to run entire test suite:
 
-   ```
+   ```bash
    docker run --user root \
-              --env HOME=${HOME} \
-              --env IP_ADDR=1.11.222.333 \
-              --env SSH_PORT=22 \
-              --env HTTPS_PORT=443 \
-              --env ROBOT_TEST_CMD="tox -e witherspoon -- tests" \
-              --workdir ${HOME} \
-              --volume ${HOME}/OpenBMC_Automation:${HOME} \
-              --tty openbmc/ubuntu-robot-qemu \
-                  ${HOME}/openbmc-build-scripts/scripts/run-robot.sh
+             --env HOME=${HOME} \
+             --env IP_ADDR=1.11.222.333 \
+             --env SSH_PORT=22 \
+             --env HTTPS_PORT=443 \
+             --env ROBOT_TEST_CMD="tox -e witherspoon -- tests" \
+             --workdir ${HOME} \
+             --volume ${HOME}/OpenBMC_Automation:${HOME} \
+             --tty openbmc/ubuntu-robot-qemu \
+                 ${HOME}/openbmc-build-scripts/scripts/run-robot.sh
    ```
 
 2. After the execution, test results will be available in below files.
 
-   ```
+   ```bash
    ${HOME}/OpenBMC_Automation/log.html
    ${HOME}/OpenBMC_Automation/report.html
    ${HOME}/OpenBMC_Automation/output.xml`
diff --git a/tof/contract.md b/tof/contract.md
index fedde9a..bdf0a8d 100644
--- a/tof/contract.md
+++ b/tof/contract.md
@@ -42,8 +42,9 @@
 
 ## Current members
 
-The current TOF members and terms are maintained
-[here](https://github.com/openbmc/docs/blob/master/tof/membership-and-voting.md#terms-and-elections).
+The current TOF members and terms are maintained in the
+[TOF membership](https://github.com/openbmc/docs/blob/master/tof/membership-and-voting.md#terms-and-elections)
+doc.
 
 The TOF shall have a minimum of 5 and maximum of 9 members at any given time.
 
diff --git a/yocto-development.md b/yocto-development.md
index 9cf2040..28d81bb 100644
--- a/yocto-development.md
+++ b/yocto-development.md
@@ -58,7 +58,7 @@
 Run the devtool command to add your repo to the workspace. In my example I have
 a repo out on GitHub that contains my code.
 
-```
+```bash
 devtool add welcome https://github.com/causten/hello.git
 ```
 
@@ -68,8 +68,8 @@
 
 Add/Modify these lines.
 
-```
-do_install () {
+```bash
+do_install() {
         install -m 0755 -d ${D}${bindir} ${D}${datadir}/welcome
         install -m 0644 ${S}/hello ${D}${bindir}
         install -m 0644 ${S}/README.md ${D}${datadir}/welcome/
@@ -82,7 +82,7 @@
 
 The Final Step is to tell BitBake that you need the `welcome` recipe
 
-```
+```bash
 vim conf/local.conf
 IMAGE_INSTALL_append = " welcome"
 ```
@@ -98,14 +98,14 @@
 
 In my example to check if README.md was going to be added just do...
 
-```
+```bash
 ls build/tmp/work/${MACHINE}-openbmc-linux-gnueabi/obmc-phosphor-image/1.0-r0/rootfs/usr/share/welcome/README.md
 ```
 
 NXP wrote a few examples of [useful](https://community.nxp.com/docs/DOC-94953)
 commands with BitBake that find the file too
 
-```
+```bash
 bitbake -g obmc-phosphor-image && cat pn-depends.dot |grep welcome
 ```