このコミットが含まれているのは:
守矢諏訪子 2023-05-03 17:33:29 +09:00
コミット a1f3ea2eda
5個のファイルの変更63行の追加3行の削除

ファイルの表示

@ -36,6 +36,12 @@ proc getConfig*(path: string): (Config, parseCfg.Config) =
replaceYouTube: cfg.get("Preferences", "replaceYouTube", "youtube.owacon.moe"),
replaceOdysee: cfg.get("Preferences", "replaceOdysee", "odysee.owacon.moe"),
replacePixivA: cfg.get("Preferences", "replacePixivA", "pixiv.owacon.moe/artworks/?id="),
replacePixivU: cfg.get("Preferences", "replacePixivU", "pixiv.owacon.moe/users/?id="),
replacePixivB: cfg.get("Preferences", "replacePixivB", "pixiv.owacon.moe/users/bookmarks/?id="),
replacePixivI: cfg.get("Preferences", "replacePixivI", "pixiv.owacon.moe/users/illusts/?id="),
replacePixivM: cfg.get("Preferences", "replacePixivM", "pixiv.owacon.moe/users/manga/?id="),
replacePixiv: cfg.get("Preferences", "replacePixiv", "pixiv.owacon.moe"),
# Config
hmacKey: cfg.get("Config", "hmacKey", "secretkey"),

ファイルの表示

@ -15,6 +15,12 @@ let
ytRegex = re(r"([A-z.]+\.)?youtu(be\.com|\.be)", {reStudy, reIgnoreCase})
igRegex = re"(www\.)?instagram\.com"
odRegex = re"(www\.)?(odysee\.com|lbry\.tv|open\.lbry\.com)"
pxaRegex = re"(www\.)?(pixiv\.net)/artworks/"
pxuRegex = re"(www\.)?(pixiv\.net)/users/"
pxbRegex = re"(www\.)?(pixiv\.net)/users/bookmarks/"
pxiRegex = re"(www\.)?(pixiv\.net)/users/illusts/"
pxmRegex = re"(www\.)?(pixiv\.net)/users/manga/"
pxRegex = re"(www\.)?(pixiv\.net)"
rdRegex = re"(?<![.b])((www|np|new|amp|old)\.)?reddit.com"
rdShortRegex = re"(?<![.b])redd\.it\/"
@ -64,6 +70,24 @@ proc replaceUrls*(body: string; prefs: Prefs; absolute=""): string =
if prefs.replaceOdysee.len > 0:
result = result.replace(odRegex, prefs.replaceOdysee)
if prefs.replacePixivA.len > 0:
result = result.replace(pxaRegex, prefs.replacePixivA)
if prefs.replacePixivU.len > 0:
result = result.replace(pxuRegex, prefs.replacePixivU)
if prefs.replacePixivB.len > 0:
result = result.replace(pxbRegex, prefs.replacePixivB)
if prefs.replacePixivI.len > 0:
result = result.replace(pxiRegex, prefs.replacePixivI)
if prefs.replacePixivM.len > 0:
result = result.replace(pxmRegex, prefs.replacePixivM)
if prefs.replacePixiv.len > 0:
result = result.replace(pxRegex, prefs.replacePixiv)
if prefs.replaceTwitter.len > 0 and ("twitter.com" in body or tco in body):
result = result.replace(tco, https & prefs.replaceTwitter & "/t.co")
result = result.replace(cards, prefs.replaceTwitter & "/cards")

ファイルの表示

@ -115,6 +115,30 @@ genPrefs:
"オディシー → Librarian"
placeholder: "odysee.owacon.moe"
replacePixivA(input, "pixiv.owacon.moe/artworks/?id="):
"Vixipイラスト"
placeholder: "pixiv.owacon.moe/artworks/?id="
replacePixivU(input, "pixiv.owacon.moe/users/?id="):
"Vixipユーザー"
placeholder: "pixiv.owacon.moe/users/?id="
replacePixivB(input, "pixiv.owacon.moe/users/bookmarks/?id="):
"Vixipユーザーのブックマーク"
placeholder: "pixiv.owacon.moe/users/bookmarks/?id="
replacePixivI(input, "pixiv.owacon.moe/users/illusts/?id="):
"Vixipユーザーのイラスト"
placeholder: "pixiv.owacon.moe/users/illusts/?id="
replacePixivM(input, "pixiv.owacon.moe/users/manga/?id="):
"Vixipユーザーの漫画"
placeholder: "pixiv.owacon.moe/users/manga/?id="
replacePixiv(input, "pixiv.owacon.moe"):
"Pixiv → vixip"
placeholder: "pixiv.owacon.moe"
iterator allPrefs*(): Pref =
for k, v in prefList:
for pref in v:

ファイルの表示

@ -272,6 +272,12 @@ type
replaceTwitter*: string
replaceYouTube*: string
replaceOdysee*: string
replacePixivA*: string
replacePixivU*: string
replacePixivB*: string
replacePixivI*: string
replacePixivM*: string
replacePixiv*: string
replaceReddit*: string
replaceInstagram*: string

ファイルの表示

@ -78,7 +78,7 @@ Twitter feed for: ${desc}. Generated by ${cfg.hostname}
#end proc
#
#proc renderTimelineRss*(profile: Profile; cfg: Config; multi=false): string =
#let prefs = Prefs(replaceTwitter: cfg.hostname, replaceYouTube: cfg.replaceYouTube, replaceOdysee: cfg.replaceOdysee)
#let prefs = Prefs(replaceTwitter: cfg.hostname, replaceYouTube: cfg.replaceYouTube, replaceOdysee: cfg.replaceOdysee, replacePixivA: cfg.replacePixivA, replacePixivU: cfg.replacePixivU, replacePixivB: cfg.replacePixivB, replacePixivI: cfg.replacePixivI, replacePixivM: cfg.replacePixivM, replacePixiv: cfg.replacePixiv)
#let urlPrefix = getUrlPrefix(cfg)
#result = ""
#let handle = (if multi: "" else: "@") & profile.user.username
@ -110,7 +110,7 @@ ${renderRssTweets(profile.tweets.content, cfg)}
#end proc
#
#proc renderListRss*(tweets: seq[Tweet]; list: List; cfg: Config): string =
#let prefs = Prefs(replaceTwitter: cfg.hostname, replaceYouTube: cfg.replaceYouTube, replaceOdysee: cfg.replaceOdysee)
#let prefs = Prefs(replaceTwitter: cfg.hostname, replaceYouTube: cfg.replaceYouTube, replaceOdysee: cfg.replaceOdysee, replacePixivA: cfg.replacePixivA, replacePixivU: cfg.replacePixivU, replacePixivB: cfg.replacePixivB, replacePixivI: cfg.replacePixivI, replacePixivM: cfg.replacePixivM, replacePixiv: cfg.replacePixiv)
#let link = &"{getUrlPrefix(cfg)}/i/lists/{list.id}"
#result = ""
<?xml version="1.0" encoding="UTF-8"?>
@ -128,7 +128,7 @@ ${renderRssTweets(tweets, cfg)}
#end proc
#
#proc renderSearchRss*(tweets: seq[Tweet]; name, param: string; cfg: Config): string =
#let prefs = Prefs(replaceTwitter: cfg.hostname, replaceYouTube: cfg.replaceYouTube, replaceOdysee: cfg.replaceOdysee)
#let prefs = Prefs(replaceTwitter: cfg.hostname, replaceYouTube: cfg.replaceYouTube, replaceOdysee: cfg.replaceOdysee, replacePixivA: cfg.replacePixivA, replacePixivU: cfg.replacePixivU, replacePixivB: cfg.replacePixivB, replacePixivI: cfg.replacePixivI, replacePixivM: cfg.replacePixivM, replacePixiv: cfg.replacePixiv)
#let link = &"{getUrlPrefix(cfg)}/search"
#let escName = xmltree.escape(name)
#result = ""