momentJS 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +18 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +29 -0
- data/Rakefile +1 -0
- data/lib/momentJS.rb +2 -0
- data/lib/momentJS/engine.rb +6 -0
- data/lib/momentJS/version.rb +3 -0
- data/momentJS.gemspec +20 -0
- data/vendor/assets/javascripts/moment.js +1664 -0
- data/vendor/assets/javascripts/moment.plugin.js +120 -0
- data/vendor/assets/javascripts/moment/cn.js +85 -0
- data/vendor/assets/javascripts/moment/hk.js +85 -0
- data/vendor/assets/javascripts/moment/tw.js +85 -0
- metadata +85 -0
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
(function($) {
|
|
2
|
+
$.moment = $.moment || {}
|
|
3
|
+
$.moment = {
|
|
4
|
+
options: {}
|
|
5
|
+
}
|
|
6
|
+
$.fn.moment = function(lang) {
|
|
7
|
+
var $this = $(this),
|
|
8
|
+
options = $.extend({}, $.moment.options, { lang:lang });
|
|
9
|
+
if(!$this.data('moment')) {
|
|
10
|
+
$this.data('moment', new Moment($(this), options));
|
|
11
|
+
}
|
|
12
|
+
return $this.data('moment');
|
|
13
|
+
}
|
|
14
|
+
function Moment($div, options) {
|
|
15
|
+
var $selector;
|
|
16
|
+
this.find = function($div, selector) {
|
|
17
|
+
$selector = $div.find(selector);
|
|
18
|
+
return this;
|
|
19
|
+
}
|
|
20
|
+
this.format = function() {
|
|
21
|
+
if($selector) {
|
|
22
|
+
var self = this;
|
|
23
|
+
this._each(function() {
|
|
24
|
+
var $this = $(this),
|
|
25
|
+
$tag = $this.children(':first'),
|
|
26
|
+
is_update = false;
|
|
27
|
+
dates = $this.html().split('<')[0].split(' — ');
|
|
28
|
+
if(dates.length == 1) {
|
|
29
|
+
dates = self.calendar(dates[0]);
|
|
30
|
+
if(dates) {
|
|
31
|
+
$this.html(dates);
|
|
32
|
+
is_update = true;
|
|
33
|
+
}
|
|
34
|
+
} else {
|
|
35
|
+
var period;
|
|
36
|
+
is_update = true;
|
|
37
|
+
dates[0] = moment(dates[0]);
|
|
38
|
+
dates[1] = moment(dates[1]);
|
|
39
|
+
period = " (" + dates[0].from(dates[1], true) + ")";
|
|
40
|
+
dates[0] = dates[0].format('ll');
|
|
41
|
+
dates[1] = dates[1].format('ll');
|
|
42
|
+
if(dates[0] == dates[1]) {
|
|
43
|
+
$this.html(dates[0] + period);
|
|
44
|
+
} else {
|
|
45
|
+
$this.html(dates[0] + "~ " + dates[1] + period);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
if(is_update && $tag.size()) {
|
|
49
|
+
$this.append($tag);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
this.calendar = function(data) {
|
|
55
|
+
if($selector) {
|
|
56
|
+
this._each(this.calendar);
|
|
57
|
+
} else {
|
|
58
|
+
var oTime;
|
|
59
|
+
switch(typeof data) {
|
|
60
|
+
case "string": oTime = moment(data); break;
|
|
61
|
+
case "object": oTime = moment(data.html()); break;
|
|
62
|
+
case "number": oTime = moment($(this).html()); break;
|
|
63
|
+
}
|
|
64
|
+
if(oTime && oTime.isValid()) {
|
|
65
|
+
switch(typeof data) {
|
|
66
|
+
case "string": return oTime.calendar();
|
|
67
|
+
case "object": data.html(oTime.calendar()); return true;
|
|
68
|
+
case "number": $(this).html(oTime.calendar()); return true;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
this.month = function(data) {
|
|
74
|
+
if($selector) {
|
|
75
|
+
this._each(this.month);
|
|
76
|
+
} else {
|
|
77
|
+
var oTime;
|
|
78
|
+
switch(typeof data) {
|
|
79
|
+
case "string": oTime = moment(data); break;
|
|
80
|
+
case "object": oTime = moment(data.html()); break;
|
|
81
|
+
case "number": oTime = moment($(this).html()); break;
|
|
82
|
+
}
|
|
83
|
+
if(oTime && oTime.isValid()) {
|
|
84
|
+
switch(typeof data) {
|
|
85
|
+
case "string": return oTime.format('MMM');
|
|
86
|
+
case "object": data.html(oTime.format('MMM')); return true;
|
|
87
|
+
case "number": $(this).html(oTime.format('MMM')); return true;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
this.timeago = function(data) {
|
|
93
|
+
if($selector) {
|
|
94
|
+
this._each(this.timeago);
|
|
95
|
+
} else {
|
|
96
|
+
var oTime;
|
|
97
|
+
switch(typeof data) {
|
|
98
|
+
case "string": oTime = moment(data); break;
|
|
99
|
+
case "object": oTime = moment(data.html()); break;
|
|
100
|
+
case "number": oTime = moment($(this).html()); break;
|
|
101
|
+
}
|
|
102
|
+
if(oTime && oTime.isValid()) {
|
|
103
|
+
switch(typeof data) {
|
|
104
|
+
case "string": return oTime.fromNow();
|
|
105
|
+
case "object": data.html(oTime.fromNow()); return true;
|
|
106
|
+
case "number": $(this).html(oTime.fromNow()); return true;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
this._each = function(func) {
|
|
112
|
+
var list = $selector;
|
|
113
|
+
$selector = null;
|
|
114
|
+
list.each(func);
|
|
115
|
+
}
|
|
116
|
+
if(options.lang) {
|
|
117
|
+
moment.lang(options.lang);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}(jQuery));
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
!function(){
|
|
2
|
+
function e(moment) {
|
|
3
|
+
moment.lang( "cn", {
|
|
4
|
+
months: "一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),
|
|
5
|
+
monthsShort: "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),
|
|
6
|
+
weekdays: "星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),
|
|
7
|
+
weekdaysShort: "周日_周一_周二_周三_周四_周五_周六".split("_"),
|
|
8
|
+
weekdaysMin: "日_一_二_三_四_五_六月".split("_"),
|
|
9
|
+
longDateFormat:{
|
|
10
|
+
LT: "Ah:mm",
|
|
11
|
+
L: "YYYY年MMMD日",
|
|
12
|
+
LL: "YYYY年MMMD日",
|
|
13
|
+
LLL: "YYYY年MMMD日 LT",
|
|
14
|
+
LLLL: "YYYY年MMMD日 LT",
|
|
15
|
+
l: "YYYY年MMMD日",
|
|
16
|
+
ll: "YYYY年MMMD日",
|
|
17
|
+
lll: "YYYY年MMMD日 LT",
|
|
18
|
+
llll: "YYYY年MMMD日 LT (dddd)"
|
|
19
|
+
},
|
|
20
|
+
meridiem: function(hour, minute) {
|
|
21
|
+
if (hour < 1 && minute < 30) {
|
|
22
|
+
return "深夜";
|
|
23
|
+
} else if (hour < 4 && minute < 30) {
|
|
24
|
+
return "淩晨";
|
|
25
|
+
} else if (hour < 6) {
|
|
26
|
+
return "清晨";
|
|
27
|
+
} else if (hour < 9) {
|
|
28
|
+
return "早上";
|
|
29
|
+
} else if (hour < 11) {
|
|
30
|
+
return "上午"
|
|
31
|
+
} else if (hour < 13) {
|
|
32
|
+
return "中午";
|
|
33
|
+
} else if (hour < 16 && minute < 30) {
|
|
34
|
+
return "下午";
|
|
35
|
+
} else if (hour < 19) {
|
|
36
|
+
return "黄昏";
|
|
37
|
+
} else if (hour < 23) {
|
|
38
|
+
return "晚上";
|
|
39
|
+
} else {
|
|
40
|
+
return "深夜";
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
calendar: {
|
|
44
|
+
sameDay: "[今天] LT",
|
|
45
|
+
nextDay: "[明天] LT",
|
|
46
|
+
nextWeek: "[下]dddd LT",
|
|
47
|
+
lastDay: "[昨天] LT",
|
|
48
|
+
lastWeek: "[上]dddd LT",
|
|
49
|
+
sameElse: "L"
|
|
50
|
+
},
|
|
51
|
+
ordinal: function(num, token){
|
|
52
|
+
switch(token){
|
|
53
|
+
case"d":
|
|
54
|
+
case"D":
|
|
55
|
+
case"DDD":
|
|
56
|
+
return num + "日";
|
|
57
|
+
case"M":
|
|
58
|
+
return num + "月";
|
|
59
|
+
case"w":
|
|
60
|
+
case"W":
|
|
61
|
+
return num + "周";
|
|
62
|
+
default:
|
|
63
|
+
return num;
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
relativeTime: {
|
|
67
|
+
future: "%s内",
|
|
68
|
+
past: "%s前",
|
|
69
|
+
s: "几秒",
|
|
70
|
+
m: "1分钟",
|
|
71
|
+
mm: "%d分钟",
|
|
72
|
+
h: "1小时",
|
|
73
|
+
hh: "%d小时",
|
|
74
|
+
d: "1天",
|
|
75
|
+
dd: "%d天",
|
|
76
|
+
M: "1个月",
|
|
77
|
+
MM: "%d个月",
|
|
78
|
+
y: "1年",
|
|
79
|
+
yy: "%d年"
|
|
80
|
+
}
|
|
81
|
+
})
|
|
82
|
+
}
|
|
83
|
+
"function"==typeof define&&define.amd&&define(["moment"],e),
|
|
84
|
+
"undefined"!=typeof window&&window.moment&&e(window.moment)
|
|
85
|
+
}();
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
!function(){
|
|
2
|
+
function e(moment) {
|
|
3
|
+
moment.lang( "hk", {
|
|
4
|
+
months: "一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),
|
|
5
|
+
monthsShort: "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),
|
|
6
|
+
weekdays: "禮拜日_禮拜一_禮拜二_禮拜三_禮拜四_禮拜五_禮拜六".split("_"),
|
|
7
|
+
weekdaysShort: "週日_週一_週二_週三_週四_週五_週六".split("_"),
|
|
8
|
+
weekdaysMin: "日_一_二_三_四_五_六月".split("_"),
|
|
9
|
+
longDateFormat:{
|
|
10
|
+
LT: "Ah:mm",
|
|
11
|
+
L: "YYYY年MMMD日",
|
|
12
|
+
LL: "YYYY年MMMD日",
|
|
13
|
+
LLL: "YYYY年MMMD日 LT",
|
|
14
|
+
LLLL: "YYYY年MMMD日 LT",
|
|
15
|
+
l: "YYYY年MMMD日",
|
|
16
|
+
ll: "YYYY年MMMD日",
|
|
17
|
+
lll: "YYYY年MMMD日 LT",
|
|
18
|
+
llll: "YYYY年MMMD日 LT (dddd)"
|
|
19
|
+
},
|
|
20
|
+
meridiem: function(hour, minute) {
|
|
21
|
+
if (hour < 1 && minute < 30) {
|
|
22
|
+
return "深夜";
|
|
23
|
+
} else if (hour < 4 && minute < 30) {
|
|
24
|
+
return "凌晨";
|
|
25
|
+
} else if (hour < 6) {
|
|
26
|
+
return "清晨";
|
|
27
|
+
} else if (hour < 9) {
|
|
28
|
+
return "早上";
|
|
29
|
+
} else if (hour < 11) {
|
|
30
|
+
return "上午"
|
|
31
|
+
} else if (hour < 13) {
|
|
32
|
+
return "中午";
|
|
33
|
+
} else if (hour < 16 && minute < 30) {
|
|
34
|
+
return "下午";
|
|
35
|
+
} else if (hour < 19) {
|
|
36
|
+
return "黄昏";
|
|
37
|
+
} else if (hour < 23) {
|
|
38
|
+
return "晚上";
|
|
39
|
+
} else {
|
|
40
|
+
return "深夜";
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
calendar: {
|
|
44
|
+
sameDay: "[今日] LT",
|
|
45
|
+
nextDay: "[聽日] LT",
|
|
46
|
+
nextWeek: "[下個]dddd LT",
|
|
47
|
+
lastDay: "[琴日] LT",
|
|
48
|
+
lastWeek: "[上個]dddd LT",
|
|
49
|
+
sameElse: "L"
|
|
50
|
+
},
|
|
51
|
+
ordinal: function(num, token){
|
|
52
|
+
switch(token){
|
|
53
|
+
case"d":
|
|
54
|
+
case"D":
|
|
55
|
+
case"DDD":
|
|
56
|
+
return num + "日";
|
|
57
|
+
case"M":
|
|
58
|
+
return num + "月";
|
|
59
|
+
case"w":
|
|
60
|
+
case"W":
|
|
61
|
+
return num + "週";
|
|
62
|
+
default:
|
|
63
|
+
return num;
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
relativeTime: {
|
|
67
|
+
future: "%s内",
|
|
68
|
+
past: "%s前",
|
|
69
|
+
s: "幾秒",
|
|
70
|
+
m: "1分鐘",
|
|
71
|
+
mm: "%d分鐘",
|
|
72
|
+
h: "1個鐘",
|
|
73
|
+
hh: "%d個鐘",
|
|
74
|
+
d: "1日",
|
|
75
|
+
dd: "%d日",
|
|
76
|
+
M: "1個月",
|
|
77
|
+
MM: "%d個月",
|
|
78
|
+
y: "1年",
|
|
79
|
+
yy: "%d年"
|
|
80
|
+
}
|
|
81
|
+
})
|
|
82
|
+
}
|
|
83
|
+
"function"==typeof define&&define.amd&&define(["moment"],e),
|
|
84
|
+
"undefined"!=typeof window&&window.moment&&e(window.moment)
|
|
85
|
+
}();
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
!function(){
|
|
2
|
+
function e(moment) {
|
|
3
|
+
moment.lang( "tw", {
|
|
4
|
+
months: "一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),
|
|
5
|
+
monthsShort: "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),
|
|
6
|
+
weekdays: "星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),
|
|
7
|
+
weekdaysShort: "週日_週一_週二_週三_週四_週五_週六".split("_"),
|
|
8
|
+
weekdaysMin: "日_一_二_三_四_五_六月".split("_"),
|
|
9
|
+
longDateFormat:{
|
|
10
|
+
LT: "Ah:mm",
|
|
11
|
+
L: "YYYY年MMMD日",
|
|
12
|
+
LL: "YYYY年MMMD日",
|
|
13
|
+
LLL: "YYYY年MMMD日 LT",
|
|
14
|
+
LLLL: "YYYY年MMMD日 LT",
|
|
15
|
+
l: "YYYY年MMMD日",
|
|
16
|
+
ll: "YYYY年MMMD日",
|
|
17
|
+
lll: "YYYY年MMMD日 LT",
|
|
18
|
+
llll: "YYYY年MMMD日 LT (dddd)"
|
|
19
|
+
},
|
|
20
|
+
meridiem: function(hour, minute) {
|
|
21
|
+
if (hour < 1 && minute < 30) {
|
|
22
|
+
return "深夜";
|
|
23
|
+
} else if (hour < 4 && minute < 30) {
|
|
24
|
+
return "凌晨";
|
|
25
|
+
} else if (hour < 6) {
|
|
26
|
+
return "清晨";
|
|
27
|
+
} else if (hour < 9) {
|
|
28
|
+
return "早上";
|
|
29
|
+
} else if (hour < 11) {
|
|
30
|
+
return "上午"
|
|
31
|
+
} else if (hour < 13) {
|
|
32
|
+
return "中午";
|
|
33
|
+
} else if (hour < 16 && minute < 30) {
|
|
34
|
+
return "下午";
|
|
35
|
+
} else if (hour < 19) {
|
|
36
|
+
return "黄昏";
|
|
37
|
+
} else if (hour < 23) {
|
|
38
|
+
return "晚上";
|
|
39
|
+
} else {
|
|
40
|
+
return "深夜";
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
calendar: {
|
|
44
|
+
sameDay: "[今天] LT",
|
|
45
|
+
nextDay: "[明天] LT",
|
|
46
|
+
nextWeek: "[下]dddd LT",
|
|
47
|
+
lastDay: "[昨天] LT",
|
|
48
|
+
lastWeek: "[上]dddd LT",
|
|
49
|
+
sameElse: "L"
|
|
50
|
+
},
|
|
51
|
+
ordinal: function(num, token){
|
|
52
|
+
switch(token){
|
|
53
|
+
case"d":
|
|
54
|
+
case"D":
|
|
55
|
+
case"DDD":
|
|
56
|
+
return num + "日";
|
|
57
|
+
case"M":
|
|
58
|
+
return num + "月";
|
|
59
|
+
case"w":
|
|
60
|
+
case"W":
|
|
61
|
+
return num + "週";
|
|
62
|
+
default:
|
|
63
|
+
return num;
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
relativeTime: {
|
|
67
|
+
future: "%s内",
|
|
68
|
+
past: "%s前",
|
|
69
|
+
s: "幾秒",
|
|
70
|
+
m: "1分鐘",
|
|
71
|
+
mm: "%d分鐘",
|
|
72
|
+
h: "1小時",
|
|
73
|
+
hh: "%d小時",
|
|
74
|
+
d: "1天",
|
|
75
|
+
dd: "%d天",
|
|
76
|
+
M: "1個月",
|
|
77
|
+
MM: "%d個月",
|
|
78
|
+
y: "1年",
|
|
79
|
+
yy: "%d年"
|
|
80
|
+
}
|
|
81
|
+
})
|
|
82
|
+
}
|
|
83
|
+
"function"==typeof define&&define.amd&&define(["moment"],e),
|
|
84
|
+
"undefined"!=typeof window&&window.moment&&e(window.moment)
|
|
85
|
+
}();
|
metadata
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: momentJS
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 1.0.1
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- stillnaughty
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2013-09-13 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: bundler
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - ~>
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '1.3'
|
|
20
|
+
type: :development
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - ~>
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '1.3'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: rake
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - ! '>='
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '0'
|
|
34
|
+
type: :development
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - ! '>='
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '0'
|
|
41
|
+
description: Rails asset gems for momentJS
|
|
42
|
+
email:
|
|
43
|
+
- ying@stillnaughty.com
|
|
44
|
+
executables: []
|
|
45
|
+
extensions: []
|
|
46
|
+
extra_rdoc_files: []
|
|
47
|
+
files:
|
|
48
|
+
- .gitignore
|
|
49
|
+
- Gemfile
|
|
50
|
+
- LICENSE.txt
|
|
51
|
+
- README.md
|
|
52
|
+
- Rakefile
|
|
53
|
+
- lib/momentJS.rb
|
|
54
|
+
- lib/momentJS/engine.rb
|
|
55
|
+
- lib/momentJS/version.rb
|
|
56
|
+
- momentJS.gemspec
|
|
57
|
+
- vendor/assets/javascripts/moment.js
|
|
58
|
+
- vendor/assets/javascripts/moment.plugin.js
|
|
59
|
+
- vendor/assets/javascripts/moment/cn.js
|
|
60
|
+
- vendor/assets/javascripts/moment/hk.js
|
|
61
|
+
- vendor/assets/javascripts/moment/tw.js
|
|
62
|
+
homepage: ''
|
|
63
|
+
licenses: []
|
|
64
|
+
metadata: {}
|
|
65
|
+
post_install_message:
|
|
66
|
+
rdoc_options: []
|
|
67
|
+
require_paths:
|
|
68
|
+
- lib
|
|
69
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
70
|
+
requirements:
|
|
71
|
+
- - ! '>='
|
|
72
|
+
- !ruby/object:Gem::Version
|
|
73
|
+
version: '0'
|
|
74
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
75
|
+
requirements:
|
|
76
|
+
- - ! '>='
|
|
77
|
+
- !ruby/object:Gem::Version
|
|
78
|
+
version: '0'
|
|
79
|
+
requirements: []
|
|
80
|
+
rubyforge_project:
|
|
81
|
+
rubygems_version: 2.1.2
|
|
82
|
+
signing_key:
|
|
83
|
+
specification_version: 4
|
|
84
|
+
summary: Rails asset gems for the customized momentJS based on v2.1.0
|
|
85
|
+
test_files: []
|