From b3bb1139771c68f50f66c4abc4f6baebd22b345a Mon Sep 17 00:00:00 2001 From: jomo Date: Sun, 16 Nov 2014 00:44:02 +0100 Subject: [PATCH] use ago.js from cdn.rawgit.com --- app/assets/javascripts/ago.js | 89 -------------------------- app/assets/javascripts/application.js | 1 - app/views/layouts/application.html.erb | 1 + 3 files changed, 1 insertion(+), 90 deletions(-) delete mode 100644 app/assets/javascripts/ago.js diff --git a/app/assets/javascripts/ago.js b/app/assets/javascripts/ago.js deleted file mode 100644 index ea46d8c..0000000 --- a/app/assets/javascripts/ago.js +++ /dev/null @@ -1,89 +0,0 @@ -function Ago(nodes, options) { - if (!(nodes instanceof Array)) { - options = nodes; - nodes = undefined; - } - nodes = nodes || document.querySelectorAll("time"); - options = options || {}; - - - var default_opts = { - interval: 10000, // 10 secs - units: [ - ["minute", 60], - ["hour", 3600], - ["day", 86400], - ["week", 604800], - ["month", 2592000], - ["year", 31536000] - ], - date: function(node) { - console.debug(node); - // works on HTML "time" nodes - return new Date(node.getAttribute("datetime")); - }, - format: function(time, unit) { - if (!unit) return "just now"; - var tail = time < 0 ? " ahead" : " ago"; - return Math.abs(time) + " " + unit + tail; - }, - plural: { - minute: "minutes", - hour: "hours", - day: "days", - week: "weeks", - month: "months", - year: "years" - } - }; - - // override default options - for (var key in default_opts) { - options[key] = options[key] || default_opts[key]; - } - - - var ago = function(node) { - // use callback to get date - var ago_date = options.date(node); - // get seconds ago - var ago_time = (new Date().getTime() - ago_date.getTime()) / 1000; - var abs_time = Math.floor(Math.abs(ago_time)); - - // find greatest unit - var unit = null; - var unit_time = null; - for (var u in options.units) { - var secs = options.units[u][1]; - if (abs_time >= secs) { - unit = options.units[u][0]; - unit_time = secs; - } else { - break; - } - } - - if (unit_time !== null) { - abs_time = Math.floor(abs_time/unit_time); - // plural - if (abs_time != 1) { - unit = options.plural[unit]; - } - } - node.textContent = options.format(ago_time < 0 ? -abs_time : abs_time, unit); - }; - - - var update_all = function() { - for (var i = 0; i < nodes.length; i++) { - ago(nodes[i]); - } - }; - - - update_all(); - setInterval(function() { - update_all(); - }, options.interval); - -} \ No newline at end of file diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index 4a58cd9..b1c4d1e 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -13,6 +13,5 @@ //= require jquery_ujs //= require app //= require editor -//= require ago //= require highlight //= require autocomplete \ No newline at end of file diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 63a1e79..2839b9c 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -7,6 +7,7 @@ <%= stylesheet_link_tag "application", :media => "all" %> <%= csrf_meta_tags %> <%= favicon_link_tag "favicon.ico" %> + <%= javascript_include_tag "https://cdn.rawgit.com/jomo/ago.js/master/ago.min.js" %> <%= javascript_include_tag "application" %> <%= yield(:site_headers) %>