Proposed table syntax

Michel Fortin michel.fortin at michelf.com
Wed Oct 20 13:24:14 EDT 2004


Le 20 oct. 2004, à 11:23, Shaun Inman a écrit :

> Then there's a table with table heads across the top row:
>
> 	First Name		Last Name		URL
> 	==============================================================
> 	Jeffrey			Zeldman			http://www.zeldman.com/
> 	John			Gruber			http://www.daringfireball.net/
> 	Joshua			Davis			http://www.joshuadavis.com/

What's interesting is how great it look in text form.

So a table would be defined as a paragraph with a list of more than one 
group of word -- a group of word being words separated less than 4 
spaces -- followed by a line full of `===`. Each subsequent lines 
should be cut according to the spacing of the headers and the content 
be put between "td" tags. Sounds doable.

I have two improvements to propose:

First, sometime I prefer to fit my text in a table on more than one 
line. A row separator could be useful in that case:

	Company					Description
	===========================================================
	Apple Computer inc.		The maker of the Macintosh, iPod,
							Quicktime and Firewire.
	-----------------------------------------------------------
	Microsoft				No need for a description.
	-----------------------------------------------------------
							Multiple paragraphs?

							*	And lists?

								And why not code blocks.

							> Noticed the empty cell beside
							> this one?
	-----------------------------------------------------------

The last `---` line followed by a blank line means that the table is 
finished. The only drawback I can find is that it is not be possible to 
write two spaces at the end of a line to indicate a line break (since 
spaces control column alignement). But `<br />` would still work so it 
may not be a big problem.

But for the times a row separator gets in the way, the table could 
begin with a `---` line instead of a `===` one. Such a table do not 
need row separators and ends at the first blank line.

	First Name		Last Name		URL
	--------------------------------------------------------------
	Jeffrey			Zeldman			http://www.zeldman.com/
	John			Gruber			http://www.daringfireball.net/
	Joshua			Davis			http://www.joshuadavis.com/

As for a horizontal headers, this proposed syntax does not look natural 
at all to me.

> 	Label One......:	Some data
> 	Label Two......:	Additional data
> 	Label Three....:	More data

Beside, it would be a lot more difficult to accurately make the columns 
(if there is more than two) since there is not header on the top 
telling where to cut the lines.

* * *

I found another drawback. Currently, writing this:

	Header
	======
	Paragraph

... leads to a real header followed by a paragraph. (blank line not 
required between the `===` line and the paragraph). In the proposed 
table syntax, this would mean a table. So there is a backward 
compatibility issue.


Michel Fortin
michel.fortin at michelf.com
http://www.michelf.com/



More information about the Markdown-discuss mailing list