You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
forgejo/modules/markup
mrsdizzie 6293736d02 Use stricter boundaries for auto-link detection (#6522)
* Use stricter boundaries for auto-link detection

Currently autolinks use \W for boundary detection which creates many
situations of inserting links into places they don't belong (paths,
URLs, UUIDs, etc...)

This fixes that by replacing \W and only allowing these matches to touch
an open paren or bracket (matching what seems to be Github behavior) in
addition to whitespace and start of line. Similar for ending boundary as
well.

Fixes #6149
(and probably others)

* Update test

Replace incorrect test with a value that is a valid username, based on:

"Username should contain only alphanumeric, dash ('-'), underscore ('_')
and dot ('.') characters."

* Also allow for period at the end

Matching Github behavior

* Fix email regex to work properly with specificed boundaries

Create a specific capture group for email address and then use
FindStringSubmatchIndex to allow for non-matching patterns as
boundaries.

* Add Tests

Add tests for new behavior -- including tests for email addresses which
were absent before.
5 years ago
..
csv Add csv file render support defaultly (#4105) 6 years ago
external Better logging (#6038) (#6095) 5 years ago
markdown Markdown: enable some more extensions (#6362) 5 years ago
orgmode Better logging (#6038) (#6095) 5 years ago
html.go Use stricter boundaries for auto-link detection (#6522) 5 years ago
html_internal_test.go Use stricter boundaries for auto-link detection (#6522) 5 years ago
html_test.go Use stricter boundaries for auto-link detection (#6522) 5 years ago
markup.go Better logging (#6038) (#6095) 5 years ago
markup_test.go Prioritize "readme.md" (#5691) 6 years ago
sanitizer.go Restructure markup & markdown to prepare for multiple markup language… (#2411) 7 years ago
sanitizer_test.go Restructure markup & markdown to prepare for multiple markup language… (#2411) 7 years ago