How do I pipe something from the command line to a new Github gist?

偶尔善良 提交于 2019-12-03 03:12:13

问题


I don't know if this exists yet, but I'd love to be able to do:

$ cat mygist.js | gh new gist

And have it return the URL (and possibly copy it to the clipboard / open it in the browser).


回答1:


Try this gem: https://github.com/defunkt/gist

Worked for me ^_^




回答2:


Seems like GitHub has a simple REST API, including methods for creating Gists. Just for fun:

$ curl -X POST \
    --data-binary '{"files": {"file1.txt": {"content": "Hello, SO"}}}' \
    https://api.github.com/gists

This successfully created this Gist. I guess it's enough to get you started.




回答3:


Here's a simple bash script that takes a filename and makes it a gist.

function msg() {
  echo -n '{"description":"","public":"false","files":{"file1.txt":{"content":"'
  awk '{gsub(/"/,"\\\""); printf "%s\\n",$0}' "$1"
  echo '"}}'
}

[ "$#" -ne 1 ] && echo "Syntax: gist.sh filename" && exit 1
[ ! -r "$1" ] && echo "Error: unable to read $1" && exit 2

msg "$1" | curl -v -d '@-' https://api.github.com/gists

FYI: gist replies with the post body, so if the file is big, perhaps grep just the relevant parts of the reply.




回答4:


As Ronie said above, there is a gist gem which provides a gist command that you can use from your terminal to upload content to https://gist.github.com/

To upload the contents of a.rb just:

gist a.rb

More info http://defunkt.io/gist/




回答5:


Have the same desire I found https://www.npmjs.com/package/gistup and fork the repository to https://github.com/CrandellWS/mkg because the developer did not want to support Windows which was the operating system being used at the time. So I reworked the npm package to work on windows as well as linux and apple...

Full source is available on GitHub: https://github.com/CrandellWS/mkg

Installation is simple with npm

npm install -g mkg

Use is discribed on the npmjs package page: https://www.npmjs.com/package/gistup

Once installed simply cd to which every directory you want to make a gist from...(remeber there are no subfolders with Gists)

and run the command:

mkg

and it will open your new gist in a broswer...additionally you will be able to control it like a normal git from there... just no subfolders...

https://stackoverflow.com/a/41233970/1815624




回答6:


A super simple command I like to use for making gists out of diffs is:

git diff origin master -U15 | gist -t diff

Where 15 is the line spacing you can have before and after the change (So it's easier to see differences in larger files.)

-t is the type flag.



来源:https://stackoverflow.com/questions/13552335/how-do-i-pipe-something-from-the-command-line-to-a-new-github-gist

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!