Skip to content

Instantly share code, notes, and snippets.

@TakesxiSximada
Last active October 13, 2016 14:49
Show Gist options
  • Save TakesxiSximada/e56dd320c247424dfeaf3e9f8dd5f593 to your computer and use it in GitHub Desktop.
Save TakesxiSximada/e56dd320c247424dfeaf3e9f8dd5f593 to your computer and use it in GitHub Desktop.
gistを管理するコマンド

gistを管理するコマンド

以前gistingっていうshell scriptかいてたけど、 手に馴染まなかったから再度書き直した。

  • 作成 gist-create "DESCRIPTION" DIRNAME
  • 更新 gist-sync
  • 一覧 gist-list

gist-create, gist-listはgistのリポジトリのparent directoryが前提 gist-syncはgistのリポジトリがworking directoryになっていることを前提としている

ngに入れておこうb

gist-create() {
_GIST_DESCRIPTION=$1
_GIST_DIRNAME=$2
echo "# $_GIST_DESCRIPTION" > /tmp/README.md
_GIST_URL=`gist -d "$_GIST_DESCRIPTION" /tmp/README.md`
git submodule add $(echo $_GIST_URL | gawk 'match($0, /https:\/\/gist.github.com\/(.+)/, data) {print "git@gist.github.com:" data[1] ".git"}') $_GIST_DIRNAME
git submodule update
git commit -m "add gist $_GIST_URL"
echo $_GIST_DIRNAME
}
gist-create-single() {
_GIST_DESCRIPTION=$1
echo "$_GIST_DESCRIPTION" > /tmp/README.md
_GIST_URL=`gist -d "$_GIST_DESCRIPTION" /tmp/README.md`
git clone $(echo $_GIST_URL | gawk 'match($0, /https:\/\/gist.github.com\/(.+)/, data) {print "git@gist.github.com:" data[1] ".git"}')
}
gist-sync() {
git commit -m "update gist"
git push
if [ -e ../.git ]
then
_GIST_DIRNAME=$(basename $PWD)
cd .. && git add $_GIST_DIRNAME && git commit -m "update gist" $_GIST_DIRNAME && git push
cd $_GIST_DIRNAME
fi
}
gist-list() {
head -n 1 */README.md
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment