17

On this particular SE site, we'll occasionally have to post lists of items with multiple, ordered pieces of information in each list entry. I.e. what would normally be formatted into a table. But SE doesn't support tables via markdown or HTML, so we work around this limitation.

Examples:

I request that support for tables be added to the site.

  • Feel free to edit in other example posts which would benefit from this feature.
8
  • While I support your request, I still feel that the most common use case for such a feature would be for open-ended list questions, which are generally discouraged. Still, I support, for questions like the ones you linked to, which aren't. Commented Feb 10, 2013 at 6:29
  • Also my table in the middle of a Fringe answer. Took me a good 10 minutes to figure out how I could nicely format that one part alone... (Original intent was to put the description beside each one, rather than label them A/B/C/D, but that created a horrid horizontal scrollbar)
    – Izkata
    Commented Feb 10, 2013 at 7:24
  • @AvnerShahar-Kashtan Bulleted lists (as used in this question) have no length limitations. So I don't see any problem there.
    – Izkata
    Commented Feb 10, 2013 at 7:25
  • There are plenty of closed-ended list questions that could use this. I'd like a row/column limit on them, though.
    – Solemnity
    Commented Feb 21, 2013 at 5:36
  • Folks, if you have arguments for or against, you should post answers, and let the community vote on them.
    – user1027
    Commented Feb 21, 2013 at 15:34
  • 1
    Rejected on meta.so: meta.stackexchange.com/q/5255/172958
    – Kevin
    Commented Feb 21, 2013 at 17:31
  • 1
    Re-requested on meta.SO: meta.stackexchange.com/q/138946/158781
    – user1027
    Commented Feb 21, 2013 at 17:49
  • The Spock example is a poor one. In a script, the stage directions go before (or after) the dialogue, not alongside it.
    – Valorum
    Commented Dec 2, 2020 at 10:19

2 Answers 2

7

The reason why code-embedded tables are awful is that you cannot use normal formatting like boldness, italics, links and so forth. Everything will be interpreted as code.

IMO, Stack Exchange is one of leading family of sites when it comes to not getting in the way of users when they want to provide content. The fact that tables are missing is a big setback in terms of usability. Of course one can always hack something together with monospace fonts and tons of spaces but seriously, I think we are decades past that sort of stuff.

Tables have a smell on them as they have been misused in the dark ages of the Web, but when used what they are intended for tables are a good thing.

3
  • Mm, I disagree with that part about being unable to use formatting. We just need a good way to edit the tables. As a quick just-pulled-out-of-nowhere example: {**Header 1**}{**Header 2**}\n{Row 1 Col 1}{Row 1 Col 2}\n{Row 2 Col 1}{Row 3 Col 2}. Bold, italic, links, and even bullet points should all work inside tables with this formatting, provided what's between { and } can be multi-line.
    – Izkata
    Commented Mar 14, 2013 at 1:44
  • 1
    @Izkata: I was referring to the practice of using the <pre>formatted markdown feature (the one where each line is preceded by four spaces) to fake proper tables. I have no idea how your example is intended to work; Could you post an answer which includes your example?
    – bitmask
    Commented Mar 14, 2013 at 1:58
  • Oh, that I agree with (and used in one of the examples in the question). And sure; I hope it's straightforward.
    – Izkata
    Commented Mar 14, 2013 at 2:13
3

Posting an example at @bitmasks's request - this is the basic format I was thinking of:

{Row 1 Col 1}{Row 1 Col 2}
{Row 2 Col 1}{Row 2 Col 2}

The names should make it obvious what the groupings mean. For headers, insert bolding markup:

{ **Header 1** }{ **Header 2** }
{Row 1 Col 1}{Row 1 Col 2}
{Row 2 Col 1}{Row 2 Col 2}

The idea is whenever } is followed by { without a new line between them, treat them as the same row, a new line creating the next row. That makes bulleted lists possible, if a bit messy:

{ **Dialogue** }{ **Notes** }
{ _Hamlet_: "Alas, poor Yorick! I knew him, Horatio" }{
* Holds skull
  * Human, not monkey
}

(If that's a bit difficult to envision, this is what I imagine:) Example with bulleted list

Not to mention spoiler'd text:

{
>! _Skull_: "Why're ya talkin' ta me?"
}
5
  • Ooh! You were suggesting a syntax for tables. See, I thought you were trying to tell me I missed an existing feature (egg to my face). Thanks for clarifying it.
    – bitmask
    Commented Mar 14, 2013 at 12:39
  • How would your suggested syntax be adjusted for row and column spans? Commented Jul 17, 2013 at 12:41
  • @AnthonyGrist I'd call that an advanced feature that none of our examples in the question use - it can be skipped.
    – Izkata
    Commented Jul 17, 2013 at 13:23
  • @AnthonyGrist However, if implemented carefully, it could be done as a table-within-a-table: { this is row1, colspan=2 }<newline>{ { row2-col1 }{ row2-col2 }<newline>{ row3-col1 }{ row3-col2 } }
    – Izkata
    Commented Jul 17, 2013 at 13:23
  • @AnthonyGrist Just reread you comment, rows: { Col1, rowspan=2 }{ { col2-row1}{ col3-row1}<newline>{ col2-row2}{ col3-row2 } }
    – Izkata
    Commented Jul 17, 2013 at 13:37

You must log in to answer this question.