(anonymous guest) (logged out)

Copyright (C) by the contributors. Some rights reserved, license BY-SA.

Sponsored by the Wiki Symposium and the Nuveon GmbH.

 

Add new attachment

Only authorized users are allowed to upload new attachments.

This page (revision-57) was last changed on 28-Apr-2008 19:53 by Isonomia  

This page was created on 04-Sep-2006 14:21 by Chuck Smith

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Difference between version and

At line 443 added 96 lines
Hi, I tried to run the PHP version of creole parser and after much heartache and swearing at yet another unfathomable bit of code it would be easier to write from scratch than use .... I finally got something displaying (how I don't know ...) and whilst most of it is 'acceptable' as output, the tables were frankly pathetic.
The result (after I fixed a minor bug in the parser) with my default browser settings (mozilla) was to crowd the cells with no border into a small huddle in the corner of the page, as if they were a crowd of timid chicks.
After a bit of hassle I put on a style sheet with a border, but still the first words stuck to the table sides like swatted flies.
Having said that, the actual syntax of a table is far far better than wikipedia. I've never yet managed to produce a table there without finding an example to work from.
Here's a few "must haves"
1. Borders on/off
2. Alignment left/centre
3. Cell padding (distance between borders and first character)
4. Minimum cell size.
-- [[Isonomia]] 2007-Apr-??
Just read through the comments and at first I thought {{{|=}}} was a good idea ... until I remembered I never use the <th> tag - why would I?. So I went to look to see what <th> gives you that <td> does not and to be honest I couldn't see anything in the list of attributes. **So as far as I can see any difference between a header and a normal row should have nothing to do with creole ... is is afterall an issue of //implementation// rather than specification about tables**
Let me be clearer. If a user wishes to have a table, then the specification should give them the tools to create that style in the first row: e.g.
{{{
| **First item** | **of a bold** | **centred table**
So I went and looked at the table specification in HTML, and this is the syntax I'm (kind of) suggesting for **every** cell:-
Syntax:
<cell> = <wiki-Text>
<table> = <first_row>{<uline><other_row>}*<uline>
<first_row> = (<table_start>%<row_start>%<cell_start>)<SPACE><cell>{<cell_start><SPACE><cell>{<~><uline>}*}*<uline>
<other_row> = (<row_start>%<cell_start>)<SPACE><cell>{<cell_start><SPACE><cell>{<~><uline>}*}*<uline>
<cell_start> = <|><cell_switches>
<row_start> = <|=><row_switches>
<table_start> = <||><table_switchs>
<cell_switches> = {'<'|'I'|'>'}{'v'|'-'|'^'}{'*'|'/'}
<row_switches> = {'<'|'I'|'>'>}{'v'|'-'|'^'>}{'*'|'/'}
<table_switches> = {'+'|'O'|'x'|'#'}
META SYNTAX
{<opt>} => zero or one repetitions
{<opt>}* => zero or more repetitions
[<opt>] => exactly one repetitions
[<opt>]* => one or more repetitions
(<opt1>|<opt2>) => either one of opt1 or opt2, etc.
<opt1>%<opt2> => At least one of opt1 and/or opt2.
(...) => clarify Meta syntax.
<|> = '|'
<SPACE> = space
<Uline> = end of line
<Text> = any wiki text
<Text> = (<|><table>)|<other-wiki-text>
}}}
Meanings:
# A table starts with a newline followed by a '|'
# If the next character is a ‘#’, '+', 'O' or 'X' the following characters are table switches
#If the next character is ‘=’ the following characters are row switches
#Otherwise anything up to the first white space is considered a cell attribute
# Cells and rows may be left'<' centre'I' right'>' aligned
# cells and rows may be bottom 'v' middle '-' and top '^' aligned
# Cells and rows may be bold’*’ or italic’/’ (bold cell within bold line inverts??).
# tables may come with all '#', outer 'O' with inner '+' borders or excluding borders 'x'.
# Within the table definition a row line ending in a ~ is not considered to be a new row. The reason for this is because many tables contain huge amounts of text and it would not be appropriate to have one row on a single line.
# A line beginning by: || indicates a new inner table... where upon a '|' as the last non-white-space character forces an end to the (inner) table (unless escaped '~|') The result is that a few examples of table would be:
{{{
| 'head' 1 | 'head' 2
| simple | table
|=< cell 1 | cell2
| The above row cells are | both left aligned by the ~|=
|=* Bold 'head' 1 | Bold 'head' 2
| cell 11 normal |* cell 12 is bold
|#* 'Header'1 | 'Header' 2 //table header, inner and outer borders, row bold
| Cell 11 | cell 12
| cell 21 is a very long row of text which is far too long to allow another similar row ~
| cell 22 is another very long row of text which is far too long to allow another similar row ~
|<v Cell 31 is left, bottom aligned |> cell 32 is right aligned.
| cell 41 || Cell 42 is a new table and this is Header 1 inner table ~
| Header 2 inner table
| cell 11 inner table | cell 12 inner table |
| cell 21 inner table | cell 22 inner table is last of outer cell 42 |
| last '~|' jumps out of inner table putting us in cell 51 | cell 52
}}}
[[Isonomia]] 2007, April, 28
Version Date Modified Size Author Changes ... Change note
57 28-Apr-2008 19:53 25.823 kB Isonomia to previous
56 28-Apr-2008 19:52 26.016 kB Isonomia to previous | to last
55 28-Apr-2008 19:05 25.605 kB Isonomia to previous | to last
54 28-Apr-2008 19:01 25.397 kB Isonomia to previous | to last
53 28-Apr-2008 18:46 25.169 kB Isonomia to previous | to last
52 28-Apr-2008 18:42 25.091 kB Isonomia to previous | to last
51 25-Apr-2008 17:13 22.032 kB Isonomia to previous | to last
50 26-Sep-2007 09:34 20.998 kB ChuckSmith to previous | to last restore
49 26-Sep-2007 01:15 21.01 kB 219.138.204.162 to previous | to last
48 01-Mar-2007 12:09 20.998 kB RadomirDopieralski to previous | to last use tests not imagination
47 01-Mar-2007 01:37 19.557 kB YvesPiguet to previous | to last
46 01-Mar-2007 00:51 18.691 kB 195.225.49.22 to previous | to last "second option" means monotonity
45 28-Feb-2007 18:47 18.265 kB YvesPiguet to previous | to last Reply
44 28-Feb-2007 17:52 18.018 kB RadomirDopieralski to previous | to last explaining why they are different from headings
43 28-Feb-2007 17:44 17.786 kB YvesPiguet to previous | to last Trailing eq
42 28-Feb-2007 17:34 17.556 kB RadomirDopieralski to previous | to last stripping the = from the end
41 28-Feb-2007 16:58 17.297 kB YvesPiguet to previous | to last cell headings
« This page (revision-57) was last changed on 28-Apr-2008 19:53 by Isonomia