-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathimages.bash
executable file
·80 lines (68 loc) · 2.38 KB
/
images.bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# shellcheck disable=SC2044
for i in $(find ./content/posts -type f -name "*.md");
do
echo "--------------------------"
echo "Markdown file: $i"
path="${i%/*}/"
echo "Directory: $path"
# Look for images in the markdown
# shellcheck disable=SC2016
for j in $(rg --pcre2 "\!\[[^\]]*\]\(((?!http).*?)\s*(\"(?:.*[^\"])\")?\s*\)" -or '$1' "$i");
do
echo "--------------------------"
echo "File: $j"
fileName="${j##*/}"
if [[ $j == *"/uploads/"* ]]; then
echo "Image is in uploads folder"
filePath="./content$j"
else
filePath="$path$j"
fi
echo "FilePath: $filePath"
json=$(curl -F "UPLOADCARE_PUB_KEY=d92ab83842bf39b45c62" \
-F "UPLOADCARE_STORE=auto" \
-F "file=@$filePath" \
"https://upload.uploadcare.com/base/")
id=$(echo "$json" | jq -r '.file')
echo "UploadCare ID: $id"
if [[ -n "$id" ]]; then
uploadCareURL="https://ucarecdn.com/$id/$fileName"
echo "UploadCare URL: $uploadCareURL"
sed -i '' "s+$j+$uploadCareURL+g" "$i"
rm "$filePath"
echo "Successfully migrated $j"
else
echo "Error migrating $j: UploadCare ID null or empty"
fi
done
# Look for images in the front matter
# shellcheck disable=SC2016
for j in $(rg --pcre2 "image\s*=\s*\"((?!http).*)\"" -or '$1' "$i");
do
echo "--------------------------"
echo "File: $j"
fileName="${j##*/}"
if [[ $j == *"/uploads/"* ]]; then
echo "Image is in uploads folder"
filePath="./content$j"
else
filePath="$path$j"
fi
echo "FilePath: $filePath"
json=$(curl -F "UPLOADCARE_PUB_KEY=d92ab83842bf39b45c62" \
-F "UPLOADCARE_STORE=auto" \
-F "file=@$filePath" \
"https://upload.uploadcare.com/base/")
id=$(echo "$json" | jq -r '.file')
echo "UploadCare ID: $id"
if [[ -n "$id" ]]; then
uploadCareURL="https://ucarecdn.com/$id/$fileName"
echo "UploadCare URL: $uploadCareURL"
sed -i '' "s+$j+$uploadCareURL+g" "$i"
rm "$filePath"
echo "Successfully migrated $j"
else
echo "Error migrating $j: UploadCare ID null or empty"
fi
done
done