一不小心在 github 上 star 过的项目将近 800 个了,我发现从这 800 个项目里找出我需要的项目不是一件容易的事情了,比如说印象里我有 star 过几个关于中文分词的 project,当我用 github 自带的搜星功能去搜索'中文分词'时,却发现什么也找不到,
那就动手自己写一个搜星工具吧。通过 Gstar 搜索'中文分词',
一。git clone https://github.com/baya/Gstar.git
二。cd Gstar/ground
三。bundle install
四。rake db:migrate
五。cp config/github.example.yml config/github.yml
在 config/github.yml 里有三个配置,其中 login 为必填项,access_token 和 password 选一个填写即可, login 和 password 分别是你用来登录 github 的用户名和密码,access_token 可以通过下面的步骤得到,
六。rake maintain:pull_stars_from_github # 将你 star 过的项目从 github 拉到本地数据库
七。whenever --update # 启动定时任务,每分钟检查一次你是否有新的 star 项目
八。rackup -p 9292
九。使用浏览器访问 http://localhost:9292
注意操作三到八都是在 Gstar/ground 目录下进行的。
1. 准确快速的搜索
github 自带的搜星功能不是特别好用,比如说我想找出我收藏的 (github 的标星功能对我来说就是收藏) 与 markdown 有关的项目,使用 github 自带的搜星功能只能找到一个叫 miclle/Markdown-Editor 的项目,因为 github 是通过项目的名字进行搜索,这导致很多与 markdown 有关的项目被忽略了,但是使用 Gstar 搜索 markdown 能找到 11 个与 markdown 有关的项目,因为 Gstar 对项目名和项目描述都进行搜索,这样比 github 更准确些。
github 的搜星:
gstar 的搜星:
2.可以修改项目的描述 (description),实现类似于打标签的功能
比如说我给 karmi/tire 这个项目的描述加上"搜索",那么我就可以通过搜索"搜索"找到 tire 这个项目了。
3.自动更新 starred projects
Gstar 自带一个定时任务,每一分钟会去 github 那检查是否有新的 stars,如果有就会拉到本地,建立索引,方便你以后搜索使用。