Date: Tue, 29 Jul 2014 10:42:12 +0000
Mime-Version: 1.0 (Produced by PhpWiki 1.5.0)
Content-Type: application/x-phpwiki;
  pagename=Help%2FRichTablePlugin;
  flags=PAGE_LOCKED%2CEXTERNAL_PAGE;
  charset=UTF-8
Content-Transfer-Encoding: binary

The **~RichTable** [[Help:WikiPlugin|plugin]] is a plugin that takes off from the [[Help:OldStyleTablePlugin|OldStyleTable]] plugin. It allows a user to specify arbitrary properties of ##<table>##, ##<tr>## and ##<td>## with a very simple markup.

This plugin is included for legacy only. We recommand to
use [[Help:MediawikiTablePlugin|Mediawiki tables]] instead.

== Syntax ==

The contents of each cell are individually processed by the ~BlockParser. This means that you can do interesting things like put **invoke plugins**, use **enumerated lists** etc within each cell!

A ##"-"## (dash) at the start of a new line represents a new row in the table.

A ##"|"## (vertical bar or pipe) at the start of a new line represents a cell.

=== Attributes for the tags ===

A line that starts with a ##"~*"## (star or asterisk) after a ##"|"## is parsed for attributes for the corresponding cell.

Attributes for the table are given on line that starts with a ##"~*"##, only if the line appears before any other line except whitespace.

A line that starts with a ##-## is always parsed for attributes since it can't have any content, unlike a cell.

=== Cell contents ===

Cell contents are processed by the ~BlockParser.

Any line that starts with a ##"~*"## anywhere other than the table attribute line is treated as normal content.

Any line that starts with whitespace is also treated as content.

Any cell line that does not have a ##"~*"## after the ##"|"## is treated as normal content.

All content lines that follow a cell line are added to that cell. They can contain arbitrary text except the above cases.

If there is no cell in the current row, content lines are dropped silently.

=== Special characters ===

The two special characters ##"~~"## and ##"?>"## should be escaped as ##"\~~"## and ##"?\>"##. I havn't discovered any other characters yet that might need to be escaped. This is required for the block parser to work.

=== Attributes ===

We allow attributes with or without quotes ("):
{{{
border=1, cellpadding="5"
style="font-family: sans-serif; border-top:1px solid #dddddd;"
style="font-family: Verdana, Arial, Helvetica, sans-serif"
}}}

== Example ==

<<RichTable

*border=1, cellpadding=5, bgcolor=#f0f8f8, width=75%, align=center
-
|* colspan=3, align=center
HomePage
-
|* colspan=2
[http://phpwiki.svn.sourceforge.net/viewvc/phpwiki/trunk/themes/default/images/png.png]
|* rowspan=2
This cell actually has a plugin invocation inside it!
<?plugin
BackLinks
?\>
- bgcolor=white
|
# One
# Two
|
* Foo
* Bar
- bgcolor=cyan
This line gets dropped ... no cell to contain it!
|* bgcolor=#f0f0ff, align=center
One paragraph

Another paragraph?
|* align=left
This cell uses the row color
| I wish this cell had a nested table inside it! :(
>>

The above table is rendered from:

{{{
<<RichTable

*border=1, cellpadding=5, bgcolor=#f0f8f8, width=75%, align=center
-
|* colspan=3, align=center
HomePage
-
|* colspan=2
[http://phpwiki.svn.sourceforge.net/viewvc/phpwiki/trunk/themes/default/images/png.png]
|* rowspan=2
This cell actually has a plugin invocation inside it!
<?plugin
BackLinks
?\>
- bgcolor=white
|
# One
# Two
|
* Foo
* Bar
- bgcolor=cyan
This line gets dropped ... no cell to contain it!
|* bgcolor=#f0f0ff, align=center
One paragraph.

Another paragraph?
|* align=left
This cell uses the row color
| I wish this cell had a nested table inside it! :(
>>
}}}

== Known Bugs ==
* The plugin can't nest itself. Thus nested tables are currently not possible. See [[Help:MediawikiTablePlugin|Mediawiki tables]] to have nested tables.

== Author ==
* [[http://www.it.iitb.ac.in/~sameerds/phpwiki/index.php/RichTablePlugin|Sameer D. Sahasrabuddhe]]

<noinclude>
----
[[PhpWikiDocumentation]] [[CategoryWikiPlugin]]
</noinclude>
