Pictures don't upload well into tables because of the straight bar symbol

Our forum uses tables to describe the function of digital synthesizer modules. In the first column, we use a picture. Because Discourse inserts a | between the file name and resolution, it breaks the link to the picture when using it in a column.

The solution is you have to delete the | symbol. Not a big deal, but also not intuitive for beginners.

Meter | Displays
---|---
![Meter-Pattern|108x108](upload://9DAOKRFuJI7XfTYXxm9fsalRgbM.png) | `Pattern`
Meter Displays
![Meter-Pattern 108x108](upload://9DAOKRFuJI7XfTYXxm9fsalRgbM.png)

vs.

Meter | Displays
---|---
![Meter-Pattern108x108](upload://9DAOKRFuJI7XfTYXxm9fsalRgbM.png) | `Pattern`
Meter Displays
Meter-Pattern108x108 Pattern

Thanks!

8 Likes

Looks like the standard escape character (\) works:

Meter | Displays
---|---
![Meter-Pattern\|108x108](upload://9DAOKRFuJI7XfTYXxm9fsalRgbM.png) | `Pattern`
Meter Displays
Meter-Pattern Pattern
12 Likes

Sure, but you can also just delete the | as well. I’m personally not super versed in code so I had to puzzle through this at first.

Perhaps it’s not worth changing, I just thought maybe no one was really using pictures in tables and no one had come across this before. Not a big deal, I made a note of it on a tutorial about tables on our forum.

Thanks!

1 Like

But if you escape, you can actually resize the image:

Meter Displays
Meter-Pattern Pattern
Meter | Displays
---|---
![Meter-Pattern\|22x22](upload://9DAOKRFuJI7XfTYXxm9fsalRgbM.png) | `Pattern`

note the escape in \|22x22

6 Likes

Maybe if I get this right, if the picture doesn’t load, it would say “Meter-Pattern” with your \ solution and “Meter-Pattern108x108” if you did it by deleting the |?

Oooh, ok that’s great to know!

I will amend the advice on the forum to reflect this. Thanks a lot! I’m so psyched about the powers of this new forum. We were struggling on an old version of Vanilla that didn’t even have bold text. Yeesh.

4 Likes

Very interesting edge case. Also note that part specifying the image dimensions is not strictly required

![Meter-Pattern](upload://9DAOKRFuJI7XfTYXxm9fsalRgbM.png)
![Meter-Pattern|108x108](upload://9DAOKRFuJI7XfTYXxm9fsalRgbM.png)

… though if omitted, it will cause some bouncing around in the topic as the browser has to manually verify the image dimensions.

6 Likes

Agree, very interesting edge case. If we give up allowing , in title for images we can work around it but I wonder if this is a bug @Vitaly in the ordering of the table processing in the pipeline (maybe we should process images prior to tables)? (see OP)

4 Likes

Table is parsed on block level. It can’t jump to inline mode before it detects cells layout. So, it only process backticks and escapes.

Since tables are not part of CommonMark spec, we follow GFM spec. You can check, github behave the same way.

In short: currently all backticks and pipe chars inside tables MUST be escaped.

If you wish different behaviour, you need to ask github guys to update spec. But, personally, i’m not sure if good resolutions possible at all on spec level. IMO this case is very specific, has workaround, and does not worth efforts to be spent for spec/parsers rework.

2 Likes