From 2a546e5b2d1b293bc4d53d510a35d8751aa7607d Mon Sep 17 00:00:00 2001 From: czaks Date: Sun, 23 Feb 2014 17:34:09 +0100 Subject: bundle strftime library by Sami Samhuri https://github.com/samsonjs/strftime --- js/strftime.min.js | 8 ++++++++ js/wPaint | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 js/strftime.min.js (limited to 'js') diff --git a/js/strftime.min.js b/js/strftime.min.js new file mode 100644 index 00000000..696e025e --- /dev/null +++ b/js/strftime.min.js @@ -0,0 +1,8 @@ +(function(){function i(c,a,b){return g(c,a,b)}function g(c,a,b,j){j=j||{};a&&!n(a)&&(b=a,a=void 0);a=a||new Date;b=b||o;b.formats=b.formats||{};var i=a.getTime(),h=j.timezone,e=typeof h;if(j.utc||e=="number"||e=="string")a=p(a);if(h){if(e=="string")var k=h[0]=="-"?-1:1,q=parseInt(h.slice(1,3),10),r=parseInt(h.slice(3,5),10),h=k*60*q+r;e&&(a=new Date(a.getTime()+h*6E4))}return c.replace(/%([-_0]?.)/g,function(c,e){var d;if(e.length==2){d=e[0];if(d=="-")d="";else if(d=="_")d=" ";else if(d=="0")d="0"; +else return c;e=e[1]}switch(e){case "A":return b.days[a.getDay()];case "a":return b.shortDays[a.getDay()];case "B":return b.months[a.getMonth()];case "b":return b.shortMonths[a.getMonth()];case "C":return f(Math.floor(a.getFullYear()/100),d);case "D":return g(b.formats.D||"%m/%d/%y",a,b);case "d":return f(a.getDate(),d);case "e":return a.getDate();case "F":return g(b.formats.F||"%Y-%m-%d",a,b);case "H":return f(a.getHours(),d);case "h":return b.shortMonths[a.getMonth()];case "I":return f(l(a),d); +case "j":return d=new Date(a.getFullYear(),0,1),d=Math.ceil((a.getTime()-d.getTime())/864E5),f(d,3);case "k":return f(a.getHours(),d==null?" ":d);case "L":return f(Math.floor(i%1E3),3);case "l":return f(l(a),d==null?" ":d);case "M":return f(a.getMinutes(),d);case "m":return f(a.getMonth()+1,d);case "n":return"\n";case "o":return String(a.getDate())+s(a.getDate());case "P":return a.getHours()<12?b.am:b.pm;case "p":return a.getHours()<12?b.AM:b.PM;case "R":return g(b.formats.R||"%H:%M",a,b);case "r":return g(b.formats.r|| +"%I:%M:%S %p",a,b);case "S":return f(a.getSeconds(),d);case "s":return Math.floor(i/1E3);case "T":return g(b.formats.T||"%H:%M:%S",a,b);case "t":return"\t";case "U":return f(m(a,"sunday"),d);case "u":return d=a.getDay(),d==0?7:d;case "v":return g(b.formats.v||"%e-%b-%Y",a,b);case "W":return f(m(a,"monday"),d);case "w":return a.getDay();case "Y":return a.getFullYear();case "y":return d=String(a.getFullYear()),d.slice(d.length-2);case "Z":return j.utc?"GMT":(d=a.toString().match(/\((\w+)\)/))&&d[1]|| +"";case "z":return j.utc?"+0000":(d=typeof h=="number"?h:-a.getTimezoneOffset(),(d<0?"-":"+")+f(Math.abs(d/60))+f(d%60));default:return e}})}function p(c){var a=(c.getTimezoneOffset()||0)*6E4;return new Date(c.getTime()+a)}function n(c){for(var a=0,b=k.length,a=0;a12&&(c-=12);return c} +function s(c){var a=c%10;c%=100;if(c>=11&&c<=13||a===0||a>=4)return"th";switch(a){case 1:return"st";case 2:return"nd";case 3:return"rd"}}function m(c,a){var a=a||"sunday",b=c.getDay();a=="monday"&&(b==0?b=6:b--);var e=new Date(c.getFullYear(),0,1);return Math.floor(((c-e)/864E5+7-b)/7)}var e;e=typeof module!=="undefined"?module.exports=i:function(){return this||(0,eval)("this")}();var o={days:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),shortDays:"Sun Mon Tue Wed Thu Fri Sat".split(" "), +months:"January February March April May June July August September October November December".split(" "),shortMonths:"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),AM:"AM",PM:"PM",am:"am",pm:"pm"};e.strftime=i;e.strftimeTZ=i.strftimeTZ=function(c,a,b,e){if((typeof b=="number"||typeof b=="string")&&e==null)e=b,b=void 0;return g(c,a,b,{timezone:e})};e.strftimeUTC=i.strftimeUTC=function(c,a,b){return g(c,a,b,{utc:!0})};e.localizedStrftime=i.localizedStrftime=function(c){return function(a, +b){return g(a,b,c)}};var k=["getTime","getTimezoneOffset","getDay","getDate","getMonth","getFullYear","getYear","getHours","getMinutes","getSeconds"]})(); diff --git a/js/wPaint b/js/wPaint index ae151315..2c272dff 160000 --- a/js/wPaint +++ b/js/wPaint @@ -1 +1 @@ -Subproject commit ae15131585dd7c40a61d440e5a3740b5fc68780f +Subproject commit 2c272dffca0f3d7b7163bd82ba15629f54409278 -- cgit v1.3 From 63b9c4db5ffb7a493b5b081ef634d8b4f3a7b5ca Mon Sep 17 00:00:00 2001 From: czaks Date: Sun, 23 Feb 2014 17:58:16 +0100 Subject: local-time.js now supports custom time formats. idea by copypaste --- js/local-time.js | 29 +++++++++++++++++++++++------ templates/main.js | 6 ++++-- 2 files changed, 27 insertions(+), 8 deletions(-) (limited to 'js') diff --git a/js/local-time.js b/js/local-time.js index c4eecfd9..e6b3495d 100644 --- a/js/local-time.js +++ b/js/local-time.js @@ -8,6 +8,7 @@ * * Usage: * // $config['additional_javascript'][] = 'js/jquery.min.js'; + * // $config['additional_javascript'][] = 'js/strftime.min.js'; * $config['additional_javascript'][] = 'js/local-time.js'; * */ @@ -24,6 +25,27 @@ onready(function(){ return [Math.pow(10, count - num.toString().length), num].join('').substr(1); }; + var datelocale = + { days: [_('Sunday'), _('Monday'), _('Tuesday'), _('Wednesday'), _('Thursday'), _('Friday'), _('Saturday')] + , shortDays: [_("Sun"), _("Mon"), _("Tue"), _("Wed"), _("Thu"), _("Fri"), _("Sat")] + , months: [_('January'), _('February'), _('March'), _('April'), _('May'), _('June'), _('July'), _('August'), _('September'), _('October'), _('November'), _('December')] + , shortMonths: [_('Jan'), _('Feb'), _('Mar'), _('Apr'), _('May'), _('Jun'), _('Jul'), _('Aug'), _('Sep'), _('Oct'), _('Nov'), _('Dec')] + , AM: _('AM') + , PM: _('PM') + , am: _('am') + , pm: _('pm') + }; + var dateformat = (typeof strftime === 'undefined') ? function(t) { + return zeropad(t.getMonth() + 1, 2) + "/" + zeropad(t.getDate(), 2) + "/" + t.getFullYear().toString().substring(2) + + " (" + [_("Sun"), _("Mon"), _("Tue"), _("Wed"), _("Thu"), _("Fri"), _("Sat"), _("Sun")][t.getDay()] + ") " + + // time + zeropad(t.getHours(), 2) + ":" + zeropad(t.getMinutes(), 2) + ":" + zeropad(t.getSeconds(), 2); + + } : function(t) { + // post_date is defined in templates/main.js + return strftime(window.post_date, t, datelocale); + }; + var do_localtime = function(elem) { var times = elem.getElementsByTagName('time'); @@ -35,12 +57,7 @@ onready(function(){ times[i].setAttribute('data-local', 'true'); - times[i].innerHTML = - // date - zeropad(t.getMonth() + 1, 2) + "/" + zeropad(t.getDate(), 2) + "/" + t.getFullYear().toString().substring(2) + - " (" + [_("Sun"), _("Mon"), _("Tue"), _("Wed"), _("Thu"), _("Fri"), _("Sat"), _("Sun")][t.getDay()] + ") " + - // time - zeropad(t.getHours(), 2) + ":" + zeropad(t.getMinutes(), 2) + ":" + zeropad(t.getSeconds(), 2); + times[i].innerHTML = dateformat(t); }; }; diff --git a/templates/main.js b/templates/main.js index 54018e37..7796565c 100644 --- a/templates/main.js +++ b/templates/main.js @@ -288,10 +288,12 @@ function ready() { } } -onready(init); - {% endraw %} +var post_date = "{{ config.post_date }}"; + +onready(init); + {% if config.google_analytics %}{% raw %} var _gaq = _gaq || [];_gaq.push(['_setAccount', '{% endraw %}{{ config.google_analytics }}{% raw %}']);{% endraw %}{% if config.google_analytics_domain %}{% raw %}_gaq.push(['_setDomainName', '{% endraw %}{{ config.google_analytics_domain }}{% raw %}']){% endraw %}{% endif %}{% if not config.google_analytics_domain %}{% raw %}_gaq.push(['_setDomainName', 'none']){% endraw %}{% endif %}{% raw %};_gaq.push(['_trackPageview']);(function() {var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;ga.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'stats.g.doubleclick.net/dc.js';var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);})();{% endraw %}{% endif %} -- cgit v1.3 From 1d1fd2404196e3c4d76ef8284d6b0c5c8223c21c Mon Sep 17 00:00:00 2001 From: czaks Date: Thu, 13 Mar 2014 22:21:16 +0100 Subject: Revert "post-hover.js: fix long loop" This reverts commit f0ae0174c94f5637d1a5e804ce33fa666b4e9a67. --- js/post-hover.js | 3 --- 1 file changed, 3 deletions(-) (limited to 'js') diff --git a/js/post-hover.js b/js/post-hover.js index f0898669..4a86cba0 100644 --- a/js/post-hover.js +++ b/js/post-hover.js @@ -32,11 +32,8 @@ onready(function(){ } var board = $(this); - var i = 0; while (board.data('board') === undefined) { board = board.parent(); - i++; - if (i >= 10) return; } var threadid; if ($link.is('[data-thread]')) threadid = 0; -- cgit v1.3