Further improve proposed pattern for Redirector

This patch further improves the proposed pattern for the Redirector
extension. In contrast to the old pattern, …

* … it will redirect the URL https://medium.com.
* … it will *not* redirect URLs with top-level domains like mediumXcom.
  (This point is purely theoretical, but it makes the regular expression
  more correct and consistent.)
* … it will *not* redirect URLs like https://link.medium.com/AXEtCilplkb
  which Scribe currently cannot handle. These are shortened URLs that
  users get when they use the Twitter button on Medium to share a post.

In order to implement the last point (not matching link.medium.com), the
pattern uses negative lookbehind. This feature of regular expressions is
supported by all recent browsers for which Redirector is available
(Firefox, Chrome, Edge, Opera)[^1], including the current version of
Firefox ESR (Extended Stability Release).

[^1]: https://caniuse.com/js-regexp-lookbehind
This commit is contained in:
Martin Puppe 2021-10-15 10:10:20 +02:00 committed by Edward Loveall
parent 472b0092c8
commit 56b6d546db
No known key found for this signature in database
GPG Key ID: A7606DFEC2BA731F
1 changed files with 2 additions and 2 deletions

View File

@ -53,13 +53,13 @@ class Home::IndexPage < MainLayout
end
li do
strong "Include pattern: "
code "^https?://(?:.*\\.)*medium.com/(.*)$"
code "^https?://(?:.*\\.)*(?<!link\\.)medium\\.com(/.*)?$"
end
li do
strong "Redirect to: "
code "https://"
code app_domain
code "/$1"
code "$1"
end
li do
strong "Pattern type: "