我正在重写我的问题,因为它似乎不够清楚......
我正在尝试找到一种方法从 github gist 中提取内容并将该内容放入终端本身、新文档或附加到已创建的文档中。
为此,我想在终端中输入命令,其语法类似于以下内容:
gist <source> <output>
其中 source 是要点的 url,output 是终端或用于创建/附加文本的文件的确切位置。
原问题:
我找到了一种使用 ruby gem 在终端中将要点发布到 Github 的方法,但是,我实际上想要一种检索这些要点的方法,也就是将它们用作片段。我很确定这是可能的,但我对 Gist api 不太熟悉,而且我对 Linux 系统也有点后来者。
我正在使用 Linux Mint 17.1 和 Cinnamon,不过我确实有一张我一直在测试的 Linux Mint KDE 版本的 Live CD。我更喜欢一个包含基于 gui 和基于 cli 的解决方案的答案,因为我正在尝试学习更好地使用 CLI。
我知道有针对特定编辑器的要点选项,但我更喜欢不需要特定程序即可工作的选项。
答案1
好吧,我认为您想要的是一个无需使用网络浏览器即可下载指定要点的脚本。像这样的东西:
#!/bin/sh
# gist-dl.sh: download a Github gist from a specified link to either a
# standard output (when no second argument passed) or to a
# specified file (with second argument passed). The first
# argument is a gist URL and is obligatory
if [ "$1"a = a ]
then
echo No gist URL passed. Bye
exit 1
fi
if [ "$2"a = a ]
then
wget -q -O - "$1"/raw
else
wget -q -O "$2" "$1"/raw
fi
用法:
$ # display a gist in terminal
$ ./gist-dl.sh https://gist.github.com/kylejohnson/6c6c0ca2d300ffce4bea
<VirtualHost *:80>
ServerName zm
ServerAdmin webmaster@localhost
DocumentRoot "/var/www/zm"
<Directory "/var/www/zm">
Options FollowSymLinks
AllowOverride All
</Directory>
ScriptAlias /cgi-bin/ "/usr/lib/cgi-bin/"
<Directory "/usr/lib/cgi-bin">
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
AllowOverride All
</Directory>
ErrorLog /var/log/apache2/zm-error.log
LogLevel warn
CustomLog /var/log/apache2/zm-access.log combined
</VirtualHost>
$ # download a gist to GIST.txt
$ ./gist-dl.sh https://gist.github.com/kylejohnson/6c6c0ca2d300ffce4bea GIST.txt
$ cat GIST.txt
<VirtualHost *:80>
ServerName zm
ServerAdmin webmaster@localhost
DocumentRoot "/var/www/zm"
<Directory "/var/www/zm">
Options FollowSymLinks
AllowOverride All
</Directory>
ScriptAlias /cgi-bin/ "/usr/lib/cgi-bin/"
<Directory "/usr/lib/cgi-bin">
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
AllowOverride All
</Directory>
ErrorLog /var/log/apache2/zm-error.log
LogLevel warn
CustomLog /var/log/apache2/zm-access.log combined
</VirtualHost>