28 lines
658 B
Plaintext
28 lines
658 B
Plaintext
|
#!/usr/bin/env sh
|
||
|
set -eu
|
||
|
# Things you need: ~/.config/sr.ht file, curl, jq, xclip
|
||
|
|
||
|
. ~/.config/sr.ht
|
||
|
PASTESRHT=${PASTESRHT:-https://paste.sr.ht}
|
||
|
|
||
|
fname=$(zenity --entry)
|
||
|
result=$(xclip -o -sel clip --no-newline | jq -sR '{
|
||
|
"files": [
|
||
|
{
|
||
|
"contents": .,
|
||
|
"filename": "'"$fname"'",
|
||
|
}
|
||
|
],
|
||
|
"visibility": "unlisted"
|
||
|
}' | curl \
|
||
|
-H Authorization:"token $legacy_token" \
|
||
|
-H Content-Type:application/json \
|
||
|
-X POST \
|
||
|
-d @- $PASTESRHT/api/pastes)
|
||
|
|
||
|
printf '%s\n' "$result"
|
||
|
sha=$(printf '%s' "$result" | jq -r .sha)
|
||
|
user=$(printf '%s' "$result" | jq -r .user.canonical_name)
|
||
|
xdg-open "$PASTESRHT/$user/$sha"
|
||
|
echo "$PASTESRHT/$user/$sha" | xclip -sel clip
|