|
|
|
#ft=sh
|
|
|
|
|
|
|
|
if type nvim >/dev/null 2>/dev/null ; then
|
|
|
|
export EDITOR=nvim
|
|
|
|
alias vim=nvim
|
|
|
|
else
|
|
|
|
export EDITOR=vim
|
|
|
|
fi
|
|
|
|
|
|
|
|
slugify () (
|
|
|
|
if [ "$#" -ne 0 ] ; then
|
|
|
|
echo "$@" | slugify
|
|
|
|
else
|
|
|
|
iconv --to-code ascii//TRANSLIT |
|
|
|
|
sed -E 's/[^a-zA-Z0-9]+/-/g' |
|
|
|
|
sed -E 's/^-+\|-+$//g' |
|
|
|
|
tr '[:upper:]' '[:lower:]'
|
|
|
|
fi
|
|
|
|
)
|
|
|
|
|
|
|
|
source_env_file () {
|
|
|
|
if [ ! -f "${1}" ]; then
|
|
|
|
return
|
|
|
|
fi
|
|
|
|
eval "$(
|
|
|
|
grep -v '^\s*\#' "${1}" |
|
|
|
|
grep -v '^\s*$' |
|
|
|
|
sed 's/^\s*export//g' |
|
|
|
|
sed 's/^/export /g'
|
|
|
|
)"
|
|
|
|
}
|
|
|
|
|
|
|
|
add_date_prefix () (
|
|
|
|
DIR=$(dirname "$1")
|
|
|
|
FILE=$(basename "$1")
|
|
|
|
DATE=$(date -r "$1" +"%F")
|
|
|
|
if [ ! -f "$1" ] ; then
|
|
|
|
echo "unknown file: $1"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
mv "$1" "$DIR/${DATE}_${FILE}"
|
|
|
|
)
|
|
|
|
|
|
|
|
get_bitrate () (
|
|
|
|
if [ ! -f "$1" ] ; then
|
|
|
|
echo "[ERROR] unknown file: $1"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
if ! command -v exiftool > /dev/null ; then
|
|
|
|
echo "[ERROR] exiftool not installed"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
exiftool -AudioBitrate "$1" | awk '{print $4}'
|
|
|
|
)
|
|
|
|
|
|
|
|
json_to_yaml () (
|
|
|
|
ARG=${1:-}
|
|
|
|
if [ -z "${ARG}" ] ; then
|
|
|
|
dasel --read json --write yaml | bat --language yaml
|
|
|
|
elif [ -f "${ARG}" ] ; then
|
|
|
|
dasel --read json --write yaml --file "${ARG}" | bat --language yaml
|
|
|
|
else
|
|
|
|
echo "${ARG}" | dasel --read json --write yaml | bat --language yaml
|
|
|
|
fi
|
|
|
|
)
|
|
|
|
|
|
|
|
yaml_to_json () (
|
|
|
|
ARG=${1:-}
|
|
|
|
if [ -z "${ARG}" ] ; then
|
|
|
|
dasel --read yaml --write json | bat --language json
|
|
|
|
elif [ -f "${ARG}" ] ; then
|
|
|
|
dasel --read yaml --write json --file "${ARG}" | bat --language json
|
|
|
|
else
|
|
|
|
echo "${ARG}" | dasel --read yaml --write json | bat --language json
|
|
|
|
fi
|
|
|
|
)
|
|
|
|
|
|
|
|
github_releases () (
|
|
|
|
USER=${1}
|
|
|
|
REPO=${2}
|
|
|
|
curl --silent --header "Accept: application/vnd.github.v3+json" \
|
|
|
|
"https://api.github.com/repos/${USER}/${REPO}/releases"
|
|
|
|
)
|