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

lukaszlenart pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/struts-site.git

commit 85d480509d3ab32ec5972e11970a029d1d91bcae
Author: Lukasz Lenart <lukaszlen...@apache.org>
AuthorDate: Sat Sep 23 17:06:31 2017 +0200

    Cleans up tag reference and related pages
---
 source/tag-developers/extending-themes.md          | 145 +++++++--------------
 source/tag-developers/generic-tag-reference.md     |  40 ------
 .../tag-developers/selecting-template-directory.md |  48 ++-----
 source/tag-developers/selecting-themes.md          |  55 +++-----
 source/tag-developers/tag-reference.md             |  62 ++++++++-
 source/tag-developers/template-loading.md          | 123 ++++++-----------
 source/tag-developers/themes-and-templates.md      |   3 -
 source/tag-developers/ui-tag-reference.md          |  58 ---------
 source/tag-developers/ui-tags.md                   |   1 -
 9 files changed, 172 insertions(+), 363 deletions(-)

diff --git a/source/tag-developers/extending-themes.md 
b/source/tag-developers/extending-themes.md
index f67c436..bf97cae 100644
--- a/source/tag-developers/extending-themes.md
+++ b/source/tag-developers/extending-themes.md
@@ -4,129 +4,82 @@ title: Tag Developers Guide (WIP)
 ---
 
 # Extending Themes
+{:.no_toc}
 
+* Will be replaced with the ToC, excluding a header
+{:toc}
 
-Most often, an application may just need to override a template (see [Template 
Loading](#PAGE_13817)) so that a certain control renders differently. Or, an 
application may need to add a new template to an existing theme. Other times, 
you might want to create an entirely new theme, perhaps because you are 
building a rich set of unique and reusable templates for your organization.
+Most often, an application may just need to override a template (see [Template 
Loading](template-loading.html)) so that 
+a certain control renders differently. Or, an application may need to add a 
new template to an existing theme. Other 
+times, you might want to create an entirely new theme, perhaps because you are 
building a rich set of unique and reusable 
+templates for your organization.
 
 There are three ways to create new themes:
 
-+ Create a new theme from scratch (**hard!**)
+- Create a new theme from scratch (**hard!**)
+- Wrap an existing theme
+- Extend an existing theme
 
-+ Wrap an existing theme
+## Creating a New Theme from Scratch
 
-+ Extend an existing theme
+It's probably never a good idea to create a new theme from scratch. Instead, 
use the [simple theme](simple-theme.html) 
+as a starting point. The simple theme provides just enough foundation to make 
it easy to create new controls by extending 
+or wrapping the basic controls. Before starting a new theme, be sure to review 
the source templates for all of the provided 
+themes. The existing themes are your best guide to creating new themes.
 
-__Creating a New Theme from Scratch__
+## Wrapping an Existing Theme
 
+The [xhtml theme](xhtml-theme.html) provides several good examples of the 
"wrapping" technique. 
+The [simple theme](simple-theme.html) renders the basic control. The xhtml 
theme "dresses up" many of the controls 
+by adding a header and footer.
 
-It's probably never a good idea to create a new theme from scratch. Instead, 
use the [simple theme](#PAGE_14291) as a starting point. The simple theme 
provides just enough foundation to make it easy to create new controls by 
extending or wrapping the basic controls. Before starting a new theme, be sure 
to review the source templates for all of the provided themes. The existing 
themes are your best guide to creating new themes.
+### Wrapping a control
 
-| 
-
-__Wrapping an Existing Theme__
-
-The [xhtml theme](#PAGE_13834) provides several good examples of the 
"wrapping" technique. The [simple theme](#PAGE_14291) renders the basic 
control. The xhtml theme "dresses up" many of the controls by adding a header 
and footer.
-
-**Wrapping a control**
-
-
-~~~~~~~
+```html
 <#include 
"/${parameters.templateDir}/${parameters.expandTheme}/controlheader.ftl" />
 <#include "/${parameters.templateDir}/simple/xxx.ftl" />
 <#include 
"/${parameters.templateDir}/${parameters.expandTheme}/controlfooter.ftl" />
-
-~~~~~~~
+```
 
 Wrapping is a great way to augment the basic HTML elements provided by the 
simple theme.
 
-__Extending an Existing Theme__
+### Extending an Existing Theme
 
-One benefit of object-orientated programming is that it lets us "design by 
difference." We can extend an object and code only the behaviour that changes. 
Themes provide a similar capability. The subdirectory that hosts a theme can 
contain a 
-
-~~~~~~~
-theme.properties
-~~~~~~~
- file. A 
-
-~~~~~~~
-parent
-~~~~~~~
- entry can be added to the property file to designate a theme to extend. The 
[ajax theme](#PAGE_14205) extends the [xhtml theme](#PAGE_13834) using this 
technique.
+One benefit of object-orientated programming is that it lets us "design by 
difference." We can extend an object and code 
+only the behaviour that changes. Themes provide a similar capability. The 
subdirectory that hosts a theme can contain 
+a `theme.properties` file. A `parent` entry can be added to the property file 
to designate a theme to extend. 
+The [ajax theme](ajax-theme.html) extends the [xhtml theme](xhtml-theme.html) 
using this technique.
 
 **/template/ajax/theme.properties**
 
-
-~~~~~~~
+```
 parent = xhtml
+```
 
-~~~~~~~
-
-An extended theme does not need to implement every single template that the 
[Struts Tags](#PAGE_14248) expect. It only needs to implement the templates 
that change. The other templates are loaded from the parent template.
-
-__Special parameters__
-
-[UIBean](http://struts.apache.org/development/2.x/struts2-core/apidocs/org/apache/struts2/components/UIBean.html)^[http://struts.apache.org/development/2.x/struts2-core/apidocs/org/apache/struts2/components/UIBean.html]
 provides few special parameters which can be used to build a new template 
(they are already used in 
-
-~~~~~~~
-xhtml
-~~~~~~~
- and 
-
-~~~~~~~
-css_xhtml
-~~~~~~~
- theme):
-
-+ 
-
-~~~~~~~
-templateDir
-~~~~~~~
- - current value of templateDir parameter, see [Selecting Template 
Directory](#PAGE_14227)
-
-+ 
-
-~~~~~~~
-theme
-~~~~~~~
- - used theme, see [Selecting Themes](#PAGE_14016)
-
-+ 
-
-~~~~~~~
-template
-~~~~~~~
- - name of the template file to use (i.e. text)
-
-+ 
-
-~~~~~~~
-themeExpansionToken
-~~~~~~~
- - special token used to indicate to search for a template also in parent 
theme (when used with 
-
-~~~~~~~
-<#include />
-~~~~~~~
- directive)
-
-+ 
+An extended theme does not need to implement every single template that the 
[Struts Tags](struts-tags.html) expect. 
+It only needs to implement the templates that change. The other templates are 
loaded from the parent template.
 
-~~~~~~~
-expandTheme
-~~~~~~~
- - tells internal template loader mechanism to try load template from current 
theme and then from parent theme (and parent theme, and so on)
+## Special parameters
 
-Using 
+[UIBean](http://struts.apache.org/maven/struts2-core/apidocs/org/apache/struts2/components/UIBean.html)
 provides few 
+special parameters which can be used to build a new template (they are already 
used in `xhtml` and `css_xhtml` theme):
 
-~~~~~~~
-expandTheme
-~~~~~~~
- parameter allows to override only some parts of the theme's templates, e.g. 
css.ftl. You can define a new theme (set theme.properties) and override just 
single file.
+- `templateDir` - current value of templateDir parameter, see [Selecting 
Template Directory](selecting-template-directory.html)
+- `theme` - used theme, see [Selecting Themes](selecting-themes.html)
+- `template` - name of the template file to use (i.e. text)
+- `themeExpansionToken` - a special token used to indicate to search for a 
template also in parent theme (when used with 
+  `<#include />` directive)
+- `expandTheme` - tells internal template loader mechanism to try load 
template from current theme and then from parent 
+  theme (and parent theme, and so on)
 
-\${parameters.expandTheme} is a recurrence which tells ThemeManager to load 
template from current theme and then from parent theme (defined in 
theme.properties) and so on.
+Using `expandTheme` parameter allows to override only some parts of the 
theme's templates, e.g. `css.ftl`. You can
+define a new theme (set `theme.properties`) and override just single file.
 
-Please also notice that the ThemeManager builds list of possible templates 
based on current theme and inherited themes (/template/custom/textarea.ftl, 
/template/xhtml/textarea.ftl, /template/simple/textarea.ftl). This is also true 
for templates which are loaded via \${parameters.expandTheme}.
+`${parameters.expandTheme}` is a recurrence which tells `ThemeManager` to load 
template from current theme and then 
+from parent theme (defined in `theme.properties`) and so on.
 
- (ok)  See also example _Struts 2 Themes_  or [Creating a Theme in Struts 
2](http://www.vitarara.org/cms/struts_2_cookbook/creating_a_theme)^[http://www.vitarara.org/cms/struts_2_cookbook/creating_a_theme]
 (Mark Menard)
+Please also notice that the `ThemeManager` builds list of possible templates 
based on current theme and inherited 
+themes (`/template/custom/textarea.ftl`, `/template/xhtml/textarea.ftl`, 
`/template/simple/textarea.ftl`). This is also 
+true for templates which are loaded via `${parameters.expandTheme}`.
 
+> See also example [Struts 2 Themes]() or [Creating a Theme in Struts 
2](http://www.vitarara.org/cms/struts_2_cookbook/creating_a_theme) (Mark Menard)
diff --git a/source/tag-developers/generic-tag-reference.md 
b/source/tag-developers/generic-tag-reference.md
deleted file mode 100644
index 8e3d6ec..0000000
--- a/source/tag-developers/generic-tag-reference.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-layout: default
-title: Tag Developers Guide (WIP)
----
-
-# Generic Tag Reference
-
-Struts Generic Tags control the execution flow as pages render.
-
-## Control Tags
-
-Controls tags provide the ability to manipulate collections and conditionally 
produce content.
-
-> Please make sure you have read the [Tag Syntax](tag-syntax.html) document 
and understand how tag attribute syntax works.
-
-- [if](if-tag.html)
-- [elseif](elseif-tag.html)
-- [else](else-tag.html)
-- [append](append-tag.html)
-- [generator](generator-tag.html)
-- [iterator](iterator-tag.html)
-- [merge](merge-tag.html)
-- [sort](sort-tag.html)
-- [subset](subset-tag.html)
-
-## Data Tags
-
-- [a](a-tag.html)
-- [action](action-tag.html)
-- [bean](bean-tag.html)
-- [date](date-tag.html)
-- [debug](debug-tag.html)
-- [i18n](i18n-tag.html)
-- [include](include-tag.html)
-- [param](param-tag.html)
-- [property](property-tag.html)
-- [push](push-tag.html)
-- [set](set-tag.html)
-- [text](text-tag.html)
-- [url](url-tag.html)
diff --git a/source/tag-developers/selecting-template-directory.md 
b/source/tag-developers/selecting-template-directory.md
index 057867a..18dbbce 100644
--- a/source/tag-developers/selecting-template-directory.md
+++ b/source/tag-developers/selecting-template-directory.md
@@ -7,45 +7,13 @@ title: Tag Developers Guide (WIP)
 
 Template directory can be selected using several different rules, in this 
order:
 
-1. The 
+1. The `templateDir` attribute on the specific tag
+2. The page-scoped attribute named `templateDir`
+3. The request-scoped attribute named `templateDir`
+4. The session-scoped attribute named `templateDir`
+5. The application-scoped attribute named `templateDir`
+6. The `struts.ui.templateDir` property in `struts.xml` (defaults to 
_template_)
 
-~~~~~~~
-templateDir
-~~~~~~~
- attribute on the specific tag
-
-2. The page-scoped attribute named 
-
-~~~~~~~
-templateDir
-~~~~~~~
-
-3. The request-scoped attribute named 
-
-~~~~~~~
-templateDir
-~~~~~~~
-
-4. The session-scoped attribute named 
-
-~~~~~~~
-templateDir
-~~~~~~~
-
-5. The application-scoped attribute named 
-
-~~~~~~~
-templateDir
-~~~~~~~
-
-6. The 
-
-~~~~~~~
-struts.ui.templateDir
-~~~~~~~
- property in _struts.properties_  (defaults to _template_ )
-
-__Tips__
-
-+ To change the template directory for the entire application, modify the 
_struts.properties_ .
+## Tips
 
+- To change the template directory for the entire application, modify the 
`struts.xml` 
diff --git a/source/tag-developers/selecting-themes.md 
b/source/tag-developers/selecting-themes.md
index 4a0f3ae..f803d4b 100644
--- a/source/tag-developers/selecting-themes.md
+++ b/source/tag-developers/selecting-themes.md
@@ -7,42 +7,19 @@ title: Tag Developers Guide (WIP)
 
 Themes can be selected using several different rules, in this order:
 
-1. The 
-
-~~~~~~~
-theme
-~~~~~~~
- attribute on the specific tag
-
-2. The 
-
-~~~~~~~
-theme
-~~~~~~~
- attribute on a tag's surrounding [form](#PAGE_14201) tag
-
-3. The page-scoped attribute named "theme"
-
-4. The request-scoped attribute named "theme"
-
-5. The session-scoped attribute named "theme"
-
-6. The application-scoped attribute named "theme"
-
-7. The 
-
-~~~~~~~
-struts.ui.theme
-~~~~~~~
- property in _struts.properties_  (defaults to _xhtml_ )
-
-See "_Can I change theme on a per-page basis_ " page for using scoped "theme" 
attribute.
-
-__Tips__
-
-+ To override an entire form's theme, change the "theme" attribute of the 
form. (Convenient for using the [ajax theme](#PAGE_14205) for specific forms, 
for example.)
-
-+ To support user-selected themes, set the theme in the user's session.
-
-+ To change the theme for the entire application, modify the 
_struts.properties_ .
-
+1. The `theme` attribute on the specific tag
+2. The `theme` attribute on a tag's surrounding [form](form-tag.html) tag
+3. The page-scoped attribute named `theme`
+4. The request-scoped attribute named `theme`
+5. The session-scoped attribute named `theme`
+6. The application-scoped attribute named `theme`
+7. The `struts.ui.theme` property in `struts.xml` (defaults to _xhtml_)
+
+See [Can I change theme on a per-page basis]() page for using scoped `theme` 
attribute.
+
+## Tips
+
+- To override an entire form's theme, change the "theme" attribute of the 
form. (Convenient for using 
+  the [ajax theme](ajax-theme.html) for specific forms, for example.)
+- To support user-selected themes, set the theme in the user's session.
+- To change the theme for the entire application, modify the `struts.xml`.
diff --git a/source/tag-developers/tag-reference.md 
b/source/tag-developers/tag-reference.md
index 2509e5b..c44e19b 100644
--- a/source/tag-developers/tag-reference.md
+++ b/source/tag-developers/tag-reference.md
@@ -3,9 +3,65 @@ layout: default
 title: Tag Developers Guide (WIP)
 ---
 
-# Tag Reference### 
+# Tag Reference 
+{:.no_toc}
 
-[Generic Tags](generic-tags.html)
+* Will be replaced with the ToC, excluding a header
+{:toc}
 
-[UI Tags](ui-tags.html)
+Generic tags are used for controlling the execution flow when the pages 
render. These tags also allow for data extraction 
+from places other than your action or the value stack, such as _Localization_ 
, JavaBeans, and including additional URLs 
+or action executions.
 
+- Control Tags provide control flow, such as `if`, `else`, and `iterator`
+- Data Tags allow for data manipulation or creation, such as `bean`, `push`, 
and `i18n`
+
+> Please make sure you have read the [Tag Syntax](tag-syntax.html) document 
and understand how tag attribute syntax works.
+
+## Generic Tags
+
+Struts Generic Tags control the execution flow as pages render.
+
+|**Control Tags**|                               |**Data Tags**|               
  
+|                |[if](if-tag.html)              |             
|[a](a-tag.html)              |   
+|                |[elseif](elseif-tag.html)      |             
|[action](action-tag.html)    |
+|                |[else](else-tag.html)          |             
|[bean](bean-tag.html)        |
+|                |[append](append-tag.html)      |             
|[date](date-tag.html)        |
+|                |[generator](generator-tag.html)|             
|[debug](debug-tag.html)      |
+|                |[iterator](iterator-tag.html)  |             
|[i18n](i18n-tag.html)        |
+|                |[merge](merge-tag.html)        |             
|[include](include-tag.html)  |
+|                |[sort](sort-tag.html)          |             
|[param](param-tag.html)      |   
+|                |[subset](subset-tag.html)      |             
|[property](property-tag.html)|
+|                |                               |             
|[push](push-tag.html)        |
+|                |                               |             
|[set](set-tag.html)          |
+|                |                               |             
|[text](text-tag.html)        |
+|                |                               |             
|[url](url-tag.html)          |
+
+
+## UI Tag Reference
+
+Struts UI Tags display data in rich and reusable HTML.
+
+|**Form Tags**|                                                     
|**Non-Form UI Tags**    |
+|             |[checkbox](checkbox-tag.html)                        |          
              |[actionerror](actionerror-tag.html)    |
+|             |[checkboxlist](checkboxlist-tag.html)                |          
              |[actionmessage](actionmessage-tag.html)|         
+|             |[combobox](combobox-tag.html)                        |          
              |[component](component-tag.html)        | 
+|             |[datetextfield](datetextfield-tag.html)              |          
              |[div](div-tag.html)                    |           
+|             |[doubleselect](doubleselect-tag.html)                |          
              |[fielderror](fielderror-tag.html)      |         
+|             |[head](head-tag.html)                                |          
              |                                       |
+|             |[file](file-tag.html)                                |          
              |                                       |
+|             |[form](form-tag.html)                                |          
              |                                       |
+|             |[hidden](hidden-tag.html)                            |          
              |                                       |
+|             |[inputtransferselect](inputtransferselect-tag.html)  |          
              |                                       |
+|             |[label](label-tag.html)                              |          
              |                                       |
+|             |[optiontransferselect](optiontransferselect-tag.html)|          
              |                                       |
+|             |[optgroup](optgroup-tag.html)                        |          
              |                                       |
+|             |[password](password-tag.html)                        |          
              |                                       |
+|             |[radio](radio-tag.html)                              |          
              |                                       |
+|             |[reset](reset-tag.html)                              |          
              |                                       |
+|             |[select](select-tag.html)                            |          
              |                                       |
+|             |[submit](submit-tag.html)                            |          
              |                                       |
+|             |[textarea](textarea-tag.html)                        |          
              |                                       |
+|             |[textfield](textfield-tag.html)                      |          
              |                                       |
+|             |[token](token-tag.html)                              |          
              |                                       |
+|             |[updownselect](updownselect-tag.html)                |          
              |                                       |
diff --git a/source/tag-developers/template-loading.md 
b/source/tag-developers/template-loading.md
index 912e270..379c63e 100644
--- a/source/tag-developers/template-loading.md
+++ b/source/tag-developers/template-loading.md
@@ -4,108 +4,65 @@ title: Tag Developers Guide (WIP)
 ---
 
 # Template Loading
+{:.no_toc}
 
+* Will be replaced with the ToC, excluding a header
+{:toc}
 
-Templates are loaded first by searching the application and then by searching 
the classpath. If a template needs to be overridden, an edited copy can be 
placed in the application, so that is found first.
+Templates are loaded first by searching the application and then by searching 
the classpath. If a template needs to be 
+overridden, an edited copy can be placed in the application, so that is found 
first.
 
-**(i) One for all**
+**One for all**
 
+> FreeMarker is the default templating engine. The FreeMarker templates are 
used regardless of what format the view may 
+> use. Internally, the JSP, FTL, Velocity tags are all rendered using 
FreeMarker.
 
-> 
+## Template and Themes
 
-> 
+Templates are loaded based the template directory and theme name (see 
[Selecting Themes](selecting-themes.html)). 
+The template directory is defined by the `struts.ui.templateDir` property in 
`struts.xml` (defaults to `template`). 
+If a tag is using the `xhtml` theme, the following two locations will be 
searched (in this order):
 
-> FreeMarker is the default templating engine. The FreeMarker templates are 
used regardless of what format the view may use. Internally, the JSP, FTL, 
Velocity tags are all rendered using FreeMarker.
+|In the application|`/template/xhtml/template.ftl`|
+|In the classpath|`/template/xhtml/template.ftl`|
 
-> 
+> For performance reasons, you may want to prefer the first location, although 
the second one is more flexible. 
+> See [Performance Tuning](../core-developers/performance-tuning.html) for a 
discussion on this topic.
 
-__Template and Themes__
+## Overriding Templates
 
-Templates are loaded based the template directory and theme name (see 
[Selecting Themes](#PAGE_14016)). The template directory is defined by the 
+The default templates provided in the `struts2-core.jar` should suit the needs 
of many applications. However, 
+if a template needs to be modified, it's easy to plug in a new version. 
Extract the template you need to change from 
+the `struts2-core.jar`, make the modifications, and save the updated copy to 
`/template/$theme/$template.ftl`. 
+If you are using the `xhtml` theme and need to change how the select tags 
render, edit that template and save it to
+`/template/xhtml/select.ftl`.
 
-~~~~~~~
-struts.ui.templateDir
-~~~~~~~
- property in _struts.properties_  (defaults to 
+> It is easier and better to edit and override an existing template than 
provide a new one of your own.
 
-~~~~~~~
-template
-~~~~~~~
-). If a tag is using the 
+## Altering Template Loading Behaviour
 
-~~~~~~~
-xhtml
-~~~~~~~
- theme, the following two locations will be searched (in this order):
+It is possible to load template from other locations, like the file system or 
a URL. Loading templates from alternate 
+locations can be useful not only for tags, but for custom results. For 
details, see the [FreeMarker](freemarker.html) 
+documentation and consult the section on extending the FreeMarkerManager.
 
-|In the application|/template/xhtml/template.ftl|
-|------------------|-----------------------------|
-|In the classpath|/template/xhtml/template.ftl|
+## Alternative Template Engines
 
- (!)  For performance reasons, you may want to prefer the first location, 
although the second one is more flexible. See _Performance Tuning_  for a 
discussion on this topic.
+The framework provides for template rendering engines other than FreeMarker. 
(Though, there is rarely a need to use 
+another system!)
 
-__Overriding Templates__
-
-The default templates provided in the 
-
-~~~~~~~
-struts-core.jar
-~~~~~~~
- should suit the needs of many applications. However, if a template needs to 
be modified, it's easy to plug in a new version. Extract the template you need 
to change from the 
-
-~~~~~~~
-struts-core.jar
-~~~~~~~
-, make the modifications, and save the updated copy to 
-
-~~~~~~~
-/template/$theme/$template.ftl
-~~~~~~~
-. If you are using the xhmtl theme and need to change how the select tags 
render, edit that template and save it to 
-
-~~~~~~~
-/template/xhtml/select.ftl
-~~~~~~~
-.
-
- (!)  It is easier and better to edit and override an existing template than 
provide a new one of your own.
-
-__Altering Template Loading Behaviour__
-
-It is possible to load template from other locations, like the file system or 
a URL. Loading templates from alternate locations can be useful not only for 
tags, but for custom results. For details, see the [FreeMarker](#PAGE_14078) 
documentation and consult the section on extending the FreeMarkerManager.
-
-__Alternative Template Engines__
-
-The framework provides for template rendering engines other than FreeMarker. 
(Though, there is rarely a need to use another system!)
-
-**(!) Don't try this at home!**
-
-
-> 
-
-> 
+**Don't try this at home!**
 
 > Alternative template engines are best left to advanced users with special 
 > needs!
 
-> 
-
-The framework supports three template engines, which can be controlled by the 
-
-~~~~~~~
-struts.ui.templateSuffix
-~~~~~~~
- in _struts.properties_ .
-
-|ftl (default)|[FreeMarker](#PAGE_14078)-based template engine|
-|-------------|------------------------------------------------|
-|vm|[Velocity](#PAGE_13894)-based template engine|
-|jsp|[JSP](#PAGE_14141)-based template engine|
-
-The only set of templates and themes provided in the distribution is for 
FreeMarker. In order to use another template engine, you must provide your own 
template and theme for that engine.
-
-
+The framework supports three template engines, which can be controlled by the 
`struts.ui.templateSuffix` in 
+`struts.xml`.
 
-| Don't feel that you need to rewrite the templates to match your view format. 
If you need to customize the template, try copying and modifying the FreeMarker 
template first. Most changes should be obvious.
+|ftl (default)|[FreeMarker](freemarker.html)-based template engine|
+|vm|[Velocity](velocity.html)-based template engine|
+|jsp|[JSP](jsp.html)-based template engine|
 
-| 
+The only set of templates and themes provided in the distribution is for 
FreeMarker. In order to use another template 
+engine, you must provide your own template and theme for that engine.
 
+> Don't feel that you need to rewrite the templates to match your view format. 
If you need to customize the template, 
+> try copying and modifying the FreeMarker template first. Most changes should 
be obvious.
diff --git a/source/tag-developers/themes-and-templates.md 
b/source/tag-developers/themes-and-templates.md
index 472fca0..09f2b97 100644
--- a/source/tag-developers/themes-and-templates.md
+++ b/source/tag-developers/themes-and-templates.md
@@ -10,7 +10,6 @@ The notions of "themes" and "templates" are at the core of 
the HTML [Struts Tags
 ## Definitions
 
 | tag | A small piece of code executed from within [JSP](jsp.html), 
[FreeMarker](freemarker.html), or [Velocity](velocity.html). |
-|-----|------------------------------------------------------------------------------------------------------------------------|
 | template | A bit of code, usually written in [FreeMarker](freemarker.html), 
that can be rendered by certain tags (HTML tags) |
 | theme | A  collection of _templates_  packaged together to provide common 
functionality |
 
@@ -19,7 +18,6 @@ The notions of "themes" and "templates" are at the core of 
the HTML [Struts Tags
 ## Template Basics
 
 |[Template Loading](template-loading.html)| How templates are loaded |
-|-------------------------------|--------------------------|
 |[Selecting Template Directory](selecting-template-directory.html)| How the 
template directories are loaded |
 |[Selecting Themes](selecting-themes.html)| How you can pick a theme when 
writing your results |
 |[Extending Themes](extending-themes.html)| How to create your own themes 
based on existing themes |
@@ -27,7 +25,6 @@ The notions of "themes" and "templates" are at the core of 
the HTML [Struts Tags
 ## More About Themes
 
 |[simple theme](simple-theme.html)| A minimal theme with no "bells and 
whistles" |
-|---------------------------|----------------------------------------------|
 |[xhtml theme](xhtml-theme.html)| The default theme that uses common HTML 
practices |
 |[css_xhtml theme](css-xhtml-theme.html)| The [xhtml theme](xhtml-theme.html) 
re-implemented using strictly CSS for layout |
 |[ajax theme](ajax-theme.html)| A theme based on the [xhtml 
theme](xhtml-theme.html) that provides advanced AJAX features |
diff --git a/source/tag-developers/ui-tag-reference.md 
b/source/tag-developers/ui-tag-reference.md
deleted file mode 100644
index 766839a..0000000
--- a/source/tag-developers/ui-tag-reference.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-layout: default
-title: Tag Developers Guide (WIP)
----
-
-# UI Tag Reference
-
-Struts UI Tags display data in rich and reusable HTML.
-
-## Form Tags
-
-- [checkbox](checkbox-tag.html)
-- [checkboxlist](checkboxlist-tag.html)
-- [combobox](combobox-tag.html)
-- [datetextfield](datetextfield-tag.html)
-- [doubleselect](doubleselect-tag.html)
-- [head](head-tag.html)
-- [file](file-tag.html)
-- [form](form-tag.html)
-- [hidden](hidden-tag.html)
-- [inputtransferselect](inputtransferselect-tag.html)
-- [label](label-tag.html)
-- [optiontransferselect](optiontransferselect-tag.html)
-- [optgroup](optgroup-tag.html)
-- [password](password-tag.html)
-- [radio](radio-tag.html)
-- [reset](reset-tag.html)
-- [select](select-tag.html)
-- [submit](submit-tag.html)
-- [textarea](textarea-tag.html)
-- [textfield](textfield-tag.html)
-- [token](token-tag.html)
-- [updownselect](updownselect-tag.html)
-
-## Non-Form UI Tags
-
-- [actionerror](actionerror-tag.html)
-- [actionmessage](actionmessage-tag.html)
-- [component](component-tag.html)
-- [div](div-tag.html)
-- [fielderror](fielderror-tag.html)
-
-## Ajax Tags
-
-- [a](a-tag.html)
-- [autocompleter](autocompleter-tag.html)
-- [bind](bind-tag.html)
-- [datetimepicker](datetimepicker-tag.html)
-- [div](div-tag.html)
-- [head](head-tag.html)
-- [submit](submit-tag.html)
-- [tabbedPanel](tabbed-tag.html)
-- [textarea](textarea-tag.html)
-- [tree](tree-tag.html)
-- [treenode](treenode-tag.html)
-
-> For detailed descriptions of each tag, including usage examples, see the 
[Tag Reference](tag-reference.html)
-
diff --git a/source/tag-developers/ui-tags.md b/source/tag-developers/ui-tags.md
index c33c4ba..820eee1 100644
--- a/source/tag-developers/ui-tags.md
+++ b/source/tag-developers/ui-tags.md
@@ -14,7 +14,6 @@ Template support allows UI tags to build a rich set of 
reusable HTML components
 requirements. For details, see [Themes and 
Templates](themes-and-templates.html).
 
 |[Themes and Templates](themes-and-templates.html)| A must-read explanation of 
how themes and templates are used when rendering UI tags. |
-|-----------------------------------|----------------------------------------------------------------------------------------|
 |[Form Tags](form-tags.html)| provide all form-related UI output, such as 
_form_ , _textfield_ , and _select_ . |
 | Non Form Tags | provide all non-form-related UI output, such as _a_ , _div_ 
, and _tabbedPanel_ . |
 

-- 
To stop receiving notification emails like this one, please contact
"commits@struts.apache.org" <commits@struts.apache.org>.

Reply via email to