- Issue created by @pivica
- 🇷🇸Serbia pivica
This is ready for a full review/test. One thing that needs additional thinking is handling of text like links - this are the links that starts and ends with text and that can have simple html elements between text. Simple html elements are elements that do not have additional child elements inside. The idea is that wrapping should work for links like
<a>link with just some text</a> <a>link with some <strong>bold</strong> formatting</a>
But complex links like
<a><div class="card"><div class="title">link card title</div><div class="body">link card</div></div></a>
will not be wrapped.
The questions are edge cases like
<a><span>link</span> with just some text</a> <a>link with just some <span>text</span></a>
Is this a text like link or not, current assumption is that it is not because there are elements on start or end.
Maybe we should just say, link is text like if there is no elements inside of it or it has only elements that have text and no additional inner elements?
- 🇺🇸United States smustgrave
Definitely should have test coverage, but general approach seems fine. Though kinda would like to land ✨ New option "Wrap only text-like links." Active first since it seems to cover more usages.
- 🇨🇭Switzerland berdir Switzerland
It needs to land first, this builds on the other issue.
- 🇫🇮Finland heikkiy Oulu
Just a small note but the comment from #6 is referencing this issue itself which might confuse users landing directly to this issue. :) I guess it should reference 🐛 Remove wrapping the last word in extlink span. Needs review .
Agreed that this approach seems very useful for card like components etc.
- 🇨🇭Switzerland berdir Switzerland
Rebased, still needs tests.
Note: adjusted the update function number, but I noticed that they go on sequentially from the old update functions at the moment. But with the new major version and possibility of multiple minor versions, you might want to consider to switch to something with prefixes matching the new major/minor release, like 200000, 200001 and then 201000 for a 2.1.x release branch. That gives you the ability to add an update function to 2.0.x once 2.1.x is out. Not being prepared for that can end up being very messy.