Ran across this broken link here. Summit shows links differently to the webui, and probably also other apps. I think matching webui behavior is best here.

There seems to be more complex regex at play, including checking for matching brackets etc… Probably best to dig that out of the sourcecode.

Examples:

Summit: https://en.m.wikipedia.org/wiki/Orion_(spacecraft)
Raw: https://en.m.wikipedia.org/wiki/Orion_(spacecraft)
Webui: https://en.m.wikipedia.org/wiki/Orion_(spacecraft)

Summit: https://example.org/aa(aa
Raw: https://example.org/aa(aa
Webui: https://example.org/aa(aa

Summit: https://example.org/aa(aa)
Raw: https://example.org/aa(aa)
Webui: https://example.org/aa(aa)

Interestingly while writing this, I noticed the rules for android long press text select also match webui behavior.

  • Redjard@lemmy.dbzer0.comOP
    link
    fedilink
    arrow-up
    2
    ·
    9 months ago

    I got linkify-it to run with nodejs with some minor modifications and this is the output of console.log(re.tpl_link_fuzzy);: https://files.catbox.moe/8y1bfx.regex (tpl_link_fuzzy.regex, 18.47kiB)

    Just paste 19kB of raw regex into your code, noone has ever regretted pasting 19kB of regex into their code.

    • idunnololz@lemmy.worldM
      link
      fedilink
      arrow-up
      1
      ·
      9 months ago

      This doesn’t convert cleanly to java/kotlin. At least one of the groups is messed up and I am not going to go through 19,000 characters to find each one. I found a library that looks promising and I’ll try that instead.