首页 软件更新正文

回忆

2 年前,自己还是基于 Python + bootstrap 开发一些内部平台。因为涉及到需要使用 *** time ago 类似的时间显示,于是用 Python 实现了一个方法 timeAgo,在服务端转化好了之后给前端显示。因为页面国际化,所以内置有中英文两种翻译。

那个时候,ES6 推广起来了,前端开发开始疯狂使用 React、Vue、Angular 三大框架,前端能做的事情越来越多。React 用户量陡增阶段,我们的一个平台也尝试使用 React,自己也开始初入前端,使用 Python 在服务端做 timeAgo 计算的最大问题在于无法进行动态渲染,因为动态渲染还是需要前端 js 配合。

于是,timeago.js出现了,将 Python 一套翻译成 JavaScript,然后增加动态更新的机制。

timeago.js is a tiny(2.0 kb) library used to format date with `*** time ago` statement.

 timeago.js v4.0 发布 软件更新

这个项目是一个很 nano 的项目,打包出来,内置中英文翻译也就 2 kb 不到。开源出去之后,几次上 trending,star 居然高达上千。

v4.0

从最开始的 1.0 版本到现在 的 4.0 版本,其实功能上区别不大,主要修改还是在于代码组织、API 设计、以及技术栈更新。

v4.0 从一年半前就开 issue 准备动工,但是因为工作原因,周末完全没有写业务代码的动力。不过这一年多扩从了不少语言版本。

主要内容包括:

  • ✅从 ES5 -> ES6 -> typescript
  • ✅从单文件 -> webpack 打包 -> rollup
  • ✅从 class API -> function API
  • ✅移除 jQuery 支持
  • ✅扩展 i18n 国际化
  • ✅单测、覆盖率

使用

快速开始

  • 安装

npm install timeago.js

  • 引入
import { format, render, cancel, register } from 'timeago.js';

或者在 html 中以 script标签的方式引入,使用全局变量timeago

<script src="dist/timeago.min.js"></script>
  • example
// format the time with locale
format('2016-06-12', 'en_US');

API

  • format:格式化时间为 time ago 格式静态字符串,可用于 node 环境;
  • render & cancel:页面上动态渲染 dom 标签;
  • register:注册自定义的语言 locale;

目前已经包含 46 个语言翻译。更全面的使用文档见:README.md。Live Demo:https://timeago.org。

这周末花了一天时间,整理出来终结 v4.0 版本,又可以管两年了。

相关链接

var genGitIdent = function (ident) { var id = []; ident.split('/').forEach(function (item, index) { if (index 0) { document.getElementsByClassName("gitee-widget")[0].innerHTML = ""; document.write(''); found = true; } } } if (!found) { for (var i in url) { var ident = url[+i].split('gitee.com'); if (ident.length == 2 && !found) { var prv = genGitIdent(ident[1]); if (prv && prv.length > 0) { document.getElementsByClassName("gitee-widget")[0].innerHTML = ""; document.write(''); found = true; } } } } var genGitIdent = function (ident) { var id = []; ident.split('/').forEach(function (item, index) { if (index 0) { document.getElementsByClassName("gitee-widget")[0].innerHTML = ""; document.write(''); found = true; } } } if (!found) { for (var i in url) { var ident = url[+i].split('gitee.com'); if (ident.length == 2 && !found) { var prv = genGitIdent(ident[1]); if (prv && prv.length > 0) { document.getElementsByClassName("gitee-widget")[0].innerHTML = ""; document.write(''); found = true; } } } }

评论

«   2019年12月   »
1
2345678
9101112131415
16171819202122
23242526272829
3031

站点信息

  • 文章总数:252
  • 页面总数:1
  • 分类总数:5
  • 标签总数:504
  • 评论总数:0
  • 浏览总数:6318