Concatenating Rich Text

Hey all, wanted to share a really important bug you’ll run into when you’re using concatenate(). Specifically, if you’re mixing in Rich Text and Hyperlinks, Coda will drop some of the formatting. :scream: But, there’s a solution. Instead of using concatenate() use join("", list()) instead. Here’s what it looks like in practice

old

=Concatenate([Test: Concatenation].Text.nth(1), " ", [Test: Concatenation].Link.nth(1))

new

=Join("", List([Test: Concatenation].Text.nth(1), " ", [Test: Concatenation].Link.nth(1)))

An example wouldn’t be complete without a screenshot. In it, you can see the original table, and how join()+list() will preserve the rich text attributes. Hope this helps someone else out!

2 Likes

Hi Jakob,

You’ve run across an interesting bug! We’re currently working on a fix for this to ensure Concatenate respects the input arguments and returns rich text when required. This would also enable fun things such as using our Rectangle formula to draw bars (something Shishir is quite fond of).

Your suggestion of using Join is a great for now though I don’t believe you need to wrap the arguments with a List formula. Based on our current behavior, the only requirement is that the arguments have a rich text value. Ex: your input should be bold, italics, etc. This image gives a basic example. Notice the first row gives the desired result while row two has issues. The only difference being pure text vs. rich text.

https://dha4w82d62smt.cloudfront.net/items/2v2g1V3N0P0r2N1J1c2X/Image%202018-02-17%20at%202.39.27%20PM.png

It’s also good practice to avoid Nth where possible. If you have a well known row that you want to refer to you can reference the row and pick values from it by using an @reference. The little snippet below shows the difference.

I appreciate your contribution to our Community as we get things going. Keep the insights and suggestions coming.

Nigel.

2 Likes