RichTablePlugin is a plugin that takes off from the OldStyleTablePlugin. It allows a user to specify arbitrary properties of <table>, <tr> and <td> with a very simple markup.
NEW: The plugin is now fixed so that the contents of each cell are individually processed by the BlockParser. This means that if everything works correctly, you can do interesting things like put invoke plugins, use enumerated lists etc within each 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 <tt>""</tt>, 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
Any line that starts with a <tt>""</tt> 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 <tt>""</tt> 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.
Bugs:
Example:
This cell actually has a plugin invocation inside it! <?plugin BackLinks ?> |
||
|
|
|
One paragraph Another paragraph? |
This cell uses the row color |
|
The above table is rendered from:
<?plugin RichTable *border=1, cellpadding=5, bgcolor=#f0f8f8, width=75%, align=center - |* colspan=3, align=center HomePage - |* colspan=2 [http://phpwiki.sourceforge.net/demo/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! :( ?>