这里要提到的是我之前从项目抽离出来的微型 Javascript 项目 timeago.js,为什么是微型,因为他还不到 2kb,这个也是做这个项目的原因之一。(这个项目在cnodejs之前发过帖子的,不愠不火)[https://cnodejs.org/topic/576d3463d3baaf401780bb48]
已有的类似项目不是一般都依赖 jQuery 和 moment.js,实际上仅仅用到其中的选择器、一个日期方法(fromNow),为了这么一点方法依赖,而引入则好么大的库
,个人感觉不是很划算。
timeago.js项目大概开始于今年6月底左右,抽离出来,npm publish之后,在自己的多个项目中使用良好,就没有再多做更新了,后来因为另外一个项目中的 PR 引用到 timeago.js 项目,所以决定好好做一做,并推广一下,并陆续增加修改如下东西:
- 增加
实时更新方法 render
,可以选择一些节点实时更新和计算; - 完善
Testcase
,使用travis CI; - 申请
域名 timeago.org
,后来因为这个域名和其他项目产生了一些不愉快,不过无所谓,我很大条; - 更新优化
本地化 locale
文件的格式; - 新开一个 issue 专门记录 locale 的 pr;
然后将域名 timeago.org发到 Hack New上,然后就是域名被老外转到reddit,并且关于创造更小的轮子,依赖jQuery这些问题引起了一些争论,再然后就过了一天,就上了 Github 的 Trending 总榜,目前已经在榜上 4 天了。就在这次天内,star 数量瞬间达到 1000 +,自己还是很激动的。
说说自己的感想吧?
- 如果真的想好好做一个项目,还是申请一个
合适的域名
吧,这样可能会给人更加专业,更加重视的感觉; - 老外真的特别喜欢发 pr 和 issue,可能是国内程序员的时间被商人完全榨干了;
- 保证项目有
完善的测试
,travis CI集成起来其实非常简单; 项目特色
,比如timeago.js特色就是tiny(1.75 kb完成其他项目依赖 jQ 的事情),并且在多个 issue 中要求 pr 一定要保证代码的简洁;PR 规范
,比如 timeago.js 中的主要 pr 来源于本地化语言的翻译,所以我会专门开一个issue来展现需要 pr 哪些语言,然后大家一目了然,可以增加大家 pr 的积极性;
做好这些之后,就可以到一些技术论坛发发文章,博客了,具体发哪些位置呢?
Hack New、开发者头条、V2ex、OSChina、segmentfault、极客头条
等等。我对国外技术站点不是很了解,仅仅发了 Hack New。
然后就是等着其他开发人员给你提意见、建议,然后积极响应和修改吧。