Skip to content

Instantly share code, notes, and snippets.

@przemoc
Last active February 2, 2022 11:59
Show Gist options
  • Save przemoc/1275673 to your computer and use it in GitHub Desktop.
Save przemoc/1275673 to your computer and use it in GitHub Desktop.
Turn a github.com URL into a git.io URL.
#!/bin/sh
# SPDX-License-Identifier: MIT
## Copyright (C) 2011 Przemyslaw Pawelczyk <[email protected]>
##
## This script is licensed under the terms of the MIT license.
## https://opensource.org/licenses/MIT
#
# Usage: gitio URL [CODE]
#
# Turns a github.com URL
# into a git.io URL
#
# Copies the git.io URL to your clipboard if xclip is available.
URL="$1"
CODE="$2"
if ! expr "${URL}" : "\(\(https\?://\)\?\(gist\.\)\?github.com/\)" >/dev/null; then
echo "* github.com URLs only" >&2
exit 1
fi
if ! expr "${URL}" : "http" >/dev/null; then
URL="https://${URL}"
fi
OUT="$(\
curl -si https://git.io -F "url=${URL}" ${CODE:+-F "code=${CODE}"} | \
sed '/^Status: /{s///;/^201/d;q};/^Location: /!d;s///'
)"
if expr "${OUT}" : "[0-9]\+" >/dev/null; then
echo "${OUT}" >&2
exit 1
fi
echo "${OUT}"
which xclip >/dev/null && echo "${OUT}" | xclip -selection clipboard
@przemoc
Copy link
Author

przemoc commented Jan 30, 2018

I pushed very small update - https is used now (it should be used for quite some time already).

@przemoc
Copy link
Author

przemoc commented Feb 6, 2018

commit af12b6b48e6220daab23a92d69957407526aa0a7
Author: Przemyslaw Pawelczyk <[email protected]>
Date:   2018-02-06 14:27:24 +0100

    gitio: Add copyright notice and MIT license notice.

commit 6a7f2ebe37ea089adf6762e5591e8e99fe95d4fe
Author: Przemyslaw Pawelczyk <[email protected]>
Date:   2018-02-06 14:29:32 +0100

    Add SPDX License Identifier.

    The Software Package Data Exchange (SPDX) is a good initiative, it has
    matured over time and deserves accelerated adoption in open-source.

    https://spdx.org/learn
    https://spdx.org/using-spdx
    https://spdx.org/license-list

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment