commit: 50882b427a641e82957e17f206b41130628a5477
parent e862ee9d217f05cbce7603c6d49f78f212372630
Author: Egor Kislitsyn <egor@kislitsyn.com>
Date: Wed, 3 Apr 2019 18:53:35 +0700
support Telugu and probably other Asian scripts (#3)
Diffstat:
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/lib/auto_linker/parser.ex b/lib/auto_linker/parser.ex
@@ -44,7 +44,7 @@ defmodule AutoLinker.Parser do
# https://www.w3.org/TR/html5/forms.html#valid-e-mail-address
@match_email ~r"^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$"u
- @match_hashtag ~r/^(?<tag>\#[[:word:]_]*[[:alpha:]_·][[:word:]_·]*)/u
+ @match_hashtag ~r/^(?<tag>\#[[:word:]_]*[[:alpha:]_·][[:word:]_·\p{M}]*)/u
@prefix_extra [
"magnet:?",
diff --git a/test/auto_linker_test.exs b/test/auto_linker_test.exs
@@ -195,6 +195,21 @@ defmodule AutoLinkerTest do
) == expected
end
+ test "support Telugu" do
+ text = "#చక్రం #కకకకక్ #కకకకాక #కకకక్రకకకక"
+
+ expected =
+ "<a href=\"/t/చక్రం\">#చక్రం</a> <a href=\"/t/కకకకక్\">#కకకకక్</a> <a href=\"/t/కకకకాక\">#కకకకాక</a> <a href=\"/t/కకకక్రకకకక\">#కకకక్రకకకక</a>"
+
+ assert AutoLinker.link(text,
+ hashtag: true,
+ hashtag_prefix: "/t/",
+ class: false,
+ rel: false,
+ new_window: false
+ ) == expected
+ end
+
test "do not turn urls with hashes into hashtags" do
text = "google.com#test #test google.com/#test #tag"