mirror of
https://github.com/tabler/tabler.git
synced 2025-12-21 17:34:25 +04:00
47 lines
1.3 KiB
Ruby
47 lines
1.3 KiB
Ruby
module Jekyll
|
|
module TablerFilter
|
|
|
|
def random_number(value, min=0, max=100, offset=0, round=0)
|
|
formatter = round ? '%.' + round.to_s + 'f' : '%'
|
|
value = formatter % ((Math.sin(Math.sin(value + offset)) + 1) * ((max - min) / 2) + min)
|
|
|
|
value
|
|
end
|
|
|
|
def to_pretty_time(value)
|
|
a = (Time.now-value).to_i
|
|
|
|
case a
|
|
when 0 then 'just now'
|
|
when 1 then 'a second ago'
|
|
when 2..59 then a.to_s+' seconds ago'
|
|
when 60..119 then 'a minute ago' #120 = 2 minutes
|
|
when 120..3540 then (a/60).to_i.to_s+' minutes ago'
|
|
when 3541..7100 then 'an hour ago' # 3600 = 1 hour
|
|
when 7101..82800 then ((a+99)/3600).to_i.to_s+' hours ago'
|
|
when 82801..172000 then 'a day ago' # 86400 = 1 day
|
|
when 172001..518400 then ((a+800)/(60*60*24)).to_i.to_s+' days ago'
|
|
when 518400..1036800 then 'a week ago'
|
|
else ((a+180000)/(60*60*24*7)).to_i.to_s+' weeks ago'
|
|
end
|
|
end
|
|
|
|
def divide(value, number)
|
|
value.to_i * 1.0 / number
|
|
end
|
|
|
|
def number_color(value)
|
|
value = value.to_i
|
|
|
|
if value >= 80
|
|
'green'
|
|
elsif value >= 40
|
|
'yellow'
|
|
else
|
|
'red'
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
Liquid::Template.register_filter(Jekyll::TablerFilter) |