diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 40b0a3d..3b7cfd1 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -26,7 +26,6 @@
   question is the least bit complex, please write it in Python.
 
   See the following for support on writing most keywords in python.
-
   - [Quit Writing Ugly Robot Code](https://esalagea.wordpress.com/2014/11/24/robot-framework-quit-writing-ugly-robot-code-just-write-proper-python/)
   - [Robot Dos and Don'ts](https://www.slideshare.net/pekkaklarck/robot-framework-dos-and-donts)
 
@@ -39,7 +38,6 @@
   two spaces. There may be some exceptions to this rule.
 
   Exceptions to two-space delimiter rule:
-
   - When you wish to line up resource, library or variable values:
     ```
     Library         Lib1
@@ -80,7 +78,6 @@
 - When you define or call a Robot keyword, Robot pays no attention to spaces,
   underscores or case. However, our team will observe the following conventions
   in both our definitions and our calls:
-
   - Separate words with single spaces.
   - Capitalize the first character of each word.
   - Capitalize all characters in any word that is an acronym (e.g. JSON, BMC,
@@ -114,7 +111,6 @@
   ```
 
 - Documentation strings:
-
   - Each documentation string should be phrased as an **English command**.
     Punctuate it correctly with the first word capitalized and a period at the
     end.
@@ -164,7 +160,6 @@
     ```
 
 - Tags:
-
   - Create a tag for every test suite with a tag name that represents the suite
     name as follows:
 
@@ -186,7 +181,6 @@
     ```
 
 - Description of argument(s):
-
   - As shown in the following example, if your keyword has any arguments,
     include a "**Description of argument(s)**" section. This effectively serves
     as the help text for anyone wanting to use or understand your keyword.
@@ -210,7 +204,6 @@
     ```
 
     Additional rules for example text in descriptions:
-
     - Put parentheses around your examples. Leave one space prior to the left
       parenthesis.
     - Use "e.g." (which effectively means "for example") to set introduce your
@@ -241,7 +234,6 @@
   ```
 
 - General variable naming conventions:
-
   - Variable names should be lower case with few exceptions (listed here):
     - Environment variables should be all upper case.
     - Variables intended to be set by Robot -v parameters may be all upper case.
@@ -322,7 +314,6 @@
 
   For certain very commonly used kinds of variables, please observe these
   conventions in order to achieve consistency throughout the code.
-
   - hosts
 
     When a variable is intended to contain **either** an IP address **or** a
@@ -378,9 +369,7 @@
     ```
 
   - Files and directories:
-
     - Files:
-
       - If your variable is to contain only the file's name, use a suffix of
         \_file_name.
 
@@ -414,7 +403,6 @@
         rare case), use a suffix \_abs_file_path.
 
     - Directories:
-
       - Directory variables should follow the same conventions as file
         variables.
 
@@ -460,14 +448,12 @@
   - Setup/Teardown keywords
 
     Use standardized names for setup and teardown keywords:
-
     - Suite Setup Execution
     - Suite Teardown Execution
     - Test Setup Execution
     - Test Teardown Execution
 
 - Traditional comments (i.e. using the hashtag style comments)
-
   - Please leave one space following the hashtag.
 
     ```
@@ -477,14 +463,12 @@
     ```
 
   - Please use proper English punctuation:
-
     - Capitalize the first word in the sentence or phrase.
     - End sentences (or stand-alone phrases) with a period.
 
   - Do not keep commented-out code in your program. Instead, remove it entirely.
 
 - Robot Template Test Cases
-
   - Follow this format for Robot template test cases:
 
     Note: Documentation, Tags and Template lines are all required and should be
@@ -566,7 +550,6 @@
   for anyone wanting to use or understand your function. Include real data
   examples wherever possible and applicable.
 - Function definitions:
-
   - Put each function parameter on its own line:
 
     ```
@@ -577,7 +560,6 @@
 
 - Do not keep commented-out code in your program. Instead, remove it entirely.
 - When you define a python function, observe the following conventions:
-
   - Separate words with single underscores.
   - Use lower-case letters.
 
@@ -601,7 +583,6 @@
   ```
 
 - Documentation strings:
-
   - Each documentation string should be phrased as an **English command**.
     Punctuate it correctly with the first word capitalized and a period at the
     end.
@@ -656,7 +637,6 @@
     ```
 
 - General variable naming conventions:
-
   - Variable names should be lower case with few exceptions (listed here):
     - Environment variables should be all upper case.
   - Words within a variable name should be separated by underscores:
@@ -679,7 +659,6 @@
 
   For certain very commonly used kinds of variables, please observe these
   conventions in order to achieve consistency throughout the code.
-
   - hosts
 
     When a variable is intended to contain **either** an IP address **or** a
@@ -735,9 +714,7 @@
     ```
 
 - Files and directories:
-
   - Files:
-
     - If your variable is to contain only the file's name, use a suffix of
       \_file_name.
 
@@ -771,7 +748,6 @@
       rare case), use a suffix \_abs_file_path.
 
   - Directories:
-
     - Directory variables should follow the same conventions as file variables.
 
     - If your variable is to contain only the directory's name, use a suffix of
@@ -814,7 +790,6 @@
       ```
 
 - Traditional comments (i.e. using the hashtag style comments)
-
   - Please leave one space following the hashtag.
 
     ```
@@ -824,7 +799,6 @@
     ```
 
   - Please use proper English punction:
-
     - Capitalize the first word in the sentence or phrase.
     - End sentences (or stand-alone phrases) with a period.
 
@@ -849,7 +823,6 @@
 See [python_pgm_template](templates/python_pgm_template) as an example.
 
 - Features:
-
   - Help text and arg parsing started for you.
   - Support for "stock" parameters like "quiet", "debug", "test_mode".
   - "exit_function" pre-defined.
diff --git a/docs/openbmc_test_tools.md b/docs/openbmc_test_tools.md
index dc6ce74..6912e86 100644
--- a/docs/openbmc_test_tools.md
+++ b/docs/openbmc_test_tools.md
@@ -25,7 +25,6 @@
 Pre-requisite: A Power Linux system is required.
 
 - Obtain the SEL (System Error Log) parser tools:
-
   - Go to https://openpower.xyz/job/openpower/job/openpower-op-build/
   - Click the link for the BMC system of interest (e.g. witherspoon)
   - Click the "host_fw_debug.tar" link in order to download the tar file.
@@ -34,7 +33,6 @@
   ```
   $ tar -xvf host_fw_debug.tar
   ```
-
   - Rename the untarred files with:
 
   ```
@@ -44,7 +42,6 @@
   The files of interest are: eSEL.pl hbotStringFile hbicore.syms
 
 - The error log binary parser is also required:
-
   - Go to https://sourceforge.net/projects/linux-diag/files/ppc64-diag/
   - Download the latest release version of the source tar zipped.
   - Extract the tarball and compile. Refer to README in the source.
diff --git a/docs/redfish_coding_guidelines.md b/docs/redfish_coding_guidelines.md
index 8c28e99..19295e6 100644
--- a/docs/redfish_coding_guidelines.md
+++ b/docs/redfish_coding_guidelines.md
@@ -10,14 +10,12 @@
   ```
 
 - This git repository has some redfish wrapper modules:
-
   - [redfish_plus.py](../lib/redfish_plus.py)
   - [bmc_redfish.py](../lib/bmc_redfish.py)
   - [bmc_redfish_utils.py](../lib/bmc_redfish_utils.py)
   - Redfish wrapper module features:
 
     For all Redfish REST requests (get, head, post, put, patch, delete):
-
     - Support for python-like strings for all arguments which allows callers to
       easily specify complex arguments such as lists or dictionaries.
 
@@ -69,7 +67,6 @@
     https://${OPENBMC_HOST},
     ${OPENBMC_USERNAME}, ${OPENBMC_PASSWORD}.
   - Many utility functions are available. Examples:;
-
     - get_properties
     - get_attributes
     - get_session_info
