This week's tip comes from Gary Thompson at Verdant Spark
Let's say a merchant is using product metafields to populate collapsible sections on the product template, but they really want one of those to be rendered as bullet points. A multiline metafield doesn't support html, or any other metafield - at least not in a way the merchant could use.
While you can render list tags around the data in the template Unfortunately there's currently no-way to identify if the current block in the loop's dynamic source is the metafield you want (if it's attached to the template as a dynamic bit of content it's only accessible as block.settings.content).
Here's a workaround to that problem (where product.metafields.namespace.details.value is the multiline metafield with your desired content)
// block.settings.content is already wrapped in a paragraph and span with a class by Shopify
// so we make the metafield we know we want to look the same
{﹪ assign test = '<p><span class="metafield-multi_line_text_field">'
| append: product.metafields.namespace.details.value | newline_to_br
| append: '</span></p>'
﹪}
// if they're the same, then we can make our bulleted list
{﹪ if block.settings.content == test ﹪}
{﹪ assign bullets = product.metafields.namespace.details.value
| newline_to_br | split: '<br />'
﹪}
<ul>
{﹪ for bullet in bullets ﹪}
<li></li>
{﹪ endfor ﹪}
</ul>
{﹪ else ﹪}
// just output the content as standard
{﹪ endif ﹪}