Convert html table to markdown table.

Change-Id: Ib42eac4846710ec020694a91188963921d6adbc4
diff --git a/src/main/java/com/google/gwt/site/markdown/MDTranslater.java b/src/main/java/com/google/gwt/site/markdown/MDTranslater.java
index 0abe824..4d2b429 100644
--- a/src/main/java/com/google/gwt/site/markdown/MDTranslater.java
+++ b/src/main/java/com/google/gwt/site/markdown/MDTranslater.java
@@ -25,8 +25,8 @@
 import java.util.List;
 
 public class MDTranslater {
-  private static final int PEG_DOWN_FLAGS = Extensions.SMARTYPANTS | Extensions.AUTOLINKS | 
-      Extensions.FENCED_CODE_BLOCKS;
+  private static final int PEG_DOWN_FLAGS = Extensions.SMARTYPANTS | Extensions.AUTOLINKS |
+      Extensions.FENCED_CODE_BLOCKS | Extensions.TABLES | Extensions.DEFINITIONS;
 
   private PegDownProcessor pegDownProcessor = new PegDownProcessor(PEG_DOWN_FLAGS, Long
       .MAX_VALUE);
diff --git a/src/main/markdown/doc/latest/DevGuideCodingBasicsFormatting.md b/src/main/markdown/doc/latest/DevGuideCodingBasicsFormatting.md
index 384dd99..c3e9f47 100644
--- a/src/main/markdown/doc/latest/DevGuideCodingBasicsFormatting.md
+++ b/src/main/markdown/doc/latest/DevGuideCodingBasicsFormatting.md
@@ -61,37 +61,14 @@
 
 Here are the most commonly used pattern symbols for decimal formats:
 
-<table>
-<tr>
-<td style="border: 1px solid #aaa; padding: 5px;">Symbol</td>
-<td style="border: 1px solid #aaa; padding: 5px;">Meaning</td>
-</tr>
+| Symbol | Meaning                                         |
+| ------ | ----------------------------------------------- |
+| 0      | Digit, zero forced                              |
+| #      | Digit, zero shows as absent                     |
+| .      | Decimal separator or monetary decimal separator |
+| \-     | Minus sign                                      |
+| ,      | Grouping separator                              |
 
-<tr>
-<td style="border: 1px solid #aaa; padding: 5px;">0</td>
-<td style="border: 1px solid #aaa; padding: 5px;">Digit, zero forced</td>
-</tr>
-
-<tr>
-<td style="border: 1px solid #aaa; padding: 5px;">#</td>
-<td style="border: 1px solid #aaa; padding: 5px;">Digit, zero shows as absent</td>
-</tr>
-
-<tr>
-<td style="border: 1px solid #aaa; padding: 5px;">.</td>
-<td style="border: 1px solid #aaa; padding: 5px;">Decimal separator or monetary decimal separator</td>
-</tr>
-
-<tr>
-<td style="border: 1px solid #aaa; padding: 5px;">-</td>
-<td style="border: 1px solid #aaa; padding: 5px;">Minus sign</td>
-</tr>
-
-<tr>
-<td style="border: 1px solid #aaa; padding: 5px;">,</td>
-<td style="border: 1px solid #aaa; padding: 5px;">Grouping separator</td>
-</tr>
-</table>
 
 Specifying an invalid pattern will cause the `NumberFormat.getFormat()` method to throw an `java.lang.IllegalArgumentException`. The `pattern`
 specification is very rich. Refer to the [class
diff --git a/src/main/markdown/doc/latest/DevGuideCodingBasicsHistory.md b/src/main/markdown/doc/latest/DevGuideCodingBasicsHistory.md
index 09e491c..920a4bb 100644
--- a/src/main/markdown/doc/latest/DevGuideCodingBasicsHistory.md
+++ b/src/main/markdown/doc/latest/DevGuideCodingBasicsHistory.md
@@ -131,50 +131,13 @@
 questionnaire is presented, a history token is added to the history stack. Note that with stateful applications, such as a questionnaire, some careful thought needs to be given to
 implementing the history callback. When returning to a page using a token, some logic needs to restore the previous state.
 
-<table>
-<tr>
-<td style="border: 1px solid #aaa; padding: 5px;">Token</td>
-<td style="border: 1px solid #aaa; padding: 5px;">Action</td>
-</tr>
-
-<tr>
-<td style="border: 1px solid #aaa; padding: 5px;">"info"</td>
-<td style="border: 1px solid #aaa; padding: 5px;">Navigate to page where user enters biographic info. Restore previously entered data</td>
-</tr>
-
-<tr>
-<td style="border: 1px solid #aaa; padding: 5px;">"page1"</td>
-<td style="border: 1px solid #aaa; padding: 5px;">Navigate to page 1 in the questionnaire. Restore previous answers.</td>
-</tr>
-
-<tr>
-<td style="border: 1px solid #aaa; padding: 5px;">"page2"</td>
-<td style="border: 1px solid #aaa; padding: 5px;">Navigate to page 2 in the questionnaire. Restore previous answers.</td>
-</tr>
-
-<tr>
-<td style="border: 1px solid #aaa; padding: 5px;">"page"
-
-```
-<span class="error"><n></span>
-```
-
-</td>
-<td style="border: 1px solid #aaa; padding: 5px;">Navigate to page
-
-```
-<span class="error"><n></span>
-```
-
-...</td>
-</tr>
-
-<tr>
-<td style="border: 1px solid #aaa; padding: 5px;">"end"</td>
-<td style="border: 1px solid #aaa; padding: 5px;">Navigate to the end of the questionnaire. Validate that all questions were answered. Make sure not to re-submit the
-questionnaire.</td>
-</tr>
-</table>
+| Token | Action                                                                                                                              |
+| ------| ----------------------------------------------------------------------------------------------------------------------------------- |
+| info  | Navigate to page where user enters biographic info. Restore previously entered data                                                 |
+| page1 | Navigate to page 1 in the questionnaire. Restore previous answers.                                                                  |
+| page2 | Navigate to page 2 in the questionnaire. Restore previous answers.                                                                  |
+| pageN | Navigate to page _N_ ...                                                                                                            |
+| end   | Navigate to the end of the questionnaire. Validate that all questions were answered. Make sure not to re-submit the questionnaire.  |
 
 In the above case, navigating back to a page would be possible, but there isn't enough information in the history token to restore the user's previous answers. A better
 encoding for the token would be a syntax such as:
diff --git a/src/main/markdown/doc/latest/DevGuideCodingBasicsJSNI.md b/src/main/markdown/doc/latest/DevGuideCodingBasicsJSNI.md
index 8c885fc..e09a372 100644
--- a/src/main/markdown/doc/latest/DevGuideCodingBasicsJSNI.md
+++ b/src/main/markdown/doc/latest/DevGuideCodingBasicsJSNI.md
@@ -268,88 +268,28 @@
 
 ## Passing Java values into JavaScript<a id="passing-java"></a>
 
-<table>
-<tr>
-<th width="30%">Incoming Java type</th>
-<th>How it appears to JavaScript code</th>
-</tr>
+| Incoming Java type                                                                   | How it appears to JavaScript code                                                                                                      |
+| ------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- |
+| String                                                                               | JavaScript string, as in `var b = "foo";`                                                                                              |
+| boolean                                                                              | JavaScript boolean value, as in `var b = true;`                                                                                        |
+| long                                                                                 | disallowed (see notes)                                                                                                                 |
+| other numeric primitives                                                             | JavaScript numeric value, as in `var x = 42;`                                                                                          |
+| [JavaScriptObject](/javadoc/latest/com/google/gwt/core/client/JavaScriptObject.html) | `JavaScriptObject` that must have originated from JavaScript code, typically as the return value of some other JSNI method (see notes) |
+| Java array                                                                           | opaque value that can only be passed back into Java code                                                                               |
+| any other Java `Object`                                                              | opaque value accessible through special syntax                                                                                         |
 
-<tr>
-<td>`boolean` </td>
-<td>JavaScript string, as in `boolean` </td>
-</tr>
-
-<tr>
-<td>`boolean` </td>
-<td>JavaScript boolean value, as in `var b = true;` </td>
-</tr>
-
-<tr>
-<td>`long` </td>
-<td>disallowed (see notes)</td>
-</tr>
-
-<tr>
-<td>other numeric primitives</td>
-<td>JavaScript numeric value, as in `var x = 42;` </td>
-</tr>
-
-<tr>
-<td><a href="/javadoc/latest/com/google/gwt/core/client/JavaScriptObject.html">JavaScriptObject</a> </td>
-<td>`JavaScriptObject` that must have originated from JavaScript code, typically as the return value of some other JSNI method
-(see notes)</td>
-</tr>
-
-<tr>
-<td>Java array</td>
-<td>opaque value that can only be passed back into Java code</td>
-</tr>
-
-<tr>
-<td>any other Java `Object` </td>
-<td>opaque value accessible through special syntax</td>
-</tr>
-</table>
 
 ## Passing JavaScript values into Java code<a id="passing-javascript"></a>
 
-<table>
-<tr>
-<th width="30%">Outgoing Java type</th>
-<th>What must be passed</th>
-</tr>
+| Outgoing Java type                                                                   | What must be passed                                                                                                                        |
+| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ |
+| String                                                                               | JavaScript string, as in `return "boo";`                                                                                                   |
+| boolean                                                                              | JavaScript boolean value, as in `return false;`                                                                                            |
+| long                                                                                 | disallowed (see notes)                                                                                                                     |
+| Java numeric primitive                                                               | JavaScript numeric value, as in `return 19;`                                                                                               |
+| [JavaScriptObject](/javadoc/latest/com/google/gwt/core/client/JavaScriptObject.html) | native JavaScript object, as in `return document.createElement("div")` (see notes)                                                         |
+| any other Java `Object` (including arrays)                                           | Java `Object` of the correct type that must have originated in Java code; Java objects cannot be constructed from "thin air" in JavaScript |
 
-<tr>
-<td>`String` </td>
-<td>JavaScript string, as in `return "boo";` </td>
-</tr>
-
-<tr>
-<td>`boolean` </td>
-<td>JavaScript boolean value, as in `return false;` </td>
-</tr>
-
-<tr>
-<td>`long` </td>
-<td>disallowed (see notes)</td>
-</tr>
-
-<tr>
-<td>Java numeric primitive</td>
-<td>JavaScript numeric value, as in `return 19;` </td>
-</tr>
-
-<tr>
-<td><a href="/javadoc/latest/com/google/gwt/core/client/JavaScriptObject.html">JavaScriptObject</a> </td>
-<td>native JavaScript object, as in `return document.createElement("div")` (see notes)</td>
-</tr>
-
-<tr>
-<td>any other Java `Object` (including arrays)</td>
-<td>Java `Object` of the correct type that must have originated in Java code; Java objects cannot be constructed from "thin
-air" in JavaScript</td>
-</tr>
-</table>
 
 ## Important Notes<a id="important"></a>
 
diff --git a/src/main/markdown/doc/latest/DevGuideHtml5Storage.md b/src/main/markdown/doc/latest/DevGuideHtml5Storage.md
index bd56e34..efab001 100644
--- a/src/main/markdown/doc/latest/DevGuideHtml5Storage.md
+++ b/src/main/markdown/doc/latest/DevGuideHtml5Storage.md
@@ -43,30 +43,10 @@
 
 HTML5 Web Storage defines two types of key-value storage types: sessionStorage and localStorage. The primary behavioral difference is how long the values persist and how they are shared. The following table shows the differences between the two types of storage.
 
-<table>
-<tr>
-<th>Storage Type</th>
-<th>Max Size</th>
-<th>Persistence</th>
-<th>Availability to other Windows/tabs</th>
-<th>Data Type Supported</th>
-</tr>
-<tr>
-<td>LocalStorage</td>
-<td>5MB per app per browser. According to the <a href="http://www.w3.org/TR/2009/WD-webstorage-20091222/#the-storage-interface">HTML5 spec</a>, this limit can be increased by the user when needed; however, only a few browsers support this</td>
-<td>On disk until deleted by user (delete cache) or by the app</td>
-<td>Shared across every window and tab of one browser running same web app</td>
-<td>String only, as key-value pairs</td>
-</tr>
-
-<tr>
-<td>SessionStorage</td>
-<td>Limited only by system memory</td>
-<td>Survives only as long as its originating window or tab</td>
-<td>Accessible only within the window or tab that created it</td>
-<td>String only, as key-value pairs</td>
-</tr>
-</table>
+| Storage Type   | Max Size                                                                                                                                                                                                                        | Persistence                                                | Availability to other Windows/tabs                                     | Data Type Supported             |
+| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------------------- | ------------------------------- |
+| LocalStorage   | 5MB per app per browser. According to the [HTML5 spec](http://www.w3.org/TR/2009/WD-webstorage-20091222/#the-storage-interface), this limit can be increased by the user when needed; however, only a few browsers support this | On disk until deleted by user (delete cache) or by the app | Shared across every window and tab of one browser running same web app | String only, as key-value pairs |
+| SessionStorage | Limited only by system memory                                                                                                                                                                                                   | Survives only as long as its originating window or tab     | Accessible only within the window or tab that created it               | String only, as key-value pairs |
 
 ### How Local Storage Is Shared by the Browser
 
@@ -247,36 +227,13 @@
 
 The storage event handlers get a storage event object that contains various useful information, such as the old value and the new value, in the case of an update to an existing key-value pair. The following can be obtained from the StorageEvent object:
 
-<table>
-<tr>
-<th>Method</th>
-<th>Description</th>
-</tr>
-<tr>
-<td>getKey</td>
-<td>Returns the key being changed.</td>
-</tr>
-
-<tr>
-<td>getNewValue</td>
-<td>Returns the value of the key after the change, or null if not changed or if it is the result of a Storage.clear() operation.</td>
-</tr>
-
-<tr>
-<td>getOldValue</td>
-<td>Returns the value of the key before the change, or null if not changed or if it is the result of a Storage.clear() operation.</td>
-</tr>
-
-<tr>
-<td>getStorageArea</td>
-<td>Returns the SessionStorage or LocalStorage object where the event occurred.</td>
-</tr>
-
-<tr>
-<td>getURL</td>
-<td>The address of the document in which the change occurred.</td>
-</tr>
-</table>
+| Method         | Description                                                                                                                   |
+| -------------- | ----------------------------------------------------------------------------------------------------------------------------- |
+| getKey         | Returns the key being changed.                                                                                                |
+| getNewValue    | Returns the value of the key after the change, or null if not changed or if it is the result of a Storage.clear() operation.  |
+| getOldValue    | Returns the value of the key before the change, or null if not changed or if it is the result of a Storage.clear() operation. |
+| getStorageArea | Returns the SessionStorage or LocalStorage object where the event occurred.                                                   |
+| getURL         | The address of the document in which the change occurred.                                                                     |
 
 The following snippet shows a sample event handler registered with a storage, where the changes from the incoming events are displayed in a UI label.
 
diff --git a/src/main/markdown/doc/latest/DevGuideI18nMessages.md b/src/main/markdown/doc/latest/DevGuideI18nMessages.md
index 70def89..bb5862b 100644
--- a/src/main/markdown/doc/latest/DevGuideI18nMessages.md
+++ b/src/main/markdown/doc/latest/DevGuideI18nMessages.md
@@ -91,84 +91,67 @@
 In addition to the formatting supported by [MessageFormat](http://java.sun.com/j2se/1.5.0/docs/api/java/text/MessageFormat.html),
 GWT supports a number of extensions.
 
-<dl>
-<dt>`{name,text}`
-<dd>A "static argument", which is simply `text`, except that it appears
-in translation output as if it were a placeholder named `name`.
-`text` is always terminated by the next "}".  This is
-useful to keep non-translated code out of what the translator sees, for example
-HTML markup:
+`{name,text}`
+:    A "static argument", which is simply `text`, except that it appears
+     in translation output as if it were a placeholder named `name`.
+     `text` is always terminated by the next "}".  This is
+     useful to keep non-translated code out of what the translator sees, for example
+     HTML markup:
 
-```
-@DefaultMessage("Welcome back, {startBold,<b>}{0}{endBold,</b>}")
-```
+    ```
+    @DefaultMessage("Welcome back, {startBold,<b>}{0}{endBold,</b>}")
+    ```
 
-<dt>`{0,list}` or `{0,list,format...}`
-<dd>Format a `List` or array using locale-specific punctuation.  For
-example, in English, lists would be formatted like this:
+`{0,list}` or `{0,list,format...}`
+:   Format a `List` or array using locale-specific punctuation.  For
+    example, in English, lists would be formatted like this:
 
-<table>
-<tr><th># of Items</th><th>Sample Output</th></tr>
-<tr><td align="center">0</td><td><i>(empty string)</i></td></tr>
-<tr><td align="center">1</td><td>a</td></tr>
-<tr><td align="center">2</td><td>a and b</td></tr>
-<tr><td align="center">3</td><td>a, b, and c</td></tr>
-</table>
+:   | # of Items | Sample Output |
+    | :--------: | ------------- |
+    | 0          | _(empty string)_ |
+    | 1          | a |
+    | 2          | a and b |
+    | 3          | a, b, and c |
 
-Note that only the locale-default separator and the logical conjuctive form is
-supported -- there is currently no way to produce a list like "a; b; or c".
+:   Note that only the locale-default separator and the logical conjuctive form is
+    supported -- there is currently no way to produce a list like "a; b; or c".
+:   See the [plurals documentation](DevGuideI18nPluralForms.html#Lists) for how this interacts with plural support.
+    The format following the `list` tag, if any, describes how each list
+    element is formatted.  Ie, `{0,list}` means every element is formatted
+    as if by `{0}`, `{0,list,number,#,##}` as if by
+    `[0,number,#,##}`, etc.
 
-See the [plurals documentation](DevGuideI18nPluralForms.html#Lists) for how this interacts with plural support.
+`{0,localdatetime,skeleton}`
+:   Format a date/time in a locale-specific format using the supplied skeleton
+    pattern.  The order of the pattern characters doesn't matter, and spaces or other separators don't
+    matter.  The localized pattern will contain the same fields (but may change
+    `MMM` into `LLL` for example) and the same count of each.
+:   If one of the predefined formats are not sufficient, you will be much
+    better off using a skeleton pattern so you will include the items you want
+    but still get a localized format.
+:   For example, if you used `{0,date,MM/dd/yy}` to format a date, you
+    get exactly that pattern in every locale, which is going to cause confusion for
+    those users who expect `dd/MM/yy`.  Instead, you can use
+    `{0,localdatetime,MMddyy}` and you will get properly localized patterns
+    for each locale.
 
-The format following the `list` tag, if any, describes how each list
-element is formatted.  Ie, `{0,list}` means every element is formatted
-as if by `{0}`, `{0,list,number,#,##}` as if by
-`[0,number,#,##}`, etc.
+`{0,localdatetime,predef:PREDEF_NAME}`
+:   Use a locale-specific predefined format -- see [DateTimeFormat.PredefinedFormat](/javadoc/latest/com/google/gwt/i18n/client/DateTimeFormat.PredefinedFormat.html)"
+    for possible values, example: `{0,localdatetime,predef:DATE_SHORT}`.
 
-<dt>`{0,localdatetime,skeleton}`
-<dd>Format a date/time in a locale-specific format using the supplied skeleton
-pattern.  The order of
-the pattern characters doesn't matter, and spaces or other separators don't
-matter.  The localized pattern will contain the same fields (but may change
-`MMM` into `LLL` for example) and the same count of each.
+extra formatter arguments
+:   Some formatters accept additional arguments.  These are added to the main format specification, separated by a colon -- for example:
+    `{0,list,number:curcode=USD,currency}` says to use the default currency format for list elements, but use USD (US Dollars) for the currency code.  You
+    can also supply a dynamic argument, such as `{0,localdatetime:tz=$tz,predef:DATE_FULL}`, which says the timezone to
+    use is supplied by a parameter `TimeZone tz` supplied to the method.
+    Where supported, multiple arguments can be supplied like `{0,format:arg1=val:arg2=val}`.
 
-If one of the predefined formats are not sufficient, you will be much
-better off using a skeleton pattern so you will include the items you want
-but still get a localized format.
+:   Currently supported arguments:
 
-For example, if you used `{0,date,MM/dd/yy}` to format a date, you
-get exactly that pattern in every locale, which is going to cause confusion for
-those users who expect `dd/MM/yy`.  Instead, you can use
-`{0,localdatetime,MMddyy}` and you will get properly localized patterns
-for each locale.
-
-<dt>`{0,localdatetime,predef:PREDEF_NAME}`
-<dd>Use a locale-specific predefined format -- see `<a
-href="/javadoc/latest/com/google/gwt/i18n/client/DateTimeFormat.PredefinedFormat.html">DateTimeFormat.PredefinedFormat</a>`
-for possible values, example: `{0,localdatetime,predef:DATE_SHORT}`.
-
-<dt>extra formatter arguments
-<dd>Some formatters accept additional arguments.  These are added to the main format
-specification, separated by a colon -- for example:
-`{0,list,number:curcode=USD,currency}` says to use the default currency
-format for list elements, but use USD (US Dollars) for the currency code.  You
-can also supply a dynamic argument, such as
-`{0,localdatetime:tz=$tz,predef:DATE_FULL}`, which says the timezone to
-use is supplied by a parameter `TimeZone tz` supplied to the method.
-Where supported, multiple arguments can be supplied like `{0,format:arg1=val:arg2=val}`.
-
-Currently supported arguments:
-
-<table>
-<tr><th>Format</th><th>Argument Name</th><th>Argument Type</th><th>Description</th></tr>
-<tr><td>number</td><td>curcode</td><td>`String`</td><td>Currency code to
-use for currency formatting</td></tr>
-<tr><td>date, time, or
-localdatetime</td><td>tz</td><td>`TimeZone`</td><td>Time zone to
-use for date/time formatting</td></tr>
-</table>
-
-</dl>
+:   | Format                       | Argument Name | Argument Type | Description |
+    | ---------------------------- | ------------- | ------------- | ----------- |
+    | number                       | curcode       | `String`      | Currency code to use for currency formatting |
+    | date, time, or localdatetime | tz            | `TimeZone`    | Time zone to use for date/time formatting |
 
 ## Using Annotations<a id="MessagesAnnotations"></a>
 
@@ -180,16 +163,16 @@
 
 The following annotations apply to methods in a `Messages` subtype:
 
-*   **`[@DefaultMessage(String
-message)](/javadoc/latest/com/google/gwt/i18n/client/Messages.DefaultMessage.html)`**
+*   **[@DefaultMessage(String
+message)](/javadoc/latest/com/google/gwt/i18n/client/Messages.DefaultMessage.html)**
     Specifies the message string to be used for the default locale for this
 method, with all of the options above.  If an `@AlternateMessage`
 annotation is present, this is the default text used when more specific forms
 do not apply &mdash; for count messages in English, this would be the plural
 form instead of the singular form.
 
-*   **`[@AlternateMessage({String
-form, String message, ...})](/javadoc/latest/com/google/gwt/i18n/client/Messages.AlternateMessage.html)`**
+*   **[@AlternateMessage({String
+form, String message, ...})](/javadoc/latest/com/google/gwt/i18n/client/Messages.AlternateMessage.html)**
     Specifies the text for alternate forms of the message.  The supplied array of
 strings must be in pairs, with the first entry the name of an alternate form
 appropriate for the default locale, and the second being the message to use for
@@ -203,18 +186,18 @@
 
 `Messages` subtype:
 
-*   **`[@Example(String
-example)](/javadoc/latest/com/google/gwt/i18n/client/Messages.Example.html)`**
+*   **[@Example(String
+example)](/javadoc/latest/com/google/gwt/i18n/client/Messages.Example.html)**
     An example for this variable. Many translation tools will show this to the
 translator instead of the placeholder &mdash; i.e., `Hello {0}` with
 `@Example("John")` will show as `Hello John` with "John"
 highlighted to indicate it should not be translated.
-*   **`[@Optional
-](/javadoc/latest/com/google/gwt/i18n/client/Messages.Optional.html)`**
+*   **[@Optional
+](/javadoc/latest/com/google/gwt/i18n/client/Messages.Optional.html)**
     Indicates that this parameter need not be present in all translations. If this
 annotation is not supplied, it is a compile-time error if the translated string
 being compiled does not include the parameter.
-*   **`[@PluralCount](/javadoc/latest/com/google/gwt/i18n/client/Messages.PluralCount.html)`**
+*   **[@PluralCount](/javadoc/latest/com/google/gwt/i18n/client/Messages.PluralCount.html)**
 Indicates that this parameter is used to select which form of text to use (ie,
 1 widget vs. 2 widgets).<p/>
 The argument annotated must be int, short, an array, or a list (in the latter
diff --git a/src/main/markdown/doc/latest/DevGuideOrganizingProjects.md b/src/main/markdown/doc/latest/DevGuideOrganizingProjects.md
index 46ea85c..b5365a0 100644
--- a/src/main/markdown/doc/latest/DevGuideOrganizingProjects.md
+++ b/src/main/markdown/doc/latest/DevGuideOrganizingProjects.md
@@ -123,70 +123,18 @@
 
 The src directory contains an application's Java source files, the module definition, and external resource files.
 
-<table>
-<tr>
-<th>Package</th>
-<th>File</th>
-<th>Purpose</th>
-</tr>
+| Package                                  | File                             | Purpose |
+| ---------------------------------------- | -------------------------------- | ------- |
+| `com.google.gwt.sample.dynatable`        |                                  | The project root package contains module XML files. |
+| `com.google.gwt.sample.dynatable`        | `DynaTable.gwt.xml`              | Your application module. Inherits `com.google.gwt.user.User` and adds an entry point class, `com.google.gwt.sample.dynatable.client.DynaTable`. |
+| `com.google.gwt.sample.dynatable.public` |                                  | Static resources that are loaded programmatically by GWT code. Files in the public directory are copied into the same directory as the GWT compiler output. |
+| `com.google.gwt.sample.dynatable.public` | `logo.gif`                       | An image file available to the application code. You might load this file programmatically using this URL: `GWT.getModuleBaseForStaticFiles() + "logo.gif"`. |
+| `com.google.gwt.sample.dynatable.client` |                                  | Client-side source files and subpackages. |
+| `com.google.gwt.sample.dynatable.client` | `DynaTable.java`                 | Client-side Java source for the entry-point class. |
+| `com.google.gwt.sample.dynatable.client` | `SchoolCalendarService.java`     | An RPC service interface. |
+| `com.google.gwt.sample.dynatable.server` |                                  | Server-side code and subpackages. |
+| `com.google.gwt.sample.dynatable.server` | `SchoolCalendarServiceImpl.java` | Server-side Java source that implements the logic of the service. |
 
-<tr>
-<td>`com.google.gwt.sample.dynatable` </td>
-<td/>
-<td>The project root package contains module XML files.</td>
-</tr>
-
-<tr>
-<td>`com.google.gwt.sample.dynatable` </td>
-<td>`DynaTable.gwt.xml` </td>
-<td>Your application module. Inherits `com.google.gwt.user.User` and adds an entry point class,
-`com.google.gwt.sample.dynatable.client.DynaTable`.</td>
-</tr>
-
-<tr>
-<td>`com.google.gwt.sample.dynatable.public` </td>
-<td/>
-<td>Static resources that are loaded programmatically by GWT code. Files in the public directory are copied into the same directory
-as the GWT compiler output.</td>
-</tr>
-
-<tr>
-<td>`com.google.gwt.sample.dynatable.public` </td>
-<td>`logo.gif` </td>
-<td>An image file available to the application code. You might load this file programmatically using this URL:
-`GWT.getModuleBaseForStaticFiles() + "logo.gif"`.</td>
-</tr>
-
-<tr>
-<td>`com.google.gwt.sample.dynatable.client` </td>
-<td/>
-<td>Client-side source files and subpackages.</td>
-</tr>
-
-<tr>
-<td>`com.google.gwt.sample.dynatable.client` </td>
-<td>`DynaTable.java` </td>
-<td>Client-side Java source for the entry-point class.</td>
-</tr>
-
-<tr>
-<td>`com.google.gwt.sample.dynatable.client` </td>
-<td>`SchoolCalendarService.java` </td>
-<td>An RPC service interface.</td>
-</tr>
-
-<tr>
-<td>`com.google.gwt.sample.dynatable.server` </td>
-<td/>
-<td>Server-side code and subpackages.</td>
-</tr>
-
-<tr>
-<td>`com.google.gwt.sample.dynatable.server` </td>
-<td>`SchoolCalendarServiceImpl.java` </td>
-<td>Server-side Java source that implements the logic of the service.</td>
-</tr>
-</table>
 
 #### The war directory
 
@@ -200,107 +148,30 @@
 
 A detailed description of the war format is beyond the scope of this document, but here are the basic pieces you will want to know about:
 
-<table>
-<tr>
-<th>Directory</th>
-<th>File</th>
-<th>Purpose</th>
-</tr>
+| Directory                       | File                    | Purpose |
+| ------------------------------- | ----------------------- | ------- |
+| `DynaTable/war/`                | `DynaTable.html`        | A host HTML page that loads the DynaTable app. |
+| `DynaTable/war/`                | `DynaTable.css`         | A static style sheet that styles the DynaTable app. |
+| `DynaTable/war/dynatable/`      |                         | The DynaTable module directory where the GWT compiler writes output and files on the public path are copied. NOTE: by default this directory would be the long, fully-qualified module name `com.google.gwt.sample.dynatable.DynaTable`. However, in our GWT module XML file we used the `rename-to="dynatable"` attribute to shorten it to a nice name. |
+| `DynaTable/war/dynatable/`      | `dynatable.nocache.js`  | The "selection script" for DynaTable. This is the script that must be loaded from the host HTMLto load the GWT module into the page. |
+| `DynaTable/war/WEB-INF`         |                         | All non-public resources live here, see the servlet specification for more detail. |
+| `DynaTable/war/WEB-INF`         | `web.xml`               | Configures your web app and any servlets. |
+| `DynaTable/war/WEB-INF/classes` |                         | Java compiled class files live here to implement server-side functionality. If you're using an IDE set the output directory to this folder. |
+| `DynaTable/war/WEB-INF/lib`     |                         | Any library dependencies your server code needs goes here. |
+| `DynaTable/war/WEB-INF/lib`     | `gwt-servlet.jar`       | If you have any servlets using GWT RPC, you will need to place a copy of `gwt-servlet.jar` here. |
 
-<tr>
-<td><nobr>`DynaTable/war/`</nobr></td>
-<td>`DynaTable.html`</td>
-<td>A host HTML page that loads the DynaTable app.</td>
-</tr>
-
-<tr>
-<td><nobr>`DynaTable/war/`</nobr></td>
-<td>`DynaTable.css`</td>
-<td>A static style sheet that styles the DynaTable app.</td>
-</tr>
-
-<tr>
-<td><nobr>`DynaTable/war/dynatable/`</nobr></td>
-<td/>
-<td>The DynaTable module directory where the GWT compiler writes output and files on the public path are copied. NOTE: by default
-this directory would be the long, fully-qualified module name `com.google.gwt.sample.dynatable.DynaTable`. However, in our GWT module XML file we used the
-`rename-to="dynatable"` attribute to shorten it to a nice name.</td>
-</tr>
-
-<tr>
-<td><nobr>`DynaTable/war/dynatable/`</nobr></td>
-<td>`dynatable.nocache.js` </td>
-<td>The "selection script" for DynaTable. This is the script that must be loaded from the host HTMLto load the GWT module into the
-page.</td>
-</tr>
-
-<tr>
-<td><nobr>`DynaTable/war/WEB-INF`</nobr></td>
-<td/>
-<td>All non-public resources live here, see the servlet specification for more detail.</td>
-</tr>
-
-<tr>
-<td><nobr>`DynaTable/war/WEB-INF`</nobr></td>
-<td>`web.xml` </td>
-<td>Configures your web app and any servlets.</td>
-</tr>
-
-<tr>
-<td><nobr>`DynaTable/war/WEB-INF/classes`</nobr></td>
-<td/>
-<td>Java compiled class files live here to implement server-side functionality. If you're using an IDE set the output directory to
-this folder.</td>
-</tr>
-
-<tr>
-<td><nobr>`DynaTable/war/WEB-INF/lib`</nobr></td>
-<td/>
-<td>Any library dependencies your server code needs goes here.</td>
-</tr>
-
-<tr>
-<td><nobr>`DynaTable/war/WEB-INF/lib`</nobr></td>
-<td>`gwt-servlet.jar` </td>
-<td>If you have any servlets using GWT RPC, you will need to place a copy of `gwt-servlet.jar` here.</td>
-</tr>
-</table>
 
 #### The test directory
 
 The test directory contains the source files for any JUnit tests.
 
-<table>
-<tr>
-<th>Package</th>
-<th>File</th>
-<th>Purpose</th>
-</tr>
+| Package                                   | File                                  | Purpose |
+| ----------------------------------------- | ------------------------------------- | ------- |
+| `com.google.gwt.sample.dynatable.client`  |                                       | Client-side test files and subpackages. |
+| `com.google.gwt.sample.dynatable.client`  | `DynaTableTest.java`                  | Test cases for the entry-point class. |
+| `com.google.gwt.sample.dynatable.server`  |                                       | Server-side test files and subpackages. |
+| `com.google.gwt.sample.dynatable.server`  | `SchoolCalendarServiceImplTest.java`  | Test cases for server classes. |
 
-<tr>
-<td>`com.google.gwt.sample.dynatable.client` </td>
-<td/>
-<td>Client-side test files and subpackages.</td>
-</tr>
-
-<tr>
-<td>`com.google.gwt.sample.dynatable.client` </td>
-<td>`DynaTableTest.java` </td>
-<td>Test cases for the entry-point class.</td>
-</tr>
-
-<tr>
-<td>`com.google.gwt.sample.dynatable.server` </td>
-<td/>
-<td>Server-side test files and subpackages.</td>
-</tr>
-
-<tr>
-<td>`com.google.gwt.sample.dynatable.server` </td>
-<td>`SchoolCalendarServiceImplTest.java` </td>
-<td>Test cases for server classes.</td>
-</tr>
-</table>
 
 ## Modules: Units of configuration<a id="DevGuideModules"></a>
 
@@ -580,84 +451,26 @@
 
 ### Standard Modules GWT 1.5
 
-<table>
-<tr>
-<td><strong>Module</strong> </td>
-<td><strong>Logical Name</strong> </td>
-<td><strong>Module Definition</strong> </td>
-<td><strong>Contents</strong> </td>
-</tr>
+| Module | Logical Name               | Module Definition | Contents |
+| ------ | -------------------------- | ----------------- | -------- |
+| User   | com.google.gwt.user.User   | User.gwt.xml      | Core GWT functionality |
+| HTTP   | com.google.gwt.http.HTTP   | HTTP.gwt.xml      | Low-level HTTP communications library |
+| JSON   | com.google.gwt.json.JSON   | JSON.gwt.xml      | JSON creation and parsing |
+| JUnit  | com.google.gwt.junit.JUnit | JUnit.gwt.xml     | JUnit testing framework integration |
+| XML    | com.google.gwt.xml.XML     | XML.gwt.xml       | XML document creation and parsing |
 
-<tr>
-<td>User</td>
-<td>com.google.gwt.user.User</td>
-<td>User.gwt.xml</td>
-<td>Core GWT functionality</td>
-</tr>
-
-<tr>
-<td>HTTP</td>
-<td>com.google.gwt.http.HTTP</td>
-<td>HTTP.gwt.xml</td>
-<td>Low-level HTTP communications library</td>
-</tr>
-
-<tr>
-<td>JSON</td>
-<td>com.google.gwt.json.JSON</td>
-<td>JSON.gwt.xml</td>
-<td>JSON creation and parsing</td>
-</tr>
-
-<tr>
-<td>JUnit</td>
-<td>com.google.gwt.junit.JUnit</td>
-<td>JUnit.gwt.xml</td>
-<td>JUnit testing framework integration</td>
-</tr>
-
-<tr>
-<td>XML</td>
-<td>com.google.gwt.xml.XML</td>
-<td>XML.gwt.xml</td>
-<td>XML document creation and parsing</td>
-</tr>
-</table>
 
 GWT 1.5 also provides several _theme_ modules which contain default styles for widgets and panels. You can specify one theme in your project's module XML file to use as a
 starting point for styling your application, but you are not required to use any of them.
 
 ### Themes
 
-<table>
-<tr>
-<td><strong>Module</strong> </td>
-<td><strong>Logical Name</strong> </td>
-<td><strong>Module Definition</strong> </td>
-<td><strong>Contents</strong> </td>
-</tr>
+| Module   | Logical Name                                | Module Definition       | Contents  |
+| -------- | ------------------------------------------- | ----------------------- | --------- |
+| Chrome   | com.google.gwt.user.theme.chrome.Chrome     | Chrome.gwt.xml          | Style sheet and images for the Chrome theme. |
+| Dark     | com.google.gwt.user.theme.dark.Dark         | Dark.gwt.xml            | Style sheet and images for the Dark theme. |
+| Standard | com.google.gwt.user.theme.standard.Standard | Standard.gwt.xml        | Style sheet and images for the Standard theme. |
 
-<tr>
-<td>Chrome</td>
-<td>com.google.gwt.user.theme.chrome.Chrome</td>
-<td>Chrome.gwt.xml</td>
-<td>Style sheet and images for the Chrome theme.</td>
-</tr>
-
-<tr>
-<td>Dark</td>
-<td>com.google.gwt.user.theme.dark.Dark</td>
-<td>Dark.gwt.xml</td>
-<td>Style sheet and images for the Dark theme.</td>
-</tr>
-
-<tr>
-<td>Standard</td>
-<td>com.google.gwt.user.theme.standard.Standard</td>
-<td>Standard.gwt.xml</td>
-<td>Style sheet and images for the Standard theme.</td>
-</tr>
-</table>
 
 ### How To
 
diff --git a/src/main/markdown/doc/latest/tutorial/Xsite.md b/src/main/markdown/doc/latest/tutorial/Xsite.md
index a4c16d6..632afc9 100644
--- a/src/main/markdown/doc/latest/tutorial/Xsite.md
+++ b/src/main/markdown/doc/latest/tutorial/Xsite.md
@@ -105,38 +105,13 @@
 
 Now that you understand the SOP issues surrounding cross-site requests, compare this implementation to the implementation for getting JSON data from a local server. You'll have to change some of the existing implementation but you'll be able to reuse some components as well. Most of the work will be in writing the new method, getJSON, which makes the call to the remote server.
 
-<table>
-    <tr>
-        <th>Task</th>
-        <th>Same-Site Implementation</th>
-        <th>Cross-Site Implementation</th>
-    </tr>
-    <tr>
-        <td>Making the call</td>
-        <td>HTTP with Request Builder</td>
-        <td>JSON-P with Jsonp Request Builder.</td>
-    </tr>
-    <tr>
-        <td>Server-side code</td>
-        <td>Returns JSON string</td>
-        <td>Returns a JavaScript callback function with the JSON string</td>
-    </tr>
-    <tr>
-        <td>Handling the response</td>
-        <td>Use `JsonUtils.safeEval()` to turn JSON string into JavaScript object</td>
-        <td>Already a JavaScript object; cast it as a StockData array</td>
-    </tr>
-    <tr>
-        <td>Data objects</td>
-        <td>Create an overlay type: StockData</td>
-        <td>Reuse the overlay type</td>
-    </tr>
-    <tr>
-        <td>Handle Errors</td>
-        <td>Create a Label widget to display error messages</td>
-        <td>Reuse the Label widget</td>
-    </tr>
-</table>
+| Task                  | Same-Site Implementation                                              | Cross-Site Implementation |
+| --------------------- | --------------------------------------------------------------------- | ------------------------- |
+| Making the call       | HTTP with Request Builder                                             | JSON-P with Jsonp Request Builder. |
+| Server-side code      | Returns JSON string                                                   | Returns a JavaScript callback function with the JSON string |
+| Handling the response | Use `JsonUtils.safeEval()` to turn JSON string into JavaScript object | Already a JavaScript object; cast it as a StockData array |
+| Data objects          | Create an overlay type: StockData                                     | Reuse the overlay type |
+| Handle Errors         | Create a Label widget to display error messages                       | Reuse the Label widget |
 
 ##  Creating a data a source <a id="server"></a>
 
diff --git a/src/main/markdown/doc/latest/tutorial/buildui.md b/src/main/markdown/doc/latest/tutorial/buildui.md
index 04e7ca3..58ff1b6 100644
--- a/src/main/markdown/doc/latest/tutorial/buildui.md
+++ b/src/main/markdown/doc/latest/tutorial/buildui.md
@@ -60,40 +60,15 @@
 
 If you're interested in taking a peek at the API reference for the GWT widgets you'll use to build the StockWatcher interface, click on the links in the table below.
 
-<table>
-    <tr>
-        <th>UI element</th>
-        <th>GWT implementation</th>
-    </tr>
-    <tr>
-        <td>a table to hold the stock data</td>
-        <td>[FlexTable](/javadoc/latest/com/google/gwt/user/client/ui/FlexTable.html) widget</td>
-    </tr>
-    <tr>
-        <td>two buttons, one to add stocks and one to remove them</td>
-        <td>[Button](/javadoc/latest/com/google/gwt/user/client/ui/Button.html) widget</td>
-    </tr>
-    <tr>
-        <td>an input box to enter the stock code</td>
-        <td>[TextBox](/javadoc/latest/com/google/gwt/user/client/ui/TextBox.html) widget</td>
-    </tr>
-    <tr>
-        <td>a timestamp to show the time and date of the last refresh</td>
-        <td>[Label](/javadoc/latest/com/google/gwt/user/client/ui/Label.html) widget</td>
-    </tr>
-    <tr>
-        <td>a logo</td>
-        <td>image file referenced from HTML host page</td>
-    </tr>
-    <tr>
-        <td>a header</td>
-        <td>static HTML in HTML host page</td>
-    </tr>
-    <tr>
-        <td>colors to indicate whether the change in price was positive or negative</td>
-        <td>dynamic CSS</td>
-    </tr>
-</table>
+| UI element                                                              | GWT implementation |
+|-------------------------------------------------------------------------|--------------------|
+| a table to hold the stock data                                          | [FlexTable](/javadoc/latest/com/google/gwt/user/client/ui/FlexTable.html) widget |
+| two buttons, one to add stocks and one to remove them                   | [Button](/javadoc/latest/com/google/gwt/user/client/ui/Button.html) widget |
+| an input box to enter the stock code                                    | [TextBox](/javadoc/latest/com/google/gwt/user/client/ui/TextBox.html) widget |
+| a timestamp to show the time and date of the last refresh               | [Label](/javadoc/latest/com/google/gwt/user/client/ui/Label.html) widget |
+| a logo                                                                  | image file referenced from HTML host page |
+| a header                                                                | static HTML in HTML host page |
+| colors to indicate whether the change in price was positive or negative | dynamic CSS |
 
 **In Depth:** If you don't find a widget that meets the functional requirements of your application,
 you can create your own. For details on creating composite widgets or widgets from scratch using
diff --git a/src/main/markdown/doc/latest/tutorial/create.md b/src/main/markdown/doc/latest/tutorial/create.md
index 0bd0410..13b20ec 100644
--- a/src/main/markdown/doc/latest/tutorial/create.md
+++ b/src/main/markdown/doc/latest/tutorial/create.md
@@ -37,37 +37,11 @@
 
 For the StockWatcher project, you will run webAppCreator with the following parameters.
 
-<table>
-    <tr>
-        <td>Parameter</td>
-        <td>Definition</td>
-        <td>Example</td>
-    </tr>
-    <tr>
-        <td>-out</td>
-        <td>The directory to place the generated files.</td>
-        <td>StockWatcher</td>
-    </tr>
-    <tr>
-        <td>-junit</td>
-        <td>
-
-            The fully-qualified path name to junit.jar on your system.
-            You can download JUnit at their [sourceforge](http://junit.sourceforge.net/) project page, or you can use the version that ships with Eclipse.
-
-        </td>
-        <td>
-            <ul>
-            <li>(PC) C:\eclipse\plugins\org.junit_3.8.2.v200706111738\junit.jar</li>
-            <li>(Mac) /Users/myname/eclipse/plugins/org.junit_3.8.2.v200706111738/junit.jar</li>
-        </td>
-    </tr>
-    <tr>
-        <td>moduleName</td>
-        <td>The name of the GWT module you want to create.</td>
-        <td>com.google.gwt.sample.stockwatcher.StockWatcher</td>
-    </tr>
-</table>
+| Parameter  | Definition                                                                                                                                                                                                | Example |
+| ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- |
+| -out       | The directory to place the generated files.                                                                                                                                                               | StockWatcher |
+| -junit     | The fully-qualified path name to junit.jar on your system. You can download JUnit at their [sourceforge](http://junit.sourceforge.net/) project page, or you can use the version that ships with Eclipse. | <ul><li>(PC) C:\eclipse\plugins\org.junit_3.8.2.v200706111738\junit.jar</li><li>(Mac) /Users/myname/eclipse/plugins/org.junit_3.8.2.v200706111738/junit.jar</li> |
+| moduleName | The name of the GWT module you want to create.                                                                                                                                                            | com.google.gwt.sample.stockwatcher.StockWatcher |
 
 1.  Create the StockWatcher application.
     *  At the command line, run webAppCreator.
diff --git a/src/main/markdown/doc/latest/tutorial/gettingstarted.md b/src/main/markdown/doc/latest/tutorial/gettingstarted.md
index cda4c6a..4e5ea14 100644
--- a/src/main/markdown/doc/latest/tutorial/gettingstarted.md
+++ b/src/main/markdown/doc/latest/tutorial/gettingstarted.md
@@ -18,67 +18,16 @@
 
 This Build a Sample GWT Application tutorial is divided into 8 sections following a typical application development cycle. Each section builds on the previous sections. In this basic implementation of StockWatcher, all functionality is coded on the client-side. Server-side coding and client/server communications are covered in [other tutorials](index.html).
 
-<table>
-    <tr>
-        <th>Tasks: What you'll do</th>
-        <th>Concepts: What you'll learn</th>
-        <th>GWT Tools and APIs: What you'll use</th>
-    </tr>
-    <tr>
-        <td width="300">1. [Create a GWT Project](create.html)</td>
-        <td width="350">Generate the files and directories you need to get started.</td>
-        <td width="350">
-
-*   Google Plugin for Eclipse
-*   GWT command-line tool webAppCreator
-*   Development Mode
-        </td>
-    </tr>
-    <tr>
-        <td>2. [Design the Application](design.html)</td>
-        <td>Identify requirements, constraints, and implementation strategies.</td>
-        <td>Language constraints</td>
-    </tr>
-    <tr>
-        <td>3. [Build the User Interface](buildui.html)</td>
-        <td>Lay out the visual design and add user interface components.</td>
-        <td>GWT widgets and panels, the Root panel</td>
-    </tr>
-    <tr>
-        <td>4. [Manage Events on the Client](manageevents.html)</td>
-        <td>Handling mouse and keyboard events.</td>
-        <td>ClickHandler and KeyPressHandler interfaces</td>
-    </tr>
-    <tr>
-        <td>5. [Code Functionality on the Client](codeclient.html)</td>
-        <td>Maintain one code base for multiple browser implementations. Leveraging your Java IDE's features such as refactoring and code completion.</td>
-        <td>various GWT methods</td>
-    </tr>
-    <tr>
-        <td>6. [Debug a GWT Application](debug.html)</td>
-        <td>Debug the Java code before compiling it into JavaScript. Leverage
-          your Java IDE's debugging tools by running the application in
-          development mode.</td>
-        <td>Development Mode</td>
-    </tr>
-    <tr>
-        <td>7. [Apply Style](style.html)</td>
-        <td>Apply visual style to the application. Define the visual style in CSS. Set the class attributes on HTML elements programmatically. Change styles dynamically. Include static elements, such as image files.</td>
-        <td>
-
-*   GWT module
-*   GWT themes
-*   application style sheet
-*   GWT methods: addStyleName, addStyleDependentName,setStyleName
-*   automatic resource inclusion
-        </td>
-    </tr>
-    <tr>
-        <td>8. [Compile a GWT Application](compile.html)</td>
-        <td>Compile your client-side Java code into JavaScript. Test in production mode. Learn about the benefits of deferred binding.</td>
-        <td>GWT compiler</td>
-    </tr>
-</table>
+| Tasks: What you'll do                                  | Concepts: What you'll learn                                                                                                                                                                                 | GWT Tools and APIs: What you'll use |
+| ------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- |
+| 1. [Create a GWT Project](create.html)                 | Generate the files and directories you need to get started.                                                                                                                                                 | Google Plugin for Eclipse; GWT command-line tool webAppCreator; Development Mode |
+| 2. [Design the Application](design.html)               | Identify requirements, constraints, and implementation strategies.                                                                                                                                          | Language constraints |
+| 3. [Build the User Interface](buildui.html)            | Lay out the visual design and add user interface components.                                                                                                                                                | GWT widgets and panels, the Root panel |
+| 4. [Manage Events on the Client](manageevents.html)    | Handling mouse and keyboard events.                                                                                                                                                                         | ClickHandler and KeyPressHandler interfaces |
+| 5. [Code Functionality on the Client](codeclient.html) | Maintain one code base for multiple browser implementations. Leveraging your Java IDE's features such as refactoring and code completion.                                                                   | various GWT methods |
+| 6. [Debug a GWT Application](debug.html)               | Debug the Java code before compiling it into JavaScript. Leverage your Java IDE's debugging tools by running the application in development mode.                                                           | Development Mode |
+| 7. [Apply Style](style.html)                           | Apply visual style to the application. Define the visual style in CSS. Set the class attributes on HTML elements programmatically. Change styles dynamically. Include static elements, such as image files. | GWT module; GWT themes; application style sheet; GWT methods: addStyleName, addStyleDependentName, setStyleName; automatic resource inclusion |
+| 8. [Compile a GWT Application](compile.html)           | Compile your client-side Java code into JavaScript. Test in production mode. Learn about the benefits of deferred binding.                                                                                  | GWT compiler |
 
 ## What's Next
 
diff --git a/src/main/markdown/doc/latest/tutorial/manageevents.md b/src/main/markdown/doc/latest/tutorial/manageevents.md
index ceccdca..9fdc18f 100644
--- a/src/main/markdown/doc/latest/tutorial/manageevents.md
+++ b/src/main/markdown/doc/latest/tutorial/manageevents.md
@@ -15,31 +15,10 @@
 
 Let's review the StockWatcher requirements to see what events occur.
 
-<table>
-<tr>
-    <th>Task</th>
-    <th>UI Event (Trigger mechanism)</th>
-    <th>Response</th>
-</tr>
-<tr>
-    <td>User enters a stock code.</td>
-    <td>Clicks the Add button
-or presses return in the input box.</td>
-        <td>
-
-*   Verify input.
-*   Check if stock already exists.
-*   Add a new row.
-*   Create a delete button.</td>
-    </tr>
-    <tr>
-        <td>User deletes stock from the table.</td>
-        <td>Presses the Remove button.</td>
-        <td>
-
-*   Remove row from table.</td>
-    </tr>
-</table>
+| Task                               | UI Event (Trigger mechanism)                              | Response |
+| ---------------------------------- | --------------------------------------------------------- | -------- |
+| User enters a stock code.          | Clicks the Add button or presses return in the input box. | Create a delete button. |
+| User deletes stock from the table. | Presses the Remove button.                                | Remove row from table. |
 
 GWT provides a number of different event handler interfaces. To handle click events on the Add and Remove buttons, you'll use the [ClickHandler](/javadoc/latest/com/google/gwt/event/dom/client/ClickHandler.html) interface. To handle keyboard events in the input box, you'll use the [KeyPressHandler](/javadoc/latest/com/google/gwt/event/dom/client/KeyPressHandler.html) interface.
 
diff --git a/src/main/markdown/doc/latest/tutorial/style.md b/src/main/markdown/doc/latest/tutorial/style.md
index f4dda9b..1fdf6f8 100644
--- a/src/main/markdown/doc/latest/tutorial/style.md
+++ b/src/main/markdown/doc/latest/tutorial/style.md
@@ -152,30 +152,12 @@
 
 In GWT, each class of widget has an associated style name (like gwt-Button) that binds it to a CSS style rule. This is the widget's primary style. Default values are defined for the primary style in the theme style sheet.
 
-<table>
-    <tr>
-        <th>Type of Element</th>
-        <th>HTML Tag</th>
-        <th>CSS Selector</th>
-    </tr>
-    <tr>
-        <td>Buttons in static HTML and
-GWT-generated buttons</td>
-        <td>`<button>` /td>
-        <td>button</td>
+| Type of Element                                  | HTML Tag                                | CSS Selector |
+| ------------------------------------------------ | --------------------------------------- | ------------ |
+| Buttons in static HTML and GWT-generated buttons | `<button>`                              | button |
+| Only GWT-generated buttons                       |`<button class="gwt-Button">`            | button.gwt-Button |
+| Only my special GWT-generated button             | `<button class="gwt-Button my-button">` | button.my-button |
 
-    </tr>
-    <tr>
-        <td>Only GWT-generated buttons</td>
-        <td>`<button class="gwt-Button">` /td>
-        <td>button.gwt-Button</td>
-    </tr>
-    <tr>
-        <td>Only my special GWT-generated button</td>
-        <td>`<button class="gwt-Button my-button">` /td>
-        <td>button.my-button</td>
-    </tr>
-</table>
 
 **Tip:** You can look up the name of the style rule (the CSS selector) for each widget by accessing the GWT API Reference via the [Widget Gallery](../RefWidgetGallery.html).
 
diff --git a/src/main/markdown/terms.md b/src/main/markdown/terms.md
index ed196de..90cccca 100644
--- a/src/main/markdown/terms.md
+++ b/src/main/markdown/terms.md
@@ -210,65 +210,16 @@
 from other locations. (Please note that gwt-servlet.jar is not derived from any third-party
 libraries and is licensed under the Apache License, Version 2.0 above.)
 
-<table>
-  <tbody>
-      <tr>
-        <th>Package</th>
-        <th>License</th>
-        <th>Source Code Availability</th>
-      </tr>
-      <tr>
-        <td class="package">Apache Tomcat</td>
-        <td class="license">Apache License v. 2.0 (above)</td>
-        <td class="location"><a href="http://tomcat.apache.org/">tomcat.apache.org</a>; modifications are at org/apache/tomcat within gwt-dev.jar</td>
-      </tr>
-      <tr class="even">
-        <td class="package">Browser Detect v2.1.6</td>
-        <td class="license"><a href="http://creativecommons.org/licenses/by/1.0/">Creative Commons Attribution 1.0</a></td>
-        <td class="location">google-web-toolkit.googlecode.com; transliterated into Java source</td>
-      </tr>
-      <tr>
-        <td class="package">Eclipse Java Development Tools (JDT)</td>
-        <td class="license"><a href="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v. 1.0</a></td>
-        <td class="location"><a href="http://archive.eclipse.org/eclipse/downloads/drops/R-3.1.1-200509290840/download.php?dropFile=eclipse-JDT-SDK-3.1.1.zip">eclipse.org</a></td>
-      </tr>
-      <tr class="even">
-        <td class="package">Eclipse Standard Widget Toolkit (SWT)</td>
-        <td class="license"><a href="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License v. 1.0</a></td>
-        <td class="location">
-        modifications are at org/eclipse/swt within gwt-dev.jar
-        </td>
-      </tr>
-      <tr>
-        <td class="package">HtmlUnit</td>
-        <td class="license">Apache License v. 2.0 (above)</td>
-        <td class="location"><a href="http://htmlunit.sourceforge.net/">htmlunit.sourceforge.net</a></td>
-      </tr>
-      <tr class="even">
-        <td class="package">JFreeChart</td>
-        <td class="license"><a href="http://www.gnu.org/licenses/lgpl.html">GNU Lesser General Public License v. 2.1</a></td>
-        <td class="location"><a href="http://jfree.org/jfreechart/download.html">jfree.org</a></td>
-      </tr>
-      <tr>
-        <td class="package">Mozilla Rhino</td>
-        <td class="license"><a href="http://www.mozilla.org/MPL/MPL-1.1.txt">Mozilla Public License v. 1.1</a></td>
-        <td class="location">com/google/gwt/dev/js/rhino/ within gwt-dev.jar</td>
-      </tr>
-      <tr class="even">
-        <td class="package">Mozilla 1.7.12 (Linux only)</td>
-        <td class="license"><a href="http://www.mozilla.org/MPL/MPL-1.1.txt">Mozilla Public License v. 1.1</a></td>
-        <td class="location"><a href="http://developer.mozilla.org/en/docs/Download_Mozilla_Source_Code">mozilla.org</a></td>
-      </tr>
-      <tr >
-        <td class="package">Protocol Buffers</td>
-        <td class="license"><a
-      href="http://www.opensource.org/licenses/bsd-license.php">New BSD License</a></td>
-        <td class="location"><a href="http://code.google.com/p/protobuf/">code.google.com/p/protobuf</a></td>
-      </tr>
-      <tr class="even">
-        <td class="package">WebKit 418.9 (Mac only)</td>
-        <td class="license"><a href="http://www.gnu.org/licenses/lgpl.html">GNU Lesser General Public License v. 2.1</a></td>
-        <td class="location"><a href="http://webkit.org/building/checkout.html">webkit.org</a></td>
-      </tr>
-  </tbody>
-</table>
+| Package                               | License                                                                           | Source Code Availability                                                                                                               |
+| ------------------------------------- | --------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
+| Apache Tomcat                         | Apache License v. 2.0 (above)                                                     | [tomcat.apache.org](http://tomcat.apache.org/) modifications are at org/apache/tomcat within gwt-dev.jar                               |
+| Browser Detect v2.1.6                 | [Creative Commons Attribution 1.0](http://creativecommons.org/licenses/by/1.0/)   | [google-web-toolkit.googlecode.com](http://google-web-toolkit.googlecode.com/) transliterated into Java source                         |
+| Eclipse Java Development Tools (JDT)  | [Eclipse Public License v. 1.0](http://www.eclipse.org/legal/epl-v10.html)        | [eclipse.org](http://archive.eclipse.org/eclipse/downloads/drops/R-3.1.1-200509290840/download.php?dropFile=eclipse-JDT-SDK-3.1.1.zip) |
+| Eclipse Standard Widget Toolkit (SWT) | [Eclipse Public License v. 1.0](http://www.eclipse.org/legal/epl-v10.html)        | modifications are at org/eclipse/swt within gwt-dev.jar                                                                                |
+| HtmlUnit                              | Apache License v. 2.0 (above)                                                     | [htmlunit.sourceforge.net](http://htmlunit.sourceforge.net/)                                                                           |
+| JFreeChart                            | [GNU Lesser General Public License v. 2.1](http://www.gnu.org/licenses/lgpl.html) | [jfree.org](http://jfree.org/jfreechart/download.html)                                                                                 |
+| Mozilla Rhino                         | [Mozilla Public License v. 1.1](http://www.mozilla.org/MPL/MPL-1.1.txt)           | com/google/gwt/dev/js/rhino/ within gwt-dev.jar                                                                                        |
+| Mozilla 1.7.12 (Linux only)           | [Mozilla Public License v. 1.1](http://www.mozilla.org/MPL/MPL-1.1.txt)           | [mozilla.org](http://developer.mozilla.org/en/docs/Download_Mozilla_Source_Code)                                                       |
+| Protocol Buffers                      | [New BSD License](http://www.opensource.org/licenses/bsd-license.php)             | [code.google.com/p/protobuf](http://code.google.com/p/protobuf/)                                                                       |
+| WebKit 418.9 (Mac only)               | [GNU Lesser General Public License v. 2.1](http://www.gnu.org/licenses/lgpl.html) | [webkit.org](http://webkit.org/building/checkout.html)                                                                                 |
+
diff --git a/src/main/site/css/main.css b/src/main/site/css/main.css
index 6f69c6c..a232d34 100644
--- a/src/main/site/css/main.css
+++ b/src/main/site/css/main.css
@@ -259,6 +259,7 @@
 
 table {
   border-collapse: collapse;
+
 }
 
 th,td {
@@ -267,6 +268,16 @@
   text-align: left;
 }
 
+/* markdown table */
+thead th, tbody td {
+  padding: 6px 13px;
+  border: 1px solid rgb(255, 255, 255);
+}
+
+tbody tr:nth-child(2n) {
+  background-color: rgb(248, 248, 248);
+}
+
 a:link {
   color: #0000cc;
   text-decoration: none;