| At line 459 changed one line |
| ~~~~ |
| -- [[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 |