w3ctech

一个微型 Javascript 开源项目(timeago.js)如何在 4 天到 1000 star ?

这里要提到的是我之前从项目抽离出来的微型 Javascript 项目 timeago.js,为什么是微型,因为他还不到 2kb,这个也是做这个项目的原因之一。

已有的类似项目不是一般都依赖 jQuery 和 moment.js,实际上仅仅用到其中的选择器、一个日期方法(fromNow),为了这么一点方法依赖,而引入则好么大的库,个人感觉不是很划算。

http://static.oschina.net/uploads/space/2016/0912/133711_0Rge_134320.png

timeago.js 项目大概开始于今年6月底左右,抽离出来,npm publish之后,在自己的多个项目中使用良好,就没有再多做更新了,后来因为另外一个项目中的 PR 引用到 timeago.js 项目,所以决定好好做一做,并推广一下,并陆续增加修改如下东西:

  1. 增加实时更新方法 render,可以选择一些节点实时更新和计算;
  2. 完善Testcase,使用travis CI;
  3. 申请域名 timeago.org,后来因为这个域名和其他项目产生了一些不愉快,不过无所谓,我很大条;
  4. 更新优化本地化 locale文件的格式;
  5. 新开一个 issue 专门记录 locale 的 pr;

然后将域名 timeago.org 发到 Hack New上,然后就是域名被老外转到reddit,并且关于创造更小的轮子,依赖jQuery这些问题引起了一些争论,再然后就过了一天,就上了 Github 的 Trending 总榜,目前已经在榜上 4 天了。就在这次天内,star 数量瞬间达到 1000 +,自己还是很激动的。

说说自己的感想吧?

  1. 如果真的想好好做一个项目,还是申请一个合适的域名吧,这样可能会给人更加专业,更加重视的感觉;
  2. 老外真的特别喜欢发 pr 和 issue,可能是国内程序员的时间被商人完全榨干了;
  3. 保证项目有完善的测试,travis CI集成起来其实非常简单;
  4. 项目特色,比如timeago.js特色就是tiny(1.75 kb完成其他项目依赖 jQ 的事情),并且在多个 issue 中要求 pr 一定要保证代码的简洁;
  5. PR 规范,比如 timeago.js 中的主要 pr 来源于本地化语言的翻译,所以我会专门开一个issue来展现需要 pr 哪些语言,然后大家一目了然,可以增加大家 pr 的积极性;

做好这些之后,就可以到一些技术论坛发发文章,博客了,具体发哪些位置呢?

Hack New、开发者头条、V2ex、OSChina、segmentfault、极客头条等等。我对国外技术站点不是很了解,仅仅发了 Hack New。

然后就是等着其他开发人员给你提意见、建议,然后积极响应和修改吧。

w3ctech微信

扫码关注w3ctech微信公众号

共收到2条回复