// ==UserScript==
// @name Text To link
// @name:aa kutbe
// @name:ab Азхьарԥш ахь атекст
// @name:af Teks na skakel
// @name:ak Text to link .
// @name:am ጽሑፍ ለማገናኘት ጽሑፍ
// @name:ar نص لربط
// @name:as লিংকৰ বাবে লিখনী
// @name:av тIасияб
// @name:ay Texto ukax Link .
// @name:az Link etmək üçün mətn
// @name:ba Текст һылтанма буйынса
// @name:be Тэкст для спасылкі
// @name:bg Текст за връзка
// @name:bh लिंक करे खातिर पाठ
// @name:bm Text ka link .
// @name:bn লিঙ্কে পাঠ্য
// @name:bo འབྲེལ་མཐུད་བྱེད་པའི་ཡིག་ཆ།
// @name:br Testenn da liamm
// @name:bs Tekst za povezivanje
// @name:ca Text per enllaç
// @name:ce Текст ссылка ян .
// @name:ceb Text aron i-link
// @name:ch Este para un
// @name:ckb دەق بۆ بەستەر
// @name:co Testu à Link
// @name:cs Text na odkaz
// @name:cv Текст çыхăнтарма
// @name:cy Testun i gysylltu
// @name:da Tekst til at linke
// @name:de Text zu Link
// @name:dv ލިންކަށް ލިޔުން
// @name:dz འབྲེལ་ལམ་གྱི་ཡིག་ཆ།
// @name:ee text to link .
// @name:el Κείμενο για σύνδεση
// @name:en Text to link
// @name:en-GB Text to link
// @name:eo Teksto por ligi
// @name:es Texto para vincular
// @name:es-419 Texto para vincular
// @name:et Linkimiseks tekst
// @name:eu Lotzeko testua
// @name:fa متن به پیوند
// @name:ff Binndol jokkondirde
// @name:fi Teksti linkittäväksi
// @name:fil Teksto upang mag -link
// @name:fj Veivolavolai
// @name:fo Tekstur at leinkja
// @name:fr Texte pour lier
// @name:fr-CA Texte pour lier
// @name:fy Tekst om te keppeljen
// @name:ga Téacs le Nasc
// @name:gd Teacs a cheangal
// @name:gl Texto a ligazón
// @name:gn Ñe’ẽjoajuha .
// @name:gsw-berne Text to link
// @name:gu લિંક કરવા માટે લખાણ
// @name:gv Taght dy chiangle
// @name:ha Rubutu don haɗi
// @name:he טקסט לקישור
// @name:hi लिंक करने के लिए पाठ
// @name:hmn Ntawv los txuas
// @name:hr Tekst za povezivanje
// @name:ht Tèks nan lyen
// @name:hu Szöveg a linkre
// @name:hy Տեքստը հղմանը
// @name:id Teks ke tautan
// @name:ig Ederede na njikọ
// @name:is Texta til að tengja
// @name:it Testo da collegare
// @name:iu ᑎᑎᕋᖅᓯᒪᔪᖅ ᖃᕆᑕᐅᔭᒃᑯᑦ ᑐᕌᕈᑎᖓ
// @name:ja リンクするテキスト
// @name:jv Teks kanggo tautan
// @name:ka ტექსტი ბმულზე
// @name:kg Sonika sambu na kukangama
// @name:kk Сілтеме мәтіні
// @name:kl Attaveqarnissamut allagartaq
// @name:km អត្ថបទភ្ជាប់
// @name:kn ಲಿಂಕ್ ಮಾಡಲು ಪಠ್ಯ
// @name:ko 링크 할 텍스트
// @name:kr Ruwo kəltəram
// @name:ku Nivîsar ji bo girêdanê
// @name:kv Текст йитны .
// @name:ky Шилтеме үчүн текст
// @name:la Text to Link
// @name:lb Text op Link
// @name:lg Ebiwandiiko okuyunga .
// @name:ln Texte na lien .
// @name:lo ຂໍ້ຄວາມເພື່ອເຊື່ອມໂຍງ
// @name:lt Tekstas, kurį reikia susieti
// @name:lv Teksts, lai saite
// @name:mg Text hampifandray
// @name:mh Text ñan link .
// @name:mi Kuputuhi hei hono
// @name:mk Текст за поврзување
// @name:ml ലിങ്ക് ചെയ്യുന്നതിനുള്ള വാചകം
// @name:mn Холбоос руу текст
// @name:mo Text la link
// @name:mr दुवा साधण्यासाठी मजकूर
// @name:ms Teks ke pautan
// @name:mt Test għal link
// @name:my ချိတ်ဆက်ရန်စာသား
// @name:nb Tekst til lenke
// @name:ne लिंक गर्न पाठ
// @name:nl Tekst om te koppelen
// @name:nr Hlala = .
// @name:ny Zolemba
// @name:oc Tèxte de ligam
// @name:om Barreeffama walitti hidhuuf .
// @name:or ଲିଙ୍କ୍ କରିବାକୁ ଟେକ୍ସଟ୍ |
// @name:os Текст к ссылке
// @name:pa ਲਿੰਕ ਕਰਨ ਲਈ ਟੈਕਸਟ
// @name:pl Tekst do linku
// @name:ps د لینک لپاره متن
// @name:pt Texto para vincular
// @name:pt-BR Texto para vincular
// @name:pt-PT Texto para vincular
// @name:qu Texto para enlace .
// @name:rn Ivyanditswe vyo guhuza
// @name:ro Text la link
// @name:ru Текст на ссылку
// @name:rw Inyandiko Kuri Guhuza
// @name:sa लिङ्क् कर्तुं पाठः .
// @name:sd لنڪ تي متن
// @name:se Teaksta mii galgá čatnat
// @name:sg Texte ti lien .
// @name:sh Текст за везу
// @name:si සබැඳියට පෙළ
// @name:sk Text na prepojenie
// @name:sl Besedilo za povezavo
// @name:sm Tusitusiga e fesoʻotaʻi
// @name:sn Zvinyorwa zvekubatanidza
// @name:so Qoraalka si loo xiro
// @name:sq Teksti për t’u lidhur
// @name:sr Текст за везу
// @name:ss Umbhalo wekuhlanganisa
// @name:st Mongolo ho sehokela
// @name:su Téks pikeun tautan
// @name:sv Text att länka
// @name:sw Maandishi ya kuungana
// @name:ta இணைக்க உரை
// @name:te లింక్ చేయడానికి వచనం
// @name:tg Матн барои пайванд
// @name:th ข้อความไปยังลิงค์
// @name:ti Text to Link
// @name:tk Baglanyşygyň teksti
// @name:tl Teksto upang mag -link
// @name:tn Mokwalo wa go golaganya
// @name:to Tohi ke fakafehokotaki .
// @name:tr Bağlantı için metin
// @name:ts Tsalwa ku hlanganisa .
// @name:tt Сылтама өчен текст
// @name:tw Text to link .
// @name:ty E piti taime
// @name:ug ئۇلىنىش ئۈچۈن تېكىست
// @name:uk Текст для посилання
// @name:ur لنک کرنے کے لئے متن
// @name:uz Binish uchun matn
// @name:ve Maṅwalo a u ṱumanya
// @name:vi Văn bản để liên kết
// @name:wo Bësal ngir lëkkalekaay
// @name:xh Itekisi yokudibanisa
// @name:yi טעקסט צו לינק
// @name:yo Ọrọ lati sopọ
// @name:zh 文本转链接
// @name:zh-CN 文本转链接
// @name:zh-HK 文本轉鏈接
// @name:zh-MO 文本轉鏈接
// @name:zh-MY 文本转链接
// @name:zh-SG 文本转链接
// @name:zh-TW 文本轉鏈接
// @name:zu Umbhalo ukuze uxhumanise
// @description Turn plain text URLs into clickable links
// @description:aa kutbe xukkook xukko xukkusnuh
// @description:ab Атекст азыԥхьарцақәа ирықәыӷәӷәар зылшо азхьарԥшқәа рахь ииагатәуп
// @description:af Skakel teksskakels om na klikbare skakels
// @description:ak Dane nsɛm link ahorow no kɔ link ahorow a wubetumi akliki so .
// @description:am ወደ ጠቅላይ አገናኞች የጽሑፍ አገናኞችን ቀይር
// @description:ar تحويل روابط النص إلى روابط قابلة للنقر
// @description:as ক্লিকযোগ্য সংযোগসমূহলৈ লিখনী সংযোগসমূহ ৰূপান্তৰ কৰক
// @description:av Тексталъул ссылкаби руссинаризе клик гьабизе бегьулел ссылкаби
// @description:ay Texto Links ukar Clictable Links ukar jaqukipaña .
// @description:az Mətn bağlantılarını tıklanabilir bağlantılara çevirin
// @description:ba Һылтанмаларҙы текст һылтанмаларын үҙгәртеп, һылтанмалар
// @description:be Пераўтварэнне тэкставых спасылак на спасылкі на клік
// @description:bg Конвертирайте текстови връзки в връзки за кликване
// @description:bh पाठ लिंक के क्लिक करे लायक लिंक में बदलीं
// @description:bm Text liens (sɛbɛnniw ladɛrɛsiw) sɛmɛntiya ka kɛ kilisi ye minnu bɛ se ka digi .
// @description:bn পাঠ্য লিঙ্কগুলি ক্লিকযোগ্য লিঙ্কগুলিতে রূপান্তর করুন
// @description:bo ཡིག་དུམ་སྦྲེལ་མཐུད་ལ་སྣུན་ཐུབ་པའི་སྦྲེལ་མཐུད་སྒྱུར་བ།
// @description:br Treiñ liammoù testenn war liammoù klikañ
// @description:bs Pretvoriti tekstualne veze na linkove sa klikom
// @description:ca Converteix els enllaços de text a enllaços de clics
// @description:ce Текстан ссылкаш хьажа йиш йолчу ссылкашна тӀе хьажа .
// @description:ceb Pagbalhin sa mga link sa teksto aron ma-klik ang mga sumpay
// @description:ch I tinige’ siha ni’ siña ma’usa para i lina’la’-ñiha .
// @description:ckb گۆڕینی بەستەری دەق بۆ بەستەری کلیککراو
// @description:co Cunvertite i ligami di testu per ligami clickable
// @description:cs Převést textové odkazy na odkazy, které lze kliknout
// @description:cv Текст ссылкисене пусма пултаракан ссылкăсем çине куçарăр
// @description:cy Trosi dolenni testun i ddolenni y gellir eu clicio
// @description:da Konverter tekstlink til klikbare links
// @description:de Konvertieren Sie Textlinks in klickbare Links
// @description:dv ޓެކްސްޓް ލިންކްތައް ކްލިކް ކުރެވޭ ލިންކްތަކަށް ބަދަލުކުރުން
// @description:dz ཚིག་ཡིག་འབྲེལ་ལམ་ཚུ་ཨེབ་གཏང་འབད་བཏུབ་པའི་འབྲེལ་ལམ་ཚུ་ལུ་གཞི་བསྒྱུར་འབད།
// @description:ee Trɔ nuŋɔŋlɔ ƒe kadodowo ɖe kadodo siwo dzi woate ŋu azi ɖo ŋu .
// @description:el Μετατροπή συνδέσμων κειμένου σε συνδέσμους με δυνατότητα κλικ
// @description:en Convert text links to clickable links
// @description:en-GB Convert text links to clickable links
// @description:eo Konvertu tekstajn ligojn al alklakeblaj ligoj
// @description:es Convertir enlaces de texto a enlaces en clic en
// @description:es-419 Convertir enlaces de texto a enlaces en clic en
// @description:et Teisendage teksti lingid klõpsatavateks linkideks
// @description:eu Bihur ezazu testu estekak estekekin klik egiteko
// @description:fa پیوندهای متنی را به پیوندهای قابل کلیک تبدیل کنید
// @description:ff Waylu jokkorɗe binndol e jokkorɗe ɓutte
// @description:fi Muunna tekstilinkit napsautettavissa linkkejä
// @description:fil I -convert ang mga link sa teksto sa mga mai -click na link
// @description:fj Leqataka na isema me kilikitaka na isema ni isema .
// @description:fo Umskipa tekstleinkjur til leinkjur á klikkandi
// @description:fr Convertir les liens de texte en liens clickables
// @description:fr-CA Convertir les liens de texte en liens clickables
// @description:fy Konvertearje tekst keppelings nei klikke keppelings
// @description:ga Naisc téacs a thiontú go naisc in -chliceáilte
// @description:gd Tionndaidh ceanglaichean teacsa gu ceanglaichean clickable
// @description:gl Converta as ligazóns de texto a ligazóns clicables
// @description:gn Embohasa jehaipyre joajuha umi enlace clic-pe .
// @description:gsw-berne Convert text links to clickable links
// @description:gu ક્લિક કરવા યોગ્ય લિંક્સ પર ટેક્સ્ટ લિંક્સને કન્વર્ટ કરો
// @description:gv Ceautyn texteyn rish ceaghleyn clickable
// @description:ha Canza hanyoyin haɗi don dannawa hanyoyin haɗin yanar gizo
// @description:he המרת קישורי טקסט לקישורים הניתנים ללחיצה
// @description:hi पाठ लिंक को क्लिक करने योग्य लिंक में परिवर्तित करें
// @description:hmn Hloov cov ntawv nyeem rau cov kab ntawv nyem
// @description:hr Pretvorite tekstualne veze u veze koje se mogu kliknuti
// @description:ht Konvèti lyen tèks nan lyen klikabl
// @description:hu A szöveges linkek konvertálása kattintható linkekre
// @description:hy Փոխարկեք տեքստային հղումները կտտացման հղումներին
// @description:id Konversi tautan teks ke tautan yang dapat diklik
// @description:ig Tọghata ederede na njikọ pịa
// @description:is Umbreyta textatenglum í smellibifreiðar
// @description:it Converti i collegamenti di testo in collegamenti cliccabili
// @description:iu ᐋᖅᑭᒃᓱᐃᓗᑎᑦ ᑎᑎᕋᖅᓯᒪᔪᓂᒃ ᓇᕿᑦᑕᒐᕐᓂᒃ ᓇᕿᑦᑕᒐᕐᓄᑦ
// @description:ja テキストリンクをクリック可能なリンクに変換します
// @description:jv Convert link teks kanggo link sing bisa diklik
// @description:ka გადააკეთეთ ტექსტური ბმულები დაჭერით ბმულებზე
// @description:kg Balula ba lien ya masonama na ba lien yina bo lenda niema
// @description:kk Мәтіндік сілтемелерді нұқу сілтемелері түрлендіріңіз
// @description:kl Allattuiffiit linkit klikkeqarsinnaasut linkit allanngortikkit
// @description:km បំលែងតំណភ្ជាប់អត្ថបទទៅតំណដែលអាចចុចបាន
// @description:kn ಪಠ್ಯ ಲಿಂಕ್ಗಳನ್ನು ಕ್ಲಿಕ್ ಮಾಡಬಹುದಾದ ಲಿಂಕ್ಗಳಿಗೆ ಪರಿವರ್ತಿಸಿ
// @description:ko 텍스트 링크를 클릭 가능한 링크로 변환하십시오
// @description:kr Link ruwobe-a faltə links-a lan.
// @description:ku Zencîreyên girêdanên nivîsê veguherînin girêdanên bikirtînin
// @description:kv Нажмите текста ссылки на кликнитан ссылкаяс .
// @description:ky Текстти чыкылдатуучу шилтемелерди которуу
// @description:la Converte Text Links Clickable Links
// @description:lb Convertéiert Text Linken op Clickbar Links
// @description:lg Okukyusa enkolagana z’ebiwandiiko okudda ku links eziyinza okunyigibwa .
// @description:ln Bobongola ba liens ya texte na ba liens oyo ekoki ko cliquer .
// @description:lo ປ່ຽນຂໍ້ຄວາມເຊື່ອມຕໍ່ກັບລິ້ງທີ່ສາມາດກົດໄດ້
// @description:lt Konvertuoti teksto nuorodas į spustelėjamas nuorodas
// @description:lv Konvertēt teksta saites uz noklikšķināmām saitēm
// @description:mg Ampifamadiho ny rohy soratra mba hangataka
// @description:mh link ko an text ko ñan link ko rekōṃṃan .
// @description:mi Tahuri nga hononga kuputuhi ki nga hononga hono
// @description:mk Претворете ги текстуалните врски во врските со кликнување
// @description:ml ക്ലിക്കുചെയ്യാനാകുന്ന ലിങ്കുകളിലേക്ക് ടെക്സ്റ്റ് ലിങ്കുകൾ പരിവർത്തനം ചെയ്യുക
// @description:mn Текст холболтыг товшиж болно
// @description:mo Convertiți linkurile text în link -uri cu clic pe clic
// @description:mr मजकूर दुवे क्लिक करण्यायोग्य दुव्यांमध्ये रूपांतरित करा
// @description:ms Tukar pautan teks ke pautan yang boleh diklik
// @description:mt Ikkonverti links tat-test għal links li jistgħu jiġu kklikkjati
// @description:my စာသားလင့်များကိုနှိပ်နိုင်သောလင့်များသို့ပြောင်းပါ
// @description:nb Konverter tekstkoblinger til klikkbare lenker
// @description:ne पाठ लिंकहरू क्लिक गर्न योग्य लिंकहरूमा रूपान्तरण गर्नुहोस्
// @description:nl Converteer tekstlinks naar klikbare links
// @description:nr • Hlala umlando.
// @description:ny Sinthani maulalo a maulalo owonekera
// @description:oc Convertir los ligams de tèxte als ligams clicables .
// @description:om Hidhamtoota barruu gara hidhannoo cuqaasuu danda’anitti jijjiiri .
// @description:or କ୍ଲିକ୍ ଯୋଗ୍ୟ ଲିଙ୍କରେ ପାଠ୍ୟ ଲିଙ୍କଗୁଡ଼ିକୁ ରୂପାନ୍ତର କରନ୍ତୁ |
// @description:os Тексты ссылкæтæ раивын кликгæнæн ссылкæтæм
// @description:pa ਕਲਿਕ ਕਰਨ ਵਾਲੇ ਲਿੰਕਾਂ ਨੂੰ ਕਲਿਕ ਕਰੋ
// @description:pl Konwertuj linki tekstowe na łącza klikalne
// @description:ps د کلیک شوي لینکونو لپاره متن لینکونه بدل کړئ
// @description:pt Converter links de texto em links clicáveis
// @description:pt-BR Converter links de texto em links clicáveis
// @description:pt-PT Converter links de texto em links clicáveis
// @description:qu Qillqa t’inkikunata ñit’ina t’inkikunaman tikray .
// @description:rn Guhindura amahuza y’inyandiko ku mahuza ashobora gukanda
// @description:ro Convertiți linkurile text în link -uri cu clic pe clic
// @description:ru Конвертировать текстовые ссылки в кликабельные ссылки
// @description:rw Hindura inyandiko ihuza guhuza amahuza
// @description:sa पाठ्यलिङ्कानि क्लिक् कर्तुं योग्यलिङ्कानि परिवर्तयन्तु
// @description:sd تبديل ٿيل لنڪ کي ٽيڪسٽ لنڪ تبديل ڪريو
// @description:se Konverteret teakstačujuhusaid klikkehahtti čujuhusaide
// @description:sg Zia a-lien ti atënë na ndo ti a-lien so a lingbi ti cliqué na ndo ni .
// @description:sh Претворите текстуалне везе да бисте могли да кликнете на линкове
// @description:si පෙළ සබැඳි ක්ලික් කළ හැකි සබැඳි වෙත යොමු කරන්න
// @description:sk Konvertovať textové odkazy na odkazy na kliknutie
// @description:sl Pretvorite besedilne povezave na povezave, ki jih je mogoče klikniti
// @description:sm Liliu Tusitusiga Pese i le kilikiina o sootaga
// @description:sn Shandura zvinyorwa zvinongedzo zvekudzvanywa zvibodzwa
// @description:so U beddelo xiriiriyeyaal qoraal ah xiriiriyeyaasha la gudhi karo
// @description:sq Shndërroni lidhjet e tekstit në lidhje të klikueshme
// @description:sr Претворите текстуалне везе да бисте могли да кликнете на линкове
// @description:ss Gucula tikhonjiso tembhalo ku-link letichafatako
// @description:st Fetolela lihokelo tsa mongolo ho lihokelo tse khutšoane
// @description:su Ngarobah tautan téks pikeun diklik tautan
// @description:sv Konvertera textlänkar till klickbara länkar
// @description:sw Badilisha viungo vya maandishi kuwa viungo vya kubofya
// @description:ta கிளிக் செய்யக்கூடிய இணைப்புகளுக்கு உரை இணைப்புகளை மாற்றவும்
// @description:te టెక్స్ట్ లింక్లను క్లిక్ చేయగల లింక్లుగా మార్చండి
// @description:tg Табодули истинодҳои матнӣ ба пайвандҳои клик
// @description:th แปลงลิงก์ข้อความเป็นลิงค์ที่คลิกได้
// @description:ti ናይ ጽሑፍ መላግቦታት ናብ ዝጥውቑ መላግቦታት ምቕያር
// @description:tk Tekst baglanyşygyny basyp alyş baglanyşyklaryna öwüriň
// @description:tl I -convert ang mga link sa teksto sa mga mai -click na link
// @description:tn Fetolela dikgokagano tsa sekwalwa go dikgokagano tse di ka tobediwang
// @description:to Liliu ’a e ngaahi fehokotaki’anga tohi ki he ngaahi fehokotaki’anga clickable .
// @description:tr Metin bağlantılarını tıklanabilir bağlantılara dönüştürün
// @description:ts Hundzuluxa swihlanganisi swa matsalwa eka swihlanganisi leswi nga clickable .
// @description:tt Текст сылтамаларын бастырыла торган сылтамаларга әйләндерегез
// @description:tw Dane nsɛm link ahorow no kɔ link ahorow a wubetumi akliki so .
// @description:ty No te tairi i te mau hono no te tairi i te mau parau papa’i
// @description:ug تېكىست ئۇلانمىسىنى چېكىش ئۇلانمىلىرىغا كىرگۈزۈڭ
// @description:uk Перетворити текстові посилання на посилання, що можна натиснути
// @description:ur متن کے لنکس کو کلک کرنے کے قابل لنکس میں تبدیل کریں
// @description:uz Matn havolalarini bosish havolalariga aylantirish
// @description:ve Shandukisani vhuṱumani ha maṅwalo kha vhuṱumani vhune ha nga puṱedzwa
// @description:vi Chuyển đổi liên kết văn bản thành các liên kết có thể nhấp
// @description:wo Delloosi lëkkalekaayu mbind yi nga mëna klike ci lëkkalekaay yi nga mëna klike
// @description:xh Guqula amakhonkco esicatshulwa ukucofa amakhonkco
// @description:yi גער טעקסט לינקס צו קליקקאַבלע לינקס
// @description:yo Ṣe iyipada awọn ọna asopọ ifọrọranṣẹ si awọn ọna asopọ titẹ
// @description:zh 把文字链接转换为可点击链接
// @description:zh-CN 把文字链接转换为可点击链接
// @description:zh-HK 把文字鏈接轉換為可點擊鏈接
// @description:zh-MO 把文字鏈接轉換為可點擊鏈接
// @description:zh-MY 把文字链接转换为可点击链接
// @description:zh-SG 把文字链接转换为可点击链接
// @description:zh-TW 把文字鏈接轉換為可點擊鏈接
// @description:zu Guqula izixhumanisi zemibhalo ukuze zichofoze izixhumanisi
// @author lkytal,人民的勤务员 <china.qinwuyuan@gmail.com>
// @namespace https://github.com/ChinaGodMan/UserScripts
// @supportURL https://github.com/ChinaGodMan/UserScripts/issues
// @homepageURL https://github.com/ChinaGodMan/UserScripts
// @license MIT
// @match *://*/*
// @exclude *pan.baidu.com/*
// @exclude *renren.com/*
// @exclude *exhentai.org/*
// @exclude *music.google.com/*
// @exclude *play.google.com/music/*
// @exclude *mail.google.com/*
// @exclude *docs.google.com/*
// @exclude *www.google.*
// @exclude *acid3.acidtests.org/*
// @exclude *https://gf.zukizuki.org/*/scripts/*/code*
// @exclude *.163.com/*
// @exclude *.alipay.com/*
// @run-at document-end
// @icon https://github.com/lkytal/GM/raw/master/icons/link.png
// @compatible chrome
// @grant unsafeWindow
// @charset UTF-8
// @compatible firefox
// @compatible edge
// @compatible opera
// @compatible safari
// @compatible kiwi
// @compatible qq
// @compatible via
// @compatible brave
// @version 2025.5.26.1
// @created 2025-05-26 18:50:36
// ==/UserScript==
/**
* File: text-to-link.user.js
* Project: UserScripts
* File Created: 2025/05/26,Monday 18:50:37
* Author: lkytal,人民的勤务员@ChinaGodMan (china.qinwuyuan@gmail.com)
* -----
* Last Modified: 2025/05/26,Monday 18:58:44
* Modified By: 人民的勤务员@ChinaGodMan (china.qinwuyuan@gmail.com)
* -----
* License: MIT License
* Copyright © 2024 - 2025 ChinaGodMan,Inc
*/
var clearLink, excludedTags, linkFilter, linkMixInit, linkPack, linkify, observePage, observer, setLink, urlPrefixes, url_regexp, xPath
url_regexp = /((https?:\/\/|www\.)[\x21-\x7e]+[\w/=]|\w([\w.\-])+@\w[\w.\-]+\.(com|cn|org|net|info|tv|cc|gov|edu)|(\w[\w.\-]+\.(com|cn|org|net|info|tv|cc|gov|edu))(\/[\x21-\x7e]*[\w/])?|ed2k:\/\/[\x21-\x7e]+\|\/|thunder:\/\/[\x21-\x7e]+=)/gi
urlPrefixes = ['http://', 'https://', 'ftp://', 'thunder://', 'ed2k://', 'mailto://', 'file://']
clearLink = function (event) {
var j, len, link, prefix, ref, ref1, url
link = (ref = event.originalTarget) != null ? ref : event.target
if (!(link != null && link.localName === 'a' && ((ref1 = link.className) != null ? ref1.indexOf('textToLink') : void 0) !== -1)) {
return
}
url = link.getAttribute('href')
//console.log url
for (j = 0, len = urlPrefixes.length; j < len; j++) {
prefix = urlPrefixes[j]
if (url.indexOf(prefix) === 0) {
return
}
}
if (url.indexOf('@') !== -1) {
return link.setAttribute('href', 'mailto://' + url)
} else {
return link.setAttribute('href', 'http://' + url)
}
}
document.addEventListener('mouseover', clearLink)
setLink = function (candidate) {
var ref, ref1, ref2, span, text
if (candidate == null || ((ref = candidate.parentNode) != null ? (ref1 = ref.className) != null ? typeof ref1.indexOf === 'function' ? ref1.indexOf('textToLink') : void 0 : void 0 : void 0) !== -1 || candidate.nodeName === '#cdata-section') {
return
}
// text = candidate.textContent.replace(url_regexp, '<a href="$1" target="_blank" class="textToLink">$1</a>')
text = candidate.textContent.replace(url_regexp, '<a href="$1" target="_blank" style="border: 1px dashed #000; padding: 2px; text-decoration: none;class="textToLink">$1</a>')
if (((ref2 = candidate.textContent) != null ? ref2.length : void 0) === text.length) {
return
}
span = document.createElement('span')
span.innerHTML = text
return candidate.parentNode.replaceChild(span, candidate)
}
excludedTags = 'a,svg,canvas,applet,input,button,area,pre,embed,frame,frameset,head,iframe,img,option,map,meta,noscript,object,script,style,textarea,code'.split(',')
xPath = `//text()[not(ancestor::${excludedTags.join(') and not(ancestor::')})]`
linkPack = function (result, start) {
var i, j, k, ref, ref1, ref2, ref3, startTime
startTime = Date.now()
while (start + 10000 < result.snapshotLength) {
for (i = j = ref = start, ref1 = start + 10000; ref <= ref1 ? j <= ref1 : j >= ref1; i = ref <= ref1 ? ++j : --j) {
setLink(result.snapshotItem(i))
}
start += 10000
if (Date.now() - startTime > 2500) {
return
}
}
for (i = k = ref2 = start, ref3 = result.snapshotLength; ref2 <= ref3 ? k <= ref3 : k >= ref3; i = ref2 <= ref3 ? ++k : --k) {
setLink(result.snapshotItem(i))
}
}
linkify = function (node) {
var result
result = document.evaluate(xPath, node, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null)
return linkPack(result, 0)
}
linkFilter = function (node) {
var j, len, tag
for (j = 0, len = excludedTags.length; j < len; j++) {
tag = excludedTags[j]
if (tag === node.parentNode.localName.toLowerCase()) {
return NodeFilter.FILTER_REJECT
}
}
return NodeFilter.FILTER_ACCEPT
}
observePage = function (root) {
var tW
tW = document.createTreeWalker(root, NodeFilter.SHOW_TEXT, { //+ NodeFilter.SHOW_ELEMENT,
acceptNode: linkFilter
}, false)
while (tW.nextNode()) {
setLink(tW.currentNode)
}
}
observer = new window.MutationObserver(function (mutations) {
var Node, j, k, len, len1, mutation, ref
for (j = 0, len = mutations.length; j < len; j++) {
mutation = mutations[j]
if (mutation.type === 'childList') {
ref = mutation.addedNodes
for (k = 0, len1 = ref.length; k < len1; k++) {
Node = ref[k]
observePage(Node)
}
}
}
})
linkMixInit = function () {
if (window !== window.top || window.document.title === '') {
return
}
//console.time('a')
linkify(document.body)
//console.timeEnd('a')
return observer.observe(document.body, {
childList: true,
subtree: true
})
}
setTimeout(linkMixInit, 100)