[Pmwiki-users] Need help with markup

Patrick R. Michaud pmichaud at sci.tamucc.edu
Sun Oct 13 16:13:16 CDT 2002


Hey folks, I need some suggestions about some PmWiki markup I'm considering
adding to the current system.

I have a couple of places where I need to be able to create tables
that are more sophisticated than what PmWiki currently allows.  For
example, I'd like to be able to put headers and bullet lists and other
stuff inside of table cells.  The current table markup doesn't support
this.

I've come up with several ways to handle this.  The simplest from an
implementation perspective is to simply bring the HTML table markup
tags to the surface (I'm voting for double brackets over angle brackets
for a variety of reasons):

	[[table border='1']]
	[[tr]][[td align='left']]
	Here is some PmWiki text.
	* Bullet lists okay
	* Still okay
	[[/td]][[td align='right']]
	Here is a second cell, the text here is right aligned.
	[[/td]][[/tr]][[/table]]

This would allow folks to write reasonably arbitrary table markup in
a wiki page, assuming they understand table tags in HTML.  This would
also make it possible for people to create pages that aren't valid HTML;
e.g., if they forget a closing tag.  In fact, forgetting the closing 
"[[/table]]" markup would cause all sorts of formatting problems, especially
in Netscape or for wiki content embedded in larger page structures.  
Alternatively I could try to make the PmWiki markup engine
smart enough to completely understand the HTML table structure and
have it add in the appropriate missing tags where appropriate, but that
seems a bit more complex than what I was originally aiming for.
Plus, the markup looks ugly here, and might scare off some potential 
wiki page authors for pages that use the tables.

As opposed to using HTML directly, I can invent my own table markup that 
converts in an HTML-safe manner.  For example, if the tag "[[tablerow]]" 
means start a cell in a new row and "[[tablecol]]" means start a 
new column in the current row, then:

	[[tablestart border='1']]
	[[tablerow]]
	Here is some PmWiki text.
	* Bullet lists okay
	* Still okay
	[[tablecol align='right']]
	Here is a second cell, the text here is right aligned.
	[[tableend]]

Arbitrary table cell attributes would still be available; and it would
also make other things possible such as "rowspan" or setting individual 
cell widths.

For this second format I'd be initially against nested tables but
those could conceivably be added at some point in the future.

Bad ideas?  Good ideas?  Comments?  Suggestions?

Pm





More information about the pmwiki-users mailing list