feat: add SoundCloud -> SoundCloak replacement support
This commit is contained in:
@@ -17,6 +17,8 @@ let
|
|||||||
imgurLinkRegex = re"""<a href="https://(i\.)?imgur.com([^"]+)">(i\.)?imgur\.com(\S+)</a>"""
|
imgurLinkRegex = re"""<a href="https://(i\.)?imgur.com([^"]+)">(i\.)?imgur\.com(\S+)</a>"""
|
||||||
fandomRegex = re"(?<=(?<!\S)https:\/\/|(?<=\s))([a-z0-9-]+)\.fandom\.com"
|
fandomRegex = re"(?<=(?<!\S)https:\/\/|(?<=\s))([a-z0-9-]+)\.fandom\.com"
|
||||||
fandomLinkRegex = re"""<a href="https://([a-z0-9-]+)\.fandom\.com([^"]+)">([a-z0-9-]+)\.fandom\.com(\S+)</a>"""
|
fandomLinkRegex = re"""<a href="https://([a-z0-9-]+)\.fandom\.com([^"]+)">([a-z0-9-]+)\.fandom\.com(\S+)</a>"""
|
||||||
|
soundcloudRegex = re"(?<=(?<!\S)https:\/\/|(?<=\s))(www\.)?soundcloud\.com"
|
||||||
|
soundcloudLinkRegex = re"""<a href="https://(www\.)?soundcloud\.com([^"]+)">(www\.)?soundcloud\.com(\S+)</a>"""
|
||||||
|
|
||||||
ytRegex = re(r"([A-z.]+\.)?youtu(be\.com|\.be)", {reStudy, reIgnoreCase})
|
ytRegex = re(r"([A-z.]+\.)?youtu(be\.com|\.be)", {reStudy, reIgnoreCase})
|
||||||
|
|
||||||
@@ -87,6 +89,11 @@ proc replaceUrls*(body: string; prefs: Prefs; absolute=""): string =
|
|||||||
result = result.replacef(fandomLinkRegex, a(
|
result = result.replacef(fandomLinkRegex, a(
|
||||||
prefs.replaceFandom & "/$1$2", href = https & prefs.replaceFandom & "/$1$2"))
|
prefs.replaceFandom & "/$1$2", href = https & prefs.replaceFandom & "/$1$2"))
|
||||||
|
|
||||||
|
if prefs.replaceSoundCloud.len > 0 and "soundcloud.com" in result:
|
||||||
|
result = result.replace(soundcloudRegex, prefs.replaceSoundCloud)
|
||||||
|
result = result.replacef(soundcloudLinkRegex, a(
|
||||||
|
prefs.replaceSoundCloud & "$4", href = https & prefs.replaceSoundCloud & "$2"))
|
||||||
|
|
||||||
if prefs.replaceReddit.len > 0 and ("reddit.com" in result or "redd.it" in result):
|
if prefs.replaceReddit.len > 0 and ("reddit.com" in result or "redd.it" in result):
|
||||||
result = result.replace(rdShortRegex, prefs.replaceReddit & "/comments/")
|
result = result.replace(rdShortRegex, prefs.replaceReddit & "/comments/")
|
||||||
result = result.replace(rdRegex, prefs.replaceReddit)
|
result = result.replace(rdRegex, prefs.replaceReddit)
|
||||||
|
|||||||
@@ -115,6 +115,10 @@ genPrefs:
|
|||||||
"Fandom -> Phantom"
|
"Fandom -> Phantom"
|
||||||
placeholder: "Phantom hostname"
|
placeholder: "Phantom hostname"
|
||||||
|
|
||||||
|
replaceSoundCloud(input, ""):
|
||||||
|
"SoundCloud -> SoundCloak"
|
||||||
|
placeholder: "SoundCloak hostname"
|
||||||
|
|
||||||
iterator allPrefs*(): Pref =
|
iterator allPrefs*(): Pref =
|
||||||
for k, v in prefList:
|
for k, v in prefList:
|
||||||
for pref in v:
|
for pref in v:
|
||||||
|
|||||||
Reference in New Issue
Block a user