基於github的官方gist客戶端gist.rb,增加如下功能:
- 發佈gist後自動clone gist repo到本地
- 自動將gist的內容添加到本地的代碼搜索索引(基於csearch)
- 自動從github獲取本條gist的元信息(描述、url等),添加到本地的gists.list
- 同步gist.github.com上的改动到本地
依賴:
curl
git
gist.rb https://github.com/defunkt/gist
csearch https://code.google.com/p/codesearch/
jq http://stedolan.github.io/jq/
xsel或者xclip
(如果用xsel, 確保 gist.rb 版本在 v4.1.2 以上,低於這個的gist.rb有bug,無法用 xsel。)
安裝:
代码: 全选
git clone https://github.com/weakish/gister.git
cd gister
sudo rake install
運行 `gister init` 初始化
運行 `gister sync`獲取你所有的 gists
以後要發佈新gist,則使用 `gister '描述' 文件 ...`。
還有 `gister search 正則`可以檢索所有同步到本地的gist。
如果你在本地修改了gists,也commit了,但是沒網絡,那麼一旦有網後你就可以運行`gister sync`自動同步更改到gist.github.com。
同理,你在gist.github.com上新增、修改、刪除了gist,也可以用`gister sync`同步到本地。
本地的gist存儲結構:
代码: 全选
/path/to/your/gists
|-- gists.list # gist列表(包括元信息)
|-- repo # 你的gist的git倉庫
|-- tree # 你的gist的working directory
|-- 123456 # 普通gist
|-- _123567890 # 在gist.github.com刪除的gist
|-- ...
`-- .csearchindex # 代碼搜索的索引文件
代码: 全选
man gister