diff --git a/slugify.sh b/slugify.sh index 3dcb854..3b703d8 100755 --- a/slugify.sh +++ b/slugify.sh @@ -1,18 +1,26 @@ #!/usr/bin/env bash -KEY=${INPUT_KEY^^} -CS_VALUE=${INPUT_VALUE:-${!INPUT_KEY}} -VALUE=${CS_VALUE,,} +if [[ "$OSTYPE" == "darwin"* ]]; then + # On MacOS, + # bash don't support substitution, so we use 'tr' + KEY=$(echo "$INPUT_KEY" | tr '[:lower:]' '[:upper:]') + CS_VALUE=${INPUT_VALUE:-${!INPUT_KEY}} + VALUE=$(echo "$CS_VALUE" | tr '[:upper:]' '[:lower:]') +else + KEY=${INPUT_KEY^^} + CS_VALUE=${INPUT_VALUE:-${!INPUT_KEY}} + VALUE=${CS_VALUE,,} +fi slug() { echo "$1" | - sed -r 's#refs/[^\/]*/##;s/[^a-zA-Z0-9._]+/-/g;s/^-*//;s/-*$//' | + sed -E 's#refs/[^\/]*/##;s/[^a-zA-Z0-9._]+/-/g;s/-+/-/g;s/^-*//;s/-*$//' | cut -c1-63 } slug_url() { echo "$1" | - sed -r 's#refs/[^\/]*/##;s/[^a-zA-Z0-9_]+/-/g;s/^-//;s/-$//' | + sed -E 's#refs/[^\/]*/##;s/[^a-zA-Z0-9_]+/-/g;s/-+/-/g;s/^-*//;s/-*$//' | cut -c1-63 }