這里要提到的是我之前從項目抽離出來的微型 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 項目,所以決定好好做一做,并推廣一下,并陸續增加修改如下東西:
- 增加
實時更新方法 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。
然后就是等著其他開發人員給你提意見、建議,然后積極響應和修改吧。