转换GitHub Raw 链接

每次用 GitHub Raw 链接找原仓库链接时,都非常麻烦,在使用 CopyValue 插件时,有示例脚本来转换 Raw 链接的,但是作者的逻辑错误,就叫 GPT 写了一个

sh脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/bash

convert_raw_to_repo_url() {
local url="$1"

# 将 "raw.githubusercontent.com" 替换为 "github.com"
local processedUrl="${url//raw.githubusercontent.com/github.com}"

# 在 "github.com" 后面的第二个斜杠处插入 "blob"
processedUrl=$(echo "$processedUrl" | sed 's|\(github\.com/[^/]*/[^/]*\)|\1/blob|')

echo "$processedUrl"
}

# 从剪贴板获取内容
rawUrl=$(pbpaste)

# 调用函数处理URL
repoUrl=$(convert_raw_to_repo_url "$rawUrl")

# 将结果拷贝到剪贴板
echo "$repoUrl" | pbcopy

js脚本:

1
2
3
4
5
6
7
8
9
10
11
12
async function main(url) {
// 处理字符串,将 "raw.githubusercontent.com" 替换为 "github.com"
let processedUrl = url.replace("raw.githubusercontent.com", "github.com");
// 将第一个 "/refs/heads/" 替换为 "/blob/refs/heads/"
processedUrl = processedUrl.replace("/refs/heads/", "/blob/refs/heads/");
// 创建一个字符串数组
const urls = [];
// 将处理后的字符串添加到数组中
urls.push(processedUrl);
// 返回字符串数组
return urls;
}

Mac 用户可以在 “自动操作” 软件中,把这个 sh 脚本弄成一个 App 这样再配合快捷指令的快捷键使用更方便,其实可以直接用快捷指令写,但是我不会用 🤣