Diff: Help/RichTablePlugin

Differences between current version and predecessor to the previous major change of Help/RichTablePlugin.

Other diffs: Previous Revision, Previous Author

Newer page: version 6 Last edited on 17 January 2022 3:00 by harold
Older page: version 5 Last edited on 9 September 2007 0:16 by harold Revert
@@ -1,53 +1,75 @@
+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.  
  
-! Synopsis  
+This plugin is included for legacy only. We recommend to  
+use [[Help:MediawikiTablePlugin|Mediawiki tables]] instead.  
  
-The Help:RichTablePlugin is a plugin that takes off from the Help:OldStyleTablePlugin. It allows a user to specify arbitrary properties of <tt><table></tt>, <tt><tr></tt> and <tt><td></tt> with a very simple markup.  
+== Syntax ==  
  
-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! 
+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 <tt> "-"</tt> (dash) at the start of a new line represents a new row in the table.  
-*A <tt>"|"</tt> (vertical bar or pipe) at the start of a new line represents a cell.  
-*Attributes for the tags  
- *A line that starts with a <tt>"*"</tt> (star or asterisk) after a <tt>"|"</tt> 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 <tt>-</tt> 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 <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 <tt>"|"</tt> 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.  
-*The two special characters <tt>"~~"</tt> and <tt>"?>"</tt> should be escaped as <tt>"\~~"</tt> and <tt>"?\>"</tt>. I havn't discovered any other characters yet that might need to be escaped. This is required for the block parser to work
+A ## "-"## (dash) at the start of a new line represents a new row in the table. 
  
-! Bugs  
-* The source code sucks  
-* The plugin can't nest itself yet. Thus nested tables are currently not possible
+A ##"|"## (vertical bar or pipe) at the start of a new line represents a cell
  
-! Example  
+=== Attributes for the tags ===  
  
-< ?plugin RichTable 
+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 haven'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.sourceforge.net/ demo/themes/default/images/png.png] 
+[http://phpwiki.demo.free.fr /themes/default/images/png.png] 
 |* rowspan=2 
 This cell actually has a plugin invocation inside it! 
 <?plugin 
 BackLinks 
 ?\> 
 - bgcolor=white 
 
-#One  
-#Two 
+# One  
+# Two 
 
-*Foo  
-*Bar 
+* Foo  
+* Bar 
 - bgcolor=cyan 
 This line gets dropped ... no cell to contain it! 
 |* bgcolor=#f0f0ff, align=center 
 One paragraph 
@@ -55,34 +77,34 @@
 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: 
  
-<verbatim>  
-<?plugin RichTable 
+{{{  
+<< 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] 
+[http://phpwiki.demo.free.fr /themes/default/images/png.png] 
 |* rowspan=2 
 This cell actually has a plugin invocation inside it! 
 <?plugin 
 BackLinks 
 ?\> 
 - bgcolor=white 
 
-#One  
-#Two 
+# One  
+# Two 
 
-*Foo  
-*Bar 
+* Foo  
+* Bar 
 - bgcolor=cyan 
 This line gets dropped ... no cell to contain it! 
 |* bgcolor=#f0f0ff, align=center 
 One paragraph. 
@@ -90,14 +112,22 @@
 Another paragraph? 
 |* align=left 
 This cell uses the row color 
 | I wish this cell had a nested table inside it! :( 
-? >  
-</verbatim
+>>  
+}}}  
  
-;<strong>Author</strong>: Sameer D. Sahasrabuddhe  
-;<strong>Url</strong>: http://www .it .iitb.ac.in/~sameerds/phpwiki/index .php/RichTablePlugin  
+== Known Problems ==  
+* The plugin can't nest itself . Thus nested tables are currently not possible . See [[Help:MediawikiTablePlugin|Mediawiki tables]] to have nested tables
  
+== See Also ==  
+* [[Help:MediawikiTablePlugin]]  
+* [[Help:OldStyleTablePlugin]]  
+* [[Help:WikicreoleTablePlugin]]  
  
--------------  
+== Author ==  
+* [[http://www.it.iitb.ac.in/~sameerds/phpwiki/index.php/RichTablePlugin|Sameer D. Sahasrabuddhe]]  
  
-PhpWikiDocumentation Help:WikiPlugin  
+<noinclude>  
+----  
+[[ PhpWikiDocumentation]] [[CategoryWikiPlugin]]  
+</noinclude>  

current version

The RichTable plugin is a plugin that takes off from the 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 recommend to use 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 haven'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

HomePage

This cell actually has a plugin invocation inside it!

No page links to Help/RichTablePlugin.

  1. One
  2. Two
  • Foo
  • Bar

One paragraph

Another paragraph?

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.demo.free.fr/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 Problems

  • The plugin can't nest itself. Thus nested tables are currently not possible. See Mediawiki tables to have nested tables.

See Also

Author