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 |