You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spark.apache.org by sr...@apache.org on 2020/05/10 18:01:12 UTC

[spark] branch branch-3.0 updated: [SPARK-31636][SQL][DOCS] Remove HTML syntax in SQL reference

This is an automated email from the ASF dual-hosted git repository.

srowen pushed a commit to branch branch-3.0
in repository https://gitbox.apache.org/repos/asf/spark.git


The following commit(s) were added to refs/heads/branch-3.0 by this push:
     new 6786500  [SPARK-31636][SQL][DOCS] Remove HTML syntax in SQL reference
6786500 is described below

commit 6786500d49efc00a658a917cb6fbf9d87090a64b
Author: Huaxin Gao <hu...@us.ibm.com>
AuthorDate: Sun May 10 12:57:25 2020 -0500

    [SPARK-31636][SQL][DOCS] Remove HTML syntax in SQL reference
    
    ### What changes were proposed in this pull request?
    Remove the unneeded embedded inline HTML markup by using the basic markdown syntax.
    Please see #28414
    
    ### Why are the changes needed?
    Make the doc cleaner and easily editable by MD editors.
    
    ### Does this PR introduce _any_ user-facing change?
    No
    
    ### How was this patch tested?
    Manually build and check
    
    Closes #28451 from huaxingao/html_cleanup.
    
    Authored-by: Huaxin Gao <hu...@us.ibm.com>
    Signed-off-by: Sean Owen <sr...@gmail.com>
    (cherry picked from commit a75dc80a76ef7666330be2cb1de87e89a4103d95)
    Signed-off-by: Sean Owen <sr...@gmail.com>
---
 docs/_data/menu-sql.yaml                           |  20 +-
 docs/sql-ref-ansi-compliance.md                    |  18 +-
 docs/sql-ref-datatypes.md                          |   4 +-
 docs/sql-ref-functions-builtin.md                  |   2 +-
 docs/sql-ref-functions-udf-aggregate.md            | 101 ++++----
 docs/sql-ref-functions-udf-hive.md                 |  12 +-
 docs/sql-ref-functions-udf-scalar.md               |  28 +-
 docs/sql-ref-identifier.md                         |  37 ++-
 docs/sql-ref-literals.md                           | 282 +++++++++------------
 docs/sql-ref-null-semantics.md                     |  44 ++--
 docs/sql-ref-syntax-aux-analyze-table.md           |  64 ++---
 docs/sql-ref-syntax-aux-cache-cache-table.md       |  98 +++----
 docs/sql-ref-syntax-aux-cache-clear-cache.md       |  16 +-
 docs/sql-ref-syntax-aux-cache-refresh.md           |  24 +-
 docs/sql-ref-syntax-aux-cache-uncache-table.md     |  31 +--
 docs/sql-ref-syntax-aux-conf-mgmt-reset.md         |  10 +-
 docs/sql-ref-syntax-aux-conf-mgmt-set.md           |  31 +--
 docs/sql-ref-syntax-aux-describe-database.md       |  21 +-
 docs/sql-ref-syntax-aux-describe-function.md       |  30 +--
 docs/sql-ref-syntax-aux-describe-query.md          |  44 ++--
 docs/sql-ref-syntax-aux-describe-table.md          |  62 ++---
 docs/sql-ref-syntax-aux-refresh-table.md           |  31 +--
 docs/sql-ref-syntax-aux-resource-mgmt-add-file.md  |  21 +-
 docs/sql-ref-syntax-aux-resource-mgmt-add-jar.md   |  21 +-
 docs/sql-ref-syntax-aux-resource-mgmt-list-file.md |  14 +-
 docs/sql-ref-syntax-aux-resource-mgmt-list-jar.md  |  14 +-
 docs/sql-ref-syntax-aux-show-columns.md            |   2 +-
 docs/sql-ref-syntax-aux-show-create-table.md       |  27 +-
 docs/sql-ref-syntax-aux-show-databases.md          |  32 +--
 docs/sql-ref-syntax-aux-show-functions.md          |  60 ++---
 docs/sql-ref-syntax-aux-show-partitions.md         |  47 ++--
 docs/sql-ref-syntax-aux-show-table.md              |  60 ++---
 docs/sql-ref-syntax-aux-show-tables.md             |  41 ++-
 docs/sql-ref-syntax-aux-show-tblproperties.md      |  51 ++--
 docs/sql-ref-syntax-aux-show-views.md              |  45 ++--
 docs/sql-ref-syntax-aux-show.md                    |   4 +-
 docs/sql-ref-syntax-ddl-alter-database.md          |  17 +-
 docs/sql-ref-syntax-ddl-alter-table.md             | 256 ++++++++-----------
 docs/sql-ref-syntax-ddl-alter-view.md              | 124 ++++-----
 docs/sql-ref-syntax-ddl-create-database.md         |  39 +--
 docs/sql-ref-syntax-ddl-create-function.md         |  85 +++----
 docs/sql-ref-syntax-ddl-create-table-datasource.md | 100 ++++----
 docs/sql-ref-syntax-ddl-create-table-hiveformat.md |  99 ++++----
 docs/sql-ref-syntax-ddl-create-table-like.md       |  73 +++---
 docs/sql-ref-syntax-ddl-create-table.md            |  10 +-
 docs/sql-ref-syntax-ddl-create-view.md             |  82 +++---
 docs/sql-ref-syntax-ddl-drop-database.md           |  42 ++-
 docs/sql-ref-syntax-ddl-drop-function.md           |  55 ++--
 docs/sql-ref-syntax-ddl-drop-table.md              |  45 ++--
 docs/sql-ref-syntax-ddl-drop-view.md               |  49 ++--
 docs/sql-ref-syntax-ddl-repair-table.md            |  25 +-
 docs/sql-ref-syntax-ddl-truncate-table.md          |  43 ++--
 docs/sql-ref-syntax-dml-insert-into.md             |  90 +++----
 ...f-syntax-dml-insert-overwrite-directory-hive.md |  75 +++---
 ...ql-ref-syntax-dml-insert-overwrite-directory.md |  74 +++---
 docs/sql-ref-syntax-dml-insert-overwrite-table.md  |  87 +++----
 docs/sql-ref-syntax-dml-insert.md                  |   8 +-
 docs/sql-ref-syntax-dml-load.md                    |  67 ++---
 docs/sql-ref-syntax-dml.md                         |   4 +-
 docs/sql-ref-syntax-qry-explain.md                 |  58 ++---
 docs/sql-ref-syntax-qry-sampling.md                |  20 +-
 docs/sql-ref-syntax-qry-select-clusterby.md        |  33 ++-
 docs/sql-ref-syntax-qry-select-cte.md              |  35 ++-
 docs/sql-ref-syntax-qry-select-distribute-by.md    |  33 ++-
 docs/sql-ref-syntax-qry-select-groupby.md          | 261 ++++++++++---------
 docs/sql-ref-syntax-qry-select-having.md           |  54 ++--
 docs/sql-ref-syntax-qry-select-hints.md            |  56 ++--
 docs/sql-ref-syntax-qry-select-inline-table.md     |  35 +--
 docs/sql-ref-syntax-qry-select-join.md             | 185 ++++++--------
 docs/sql-ref-syntax-qry-select-like.md             |  51 ++--
 docs/sql-ref-syntax-qry-select-limit.md            |  41 ++-
 docs/sql-ref-syntax-qry-select-orderby.md          |  82 +++---
 docs/sql-ref-syntax-qry-select-setops.md           |  26 +-
 docs/sql-ref-syntax-qry-select-sortby.md           |  84 +++---
 docs/sql-ref-syntax-qry-select-tvf.md              |  35 +--
 docs/sql-ref-syntax-qry-select-usedb.md            |  26 +-
 docs/sql-ref-syntax-qry-select-where.md            |  37 ++-
 docs/sql-ref-syntax-qry-select.md                  | 209 ++++++++-------
 docs/sql-ref-syntax-qry-window.md                  |  91 +++----
 docs/sql-ref-syntax-qry.md                         |  35 +--
 80 files changed, 1979 insertions(+), 2506 deletions(-)

diff --git a/docs/_data/menu-sql.yaml b/docs/_data/menu-sql.yaml
index dfe4cfa..57fc493 100644
--- a/docs/_data/menu-sql.yaml
+++ b/docs/_data/menu-sql.yaml
@@ -156,22 +156,22 @@
                   url: sql-ref-syntax-qry-select-distribute-by.html
                 - text: LIMIT Clause 
                   url: sql-ref-syntax-qry-select-limit.html
+                - text: Common Table Expression
+                  url: sql-ref-syntax-qry-select-cte.html
+                - text: Inline Table
+                  url: sql-ref-syntax-qry-select-inline-table.html
                 - text: JOIN
                   url: sql-ref-syntax-qry-select-join.html
                 - text: Join Hints
                   url: sql-ref-syntax-qry-select-hints.html
+                - text: LIKE Predicate
+                  url: sql-ref-syntax-qry-select-like.html
                 - text: Set Operators
                   url: sql-ref-syntax-qry-select-setops.html
                 - text: TABLESAMPLE
                   url: sql-ref-syntax-qry-sampling.html
                 - text: Table-valued Function
                   url: sql-ref-syntax-qry-select-tvf.html
-                - text: Inline Table
-                  url: sql-ref-syntax-qry-select-inline-table.html
-                - text: Common Table Expression
-                  url: sql-ref-syntax-qry-select-cte.html
-                - text: LIKE Predicate
-                  url: sql-ref-syntax-qry-select-like.html
                 - text: Window Function
                   url: sql-ref-syntax-qry-window.html
             - text: EXPLAIN
@@ -213,20 +213,20 @@
               subitems:
                 - text: SHOW COLUMNS 
                   url: sql-ref-syntax-aux-show-columns.html
+                - text: SHOW CREATE TABLE
+                  url: sql-ref-syntax-aux-show-create-table.html
                 - text: SHOW DATABASES
                   url: sql-ref-syntax-aux-show-databases.html
                 - text: SHOW FUNCTIONS
                   url: sql-ref-syntax-aux-show-functions.html
+                - text: SHOW PARTITIONS
+                  url: sql-ref-syntax-aux-show-partitions.html
                 - text: SHOW TABLE
                   url: sql-ref-syntax-aux-show-table.html
                 - text: SHOW TABLES
                   url: sql-ref-syntax-aux-show-tables.html
                 - text: SHOW TBLPROPERTIES
                   url: sql-ref-syntax-aux-show-tblproperties.html
-                - text: SHOW PARTITIONS 
-                  url: sql-ref-syntax-aux-show-partitions.html
-                - text: SHOW CREATE TABLE
-                  url: sql-ref-syntax-aux-show-create-table.html
                 - text: SHOW VIEWS
                   url: sql-ref-syntax-aux-show-views.html
             - text: CONFIGURATION MANAGEMENT
diff --git a/docs/sql-ref-ansi-compliance.md b/docs/sql-ref-ansi-compliance.md
index 93fb10b..b62834e 100644
--- a/docs/sql-ref-ansi-compliance.md
+++ b/docs/sql-ref-ansi-compliance.md
@@ -41,10 +41,10 @@ This means that in case an operation causes overflows, the result is the same wi
 On the other hand, Spark SQL returns null for decimal overflows.
 When `spark.sql.ansi.enabled` is set to `true` and an overflow occurs in numeric and interval arithmetic operations, it throws an arithmetic exception at runtime.
 
-{% highlight sql %}
+```sql
 -- `spark.sql.ansi.enabled=true`
 SELECT 2147483647 + 1;
-  java.lang.ArithmeticException: integer overflow
+java.lang.ArithmeticException: integer overflow
 
 -- `spark.sql.ansi.enabled=false`
 SELECT 2147483647 + 1;
@@ -53,7 +53,7 @@ SELECT 2147483647 + 1;
 +----------------+
 |     -2147483648|
 +----------------+
-{% endhighlight %}
+```
 
 ### Type Conversion
 
@@ -64,15 +64,15 @@ On the other hand, `INSERT INTO` syntax throws an analysis exception when the AN
 Currently, the ANSI mode affects explicit casting and assignment casting only.
 In future releases, the behaviour of type coercion might change along with the other two type conversion rules.
 
-{% highlight sql %}
+```sql
 -- Examples of explicit casting
 
 -- `spark.sql.ansi.enabled=true`
 SELECT CAST('a' AS INT);
-  java.lang.NumberFormatException: invalid input syntax for type numeric: a
+java.lang.NumberFormatException: invalid input syntax for type numeric: a
 
 SELECT CAST(2147483648L AS INT);
-  java.lang.ArithmeticException: Casting 2147483648 to int causes overflow
+java.lang.ArithmeticException: Casting 2147483648 to int causes overflow
 
 -- `spark.sql.ansi.enabled=false` (This is a default behaviour)
 SELECT CAST('a' AS INT);
@@ -94,8 +94,8 @@ CREATE TABLE t (v INT);
 
 -- `spark.sql.storeAssignmentPolicy=ANSI`
 INSERT INTO t VALUES ('1');
-  org.apache.spark.sql.AnalysisException: Cannot write incompatible data to table '`default`.`t`':
-  - Cannot safely cast 'v': StringType to IntegerType;
+org.apache.spark.sql.AnalysisException: Cannot write incompatible data to table '`default`.`t`':
+- Cannot safely cast 'v': StringType to IntegerType;
 
 -- `spark.sql.storeAssignmentPolicy=LEGACY` (This is a legacy behaviour until Spark 2.x)
 INSERT INTO t VALUES ('1');
@@ -105,7 +105,7 @@ SELECT * FROM t;
 +---+
 |  1|
 +---+
-{% endhighlight %}
+```
 
 ### SQL Functions
 
diff --git a/docs/sql-ref-datatypes.md b/docs/sql-ref-datatypes.md
index 3f6b6b5..f27f1a0 100644
--- a/docs/sql-ref-datatypes.md
+++ b/docs/sql-ref-datatypes.md
@@ -240,7 +240,7 @@ Specifically:
 
 #### Examples
 
-{% highlight sql %}
+```sql
 SELECT double('infinity') AS col;
 +--------+
 |     col|
@@ -313,4 +313,4 @@ SELECT COUNT(*), c2 FROM test GROUP BY c2;
 |        2|-Infinity|
 |        3| Infinity|
 +---------+---------+
-{% endhighlight %}
\ No newline at end of file
+```
diff --git a/docs/sql-ref-functions-builtin.md b/docs/sql-ref-functions-builtin.md
index 1bca68e..cabb83e 100644
--- a/docs/sql-ref-functions-builtin.md
+++ b/docs/sql-ref-functions-builtin.md
@@ -70,7 +70,7 @@ license: |
 ### JSON Functions
 {% include_relative generated-json-funcs-table.html %}
 #### Examples
-{% include_relative generated-agg-funcs-examples.html %}
+{% include_relative generated-json-funcs-examples.html %}
         {% break %}
     {% endif %}
 {% endfor %}
diff --git a/docs/sql-ref-functions-udf-aggregate.md b/docs/sql-ref-functions-udf-aggregate.md
index 3fde94d..da31821 100644
--- a/docs/sql-ref-functions-udf-aggregate.md
+++ b/docs/sql-ref-functions-udf-aggregate.md
@@ -27,46 +27,35 @@ User-Defined Aggregate Functions (UDAFs) are user-programmable routines that act
 
 A base class for user-defined aggregations, which can be used in Dataset operations to take all of the elements of a group and reduce them to a single value.
 
- * IN - The input type for the aggregation.
- * BUF - The type of the intermediate value of the reduction.
- * OUT - The type of the final output result.
+  ***IN*** - The input type for the aggregation.
+
+  ***BUF*** - The type of the intermediate value of the reduction.
+
+  ***OUT*** - The type of the final output result.
+
+* **bufferEncoder: Encoder[BUF]**
 
-<dl>
-  <dt><code><em>bufferEncoder: Encoder[BUF]</em></code></dt>
-  <dd>
     Specifies the Encoder for the intermediate value type.
-  </dd>
-</dl>
-<dl>
-  <dt><code><em>finish(reduction: BUF): OUT</em></code></dt>
-  <dd>
+
+* **finish(reduction: BUF): OUT**
+
     Transform the output of the reduction.
-  </dd>
-</dl>
-<dl>
-  <dt><code><em>merge(b1: BUF, b2: BUF): BUF</em></code></dt>
-  <dd>
+
+* **merge(b1: BUF, b2: BUF): BUF**
+
     Merge two intermediate values.
-  </dd>
-</dl>
-<dl>
-  <dt><code><em>outputEncoder: Encoder[OUT]</em></code></dt>
-  <dd>
+
+* **outputEncoder: Encoder[OUT]**
+
     Specifies the Encoder for the final output value type.
-  </dd>
-</dl>
-<dl>
-  <dt><code><em>reduce(b: BUF, a: IN): BUF</em></code></dt>
-  <dd>
-     Aggregate input value <code>a</code> into current intermediate value. For performance, the function may modify <code>b</code> and return it instead of constructing new object for <code>b</code>.
-  </dd>
-</dl>
-<dl>
-  <dt><code><em>zero: BUF</em></code></dt>
-  <dd>
+
+* **reduce(b: BUF, a: IN): BUF**
+
+     Aggregate input value `a` into current intermediate value. For performance, the function may modify `b` and return it instead of constructing new object for `b`.
+
+* **zero: BUF**
+
     The initial value of the intermediate result for this aggregation.
-  </dd>
-</dl>
 
 ### Examples
 
@@ -95,16 +84,16 @@ For example, a user-defined average for untyped DataFrames can look like:
   {% include_example untyped_custom_aggregation java/org/apache/spark/examples/sql/JavaUserDefinedUntypedAggregation.java%}
 </div>
 <div data-lang="SQL"  markdown="1">
-{% highlight sql %}
+```sql
 -- Compile and place UDAF MyAverage in a JAR file called `MyAverage.jar` in /tmp.
 CREATE FUNCTION myAverage AS 'MyAverage' USING JAR '/tmp/MyAverage.jar';
 
 SHOW USER FUNCTIONS;
--- +------------------+
--- |          function|
--- +------------------+
--- | default.myAverage|
--- +------------------+
++------------------+
+|          function|
++------------------+
+| default.myAverage|
++------------------+
 
 CREATE TEMPORARY VIEW employees
 USING org.apache.spark.sql.json
@@ -113,26 +102,26 @@ OPTIONS (
 );
 
 SELECT * FROM employees;
--- +-------+------+
--- |   name|salary|
--- +-------+------+
--- |Michael|  3000|
--- |   Andy|  4500|
--- | Justin|  3500|
--- |  Berta|  4000|
--- +-------+------+
++-------+------+
+|   name|salary|
++-------+------+
+|Michael|  3000|
+|   Andy|  4500|
+| Justin|  3500|
+|  Berta|  4000|
++-------+------+
 
 SELECT myAverage(salary) as average_salary FROM employees;
--- +--------------+
--- |average_salary|
--- +--------------+
--- |        3750.0|
--- +--------------+
-{% endhighlight %}
++--------------+
+|average_salary|
++--------------+
+|        3750.0|
++--------------+
+```
 </div>
 </div>
 
 ### Related Statements
 
- * [Scalar User Defined Functions (UDFs)](sql-ref-functions-udf-scalar.html)
- * [Integration with Hive UDFs/UDAFs/UDTFs](sql-ref-functions-udf-hive.html)
+* [Scalar User Defined Functions (UDFs)](sql-ref-functions-udf-scalar.html)
+* [Integration with Hive UDFs/UDAFs/UDTFs](sql-ref-functions-udf-hive.html)
diff --git a/docs/sql-ref-functions-udf-hive.md b/docs/sql-ref-functions-udf-hive.md
index 7a7129d..819c446 100644
--- a/docs/sql-ref-functions-udf-hive.md
+++ b/docs/sql-ref-functions-udf-hive.md
@@ -28,7 +28,7 @@ Spark SQL supports integration of Hive UDFs, UDAFs and UDTFs. Similar to Spark U
 Hive has two UDF interfaces: [UDF](https://github.com/apache/hive/blob/master/udf/src/java/org/apache/hadoop/hive/ql/exec/UDF.java) and [GenericUDF](https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDF.java).
 An example below uses [GenericUDFAbs](https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFAbs.java) derived from `GenericUDF`.
 
-{% highlight sql %}
+```sql
 -- Register `GenericUDFAbs` and use it in Spark SQL.
 -- Note that, if you use your own programmed one, you need to add a JAR containing it
 -- into a classpath,
@@ -52,12 +52,12 @@ SELECT testUDF(value) FROM t;
 |           2.0|
 |           3.0|
 +--------------+
-{% endhighlight %}
+```
 
 
 An example below uses [GenericUDTFExplode](https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDTFExplode.java) derived from [GenericUDTF](https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDF.java).
 
-{% highlight sql %}
+```sql
 -- Register `GenericUDTFExplode` and use it in Spark SQL
 CREATE TEMPORARY FUNCTION hiveUDTF
     AS 'org.apache.hadoop.hive.ql.udf.generic.GenericUDTFExplode';
@@ -79,12 +79,12 @@ SELECT hiveUDTF(value) FROM t;
 |  3|
 |  4|
 +---+
-{% endhighlight %}
+```
 
 Hive has two UDAF interfaces: [UDAF](https://github.com/apache/hive/blob/master/udf/src/java/org/apache/hadoop/hive/ql/exec/UDAF.java) and [GenericUDAFResolver](https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFResolver.java).
 An example below uses [GenericUDAFSum](https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFSum.java) derived from `GenericUDAFResolver`.
 
-{% highlight sql %}
+```sql
 -- Register `GenericUDAFSum` and use it in Spark SQL
 CREATE TEMPORARY FUNCTION hiveUDAF
     AS 'org.apache.hadoop.hive.ql.udf.generic.GenericUDAFSum';
@@ -105,4 +105,4 @@ SELECT key, hiveUDAF(value) FROM t GROUP BY key;
 |  b|              3|
 |  a|              3|
 +---+---------------+
-{% endhighlight %}
+```
\ No newline at end of file
diff --git a/docs/sql-ref-functions-udf-scalar.md b/docs/sql-ref-functions-udf-scalar.md
index 2cb25f2..97f5a89 100644
--- a/docs/sql-ref-functions-udf-scalar.md
+++ b/docs/sql-ref-functions-udf-scalar.md
@@ -26,24 +26,18 @@ User-Defined Functions (UDFs) are user-programmable routines that act on one row
 ### UserDefinedFunction
 
 To define the properties of a user-defined function, the user can use some of the methods defined in this class.
-<dl>
-  <dt><code><em>asNonNullable(): UserDefinedFunction</em></code></dt>
-  <dd>
+
+* **asNonNullable(): UserDefinedFunction**
+
     Updates UserDefinedFunction to non-nullable.
-  </dd>
-</dl>
-<dl>
-  <dt><code><em>asNondeterministic(): UserDefinedFunction</em></code></dt>
-  <dd>
+
+* **asNondeterministic(): UserDefinedFunction**
+
     Updates UserDefinedFunction to nondeterministic.
-  </dd>
-</dl>
-<dl>
-  <dt><code><em>withName(name: String): UserDefinedFunction</em></code></dt>
-  <dd>
+
+* **withName(name: String): UserDefinedFunction**
+
     Updates UserDefinedFunction with a given name.
-  </dd>
-</dl>
 
 ### Examples
 
@@ -57,5 +51,5 @@ To define the properties of a user-defined function, the user can use some of th
 </div>
 
 ### Related Statements
- * [User Defined Aggregate Functions (UDAFs)](sql-ref-functions-udf-aggregate.html)
- * [Integration with Hive UDFs/UDAFs/UDTFs](sql-ref-functions-udf-hive.html)
+* [User Defined Aggregate Functions (UDAFs)](sql-ref-functions-udf-aggregate.html)
+* [Integration with Hive UDFs/UDAFs/UDTFs](sql-ref-functions-udf-hive.html)
diff --git a/docs/sql-ref-identifier.md b/docs/sql-ref-identifier.md
index 89cde21..f65d491 100644
--- a/docs/sql-ref-identifier.md
+++ b/docs/sql-ref-identifier.md
@@ -27,41 +27,34 @@ An identifier is a string used to identify a database object such as a table, vi
 
 #### Regular Identifier
 
-{% highlight sql %}
+```sql
 { letter | digit | '_' } [ , ... ]
-{% endhighlight %}
-Note: If `spark.sql.ansi.enabled` is set to true, ANSI SQL reserved keywords cannot be used as identifiers. For more details, please refer to [ANSI Compliance](sql-ref-ansi-compliance.html).
+```
+**Note:** If `spark.sql.ansi.enabled` is set to true, ANSI SQL reserved keywords cannot be used as identifiers. For more details, please refer to [ANSI Compliance](sql-ref-ansi-compliance.html).
 
 #### Delimited Identifier
 
-{% highlight sql %}
+```sql
 `c [ ... ]`
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>letter</em></code></dt>
-  <dd>
+* **letter**
+
     Any letter from A-Z or a-z.
-  </dd>
-</dl>
-<dl>
-  <dt><code><em>digit</em></code></dt>
-  <dd>
+
+* **digit**
+
     Any numeral from 0 to 9.
-  </dd>
-</dl>
-<dl>
-  <dt><code><em>c</em></code></dt>
-  <dd>
+
+* **c**
+
     Any character from the character set. Use <code>`</code> to escape special characters (e.g., <code>`</code>).
-  </dd>
-</dl>
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- This CREATE TABLE fails with ParseException because of the illegal identifier name a.b
 CREATE TABLE test (a.b int);
 org.apache.spark.sql.catalyst.parser.ParseException:
@@ -77,4 +70,4 @@ no viable alternative at input 'CREATE TABLE test (`a`b`'(line 1, pos 23)
 
 -- This CREATE TABLE works
 CREATE TABLE test (`a``b` int);
-{% endhighlight %}
+```
diff --git a/docs/sql-ref-literals.md b/docs/sql-ref-literals.md
index 0088f79..b83f7f0 100644
--- a/docs/sql-ref-literals.md
+++ b/docs/sql-ref-literals.md
@@ -35,22 +35,19 @@ A string literal is used to specify a character string value.
 
 #### Syntax
 
-{% highlight sql %}
-'c [ ... ]' | "c [ ... ]"
-{% endhighlight %}
+```sql
+'char [ ... ]' | "char [ ... ]"
+```
 
-#### <em>Parameters</em>
+#### Parameters
+
+* **char**
 
-<dl>
-  <dt><code><em>c</em></code></dt>
-  <dd>
-    One character from the character set. Use <code>\</code> to escape special characters (e.g., <code>'</code> or <code>\</code>).
-  </dd>
-</dl>
+    One character from the character set. Use `\` to escape special characters (e.g., `'` or `\`).
 
-#### <em>Examples</em>
+#### Examples
 
-{% highlight sql %}
+```sql
 SELECT 'Hello, World!' AS col;
 +-------------+
 |          col|
@@ -71,7 +68,7 @@ SELECT 'it\'s $10.' AS col;
 +---------+
 |It's $10.|
 +---------+
-{% endhighlight %}
+```
 
 ### Binary Literal
 
@@ -79,29 +76,26 @@ A binary literal is used to specify a byte sequence value.
 
 #### Syntax
 
-{% highlight sql %}
-X { 'c [ ... ]' | "c [ ... ]" }
-{% endhighlight %}
+```sql
+X { 'num [ ... ]' | "num [ ... ]" }
+```
+
+#### Parameters
 
-#### <em>Parameters</em>
+* **num**
 
-<dl>
-  <dt><code><em>c</em></code></dt>
-  <dd>
-    One character from the character set.
-  </dd>
-</dl>
+    Any hexadecimal number from 0 to F.
 
-#### <em>Examples</em>
+#### Examples
 
-{% highlight sql %}
+```sql
 SELECT X'123456' AS col;
 +----------+
 |       col|
 +----------+
 |[12 34 56]|
 +----------+
-{% endhighlight %}
+```
 
 ### Null Literal
 
@@ -109,20 +103,20 @@ A null literal is used to specify a null value.
 
 #### Syntax
 
-{% highlight sql %}
+```sql
 NULL
-{% endhighlight %}
+```
 
 #### Examples
 
-{% highlight sql %}
+```sql
 SELECT NULL AS col;
 +----+
 | col|
 +----+
 |NULL|
 +----+
-{% endhighlight %}
+```
 
 ### Boolean Literal
 
@@ -130,20 +124,20 @@ A boolean literal is used to specify a boolean value.
 
 #### Syntax
 
-{% highlight sql %}
+```sql
 TRUE | FALSE
-{% endhighlight %}
+```
 
 #### Examples
 
-{% highlight sql %}
+```sql
 SELECT TRUE AS col;
 +----+
 | col|
 +----+
 |true|
 +----+
-{% endhighlight %}
+```
 
 ### Numeric Literal
 
@@ -151,48 +145,37 @@ A numeric literal is used to specify a fixed or floating-point number.
 
 #### Integral Literal
 
-#### Syntax
+##### Syntax
 
-{% highlight sql %}
+```sql
 [ + | - ] digit [ ... ] [ L | S | Y ]
-{% endhighlight %}
+```
 
-#### Parameters
+##### Parameters
+
+* **digit**
 
-<dl>
-  <dt><code><em>digit</em></code></dt>
-  <dd>
     Any numeral from 0 to 9.
-  </dd>
-</dl>
-<dl>
-  <dt><code><em>L</em></code></dt>
-  <dd>
-    Case insensitive, indicates <code>BIGINT</code>, which is a 8-byte signed integer number.
-  </dd>
-</dl>
-<dl>
-  <dt><code><em>S</em></code></dt>
-  <dd>
-    Case insensitive, indicates <code>SMALLINT</code>, which is a 2-byte signed integer number.
-  </dd>
-</dl>
-<dl>
-  <dt><code><em>Y</em></code></dt>
-  <dd>
-    Case insensitive, indicates <code>TINYINT</code>, which is a 1-byte signed integer number.
-  </dd>
-</dl>
-<dl>
-  <dt><code><em>default (no postfix)</em></code></dt>
-  <dd>
+
+* **L**
+
+    Case insensitive, indicates `BIGINT`, which is an 8-byte signed integer number.
+
+* **S**
+
+    Case insensitive, indicates `SMALLINT`, which is a 2-byte signed integer number.
+
+* **Y**
+
+    Case insensitive, indicates `TINYINT`, which is a 1-byte signed integer number.
+
+* **default (no postfix)**
+
     Indicates a 4-byte signed integer number.
-  </dd>
-</dl>
 
-#### Examples
+##### Examples
 
-{% highlight sql %}
+```sql
 SELECT -2147483648 AS col;
 +-----------+
 |        col|
@@ -220,56 +203,49 @@ SELECT 482S AS col;
 +---+
 |482|
 +---+
-{% endhighlight %}
+```
 
 #### Fractional Literals
 
-#### Syntax
+##### Syntax
 
 decimal literals:
-{% highlight sql %}
+```sql
 decimal_digits { [ BD ] | [ exponent BD ] } | digit [ ... ] [ exponent ] BD
-{% endhighlight %}
+```
 
 double literals:
-{% highlight sql %}
+```sql
 decimal_digits  { D | exponent [ D ] }  | digit [ ... ] { exponent [ D ] | [ exponent ] D }
-{% endhighlight %}
+```
 
 While decimal_digits is defined as
-{% highlight sql %}
+```sql
 [ + | - ] { digit [ ... ] . [ digit [ ... ] ] | . digit [ ... ] }
-{% endhighlight %}
+```
 
 and exponent is defined as
-{% highlight sql %}
+```sql
 E [ + | - ] digit [ ... ]
-{% endhighlight %}
+```
 
-#### Parameters
+##### Parameters
+
+* **digit**
 
-<dl>
-  <dt><code><em>digit</em></code></dt>
-  <dd>
     Any numeral from 0 to 9.
-  </dd>
-</dl>
-<dl>
-  <dt><code><em>D</em></code></dt>
-  <dd>
-    Case insensitive, indicates <code>DOUBLE</code>, which is a 8-byte double-precision floating point number.
-  </dd>
-</dl>
-<dl>
-  <dt><code><em>BD</em></code></dt>
-  <dd>
-    Case insensitive, indicates <code>DECIMAL</code>, with the total number of digits as precision and the number of digits to right of decimal point as scale.
-  </dd>
-</dl>
 
-#### Examples
+* **D**
+
+    Case insensitive, indicates `DOUBLE`, which is an 8-byte double-precision floating point number.
+
+* **BD**
+
+    Case insensitive, indicates `DECIMAL`, with the total number of digits as precision and the number of digits to right of decimal point as scale.
 
-{% highlight sql %}
+##### Examples
+
+```sql
 SELECT 12.578 AS col;
 +------+
 |   col|
@@ -353,7 +329,7 @@ SELECT -3.E-3D AS col;
 +------+
 |-0.003|
 +------+
-{% endhighlight %}
+```
 
 ### Datetime Literal
 
@@ -361,19 +337,19 @@ A Datetime literal is used to specify a datetime value.
 
 #### Date Literal
 
-#### Syntax
+##### Syntax
 
-{% highlight sql %}
+```sql
 DATE { 'yyyy' |
        'yyyy-[m]m' |
        'yyyy-[m]m-[d]d' |
        'yyyy-[m]m-[d]d[T]' }
-{% endhighlight %}
-Note: defaults to <code>01</code> if month or day is not specified.
+```
+**Note:** defaults to `01` if month or day is not specified.
 
-#### Examples
+##### Examples
 
-{% highlight sql %}
+```sql
 SELECT DATE '1997' AS col;
 +----------+
 |       col|
@@ -394,13 +370,13 @@ SELECT DATE '2011-11-11' AS col;
 +----------+
 |2011-11-11|
 +----------+
-{% endhighlight %}
+```
 
 #### Timestamp Literal
 
-#### Syntax
+##### Syntax
 
-{% highlight sql %}
+```sql
 TIMESTAMP { 'yyyy' |
             'yyyy-[m]m' |
             'yyyy-[m]m-[d]d' |
@@ -409,27 +385,23 @@ TIMESTAMP { 'yyyy' |
             'yyyy-[m]m-[d]d[T][h]h:[m]m[:]' |
             'yyyy-[m]m-[d]d[T][h]h:[m]m:[s]s[.]' |
             'yyyy-[m]m-[d]d[T][h]h:[m]m:[s]s.[ms][ms][ms][us][us][us][zone_id]'}
-{% endhighlight %}
-Note: defaults to <code>00</code> if hour, minute or second is not specified. <br><br>
+```
+**Note:** defaults to `00` if hour, minute or second is not specified.
 `zone_id` should have one of the forms:
-<ul>
-  <li>Z - Zulu time zone UTC+0</li>
-  <li>+|-[h]h:[m]m</li>
-  <li>An id with one of the prefixes UTC+, UTC-, GMT+, GMT-, UT+ or UT-, and a suffix in the formats:
-    <ul>
-      <li>+|-h[h]</li>
-      <li>+|-hh[:]mm</li>
-      <li>+|-hh:mm:ss</li>
-      <li>+|-hhmmss</li>
-    </ul>
-  </li>
-  <li>Region-based zone IDs in the form <code>area/city</code>, such as <code>Europe/Paris</code></li>
-</ul>
-Note: defaults to the session local timezone (set via <code>spark.sql.session.timeZone</code>) if <code>zone_id</code> is not specified.
+* Z - Zulu time zone UTC+0
+* `+|-[h]h:[m]m`
+* An id with one of the prefixes UTC+, UTC-, GMT+, GMT-, UT+ or UT-, and a suffix in the formats:
+  * `+|-h[h]`
+  * `+|-hh[:]mm`
+  * `+|-hh:mm:ss`
+  * `+|-hhmmss`
+* Region-based zone IDs in the form `area/city`, such as `Europe/Paris`
 
-#### Examples
+**Note:** defaults to the session local timezone (set via `spark.sql.session.timeZone`) if `zone_id` is not specified.
 
-{% highlight sql %}
+##### Examples
+
+```sql
 SELECT TIMESTAMP '1997-01-31 09:26:56.123' AS col;
 +-----------------------+
 |                    col|
@@ -450,50 +422,40 @@ SELECT TIMESTAMP '1997-01' AS col;
 +-------------------+
 |1997-01-01 00:00:00|
 +-------------------+
-{% endhighlight %}
+```
 
 ### Interval Literal
 
 An interval literal is used to specify a fixed period of time.
 
-#### Syntax
-{% highlight sql %}
-{ INTERVAL interval_value interval_unit [ interval_value interval_unit ... ] |
-  INTERVAL 'interval_value interval_unit [ interval_value interval_unit ... ]' |
-  INTERVAL interval_string_value interval_unit TO interval_unit }
-{% endhighlight %}
+```sql
+INTERVAL interval_value interval_unit [ interval_value interval_unit ... ] |
+INTERVAL 'interval_value interval_unit [ interval_value interval_unit ... ]' |
+INTERVAL interval_string_value interval_unit TO interval_unit
+```
 
 #### Parameters
 
-<dl>
-  <dt><code><em>interval_value</em></code></dt>
-  <dd>
-    <b>Syntax:</b>
-      <code>
-        [ + | - ] number_value | '[ + | - ] number_value'
-      </code><br>
-  </dd>
-</dl>
-<dl>
-  <dt><code><em>interval_string_value</em></code></dt>
-    <dd>
-      year-month/day-time interval string.
-    </dd>
-</dl>
-<dl>
-  <dt><code><em>interval_unit</em></code></dt>
-  <dd>
-    <b>Syntax:</b><br>
-      <code>
-        YEAR[S] | MONTH[S] | WEEK[S] | DAY[S] | HOUR[S] | MINUTE[S] | SECOND[S] | <br>
-        MILLISECOND[S] | MICROSECOND[S]
-      </code>
-  </dd>
-</dl>
+* **interval_value**
+
+    **Syntax:**
+
+      [ + | - ] number_value | '[ + | - ] number_value'
+
+* **interval_string_value**
+
+     year-month/day-time interval string.
+
+* **interval_unit**
+
+    **Syntax:**
+
+      YEAR[S] | MONTH[S] | WEEK[S] | DAY[S] | HOUR[S] | MINUTE[S] | SECOND[S] |
+      MILLISECOND[S] | MICROSECOND[S]
 
 #### Examples
 
-{% highlight sql %}
+```sql
 SELECT INTERVAL 3 YEAR AS col;
 +-------+
 |    col|
@@ -536,4 +498,4 @@ SELECT INTERVAL '20 15:40:32.99899999' DAY TO SECOND AS col;
 +---------------------------------------------+
 |20 days 15 hours 40 minutes 32.998999 seconds|
 +---------------------------------------------+
-{% endhighlight %}
+```
diff --git a/docs/sql-ref-null-semantics.md b/docs/sql-ref-null-semantics.md
index 56b5cde..fb5d2a3 100644
--- a/docs/sql-ref-null-semantics.md
+++ b/docs/sql-ref-null-semantics.md
@@ -79,7 +79,7 @@ one or both operands are `NULL`:
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- Normal comparison operators return `NULL` when one of the operand is `NULL`.
 SELECT 5 > null AS expression_output;
 +-----------------+
@@ -111,7 +111,7 @@ SELECT NULL <=> NULL;
 +-----------------+
 |             true|
 +-----------------+
-{% endhighlight %}
+```
 
 ### Logical Operators <a name="logical-operators"></a>
 
@@ -134,7 +134,7 @@ The following tables illustrate the behavior of logical operators when one or bo
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- Normal comparison operators return `NULL` when one of the operands is `NULL`.
 SELECT (true OR null) AS expression_output;
 +-----------------+
@@ -158,7 +158,7 @@ SELECT NOT(null) AS expression_output;
 +-----------------+
 |             null|
 +-----------------+
-{% endhighlight %}
+```
 
 ### Expressions <a name="expressions"></a>
 
@@ -177,7 +177,7 @@ expression are `NULL` and most of the expressions fall in this category.
 
 ##### Examples
 
-{% highlight sql %}
+```sql
 SELECT concat('John', null) AS expression_output;
 +-----------------+
 |expression_output|
@@ -198,7 +198,7 @@ SELECT to_date(null) AS expression_output;
 +-----------------+
 |             null|
 +-----------------+
-{% endhighlight %}
+```
 
 #### Expressions That Can Process Null Value Operands <a name="can-process-null"></a>
 
@@ -221,7 +221,7 @@ returns the first non `NULL` value in its list of operands. However, `coalesce`
 
 ##### Examples
 
-{% highlight sql %}
+```sql
 SELECT isnull(null) AS expression_output;
 +-----------------+
 |expression_output|
@@ -251,7 +251,7 @@ SELECT isnan(null) AS expression_output;
 +-----------------+
 |            false|
 +-----------------+
-{% endhighlight %}
+```
 
 #### Builtin Aggregate Expressions <a name="built-in-aggregate"></a>
 
@@ -271,7 +271,7 @@ the rules of how `NULL` values are handled by aggregate functions.
    
 #### Examples
 
-{% highlight sql %}
+```sql
 -- `count(*)` does not skip `NULL` values.
 SELECT count(*) FROM person;
 +--------+
@@ -312,7 +312,7 @@ SELECT max(age) FROM person where 1 = 0;
 +--------+
 |    null|
 +--------+
-{% endhighlight %}
+```
 
 ### Condition Expressions in WHERE, HAVING and JOIN Clauses <a name="condition-expressions"></a>
 
@@ -323,7 +323,7 @@ For all the three operators, a condition expression is a boolean expression and
 
 #### Examples
 
-{% highlight sql %}
+```sql
 -- Persons whose age is unknown (`NULL`) are filtered out from the result set.
 SELECT * FROM person WHERE age > 0;
 +--------+---+
@@ -391,7 +391,7 @@ SELECT * FROM person p1, person p2
 |   Marry|null|   Marry|null|
 |     Joe|  30|     Joe|  30|
 +--------+----+--------+----+
-{% endhighlight %}
+```
 
 ### Aggregate Operator (GROUP BY, DISTINCT) <a name="aggregate-operator"></a>
 
@@ -402,7 +402,7 @@ standard and with other enterprise database management systems.
 
 #### Examples
 
-{% highlight sql %}
+```sql
 -- `NULL` values are put in one bucket in `GROUP BY` processing.
 SELECT age, count(*) FROM person GROUP BY age;
 +----+--------+
@@ -424,7 +424,7 @@ SELECT DISTINCT age FROM person;
 |  30|
 |  18|
 +----+
-{% endhighlight %}
+```
 
 ### Sort Operator (ORDER BY Clause) <a name="order-by"></a>
 
@@ -434,7 +434,7 @@ the `NULL` values are placed at first.
 
 #### Examples
 
-{% highlight sql %}
+```sql
 -- `NULL` values are shown at first and other values
 -- are sorted in ascending way.
 SELECT age, name FROM person ORDER BY age;
@@ -479,7 +479,7 @@ SELECT age, name FROM person ORDER BY age DESC NULLS LAST;
 |null|   Marry|
 |null|  Albert|
 +----+--------+
-{% endhighlight %}
+```
 
 ### Set Operators (UNION, INTERSECT, EXCEPT) <a name="set-operators"></a>
 
@@ -489,7 +489,7 @@ equal unlike the regular `EqualTo`(`=`) operator.
 
 #### Examples
 
-{% highlight sql %}
+```sql
 CREATE VIEW unknown_age SELECT * FROM person WHERE age IS NULL;
 
 -- Only common rows between two legs of `INTERSECT` are in the 
@@ -537,7 +537,7 @@ SELECT name, age FROM person
 |    Mike|  18|
 |     Dan|  50|
 +--------+----+
-{% endhighlight %}
+```
 
 ### EXISTS/NOT EXISTS Subquery <a name="exists-not-exists"></a>
 
@@ -554,7 +554,7 @@ semijoins / anti-semijoins without special provisions for null awareness.
 
 #### Examples
 
-{% highlight sql %}
+```sql
 -- Even if subquery produces rows with `NULL` values, the `EXISTS` expression
 -- evaluates to `TRUE` as the subquery produces 1 row.
 SELECT * FROM person WHERE EXISTS (SELECT null);
@@ -591,7 +591,7 @@ SELECT * FROM person WHERE NOT EXISTS (SELECT 1 WHERE 1 = 0);
 |   Marry|null|
 |     Joe|  30|
 +--------+----+
-{% endhighlight %}
+```
 
 ### IN/NOT IN Subquery <a name="in-not-in"></a>
 
@@ -617,7 +617,7 @@ and because NOT UNKNOWN is again UNKNOWN.
  
 #### Examples
 
-{% highlight sql %}
+```sql
 -- The subquery has only `NULL` value in its result set. Therefore,
 -- the result of `IN` predicate is UNKNOWN.
 SELECT * FROM person WHERE age IN (SELECT null);
@@ -646,4 +646,4 @@ SELECT * FROM person
 |name|age|
 +----+---+
 +----+---+
-{% endhighlight %}
+```
diff --git a/docs/sql-ref-syntax-aux-analyze-table.md b/docs/sql-ref-syntax-aux-analyze-table.md
index f6a6c5f..8f43d73 100644
--- a/docs/sql-ref-syntax-aux-analyze-table.md
+++ b/docs/sql-ref-syntax-aux-analyze-table.md
@@ -25,53 +25,39 @@ The `ANALYZE TABLE` statement collects statistics about the table to be used by
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 ANALYZE TABLE table_identifier [ partition_spec ]
     COMPUTE STATISTICS [ NOSCAN | FOR COLUMNS col [ , ... ] | FOR ALL COLUMNS ]
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>table_identifier</em></code></dt>
-  <dd>
-    Specifies a table name, which may be optionally qualified with a database name.<br><br>
-    <b>Syntax:</b>
-      <code>
-        [ database_name. ] table_name
-      </code>
-  </dd>
-</dl>
-
-<dl>
-  <dt><code><em>partition_spec</em></code></dt>
-  <dd>
+* **table_identifier**
+
+    Specifies a table name, which may be optionally qualified with a database name.
+
+    **Syntax:** `[ database_name. ] table_name`
+
+* **partition_spec**
+
     An optional parameter that specifies a comma separated list of key and value pairs
-    for partitions. When specified, partition statistics is returned.<br><br>
-    <b>Syntax:</b>
-      <code>
-        PARTITION ( partition_col_name [ = partition_col_val ] [ , ... ] )
-      </code>
-  </dd>
-</dl>
-
-<dl>
-  <dt><code><em>[ NOSCAN | FOR COLUMNS col [ , ... ] | FOR ALL COLUMNS ]</em></code></dt>
-    <dd>
-      <ul>
-        <li> If no analyze option is specified, <code>ANALYZE TABLE</code> collects the table's number of rows and size in bytes. </li>
-        <li> <b>NOSCAN</b>
-          <br> Collect only the table's size in bytes ( which does not require scanning the entire table ). </li>
-        <li> <b>FOR COLUMNS col [ , ... ] <code> | </code> FOR ALL COLUMNS</b>
-          <br> Collect column statistics for each column specified, or alternatively for every column, as well as table statistics.
-        </li>
-      </ul>
-     </dd>
-</dl>
+    for partitions. When specified, partition statistics is returned.
+
+    **Syntax:** `PARTITION ( partition_col_name [ = partition_col_val ] [ , ... ] )`
+
+* **[ NOSCAN `|` FOR COLUMNS col [ , ... ] `|` FOR ALL COLUMNS ]**
+
+     * If no analyze option is specified, `ANALYZE TABLE` collects the table's number of rows and size in bytes.
+     * **NOSCAN**
+
+       Collects only the table's size in bytes ( which does not require scanning the entire table ).
+     * **FOR COLUMNS col [ , ... ] `|` FOR ALL COLUMNS**
+
+       Collects column statistics for each column specified, or alternatively for every column, as well as table statistics.
 
 ### Examples
 
-{% highlight sql %}
+```sql
 CREATE TABLE students (name STRING, student_id INT) PARTITIONED BY (student_id);
 INSERT INTO students PARTITION (student_id = 111111) VALUES ('Mark');
 INSERT INTO students PARTITION (student_id = 222222) VALUES ('John');
@@ -135,4 +121,4 @@ DESC EXTENDED students name;
 |   max_col_len|         4|
 |     histogram|      NULL|
 +--------------+----------+
-{% endhighlight %}
+```
diff --git a/docs/sql-ref-syntax-aux-cache-cache-table.md b/docs/sql-ref-syntax-aux-cache-cache-table.md
index 11f682c..193e209 100644
--- a/docs/sql-ref-syntax-aux-cache-cache-table.md
+++ b/docs/sql-ref-syntax-aux-cache-cache-table.md
@@ -26,71 +26,57 @@ This reduces scanning of the original files in future queries.
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 CACHE [ LAZY ] TABLE table_identifier
     [ OPTIONS ( 'storageLevel' [ = ] value ) ] [ [ AS ] query ]
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>LAZY</em></code></dt>
-  <dd>Only cache the table when it is first used, instead of immediately.</dd>
-</dl>
-
-<dl>
-  <dt><code><em>table_identifier</em></code></dt>
-  <dd>
-    Specifies the table or view name to be cached. The table or view name may be optionally qualified with a database name.<br><br>
-    <b>Syntax:</b>
-      <code>
-        [ database_name. ] table_name
-      </code>
-  </dd>
-</dl>
-
-<dl>
-  <dt><code><em>OPTIONS ( 'storageLevel' [ = ] value )</em></code></dt>
-  <dd>
-  <code>OPTIONS</code> clause with <code>storageLevel</code> key and value pair. A Warning is issued when a key other than <code>storageLevel</code> is used. The valid options for <code>storageLevel</code> are:
-    <ul>
-      <li><code>NONE</code></li>
-      <li><code>DISK_ONLY</code></li>
-      <li><code>DISK_ONLY_2</code></li>
-      <li><code>MEMORY_ONLY</code></li>
-      <li><code>MEMORY_ONLY_2</code></li>
-      <li><code>MEMORY_ONLY_SER</code></li>
-      <li><code>MEMORY_ONLY_SER_2</code></li>
-      <li><code>MEMORY_AND_DISK</code></li>
-      <li><code>MEMORY_AND_DISK_2</code></li>
-      <li><code>MEMORY_AND_DISK_SER</code></li>
-      <li><code>MEMORY_AND_DISK_SER_2</code></li>
-      <li><code>OFF_HEAP</code></li>
-    </ul>
-    An Exception is thrown when an invalid value is set for <code>storageLevel</code>. If <code>storageLevel</code> is not explicitly set using <code>OPTIONS</code> clause, the default <code>storageLevel</code> is set to <code>MEMORY_AND_DISK</code>.
-  </dd>
-</dl>
-
-<dl>
-  <dt><code><em>query</em></code></dt>
-  <dd>A query that produces the rows to be cached. It can be in one of following formats:
-    <ul>
-      <li>a <code>SELECT</code> statement</li>
-      <li>a <code>TABLE</code> statement</li>
-      <li>a <code>FROM</code> statement</li>
-    </ul>
-   </dd>
-</dl>
+* **LAZY**
+
+    Only cache the table when it is first used, instead of immediately.
+
+* **table_identifier**
+
+    Specifies the table or view name to be cached. The table or view name may be optionally qualified with a database name.
+
+    **Syntax:** `[ database_name. ] table_name`
+
+* **OPTIONS ( 'storageLevel' [ = ] value )**
+
+    `OPTIONS` clause with `storageLevel` key and value pair. A Warning is issued when a key other than `storageLevel` is used. The valid options for `storageLevel` are:
+     * `NONE`
+     * `DISK_ONLY`
+     * `DISK_ONLY_2`
+     * `MEMORY_ONLY`
+     * `MEMORY_ONLY_2`
+     * `MEMORY_ONLY_SER`
+     * `MEMORY_ONLY_SER_2`
+     * `MEMORY_AND_DISK`
+     * `MEMORY_AND_DISK_2`
+     * `MEMORY_AND_DISK_SER`
+     * `MEMORY_AND_DISK_SER_2`
+     * `OFF_HEAP`
+
+    An Exception is thrown when an invalid value is set for `storageLevel`. If `storageLevel` is not explicitly set using `OPTIONS` clause, the default `storageLevel` is set to `MEMORY_AND_DISK`.
+
+* **query**
+
+    A query that produces the rows to be cached. It can be in one of following formats:
+    * a `SELECT` statement
+    * a `TABLE` statement
+    * a `FROM` statement
 
 ### Examples
 
-{% highlight sql %}
+```sql
 CACHE TABLE testCache OPTIONS ('storageLevel' 'DISK_ONLY') SELECT * FROM testData;
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [CLEAR CACHE](sql-ref-syntax-aux-cache-clear-cache.html)
- * [UNCACHE TABLE](sql-ref-syntax-aux-cache-uncache-table.html)
- * [REFRESH TABLE](sql-ref-syntax-aux-refresh-table.html)
- * [REFRESH](sql-ref-syntax-aux-cache-refresh.html)
+* [CLEAR CACHE](sql-ref-syntax-aux-cache-clear-cache.html)
+* [UNCACHE TABLE](sql-ref-syntax-aux-cache-uncache-table.html)
+* [REFRESH TABLE](sql-ref-syntax-aux-refresh-table.html)
+* [REFRESH](sql-ref-syntax-aux-cache-refresh.html)
diff --git a/docs/sql-ref-syntax-aux-cache-clear-cache.md b/docs/sql-ref-syntax-aux-cache-clear-cache.md
index 4788969..ee33e6a 100644
--- a/docs/sql-ref-syntax-aux-cache-clear-cache.md
+++ b/docs/sql-ref-syntax-aux-cache-clear-cache.md
@@ -25,19 +25,19 @@ license: |
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 CLEAR CACHE
-{% endhighlight %}
+```
 
 ### Examples
 
-{% highlight sql %}
+```sql
 CLEAR CACHE;
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [CACHE TABLE](sql-ref-syntax-aux-cache-cache-table.html)
- * [UNCACHE TABLE](sql-ref-syntax-aux-cache-uncache-table.html)
- * [REFRESH TABLE](sql-ref-syntax-aux-refresh-table.html)
- * [REFRESH](sql-ref-syntax-aux-cache-refresh.html)
+* [CACHE TABLE](sql-ref-syntax-aux-cache-cache-table.html)
+* [UNCACHE TABLE](sql-ref-syntax-aux-cache-uncache-table.html)
+* [REFRESH TABLE](sql-ref-syntax-aux-refresh-table.html)
+* [REFRESH](sql-ref-syntax-aux-cache-refresh.html)
diff --git a/docs/sql-ref-syntax-aux-cache-refresh.md b/docs/sql-ref-syntax-aux-cache-refresh.md
index 25f7ede1..82bc12da 100644
--- a/docs/sql-ref-syntax-aux-cache-refresh.md
+++ b/docs/sql-ref-syntax-aux-cache-refresh.md
@@ -27,32 +27,30 @@ invalidate everything that is cached.
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 REFRESH resource_path
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
- <dt><code><em>resource_path</em></code></dt>
- <dd>The path of the resource that is to be refreshed.</dd>
-</dl>
+* **resource_path**
+
+    The path of the resource that is to be refreshed.
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- The Path is resolved using the datasource's File Index.
- 
 CREATE TABLE test(ID INT) using parquet;
 INSERT INTO test SELECT 1000;
 CACHE TABLE test;
 INSERT INTO test SELECT 100;
 REFRESH "hdfs://path/to/table";
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [CACHE TABLE](sql-ref-syntax-aux-cache-cache-table.html)
- * [CLEAR CACHE](sql-ref-syntax-aux-cache-clear-cache.html)
- * [UNCACHE TABLE](sql-ref-syntax-aux-cache-uncache-table.html)
- * [REFRESH TABLE](sql-ref-syntax-aux-refresh-table.html)
+* [CACHE TABLE](sql-ref-syntax-aux-cache-cache-table.html)
+* [CLEAR CACHE](sql-ref-syntax-aux-cache-clear-cache.html)
+* [UNCACHE TABLE](sql-ref-syntax-aux-cache-uncache-table.html)
+* [REFRESH TABLE](sql-ref-syntax-aux-refresh-table.html)
diff --git a/docs/sql-ref-syntax-aux-cache-uncache-table.md b/docs/sql-ref-syntax-aux-cache-uncache-table.md
index 95fd91c..c5a8fbb 100644
--- a/docs/sql-ref-syntax-aux-cache-uncache-table.md
+++ b/docs/sql-ref-syntax-aux-cache-uncache-table.md
@@ -26,32 +26,27 @@ underlying entries should already have been brought to cache by previous `CACHE
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 UNCACHE TABLE [ IF EXISTS ] table_identifier
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>table_identifier</em></code></dt>
-  <dd>
-    Specifies the table or view name to be uncached. The table or view name may be optionally qualified with a database name.<br><br>
-    <b>Syntax:</b>
-      <code>
-        [ database_name. ] table_name
-      </code>
-  </dd>
-</dl>
+* **table_identifier**
+
+    Specifies the table or view name to be uncached. The table or view name may be optionally qualified with a database name.
+
+    **Syntax:** `[ database_name. ] table_name`
 
 ### Examples
 
-{% highlight sql %}
+```sql
 UNCACHE TABLE t1;
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [CACHE TABLE](sql-ref-syntax-aux-cache-cache-table.html)
- * [CLEAR CACHE](sql-ref-syntax-aux-cache-clear-cache.html)
- * [REFRESH TABLE](sql-ref-syntax-aux-refresh-table.html)
- * [REFRESH](sql-ref-syntax-aux-cache-refresh.html)
+* [CACHE TABLE](sql-ref-syntax-aux-cache-cache-table.html)
+* [CLEAR CACHE](sql-ref-syntax-aux-cache-clear-cache.html)
+* [REFRESH TABLE](sql-ref-syntax-aux-refresh-table.html)
+* [REFRESH](sql-ref-syntax-aux-cache-refresh.html)
diff --git a/docs/sql-ref-syntax-aux-conf-mgmt-reset.md b/docs/sql-ref-syntax-aux-conf-mgmt-reset.md
index e7e6dda..4caf57a 100644
--- a/docs/sql-ref-syntax-aux-conf-mgmt-reset.md
+++ b/docs/sql-ref-syntax-aux-conf-mgmt-reset.md
@@ -25,17 +25,17 @@ Reset any runtime configurations specific to the current session which were set
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 RESET
-{% endhighlight %}
+```
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- Reset any runtime configurations specific to the current session which were set via the SET command to their default values.
 RESET;
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [SET](sql-ref-syntax-aux-conf-mgmt-set.html)
+* [SET](sql-ref-syntax-aux-conf-mgmt-set.html)
diff --git a/docs/sql-ref-syntax-aux-conf-mgmt-set.md b/docs/sql-ref-syntax-aux-conf-mgmt-set.md
index 330a1a6..f97b7f2 100644
--- a/docs/sql-ref-syntax-aux-conf-mgmt-set.md
+++ b/docs/sql-ref-syntax-aux-conf-mgmt-set.md
@@ -25,32 +25,29 @@ The SET command sets a property, returns the value of an existing property or re
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 SET
 SET [ -v ]
 SET property_key[ = property_value ]
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>-v</em></code></dt>
-  <dd>Outputs the key, value and meaning of existing SQLConf properties.</dd>
-</dl>
+* **-v**
 
-<dl>
-  <dt><code><em>property_key</em></code></dt>
-  <dd>Returns the value of specified property key.</dd>
-</dl>
+    Outputs the key, value and meaning of existing SQLConf properties.
 
-<dl>
-  <dt><code><em>property_key=property_value</em></code></dt>
-  <dd>Sets the value for a given property key. If an old value exists for a given property key, then it gets overridden by the new value.</dd>
-</dl>
+* **property_key**
+
+    Returns the value of specified property key.
+
+* **property_key=property_value**
+
+     Sets the value for a given property key. If an old value exists for a given property key, then it gets overridden by the new value.
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- Set a property.
 SET spark.sql.variable.substitute=false;
 
@@ -67,8 +64,8 @@ SET spark.sql.variable.substitute;
 +-----------------------------+-----+
 |spark.sql.variable.substitute|false|
 +-----------------------------+-----+
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [RESET](sql-ref-syntax-aux-conf-mgmt-reset.html)
+* [RESET](sql-ref-syntax-aux-conf-mgmt-reset.html)
diff --git a/docs/sql-ref-syntax-aux-describe-database.md b/docs/sql-ref-syntax-aux-describe-database.md
index 39a40dd..143fa78 100644
--- a/docs/sql-ref-syntax-aux-describe-database.md
+++ b/docs/sql-ref-syntax-aux-describe-database.md
@@ -28,23 +28,20 @@ interchangeable.
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 { DESC | DESCRIBE } DATABASE [ EXTENDED ] db_name
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>db_name</em></code></dt>
-  <dd>
+* **db_name**
+
     Specifies a name of an existing database or an existing schema in the system. If the name does not exist, an
     exception is thrown.
-  </dd>
-</dl>
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- Create employees DATABASE
 CREATE DATABASE employees COMMENT 'For software companies';
 
@@ -89,10 +86,10 @@ DESC DATABASE deployment;
 |              Description|        Deployment environment|
 |                 Location|file:/Users/Temp/deployment.db|
 +-------------------------+------------------------------+
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [DESCRIBE FUNCTION](sql-ref-syntax-aux-describe-function.html)
- * [DESCRIBE TABLE](sql-ref-syntax-aux-describe-table.html)
- * [DESCRIBE QUERY](sql-ref-syntax-aux-describe-query.html)
+* [DESCRIBE FUNCTION](sql-ref-syntax-aux-describe-function.html)
+* [DESCRIBE TABLE](sql-ref-syntax-aux-describe-table.html)
+* [DESCRIBE QUERY](sql-ref-syntax-aux-describe-query.html)
diff --git a/docs/sql-ref-syntax-aux-describe-function.md b/docs/sql-ref-syntax-aux-describe-function.md
index 76c9efa..a871fb5 100644
--- a/docs/sql-ref-syntax-aux-describe-function.md
+++ b/docs/sql-ref-syntax-aux-describe-function.md
@@ -28,29 +28,24 @@ metadata information is returned along with the extended usage information.
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 { DESC | DESCRIBE } FUNCTION [ EXTENDED ] function_name
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>function_name</em></code></dt>
-  <dd>
+* **function_name**
+
     Specifies a name of an existing function in the system. The function name may be
     optionally qualified with a database name. If `function_name` is qualified with
     a database then the function is resolved from the user specified database, otherwise
-    it is resolved from the current database.<br><br>
-    <b>Syntax:</b>
-      <code>
-        [ database_name. ] function_name
-      </code>
-  </dd>
-</dl>
+    it is resolved from the current database.
+
+    **Syntax:** `[ database_name. ] function_name`
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- Describe a builtin scalar function.
 -- Returns function name, implementing class and usage
 DESC FUNCTION abs;
@@ -107,11 +102,10 @@ DESC FUNCTION EXTENDED explode
 |       10                                                      |
 |       20                                                      |
 +---------------------------------------------------------------+
-
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [DESCRIBE DATABASE](sql-ref-syntax-aux-describe-database.html)
- * [DESCRIBE TABLE](sql-ref-syntax-aux-describe-table.html)
- * [DESCRIBE QUERY](sql-ref-syntax-aux-describe-query.html)
+* [DESCRIBE DATABASE](sql-ref-syntax-aux-describe-database.html)
+* [DESCRIBE TABLE](sql-ref-syntax-aux-describe-table.html)
+* [DESCRIBE QUERY](sql-ref-syntax-aux-describe-query.html)
diff --git a/docs/sql-ref-syntax-aux-describe-query.md b/docs/sql-ref-syntax-aux-describe-query.md
index 41e66dc..b2a74cb 100644
--- a/docs/sql-ref-syntax-aux-describe-query.md
+++ b/docs/sql-ref-syntax-aux-describe-query.md
@@ -27,38 +27,36 @@ describe the query output.
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 { DESC | DESCRIBE } [ QUERY ] input_statement
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>QUERY</em></code></dt>
-  <dd>This clause is optional and may be omitted.</dd>
-  <dt><code><em>input_statement</em></code></dt>
-  <dd>
+* **QUERY**
+    This clause is optional and may be omitted.
+
+* **input_statement**
+
     Specifies a result set producing statement and may be one of the following: 
-    <ul>
-      <li>a <code>SELECT</code> statement</li>
-      <li>a <code>CTE(Common table expression)</code> statement</li>
-      <li>an <code>INLINE TABLE</code> statement</li>
-      <li>a <code>TABLE</code> statement</li>
-      <li>a <code>FROM</code> statement</li>
-    </ul>
-    Please refer to <a href="sql-ref-syntax-qry-select.html">select-statement</a>
+
+    * a `SELECT` statement
+    * a `CTE(Common table expression)` statement
+    * an `INLINE TABLE` statement
+    * a `TABLE` statement
+    * a `FROM` statement`
+
+    Please refer to [select-statement](sql-ref-syntax-qry-select.html)
     for a detailed syntax of the query parameter.
-  </dd>
-</dl>
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- Create table `person`
 CREATE TABLE person (name STRING , age INT COMMENT 'Age column', address STRING);
 
 -- Returns column metadata information for a simple select query
-DESCRIBE QUERY select age, sum(age) FROM person GROUP BY age;
+DESCRIBE QUERY SELECT age, sum(age) FROM person GROUP BY age;
 +--------+---------+----------+
 |col_name|data_type|   comment|
 +--------+---------+----------+
@@ -103,10 +101,10 @@ DESCRIBE FROM person SELECT age;
 +--------+---------+----------+
 |     age|      int| Agecolumn|
 +--------+---------+----------+
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [DESCRIBE DATABASE](sql-ref-syntax-aux-describe-database.html)
- * [DESCRIBE TABLE](sql-ref-syntax-aux-describe-table.html)
- * [DESCRIBE FUNCTION](sql-ref-syntax-aux-describe-function.html)
+* [DESCRIBE DATABASE](sql-ref-syntax-aux-describe-database.html)
+* [DESCRIBE TABLE](sql-ref-syntax-aux-describe-table.html)
+* [DESCRIBE FUNCTION](sql-ref-syntax-aux-describe-function.html)
diff --git a/docs/sql-ref-syntax-aux-describe-table.md b/docs/sql-ref-syntax-aux-describe-table.md
index 63bf056..4b6e1e8 100644
--- a/docs/sql-ref-syntax-aux-describe-table.md
+++ b/docs/sql-ref-syntax-aux-describe-table.md
@@ -28,53 +28,43 @@ to return the metadata pertaining to a partition or column respectively.
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 { DESC | DESCRIBE } [ TABLE ] [ format ] table_identifier [ partition_spec ] [ col_name ]
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>format</em></code></dt>
-  <dd>
+* **format**
+
     Specifies the optional format of describe output. If `EXTENDED` is specified
     then additional metadata information (such as parent database, owner, and access time)
     is returned. 
-  </dd>
-  <dt><code><em>table_identifier</em></code></dt>
-  <dd>
-    Specifies a table name, which may be optionally qualified with a database name.<br><br>
-    <b>Syntax:</b>
-      <code>
-        [ database_name. ] table_name
-      </code>
-  </dd>
-  <dt><code><em>partition_spec</em></code></dt>
-  <dd>
+
+* **table_identifier**
+
+    Specifies a table name, which may be optionally qualified with a database name.
+
+    **Syntax:** `[ database_name. ] table_name`
+
+* **partition_spec**
+
     An optional parameter that specifies a comma separated list of key and value pairs
-    for partitions. When specified, additional partition metadata is returned.<br><br>
-    <b>Syntax:</b>
-      <code>
-        PARTITION ( partition_col_name  = partition_col_val [ , ... ] )
-      </code>
-  </dd>  
-  <dt><code><em>col_name</em></code></dt>
-  <dd>
+    for partitions. When specified, additional partition metadata is returned.
+
+    **Syntax:** `PARTITION ( partition_col_name  = partition_col_val [ , ... ] )`
+
+* **col_name**
+
     An optional parameter that specifies the column name that needs to be described.
     The supplied column name may be optionally qualified. Parameters `partition_spec`
     and `col_name` are  mutually exclusive and can not be specified together. Currently
-    nested columns are not allowed to be specified.<br><br>
+    nested columns are not allowed to be specified.
     
-    <b>Syntax:</b>
-      <code>
-        [ database_name. ] [ table_name. ] column_name
-      </code>
-   </dd>
-</dl>
+    **Syntax:** `[ database_name. ] [ table_name. ] column_name`
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- Creates a table `customer`. Assumes current database is `salesdb`.
 CREATE TABLE customer(
         cust_id INT,
@@ -183,10 +173,10 @@ DESCRIBE customer salesdb.customer.name;
 |data_type|    string|
 |  comment|Short name|
 +---------+----------+
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [DESCRIBE DATABASE](sql-ref-syntax-aux-describe-database.html)
- * [DESCRIBE QUERY](sql-ref-syntax-aux-describe-query.html)
- * [DESCRIBE FUNCTION](sql-ref-syntax-aux-describe-function.html)
+* [DESCRIBE DATABASE](sql-ref-syntax-aux-describe-database.html)
+* [DESCRIBE QUERY](sql-ref-syntax-aux-describe-query.html)
+* [DESCRIBE FUNCTION](sql-ref-syntax-aux-describe-function.html)
diff --git a/docs/sql-ref-syntax-aux-refresh-table.md b/docs/sql-ref-syntax-aux-refresh-table.md
index 165ca68..8d4a804 100644
--- a/docs/sql-ref-syntax-aux-refresh-table.md
+++ b/docs/sql-ref-syntax-aux-refresh-table.md
@@ -27,26 +27,21 @@ lazy manner when the cached table or the query associated with it is executed ag
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 REFRESH [TABLE] table_identifier
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>table_identifier</em></code></dt>
-  <dd>
-    Specifies a table name, which is either a qualified or unqualified name that designates a table/view. If no database identifier is provided, it refers to a temporary view or a table/view in the current database.<br><br>
-    <b>Syntax:</b>
-      <code>
-        [ database_name. ] table_name
-      </code>
-  </dd>
-</dl>
+* **table_identifier**
+
+    Specifies a table name, which is either a qualified or unqualified name that designates a table/view. If no database identifier is provided, it refers to a temporary view or a table/view in the current database.
+
+    **Syntax:** `[ database_name. ] table_name`
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- The cached entries of the table will be refreshed  
 -- The table is resolved from the current database as the table name is unqualified.
 REFRESH TABLE tbl1;
@@ -54,11 +49,11 @@ REFRESH TABLE tbl1;
 -- The cached entries of the view will be refreshed or invalidated
 -- The view is resolved from tempDB database, as the view name is qualified.
 REFRESH TABLE tempDB.view1;   
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [CACHE TABLE](sql-ref-syntax-aux-cache-cache-table.html)
- * [CLEAR CACHE](sql-ref-syntax-aux-cache-clear-cache.html)
- * [UNCACHE TABLE](sql-ref-syntax-aux-cache-uncache-table.html)
- * [REFRESH](sql-ref-syntax-aux-cache-refresh.html)
+* [CACHE TABLE](sql-ref-syntax-aux-cache-cache-table.html)
+* [CLEAR CACHE](sql-ref-syntax-aux-cache-clear-cache.html)
+* [UNCACHE TABLE](sql-ref-syntax-aux-cache-uncache-table.html)
+* [REFRESH](sql-ref-syntax-aux-cache-refresh.html)
diff --git a/docs/sql-ref-syntax-aux-resource-mgmt-add-file.md b/docs/sql-ref-syntax-aux-resource-mgmt-add-file.md
index 0028884..9203293 100644
--- a/docs/sql-ref-syntax-aux-resource-mgmt-add-file.md
+++ b/docs/sql-ref-syntax-aux-resource-mgmt-add-file.md
@@ -25,30 +25,29 @@ license: |
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 ADD FILE resource_name
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
- <dt><code><em>resource_name</em></code></dt>
- <dd>The name of the file or directory to be added.</dd>
-</dl>
+* **resource_name**
+
+    The name of the file or directory to be added.
 
 ### Examples
 
-{% highlight sql %}
+```sql
 ADD FILE /tmp/test;
 ADD FILE "/path/to/file/abc.txt";
 ADD FILE '/another/test.txt';
 ADD FILE "/path with space/abc.txt";
 ADD FILE "/path/to/some/directory";
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [LIST FILE](sql-ref-syntax-aux-resource-mgmt-list-file.html)
- * [LIST JAR](sql-ref-syntax-aux-resource-mgmt-list-jar.html)
- * [ADD JAR](sql-ref-syntax-aux-resource-mgmt-add-jar.html)
+* [LIST FILE](sql-ref-syntax-aux-resource-mgmt-list-file.html)
+* [LIST JAR](sql-ref-syntax-aux-resource-mgmt-list-jar.html)
+* [ADD JAR](sql-ref-syntax-aux-resource-mgmt-add-jar.html)
 
diff --git a/docs/sql-ref-syntax-aux-resource-mgmt-add-jar.md b/docs/sql-ref-syntax-aux-resource-mgmt-add-jar.md
index c402034..4694bff9 100644
--- a/docs/sql-ref-syntax-aux-resource-mgmt-add-jar.md
+++ b/docs/sql-ref-syntax-aux-resource-mgmt-add-jar.md
@@ -25,28 +25,27 @@ license: |
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 ADD JAR file_name
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
- <dt><code><em>file_name</em></code></dt>
- <dd>The name of the JAR file to be added. It could be either on a local file system or a distributed file system.</dd>
-</dl>
+* **file_name**
+
+    The name of the JAR file to be added. It could be either on a local file system or a distributed file system.
 
 ### Examples
 
-{% highlight sql %}
+```sql
 ADD JAR /tmp/test.jar;
 ADD JAR "/path/to/some.jar";
 ADD JAR '/some/other.jar';
 ADD JAR "/path with space/abc.jar";
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [LIST JAR](sql-ref-syntax-aux-resource-mgmt-list-jar.html)
- * [ADD FILE](sql-ref-syntax-aux-resource-mgmt-add-file.html)
- * [LIST FILE](sql-ref-syntax-aux-resource-mgmt-list-file.html)
+* [LIST JAR](sql-ref-syntax-aux-resource-mgmt-list-jar.html)
+* [ADD FILE](sql-ref-syntax-aux-resource-mgmt-add-file.html)
+* [LIST FILE](sql-ref-syntax-aux-resource-mgmt-list-file.html)
diff --git a/docs/sql-ref-syntax-aux-resource-mgmt-list-file.md b/docs/sql-ref-syntax-aux-resource-mgmt-list-file.md
index eec98e1..9b9a7df 100644
--- a/docs/sql-ref-syntax-aux-resource-mgmt-list-file.md
+++ b/docs/sql-ref-syntax-aux-resource-mgmt-list-file.md
@@ -25,13 +25,13 @@ license: |
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 LIST FILE
-{% endhighlight %}
+```
 
 ### Examples
 
-{% highlight sql %}
+```sql
 ADD FILE /tmp/test;
 ADD FILE /tmp/test_2;
 LIST FILE;
@@ -42,11 +42,11 @@ file:/private/tmp/test_2
 LIST FILE /tmp/test /some/random/file /another/random/file
 --output
 file:/private/tmp/test
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [ADD FILE](sql-ref-syntax-aux-resource-mgmt-add-file.html)
- * [ADD JAR](sql-ref-syntax-aux-resource-mgmt-add-jar.html)
- * [LIST JAR](sql-ref-syntax-aux-resource-mgmt-list-jar.html)
+* [ADD FILE](sql-ref-syntax-aux-resource-mgmt-add-file.html)
+* [ADD JAR](sql-ref-syntax-aux-resource-mgmt-add-jar.html)
+* [LIST JAR](sql-ref-syntax-aux-resource-mgmt-list-jar.html)
 
diff --git a/docs/sql-ref-syntax-aux-resource-mgmt-list-jar.md b/docs/sql-ref-syntax-aux-resource-mgmt-list-jar.md
index dca4252..04aa52c 100644
--- a/docs/sql-ref-syntax-aux-resource-mgmt-list-jar.md
+++ b/docs/sql-ref-syntax-aux-resource-mgmt-list-jar.md
@@ -25,13 +25,13 @@ license: |
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 LIST JAR
-{% endhighlight %}
+```
 
 ### Examples
 
-{% highlight sql %}
+```sql
 ADD JAR /tmp/test.jar;
 ADD JAR /tmp/test_2.jar;
 LIST JAR;
@@ -42,11 +42,11 @@ spark://192.168.1.112:62859/jars/test_2.jar
 LIST JAR /tmp/test.jar /some/random.jar /another/random.jar;
 -- output
 spark://192.168.1.112:62859/jars/test.jar
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [ADD JAR](sql-ref-syntax-aux-resource-mgmt-add-jar.html)
- * [ADD FILE](sql-ref-syntax-aux-resource-mgmt-add-file.html)
- * [LIST FILE](sql-ref-syntax-aux-resource-mgmt-list-file.html)
+* [ADD JAR](sql-ref-syntax-aux-resource-mgmt-add-jar.html)
+* [ADD FILE](sql-ref-syntax-aux-resource-mgmt-add-file.html)
+* [LIST FILE](sql-ref-syntax-aux-resource-mgmt-list-file.html)
 
diff --git a/docs/sql-ref-syntax-aux-show-columns.md b/docs/sql-ref-syntax-aux-show-columns.md
index 7229bba..b76db25 100644
--- a/docs/sql-ref-syntax-aux-show-columns.md
+++ b/docs/sql-ref-syntax-aux-show-columns.md
@@ -21,7 +21,7 @@ license: |
 
 ### Description
 
-Return the list of columns in a table. If the table does not exist, an exception is thrown.
+Returns the list of columns in a table. If the table does not exist, an exception is thrown.
 
 ### Syntax
 
diff --git a/docs/sql-ref-syntax-aux-show-create-table.md b/docs/sql-ref-syntax-aux-show-create-table.md
index 47a5290..ae8c10e 100644
--- a/docs/sql-ref-syntax-aux-show-create-table.md
+++ b/docs/sql-ref-syntax-aux-show-create-table.md
@@ -25,26 +25,21 @@ license: |
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 SHOW CREATE TABLE table_identifier
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>table_identifier</em></code></dt>
-  <dd>
-    Specifies a table or view name, which may be optionally qualified with a database name.<br><br>
-    <b>Syntax:</b>
-      <code>
-        [ database_name. ] table_name
-      </code>
-  </dd>
-</dl>
+* **table_identifier**
+
+    Specifies a table or view name, which may be optionally qualified with a database name.
+
+    **Syntax:** `[ database_name. ] table_name`
 
 ### Examples
 
-{% highlight sql %}
+```sql
 CREATE TABLE test (c INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
     STORED AS TEXTFILE
     TBLPROPERTIES ('prop1' = 'value1', 'prop2' = 'value2');
@@ -60,9 +55,9 @@ SHOW CREATE TABLE test;
    'prop1' = 'value1',
    'prop2' = 'value2')
 +----------------------------------------------------+
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [CREATE TABLE](sql-ref-syntax-ddl-create-table.html)
- * [CREATE VIEW](sql-ref-syntax-ddl-create-view.html)
+* [CREATE TABLE](sql-ref-syntax-ddl-create-table.html)
+* [CREATE VIEW](sql-ref-syntax-ddl-create-view.html)
diff --git a/docs/sql-ref-syntax-aux-show-databases.md b/docs/sql-ref-syntax-aux-show-databases.md
index c84898a..44c0fbb 100644
--- a/docs/sql-ref-syntax-aux-show-databases.md
+++ b/docs/sql-ref-syntax-aux-show-databases.md
@@ -21,35 +21,31 @@ license: |
 
 ### Description
 
-Lists the databases that match an optionally supplied string pattern. If no
+Lists the databases that match an optionally supplied regular expression pattern. If no
 pattern is supplied then the command lists all the databases in the system.
 Please note that the usage of `SCHEMAS` and `DATABASES` are interchangeable
 and mean the same thing.
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 SHOW { DATABASES | SCHEMAS } [ LIKE regex_pattern ]
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>regex_pattern</em></code></dt>
-  <dd>
+* **regex_pattern**
+
     Specifies a regular expression pattern that is used to filter the results of the
     statement.
-    <ul>
-      <li>Only <code>*</code> and <code>|</code> are allowed as wildcard pattern.</li>
-      <li>Excluding <code>*</code> and <code>|</code>, the remaining pattern follows the regular expression semantics.</li>
-      <li>The leading and trailing blanks are trimmed in the input pattern before processing. The pattern match is case-insensitive.</li>
-    </ul>
-  </dd>
-</dl>
+    * Except for `*` and `|` character, the pattern works like a regular expression.
+    * `*` alone matches 0 or more characters and `|` is used to separate multiple different regular expressions,
+       any of which can match.
+    * The leading and trailing blanks are trimmed in the input pattern before processing. The pattern match is case-insensitive.
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- Create database. Assumes a database named `default` already exists in
 -- the system. 
 CREATE DATABASE payroll_db;
@@ -83,10 +79,10 @@ SHOW SCHEMAS;
 | payments_db|
 |  payroll_db|
 +------------+
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [DESCRIBE DATABASE](sql-ref-syntax-aux-describe-database.html)
- * [CREATE DATABASE](sql-ref-syntax-ddl-create-database.html)
- * [ALTER DATABASE](sql-ref-syntax-ddl-alter-database.html)
+* [DESCRIBE DATABASE](sql-ref-syntax-aux-describe-database.html)
+* [CREATE DATABASE](sql-ref-syntax-ddl-create-database.html)
+* [ALTER DATABASE](sql-ref-syntax-ddl-alter-database.html)
diff --git a/docs/sql-ref-syntax-aux-show-functions.md b/docs/sql-ref-syntax-aux-show-functions.md
index 8a6de40..b4dd728 100644
--- a/docs/sql-ref-syntax-aux-show-functions.md
+++ b/docs/sql-ref-syntax-aux-show-functions.md
@@ -9,7 +9,7 @@ license: |
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at
- 
+
      http://www.apache.org/licenses/LICENSE-2.0
  
   Unless required by applicable law or agreed to in writing, software
@@ -29,48 +29,42 @@ clause is optional and supported only for compatibility with other systems.
 
 ### Syntax
 
-{% highlight sql %}
-SHOW [ function_kind ] FUNCTIONS ( [ LIKE ] function_name | regex_pattern )
-{% endhighlight %}
+```sql
+SHOW [ function_kind ] FUNCTIONS [ [ LIKE ] { function_name | regex_pattern } ]
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>function_kind</em></code></dt>
-  <dd>
+* **function_kind**
+
     Specifies the name space of the function to be searched upon. The valid name spaces are :
-    <ul>
-      <li><b>USER</b> - Looks up the function(s) among the user defined functions.</li>
-      <li><b>SYSTEM</b> - Looks up the function(s) among the system defined functions.</li>
-      <li><b>ALL</b> -  Looks up the function(s) among both user and system defined functions.</li>
-    </ul>
-  </dd>
-  <dt><code><em>function_name</em></code></dt>
-  <dd>
+
+    * **USER** - Looks up the function(s) among the user defined functions.
+    * **SYSTEM** - Looks up the function(s) among the system defined functions.
+    * **ALL** -  Looks up the function(s) among both user and system defined functions.
+
+* **function_name**
+
     Specifies a name of an existing function in the system. The function name may be
     optionally qualified with a database name. If `function_name` is qualified with
     a database then the function is resolved from the user specified database, otherwise
-    it is resolved from the current database.<br><br>
-    <b>Syntax:</b>
-      <code>
-        [database_name.]function_name
-      </code>
-  </dd>
-  <dt><code><em>regex_pattern</em></code></dt>
-  <dd>
+    it is resolved from the current database.
+
+    **Syntax:** `[ database_name. ] function_name`
+
+* **regex_pattern**
+
     Specifies a regular expression pattern that is used to filter the results of the
     statement.
-    <ul>
-      <li>Only <code>*</code> and <code>|</code> are allowed as wildcard pattern.</li>
-      <li>Excluding <code>*</code> and <code>|</code>, the remaining pattern follows the regular expression semantics.</li>
-      <li>The leading and trailing blanks are trimmed in the input pattern before processing. The pattern match is case-insensitive.</li>
-    </ul>
-  </dd>
-</dl>
+
+    * Except for `*` and `|` character, the pattern works like a regular expression.
+    * `*` alone matches 0 or more characters and `|` is used to separate multiple different regular expressions,
+       any of which can match.
+    * The leading and trailing blanks are trimmed in the input pattern before processing. The pattern match is case-insensitive.
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- List a system function `trim` by searching both user defined and system
 -- defined functions.
 SHOW FUNCTIONS trim;
@@ -138,8 +132,8 @@ SHOW FUNCTIONS LIKE 't[a-z][a-z][a-z]';
 |    tanh|
 |    trim|
 +--------+
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [DESCRIBE FUNCTION](sql-ref-syntax-aux-describe-function.html)
+* [DESCRIBE FUNCTION](sql-ref-syntax-aux-describe-function.html)
diff --git a/docs/sql-ref-syntax-aux-show-partitions.md b/docs/sql-ref-syntax-aux-show-partitions.md
index 592833b..d938255 100644
--- a/docs/sql-ref-syntax-aux-show-partitions.md
+++ b/docs/sql-ref-syntax-aux-show-partitions.md
@@ -27,37 +27,28 @@ partition spec.
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 SHOW PARTITIONS table_identifier [ partition_spec ]
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>table_identifier</em></code></dt>
-  <dd>
-    Specifies a table name, which may be optionally qualified with a database name.<br><br>
-    <b>Syntax:</b>
-      <code>
-        [ database_name. ] table_name
-      </code>
-  </dd>
-</dl>
-<dl>
-  <dt><code><em>partition_spec</em></code></dt>
-  <dd>
+* **table_identifier**
+
+    Specifies a table name, which may be optionally qualified with a database name.
+
+    **Syntax:** `[ database_name. ] table_name`
+
+* **partition_spec**
+
     An optional parameter that specifies a comma separated list of key and value pairs
-    for partitions. When specified, the partitions that match the partition spec are returned.<br><br>
-    <b>Syntax:</b>
-      <code>
-        PARTITION ( partition_col_name [ = partition_col_val ] [ , ... ] )
-      </code>
-  </dd>
-</dl>
+    for partitions. When specified, the partitions that match the partition specification are returned.
+
+    **Syntax:** `PARTITION ( partition_col_name = partition_col_val [ , ... ] )`
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- create a partitioned table and insert a few rows.
 USE salesdb;
 CREATE TABLE customer(id INT, name STRING) PARTITIONED BY (state STRING, city STRING);
@@ -109,11 +100,11 @@ SHOW PARTITIONS customer PARTITION (city =  'San Jose');
 +----------------------+
 |state=CA/city=San Jose|
 +----------------------+
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [CREATE TABLE](sql-ref-syntax-ddl-create-table.html)
- * [INSERT STATEMENT](sql-ref-syntax-dml-insert.html)
- * [DESCRIBE TABLE](sql-ref-syntax-aux-describe-table.html)
- * [SHOW TABLE](sql-ref-syntax-aux-show-table.html)
+* [CREATE TABLE](sql-ref-syntax-ddl-create-table.html)
+* [INSERT STATEMENT](sql-ref-syntax-dml-insert.html)
+* [DESCRIBE TABLE](sql-ref-syntax-aux-describe-table.html)
+* [SHOW TABLE](sql-ref-syntax-aux-show-table.html)
diff --git a/docs/sql-ref-syntax-aux-show-table.md b/docs/sql-ref-syntax-aux-show-table.md
index 3f58804..0ce0a3e 100644
--- a/docs/sql-ref-syntax-aux-show-table.md
+++ b/docs/sql-ref-syntax-aux-show-table.md
@@ -32,42 +32,36 @@ cannot be used with a partition specification.
 
 ### Syntax
 
-{% highlight sql %}
-SHOW TABLE EXTENDED [ IN | FROM database_name ] LIKE regex_pattern
+```sql
+SHOW TABLE EXTENDED [ { IN | FROM } database_name ] LIKE regex_pattern
     [ partition_spec ]
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
- <dt><code><em>IN|FROM database_name</em></code></dt>
-  <dd>
+* **{ IN`|`FROM } database_name**
+
     Specifies database name. If not provided, will use the current database.
-  </dd>
-  <dt><code><em>regex_pattern</em></code></dt>
-  <dd>
+
+* **regex_pattern**
+
     Specifies the regular expression pattern that is used to filter out unwanted tables.
-    <ul>
-       <li> Except for <code>*</code> and <code>|</code> character, the pattern works like a regular expression.</li>
-       <li> <code>*</code> alone matches 0 or more characters and <code>|</code> is used to separate multiple different regular expressions,
-             any of which can match. </li>
-       <li> The leading and trailing blanks are trimmed in the input pattern before processing. The pattern match is case-insensitive.</li>
-    </ul>
-  </dd>
-  <dt><code><em>partition_spec</em></code></dt>
-  <dd>
+
+    * Except for `*` and `|` character, the pattern works like a regular expression.
+    * `*` alone matches 0 or more characters and `|` is used to separate multiple different regular expressions,
+      any of which can match.
+    * The leading and trailing blanks are trimmed in the input pattern before processing. The pattern match is case-insensitive.
+
+* **partition_spec**
+
     An optional parameter that specifies a comma separated list of key and value pairs
-    for partitions. Note that a table regex cannot be used with a partition specification.<br><br>
-    <b>Syntax:</b>
-      <code>
-        PARTITION ( partition_col_name [ = partition_col_val ] [ , ... ] )
-      </code>
-  </dd>
-</dl>
+    for partitions. Note that a table regex cannot be used with a partition specification.
+
+    **Syntax:** `PARTITION ( partition_col_name = partition_col_val [ , ... ] )`
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- Assumes `employee` table created with partitioned by column `grade`
 CREATE TABLE employee(name STRING, grade INT) PARTITIONED BY (grade);
 INSERT INTO employee PARTITION (grade = 1) VALUES ('sam');
@@ -152,7 +146,7 @@ SHOW TABLE EXTENDED  LIKE `employe*`;
 +--------+---------+----------+---------------------------------------------------------------+
   
 -- show partition file system details
-SHOW TABLE EXTENDED  IN `default` LIKE `employee` PARTITION (`grade=1`);
+SHOW TABLE EXTENDED  IN default LIKE `employee` PARTITION (`grade=1`);
 +--------+---------+-----------+--------------------------------------------------------------+
 |database|tableName|isTemporary|                         information                          |
 +--------+---------+-----------+--------------------------------------------------------------+
@@ -175,12 +169,12 @@ SHOW TABLE EXTENDED  IN `default` LIKE `employee` PARTITION (`grade=1`);
 +--------+---------+-----------+--------------------------------------------------------------+
 
 -- show partition file system details with regex fails as shown below
-SHOW TABLE EXTENDED  IN `default` LIKE `empl*` PARTITION (`grade=1`);
-  Error: Error running query: org.apache.spark.sql.catalyst.analysis.NoSuchTableException:
-   Table or view 'emplo*' not found in database 'default'; (state=,code=0)
-{% endhighlight %}
+SHOW TABLE EXTENDED  IN default LIKE `empl*` PARTITION (`grade=1`);
+Error: Error running query: org.apache.spark.sql.catalyst.analysis.NoSuchTableException:
+ Table or view 'emplo*' not found in database 'default'; (state=,code=0)
+```
 
 ### Related Statements
 
- * [CREATE TABLE](sql-ref-syntax-ddl-create-table.html)
- * [DESCRIBE TABLE](sql-ref-syntax-aux-describe-table.html)
+* [CREATE TABLE](sql-ref-syntax-ddl-create-table.html)
+* [DESCRIBE TABLE](sql-ref-syntax-aux-describe-table.html)
diff --git a/docs/sql-ref-syntax-aux-show-tables.md b/docs/sql-ref-syntax-aux-show-tables.md
index 62eb3dd..fef9722 100644
--- a/docs/sql-ref-syntax-aux-show-tables.md
+++ b/docs/sql-ref-syntax-aux-show-tables.md
@@ -28,33 +28,28 @@ current database.
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 SHOW TABLES [ { FROM | IN } database_name ] [ LIKE regex_pattern ]
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>{ FROM | IN } database_name</em></code></dt>
-  <dd>
+* **{ FROM `|` IN } database_name**
+
      Specifies the database name from which tables are listed.
-  </dd>
-  <dt><code><em>regex_pattern</em></code></dt>
-  <dd>
+
+* **regex_pattern**
+
      Specifies the regular expression pattern that is used to filter out unwanted tables. 
-     <ul> 
-          <li> Except for <code>*</code> and <code>|</code> character, the pattern works like a regular expression.</li>
-          <li> <code>*</code> alone matches 0 or more characters and <code>|</code> is used to separate multiple different regular expressions,
-           any of which can match. </li>
-          <li> The leading and trailing blanks are trimmed in the input pattern before processing. The pattern match is case-insensitive.</li>
-     </ul>
-    
-  </dd>
-</dl>
+
+     * Except for `*` and `|` character, the pattern works like a regular expression.
+     * `*` alone matches 0 or more characters and `|` is used to separate multiple different regular expressions,
+       any of which can match.
+     * The leading and trailing blanks are trimmed in the input pattern before processing. The pattern match is case-insensitive.
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- List all tables in default database
 SHOW TABLES;
 +--------+---------+-----------+
@@ -101,11 +96,11 @@ SHOW TABLES LIKE 'sam*|suj';
 | default|     sam1|      false|
 | default|      suj|      false|
 +--------+---------+-----------+
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [CREATE TABLE](sql-ref-syntax-ddl-create-table.html)
- * [DROP TABLE](sql-ref-syntax-ddl-drop-table.html)
- * [CREATE DATABASE](sql-ref-syntax-ddl-create-database.html)
- * [DROP DATABASE](sql-ref-syntax-ddl-drop-database.html)
+* [CREATE TABLE](sql-ref-syntax-ddl-create-table.html)
+* [DROP TABLE](sql-ref-syntax-ddl-drop-table.html)
+* [CREATE DATABASE](sql-ref-syntax-ddl-create-database.html)
+* [DROP DATABASE](sql-ref-syntax-ddl-drop-database.html)
diff --git a/docs/sql-ref-syntax-aux-show-tblproperties.md b/docs/sql-ref-syntax-aux-show-tblproperties.md
index 662aaad..5b7ddcb 100644
--- a/docs/sql-ref-syntax-aux-show-tblproperties.md
+++ b/docs/sql-ref-syntax-aux-show-tblproperties.md
@@ -26,37 +26,30 @@ a property key. If no key is specified then all the properties are returned.
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 SHOW TBLPROPERTIES table_identifier 
    [ ( unquoted_property_key | property_key_as_string_literal ) ]
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>table_identifier</em></code></dt>
-  <dd>
+* **table_identifier**
+
     Specifies the table name of an existing table. The table may be optionally qualified
-    with a database name.<br><br>
-    <b>Syntax:</b>
-      <code>
-        [ database_name. ] table_name
-      </code>
-  </dd>
-  <dt><code><em>unquoted_property_key</em></code></dt>
-  <dd>
+    with a database name.
+
+    **Syntax:** `[ database_name. ] table_name`
+
+* **unquoted_property_key**
+
     Specifies the property key in unquoted form. The key may consists of multiple
-    parts separated by dot.<br><br>
-    <b>Syntax:</b>
-      <code>
-        [ key_part1 ] [ .key_part2 ] [ ... ]
-      </code>
-  </dd>   
-  <dt><code><em>property_key_as_string_literal</em></code></dt>
-  <dd>
+    parts separated by dot.
+
+    **Syntax:** `[ key_part1 ] [ .key_part2 ] [ ... ]`
+
+* **property_key_as_string_literal**
+
     Specifies a property key value as a string literal.
-  </dd>
-</dl>
 
 **Note**
 - Property value returned by this statement excludes some properties 
@@ -68,7 +61,7 @@ SHOW TBLPROPERTIES table_identifier
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- create a table `customer` in database `salesdb`
 USE salesdb;
 CREATE TABLE customer(cust_code INT, name VARCHAR(100), cust_addr STRING)
@@ -110,11 +103,11 @@ SHOW TBLPROPERTIES customer ('created.date');
 +----------+
 |01-01-2001|
 +----------+
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [CREATE TABLE](sql-ref-syntax-ddl-create-table.html)
- * [ALTER TABLE SET TBLPROPERTIES](sql-ref-syntax-ddl-alter-table.html)
- * [SHOW TABLES](sql-ref-syntax-aux-show-tables.html)
- * [SHOW TABLE EXTENDED](sql-ref-syntax-aux-show-table.html)
+* [CREATE TABLE](sql-ref-syntax-ddl-create-table.html)
+* [ALTER TABLE SET TBLPROPERTIES](sql-ref-syntax-ddl-alter-table.html)
+* [SHOW TABLES](sql-ref-syntax-aux-show-tables.html)
+* [SHOW TABLE EXTENDED](sql-ref-syntax-aux-show-table.html)
diff --git a/docs/sql-ref-syntax-aux-show-views.md b/docs/sql-ref-syntax-aux-show-views.md
index 29ad6ca..5003c09 100644
--- a/docs/sql-ref-syntax-aux-show-views.md
+++ b/docs/sql-ref-syntax-aux-show-views.md
@@ -29,30 +29,26 @@ list global temporary views. Note that the command also lists local temporary vi
 regardless of a given database.
 
 ### Syntax
-{% highlight sql %}
+```sql
 SHOW VIEWS [ { FROM | IN } database_name ] [ LIKE regex_pattern ]
-{% endhighlight %}
+```
 
 ### Parameters
-<dl>
-  <dt><code><em>{ FROM | IN } database_name</em></code></dt>
-  <dd>
+* **{ FROM `|` IN } database_name**
+
      Specifies the database name from which views are listed.
-  </dd>
-  <dt><code><em>regex_pattern</em></code></dt>
-  <dd>
+
+* **regex_pattern**
+
      Specifies the regular expression pattern that is used to filter out unwanted views.
-     <ul> 
-          <li>Except for <code>*</code> and <code>|</code> character, the pattern works like a regular expression.</li>
-          <li><code>*</code> alone matches 0 or more characters and <code>|</code> is used to separate multiple different regular expressions,
-           any of which can match. </li>
-          <li>The leading and trailing blanks are trimmed in the input pattern before processing. The pattern match is case-insensitive.</li>
-     </ul>
-  </dd>
-</dl>
+
+     * Except for `*` and `|` character, the pattern works like a regular expression.
+     * `*` alone matches 0 or more characters and `|` is used to separate multiple different regular expressions,
+       any of which can match.
+     * The leading and trailing blanks are trimmed in the input pattern before processing. The pattern match is case-insensitive.
 
 ### Examples
-{% highlight sql %}
+```sql
 -- Create views in different databases, also create global/local temp views.
 CREATE VIEW sam AS SELECT id, salary FROM employee WHERE name = 'sam';
 CREATE VIEW sam1 AS SELECT id, salary FROM employee WHERE name = 'sam1';
@@ -61,8 +57,8 @@ USE userdb;
 CREATE VIEW user1 AS SELECT id, salary FROM default.employee WHERE name = 'user1';
 CREATE VIEW user2 AS SELECT id, salary FROM default.employee WHERE name = 'user2';
 USE default;
-CREATE GLOBAL TEMP VIEW temp1 AS SELECT 1 as col1;
-CREATE TEMP VIEW temp2 AS SELECT 1 as col1;
+CREATE GLOBAL TEMP VIEW temp1 AS SELECT 1 AS col1;
+CREATE TEMP VIEW temp2 AS SELECT 1 AS col1;
 
 -- List all views in default database
 SHOW VIEWS;
@@ -112,11 +108,10 @@ SHOW VIEWS LIKE 'sam|suj|temp*';
 | default     | suj        | false        |
 |             | temp2      | true         |
 +-------------+------------+--------------+
-
-{% endhighlight %}
+```
 
 ### Related statements
-- [CREATE VIEW](sql-ref-syntax-ddl-create-view.html)
-- [DROP VIEW](sql-ref-syntax-ddl-drop-view.html)
-- [CREATE DATABASE](sql-ref-syntax-ddl-create-database.html)
-- [DROP DATABASE](sql-ref-syntax-ddl-drop-database.html)
+* [CREATE VIEW](sql-ref-syntax-ddl-create-view.html)
+* [DROP VIEW](sql-ref-syntax-ddl-drop-view.html)
+* [CREATE DATABASE](sql-ref-syntax-ddl-create-database.html)
+* [DROP DATABASE](sql-ref-syntax-ddl-drop-database.html)
diff --git a/docs/sql-ref-syntax-aux-show.md b/docs/sql-ref-syntax-aux-show.md
index 424fe71..9f64ea2 100644
--- a/docs/sql-ref-syntax-aux-show.md
+++ b/docs/sql-ref-syntax-aux-show.md
@@ -20,11 +20,11 @@ license: |
 ---
 
  * [SHOW COLUMNS](sql-ref-syntax-aux-show-columns.html)
+ * [SHOW CREATE TABLE](sql-ref-syntax-aux-show-create-table.html)
  * [SHOW DATABASES](sql-ref-syntax-aux-show-databases.html)
  * [SHOW FUNCTIONS](sql-ref-syntax-aux-show-functions.html)
+ * [SHOW PARTITIONS](sql-ref-syntax-aux-show-partitions.html)
  * [SHOW TABLE EXTENDED](sql-ref-syntax-aux-show-table.html)
  * [SHOW TABLES](sql-ref-syntax-aux-show-tables.html)
  * [SHOW TBLPROPERTIES](sql-ref-syntax-aux-show-tblproperties.html)
- * [SHOW PARTITIONS](sql-ref-syntax-aux-show-partitions.html)
- * [SHOW CREATE TABLE](sql-ref-syntax-aux-show-create-table.html)
  * [SHOW VIEWS](sql-ref-syntax-aux-show-views.html)
diff --git a/docs/sql-ref-syntax-ddl-alter-database.md b/docs/sql-ref-syntax-ddl-alter-database.md
index 2d5860c..fbc454e 100644
--- a/docs/sql-ref-syntax-ddl-alter-database.md
+++ b/docs/sql-ref-syntax-ddl-alter-database.md
@@ -29,21 +29,20 @@ for a database and may be used for auditing purposes.
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 ALTER { DATABASE | SCHEMA } database_name
     SET DBPROPERTIES ( property_name = property_value [ , ... ] )
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>database_name</em></code></dt>
-  <dd>Specifies the name of the database to be altered.</dd>
-</dl>
+* **database_name**
+
+    Specifies the name of the database to be altered.
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- Creates a database named `inventory`.
 CREATE DATABASE inventory;
 
@@ -60,8 +59,8 @@ DESCRIBE DATABASE EXTENDED inventory;
 |                 Location|   file:/temp/spark-warehouse/inventory.db|
 |               Properties|((Edit-date,01/01/2001), (Edited-by,John))|
 +-------------------------+------------------------------------------+
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [DESCRIBE DATABASE](sql-ref-syntax-aux-describe-database.html)
+* [DESCRIBE DATABASE](sql-ref-syntax-aux-describe-database.html)
diff --git a/docs/sql-ref-syntax-ddl-alter-table.md b/docs/sql-ref-syntax-ddl-alter-table.md
index f81585f..eb0e9a9 100644
--- a/docs/sql-ref-syntax-ddl-alter-table.md
+++ b/docs/sql-ref-syntax-ddl-alter-table.md
@@ -29,35 +29,25 @@ license: |
 
 #### Syntax
 
-{% highlight sql %}
+```sql
 ALTER TABLE table_identifier RENAME TO table_identifier
 
 ALTER TABLE table_identifier partition_spec RENAME TO partition_spec
-{% endhighlight %}
+```
 
 #### Parameters
 
-<dl>
-  <dt><code><em>table_identifier</em></code></dt>
-  <dd>
-    Specifies a table name, which may be optionally qualified with a database name.<br><br>
-    <b>Syntax:</b>
-      <code>
-        [ database_name. ] table_name
-      </code>
-  </dd>
-</dl>
-
-<dl>
-  <dt><code><em>partition_spec</em></code></dt>
-  <dd>
-    Partition to be renamed. <br><br>
-    <b>Syntax:</b>
-      <code>
-        PARTITION ( partition_col_name  = partition_col_val [ , ... ] )
-      </code>
-  </dd>
-</dl>
+* **table_identifier**
+
+    Specifies a table name, which may be optionally qualified with a database name.
+
+    **Syntax:** `[ database_name. ] table_name`
+
+* **partition_spec**
+
+    Partition to be renamed.
+
+    **Syntax:** `PARTITION ( partition_col_name  = partition_col_val [ , ... ] )`
 
 ### ADD COLUMNS
 
@@ -65,66 +55,47 @@ ALTER TABLE table_identifier partition_spec RENAME TO partition_spec
 
 #### Syntax
 
-{% highlight sql %}
+```sql
 ALTER TABLE table_identifier ADD COLUMNS ( col_spec [ , ... ] )
-{% endhighlight %}
+```
 
 #### Parameters
 
-<dl>
-  <dt><code><em>table_identifier</em></code></dt>
-  <dd>
-    Specifies a table name, which may be optionally qualified with a database name.<br><br>
-    <b>Syntax:</b>
-      <code>
-        [ database_name. ] table_name
-      </code>
-  </dd>
-</dl>
-
-<dl>
-  <dt><code><em>COLUMNS ( col_spec )</em></code></dt>
-  <dd>Specifies the columns to be added.</dd>
-</dl>
+* **table_identifier**
+
+    Specifies a table name, which may be optionally qualified with a database name.
+
+    **Syntax:** `[ database_name. ] table_name`
+
+* **COLUMNS ( col_spec )**
+
+    Specifies the columns to be added.
 
 ### ALTER OR CHANGE COLUMN
 
-`ALTER TABLE ALTER COLUMN` or `ALTER TABLE CHANGE COLUMN` statement changes column's comment.
+`ALTER TABLE ALTER COLUMN` or `ALTER TABLE CHANGE COLUMN` statement changes column's definition.
 
 #### Syntax
 
-{% highlight sql %}
+```sql
 ALTER TABLE table_identifier { ALTER | CHANGE } [ COLUMN ] col_spec alterColumnAction
-{% endhighlight %}
+```
 
 #### Parameters
 
-<dl>
-  <dt><code><em>table_identifier</em></code></dt>
-  <dd>
-    Specifies a table name, which may be optionally qualified with a database name.<br><br>
-    <b>Syntax:</b>
-      <code>
-        [ database_name. ] table_name
-      </code>
-  </dd>
-</dl>
-
-<dl>
-  <dt><code><em>COLUMN col_spec</em></code></dt>
-  <dd>Specifies the column to be altered or be changed.</dd>
-</dl>
-
-<dl>
-  <dt><code><em>alterColumnAction</em></code></dt>
-   <dd>
-     Change the comment string.<br><br>
-     <b>Syntax:</b>
-        <code>
-            COMMENT STRING
-        </code>     
-   </dd>     
-</dl>
+* **table_identifier**
+
+    Specifies a table name, which may be optionally qualified with a database name.
+
+    **Syntax:** `[ database_name. ] table_name`
+
+* **COLUMNS ( col_spec )**
+
+    Specifies the column to be altered or be changed.
+
+* **alterColumnAction**
+
+    Change column's definition.
 
 ### ADD AND DROP PARTITION
 
@@ -134,34 +105,24 @@ ALTER TABLE table_identifier { ALTER | CHANGE } [ COLUMN ] col_spec alterColumnA
 
 ##### Syntax
 
-{% highlight sql %}
+```sql
 ALTER TABLE table_identifier ADD [IF NOT EXISTS] 
     ( partition_spec [ partition_spec ... ] )
-{% endhighlight %}
+```
      
 ##### Parameters
 
-<dl>
-  <dt><code><em>table_identifier</em></code></dt>
-  <dd>
-    Specifies a table name, which may be optionally qualified with a database name.<br><br>
-    <b>Syntax:</b>
-      <code>
-        [ database_name. ] table_name
-      </code>
-  </dd>
-</dl>
-
-<dl>
-  <dt><code><em>partition_spec</em></code></dt>
-  <dd>
-    Partition to be added. <br><br>
-    <b>Syntax:</b>
-      <code>
-        PARTITION ( partition_col_name  = partition_col_val [ , ... ] )
-      </code>
-  </dd>
-</dl>     
+* **table_identifier**
+
+    Specifies a table name, which may be optionally qualified with a database name.
+
+    **Syntax:** `[ database_name. ] table_name`
+
+* **partition_spec**
+
+    Partition to be added.
+
+    **Syntax:** `PARTITION ( partition_col_name  = partition_col_val [ , ... ] )`
 
 #### DROP PARTITION
 
@@ -169,33 +130,23 @@ ALTER TABLE table_identifier ADD [IF NOT EXISTS]
 
 ##### Syntax
 
-{% highlight sql %}
+```sql
 ALTER TABLE table_identifier DROP [ IF EXISTS ] partition_spec [PURGE]
-{% endhighlight %}
+```
      
 ##### Parameters
 
-<dl>
-  <dt><code><em>table_identifier</em></code></dt>
-  <dd>
-    Specifies a table name, which may be optionally qualified with a database name.<br><br>
-    <b>Syntax:</b>
-      <code>
-        [ database_name. ] table_name
-      </code>
-  </dd>
-</dl>
-
-<dl>
-  <dt><code><em>partition_spec</em></code></dt>
-  <dd>
-    Partition to be dropped. <br><br>
-    <b>Syntax:</b>
-      <code>
-        PARTITION ( partition_col_name  = partition_col_val [ , ... ] )
-      </code>
-  </dd>
-</dl>     
+* **table_identifier**
+
+    Specifies a table name, which may be optionally qualified with a database name.
+
+    **Syntax:** `[ database_name. ] table_name`
+
+* **partition_spec**
+
+    Partition to be dropped.
+
+    **Syntax:** `PARTITION ( partition_col_name  = partition_col_val [ , ... ] )`
      
 ### SET AND UNSET
 
@@ -208,30 +159,28 @@ this overrides the old value with the new one.
 
 ##### Syntax
 
-{% highlight sql %}
+```sql
 -- Set Table Properties 
 ALTER TABLE table_identifier SET TBLPROPERTIES ( key1 = val1, key2 = val2, ... )
 
 -- Unset Table Properties
 ALTER TABLE table_identifier UNSET TBLPROPERTIES [ IF EXISTS ] ( key1, key2, ... )
-{% endhighlight %}
+```
 
 #### SET SERDE
 
-`ALTER TABLE SET` command is used for setting the SERDE or SERDE properties in Hive tables. If a particular property was already set,  
-this overrides the old value with the new one.
+`ALTER TABLE SET` command is used for setting the SERDE or SERDE properties in Hive tables. If a particular property was already set, this overrides the old value with the new one.
 
 ##### Syntax
 
-{% highlight sql %}
+```sql
 -- Set SERDE Properties
 ALTER TABLE table_identifier [ partition_spec ]
     SET SERDEPROPERTIES ( key1 = val1, key2 = val2, ... )
 
 ALTER TABLE table_identifier [ partition_spec ] SET SERDE serde_class_name
     [ WITH SERDEPROPERTIES ( key1 = val1, key2 = val2, ... ) ]
-
-{% endhighlight %}
+```
 
 #### SET LOCATION And SET FILE FORMAT
 
@@ -240,46 +189,35 @@ existing tables.
 
 ##### Syntax
 
-{% highlight sql %}
+```sql
 -- Changing File Format
 ALTER TABLE table_identifier [ partition_spec ] SET FILEFORMAT file_format
 
 -- Changing File Location
 ALTER TABLE table_identifier [ partition_spec ] SET LOCATION 'new_location'
-{% endhighlight %}
+```
 
 #### Parameters
 
-<dl>
-  <dt><code><em>table_identifier</em></code></dt>
-  <dd>
-    Specifies a table name, which may be optionally qualified with a database name.<br><br>
-    <b>Syntax:</b>
-      <code>
-        [ database_name. ] table_name
-      </code>
-  </dd>
-</dl>
-
-<dl>
-  <dt><code><em>partition_spec</em></code></dt>
-  <dd>
-    Specifies the partition on which the property has to be set.<br><br>
-    <b>Syntax:</b>
-      <code>
-        PARTITION ( partition_col_name  = partition_col_val [ , ... ] )
-      </code>
-  </dd>
-</dl>
-
-<dl>
-  <dt><code><em>SERDEPROPERTIES ( key1 = val1, key2 = val2, ... )</em></code></dt>
-  <dd>Specifies the SERDE properties to be set.</dd>
-</dl>
+* **table_identifier**
+
+    Specifies a table name, which may be optionally qualified with a database name.
+
+    **Syntax:** `[ database_name. ] table_name`
+
+* **partition_spec**
+
+    Specifies the partition on which the property has to be set.
+
+    **Syntax:** `PARTITION ( partition_col_name  = partition_col_val [ , ... ] )`
+
+* **SERDEPROPERTIES ( key1 = val1, key2 = val2, ... )**
+
+    Specifies the SERDE properties to be set.
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- RENAME table 
 DESC student;
 +-----------------------+---------+-------+
@@ -477,13 +415,19 @@ ALTER TABLE test_tab SET SERDE 'org.apache.hadoop.hive.serde2.columnar.LazyBinar
 ALTER TABLE dbx.tab1 SET SERDE 'org.apache.hadoop' WITH SERDEPROPERTIES ('k' = 'v', 'kay' = 'vee')
 
 -- SET TABLE PROPERTIES
-ALTER TABLE dbx.tab1 SET TBLPROPERTIES ('winner' = 'loser')
+ALTER TABLE dbx.tab1 SET TBLPROPERTIES ('winner' = 'loser');
+
+-- SET TABLE COMMENT Using SET PROPERTIES
+ALTER TABLE dbx.tab1 SET TBLPROPERTIES ('comment' = 'A table comment.');
+
+-- Alter TABLE COMMENT Using SET PROPERTIES
+ALTER TABLE dbx.tab1 SET TBLPROPERTIES ('comment' = 'This is a new comment.');
 
 -- DROP TABLE PROPERTIES
-ALTER TABLE dbx.tab1 UNSET TBLPROPERTIES ('winner')
-{% endhighlight %}
+ALTER TABLE dbx.tab1 UNSET TBLPROPERTIES ('winner');
+```
 
 ### Related Statements
 
- * [CREATE TABLE](sql-ref-syntax-ddl-create-table.html)
- * [DROP TABLE](sql-ref-syntax-ddl-drop-table.html)
+* [CREATE TABLE](sql-ref-syntax-ddl-create-table.html)
+* [DROP TABLE](sql-ref-syntax-ddl-drop-table.html)
diff --git a/docs/sql-ref-syntax-ddl-alter-view.md b/docs/sql-ref-syntax-ddl-alter-view.md
index c288769..a34e77d 100644
--- a/docs/sql-ref-syntax-ddl-alter-view.md
+++ b/docs/sql-ref-syntax-ddl-alter-view.md
@@ -29,21 +29,16 @@ Renames the existing view. If the new view name already exists in the source dat
 does not support moving the views across databases.
 
 #### Syntax
-{% highlight sql %}
+```sql
 ALTER VIEW view_identifier RENAME TO view_identifier
-{% endhighlight %}
+```
 
 #### Parameters
-<dl>
-  <dt><code><em>view_identifier</em></code></dt>
-  <dd>
-    Specifies a view name, which may be optionally qualified with a database name.<br><br>
-    <b> Syntax:</b>
-      <code>
-        [ database_name. ] view_name
-      </code>
-  </dd>
-</dl>
+* **view_identifier**
+
+    Specifies a view name, which may be optionally qualified with a database name.
+
+    **Syntax:** `[ database_name. ] view_name`
 
 #### SET View Properties
 Set one or more properties of an existing view. The properties are the key value pairs. If the properties' keys exist, 
@@ -51,89 +46,70 @@ the values are replaced with the new values. If the properties' keys do not exis
 the properties.
 
 #### Syntax
-{% highlight sql %}
+```sql
 ALTER VIEW view_identifier SET TBLPROPERTIES ( property_key = property_val [ , ... ] )
-{% endhighlight %}
+```
 
 #### Parameters
-<dl>
-  <dt><code><em>view_identifier</em></code></dt>
-  <dd>
-    Specifies a view name, which may be optionally qualified with a database name.<br><br>
-    <b> Syntax:</b>
-      <code>
-        [ database_name. ] view_name
-      </code>
-  </dd>
-  <dt><code><em>property_key</em></code></dt>
-  <dd>
-    Specifies the property key. The key may consists of multiple parts separated by dot.<br><br>
-    <b>Syntax:</b>
-      <code>
-        [ key_part1 ] [ .key_part2 ] [ ... ]
-      </code>
-  </dd>
-</dl>
+* **view_identifier**
+
+    Specifies a view name, which may be optionally qualified with a database name.
+
+    **Syntax:** `[ database_name. ] view_name`
+
+* **property_key**
+
+    Specifies the property key. The key may consists of multiple parts separated by dot.
+
+    **Syntax:** `[ key_part1 ] [ .key_part2 ] [ ... ]`
 
 #### UNSET View Properties
 Drop one or more properties of an existing view. If the specified keys do not exist, an exception is thrown. Use 
 `IF EXISTS` to avoid the exception. 
 
 #### Syntax
-{% highlight sql %}
+```sql
 ALTER VIEW view_identifier UNSET TBLPROPERTIES [ IF EXISTS ]  ( property_key [ , ... ] )
-{% endhighlight %}
+```
 
 #### Parameters
-<dl>
-  <dt><code><em>view_identifier</em></code></dt>
-  <dd>
-    Specifies a view name, which may be optionally qualified with a database name.<br><br>
-    <b> Syntax:</b>
-      <code>
-        [ database_name. ] view_name
-      </code>
-  </dd>
-  <dt><code><em>property_key</em></code></dt>
-  <dd>
-    Specifies the property key. The key may consists of multiple parts separated by dot.<br><br>
-    <b>Syntax:</b>
-      <code>
-        [ key_part1 ] [ .key_part2 ] [ ... ]
-      </code>
-  </dd>
-</dl>
+* **view_identifier**
+
+    Specifies a view name, which may be optionally qualified with a database name.
+
+    **Syntax:** `[ database_name. ] view_name`
+
+* **property_key**
+
+    Specifies the property key. The key may consists of multiple parts separated by dot.
+
+    **Syntax:** `[ key_part1 ] [ .key_part2 ] [ ... ]`
 
 #### ALTER View AS SELECT
 `ALTER VIEW view_identifier AS SELECT` statement changes the definition of a view. The `SELECT` statement must be valid,
 and the `view_identifier` must exist.
 
 #### Syntax
-{% highlight sql %}
+```sql
 ALTER VIEW view_identifier AS select_statement
-{% endhighlight %}
+```
 
 Note that `ALTER VIEW` statement does not support `SET SERDE` or `SET SERDEPROPERTIES` properties.
 
 #### Parameters
-<dl>
-  <dt><code><em>view_identifier</em></code></dt>
-  <dd>
-    Specifies a view name, which may be optionally qualified with a database name.<br><br>
-    <b> Syntax:</b>
-      <code>
-        [ database_name. ] view_name
-      </code>
-  </dd>
-  <dt><code><em>select_statement</em></code></dt>
-  <dd>
-    Specifies the definition of the view. Check <a href="sql-ref-syntax-qry-select.html">select_statement</a> for details.
-  </dd>
-</dl>
+* **view_identifier**
+
+    Specifies a view name, which may be optionally qualified with a database name.
+
+    **Syntax:** `[ database_name. ] view_name`
+
+* **select_statement**
+
+    Specifies the definition of the view. Check [select_statement](sql-ref-syntax-qry-select.html) for details.
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- Rename only changes the view name.
 -- The source and target databases of the view have to be the same.
 -- Use qualified or unqualified name for the source and target view.
@@ -218,11 +194,11 @@ DESC TABLE EXTENDED tempdb1.v2;
 |                   View Text|   select * from tempdb1.v1|       |
 |          View Original Text|   select * from tempdb1.v1|       |
 +----------------------------+---------------------------+-------+
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [describe-table](sql-ref-syntax-aux-describe-table.html)
- * [create-view](sql-ref-syntax-ddl-create-view.html)
- * [drop-view](sql-ref-syntax-ddl-drop-view.html)
- * [show-views](sql-ref-syntax-aux-show-views.html)
+* [describe-table](sql-ref-syntax-aux-describe-table.html)
+* [create-view](sql-ref-syntax-ddl-create-view.html)
+* [drop-view](sql-ref-syntax-ddl-drop-view.html)
+* [show-views](sql-ref-syntax-aux-show-views.html)
diff --git a/docs/sql-ref-syntax-ddl-create-database.md b/docs/sql-ref-syntax-ddl-create-database.md
index 0ef0dfb..9d8bf47 100644
--- a/docs/sql-ref-syntax-ddl-create-database.md
+++ b/docs/sql-ref-syntax-ddl-create-database.md
@@ -25,35 +25,38 @@ Creates a database with the specified name. If database with the same name alrea
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 CREATE { DATABASE | SCHEMA } [ IF NOT EXISTS ] database_name
     [ COMMENT database_comment ]
     [ LOCATION database_directory ]
     [ WITH DBPROPERTIES ( property_name = property_value [ , ... ] ) ]
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-    <dt><code><em>database_name</em></code></dt>
-    <dd>Specifies the name of the database to be created.</dd>
+* **database_name**
 
-    <dt><code><em>IF NOT EXISTS</em></code></dt>
-    <dd>Creates a database with the given name if it doesn't exists. If a database with the same name already exists, nothing will happen.</dd>
+    Specifies the name of the database to be created.
 
-    <dt><code><em>database_directory</em></code></dt>
-    <dd>Path of the file system in which the specified database is to be created. If the specified path does not exist in the underlying file system, this command creates a directory with the path. If the location is not specified, the database will be created in the default warehouse directory, whose path is configured by the static configuration spark.sql.warehouse.dir.</dd>
+* **IF NOT EXISTS**
 
-    <dt><code><em>database_comment</em></code></dt>
-    <dd>Specifies the description for the database.</dd>
+    Creates a database with the given name if it does not exist. If a database with the same name already exists, nothing will happen.
 
-    <dt><code><em>WITH DBPROPERTIES ( property_name=property_value [ , ... ] )</em></code></dt>
-    <dd>Specifies the properties for the database in key-value pairs.</dd>
-</dl>
+* **database_directory**
+
+    Path of the file system in which the specified database is to be created. If the specified path does not exist in the underlying file system, this command creates a directory with the path. If the location is not specified, the database will be created in the default warehouse directory, whose path is configured by the static configuration spark.sql.warehouse.dir.
+
+* **database_comment**
+
+    Specifies the description for the database.
+
+* **WITH DBPROPERTIES ( property_name=property_value [ , ... ] )**
+
+    Specifies the properties for the database in key-value pairs.
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- Create database `customer_db`. This throws exception if database with name customer_db
 -- already exists.
 CREATE DATABASE customer_db;
@@ -76,9 +79,9 @@ DESCRIBE DATABASE EXTENDED customer_db;
 |                 Location|     hdfs://hacluster/user|
 |               Properties|   ((ID,001), (Name,John))|
 +-------------------------+--------------------------+
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [DESCRIBE DATABASE](sql-ref-syntax-aux-describe-database.html)
- * [DROP DATABASE](sql-ref-syntax-ddl-drop-database.html)
+* [DESCRIBE DATABASE](sql-ref-syntax-aux-describe-database.html)
+* [DROP DATABASE](sql-ref-syntax-ddl-drop-database.html)
diff --git a/docs/sql-ref-syntax-ddl-create-function.md b/docs/sql-ref-syntax-ddl-create-function.md
index e3f21f7..aa6c1fa 100644
--- a/docs/sql-ref-syntax-ddl-create-function.md
+++ b/docs/sql-ref-syntax-ddl-create-function.md
@@ -33,68 +33,59 @@ aggregate functions using Scala, Python and Java APIs. Please refer to
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 CREATE [ OR REPLACE ] [ TEMPORARY ] FUNCTION [ IF NOT EXISTS ]
     function_name AS class_name [ resource_locations ]
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>OR REPLACE</em></code></dt>
-  <dd>
+* **OR REPLACE**
+
     If specified, the resources for the function are reloaded. This is mainly useful
     to pick up any changes made to the implementation of the function. This
-    parameter is mutually exclusive to <code>IF NOT EXISTS</code> and can not
+    parameter is mutually exclusive to `IF NOT EXISTS` and can not
     be specified together.
-  </dd>
-  <dt><code><em>TEMPORARY</em></code></dt>
-  <dd>
-    Indicates the scope of function being created. When <code>TEMPORARY</code> is specified, the
+
+* **TEMPORARY**
+
+    Indicates the scope of function being created. When `TEMPORARY` is specified, the
     created function is valid and visible in the current session. No persistent
     entry is made in the catalog for these kind of functions.
-  </dd>
-  <dt><code><em>IF NOT EXISTS</em></code></dt>
-  <dd>
+
+* **IF NOT EXISTS**
+
     If specified, creates the function only when it does not exist. The creation
     of function succeeds (no error is thrown) if the specified function already
-    exists in the system. This parameter is mutually exclusive to <code> OR REPLACE</code> 
+    exists in the system. This parameter is mutually exclusive to `OR REPLACE`
     and can not be specified together.
-  </dd>
-  <dt><code><em>function_name</em></code></dt>
-  <dd>
-    Specifies a name of function to be created. The function name may be
-    optionally qualified with a database name. <br><br>
-    <b>Syntax:</b>
-      <code>
-        [ database_name. ] function_name
-      </code>
-  </dd>
-  <dt><code><em>class_name</em></code></dt>
-  <dd>
+
+* **function_name**
+
+    Specifies a name of function to be created. The function name may be optionally qualified with a database name.
+
+    **Syntax:** `[ database_name. ] function_name`
+
+* **class_name**
+
     Specifies the name of the class that provides the implementation for function to be created.
     The implementing class should extend one of the base classes as follows:
-    <ul>
-      <li>Should extend <code>UDF</code> or <code>UDAF</code> in <code>org.apache.hadoop.hive.ql.exec</code> package.</li>
-      <li>Should extend <code>AbstractGenericUDAFResolver</code>, <code>GenericUDF</code>, or
-          <code>GenericUDTF</code> in <code>org.apache.hadoop.hive.ql.udf.generic</code> package.</li>
-      <li>Should extend <code>UserDefinedAggregateFunction</code> in <code>org.apache.spark.sql.expressions</code> package.</li>
-    </ul>
-  </dd>
-  <dt><code><em>resource_locations</em></code></dt>
-  <dd>
+
+    * Should extend `UDF` or `UDAF` in `org.apache.hadoop.hive.ql.exec` package.
+    * Should extend `AbstractGenericUDAFResolver`, `GenericUDF`, or
+      `GenericUDTF` in `org.apache.hadoop.hive.ql.udf.generic` package.
+    * Should extend `UserDefinedAggregateFunction` in `org.apache.spark.sql.expressions` package.
+
+* **resource_locations**
+
     Specifies the list of resources that contain the implementation of the function
-    along with its dependencies. <br><br>
-    <b>Syntax:</b>
-      <code>
-        USING { { (JAR | FILE ) resource_uri } , ... }
-      </code>
-  </dd>
-</dl>
+    along with its dependencies.
+
+    **Syntax:** `USING { { (JAR | FILE ) resource_uri } , ... }`
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- 1. Create a simple UDF `SimpleUdf` that increments the supplied integral value by 10.
 --    import org.apache.hadoop.hive.ql.exec.UDF;
 --    public class SimpleUdf extends UDF {
@@ -166,10 +157,10 @@ SELECT simple_udf(c1) AS function_return_value FROM t1;
 |                   21|
 |                   22|
 +---------------------+
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [SHOW FUNCTIONS](sql-ref-syntax-aux-show-functions.html)
- * [DESCRIBE FUNCTION](sql-ref-syntax-aux-describe-function.html)
- * [DROP FUNCTION](sql-ref-syntax-ddl-drop-function.html)
+* [SHOW FUNCTIONS](sql-ref-syntax-aux-show-functions.html)
+* [DESCRIBE FUNCTION](sql-ref-syntax-aux-describe-function.html)
+* [DROP FUNCTION](sql-ref-syntax-ddl-drop-function.html)
diff --git a/docs/sql-ref-syntax-ddl-create-table-datasource.md b/docs/sql-ref-syntax-ddl-create-table-datasource.md
index 54827fd..b592116 100644
--- a/docs/sql-ref-syntax-ddl-create-table-datasource.md
+++ b/docs/sql-ref-syntax-ddl-create-table-datasource.md
@@ -25,7 +25,7 @@ The `CREATE TABLE` statement defines a new table using a Data Source.
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 CREATE TABLE [ IF NOT EXISTS ] table_identifier
     [ ( col_name1 col_type1 [ COMMENT col_comment1 ], ... ) ]
     [ USING data_source ]
@@ -38,62 +38,52 @@ CREATE TABLE [ IF NOT EXISTS ] table_identifier
     [ COMMENT table_comment ]
     [ TBLPROPERTIES ( key1=val1, key2=val2, ... ) ]
     [ AS select_statement ]
-{% endhighlight %}
+```
 
 Note that, the clauses between the USING clause and the AS SELECT clause can come in
 as any order. For example, you can write COMMENT table_comment after TBLPROPERTIES.
 
 ### Parameters
 
-<dl>
-  <dt><code><em>table_identifier</em></code></dt>
-  <dd>
-    Specifies a table name, which may be optionally qualified with a database name.<br><br>
-    <b>Syntax:</b>
-      <code>
-        [ database_name. ] table_name
-      </code>
-  </dd>
-</dl>
-<dl>
-  <dt><code><em>USING data_source</em></code></dt>
-  <dd>Data Source is the input format used to create the table. Data source can be CSV, TXT, ORC, JDBC, PARQUET, etc.</dd>
-</dl> 
-
-<dl>
-  <dt><code><em>PARTITIONED BY</em></code></dt>
-  <dd>Partitions are created on the table, based on the columns specified.</dd>
-</dl>
-
-<dl>
-  <dt><code><em>CLUSTERED BY</em></code></dt>
-  <dd>
-	Partitions created on the table will be bucketed into fixed buckets based on the column specified for bucketing.<br><br>
-   	<b>NOTE:</b>Bucketing is an optimization technique that uses buckets (and bucketing columns) to determine data partitioning and avoid data shuffle.<br>
-	<dt><code><em>SORTED BY</em></code></dt>
-	<dd>Determines the order in which the data is stored in buckets. Default is Ascending order.</dd>
-  </dd>
-</dl>
-
-<dl>
-  <dt><code><em>LOCATION</em></code></dt>
-  <dd>Path to the directory where table data is stored, which could be a path on distributed storage like HDFS, etc.</dd>
-</dl>
-
-<dl>
-  <dt><code><em>COMMENT</em></code></dt>
-  <dd>A string literal to describe the table.</dd>
-</dl>
-
-<dl>
-  <dt><code><em>TBLPROPERTIES</em></code></dt>
-  <dd>A list of key-value pairs that is used to tag the table definition.</dd>
-</dl>
-
-<dl>
-  <dt><code><em>AS select_statement</em></code></dt>
-  <dd>The table is populated using the data from the select statement.</dd>
-</dl>
+* **table_identifier**
+
+    Specifies a table name, which may be optionally qualified with a database name.
+
+    **Syntax:** `[ database_name. ] table_name`
+
+* **USING data_source**
+
+    Data Source is the input format used to create the table. Data source can be CSV, TXT, ORC, JDBC, PARQUET, etc.
+
+* **PARTITIONED BY**
+
+    Partitions are created on the table, based on the columns specified.
+
+* **CLUSTERED BY**
+
+    Partitions created on the table will be bucketed into fixed buckets based on the column specified for bucketing.
+
+    **NOTE:** Bucketing is an optimization technique that uses buckets (and bucketing columns) to determine data partitioning and avoid data shuffle.
+
+* **SORTED BY**
+
+    Determines the order in which the data is stored in buckets. Default is Ascending order.
+
+* **LOCATION**
+
+    Path to the directory where table data is stored, which could be a path on distributed storage like HDFS, etc.
+
+* **COMMENT**
+
+    A string literal to describe the table.
+
+* **TBLPROPERTIES**
+
+    A list of key-value pairs that is used to tag the table definition.
+
+* **AS select_statement**
+
+    The table is populated using the data from the select statement.
 
 ### Data Source Interaction
 
@@ -110,7 +100,7 @@ input query, to make sure the table gets created contains exactly the same data
 
 ### Examples
 
-{% highlight sql %}
+```sql
 
 --Use data source
 CREATE TABLE student (id INT, name STRING, age INT) USING CSV;
@@ -137,9 +127,9 @@ CREATE TABLE student (id INT, name STRING, age INT)
     USING CSV
     PARTITIONED BY (age)
     CLUSTERED BY (Id) INTO 4 buckets;
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [CREATE TABLE USING HIVE FORMAT](sql-ref-syntax-ddl-create-table-hiveformat.html)
- * [CREATE TABLE LIKE](sql-ref-syntax-ddl-create-table-like.html)
+* [CREATE TABLE USING HIVE FORMAT](sql-ref-syntax-ddl-create-table-hiveformat.html)
+* [CREATE TABLE LIKE](sql-ref-syntax-ddl-create-table-like.html)
diff --git a/docs/sql-ref-syntax-ddl-create-table-hiveformat.md b/docs/sql-ref-syntax-ddl-create-table-hiveformat.md
index 06f353a..38f8856 100644
--- a/docs/sql-ref-syntax-ddl-create-table-hiveformat.md
+++ b/docs/sql-ref-syntax-ddl-create-table-hiveformat.md
@@ -25,7 +25,7 @@ The `CREATE TABLE` statement defines a new table using Hive format.
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 CREATE [ EXTERNAL ] TABLE [ IF NOT EXISTS ] table_identifier
     [ ( col_name1[:] col_type1 [ COMMENT col_comment1 ], ... ) ]
     [ COMMENT table_comment ]
@@ -36,67 +36,54 @@ CREATE [ EXTERNAL ] TABLE [ IF NOT EXISTS ] table_identifier
     [ LOCATION path ]
     [ TBLPROPERTIES ( key1=val1, key2=val2, ... ) ]
     [ AS select_statement ]
-{% endhighlight %}
+```
 
 Note that, the clauses between the columns definition clause and the AS SELECT clause can come in
 as any order. For example, you can write COMMENT table_comment after TBLPROPERTIES.
 
 ### Parameters
 
-<dl>
-  <dt><code><em>table_identifier</em></code></dt>
-  <dd>
-    Specifies a table name, which may be optionally qualified with a database name.<br><br>
-    <b>Syntax:</b>
-      <code>
-        [ database_name. ] table_name
-      </code>
-  </dd>
-</dl>
-
-<dl>
-  <dt><code><em>EXTERNAL</em></code></dt>
-  <dd>Table is defined using the path provided as LOCATION, does not use default location for this table.</dd>
-</dl>
-
-<dl>
-  <dt><code><em>PARTITIONED BY</em></code></dt>
-  <dd>Partitions are created on the table, based on the columns specified.</dd>
-</dl>
-
-<dl>
-  <dt><code><em>ROW FORMAT</em></code></dt>
-  <dd>SERDE is used to specify a custom SerDe or the DELIMITED clause in order to use the native SerDe.</dd>
-</dl>
-
-<dl>
-  <dt><code><em>STORED AS</em></code></dt>
-    <dd>File format for table storage, could be TEXTFILE, ORC, PARQUET,etc.</dd>
-</dl>
-
-<dl>
-  <dt><code><em>LOCATION</em></code></dt>
-  <dd>Path to the directory where table data is stored, Path to the directory where table data is stored, which could be a path on distributed storage like HDFS, etc.</dd>
-</dl>
-
-<dl>
-  <dt><code><em>COMMENT</em></code></dt>
-  <dd>A string literal to describe the table.</dd>
-</dl>
-
-<dl>
-  <dt><code><em>TBLPROPERTIES</em></code></dt>
-  <dd>A list of key-value pairs that is used to tag the table definition.</dd>
-</dl>
-
-<dl>
-  <dt><code><em>AS select_statement</em></code></dt>
-  <dd>The table is populated using the data from the select statement.</dd>
-</dl>
+* **table_identifier**
+
+    Specifies a table name, which may be optionally qualified with a database name.
+
+    **Syntax:** `[ database_name. ] table_name`
+
+* **EXTERNAL**
+
+    Table is defined using the path provided as LOCATION, does not use default location for this table.
+
+* **PARTITIONED BY**
+
+    Partitions are created on the table, based on the columns specified.
+
+* **ROW FORMAT**
+
+    SERDE is used to specify a custom SerDe or the DELIMITED clause in order to use the native SerDe.
+
+* **STORED AS**
+
+    File format for table storage, could be TEXTFILE, ORC, PARQUET, etc.
+
+* **LOCATION**
+
+    Path to the directory where table data is stored, which could be a path on distributed storage like HDFS, etc.
+
+* **COMMENT**
+
+    A string literal to describe the table.
+
+* **TBLPROPERTIES**
+
+    A list of key-value pairs that is used to tag the table definition.
+
+* **AS select_statement**
+
+    The table is populated using the data from the select statement.
 
 ### Examples
 
-{% highlight sql %}
+```sql
 --Use hive format
 CREATE TABLE student (id INT, name STRING, age INT) STORED AS ORC;
 
@@ -130,9 +117,9 @@ CREATE TABLE student (id INT, name STRING)
 CREATE TABLE student (id INT,name STRING)
     ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
     STORED AS TEXTFILE;
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [CREATE TABLE USING DATASOURCE](sql-ref-syntax-ddl-create-table-datasource.html)
- * [CREATE TABLE LIKE](sql-ref-syntax-ddl-create-table-like.html)
+* [CREATE TABLE USING DATASOURCE](sql-ref-syntax-ddl-create-table-datasource.html)
+* [CREATE TABLE LIKE](sql-ref-syntax-ddl-create-table-like.html)
diff --git a/docs/sql-ref-syntax-ddl-create-table-like.md b/docs/sql-ref-syntax-ddl-create-table-like.md
index fe1dc4b1..cfb959c 100644
--- a/docs/sql-ref-syntax-ddl-create-table-like.md
+++ b/docs/sql-ref-syntax-ddl-create-table-like.md
@@ -25,57 +25,46 @@ The `CREATE TABLE` statement defines a new table using the definition/metadata o
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 CREATE TABLE [IF NOT EXISTS] table_identifier LIKE source_table_identifier
     USING data_source
     [ ROW FORMAT row_format ]
     [ STORED AS file_format ]
     [ TBLPROPERTIES ( key1=val1, key2=val2, ... ) ]
     [ LOCATION path ]
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>table_identifier</em></code></dt>
-  <dd>
-    Specifies a table name, which may be optionally qualified with a database name.<br><br>
-    <b>Syntax:</b>  [ TBLPROPERTIES ( key1=val1, key2=val2, ... ) ]
-      <code>
-        [ database_name. ] table_name
-      </code>
-  </dd>
-</dl>
-
-<dl>
-  <dt><code><em>USING data_source</em></code></dt>
-  <dd>Data Source is the input format used to create the table. Data source can be CSV, TXT, ORC, JDBC, PARQUET, etc.</dd>
-</dl> 
-
-<dl>
-  <dt><code><em>ROW FORMAT</em></code></dt>
-  <dd>SERDE is used to specify a custom SerDe or the DELIMITED clause in order to use the native SerDe.</dd>
-</dl>
-
-<dl>
-  <dt><code><em>STORED AS</em></code></dt>
-  <dd>File format for table storage, could be TEXTFILE, ORC, PARQUET,etc.</dd>
-</dl>
-
-<dl>
-  <dt><code><em>TBLPROPERTIES</em></code></dt>
-  <dd>Table properties that have to be set are specified, such as `created.by.user`, `owner`, etc.
-  </dd>
-</dl>
-
-<dl>
-  <dt><code><em>LOCATION</em></code></dt>
-  <dd>Path to the directory where table data is stored,Path to the directory where table data is stored, which could be a path on distributed storage like HDFS, etc. Location to create an external table.</dd>
-</dl>
+* **table_identifier**
+
+    Specifies a table name, which may be optionally qualified with a database name.
+
+    **Syntax:** `[ database_name. ] table_name`
+
+* **USING data_source**
+
+    Data Source is the input format used to create the table. Data source can be CSV, TXT, ORC, JDBC, PARQUET, etc.
+
+* **ROW FORMAT**
+
+    SERDE is used to specify a custom SerDe or the DELIMITED clause in order to use the native SerDe.
+
+* **STORED AS**
+
+    File format for table storage, could be TEXTFILE, ORC, PARQUET, etc.
+
+* **TBLPROPERTIES**
+
+    Table properties that have to be set are specified, such as `created.by.user`, `owner`, etc.
+
+* **LOCATION**
+
+    Path to the directory where table data is stored, which could be a path on distributed storage like HDFS, etc. Location to create an external table.
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- Create table using an existing table
 CREATE TABLE Student_Dupli like Student;
 
@@ -90,10 +79,10 @@ CREATE TABLE Student_Dupli like Student
     ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
     STORED AS TEXTFILE
     TBLPROPERTIES ('owner'='xxxx');
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [CREATE TABLE USING DATASOURCE](sql-ref-syntax-ddl-create-table-datasource.html)
- * [CREATE TABLE USING HIVE FORMAT](sql-ref-syntax-ddl-create-table-hiveformat.html)
+* [CREATE TABLE USING DATASOURCE](sql-ref-syntax-ddl-create-table-datasource.html)
+* [CREATE TABLE USING HIVE FORMAT](sql-ref-syntax-ddl-create-table-hiveformat.html)
 
diff --git a/docs/sql-ref-syntax-ddl-create-table.md b/docs/sql-ref-syntax-ddl-create-table.md
index b0388ad..85dc202 100644
--- a/docs/sql-ref-syntax-ddl-create-table.md
+++ b/docs/sql-ref-syntax-ddl-create-table.md
@@ -25,11 +25,11 @@ license: |
 
 The CREATE statements:
 
- * [CREATE TABLE USING DATA_SOURCE](sql-ref-syntax-ddl-create-table-datasource.html)
- * [CREATE TABLE USING HIVE FORMAT](sql-ref-syntax-ddl-create-table-hiveformat.html)
- * [CREATE TABLE LIKE](sql-ref-syntax-ddl-create-table-like.html)
+* [CREATE TABLE USING DATA_SOURCE](sql-ref-syntax-ddl-create-table-datasource.html)
+* [CREATE TABLE USING HIVE FORMAT](sql-ref-syntax-ddl-create-table-hiveformat.html)
+* [CREATE TABLE LIKE](sql-ref-syntax-ddl-create-table-like.html)
 
 ### Related Statements
 
- * [ALTER TABLE](sql-ref-syntax-ddl-alter-table.html)
- * [DROP TABLE](sql-ref-syntax-ddl-drop-table.html)
+* [ALTER TABLE](sql-ref-syntax-ddl-alter-table.html)
+* [DROP TABLE](sql-ref-syntax-ddl-drop-table.html)
diff --git a/docs/sql-ref-syntax-ddl-create-view.md b/docs/sql-ref-syntax-ddl-create-view.md
index ba8c1df..1a9c1f6 100644
--- a/docs/sql-ref-syntax-ddl-create-view.md
+++ b/docs/sql-ref-syntax-ddl-create-view.md
@@ -27,55 +27,47 @@ a virtual table that has no physical data therefore other operations like
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 CREATE [ OR REPLACE ] [ [ GLOBAL ] TEMPORARY ] VIEW [ IF NOT EXISTS ] view_identifier
     create_view_clauses AS query
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>OR REPLACE</em></code></dt>
-  <dd>If a view of same name already exists, it will be replaced.</dd>
-</dl>
-<dl>
-  <dt><code><em>[ GLOBAL ] TEMPORARY</em></code></dt>
-  <dd>TEMPORARY views are session-scoped and will be dropped when session ends 
-      because it skips persisting the definition in the underlying metastore, if any.
-      GLOBAL TEMPORARY views are tied to a system preserved temporary database <code>global_temp</code>.</dd>
-</dl>
-<dl>
-  <dt><code><em>IF NOT EXISTS</em></code></dt>
-  <dd>Creates a view if it does not exists.</dd>
-</dl>
-<dl>
-  <dt><code><em>view_identifier</em></code></dt>
-  <dd>
-    Specifies a view name, which may be optionally qualified with a database name.<br><br>
-    <b> Syntax:</b>
-      <code>
-        [ database_name. ] view_name
-      </code>
-  </dd>
-</dl>
-<dl>
-  <dt><code><em>create_view_clauses</em></code></dt>
-  <dd>These clauses are optional and order insensitive. It can be of following formats.
-    <ul>
-      <li><code>[ ( column_name [ COMMENT column_comment ], ... ) ]</code> to specify column-level comments.</li>
-      <li><code>[ COMMENT view_comment ]</code> to specify view-level comments.</li>
-      <li><code>[ TBLPROPERTIES ( property_name = property_value [ , ... ] ) ]</code> to add metadata key-value pairs.</li>
-    </ul>  
-  </dd>
-</dl>
-<dl>
-  <dt><code><em>query</em></code></dt>
-  <dd>A <a href="sql-ref-syntax-qry-select.html">SELECT</a> statement that constructs the view from base tables or other views.</dd>
-</dl>
+* **OR REPLACE**
+
+    If a view of same name already exists, it will be replaced.
+
+* **[ GLOBAL ] TEMPORARY**
+
+    TEMPORARY views are session-scoped and will be dropped when session ends
+    because it skips persisting the definition in the underlying metastore, if any.
+    GLOBAL TEMPORARY views are tied to a system preserved temporary database `global_temp`.
+
+* **IF NOT EXISTS**
+
+    Creates a view if it does not exist.
+
+* **view_identifier**
+
+    Specifies a view name, which may be optionally qualified with a database name.
+
+    **Syntax:** `[ database_name. ] view_name`
+
+* **create_view_clauses**
+
+    These clauses are optional and order insensitive. It can be of following formats.
+
+    * `[ ( column_name [ COMMENT column_comment ], ... ) ]` to specify column-level comments.
+    * `[ COMMENT view_comment ]` to specify view-level comments.
+    * `[ TBLPROPERTIES ( property_name = property_value [ , ... ] ) ]` to add metadata key-value pairs.
+
+* **query**
+  A [SELECT](sql-ref-syntax-qry-select.html) statement that constructs the view from base tables or other views.
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- Create or replace view for `experienced_employee` with comments.
 CREATE OR REPLACE VIEW experienced_employee
     (ID COMMENT 'Unique identification number', Name) 
@@ -88,10 +80,10 @@ CREATE GLOBAL TEMPORARY VIEW IF NOT EXISTS subscribed_movies
     AS SELECT mo.member_id, mb.full_name, mo.movie_title
         FROM movies AS mo INNER JOIN members AS mb 
         ON mo.member_id = mb.id;
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [ALTER VIEW](sql-ref-syntax-ddl-alter-view.html)
- * [DROP VIEW](sql-ref-syntax-ddl-drop-view.html)
- * [SHOW VIEWS](sql-ref-syntax-aux-show-views.html)
+* [ALTER VIEW](sql-ref-syntax-ddl-alter-view.html)
+* [DROP VIEW](sql-ref-syntax-ddl-drop-view.html)
+* [SHOW VIEWS](sql-ref-syntax-aux-show-views.html)
diff --git a/docs/sql-ref-syntax-ddl-drop-database.md b/docs/sql-ref-syntax-ddl-drop-database.md
index 7467e7a..4a3bc0c 100644
--- a/docs/sql-ref-syntax-ddl-drop-database.md
+++ b/docs/sql-ref-syntax-ddl-drop-database.md
@@ -26,35 +26,31 @@ exception will be thrown if the database does not exist in the system.
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 DROP { DATABASE | SCHEMA } [ IF EXISTS ] dbname [ RESTRICT | CASCADE ]
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>DATABASE | SCHEMA</em></code></dt>
-  <dd><code>DATABASE</code> and <code>SCHEMA</code> mean the same thing, either of them can be used.</dd>
-</dl>
+* **DATABASE `|` SCHEMA**
 
-<dl>
-  <dt><code><em>IF EXISTS</em></code></dt>
-  <dd>If specified, no exception is thrown when the database does not exist.</dd>
-</dl>
+    `DATABASE` and `SCHEMA` mean the same thing, either of them can be used.
 
-<dl>
-  <dt><code><em>RESTRICT</em></code></dt>
-  <dd>If specified, will restrict dropping a non-empty database and is enabled by default.</dd>
-</dl>
+* **IF EXISTS**
 
-<dl>
-  <dt><code><em>CASCADE</em></code></dt>
-  <dd>If specified, will drop all the associated tables and functions.</dd>
-</dl>
+    If specified, no exception is thrown when the database does not exist.
+
+* **RESTRICT**
+
+    If specified, will restrict dropping a non-empty database and is enabled by default.
+
+* **CASCADE**
+
+    If specified, will drop all the associated tables and functions.
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- Create `inventory_db` Database
 CREATE DATABASE inventory_db COMMENT 'This database is used to maintain Inventory';
 
@@ -63,10 +59,10 @@ DROP DATABASE inventory_db CASCADE;
 
 -- Drop the database using IF EXISTS
 DROP DATABASE IF EXISTS inventory_db CASCADE;
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [CREATE DATABASE](sql-ref-syntax-ddl-create-database.html)
- * [DESCRIBE DATABASE](sql-ref-syntax-aux-describe-database.html)
- * [SHOW DATABASES](sql-ref-syntax-aux-show-databases.html)
+* [CREATE DATABASE](sql-ref-syntax-ddl-create-database.html)
+* [DESCRIBE DATABASE](sql-ref-syntax-aux-describe-database.html)
+* [SHOW DATABASES](sql-ref-syntax-aux-show-databases.html)
diff --git a/docs/sql-ref-syntax-ddl-drop-function.md b/docs/sql-ref-syntax-ddl-drop-function.md
index 66a405c..bef31d7 100644
--- a/docs/sql-ref-syntax-ddl-drop-function.md
+++ b/docs/sql-ref-syntax-ddl-drop-function.md
@@ -26,39 +26,32 @@ be thrown if the function does not exist.
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 DROP [ TEMPORARY ] FUNCTION [ IF EXISTS ] function_name
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>function_name</em></code></dt>
-  <dd>
+* **function_name**
+
     Specifies the name of an existing function. The function name may be
-    optionally qualified with a database name. <br><br>
-    <b>Syntax:</b>
-      <code>
-        [ database_name. ] function_name
-      </code>
-  </dd>
-</dl>
-
-<dl>
-  <dt><code><em>TEMPORARY</em></code></dt>
-  <dd>Should be used to delete the <code>TEMPORARY</code> function.</dd>
-</dl>
-
-<dl>
-  <dt><code><em>IF EXISTS</em></code></dt>
-  <dd>If specified, no exception is thrown when the function does not exist.</dd>
-</dl>
+    optionally qualified with a database name.
+
+    **Syntax:** `[ database_name. ] function_name`
+
+* **TEMPORARY**
+
+    Should be used to delete the `TEMPORARY` function.
+
+* **IF EXISTS**
+
+    If specified, no exception is thrown when the function does not exist.
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- Create a permanent function `test_avg`
-CREATE FUNCTION test_avg as 'org.apache.hadoop.hive.ql.udf.generic.GenericUDAFAverage';
+CREATE FUNCTION test_avg AS 'org.apache.hadoop.hive.ql.udf.generic.GenericUDAFAverage';
 
 -- List user functions
 SHOW USER FUNCTIONS;
@@ -86,9 +79,9 @@ DROP FUNCTION test_avg;
 
 -- Try to drop Permanent function which is not present
 DROP FUNCTION test_avg;
-  Error: Error running query:
-  org.apache.spark.sql.catalyst.analysis.NoSuchPermanentFunctionException:
-  Function 'default.test_avg' not found in database 'default'; (state=,code=0)
+Error: Error running query:
+org.apache.spark.sql.catalyst.analysis.NoSuchPermanentFunctionException:
+Function 'default.test_avg' not found in database 'default'; (state=,code=0)
 
 -- List the functions after dropping, it should list only temporary function
 SHOW USER FUNCTIONS;
@@ -100,10 +93,10 @@ SHOW USER FUNCTIONS;
   
 -- Drop Temporary function
 DROP TEMPORARY FUNCTION IF EXISTS test_avg;
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [CREATE FUNCTION](sql-ref-syntax-ddl-create-function.html)
- * [DESCRIBE FUNCTION](sql-ref-syntax-aux-describe-function.html)
- * [SHOW FUNCTION](sql-ref-syntax-aux-show-functions.html)
+* [CREATE FUNCTION](sql-ref-syntax-ddl-create-function.html)
+* [DESCRIBE FUNCTION](sql-ref-syntax-aux-describe-function.html)
+* [SHOW FUNCTION](sql-ref-syntax-aux-show-functions.html)
diff --git a/docs/sql-ref-syntax-ddl-drop-table.md b/docs/sql-ref-syntax-ddl-drop-table.md
index c943b92..a15a992 100644
--- a/docs/sql-ref-syntax-ddl-drop-table.md
+++ b/docs/sql-ref-syntax-ddl-drop-table.md
@@ -28,49 +28,44 @@ In case of an external table, only the associated metadata information is remove
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 DROP TABLE [ IF EXISTS ] table_identifier
-{% endhighlight %}
+```
 
 ### Parameter
 
-<dl>
-  <dt><code><em>IF EXISTS</em></code></dt>
-  <dd>
-     If specified, no exception is thrown when the table does not exists.
-  </dd>
-  <dt><code><em>table_identifier</em></code></dt>
-  <dd>
-    Specifies the table name to be dropped. The table name may be optionally qualified with a database name.<br><br>
-    <b>Syntax:</b>
-      <code>
-        [ database_name. ] table_name
-      </code>
-  </dd>
-</dl>
+* **IF EXISTS**
+
+    If specified, no exception is thrown when the table does not exist.
+
+* **table_identifier**
+
+    Specifies the table name to be dropped. The table name may be optionally qualified with a database name.
+
+    **Syntax:** `[ database_name. ] table_name`
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- Assumes a table named `employeetable` exists.
 DROP TABLE employeetable;
 
 -- Assumes a table named `employeetable` exists in the `userdb` database
 DROP TABLE userdb.employeetable;
 
--- Assumes a table named `employeetable` does not exists.
+-- Assumes a table named `employeetable` does not exist.
 -- Throws exception
 DROP TABLE employeetable;
-  Error: org.apache.spark.sql.AnalysisException: Table or view not found: employeetable;
-  (state=,code=0)
+Error: org.apache.spark.sql.AnalysisException: Table or view not found: employeetable;
+(state=,code=0)
 
--- Assumes a table named `employeetable` does not exists,Try with IF EXISTS
+-- Assumes a table named `employeetable` does not exist,Try with IF EXISTS
 -- this time it will not throw exception
 DROP TABLE IF EXISTS employeetable;
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [CREATE TABLE](sql-ref-syntax-ddl-create-table.html)
- * [CREATE DATABASE](sql-ref-syntax-ddl-create-database.html)
- * [DROP DATABASE](sql-ref-syntax-ddl-drop-database.html)
+* [CREATE TABLE](sql-ref-syntax-ddl-create-table.html)
+* [CREATE DATABASE](sql-ref-syntax-ddl-create-database.html)
+* [DROP DATABASE](sql-ref-syntax-ddl-drop-database.html)
diff --git a/docs/sql-ref-syntax-ddl-drop-view.md b/docs/sql-ref-syntax-ddl-drop-view.md
index ad018b5..5b680d7 100644
--- a/docs/sql-ref-syntax-ddl-drop-view.md
+++ b/docs/sql-ref-syntax-ddl-drop-view.md
@@ -25,51 +25,46 @@ license: |
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 DROP VIEW [ IF EXISTS ] view_identifier
-{% endhighlight %}
+```
 
 ### Parameter
 
-<dl>
-  <dt><code><em>IF EXISTS</em></code></dt>
-  <dd>
-     If specified, no exception is thrown when the view does not exists.
-  </dd>
-  <dt><code><em>view_identifier</em></code></dt>
-  <dd>
-    Specifies the view name to be dropped. The view name may be optionally qualified with a database name.<br><br>
-    <b> Syntax:</b>
-      <code>
-        [ database_name. ] view_name
-      </code>
-  </dd>
-</dl>
+* **IF EXISTS**
+
+    If specified, no exception is thrown when the view does not exist.
+
+* **view_identifier**
+
+    Specifies the view name to be dropped. The view name may be optionally qualified with a database name.
+
+    **Syntax:** `[ database_name. ] view_name`
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- Assumes a view named `employeeView` exists.
 DROP VIEW employeeView;
 
 -- Assumes a view named `employeeView` exists in the `userdb` database
 DROP VIEW userdb.employeeView;
 
--- Assumes a view named `employeeView` does not exists.
+-- Assumes a view named `employeeView` does not exist.
 -- Throws exception
 DROP VIEW employeeView;
-  Error: org.apache.spark.sql.AnalysisException: Table or view not found: employeeView;
-  (state=,code=0)
+Error: org.apache.spark.sql.AnalysisException: Table or view not found: employeeView;
+(state=,code=0)
 
--- Assumes a view named `employeeView` does not exists,Try with IF EXISTS
+-- Assumes a view named `employeeView` does not exist,Try with IF EXISTS
 -- this time it will not throw exception
 DROP VIEW IF EXISTS employeeView;
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [CREATE VIEW](sql-ref-syntax-ddl-create-view.html)
- * [ALTER VIEW](sql-ref-syntax-ddl-alter-view.html)
- * [SHOW VIEWS](sql-ref-syntax-aux-show-views.html)
- * [CREATE DATABASE](sql-ref-syntax-ddl-create-database.html)
- * [DROP DATABASE](sql-ref-syntax-ddl-drop-database.html)
+* [CREATE VIEW](sql-ref-syntax-ddl-create-view.html)
+* [ALTER VIEW](sql-ref-syntax-ddl-alter-view.html)
+* [SHOW VIEWS](sql-ref-syntax-aux-show-views.html)
+* [CREATE DATABASE](sql-ref-syntax-ddl-create-database.html)
+* [DROP DATABASE](sql-ref-syntax-ddl-drop-database.html)
diff --git a/docs/sql-ref-syntax-ddl-repair-table.md b/docs/sql-ref-syntax-ddl-repair-table.md
index c48b731..c2ef0a7 100644
--- a/docs/sql-ref-syntax-ddl-repair-table.md
+++ b/docs/sql-ref-syntax-ddl-repair-table.md
@@ -25,26 +25,21 @@ license: |
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 MSCK REPAIR TABLE table_identifier
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>table_identifier</em></code></dt>
-  <dd>
-    Specifies the name of the table to be repaired. The table name may be optionally qualified with a database name.<br><br>
-    <b>Syntax:</b>
-      <code>
-        [ database_name. ] table_name
-      </code>
-  </dd>
-</dl>
+* **table_identifier**
+
+    Specifies the name of the table to be repaired. The table name may be optionally qualified with a database name.
+
+    **Syntax:** `[ database_name. ] table_name`
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- create a partitioned table from existing data /tmp/namesAndAges.parquet
 CREATE TABLE t1 (name STRING, age INT) USING parquet PARTITIONED BY (age)
     LOCATION "/tmp/namesAndAges.parquet";
@@ -66,8 +61,8 @@ SELECT * FROM t1;
 +-------+---+
 |   Andy| 30|
 +-------+---+
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [ALTER TABLE](sql-ref-syntax-ddl-alter-table.html)
+* [ALTER TABLE](sql-ref-syntax-ddl-alter-table.html)
diff --git a/docs/sql-ref-syntax-ddl-truncate-table.md b/docs/sql-ref-syntax-ddl-truncate-table.md
index 820f439..6139814 100644
--- a/docs/sql-ref-syntax-ddl-truncate-table.md
+++ b/docs/sql-ref-syntax-ddl-truncate-table.md
@@ -27,37 +27,28 @@ in `partition_spec`. If no `partition_spec` is specified it will remove all part
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 TRUNCATE TABLE table_identifier [ partition_spec ]
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>table_identifier</em></code></dt>
-  <dd>
-    Specifies a table name, which may be optionally qualified with a database name.<br><br>
-    <b>Syntax:</b>
-      <code>
-        [ database_name. ] table_name
-      </code>
-  </dd>
-</dl>
-<dl>
-  <dt><code><em>partition_spec</em></code></dt>
-  <dd>
+* **table_identifier**
+
+    Specifies a table name, which may be optionally qualified with a database name.
+
+    **Syntax:** `[ database_name. ] table_name`
+
+* **partition_spec**
+
     An optional parameter that specifies a comma separated list of key and value pairs
-    for partitions.<br><br>
-    <b>Syntax:</b>
-      <code>
-        PARTITION ( partition_col_name  = partition_col_val [ , ... ] )
-      </code>
-  </dd>
-</dl>
+    for partitions.
+
+    **Syntax:** `PARTITION ( partition_col_name  = partition_col_val [ , ... ] )`
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- Create table Student with partition
 CREATE TABLE Student (name STRING, rollno INT) PARTITIONED BY (age INT);
 
@@ -89,9 +80,9 @@ SELECT * FROM Student;
 |name|rollno|age|
 +----+------+---+
 +----+------+---+
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [DROP TABLE](sql-ref-syntax-ddl-drop-table.html)
- * [ALTER TABLE](sql-ref-syntax-ddl-alter-table.html)
+* [DROP TABLE](sql-ref-syntax-ddl-drop-table.html)
+* [ALTER TABLE](sql-ref-syntax-ddl-alter-table.html)
diff --git a/docs/sql-ref-syntax-dml-insert-into.md b/docs/sql-ref-syntax-dml-insert-into.md
index 924831f..ed5da2b 100644
--- a/docs/sql-ref-syntax-dml-insert-into.md
+++ b/docs/sql-ref-syntax-dml-insert-into.md
@@ -25,57 +25,43 @@ The `INSERT INTO` statement inserts new rows into a table. The inserted rows can
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 INSERT INTO [ TABLE ] table_identifier [ partition_spec ]
     { VALUES ( { value | NULL } [ , ... ] ) [ , ( ... ) ] | query }
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>table_identifier</em></code></dt>
-  <dd>
-    Specifies a table name, which may be optionally qualified with a database name.<br><br>
-    <b>Syntax:</b>
-      <code>
-        [ database_name. ] table_name
-      </code>
-  </dd>
-</dl>
-
-<dl>
-  <dt><code><em>partition_spec</em></code></dt>
-  <dd>
+* **table_identifier**
+
+    Specifies a table name, which may be optionally qualified with a database name.
+
+    **Syntax:** `[ database_name. ] table_name`
+
+* **partition_spec**
+
     An optional parameter that specifies a comma separated list of key and value pairs
-    for partitions.<br><br>
-    <b>Syntax:</b>
-      <code>
-        PARTITION ( partition_col_name  = partition_col_val [ , ... ] )
-      </code>
-  </dd>
-</dl>
-
-<dl>
-  <dt><code><em>VALUES ( { value | NULL } [ , ... ] ) [ , ( ... ) ]</em></code></dt>
-  <dd>Specifies the values to be inserted. Either an explicitly specified value or a NULL can be inserted. A comma must be used to separate each value in the clause. More than one set of values can be specified to insert multiple rows.</dd>
-</dl>
-
-<dl>
-  <dt><code><em>query</em></code></dt>
-  <dd>A query that produces the rows to be inserted. It can be in one of following formats:
-    <ul>
-      <li>a <code>SELECT</code> statement</li>
-      <li>a <code>TABLE</code> statement</li>
-      <li>a <code>FROM</code> statement</li>
-    </ul>
-   </dd>
-</dl>
+    for partitions.
+
+    **Syntax:** `PARTITION ( partition_col_name  = partition_col_val [ , ... ] )`
+
+* **VALUES ( { value `|` NULL } [ , ... ] ) [ , ( ... ) ]**
+
+    Specifies the values to be inserted. Either an explicitly specified value or a NULL can be inserted.
+    A comma must be used to separate each value in the clause. More than one set of values can be specified to insert multiple rows.
+
+* **query**
+
+    A query that produces the rows to be inserted. It can be in one of following formats:
+    * a `SELECT` statement
+    * a `TABLE` statement
+    * a `FROM` statement
 
 ### Examples
 
 #### Single Row Insert Using a VALUES Clause
 
-{% highlight sql %}
+```sql
 CREATE TABLE students (name VARCHAR(64), address VARCHAR(64), student_id INT)
     USING PARQUET PARTITIONED BY (student_id);
 
@@ -88,11 +74,11 @@ SELECT * FROM students;
 +---------+---------------------+----------+
 |Amy Smith|123 Park Ave,San Jose|    111111|
 +---------+---------------------+----------+
-{% endhighlight %}
+```
 
 #### Multi-Row Insert Using a VALUES Clause
 
-{% highlight sql %}
+```sql
 INSERT INTO students VALUES
     ('Bob Brown', '456 Taylor St, Cupertino', 222222),
     ('Cathy Johnson', '789 Race Ave, Palo Alto', 333333);
@@ -107,11 +93,11 @@ SELECT * FROM students;
 +-------------+------------------------+----------+
 |Cathy Johnson| 789 Race Ave, Palo Alto|    333333|
 +--------------+-----------------------+----------+
-{% endhighlight %}
+```
 
 #### Insert Using a SELECT Statement
 
-{% highlight sql %}
+```sql
 -- Assuming the persons table has already been created and populated.
 SELECT * FROM persons;
 +-------------+-------------------------+---------+
@@ -137,11 +123,11 @@ SELECT * FROM students;
 +-------------+-------------------------+----------+
 |Dora Williams|134 Forest Ave, Melo Park|    444444|
 +-------------+-------------------------+----------+
-{% endhighlight %}
+```
 
 #### Insert Using a TABLE Statement
 
-{% highlight sql %}
+```sql
 -- Assuming the visiting_students table has already been created and populated.
 SELECT * FROM visiting_students;
 +-------------+---------------------+----------+
@@ -170,11 +156,11 @@ SELECT * FROM students;
 +-------------+-------------------------+----------+
 |Gordon Martin|     779 Lake Ave, Oxford|    888888|
 +-------------+-------------------------+----------+
-{% endhighlight %}
+```
 
 #### Insert Using a FROM Statement
 
-{% highlight sql %}
+```sql
 -- Assuming the applicants table has already been created and populated.
 SELECT * FROM applicants;
 +-----------+--------------------------+----------+---------+
@@ -210,10 +196,10 @@ SELECT * FROM students;
 +-------------+-------------------------+----------+
 |   Jason Wang|    908 Bird St, Saratoga|    121212|
 +-------------+-------------------------+----------+
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [INSERT OVERWRITE statement](sql-ref-syntax-dml-insert-overwrite-table.html)
- * [INSERT OVERWRITE DIRECTORY statement](sql-ref-syntax-dml-insert-overwrite-directory.html)
- * [INSERT OVERWRITE DIRECTORY with Hive format statement](sql-ref-syntax-dml-insert-overwrite-directory-hive.html)
+* [INSERT OVERWRITE statement](sql-ref-syntax-dml-insert-overwrite-table.html)
+* [INSERT OVERWRITE DIRECTORY statement](sql-ref-syntax-dml-insert-overwrite-directory.html)
+* [INSERT OVERWRITE DIRECTORY with Hive format statement](sql-ref-syntax-dml-insert-overwrite-directory-hive.html)
diff --git a/docs/sql-ref-syntax-dml-insert-overwrite-directory-hive.md b/docs/sql-ref-syntax-dml-insert-overwrite-directory-hive.md
index 3cd2107..8ed6a3c 100644
--- a/docs/sql-ref-syntax-dml-insert-overwrite-directory-hive.md
+++ b/docs/sql-ref-syntax-dml-insert-overwrite-directory-hive.md
@@ -26,56 +26,41 @@ Hive support must be enabled to use this command. The inserted rows can be speci
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 INSERT OVERWRITE [ LOCAL ] DIRECTORY directory_path
     [ ROW FORMAT row_format ] [ STORED AS file_format ]
     { VALUES ( { value | NULL } [ , ... ] ) [ , ( ... ) ] | query }
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>directory_path</em></code></dt>
-  <dd>
-  Specifies the destination directory. The <code>LOCAL</code> keyword is used to specify that the directory is on the local file system.
-  </dd>
-</dl>
-
-<dl>
-  <dt><code><em>row_format</em></code></dt>
-  <dd>
-  Specifies the row format for this insert. Valid options are <code>SERDE</code> clause and <code>DELIMITED</code> clause. <code>SERDE</code> clause can be used to specify a custom <code>SerDe</code> for this insert. Alternatively, <code>DELIMITED</code> clause can be used to specify the native <code>SerDe</code> and state the delimiter, escape character, null character, and so on.
-  </dd>
-</dl>
-
-<dl>
-  <dt><code><em>file_format</em></code></dt>
-  <dd>
-  Specifies the file format for this insert. Valid options are <code>TEXTFILE</code>, <code>SEQUENCEFILE</code>, <code>RCFILE</code>, <code>ORC</code>, <code>PARQUET</code>, and <code>AVRO</code>. You can also specify your own input and output format using <code>INPUTFORMAT</code> and <code>OUTPUTFORMAT</code>. <code>ROW FORMAT SERDE</code> can only be used with <code>TEXTFILE</code>, <code>SEQUENCEFILE</code>, or <code>RCFILE</code>, while <code>ROW FORMAT DELIMITED</code> can only be u [...]
-  </dd>
-</dl>
-
-<dl>
-  <dt><code><em>VALUES ( { value | NULL } [ , ... ] ) [ , ( ... ) ]</em></code></dt>
-  <dd>
-  Specifies the values to be inserted. Either an explicitly specified value or a NULL can be inserted. A comma must be used to separate each value in the clause. More than one set of values can be specified to insert multiple rows.
-  </dd>
-</dl>
-
-<dl>
-  <dt><code><em>query</em></code></dt>
-  <dd>A query that produces the rows to be inserted. It can be in one of following formats:
-    <ul>
-      <li>a <code>SELECT</code> statement</li>
-      <li>a <code>TABLE</code> statement</li>
-      <li>a <code>FROM</code> statement</li>
-    </ul>
-   </dd>
-</dl>
+* **directory_path**
+
+    Specifies the destination directory. The `LOCAL` keyword is used to specify that the directory is on the local file system.
+
+* **row_format**
+
+    Specifies the row format for this insert. Valid options are `SERDE` clause and `DELIMITED` clause. `SERDE` clause can be used to specify a custom `SerDe` for this insert. Alternatively, `DELIMITED` clause can be used to specify the native `SerDe` and state the delimiter, escape character, null character, and so on.
+
+* **file_format**
+
+    Specifies the file format for this insert. Valid options are `TEXTFILE`, `SEQUENCEFILE`, `RCFILE`, `ORC`, `PARQUET`, and `AVRO`. You can also specify your own input and output format using `INPUTFORMAT` and `OUTPUTFORMAT`. `ROW FORMAT SERDE` can only be used with `TEXTFILE`, `SEQUENCEFILE`, or `RCFILE`, while `ROW FORMAT DELIMITED` can only be used with `TEXTFILE`.
+
+* **VALUES ( { value `|` NULL } [ , ... ] ) [ , ( ... ) ]**
+
+    Specifies the values to be inserted. Either an explicitly specified value or a NULL can be inserted.
+    A comma must be used to separate each value in the clause. More than one set of values can be specified to insert multiple rows.
+
+* **query**
+
+    A query that produces the rows to be inserted. It can be in one of following formats:
+    * a `SELECT` statement
+    * a `TABLE` statement
+    * a `FROM` statement
 
 ### Examples
 
-{% highlight sql %}
+```sql
 INSERT OVERWRITE LOCAL DIRECTORY '/tmp/destination'
     STORED AS orc
     SELECT * FROM test_table;
@@ -83,10 +68,10 @@ INSERT OVERWRITE LOCAL DIRECTORY '/tmp/destination'
 INSERT OVERWRITE LOCAL DIRECTORY '/tmp/destination'
     ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
     SELECT * FROM test_table;
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [INSERT INTO statement](sql-ref-syntax-dml-insert-into.html)
- * [INSERT OVERWRITE statement](sql-ref-syntax-dml-insert-overwrite-table.html)
- * [INSERT OVERWRITE DIRECTORY statement](sql-ref-syntax-dml-insert-overwrite-directory.html)
+* [INSERT INTO statement](sql-ref-syntax-dml-insert-into.html)
+* [INSERT OVERWRITE statement](sql-ref-syntax-dml-insert-overwrite-table.html)
+* [INSERT OVERWRITE DIRECTORY statement](sql-ref-syntax-dml-insert-overwrite-directory.html)
diff --git a/docs/sql-ref-syntax-dml-insert-overwrite-directory.md b/docs/sql-ref-syntax-dml-insert-overwrite-directory.md
index 6ce7f50..fd7437d 100644
--- a/docs/sql-ref-syntax-dml-insert-overwrite-directory.md
+++ b/docs/sql-ref-syntax-dml-insert-overwrite-directory.md
@@ -25,54 +25,42 @@ The `INSERT OVERWRITE DIRECTORY` statement overwrites the existing data in the d
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 INSERT OVERWRITE [ LOCAL ] DIRECTORY [ directory_path ]
     USING file_format [ OPTIONS ( key = val [ , ... ] ) ]
     { VALUES ( { value | NULL } [ , ... ] ) [ , ( ... ) ] | query }
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>directory_path</em></code></dt>
-  <dd>
-  Specifies the destination directory. It can also be specified in <code>OPTIONS</code> using <code>path</code>. The <code>LOCAL</code> keyword is used to specify that the directory is on the local file system.
-  </dd>
-</dl>
-
-<dl>
-  <dt><code><em>file_format</em></code></dt>
-  <dd>
-  Specifies the file format to use for the insert. Valid options are <code>TEXT</code>, <code>CSV</code>, <code>JSON</code>, <code>JDBC</code>, <code>PARQUET</code>, <code>ORC</code>, <code>HIVE</code>, <code>LIBSVM</code>, or a fully qualified class name of a custom implementation of <code>org.apache.spark.sql.execution.datasources.FileFormat</code>.
-  </dd>
-</dl>
-
-<dl>
-  <dt><code><em>OPTIONS ( key = val [ , ... ] )</em></code></dt>
-  <dd>Specifies one or more options for the writing of the file format.</dd>
-</dl>
-
-<dl>
-  <dt><code><em>VALUES ( { value | NULL } [ , ... ] ) [ , ( ... ) ]</em></code></dt>
-  <dd>
-  Specifies the values to be inserted. Either an explicitly specified value or a NULL can be inserted. A comma must be used to separate each value in the clause. More than one set of values can be specified to insert multiple rows.
-  </dd>
-</dl>
-
-<dl>
-  <dt><code><em>query</em></code></dt>
-  <dd>A query that produces the rows to be inserted. It can be in one of following formats:
-    <ul>
-      <li>a <code>SELECT</code> statement</li>
-      <li>a <code>TABLE</code> statement</li>
-      <li>a <code>FROM</code> statement</li>
-    </ul>
-   </dd>
-</dl>
+* **directory_path**
+
+    Specifies the destination directory. It can also be specified in `OPTIONS` using `path`.
+    The `LOCAL` keyword is used to specify that the directory is on the local file system.
+
+* **file_format**
+
+    Specifies the file format to use for the insert. Valid options are `TEXT`, `CSV`, `JSON`, `JDBC`, `PARQUET`, `ORC`, `HIVE`, `LIBSVM`, or a fully qualified class name of a custom implementation of `org.apache.spark.sql.execution.datasources.FileFormat`.
+
+* **OPTIONS ( key = val [ , ... ] )**
+
+    Specifies one or more options for the writing of the file format.
+
+* **VALUES ( { value `|` NULL } [ , ... ] ) [ , ( ... ) ]**
+
+    Specifies the values to be inserted. Either an explicitly specified value or a NULL can be inserted.
+    A comma must be used to separate each value in the clause. More than one set of values can be specified to insert multiple rows.
+
+* **query**
+
+    A query that produces the rows to be inserted. It can be in one of following formats:
+    * a `SELECT` statement
+    * a `TABLE` statement
+    * a `FROM` statement
 
 ### Examples
 
-{% highlight sql %}
+```sql
 INSERT OVERWRITE DIRECTORY '/tmp/destination'
     USING parquet
     OPTIONS (col1 1, col2 2, col3 'test')
@@ -82,10 +70,10 @@ INSERT OVERWRITE DIRECTORY
     USING parquet
     OPTIONS ('path' '/tmp/destination', col1 1, col2 2, col3 'test')
     SELECT * FROM test_table;
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [INSERT INTO statement](sql-ref-syntax-dml-insert-into.html)
- * [INSERT OVERWRITE statement](sql-ref-syntax-dml-insert-overwrite-table.html)
- * [INSERT OVERWRITE DIRECTORY with Hive format statement](sql-ref-syntax-dml-insert-overwrite-directory-hive.html)
+* [INSERT INTO statement](sql-ref-syntax-dml-insert-into.html)
+* [INSERT OVERWRITE statement](sql-ref-syntax-dml-insert-overwrite-table.html)
+* [INSERT OVERWRITE DIRECTORY with Hive format statement](sql-ref-syntax-dml-insert-overwrite-directory-hive.html)
diff --git a/docs/sql-ref-syntax-dml-insert-overwrite-table.md b/docs/sql-ref-syntax-dml-insert-overwrite-table.md
index 5c760f0..ecfd060 100644
--- a/docs/sql-ref-syntax-dml-insert-overwrite-table.md
+++ b/docs/sql-ref-syntax-dml-insert-overwrite-table.md
@@ -25,57 +25,43 @@ The `INSERT OVERWRITE` statement overwrites the existing data in the table using
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 INSERT OVERWRITE [ TABLE ] table_identifier [ partition_spec [ IF NOT EXISTS ] ]
     { VALUES ( { value | NULL } [ , ... ] ) [ , ( ... ) ] | query }
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>table_identifier</em></code></dt>
-  <dd>
-    Specifies a table name, which may be optionally qualified with a database name.<br><br>
-    <b>Syntax:</b>
-      <code>
-        [ database_name. ] table_name
-      </code>
-  </dd>
-</dl>
-
-<dl>
-  <dt><code><em>partition_spec</em></code></dt>
-  <dd>
+* **table_identifier**
+
+    Specifies a table name, which may be optionally qualified with a database name.
+
+    **Syntax:** `[ database_name. ] table_name`
+
+* **partition_spec**
+
     An optional parameter that specifies a comma separated list of key and value pairs
-    for partitions.<br><br>
-    <b>Syntax:</b>
-      <code>
-        PARTITION ( partition_col_name [ = partition_col_val ] [ , ... ] )
-      </code>
-  </dd>
-</dl>
-
-<dl>
-  <dt><code><em>VALUES ( { value | NULL } [ , ... ] ) [ , ( ... ) ]</em></code></dt>
-  <dd>Specifies the values to be inserted. Either an explicitly specified value or a NULL can be inserted. A comma must be used to separate each value in the clause. More than one set of values can be specified to insert multiple rows.</dd>
-</dl>
-
-<dl>
-  <dt><code><em>query</em></code></dt>
-  <dd>A query that produces the rows to be inserted. It can be in one of following formats:
-    <ul>
-      <li>a <code>SELECT</code> statement</li>
-      <li>a <code>TABLE</code> statement</li>
-      <li>a <code>FROM</code> statement</li>
-    </ul>
-   </dd>
-</dl>
+    for partitions.
+
+    **Syntax:** `PARTITION ( partition_col_name [ = partition_col_val ] [ , ... ] )`
+
+* **VALUES ( { value `|` NULL } [ , ... ] ) [ , ( ... ) ]**
+
+    Specifies the values to be inserted. Either an explicitly specified value or a NULL can be inserted.
+    A comma must be used to separate each value in the clause. More than one set of values can be specified to insert multiple rows.
+
+* **query**
+
+    A query that produces the rows to be inserted. It can be in one of following formats:
+    * a `SELECT` statement
+    * a `TABLE` statement
+    * a `FROM` statement
 
 ### Examples
 
 #### Insert Using a VALUES Clause
 
-{% highlight sql %}
+```sql
 -- Assuming the students table has already been created and populated.
 SELECT * FROM students;
 +-------------+-------------------------+----------+
@@ -102,12 +88,11 @@ SELECT * FROM students;
 |Ashua Hill|456 Erica Ct, Cupertino|    111111|
 |Brian Reed|723 Kern Ave, Palo Alto|    222222|
 +----------+-----------------------+----------+
-
-{% endhighlight %}
+```
 
 #### Insert Using a SELECT Statement
 
-{% highlight sql %}
+```sql
 -- Assuming the persons table has already been created and populated.
 SELECT * FROM persons;
 +-------------+-------------------------+---------+
@@ -129,11 +114,11 @@ SELECT * FROM students;
 +-------------+-------------------------+----------+
 |Dora Williams|134 Forest Ave, Melo Park|    222222|
 +-------------+-------------------------+----------+
-{% endhighlight %}
+```
 
 #### Insert Using a TABLE Statement
 
-{% highlight sql %}
+```sql
 -- Assuming the visiting_students table has already been created and populated.
 SELECT * FROM visiting_students;
 +-------------+---------------------+----------+
@@ -154,11 +139,11 @@ SELECT * FROM students;
 +-------------+---------------------+----------+
 |Gordon Martin| 779 Lake Ave, Oxford|    888888|
 +-------------+---------------------+----------+
-{% endhighlight %}
+```
 
 #### Insert Using a FROM Statement
 
-{% highlight sql %}
+```sql
 -- Assuming the applicants table has already been created and populated.
 SELECT * FROM applicants;
 +-----------+--------------------------+----------+---------+
@@ -182,10 +167,10 @@ SELECT * FROM students;
 +-----------+-------------------------+----------+
 | Jason Wang|    908 Bird St, Saratoga|    121212|
 +-----------+-------------------------+----------+
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [INSERT INTO statement](sql-ref-syntax-dml-insert-into.html)
- * [INSERT OVERWRITE DIRECTORY statement](sql-ref-syntax-dml-insert-overwrite-directory.html)
- * [INSERT OVERWRITE DIRECTORY with Hive format statement](sql-ref-syntax-dml-insert-overwrite-directory-hive.html)
+* [INSERT INTO statement](sql-ref-syntax-dml-insert-into.html)
+* [INSERT OVERWRITE DIRECTORY statement](sql-ref-syntax-dml-insert-overwrite-directory.html)
+* [INSERT OVERWRITE DIRECTORY with Hive format statement](sql-ref-syntax-dml-insert-overwrite-directory-hive.html)
diff --git a/docs/sql-ref-syntax-dml-insert.md b/docs/sql-ref-syntax-dml-insert.md
index 2345add..62f6dee 100644
--- a/docs/sql-ref-syntax-dml-insert.md
+++ b/docs/sql-ref-syntax-dml-insert.md
@@ -21,7 +21,7 @@ license: |
 
 The INSERT statements:
 
- * [INSERT INTO statement](sql-ref-syntax-dml-insert-into.html)
- * [INSERT OVERWRITE statement](sql-ref-syntax-dml-insert-overwrite-table.html)
- * [INSERT OVERWRITE DIRECTORY statement](sql-ref-syntax-dml-insert-overwrite-directory.html)
- * [INSERT OVERWRITE DIRECTORY with Hive format statement](sql-ref-syntax-dml-insert-overwrite-directory-hive.html)
+* [INSERT INTO statement](sql-ref-syntax-dml-insert-into.html)
+* [INSERT OVERWRITE statement](sql-ref-syntax-dml-insert-overwrite-table.html)
+* [INSERT OVERWRITE DIRECTORY statement](sql-ref-syntax-dml-insert-overwrite-directory.html)
+* [INSERT OVERWRITE DIRECTORY with Hive format statement](sql-ref-syntax-dml-insert-overwrite-directory-hive.html)
diff --git a/docs/sql-ref-syntax-dml-load.md b/docs/sql-ref-syntax-dml-load.md
index 01ece31..9381b42 100644
--- a/docs/sql-ref-syntax-dml-load.md
+++ b/docs/sql-ref-syntax-dml-load.md
@@ -25,53 +25,40 @@ license: |
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 LOAD DATA [ LOCAL ] INPATH path [ OVERWRITE ] INTO TABLE table_identifier [ partition_spec ]
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>path</em></code></dt>
-  <dd>Path of the file system. It can be either an absolute or a relative path.</dd>
-</dl>
-
-<dl>
-  <dt><code><em>table_identifier</em></code></dt>
-  <dd>
-    Specifies a table name, which may be optionally qualified with a database name.<br><br>
-    <b>Syntax:</b>
-      <code>
-        [ database_name. ] table_name
-      </code>
-  </dd>
-</dl>
-
-<dl>
-  <dt><code><em>partition_spec</em></code></dt>
-  <dd>
+* **path**
+
+    Path of the file system. It can be either an absolute or a relative path.
+
+* **table_identifier**
+
+    Specifies a table name, which may be optionally qualified with a database name.
+
+    **Syntax:** `[ database_name. ] table_name`
+
+* **partition_spec**
+
     An optional parameter that specifies a comma separated list of key and value pairs
-    for partitions.<br><br>
-    <b>Syntax:</b>
-      <code>
-        PARTITION ( partition_col_name = partition_col_val [ , ... ] )
-      </code>
-  </dd>
-</dl>
-
-<dl>
-  <dt><code><em>LOCAL</em></code></dt>
-  <dd>If specified, it causes the <code>INPATH</code> to be resolved against the local file system, instead of the default file system, which is typically a distributed storage.</dd>
-</dl>
-
-<dl>
-  <dt><code><em>OVERWRITE</em></code></dt>
-  <dd>By default, new data is appended to the table. If <code>OVERWRITE</code> is used, the table is instead overwritten with new data.</dd>
-</dl>
+    for partitions.
+
+    **Syntax:** `PARTITION ( partition_col_name = partition_col_val [ , ... ] )`
+
+* **LOCAL**
+
+    If specified, it causes the `INPATH` to be resolved against the local file system, instead of the default file system, which is typically a distributed storage.
+
+* **OVERWRITE**
+
+    By default, new data is appended to the table. If `OVERWRITE` is used, the table is instead overwritten with new data.
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- Example without partition specification.
 -- Assuming the students table has already been created and populated.
 SELECT * FROM students;
@@ -123,4 +110,4 @@ SELECT * FROM test_load_partition;
 +---+---+---+
 |  1|  2|  3|
 +---+---+---+
-{% endhighlight %}
+```
diff --git a/docs/sql-ref-syntax-dml.md b/docs/sql-ref-syntax-dml.md
index 9f75990..fc408e1 100644
--- a/docs/sql-ref-syntax-dml.md
+++ b/docs/sql-ref-syntax-dml.md
@@ -21,5 +21,5 @@ license: |
 
 Data Manipulation Statements are used to add, change, or delete data. Spark SQL supports the following Data Manipulation Statements:
 
- * [INSERT](sql-ref-syntax-dml-insert.html)
- * [LOAD](sql-ref-syntax-dml-load.html)
+* [INSERT](sql-ref-syntax-dml-insert.html)
+* [LOAD](sql-ref-syntax-dml-load.html)
diff --git a/docs/sql-ref-syntax-qry-explain.md b/docs/sql-ref-syntax-qry-explain.md
index 298a2ed..7b84264 100644
--- a/docs/sql-ref-syntax-qry-explain.md
+++ b/docs/sql-ref-syntax-qry-explain.md
@@ -26,46 +26,38 @@ By default, this clause provides information about a physical plan only.
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 EXPLAIN [ EXTENDED | CODEGEN | COST | FORMATTED ] statement
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>EXTENDED</em></code></dt>
-  <dd>Generates parsed logical plan, analyzed logical plan, optimized logical plan and physical plan.
-   Parsed Logical plan is a unresolved plan that extracted from the query.
-   Analyzed logical plans transforms which translates unresolvedAttribute and unresolvedRelation into fully typed objects.
-   The optimized logical plan transforms through a set of optimization rules, resulting in the physical plan.
-  </dd>
-</dl> 
-
-<dl>
-  <dt><code><em>CODEGEN</em></code></dt>
-  <dd>Generates code for the statement, if any and a physical plan.</dd>
-</dl>
-
-<dl>
-  <dt><code><em>COST</em></code></dt>
-  <dd>If plan node statistics are available, generates a logical plan and the statistics.</dd>
-</dl>
-
-<dl>
-  <dt><code><em>FORMATTED</em></code></dt>
-  <dd>Generates two sections: a physical plan outline and node details.</dd>
-</dl>
-
-<dl>
-  <dt><code><em>statement</em></code></dt>
-  <dd>
+* **EXTENDED**
+
+    Generates parsed logical plan, analyzed logical plan, optimized logical plan and physical plan.
+    Parsed Logical plan is a unresolved plan that extracted from the query.
+    Analyzed logical plans transforms which translates unresolvedAttribute and unresolvedRelation into fully typed objects.
+    The optimized logical plan transforms through a set of optimization rules, resulting in the physical plan.
+
+* **CODEGEN**
+
+    Generates code for the statement, if any and a physical plan.
+
+* **COST**
+
+    If plan node statistics are available, generates a logical plan and the statistics.
+
+* **FORMATTED**
+
+    Generates two sections: a physical plan outline and node details.
+
+* **statement**
+
     Specifies a SQL statement to be explained.
-  </dd>
- </dl>
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- Default Output
 EXPLAIN select k, sum(v) from values (1, 2), (1, 3) t(k, v) group by k;
 +----------------------------------------------------+
@@ -132,4 +124,4 @@ EXPLAIN FORMATTED select k, sum(v) from values (1, 2), (1, 3) t(k, v) group by k
  Input: [k#19, sum#24L]
 |
 +----------------------------------------------------+
-{% endhighlight %}
+```
diff --git a/docs/sql-ref-syntax-qry-sampling.md b/docs/sql-ref-syntax-qry-sampling.md
index 82f6588..f9c7b76 100644
--- a/docs/sql-ref-syntax-qry-sampling.md
+++ b/docs/sql-ref-syntax-qry-sampling.md
@@ -26,19 +26,19 @@ The `TABLESAMPLE` statement is used to sample the table. It supports the followi
   * `TABLESAMPLE`(x `PERCENT`): Sample the table down to the given percentage. Note that percentages are defined as a number between 0 and 100.
   * `TABLESAMPLE`(`BUCKET` x `OUT OF` y): Sample the table down to a `x` out of `y` fraction.
 
-Note: `TABLESAMPLE` returns the approximate number of rows or fraction requested.
+**Note:** `TABLESAMPLE` returns the approximate number of rows or fraction requested.
 
 ### Syntax
 
-{% highlight sql %}
-TABLESAMPLE ((integer_expression | decimal_expression) PERCENT)
-    | TABLESAMPLE (integer_expression ROWS)
-    | TABLESAMPLE (BUCKET integer_expression OUT OF integer_expression)
-{% endhighlight %}
+```sql
+TABLESAMPLE ({ integer_expression | decimal_expression } PERCENT)
+    | TABLESAMPLE ( integer_expression ROWS )
+    | TABLESAMPLE ( BUCKET integer_expression OUT OF integer_expression )
+```
 
 ### Examples
 
-{% highlight sql %}
+```sql
 SELECT * FROM test;
 +--+----+
 |id|name|
@@ -87,8 +87,8 @@ SELECT * FROM test TABLESAMPLE (BUCKET 4 OUT OF 10);
 | 9|Eric|
 | 6|Mark|
 +--+----+
-{% endhighlight %}
+```
 
-### Related Statement
+### Related Statements
 
-  * [SELECT](sql-ref-syntax-qry-select.html)
\ No newline at end of file
+* [SELECT](sql-ref-syntax-qry-select.html)
\ No newline at end of file
diff --git a/docs/sql-ref-syntax-qry-select-clusterby.md b/docs/sql-ref-syntax-qry-select-clusterby.md
index ac1e1cc..e3bd2ed 100644
--- a/docs/sql-ref-syntax-qry-select-clusterby.md
+++ b/docs/sql-ref-syntax-qry-select-clusterby.md
@@ -21,7 +21,7 @@ license: |
 
 ### Description
 
-The <code>CLUSTER BY</code> clause is used to first repartition the data based
+The `CLUSTER BY` clause is used to first repartition the data based
 on the input expressions and then sort the data within each partition. This is
 semantically equivalent to performing a
 [DISTRIBUTE BY](sql-ref-syntax-qry-select-distribute-by.html) followed by a
@@ -30,22 +30,19 @@ resultant rows are sorted within each partition and does not guarantee a total o
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 CLUSTER BY { expression [ , ... ] }
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>expression</em></code></dt>
-  <dd>
+* **expression**
+
     Specifies combination of one or more values, operators and SQL functions that results in a value.
-  </dd>
-</dl>
 
 ### Examples
 
-{% highlight sql %}
+```sql
 CREATE TABLE person (name STRING, age INT);
 INSERT INTO person VALUES
     ('Zen Hui', 25),
@@ -90,15 +87,15 @@ SELECT age, name FROM person CLUSTER BY age;
 | 16|Shone S|
 | 16| Jack N|
 +---+-------+
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [SELECT Main](sql-ref-syntax-qry-select.html)
- * [WHERE Clause](sql-ref-syntax-qry-select-where.html)
- * [GROUP BY Clause](sql-ref-syntax-qry-select-groupby.html)
- * [HAVING Clause](sql-ref-syntax-qry-select-having.html)
- * [ORDER BY Clause](sql-ref-syntax-qry-select-orderby.html)
- * [SORT BY Clause](sql-ref-syntax-qry-select-sortby.html)
- * [DISTRIBUTE BY Clause](sql-ref-syntax-qry-select-distribute-by.html)
- * [LIMIT Clause](sql-ref-syntax-qry-select-limit.html)
+* [SELECT Main](sql-ref-syntax-qry-select.html)
+* [WHERE Clause](sql-ref-syntax-qry-select-where.html)
+* [GROUP BY Clause](sql-ref-syntax-qry-select-groupby.html)
+* [HAVING Clause](sql-ref-syntax-qry-select-having.html)
+* [ORDER BY Clause](sql-ref-syntax-qry-select-orderby.html)
+* [SORT BY Clause](sql-ref-syntax-qry-select-sortby.html)
+* [DISTRIBUTE BY Clause](sql-ref-syntax-qry-select-distribute-by.html)
+* [LIMIT Clause](sql-ref-syntax-qry-select-limit.html)
diff --git a/docs/sql-ref-syntax-qry-select-cte.md b/docs/sql-ref-syntax-qry-select-cte.md
index 2408c88..351de64 100644
--- a/docs/sql-ref-syntax-qry-select-cte.md
+++ b/docs/sql-ref-syntax-qry-select-cte.md
@@ -25,33 +25,28 @@ A common table expression (CTE) defines a temporary result set that a user can r
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 WITH common_table_expression [ , ... ]
-{% endhighlight %}
+```
 
 While `common_table_expression` is defined as
-{% highlight sql %}
-expression_name [ ( column_name [ , ... ] ) ] [ AS ] ( [ common_table_expression ] query )
-{% endhighlight %}
+```sql
+expression_name [ ( column_name [ , ... ] ) ] [ AS ] ( query )
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>expression_name</em></code></dt>
-  <dd>
+* **expression_name**
+
     Specifies a name for the common table expression.
-  </dd>
-</dl>
-<dl>
-  <dt><code><em>query</em></code></dt>
-  <dd>
-    A <a href="sql-ref-syntax-qry-select.html">SELECT</a> statement.
-  </dd>
-</dl>
+
+* **query**
+
+    A [SELECT statement](sql-ref-syntax-qry-select.html).
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- CTE with multiple column aliases
 WITH t(x, y) AS (SELECT 1, 2)
 SELECT * FROM t WHERE x = 1 AND y = 2;
@@ -62,7 +57,7 @@ SELECT * FROM t WHERE x = 1 AND y = 2;
 +---+---+
 
 -- CTE in CTE definition
-WITH t as (
+WITH t AS (
     WITH t2 AS (SELECT 1)
     SELECT * FROM t2
 )
@@ -122,8 +117,8 @@ SELECT * FROM t2;
 +---+
 |  2|
 +---+
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [SELECT](sql-ref-syntax-qry-select.html)
+* [SELECT](sql-ref-syntax-qry-select.html)
diff --git a/docs/sql-ref-syntax-qry-select-distribute-by.md b/docs/sql-ref-syntax-qry-select-distribute-by.md
index 9e2db27..1fdfb91 100644
--- a/docs/sql-ref-syntax-qry-select-distribute-by.md
+++ b/docs/sql-ref-syntax-qry-select-distribute-by.md
@@ -21,28 +21,25 @@ license: |
 
 ### Description
 
-The <code>DISTRIBUTE BY</code> clause is used to repartition the data based
+The `DISTRIBUTE BY` clause is used to repartition the data based
 on the input expressions. Unlike the [CLUSTER BY](sql-ref-syntax-qry-select-clusterby.html)
 clause, this does not sort the data within each partition.
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 DISTRIBUTE BY { expression [ , ... ] }
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>expression</em></code></dt>
-  <dd>
+* **expression**
+
     Specifies combination of one or more values, operators and SQL functions that results in a value.
-  </dd>
-</dl>
 
 ### Examples
 
-{% highlight sql %}
+```sql
 CREATE TABLE person (name STRING, age INT);
 INSERT INTO person VALUES
     ('Zen Hui', 25),
@@ -85,15 +82,15 @@ SELECT age, name FROM person DISTRIBUTE BY age;
 | 16|Shone S|
 | 16| Jack N|
 +---+-------+
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [SELECT Main](sql-ref-syntax-qry-select.html)
- * [WHERE Clause](sql-ref-syntax-qry-select-where.html)
- * [GROUP BY Clause](sql-ref-syntax-qry-select-groupby.html)
- * [HAVING Clause](sql-ref-syntax-qry-select-having.html)
- * [ORDER BY Clause](sql-ref-syntax-qry-select-orderby.html)
- * [SORT BY Clause](sql-ref-syntax-qry-select-sortby.html)
- * [CLUSTER BY Clause](sql-ref-syntax-qry-select-clusterby.html)
- * [LIMIT Clause](sql-ref-syntax-qry-select-limit.html)
+* [SELECT Main](sql-ref-syntax-qry-select.html)
+* [WHERE Clause](sql-ref-syntax-qry-select-where.html)
+* [GROUP BY Clause](sql-ref-syntax-qry-select-groupby.html)
+* [HAVING Clause](sql-ref-syntax-qry-select-having.html)
+* [ORDER BY Clause](sql-ref-syntax-qry-select-orderby.html)
+* [SORT BY Clause](sql-ref-syntax-qry-select-sortby.html)
+* [CLUSTER BY Clause](sql-ref-syntax-qry-select-clusterby.html)
+* [LIMIT Clause](sql-ref-syntax-qry-select-limit.html)
diff --git a/docs/sql-ref-syntax-qry-select-groupby.md b/docs/sql-ref-syntax-qry-select-groupby.md
index 22fe782..bd9377e 100644
--- a/docs/sql-ref-syntax-qry-select-groupby.md
+++ b/docs/sql-ref-syntax-qry-select-groupby.md
@@ -21,84 +21,79 @@ license: |
 
 ### Description
 
-The <code>GROUP BY</code> clause is used to group the rows based on a set of specified grouping expressions and compute aggregations on
+The `GROUP BY` clause is used to group the rows based on a set of specified grouping expressions and compute aggregations on
 the group of rows based on one or more specified aggregate functions. Spark also supports advanced aggregations to do multiple
 aggregations for the same input record set via `GROUPING SETS`, `CUBE`, `ROLLUP` clauses.
 When a FILTER clause is attached to an aggregate function, only the matching rows are passed to that function.
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 GROUP BY group_expression [ , group_expression [ , ... ] ]
     [ { WITH ROLLUP | WITH CUBE | GROUPING SETS (grouping_set [ , ...]) } ]
 
 GROUP BY GROUPING SETS (grouping_set [ , ...])
-{% endhighlight %}
+```
 
 While aggregate functions are defined as
-{% highlight sql %}
+```sql
 aggregate_name ( [ DISTINCT ] expression [ , ... ] ) [ FILTER ( WHERE boolean_expression ) ]
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>GROUPING SETS</em></code></dt>
-  <dd>
+* **GROUPING SETS**
+
     Groups the rows for each subset of the expressions specified in the grouping sets. For example,
-    <code>GROUP BY GROUPING SETS (warehouse, product)</code> is semantically equivalent
-    to union of results of <code>GROUP BY warehouse</code> and <code>GROUP BY product</code>. This clause
-    is a shorthand for a <code>UNION ALL</code> where each leg of the <code>UNION ALL</code>
-    operator performs aggregation of subset of the columns specified in the <code>GROUPING SETS</code> clause.
-  </dd>
-  <dt><code><em>grouping_set</em></code></dt>
-  <dd>
-    A grouping set is specified by zero or more comma-separated expressions in parentheses.<br><br>
-    <b>Syntax:</b>
-      <code>
-        ([expression [, ...]])
-      </code>
-  </dd>
-  <dt><code><em>grouping_expression</em></code></dt>
-  <dd>
+    `GROUP BY GROUPING SETS (warehouse, product)` is semantically equivalent
+    to union of results of `GROUP BY warehouse` and `GROUP BY product`. This clause
+    is a shorthand for a `UNION ALL` where each leg of the `UNION ALL`
+    operator performs aggregation of subset of the columns specified in the `GROUPING SETS` clause.
+
+* **grouping_set**
+
+    A grouping set is specified by zero or more comma-separated expressions in parentheses.
+
+    **Syntax:** `( [ expression [ , ... ] ] )`
+
+* **grouping_expression**
+
     Specifies the critieria based on which the rows are grouped together. The grouping of rows is performed based on
     result values of the grouping expressions. A grouping expression may be a column alias, a column position
     or an expression.
-  </dd>
-  <dt><code><em>ROLLUP</em></code></dt>
-  <dd>
+
+* **ROLLUP**
+
     Specifies multiple levels of aggregations in a single statement. This clause is used to compute aggregations
-    based on multiple grouping sets. <code>ROLLUP</code> is a shorthand for <code>GROUPING SETS</code>. For example,
-    <code>GROUP BY warehouse, product WITH ROLLUP</code> is equivalent to <code>GROUP BY GROUPING SETS
-    ((warehouse, product), (warehouse), ())</code>.
-    The N elements of a <code>ROLLUP</code> specification results in N+1 <code>GROUPING SETS</code>.
-  </dd>
-  <dt><code><em>CUBE</em></code></dt>
-  <dd>
-    <code>CUBE</code> clause is used to perform aggregations based on combination of grouping columns specified in the
-    <code>GROUP BY</code> clause. <code>CUBE</code> is a shorthand for <code>GROUPING SETS</code>. For example,
-    <code>GROUP BY warehouse, product WITH CUBE</code> is equivalent to <code>GROUP BY GROUPING SETS
-    ((warehouse, product), (warehouse), (product), ())</code>.
-    The N elements of a <code>CUBE</code> specification results in 2^N <code>GROUPING SETS</code>.
-  </dd>
-  <dt><code><em>aggregate_name</em></code></dt>
-  <dd>
+    based on multiple grouping sets. `ROLLUP` is a shorthand for `GROUPING SETS`. For example,
+    `GROUP BY warehouse, product WITH ROLLUP` is equivalent to `GROUP BY GROUPING SETS
+    ((warehouse, product), (warehouse), ())`.
+    The N elements of a `ROLLUP` specification results in N+1 `GROUPING SETS`.
+
+* **CUBE**
+
+    `CUBE` clause is used to perform aggregations based on combination of grouping columns specified in the
+    `GROUP BY` clause. `CUBE` is a shorthand for `GROUPING SETS`. For example,
+    `GROUP BY warehouse, product WITH CUBE` is equivalent to `GROUP BY GROUPING SETS
+    ((warehouse, product), (warehouse), (product), ())`.
+    The N elements of a `CUBE` specification results in 2^N `GROUPING SETS`.
+
+* **aggregate_name**
+
     Specifies an aggregate function name (MIN, MAX, COUNT, SUM, AVG, etc.).
-  </dd>
-  <dt><code><em>DISTINCT</em></code></dt>
-  <dd>
+
+* **DISTINCT**
+
     Removes duplicates in input rows before they are passed to aggregate functions.
-  </dd>
-  <dt><code><em>FILTER</em></code></dt>
-  <dd>
-    Filters the input rows for which the <code>boolean_expression</code> in the <code>WHERE</code> clause evaluates
+
+* **FILTER**
+
+    Filters the input rows for which the `boolean_expression` in the `WHERE` clause evaluates
     to true are passed to the aggregate function; other rows are discarded.
-  </dd>
-</dl>
 
 ### Examples
 
-{% highlight sql %}
+```sql
 CREATE TABLE dealer (id INT, city STRING, car_model STRING, quantity INT);
 INSERT INTO dealer VALUES
     (100, 'Fremont', 'Honda Civic', 10),
@@ -174,106 +169,106 @@ SELECT id, sum(quantity) FILTER (
 SELECT city, car_model, sum(quantity) AS sum FROM dealer
     GROUP BY GROUPING SETS ((city, car_model), (city), (car_model), ())
     ORDER BY city;
-+--------+------------+---+
-|    city|   car_model|sum|
-+--------+------------+---+
-|    null|        null| 78|
-|    null| HondaAccord| 33|
-|    null|    HondaCRV| 10|
-|    null|  HondaCivic| 35|
-|  Dublin|        null| 33|
-|  Dublin| HondaAccord| 10|
-|  Dublin|    HondaCRV|  3|
-|  Dublin|  HondaCivic| 20|
-| Fremont|        null| 32|
-| Fremont| HondaAccord| 15|
-| Fremont|    HondaCRV|  7|
-| Fremont|  HondaCivic| 10|
-| SanJose|        null| 13|
-| SanJose| HondaAccord|  8|
-| SanJose|  HondaCivic|  5|
-+--------+------------+---+
++---------+------------+---+
+|     city|   car_model|sum|
++---------+------------+---+
+|     null|        null| 78|
+|     null| HondaAccord| 33|
+|     null|    HondaCRV| 10|
+|     null|  HondaCivic| 35|
+|   Dublin|        null| 33|
+|   Dublin| HondaAccord| 10|
+|   Dublin|    HondaCRV|  3|
+|   Dublin|  HondaCivic| 20|
+|  Fremont|        null| 32|
+|  Fremont| HondaAccord| 15|
+|  Fremont|    HondaCRV|  7|
+|  Fremont|  HondaCivic| 10|
+| San Jose|        null| 13|
+| San Jose| HondaAccord|  8|
+| San Jose|  HondaCivic|  5|
++---------+------------+---+
 
 -- Alternate syntax for `GROUPING SETS` in which both `GROUP BY` and `GROUPING SETS`
 -- specifications are present.
 SELECT city, car_model, sum(quantity) AS sum FROM dealer
     GROUP BY city, car_model GROUPING SETS ((city, car_model), (city), (car_model), ())
     ORDER BY city, car_model;
-+--------+------------+---+
-|    city|   car_model|sum|
-+--------+------------+---+
-|    null|        null| 78|
-|    null| HondaAccord| 33|
-|    null|    HondaCRV| 10|
-|    null|  HondaCivic| 35|
-|  Dublin|        null| 33|
-|  Dublin| HondaAccord| 10|
-|  Dublin|    HondaCRV|  3|
-|  Dublin|  HondaCivic| 20|
-| Fremont|        null| 32|
-| Fremont| HondaAccord| 15|
-| Fremont|    HondaCRV|  7|
-| Fremont|  HondaCivic| 10|
-| SanJose|        null| 13|
-| SanJose| HondaAccord|  8|
-| SanJose|  HondaCivic|  5|
-+--------+------------+---+
++---------+------------+---+
+|     city|   car_model|sum|
++---------+------------+---+
+|     null|        null| 78|
+|     null| HondaAccord| 33|
+|     null|    HondaCRV| 10|
+|     null|  HondaCivic| 35|
+|   Dublin|        null| 33|
+|   Dublin| HondaAccord| 10|
+|   Dublin|    HondaCRV|  3|
+|   Dublin|  HondaCivic| 20|
+|  Fremont|        null| 32|
+|  Fremont| HondaAccord| 15|
+|  Fremont|    HondaCRV|  7|
+|  Fremont|  HondaCivic| 10|
+| San Jose|        null| 13|
+| San Jose| HondaAccord|  8|
+| San Jose|  HondaCivic|  5|
++---------+------------+---+
 
 -- Group by processing with `ROLLUP` clause.
 -- Equivalent GROUP BY GROUPING SETS ((city, car_model), (city), ())
 SELECT city, car_model, sum(quantity) AS sum FROM dealer
     GROUP BY city, car_model WITH ROLLUP
     ORDER BY city, car_model;
-+--------+------------+---+
-|    city|   car_model|sum|
-+--------+------------+---+
-|    null|        null| 78|
-|  Dublin|        null| 33|
-|  Dublin| HondaAccord| 10|
-|  Dublin|    HondaCRV|  3|
-|  Dublin|  HondaCivic| 20|
-| Fremont|        null| 32|
-| Fremont| HondaAccord| 15|
-| Fremont|    HondaCRV|  7|
-| Fremont|  HondaCivic| 10|
-| SanJose|        null| 13|
-| SanJose| HondaAccord|  8|
-| SanJose|  HondaCivic|  5|
-+--------+------------+---+
++---------+------------+---+
+|     city|   car_model|sum|
++---------+------------+---+
+|     null|        null| 78|
+|   Dublin|        null| 33|
+|   Dublin| HondaAccord| 10|
+|   Dublin|    HondaCRV|  3|
+|   Dublin|  HondaCivic| 20|
+|  Fremont|        null| 32|
+|  Fremont| HondaAccord| 15|
+|  Fremont|    HondaCRV|  7|
+|  Fremont|  HondaCivic| 10|
+| San Jose|        null| 13|
+| San Jose| HondaAccord|  8|
+| San Jose|  HondaCivic|  5|
++---------+------------+---+
 
 -- Group by processing with `CUBE` clause.
 -- Equivalent GROUP BY GROUPING SETS ((city, car_model), (city), (car_model), ())
 SELECT city, car_model, sum(quantity) AS sum FROM dealer
     GROUP BY city, car_model WITH CUBE
     ORDER BY city, car_model;
-+--------+------------+---+
-|    city|   car_model|sum|
-+--------+------------+---+
-|    null|        null| 78|
-|    null| HondaAccord| 33|
-|    null|    HondaCRV| 10|
-|    null|  HondaCivic| 35|
-|  Dublin|        null| 33|
-|  Dublin| HondaAccord| 10|
-|  Dublin|    HondaCRV|  3|
-|  Dublin|  HondaCivic| 20|
-| Fremont|        null| 32|
-| Fremont| HondaAccord| 15|
-| Fremont|    HondaCRV|  7|
-| Fremont|  HondaCivic| 10|
-| SanJose|        null| 13|
-| SanJose| HondaAccord|  8|
-| SanJose|  HondaCivic|  5|
-+--------+------------+---+
-{% endhighlight %}
++---------+------------+---+
+|     city|   car_model|sum|
++---------+------------+---+
+|     null|        null| 78|
+|     null| HondaAccord| 33|
+|     null|    HondaCRV| 10|
+|     null|  HondaCivic| 35|
+|   Dublin|        null| 33|
+|   Dublin| HondaAccord| 10|
+|   Dublin|    HondaCRV|  3|
+|   Dublin|  HondaCivic| 20|
+|  Fremont|        null| 32|
+|  Fremont| HondaAccord| 15|
+|  Fremont|    HondaCRV|  7|
+|  Fremont|  HondaCivic| 10|
+| San Jose|        null| 13|
+| San Jose| HondaAccord|  8|
+| San Jose|  HondaCivic|  5|
++---------+------------+---+
+```
 
 ### Related Statements
 
- * [SELECT Main](sql-ref-syntax-qry-select.html)
- * [WHERE Clause](sql-ref-syntax-qry-select-where.html)
- * [HAVING Clause](sql-ref-syntax-qry-select-having.html)
- * [ORDER BY Clause](sql-ref-syntax-qry-select-orderby.html)
- * [SORT BY Clause](sql-ref-syntax-qry-select-sortby.html)
- * [CLUSTER BY Clause](sql-ref-syntax-qry-select-clusterby.html)
- * [DISTRIBUTE BY Clause](sql-ref-syntax-qry-select-distribute-by.html)
- * [LIMIT Clause](sql-ref-syntax-qry-select-limit.html)
+* [SELECT Main](sql-ref-syntax-qry-select.html)
+* [WHERE Clause](sql-ref-syntax-qry-select-where.html)
+* [HAVING Clause](sql-ref-syntax-qry-select-having.html)
+* [ORDER BY Clause](sql-ref-syntax-qry-select-orderby.html)
+* [SORT BY Clause](sql-ref-syntax-qry-select-sortby.html)
+* [CLUSTER BY Clause](sql-ref-syntax-qry-select-clusterby.html)
+* [DISTRIBUTE BY Clause](sql-ref-syntax-qry-select-distribute-by.html)
+* [LIMIT Clause](sql-ref-syntax-qry-select-limit.html)
diff --git a/docs/sql-ref-syntax-qry-select-having.md b/docs/sql-ref-syntax-qry-select-having.md
index c8c4f2c..935782c 100644
--- a/docs/sql-ref-syntax-qry-select-having.md
+++ b/docs/sql-ref-syntax-qry-select-having.md
@@ -21,39 +21,35 @@ license: |
 
 ### Description
 
-The <code>HAVING</code> clause is used to filter the results produced by
-<code>GROUP BY</code> based on the specified condition. It is often used
+The `HAVING` clause is used to filter the results produced by
+`GROUP BY` based on the specified condition. It is often used
 in conjunction with a [GROUP BY](sql-ref-syntax-qry-select-groupby.html)
 clause.
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 HAVING boolean_expression
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>boolean_expression</em></code></dt>
-  <dd>
-    Specifies any expression that evaluates to a result type <code>boolean</code>. Two or
+* **boolean_expression**
+
+    Specifies any expression that evaluates to a result type `boolean`. Two or
     more expressions may be combined together using the logical
-    operators ( <code>AND</code>, <code>OR</code> ).<br><br>
-
-    <b>Note</b><br>
-    The expressions specified in the <code>HAVING</code> clause can only refer to:
-     <ol>
-      <li>Constants</li>
-      <li>Expressions that appear in GROUP BY</li>
-      <li>Aggregate functions</li>
-    </ol>
-  </dd>
-</dl>
+    operators ( `AND`, `OR` ).
+
+    **Note**
+
+    The expressions specified in the `HAVING` clause can only refer to:
+    1. Constants
+    2. Expressions that appear in GROUP BY
+    3. Aggregate functions
 
 ### Examples
 
-{% highlight sql %}
+```sql
 CREATE TABLE dealer (id INT, city STRING, car_model STRING, quantity INT);
 INSERT INTO dealer VALUES
     (100, 'Fremont', 'Honda Civic', 10),
@@ -117,15 +113,15 @@ SELECT sum(quantity) AS sum FROM dealer HAVING sum(quantity) > 10;
 +---+
 | 78|
 +---+
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [SELECT Main](sql-ref-syntax-qry-select.html)
- * [WHERE Clause](sql-ref-syntax-qry-select-where.html)
- * [GROUP BY Clause](sql-ref-syntax-qry-select-groupby.html)
- * [ORDER BY Clause](sql-ref-syntax-qry-select-orderby.html)
- * [SORT BY Clause](sql-ref-syntax-qry-select-sortby.html)
- * [CLUSTER BY Clause](sql-ref-syntax-qry-select-clusterby.html)
- * [DISTRIBUTE BY Clause](sql-ref-syntax-qry-select-distribute-by.html)
- * [LIMIT Clause](sql-ref-syntax-qry-select-limit.html)
+* [SELECT Main](sql-ref-syntax-qry-select.html)
+* [WHERE Clause](sql-ref-syntax-qry-select-where.html)
+* [GROUP BY Clause](sql-ref-syntax-qry-select-groupby.html)
+* [ORDER BY Clause](sql-ref-syntax-qry-select-orderby.html)
+* [SORT BY Clause](sql-ref-syntax-qry-select-sortby.html)
+* [CLUSTER BY Clause](sql-ref-syntax-qry-select-clusterby.html)
+* [DISTRIBUTE BY Clause](sql-ref-syntax-qry-select-distribute-by.html)
+* [LIMIT Clause](sql-ref-syntax-qry-select-limit.html)
diff --git a/docs/sql-ref-syntax-qry-select-hints.md b/docs/sql-ref-syntax-qry-select-hints.md
index 16f4f95..4bb48b0 100644
--- a/docs/sql-ref-syntax-qry-select-hints.md
+++ b/docs/sql-ref-syntax-qry-select-hints.md
@@ -23,39 +23,33 @@ license: |
 
 Join Hints allow users to suggest the join strategy that Spark should use. Prior to Spark 3.0, only the `BROADCAST` Join Hint was supported. `MERGE`, `SHUFFLE_HASH` and `SHUFFLE_REPLICATE_NL` Joint Hints support was added in 3.0. When different join strategy hints are specified on both sides of a join, Spark prioritizes hints in the following order: `BROADCAST` over `MERGE` over `SHUFFLE_HASH` over `SHUFFLE_REPLICATE_NL`. When both sides are specified with the `BROADCAST` hint or the `SH [...]
 
+### Syntax
+
+```sql
+/*+ join_hint [ , ... ] */
+```
+
 ### Join Hints Types
 
-<dl>
-  <dt><code><em>BROADCAST</em></code></dt>
-  <dd>
-    Suggests that Spark use broadcast join. The join side with the hint will be broadcast regardless of <code>autoBroadcastJoinThreshold</code>. If both sides of the join have the broadcast hints, the one with the smaller size (based on stats) will be broadcast. The aliases for <code>BROADCAST</code> are <code>BROADCASTJOIN</code> and <code>MAPJOIN</code>.
-  </dd>
-</dl>
-
-<dl>
-  <dt><code><em>MERGE</em></code></dt>
-  <dd>
-     Suggests that Spark use shuffle sort merge join. The aliases for <code>MERGE</code> are <code>SHUFFLE_MERGE</code> and <code>MERGEJOIN</code>.
-  </dd>
-</dl>
-
-<dl>
-  <dt><code><em>SHUFFLE_HASH</em></code></dt>
-  <dd>
-     Suggests that Spark use shuffle hash join. If both sides have the shuffle hash hints, Spark chooses the smaller side (based on stats) as the build side.
-  </dd>
-</dl>
-
-<dl>
-  <dt><code><em>SHUFFLE_REPLICATE_NL</em></code></dt>
-  <dd>
+* **BROADCAST**
+
+    Suggests that Spark use broadcast join. The join side with the hint will be broadcast regardless of `autoBroadcastJoinThreshold`. If both sides of the join have the broadcast hints, the one with the smaller size (based on stats) will be broadcast. The aliases for `BROADCAST` are `BROADCASTJOIN` and `MAPJOIN`.
+
+* **MERGE**
+
+    Suggests that Spark use shuffle sort merge join. The aliases for `MERGE` are `SHUFFLE_MERGE` and `MERGEJOIN`.
+
+* **SHUFFLE_HASH**
+
+    Suggests that Spark use shuffle hash join. If both sides have the shuffle hash hints, Spark chooses the smaller side (based on stats) as the build side.
+
+* **SHUFFLE_REPLICATE_NL**
+
     Suggests that Spark use shuffle-and-replicate nested loop join.
-  </dd>
-</dl>
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- Join Hints for broadcast join
 SELECT /*+ BROADCAST(t1) */ * FROM t1 INNER JOIN t2 ON t1.key = t2.key;
 SELECT /*+ BROADCASTJOIN (t1) */ * FROM t1 left JOIN t2 ON t1.key = t2.key;
@@ -78,10 +72,10 @@ SELECT /*+ SHUFFLE_REPLICATE_NL(t1) */ * FROM t1 INNER JOIN t2 ON t1.key = t2.ke
 -- Spark will issue Warning in the following example
 -- org.apache.spark.sql.catalyst.analysis.HintErrorLogger: Hint (strategy=merge)
 -- is overridden by another hint and will not take effect.
-SELECT /*+ BROADCAST(t1) */ /*+ MERGE(t1, t2) */ * FROM t1 INNER JOIN t2 ON t1.key = t2.key;
-{% endhighlight %}
+SELECT /*+ BROADCAST(t1), MERGE(t1, t2) */ * FROM t1 INNER JOIN t2 ON t1.key = t2.key;
+```
 
 ### Related Statements
 
- * [JOIN](sql-ref-syntax-qry-select-join.html)
- * [SELECT](sql-ref-syntax-qry-select.html)
+* [JOIN](sql-ref-syntax-qry-select-join.html)
+* [SELECT](sql-ref-syntax-qry-select.html)
diff --git a/docs/sql-ref-syntax-qry-select-inline-table.md b/docs/sql-ref-syntax-qry-select-inline-table.md
index 9c33cbc..7f0372e 100644
--- a/docs/sql-ref-syntax-qry-select-inline-table.md
+++ b/docs/sql-ref-syntax-qry-select-inline-table.md
@@ -25,32 +25,25 @@ An inline table is a temporary table created using a VALUES clause.
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 VALUES ( expression [ , ... ] ) [ table_alias ]
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>expression</em></code></dt>
-  <dd>
+* **expression**
+
     Specifies a combination of one or more values, operators and SQL functions that results in a value.
-  </dd>
-</dl>
-<dl>
-  <dt><code><em>table_alias</em></code></dt>
-  <dd>
-    Specifies a temporary name with an optional column name list. <br><br>
-    <b>Syntax:</b>
-      <code>
-        [ AS ] table_name [ ( column_name [ , ... ] ) ]
-      </code>
-  </dd>
-</dl>
+
+* **table_alias**
+
+    Specifies a temporary name with an optional column name list.
+
+    **Syntax:** `[ AS ] table_name [ ( column_name [ , ... ] ) ]`
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- single row, without a table alias
 SELECT * FROM VALUES ("one", 1);
 +----+----+
@@ -77,8 +70,8 @@ SELECT * FROM VALUES ("one", array(0, 1)), ("two", array(2, 3)) AS data(a, b);
 |one|[0, 1]|
 |two|[2, 3]|
 +---+------+
-{% endhighlight %}
+```
 
-### Related Statement
+### Related Statements
 
- * [SELECT](sql-ref-syntax-qry-select.html)
+* [SELECT](sql-ref-syntax-qry-select.html)
diff --git a/docs/sql-ref-syntax-qry-select-join.md b/docs/sql-ref-syntax-qry-select-join.md
index 0b1bb1e..28b21f5 100644
--- a/docs/sql-ref-syntax-qry-select-join.md
+++ b/docs/sql-ref-syntax-qry-select-join.md
@@ -25,118 +25,95 @@ A SQL join is used to combine rows from two relations based on join criteria. Th
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 relation { [ join_type ] JOIN relation [ join_criteria ] | NATURAL join_type JOIN relation }
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>relation</em></code></dt>
-  <dd>
+* **relation**
+
     Specifies the relation to be joined.
-  </dd>
-  <dt><code><em>join_type</em></code></dt>
-  <dd>
-    Specifies the join type.<br><br>
-    <b>Syntax:</b><br>
-      <code>
-        [ INNER ]
-        | CROSS
-        | LEFT [ OUTER ]
-        | [ LEFT ] SEMI
-        | RIGHT [ OUTER ]
-        | FULL [ OUTER ]
-        | [ LEFT ] ANTI
-      </code>
-  </dd>
-  <dt><code><em>join_criteria</em></code></dt>
-  <dd>
-    Specifies how the rows from one relation will be combined with the rows of another relation.<br><br>
-    <b>Syntax:</b>
-      <code>
-        ON boolean_expression | USING ( column_name [ , column_name ... ] )
-      </code> <br><br>
-      <code>boolean_expression</code><br>
-      Specifies an expression with a return type of boolean.
-  </dd>
-</dl>
+
+* **join_type**
+
+    Specifies the join type.
+
+    **Syntax:**
+
+    `[ INNER ] | CROSS | LEFT [ OUTER ] | [ LEFT ] SEMI | RIGHT [ OUTER ] | FULL [ OUTER ] | [ LEFT ] ANTI`
+
+* **join_criteria**
+
+    Specifies how the rows from one relation will be combined with the rows of another relation.
+
+    **Syntax:** `ON boolean_expression | USING ( column_name [ , ... ] )`
+
+    `boolean_expression`
+
+    Specifies an expression with a return type of boolean.
 
 ### Join Types
 
-#### <b>Inner Join</b>
-
-<dd>
-The inner join is the default join in Spark SQL. It selects rows that have matching values in both relations.<br><br>
-  <b>Syntax:</b><br>
-    <code>
-    relation [ INNER ] JOIN relation [ join_criteria ]
-    </code>
-</dd>
-
-#### <b>Left Join </b>
-
-<dd>
-A left join returns all values from the left relation and the matched values from the right relation, or appends NULL if there is no match. It is also referred to as a left outer join.<br><br>
-  <b>Syntax:</b><br>
-    <code>
-    relation LEFT [ OUTER ] JOIN relation [ join_criteria ]
-    </code>
-</dd>
-
-#### <b>Right Join </b>
-
-<dd>
-A right join returns all values from the right relation and the matched values from the left relation, or appends NULL if there is no match. It is also referred to as a right outer join.<br><br>
-  <b>Syntax:</b><br>
-    <code>
-    relation RIGHT [ OUTER ] JOIN relation [ join_criteria ]
-    </code>
-</dd>
-
-#### <b>Full Join </b>
-
-<dd>
-A full join returns all values from both relations, appending NULL values on the side that does not have a match. It is also referred to as a full outer join.<br><br>
-  <b>Syntax:</b><br>
-    <code>
-    relation FULL [ OUTER ] JOIN relation [ join_criteria ]
-    </code>
-</dd>
-
-#### <b>Cross Join </b>
-
-<dd>
-A cross join returns the Cartesian product of two relations.<br><br>
-  <b>Syntax:</b><br>
-    <code>
-    relation CROSS JOIN relation [ join_criteria ]
-    </code>
-</dd>
-
-#### <b>Semi Join </b>
-
-<dd>
-A semi join returns values from the left side of the relation that has a match with the right. It is also referred to as a left semi join.<br><br>
-  <b>Syntax:</b><br>
-    <code>
-    relation [ LEFT ] SEMI JOIN relation [ join_criteria ]
-    </code>
-</dd>
-
-#### <b>Anti Join </b>
-
-<dd>
-An anti join returns values from the left relation that has no match with the right. It is also referred to as a left anti join.<br><br>
-  <b>Syntax:</b><br>
-    <code>
-    relation [ LEFT ] ANTI JOIN relation [ join_criteria ]
-    </code>
-</dd>
+#### **Inner Join**
+
+The inner join is the default join in Spark SQL. It selects rows that have matching values in both relations.
+
+**Syntax:**
+
+`relation [ INNER ] JOIN relation [ join_criteria ]`
+
+#### **Left Join**
+
+A left join returns all values from the left relation and the matched values from the right relation, or appends NULL if there is no match. It is also referred to as a left outer join.
+
+**Syntax:**
+
+`relation LEFT [ OUTER ] JOIN relation [ join_criteria ]`
+
+#### **Right Join**
+
+A right join returns all values from the right relation and the matched values from the left relation, or appends NULL if there is no match. It is also referred to as a right outer join.
+
+**Syntax:**
+
+`relation RIGHT [ OUTER ] JOIN relation [ join_criteria ]`
+
+#### **Full Join**
+
+A full join returns all values from both relations, appending NULL values on the side that does not have a match. It is also referred to as a full outer join.
+
+**Syntax:**
+
+`relation FULL [ OUTER ] JOIN relation [ join_criteria ]`
+
+#### **Cross Join**
+
+A cross join returns the Cartesian product of two relations.
+
+**Syntax:**
+
+`relation CROSS JOIN relation [ join_criteria ]`
+
+#### **Semi Join**
+
+A semi join returns values from the left side of the relation that has a match with the right. It is also referred to as a left semi join.
+
+**Syntax:**
+
+`relation [ LEFT ] SEMI JOIN relation [ join_criteria ]`
+
+#### **Anti Join**
+
+An anti join returns values from the left relation that has no match with the right. It is also referred to as a left anti join.
+
+**Syntax:**
+
+`relation [ LEFT ] ANTI JOIN relation [ join_criteria ]`
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- Use employee and department tables to demonstrate different type of joins.
 SELECT * FROM employee;
 +---+-----+------+
@@ -253,9 +230,9 @@ SELECT * FROM employee ANTI JOIN department ON employee.deptno = department.dept
 |104| Evan|     4|
 |106|  Amy|     6|
 +---+-----+------+
-{% endhighlight %}
+```
 
 ### Related Statements
 
-  * [SELECT](sql-ref-syntax-qry-select.html)
-  * [Join Hints](sql-ref-syntax-qry-select-hints.html)
+* [SELECT](sql-ref-syntax-qry-select.html)
+* [Join Hints](sql-ref-syntax-qry-select-hints.html)
diff --git a/docs/sql-ref-syntax-qry-select-like.md b/docs/sql-ref-syntax-qry-select-like.md
index 408673c..feb5eb7 100644
--- a/docs/sql-ref-syntax-qry-select-like.md
+++ b/docs/sql-ref-syntax-qry-select-like.md
@@ -25,38 +25,30 @@ A LIKE predicate is used to search for a specific pattern.
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 [ NOT ] { LIKE search_pattern [ ESCAPE esc_char ] | RLIKE regex_pattern }
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>search_pattern</em></code></dt>
-  <dd>
-    Specifies a string pattern to be searched by the <code>LIKE</code> clause. It can contain special pattern-matching characters:
-    <ul>
-      <li><code>%</code></li> matches zero or more characters.
-      <li><code>_</code></li> matches exactly one character.
-    </ul>
-  </dd>
-</dl>
-<dl>
-  <dt><code><em>esc_char</em></code></dt>
-  <dd>
-    Specifies the escape character. The default escape character is <code>\</code>.
-  </dd>
-</dl>
-<dl>
-  <dt><code><em>regex_pattern</em></code></dt>
-  <dd>
-    Specifies a regular expression search pattern to be searched by the <code>RLIKE</code> clause.
-  </dd>
-</dl>
+* **search_pattern**
+
+    Specifies a string pattern to be searched by the `LIKE` clause. It can contain special pattern-matching characters:
+
+    * `%` matches zero or more characters.
+    * `_` matches exactly one character.
+
+* **esc_char**
+
+    Specifies the escape character. The default escape character is `\`.
+
+* **regex_pattern**
+
+    Specifies a regular expression search pattern to be searched by the `RLIKE` clause.
 
 ### Examples
 
-{% highlight sql %}
+```sql
 CREATE TABLE person (id INT, name STRING, age INT);
 INSERT INTO person VALUES
     (100, 'John', 30),
@@ -90,12 +82,11 @@ SELECT * FROM person WHERE name NOT LIKE 'M_ry';
 |400|   Dan| 50|
 +---+------+---+
 
-SELECT * FROM person WHERE name RLIKE '[MD]';
+SELECT * FROM person WHERE name RLIKE 'M+';
 +---+----+----+
 | id|name| age|
 +---+----+----+
 |300|Mike|  80|
-|400| Dan|  50|
 |200|Mary|null|
 +---+----+----+
 
@@ -112,9 +103,9 @@ SELECT * FROM person WHERE name LIKE '%$_%' ESCAPE '$';
 +---+------+---+
 |500|Evan_W| 16|
 +---+------+---+
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [SELECT](sql-ref-syntax-qry-select.html)
- * [WHERE Clause](sql-ref-syntax-qry-select-where.html)
+* [SELECT](sql-ref-syntax-qry-select.html)
+* [WHERE Clause](sql-ref-syntax-qry-select-where.html)
diff --git a/docs/sql-ref-syntax-qry-select-limit.md b/docs/sql-ref-syntax-qry-select-limit.md
index eaeaed0..03c4df3 100644
--- a/docs/sql-ref-syntax-qry-select-limit.md
+++ b/docs/sql-ref-syntax-qry-select-limit.md
@@ -21,34 +21,31 @@ license: |
 
 ### Description
 
-The <code>LIMIT</code> clause is used to constrain the number of rows returned by
+The `LIMIT` clause is used to constrain the number of rows returned by
 the [SELECT](sql-ref-syntax-qry-select.html) statement. In general, this clause
 is used in conjunction with [ORDER BY](sql-ref-syntax-qry-select-orderby.html) to
 ensure that the results are deterministic.
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 LIMIT { ALL | integer_expression }
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>ALL</em></code></dt>
-  <dd>
+* **ALL**
+
     If specified, the query returns all the rows. In other words, no limit is applied if this
     option is specified.
-  </dd>
-  <dt><code><em>integer_expression</em></code></dt>
-  <dd>
+
+* **integer_expression**
+
     Specifies a foldable expression that returns an integer.
-  </dd>
-</dl>
 
 ### Examples
 
-{% highlight sql %}
+```sql
 CREATE TABLE person (name STRING, age INT);
 INSERT INTO person VALUES
     ('Zen Hui', 25),
@@ -94,16 +91,16 @@ SELECT name, age FROM person ORDER BY name LIMIT length('SPARK');
 
 -- A non-foldable expression as an input to LIMIT is not allowed.
 SELECT name, age FROM person ORDER BY name LIMIT length(name);
-  org.apache.spark.sql.AnalysisException: The limit expression must evaluate to a constant value ...
-{% endhighlight %}
+org.apache.spark.sql.AnalysisException: The limit expression must evaluate to a constant value ...
+```
 
 ### Related Statements
 
- * [SELECT Main](sql-ref-syntax-qry-select.html)
- * [WHERE Clause](sql-ref-syntax-qry-select-where.html)
- * [GROUP BY Clause](sql-ref-syntax-qry-select-groupby.html)
- * [HAVING Clause](sql-ref-syntax-qry-select-having.html)
- * [ORDER BY Clause](sql-ref-syntax-qry-select-orderby.html)
- * [SORT BY Clause](sql-ref-syntax-qry-select-sortby.html)
- * [CLUSTER BY Clause](sql-ref-syntax-qry-select-clusterby.html)
- * [DISTRIBUTE BY Clause](sql-ref-syntax-qry-select-distribute-by.html)
+* [SELECT Main](sql-ref-syntax-qry-select.html)
+* [WHERE Clause](sql-ref-syntax-qry-select-where.html)
+* [GROUP BY Clause](sql-ref-syntax-qry-select-groupby.html)
+* [HAVING Clause](sql-ref-syntax-qry-select-having.html)
+* [ORDER BY Clause](sql-ref-syntax-qry-select-orderby.html)
+* [SORT BY Clause](sql-ref-syntax-qry-select-sortby.html)
+* [CLUSTER BY Clause](sql-ref-syntax-qry-select-clusterby.html)
+* [DISTRIBUTE BY Clause](sql-ref-syntax-qry-select-distribute-by.html)
diff --git a/docs/sql-ref-syntax-qry-select-orderby.md b/docs/sql-ref-syntax-qry-select-orderby.md
index d927177..85bbe51 100644
--- a/docs/sql-ref-syntax-qry-select-orderby.md
+++ b/docs/sql-ref-syntax-qry-select-orderby.md
@@ -21,56 +21,48 @@ license: |
 
 ### Description
 
-The <code>ORDER BY</code> clause is used to return the result rows in a sorted manner
+The `ORDER BY` clause is used to return the result rows in a sorted manner
 in the user specified order. Unlike the [SORT BY](sql-ref-syntax-qry-select-sortby.html)
 clause, this clause guarantees a total order in the output.
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 ORDER BY { expression [ sort_direction | nulls_sort_oder ] [ , ... ] }
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>ORDER BY</em></code></dt>
-  <dd>
-    Specifies a comma-separated list of expressions along with optional parameters <code>sort_direction</code>
-    and <code>nulls_sort_order</code> which are used to sort the rows.
-  </dd>
-  <dt><code><em>sort_direction</em></code></dt>
-  <dd>
+* **ORDER BY**
+
+    Specifies a comma-separated list of expressions along with optional parameters `sort_direction`
+    and `nulls_sort_order` which are used to sort the rows.
+
+* **sort_direction**
+
     Optionally specifies whether to sort the rows in ascending or descending
-    order. The valid values for the sort direction are <code>ASC</code> for ascending
-    and <code>DESC</code> for descending. If sort direction is not explicitly specified, then by default
-    rows are sorted ascending. <br><br>
-    <b>Syntax:</b>
-    <code>
-       [ ASC | DESC ]
-    </code>
-  </dd>
-  <dt><code><em>nulls_sort_order</em></code></dt>
-  <dd>
+    order. The valid values for the sort direction are `ASC` for ascending
+    and `DESC` for descending. If sort direction is not explicitly specified, then by default
+    rows are sorted ascending.
+
+    **Syntax:** [ ASC `|` DESC ]
+
+* **nulls_sort_order**
+
     Optionally specifies whether NULL values are returned before/after non-NULL values. If
-    <code>null_sort_order</code> is not specified, then NULLs sort first if sort order is
-    <code>ASC</code> and NULLS sort last if sort order is <code>DESC</code>.<br><br>
-    <ol>
-      <li> If <code>NULLS FIRST</code> is specified, then NULL values are returned first
-           regardless of the sort order.</li>
-      <li>If <code>NULLS LAST</code> is specified, then NULL values are returned last regardless of
-           the sort order. </li>
-    </ol><br>
-    <b>Syntax:</b>
-    <code>
-       [ NULLS { FIRST | LAST } ]
-    </code>
-  </dd>
-</dl>
+    `null_sort_order` is not specified, then NULLs sort first if sort order is
+    `ASC` and NULLS sort last if sort order is `DESC`.
+
+    1. If `NULLS FIRST` is specified, then NULL values are returned first
+       regardless of the sort order.
+    2. If `NULLS LAST` is specified, then NULL values are returned last regardless of
+       the sort order.
+
+    **Syntax:** `[ NULLS { FIRST | LAST } ]`
 
 ### Examples
 
-{% highlight sql %}
+```sql
 CREATE TABLE person (id INT, name STRING, age INT);
 INSERT INTO person VALUES
     (100, 'John', 30),
@@ -139,15 +131,15 @@ SELECT * FROM person ORDER BY name ASC, age DESC;
 |200| Mary|null|
 |300| Mike|  80|
 +---+-----+----+
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [SELECT Main](sql-ref-syntax-qry-select.html)
- * [WHERE Clause](sql-ref-syntax-qry-select-where.html)
- * [GROUP BY Clause](sql-ref-syntax-qry-select-groupby.html)
- * [HAVING Clause](sql-ref-syntax-qry-select-having.html)
- * [SORT BY Clause](sql-ref-syntax-qry-select-sortby.html)
- * [CLUSTER BY Clause](sql-ref-syntax-qry-select-clusterby.html)
- * [DISTRIBUTE BY Clause](sql-ref-syntax-qry-select-distribute-by.html)
- * [LIMIT Clause](sql-ref-syntax-qry-select-limit.html)
+* [SELECT Main](sql-ref-syntax-qry-select.html)
+* [WHERE Clause](sql-ref-syntax-qry-select-where.html)
+* [GROUP BY Clause](sql-ref-syntax-qry-select-groupby.html)
+* [HAVING Clause](sql-ref-syntax-qry-select-having.html)
+* [SORT BY Clause](sql-ref-syntax-qry-select-sortby.html)
+* [CLUSTER BY Clause](sql-ref-syntax-qry-select-clusterby.html)
+* [DISTRIBUTE BY Clause](sql-ref-syntax-qry-select-distribute-by.html)
+* [LIMIT Clause](sql-ref-syntax-qry-select-limit.html)
diff --git a/docs/sql-ref-syntax-qry-select-setops.md b/docs/sql-ref-syntax-qry-select-setops.md
index 98c2094..8cd12c3 100644
--- a/docs/sql-ref-syntax-qry-select-setops.md
+++ b/docs/sql-ref-syntax-qry-select-setops.md
@@ -35,13 +35,13 @@ Note that input relations must have the same number of columns and compatible da
 
 #### Syntax
 
-{% highlight sql %}
+```sql
 [ ( ] relation [ ) ] EXCEPT | MINUS [ ALL | DISTINCT ] [ ( ] relation [ ) ]
-{% endhighlight %}
+```
 
 #### Examples
 
-{% highlight sql %}
+```sql
 -- Use number1 and number2 tables to demonstrate set operators in this page.
 SELECT * FROM number1;
 +---+
@@ -98,7 +98,7 @@ SELECT c FROM number1 MINUS ALL (SELECT c FROM number2);
 |  3|
 |  4|
 +---+
-{% endhighlight %}
+```
 
 ### INTERSECT
 
@@ -106,13 +106,13 @@ SELECT c FROM number1 MINUS ALL (SELECT c FROM number2);
 
 #### Syntax
 
-{% highlight sql %}
+```sql
 [ ( ] relation [ ) ] INTERSECT [ ALL | DISTINCT ] [ ( ] relation [ ) ]
-{% endhighlight %}
+```
 
 #### Examples
 
-{% highlight sql %}
+```sql
 (SELECT c FROM number1) INTERSECT (SELECT c FROM number2);
 +---+
 |  c|
@@ -137,7 +137,7 @@ SELECT c FROM number1 MINUS ALL (SELECT c FROM number2);
 |  2|
 |  2|
 +---+
-{% endhighlight %}
+```
 
 ### UNION
 
@@ -145,13 +145,13 @@ SELECT c FROM number1 MINUS ALL (SELECT c FROM number2);
 
 #### Syntax
 
-{% highlight sql %}
+```sql
 [ ( ] relation [ ) ] UNION [ ALL | DISTINCT ] [ ( ] relation [ ) ]
-{% endhighlight %}
+```
 
 ### Examples
 
-{% highlight sql %}
+```sql
 (SELECT c FROM number1) UNION (SELECT c FROM number2);
 +---+
 |  c|
@@ -189,8 +189,8 @@ SELECT c FROM number1 UNION ALL (SELECT c FROM number2);
 |  2|
 |  2|
 +---+
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [SELECT Statement](sql-ref-syntax-qry-select.html)
+* [SELECT Statement](sql-ref-syntax-qry-select.html)
diff --git a/docs/sql-ref-syntax-qry-select-sortby.md b/docs/sql-ref-syntax-qry-select-sortby.md
index 1dfa104..554bdb5 100644
--- a/docs/sql-ref-syntax-qry-select-sortby.md
+++ b/docs/sql-ref-syntax-qry-select-sortby.md
@@ -21,58 +21,50 @@ license: |
 
 ### Description
 
-The <code>SORT BY</code> clause is used to return the result rows sorted
+The `SORT BY` clause is used to return the result rows sorted
 within each partition in the user specified order. When there is more than one partition
-<code>SORT BY</code> may return result that is partially ordered. This is different
+`SORT BY` may return result that is partially ordered. This is different
 than [ORDER BY](sql-ref-syntax-qry-select-orderby.html) clause which guarantees a
 total order of the output.
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 SORT BY { expression [ sort_direction | nulls_sort_order ] [ , ... ] }
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>SORT BY</em></code></dt>
-  <dd>
-    Specifies a comma-separated list of expressions along with optional parameters <code>sort_direction</code>
-    and <code>nulls_sort_order</code> which are used to sort the rows within each partition.
-  </dd>
-  <dt><code><em>sort_direction</em></code></dt>
-  <dd>
+* **SORT BY**
+
+    Specifies a comma-separated list of expressions along with optional parameters `sort_direction`
+    and `nulls_sort_order` which are used to sort the rows within each partition.
+
+* **sort_direction**
+
     Optionally specifies whether to sort the rows in ascending or descending
-    order. The valid values for the sort direction are <code>ASC</code> for ascending
-    and <code>DESC</code> for descending. If sort direction is not explicitly specified, then by default
-    rows are sorted ascending. <br><br>
-    <b>Syntax:</b>
-    <code>
-       [ ASC | DESC ]
-    </code>
-  </dd>
-  <dt><code><em>nulls_sort_order</em></code></dt>
-  <dd>
+    order. The valid values for the sort direction are `ASC` for ascending
+    and `DESC` for descending. If sort direction is not explicitly specified, then by default
+    rows are sorted ascending.
+
+    **Syntax:** `[ ASC | DESC ]`
+
+* **nulls_sort_order**
+
     Optionally specifies whether NULL values are returned before/after non-NULL values. If
-    <code>null_sort_order</code> is not specified, then NULLs sort first if sort order is
-    <code>ASC</code> and NULLS sort last if sort order is <code>DESC</code>.<br><br>
-    <ol>
-      <li> If <code>NULLS FIRST</code> is specified, then NULL values are returned first
-           regardless of the sort order.</li>
-      <li>If <code>NULLS LAST</code> is specified, then NULL values are returned last regardless of
-           the sort order. </li>
-    </ol><br>
-    <b>Syntax:</b>
-    <code>
-       [ NULLS { FIRST | LAST } ]
-    </code>
-  </dd>
-</dl>
+    `null_sort_order` is not specified, then NULLs sort first if sort order is
+    `ASC` and NULLS sort last if sort order is `DESC`.
+
+    1. If `NULLS FIRST` is specified, then NULL values are returned first
+       regardless of the sort order.
+    2. If `NULLS LAST` is specified, then NULL values are returned last regardless of
+       the sort order.
+
+    **Syntax:** `[ NULLS { FIRST | LAST } ]`
 
 ### Examples
 
-{% highlight sql %}
+```sql
 CREATE TABLE person (zip_code INT, name STRING, age INT);
 INSERT INTO person VALUES
     (94588, 'Zen Hui', 50),
@@ -172,15 +164,15 @@ SELECT /*+ REPARTITION(zip_code) */ name, age, zip_code FROM person
 | David K|  42|   94511|
 |Lalit B.|null|   94511|
 +--------+----+--------+
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [SELECT Main](sql-ref-syntax-qry-select.html)
- * [WHERE Clause](sql-ref-syntax-qry-select-where.html)
- * [GROUP BY Clause](sql-ref-syntax-qry-select-groupby.html)
- * [HAVING Clause](sql-ref-syntax-qry-select-having.html)
- * [ORDER BY Clause](sql-ref-syntax-qry-select-orderby.html)
- * [CLUSTER BY Clause](sql-ref-syntax-qry-select-clusterby.html)
- * [DISTRIBUTE BY Clause](sql-ref-syntax-qry-select-distribute-by.html)
- * [LIMIT Clause](sql-ref-syntax-qry-select-limit.html)
+* [SELECT Main](sql-ref-syntax-qry-select.html)
+* [WHERE Clause](sql-ref-syntax-qry-select-where.html)
+* [GROUP BY Clause](sql-ref-syntax-qry-select-groupby.html)
+* [HAVING Clause](sql-ref-syntax-qry-select-having.html)
+* [ORDER BY Clause](sql-ref-syntax-qry-select-orderby.html)
+* [CLUSTER BY Clause](sql-ref-syntax-qry-select-clusterby.html)
+* [DISTRIBUTE BY Clause](sql-ref-syntax-qry-select-distribute-by.html)
+* [LIMIT Clause](sql-ref-syntax-qry-select-limit.html)
diff --git a/docs/sql-ref-syntax-qry-select-tvf.md b/docs/sql-ref-syntax-qry-select-tvf.md
index 1d9505a..cc8d7c34 100644
--- a/docs/sql-ref-syntax-qry-select-tvf.md
+++ b/docs/sql-ref-syntax-qry-select-tvf.md
@@ -25,28 +25,21 @@ A table-valued function (TVF) is a function that returns a relation or a set of
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 function_name ( expression [ , ... ] ) [ table_alias ]
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>expression</em></code></dt>
-  <dd>
+* **expression**
+
     Specifies a combination of one or more values, operators and SQL functions that results in a value.
-  </dd>
-</dl>
-<dl>
-  <dt><code><em>table_alias</em></code></dt>
-  <dd>
-    Specifies a temporary name with an optional column name list. <br/><br/>
-    <b>Syntax:</b>
-      <code>
-        [ AS ] table_name [ ( column_name [ , ... ] ) ]
-      </code>
-  </dd>
-</dl>
+
+* **table_alias**
+
+    Specifies a temporary name with an optional column name list.
+
+    **Syntax:** `[ AS ] table_name [ ( column_name [ , ... ] ) ]`
 
 ### Supported Table-valued Functions
 
@@ -59,7 +52,7 @@ function_name ( expression [ , ... ] ) [ table_alias ]
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- range call with end
 SELECT * FROM range(6 + cos(3));
 +---+
@@ -105,8 +98,8 @@ SELECT * FROM range(5, 8) AS test;
 |  6|
 |  7|
 +---+
-{% endhighlight %}
+```
 
-### Related Statement
+### Related Statements
 
- * [SELECT](sql-ref-syntax-qry-select.html)
+* [SELECT](sql-ref-syntax-qry-select.html)
diff --git a/docs/sql-ref-syntax-qry-select-usedb.md b/docs/sql-ref-syntax-qry-select-usedb.md
index bb95a8e..90076e0 100644
--- a/docs/sql-ref-syntax-qry-select-usedb.md
+++ b/docs/sql-ref-syntax-qry-select-usedb.md
@@ -28,32 +28,30 @@ The default database name is 'default'.
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 USE database_name
-{% endhighlight %}
+```
 
 ### Parameter
 
-<dl>
-  <dt><code><em>database_name</em></code></dt>
-  <dd>
-     Name of the database will be used. If the database does not exist, an exception will be thrown.
-  </dd>
-</dl>
+* **database_name**
+
+    Name of the database will be used. If the database does not exist, an exception will be thrown.
 
 ### Examples
 
-{% highlight sql %}
+```sql
 -- Use the 'userdb' which exists.
 USE userdb;
 
 -- Use the 'userdb1' which doesn't exist
 USE userdb1;
-  Error: org.apache.spark.sql.catalyst.analysis.NoSuchDatabaseException: Database 'userdb1' not found;(state=,code=0)
-{% endhighlight %}
+Error: org.apache.spark.sql.catalyst.analysis.NoSuchDatabaseException: Database 'userdb1' not found;
+(state=,code=0)
+```
 
 ### Related Statements
 
- * [CREATE DATABASE](sql-ref-syntax-ddl-create-database.html)
- * [DROP DATABASE](sql-ref-syntax-ddl-drop-database.html)
- * [CREATE TABLE ](sql-ref-syntax-ddl-create-table.html)
+* [CREATE DATABASE](sql-ref-syntax-ddl-create-database.html)
+* [DROP DATABASE](sql-ref-syntax-ddl-drop-database.html)
+* [CREATE TABLE ](sql-ref-syntax-ddl-create-table.html)
diff --git a/docs/sql-ref-syntax-qry-select-where.md b/docs/sql-ref-syntax-qry-select-where.md
index 360313f..ca3f5ec 100644
--- a/docs/sql-ref-syntax-qry-select-where.md
+++ b/docs/sql-ref-syntax-qry-select-where.md
@@ -21,29 +21,26 @@ license: |
 
 ### Description
 
-The <code>WHERE</code> clause is used to limit the results of the <code>FROM</code>
+The `WHERE` clause is used to limit the results of the `FROM`
 clause of a query or a subquery based on the specified condition.
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 WHERE boolean_expression
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>boolean_expression</em></code></dt>
-  <dd>
-    Specifies any expression that evaluates to a result type <code>boolean</code>. Two or
+* **boolean_expression**
+
+    Specifies any expression that evaluates to a result type `boolean`. Two or
     more expressions may be combined together using the logical
-    operators ( <code>AND</code>, <code>OR</code> ).
-  </dd>
-</dl>
+    operators ( `AND`, `OR` ).
 
 ### Examples
 
-{% highlight sql %}
+```sql
 CREATE TABLE person (id INT, name STRING, age INT);
 INSERT INTO person VALUES
     (100, 'John', 30),
@@ -116,15 +113,15 @@ SELECT * FROM person AS parent
 +---+----+----+
 |200|Mary|null|
 +---+----+----+
-{% endhighlight %}
+```
 
 ### Related Statements
 
- * [SELECT Main](sql-ref-syntax-qry-select.html)
- * [GROUP BY Clause](sql-ref-syntax-qry-select-groupby.html)
- * [HAVING Clause](sql-ref-syntax-qry-select-having.html)
- * [ORDER BY Clause](sql-ref-syntax-qry-select-orderby.html)
- * [SORT BY Clause](sql-ref-syntax-qry-select-sortby.html)
- * [CLUSTER BY Clause](sql-ref-syntax-qry-select-clusterby.html)
- * [DISTRIBUTE BY Clause](sql-ref-syntax-qry-select-distribute-by.html)
- * [LIMIT Clause](sql-ref-syntax-qry-select-limit.html)
+* [SELECT Main](sql-ref-syntax-qry-select.html)
+* [GROUP BY Clause](sql-ref-syntax-qry-select-groupby.html)
+* [HAVING Clause](sql-ref-syntax-qry-select-having.html)
+* [ORDER BY Clause](sql-ref-syntax-qry-select-orderby.html)
+* [SORT BY Clause](sql-ref-syntax-qry-select-sortby.html)
+* [CLUSTER BY Clause](sql-ref-syntax-qry-select-clusterby.html)
+* [DISTRIBUTE BY Clause](sql-ref-syntax-qry-select-distribute-by.html)
+* [LIMIT Clause](sql-ref-syntax-qry-select-limit.html)
diff --git a/docs/sql-ref-syntax-qry-select.md b/docs/sql-ref-syntax-qry-select.md
index bc2cc02..1aeecdb 100644
--- a/docs/sql-ref-syntax-qry-select.md
+++ b/docs/sql-ref-syntax-qry-select.md
@@ -28,7 +28,7 @@ of a query along with examples.
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 [ WITH with_query [ , ... ] ]
 select_statement [ { UNION | INTERSECT | EXCEPT } [ ALL | DISTINCT ] select_statement, ... ]
     [ ORDER BY { expression [ ASC | DESC ] [ NULLS { FIRST | LAST } ] [ , ...] } ]
@@ -37,126 +37,125 @@ select_statement [ { UNION | INTERSECT | EXCEPT } [ ALL | DISTINCT ] select_stat
     [ DISTRIBUTE BY { expression [, ...] } ]
     [ WINDOW { named_window [ , WINDOW named_window, ... ] } ]
     [ LIMIT { ALL | expression } ]
-{% endhighlight %}
+```
 
 While `select_statement` is defined as
-{% highlight sql %}
+```sql
 SELECT [ hints , ... ] [ ALL | DISTINCT ] { named_expression [ , ... ] }
     FROM { from_item [ , ...] }
     [ WHERE boolean_expression ]
     [ GROUP BY expression [ , ...] ]
     [ HAVING boolean_expression ]
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>with_query</em></code></dt>
-  <dd>
-    Specifies the <a href="sql-ref-syntax-qry-select-cte.html">common table expressions (CTEs)</a> before the main query block.
+* **with_query**
+
+    Specifies the [common table expressions (CTEs)](sql-ref-syntax-qry-select-cte.html) before the main query block.
     These table expressions are allowed to be referenced later in the FROM clause. This is useful to abstract
     out repeated subquery blocks in the FROM clause and improves readability of the query.
-  </dd>
-  <dt><code><em>hints</em></code></dt>
-  <dd>
+
+* **hints**
+
     Hints can be specified to help spark optimizer make better planning decisions. Currently spark supports hints
     that influence selection of join strategies and repartitioning of the data.
-  </dd>
-  <dt><code><em>ALL</em></code></dt>
-  <dd>
+
+* **ALL**
+
     Select all matching rows from the relation and is enabled by default.
-  </dd>
-  <dt><code><em>DISTINCT</em></code></dt>
-  <dd>
+
+* **DISTINCT**
+
     Select all matching rows from the relation after removing duplicates in results.
-  </dd>
-  <dt><code><em>named_expression</em></code></dt>
-  <dd>
-    An expression with an assigned name. In general, it denotes a column expression.<br><br>
-    <b>Syntax:</b>
-      <code>
-        expression [AS] [alias]
-      </code>
-  </dd>
-  <dt><code><em>from_item</em></code></dt>
-  <dd>
-    Specifies a source of input for the query. It can be one of the following:
-    <ol>
-      <li>Table relation</li>
-      <li><a href="sql-ref-syntax-qry-select-join.html">Join relation</a></li>
-      <li><a href="sql-ref-syntax-qry-select-tvf.html">Table-value function</a></li>
-      <li><a href="sql-ref-syntax-qry-select-inline-table.html">Inline table</a></li>
-      <li>Subquery</li>
-    </ol>
-  </dd>
-  <dt><code><em>WHERE</em></code></dt>
-  <dd>
-    Filters the result of the FROM clause based on the supplied predicates.
-  </dd>
-  <dt><code><em>GROUP BY</em></code></dt>
-  <dd>
-    Specifies the expressions that are used to group the rows. This is used in conjunction with aggregate functions
-    (MIN, MAX, COUNT, SUM, AVG, etc.) to group rows based on the grouping expressions and aggregate values in each group.
-    When a FILTER clause is attached to an aggregate function, only the matching rows are passed to that function.
-  </dd>
-  <dt><code><em>HAVING</em></code></dt>
-  <dd>
-    Specifies the predicates by which the rows produced by GROUP BY are filtered. The HAVING clause is used to
-    filter rows after the grouping is performed. If HAVING is specified without GROUP BY, it indicates a GROUP BY
-    without grouping expressions (global aggregate).
-  </dd>
-  <dt><code><em>ORDER BY</em></code></dt>
-  <dd>
-    Specifies an ordering of the rows of the complete result set of the query. The output rows are ordered
-    across the partitions. This parameter is mutually exclusive with <code>SORT BY</code>,
-    <code>CLUSTER BY</code> and <code>DISTRIBUTE BY</code> and can not be specified together.
-  </dd>
-  <dt><code><em>SORT BY</em></code></dt>
-  <dd>
-    Specifies an ordering by which the rows are ordered within each partition. This parameter is mutually
-    exclusive with <code>ORDER BY</code> and <code>CLUSTER BY</code> and can not be specified together.
-  </dd>
-  <dt><code><em>CLUSTER BY</em></code></dt>
-  <dd>
-    Specifies a set of expressions that is used to repartition and sort the rows. Using this clause has
-    the same effect of using <code>DISTRIBUTE BY</code> and <code>SORT BY</code> together.
-  </dd>
-  <dt><code><em>DISTRIBUTE BY</em></code></dt>
-  <dd>
-    Specifies a set of expressions by which the result rows are repartitioned. This parameter is mutually
-    exclusive with <code>ORDER BY</code> and <code>CLUSTER BY</code> and can not be specified together.
-  </dd>
-  <dt><code><em>LIMIT</em></code></dt>
-  <dd>
-    Specifies the maximum number of rows that can be returned by a statement or subquery. This clause
-    is mostly used in the conjunction with <code>ORDER BY</code> to produce a deterministic result.
-  </dd>
-  <dt><code><em>boolean_expression</em></code></dt>
-  <dd>
-    Specifies an expression with a return type of boolean.
-  </dd>
-  <dt><code><em>expression</em></code></dt>
-  <dd>
-    Specifies a combination of one or more values, operators, and SQL functions that evaluates to a value.
-  </dd>
-  <dt><code><em>named_window</em></code></dt>
-  <dd>
-    Specifies aliases for one or more source window specifications. The source window specifications can
-    be referenced in the widow definitions in the query.
-  </dd>
-</dl>
+
+* **named_expression**
+
+    An expression with an assigned name. In general, it denotes a column expression.
+
+    **Syntax:** `expression [AS] [alias]`
+
+ * **from_item**
+
+     Specifies a source of input for the query. It can be one of the following:
+     * Table relation
+     * [Join relation](sql-ref-syntax-qry-select-join.html)
+     * [Table-value function](sql-ref-syntax-qry-select-tvf.html)
+     * [Inline table](sql-ref-syntax-qry-select-inline-table.html)
+     * Subquery
+
+
+ * **WHERE**
+
+     Filters the result of the FROM clause based on the supplied predicates.
+
+ * **GROUP BY**
+
+     Specifies the expressions that are used to group the rows. This is used in conjunction with aggregate functions
+     (MIN, MAX, COUNT, SUM, AVG, etc.) to group rows based on the grouping expressions and aggregate values in each group.
+     When a FILTER clause is attached to an aggregate function, only the matching rows are passed to that function.
+
+ * **HAVING**
+
+     Specifies the predicates by which the rows produced by GROUP BY are filtered. The HAVING clause is used to
+     filter rows after the grouping is performed. If HAVING is specified without GROUP BY, it indicates a GROUP BY
+     without grouping expressions (global aggregate).
+
+ * **ORDER BY**
+
+     Specifies an ordering of the rows of the complete result set of the query. The output rows are ordered
+     across the partitions. This parameter is mutually exclusive with `SORT BY`,
+     `CLUSTER BY` and `DISTRIBUTE BY` and can not be specified together.
+
+ * **SORT BY**
+
+     Specifies an ordering by which the rows are ordered within each partition. This parameter is mutually
+     exclusive with `ORDER BY` and `CLUSTER BY` and can not be specified together.
+
+ * **CLUSTER BY**
+
+     Specifies a set of expressions that is used to repartition and sort the rows. Using this clause has
+     the same effect of using `DISTRIBUTE BY` and `SORT BY` together.
+
+ * **DISTRIBUTE BY**
+
+     Specifies a set of expressions by which the result rows are repartitioned. This parameter is mutually
+     exclusive with `ORDER BY` and `CLUSTER BY` and can not be specified together.
+
+ * **LIMIT**
+
+     Specifies the maximum number of rows that can be returned by a statement or subquery. This clause
+     is mostly used in the conjunction with `ORDER BY` to produce a deterministic result.
+
+ * **boolean_expression**
+
+     Specifies an expression with a return type of boolean.
+
+ * **expression**
+
+     Specifies a combination of one or more values, operators, and SQL functions that evaluates to a value.
+
+ * **named_window**
+
+      Specifies aliases for one or more source window specifications. The source window specifications can
+      be referenced in the widow definitions in the query.
 
 ### Related Statements
 
- * [WHERE Clause](sql-ref-syntax-qry-select-where.html)
- * [GROUP BY Clause](sql-ref-syntax-qry-select-groupby.html)
- * [HAVING Clause](sql-ref-syntax-qry-select-having.html)
- * [ORDER BY Clause](sql-ref-syntax-qry-select-orderby.html)
- * [SORT BY Clause](sql-ref-syntax-qry-select-sortby.html)
- * [CLUSTER BY Clause](sql-ref-syntax-qry-select-clusterby.html)
- * [DISTRIBUTE BY Clause](sql-ref-syntax-qry-select-distribute-by.html)
- * [LIMIT Clause](sql-ref-syntax-qry-select-limit.html)
- * [TABLESAMPLE](sql-ref-syntax-qry-sampling.html)
- * [JOIN](sql-ref-syntax-qry-select-join.html)
- * [SET Operators](sql-ref-syntax-qry-select-setops.html)
- * [Common Table Expression](sql-ref-syntax-qry-select-cte.html)
+* [WHERE Clause](sql-ref-syntax-qry-select-where.html)
+* [GROUP BY Clause](sql-ref-syntax-qry-select-groupby.html)
+* [HAVING Clause](sql-ref-syntax-qry-select-having.html)
+* [ORDER BY Clause](sql-ref-syntax-qry-select-orderby.html)
+* [SORT BY Clause](sql-ref-syntax-qry-select-sortby.html)
+* [CLUSTER BY Clause](sql-ref-syntax-qry-select-clusterby.html)
+* [DISTRIBUTE BY Clause](sql-ref-syntax-qry-select-distribute-by.html)
+* [LIMIT Clause](sql-ref-syntax-qry-select-limit.html)
+* [Common Table Expression](sql-ref-syntax-qry-select-cte.html)
+* [Inline Table](sql-ref-syntax-qry-select-inline-table.html)
+* [JOIN](sql-ref-syntax-qry-select-join.html)
+* [Join Hints](sql-ref-syntax-qry-select-hints.html)
+* [LIKE Predicate](sql-ref-syntax-qry-select-like.html)
+* [Set Operators](sql-ref-syntax-qry-select-setops.html)
+* [TABLESAMPLE](sql-ref-syntax-qry-sampling.html)
+* [Table-valued Function](sql-ref-syntax-qry-select-tvf.html)
+* [Window Function](sql-ref-syntax-qry-window.html)
diff --git a/docs/sql-ref-syntax-qry-window.md b/docs/sql-ref-syntax-qry-window.md
index e376292..a1c2b18 100644
--- a/docs/sql-ref-syntax-qry-window.md
+++ b/docs/sql-ref-syntax-qry-window.md
@@ -25,67 +25,52 @@ Window functions operate on a group of rows, referred to as a window, and calcul
 
 ### Syntax
 
-{% highlight sql %}
+```sql
 window_function OVER
 ( [  { PARTITION | DISTRIBUTE } BY partition_col_name = partition_col_val ( [ , ... ] ) ]
   { ORDER | SORT } BY expression [ ASC | DESC ] [ NULLS { FIRST | LAST } ] [ , ... ]
   [ window_frame ] )
-{% endhighlight %}
+```
 
 ### Parameters
 
-<dl>
-  <dt><code><em>window_function</em></code></dt>
-  <dd>
-    <ul>
-      <li>Ranking Functions</li>
-      <br>
-      <b>Syntax:</b>
-        <code>
-          RANK | DENSE_RANK | PERCENT_RANK | NTILE | ROW_NUMBER
-        </code>
-    </ul>
-    <ul>
-      <li>Analytic Functions</li>
-      <br>
-      <b>Syntax:</b>
-        <code>
-          CUME_DIST | LAG | LEAD
-        </code>
-    </ul>
-    <ul>
-      <li>Aggregate Functions</li>
-      <br>
-      <b>Syntax:</b>
-        <code>
-          MAX | MIN | COUNT | SUM | AVG | ...
-        </code>
-        <br>
-        Please refer to the <a href="api/sql/">Built-in Functions</a> document for a complete list of Spark aggregate functions.
-    </ul>
-  </dd>
-</dl>
-<dl>
-  <dt><code><em>window_frame</em></code></dt>
-  <dd>
-    Specifies which row to start the window on and where to end it.<br>
-    <b>Syntax:</b><br>
-      <code>{ RANGE | ROWS } { frame_start | BETWEEN frame_start AND frame_end }</code><br>
-      If frame_end is omitted it defaults to CURRENT ROW.<br><br>
-      <ul>
-      <code>frame_start</code> and <code>frame_end</code> have the following syntax<br>
-      <b>Syntax:</b><br>
-        <code>
-          UNBOUNDED PRECEDING | offset PRECEDING | CURRENT ROW | offset FOLLOWING | UNBOUNDED FOLLOWING
-        </code><br>
-        <code>offset:</code>specifies the <code>offset</code> from the position of the current row.
-      </ul>
-  </dd>
-</dl>
+* **window_function**
+
+    * Ranking Functions
+
+      **Syntax:** `RANK | DENSE_RANK | PERCENT_RANK | NTILE | ROW_NUMBER`
+
+    * Analytic Functions
+
+      **Syntax:** `CUME_DIST | LAG | LEAD`
+
+    * Aggregate Functions
+
+      **Syntax:** `MAX | MIN | COUNT | SUM | AVG | ...`
+
+      Please refer to the [Built-in Aggregation Functions](sql-ref-functions-builtin.html#aggregate-functions) document for a complete list of Spark aggregate functions.
+
+* **window_frame**
+
+    Specifies which row to start the window on and where to end it.
+
+    **Syntax:**
+
+    `{ RANGE | ROWS } { frame_start | BETWEEN frame_start AND frame_end }`
+
+    * `frame_start` and `frame_end` have the following syntax:
+
+      **Syntax:**
+
+      `UNBOUNDED PRECEDING | offset PRECEDING | CURRENT ROW | offset FOLLOWING | UNBOUNDED FOLLOWING`
+
+      `offset:` specifies the `offset` from the position of the current row.
+
+    **Note:** If `frame_end` is omitted it defaults to `CURRENT ROW`.
 
 ### Examples
 
-{% highlight sql %}
+```sql
 CREATE TABLE employees (name STRING, dept STRING, salary INT, age INT);
 
 INSERT INTO employees VALUES ("Lisa", "Sales", 10000, 35);
@@ -199,8 +184,8 @@ SELECT name, salary,
 | Jane|  Marketing| 29000|29000|35000|
 | Jeff|  Marketing| 35000|29000|    0|
 +-----+-----------+------+-----+-----+
-{% endhighlight %}
+```
 
 ### Related Statements
 
-  * [SELECT](sql-ref-syntax-qry-select.html)
+* [SELECT](sql-ref-syntax-qry-select.html)
diff --git a/docs/sql-ref-syntax-qry.md b/docs/sql-ref-syntax-qry.md
index 325c9b6..1171fea 100644
--- a/docs/sql-ref-syntax-qry.md
+++ b/docs/sql-ref-syntax-qry.md
@@ -27,20 +27,21 @@ to SELECT are also included in this section. Spark also provides the
 ability to generate logical and physical plan for a given query using
 [EXPLAIN](sql-ref-syntax-qry-explain.html) statement.
 
- * [WHERE Clause](sql-ref-syntax-qry-select-where.html)
- * [GROUP BY Clause](sql-ref-syntax-qry-select-groupby.html)
- * [HAVING Clause](sql-ref-syntax-qry-select-having.html)
- * [ORDER BY Clause](sql-ref-syntax-qry-select-orderby.html)
- * [SORT BY Clause](sql-ref-syntax-qry-select-sortby.html)
- * [CLUSTER BY Clause](sql-ref-syntax-qry-select-clusterby.html)
- * [DISTRIBUTE BY Clause](sql-ref-syntax-qry-select-distribute-by.html)
- * [LIMIT Clause](sql-ref-syntax-qry-select-limit.html)
- * [JOIN](sql-ref-syntax-qry-select-join.html)
- * [Join Hints](sql-ref-syntax-qry-select-hints.html)
- * [Set Operators](sql-ref-syntax-qry-select-setops.html)
- * [TABLESAMPLE](sql-ref-syntax-qry-sampling.html)
- * [Table-valued Function](sql-ref-syntax-qry-select-tvf.html)
- * [Inline Table](sql-ref-syntax-qry-select-inline-table.html)
- * [Common Table Expression](sql-ref-syntax-qry-select-cte.html)
- * [Window Function](sql-ref-syntax-qry-window.html)
- * [EXPLAIN Statement](sql-ref-syntax-qry-explain.html)
+* [WHERE Clause](sql-ref-syntax-qry-select-where.html)
+* [GROUP BY Clause](sql-ref-syntax-qry-select-groupby.html)
+* [HAVING Clause](sql-ref-syntax-qry-select-having.html)
+* [ORDER BY Clause](sql-ref-syntax-qry-select-orderby.html)
+* [SORT BY Clause](sql-ref-syntax-qry-select-sortby.html)
+* [CLUSTER BY Clause](sql-ref-syntax-qry-select-clusterby.html)
+* [DISTRIBUTE BY Clause](sql-ref-syntax-qry-select-distribute-by.html)
+* [LIMIT Clause](sql-ref-syntax-qry-select-limit.html)
+* [Common Table Expression](sql-ref-syntax-qry-select-cte.html)
+* [Inline Table](sql-ref-syntax-qry-select-inline-table.html)
+* [JOIN](sql-ref-syntax-qry-select-join.html)
+* [Join Hints](sql-ref-syntax-qry-select-hints.html)
+* [LIKE Predicate](sql-ref-syntax-qry-select-like.html)
+* [Set Operators](sql-ref-syntax-qry-select-setops.html)
+* [TABLESAMPLE](sql-ref-syntax-qry-sampling.html)
+* [Table-valued Function](sql-ref-syntax-qry-select-tvf.html)
+* [Window Function](sql-ref-syntax-qry-window.html)
+* [EXPLAIN Statement](sql-ref-syntax-qry-explain.html)


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@spark.apache.org
For additional commands, e-mail: commits-help@spark.apache.org