Commit b57317a9f0e17c176332048f95efe282cddd7cd5

Authored by Marius Hanne
1 parent a2e5f4686a
Exists in master

JS time update, (hidden) footer links, fucking WTFPL

Showing 6 changed files with 63 additions and 6 deletions Side-by-side Diff

  1 + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
  2 + Version 2, December 2004
  3 +
  4 + Copyright (C) 2004 Sam Hocevar
  5 + 14 rue de Plaisance, 75014 Paris, France
  6 + Everyone is permitted to copy and distribute verbatim or modified
  7 + copies of this license document, and changing it is allowed as long
  8 + as the name is changed.
  9 +
  10 + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
  11 + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
  12 +
  13 + 0. You just DO WHAT THE FUCK YOU WANT TO.
app/views/fucking_time/index.html.haml
... ... @@ -2,13 +2,13 @@
2 2  
3 3 %html
4 4 %head
5   - %title THEFUCKINGTIME: #{format_time @time}
6   - = javascript_include_tag :defaults
  5 + %title THE FUCKING TIME
  6 + = javascript_include_tag :defaults, 'strftime-min'
7 7 = stylesheet_link_tag 'fucking'
8 8  
9 9 %body
10 10 %h2 THE FUCKING TIME
11   - %h1= format_time @time
  11 + %h1#time= format_time @time
12 12 %h2 #{@opts[:time_zone]} (#{@time.zone})
13 13  
14 14 - form_tag({:action => :index}, {:method => :get, :id => "fucking_form"}) do
... ... @@ -17,4 +17,14 @@
17 17 = label_tag :time_format, "Format:"
18 18 = text_field_tag :time_format, @opts[:time_format]
19 19 = submit_tag "UPDATE"
  20 +
  21 + %ul#footer
  22 + - #%li= link_to "/WHOIS"
  23 + - #%li= link_to "/SOURCE"
  24 + - #%li= link_to "/WTFPL", "/WTFPL"
  25 + - #%li= link_to "/BUGS"
  26 +
  27 + = javascript_tag "var tstamp = #{@time.to_i - @time.utc_offset};"
  28 + = javascript_tag "var time_format = '#{@opts[:time_format]}';"
  29 + = javascript_tag "var counter = 0;"
  1 + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
  2 + Version 2, December 2004
  3 +
  4 + Copyright (C) 2004 Sam Hocevar
  5 + 14 rue de Plaisance, 75014 Paris, France
  6 + Everyone is permitted to copy and distribute verbatim or modified
  7 + copies of this license document, and changing it is allowed as long
  8 + as the name is changed.
  9 +
  10 + DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
  11 + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
  12 +
  13 + 0. You just DO WHAT THE FUCK YOU WANT TO.
public/javascripts/application.js
1   -// Place your application-specific JavaScript functions and classes here
2   -// This file is automatically included by javascript_include_tag :defaults
  1 +function update_time() {
  2 + time = new Date((tstamp + (new Date().getTimezoneOffset() * 60) + counter) * 1000);
  3 + $('time').update(time.strftime(time_format));
  4 + counter++;
  5 + setTimeout(function() { update_time() }, 1000);
  6 +}
  7 +
  8 +document.observe('dom:loaded', function() {
  9 + update_time();
  10 +});
public/javascripts/strftime-min.js
  1 +Date.ext={};Date.ext.util={};Date.ext.util.xPad=function(x,pad,r){if(typeof (r)=="undefined"){r=10}for(;parseInt(x,10)<r&&r>1;r/=10){x=pad.toString()+x}return x.toString()};Date.prototype.locale="en-GB";if(document.getElementsByTagName("html")&&document.getElementsByTagName("html")[0].lang){Date.prototype.locale=document.getElementsByTagName("html")[0].lang}Date.ext.locales={};Date.ext.locales.en={a:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],A:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],b:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],B:["January","February","March","April","May","June","July","August","September","October","November","December"],c:"%a %d %b %Y %T %Z",p:["AM","PM"],P:["am","pm"],x:"%d/%m/%y",X:"%T"};Date.ext.locales["en-US"]=Date.ext.locales.en;Date.ext.locales["en-US"].c="%a %d %b %Y %r %Z";Date.ext.locales["en-US"].x="%D";Date.ext.locales["en-US"].X="%r";Date.ext.locales["en-GB"]=Date.ext.locales.en;Date.ext.locales["en-AU"]=Date.ext.locales["en-GB"];Date.ext.formats={a:function(d){return Date.ext.locales[d.locale].a[d.getDay()]},A:function(d){return Date.ext.locales[d.locale].A[d.getDay()]},b:function(d){return Date.ext.locales[d.locale].b[d.getMonth()]},B:function(d){return Date.ext.locales[d.locale].B[d.getMonth()]},c:"toLocaleString",C:function(d){return Date.ext.util.xPad(parseInt(d.getFullYear()/100,10),0)},d:["getDate","0"],e:["getDate"," "],g:function(d){return Date.ext.util.xPad(parseInt(Date.ext.util.G(d)/100,10),0)},G:function(d){var y=d.getFullYear();var V=parseInt(Date.ext.formats.V(d),10);var W=parseInt(Date.ext.formats.W(d),10);if(W>V){y++}else{if(W===0&&V>=52){y--}}return y},H:["getHours","0"],I:function(d){var I=d.getHours()%12;return Date.ext.util.xPad(I===0?12:I,0)},j:function(d){var ms=d-new Date(""+d.getFullYear()+"/1/1 GMT");ms+=d.getTimezoneOffset()*60000;var doy=parseInt(ms/60000/60/24,10)+1;return Date.ext.util.xPad(doy,0,100)},m:function(d){return Date.ext.util.xPad(d.getMonth()+1,0)},M:["getMinutes","0"],p:function(d){return Date.ext.locales[d.locale].p[d.getHours()>=12?1:0]},P:function(d){return Date.ext.locales[d.locale].P[d.getHours()>=12?1:0]},S:["getSeconds","0"],u:function(d){var dow=d.getDay();return dow===0?7:dow},U:function(d){var doy=parseInt(Date.ext.formats.j(d),10);var rdow=6-d.getDay();var woy=parseInt((doy+rdow)/7,10);return Date.ext.util.xPad(woy,0)},V:function(d){var woy=parseInt(Date.ext.formats.W(d),10);var dow1_1=(new Date(""+d.getFullYear()+"/1/1")).getDay();var idow=woy+(dow1_1>4||dow1_1<=1?0:1);if(idow==53&&(new Date(""+d.getFullYear()+"/12/31")).getDay()<4){idow=1}else{if(idow===0){idow=Date.ext.formats.V(new Date(""+(d.getFullYear()-1)+"/12/31"))}}return Date.ext.util.xPad(idow,0)},w:"getDay",W:function(d){var doy=parseInt(Date.ext.formats.j(d),10);var rdow=7-Date.ext.formats.u(d);var woy=parseInt((doy+rdow)/7,10);return Date.ext.util.xPad(woy,0,10)},y:function(d){return Date.ext.util.xPad(d.getFullYear()%100,0)},Y:"getFullYear",z:function(d){var o=d.getTimezoneOffset();var H=Date.ext.util.xPad(parseInt(Math.abs(o/60),10),0);var M=Date.ext.util.xPad(o%60,0);return(o>0?"-":"+")+H+M},Z:function(d){return d.toString().replace(/^.*\(([^)]+)\)$/,"$1")},"%":function(d){return"%"}};Date.ext.aggregates={c:"locale",D:"%m/%d/%y",h:"%b",n:"\n",r:"%I:%M:%S %p",R:"%H:%M",t:"\t",T:"%H:%M:%S",x:"locale",X:"locale"};Date.ext.aggregates.z=Date.ext.formats.z(new Date());Date.ext.aggregates.Z=Date.ext.formats.Z(new Date());Date.ext.unsupported={};Date.prototype.strftime=function(fmt){if(!(this.locale in Date.ext.locales)){if(this.locale.replace(/-[a-zA-Z]+$/,"") in Date.ext.locales){this.locale=this.locale.replace(/-[a-zA-Z]+$/,"")}else{this.locale="en-GB"}}var d=this;while(fmt.match(/%[cDhnrRtTxXzZ]/)){fmt=fmt.replace(/%([cDhnrRtTxXzZ])/g,function(m0,m1){var f=Date.ext.aggregates[m1];return(f=="locale"?Date.ext.locales[d.locale][m1]:f)})}var str=fmt.replace(/%([aAbBCdegGHIjmMpPSuUVwWyY%])/g,function(m0,m1){var f=Date.ext.formats[m1];if(typeof (f)=="string"){return d[f]()}else{if(typeof (f)=="function"){return f.call(d,d)}else{if(typeof (f)=="object"&&typeof (f[0])=="string"){return Date.ext.util.xPad(d[f[0]](),f[1])}else{return m1}}}});d=null;return str};
public/stylesheets/fucking.css
... ... @@ -22,4 +22,16 @@
22 22 input {
23 23 padding: 0px 5px;
24 24 }
  25 +
  26 +
  27 +ul#footer {
  28 + text-align: right;
  29 + position: absolute;
  30 + bottom: 0em;
  31 + right: 1em;
  32 + list-style: none;
  33 +}
  34 +ul#footer li {
  35 + display: inline;
  36 +}