From ae5da671e3b47e3846ced7371722e9b5c6204e75 Mon Sep 17 00:00:00 2001 From: "Davis W. Frank" Date: Sun, 27 Feb 2011 10:35:20 -0800 Subject: [PATCH] wip for frank --- pages/dynamic/_download_item.haml | 2 +- pages/helpers.rb | 15 +++ pages/static/css/960gs/960.css | 1 + pages/static/css/960gs/960_24_col.css | 1 + pages/static/css/960gs/reset.css | 1 + pages/static/css/960gs/text.css | 1 + pages/static/css/pygments.css | 62 +++++++++++ pages/static/css/screen.css | 152 ++++++++++++++++++++++++++ pages/static/images/jasmine_logo.png | Bin 0 -> 4980 bytes pages/static/images/pivotal_logo.gif | Bin 0 -> 2586 bytes 10 files changed, 234 insertions(+), 1 deletion(-) create mode 100644 pages/static/css/960gs/960.css create mode 100644 pages/static/css/960gs/960_24_col.css create mode 100644 pages/static/css/960gs/reset.css create mode 100644 pages/static/css/960gs/text.css create mode 100644 pages/static/css/pygments.css create mode 100644 pages/static/css/screen.css create mode 100644 pages/static/images/jasmine_logo.png create mode 100644 pages/static/images/pivotal_logo.gif diff --git a/pages/dynamic/_download_item.haml b/pages/dynamic/_download_item.haml index 2931879..311e56d 100644 --- a/pages/dynamic/_download_item.haml +++ b/pages/dynamic/_download_item.haml @@ -1,4 +1,4 @@ -%tr +%tr{ :class => rc } %td.link %a{ :href => "/jasmine/downloads/#{filename}"}= filename %td.version= version diff --git a/pages/helpers.rb b/pages/helpers.rb index 03ea2b2..bfab47a 100644 --- a/pages/helpers.rb +++ b/pages/helpers.rb @@ -7,4 +7,19 @@ module FrankHelpers });" end + def downloads + require 'digest/sha1' + + Dir.glob('pages/downloads/*.zip').sort.reverse.collect do |f| + item = {} + item[:filename] = f.sub(/^pages\//, '') + item[:version] = /jasmine-standalone-(.*).zip/.match(f)[1] + item[:rc] = /\.rc/.match(f) ? 'rc' : '' + item[:size] = "#{File.size(f) / 1024}k" + item[:date] = File.mtime(f).strftime("%Y/%m/%d %H:%M:%S %Z") + item[:sha] = Digest::SHA1.hexdigest File.read(f) + item + end + end + end \ No newline at end of file diff --git a/pages/static/css/960gs/960.css b/pages/static/css/960gs/960.css new file mode 100644 index 0000000..bdfa213 --- /dev/null +++ b/pages/static/css/960gs/960.css @@ -0,0 +1 @@ +.container_12,.container_16{margin-left:auto;margin-right:auto;width:960px}.grid_1,.grid_2,.grid_3,.grid_4,.grid_5,.grid_6,.grid_7,.grid_8,.grid_9,.grid_10,.grid_11,.grid_12,.grid_13,.grid_14,.grid_15,.grid_16{display:inline;float:left;position:relative;margin-left:10px;margin-right:10px}.container_12 .grid_3,.container_16 .grid_4{width:220px}.container_12 .grid_6,.container_16 .grid_8{width:460px}.container_12 .grid_9,.container_16 .grid_12{width:700px}.container_12 .grid_12,.container_16 .grid_16{width:940px}.alpha{margin-left:0}.omega{margin-right:0}.container_12 .grid_1{width:60px}.container_12 .grid_2{width:140px}.container_12 .grid_4{width:300px}.container_12 .grid_5{width:380px}.container_12 .grid_7{width:540px}.container_12 .grid_8{width:620px}.container_12 .grid_10{width:780px}.container_12 .grid_11{width:860px}.container_16 .grid_1{width:40px}.container_16 .grid_2{width:100px}.container_16 .grid_3{width:160px}.container_16 .grid_5{width:280px}.container_16 .grid_6{width:340px}.container_16 .grid_7{width:400px}.container_16 .grid_9{width:520px}.container_16 .grid_10{width:580px}.container_16 .grid_11{width:640px}.container_16 .grid_13{width:760px}.container_16 .grid_14{width:820px}.container_16 .grid_15{width:880px}.container_12 .prefix_3,.container_16 .prefix_4{padding-left:240px}.container_12 .prefix_6,.container_16 .prefix_8{padding-left:480px}.container_12 .prefix_9,.container_16 .prefix_12{padding-left:720px}.container_12 .prefix_1{padding-left:80px}.container_12 .prefix_2{padding-left:160px}.container_12 .prefix_4{padding-left:320px}.container_12 .prefix_5{padding-left:400px}.container_12 .prefix_7{padding-left:560px}.container_12 .prefix_8{padding-left:640px}.container_12 .prefix_10{padding-left:800px}.container_12 .prefix_11{padding-left:880px}.container_16 .prefix_1{padding-left:60px}.container_16 .prefix_2{padding-left:120px}.container_16 .prefix_3{padding-left:180px}.container_16 .prefix_5{padding-left:300px}.container_16 .prefix_6{padding-left:360px}.container_16 .prefix_7{padding-left:420px}.container_16 .prefix_9{padding-left:540px}.container_16 .prefix_10{padding-left:600px}.container_16 .prefix_11{padding-left:660px}.container_16 .prefix_13{padding-left:780px}.container_16 .prefix_14{padding-left:840px}.container_16 .prefix_15{padding-left:900px}.container_12 .suffix_3,.container_16 .suffix_4{padding-right:240px}.container_12 .suffix_6,.container_16 .suffix_8{padding-right:480px}.container_12 .suffix_9,.container_16 .suffix_12{padding-right:720px}.container_12 .suffix_1{padding-right:80px}.container_12 .suffix_2{padding-right:160px}.container_12 .suffix_4{padding-right:320px}.container_12 .suffix_5{padding-right:400px}.container_12 .suffix_7{padding-right:560px}.container_12 .suffix_8{padding-right:640px}.container_12 .suffix_10{padding-right:800px}.container_12 .suffix_11{padding-right:880px}.container_16 .suffix_1{padding-right:60px}.container_16 .suffix_2{padding-right:120px}.container_16 .suffix_3{padding-right:180px}.container_16 .suffix_5{padding-right:300px}.container_16 .suffix_6{padding-right:360px}.container_16 .suffix_7{padding-right:420px}.container_16 .suffix_9{padding-right:540px}.container_16 .suffix_10{padding-right:600px}.container_16 .suffix_11{padding-right:660px}.container_16 .suffix_13{padding-right:780px}.container_16 .suffix_14{padding-right:840px}.container_16 .suffix_15{padding-right:900px}.container_12 .push_3,.container_16 .push_4{left:240px}.container_12 .push_6,.container_16 .push_8{left:480px}.container_12 .push_9,.container_16 .push_12{left:720px}.container_12 .push_1{left:80px}.container_12 .push_2{left:160px}.container_12 .push_4{left:320px}.container_12 .push_5{left:400px}.container_12 .push_7{left:560px}.container_12 .push_8{left:640px}.container_12 .push_10{left:800px}.container_12 .push_11{left:880px}.container_16 .push_1{left:60px}.container_16 .push_2{left:120px}.container_16 .push_3{left:180px}.container_16 .push_5{left:300px}.container_16 .push_6{left:360px}.container_16 .push_7{left:420px}.container_16 .push_9{left:540px}.container_16 .push_10{left:600px}.container_16 .push_11{left:660px}.container_16 .push_13{left:780px}.container_16 .push_14{left:840px}.container_16 .push_15{left:900px}.container_12 .pull_3,.container_16 .pull_4{left:-240px}.container_12 .pull_6,.container_16 .pull_8{left:-480px}.container_12 .pull_9,.container_16 .pull_12{left:-720px}.container_12 .pull_1{left:-80px}.container_12 .pull_2{left:-160px}.container_12 .pull_4{left:-320px}.container_12 .pull_5{left:-400px}.container_12 .pull_7{left:-560px}.container_12 .pull_8{left:-640px}.container_12 .pull_10{left:-800px}.container_12 .pull_11{left:-880px}.container_16 .pull_1{left:-60px}.container_16 .pull_2{left:-120px}.container_16 .pull_3{left:-180px}.container_16 .pull_5{left:-300px}.container_16 .pull_6{left:-360px}.container_16 .pull_7{left:-420px}.container_16 .pull_9{left:-540px}.container_16 .pull_10{left:-600px}.container_16 .pull_11{left:-660px}.container_16 .pull_13{left:-780px}.container_16 .pull_14{left:-840px}.container_16 .pull_15{left:-900px}.clear{clear:both;display:block;overflow:hidden;visibility:hidden;width:0;height:0}.clearfix:after{clear:both;content:' ';display:block;font-size:0;line-height:0;visibility:hidden;width:0;height:0}* html .clearfix,*:first-child+html .clearfix{zoom:1} \ No newline at end of file diff --git a/pages/static/css/960gs/960_24_col.css b/pages/static/css/960gs/960_24_col.css new file mode 100644 index 0000000..6d92fa7 --- /dev/null +++ b/pages/static/css/960gs/960_24_col.css @@ -0,0 +1 @@ +.container_24{margin-left:auto;margin-right:auto;width:960px}.grid_1,.grid_2,.grid_3,.grid_4,.grid_5,.grid_6,.grid_7,.grid_8,.grid_9,.grid_10,.grid_11,.grid_12,.grid_13,.grid_14,.grid_15,.grid_16,.grid_17,.grid_18,.grid_19,.grid_20,.grid_21,.grid_22,.grid_23,.grid_24{display:inline;float:left;position:relative;margin-left:5px;margin-right:5px}.alpha{margin-left:0}.omega{margin-right:0}.container_24 .grid_1{width:30px}.container_24 .grid_2{width:70px}.container_24 .grid_3{width:110px}.container_24 .grid_4{width:150px}.container_24 .grid_5{width:190px}.container_24 .grid_6{width:230px}.container_24 .grid_7{width:270px}.container_24 .grid_8{width:310px}.container_24 .grid_9{width:350px}.container_24 .grid_10{width:390px}.container_24 .grid_11{width:430px}.container_24 .grid_12{width:470px}.container_24 .grid_13{width:510px}.container_24 .grid_14{width:550px}.container_24 .grid_15{width:590px}.container_24 .grid_16{width:630px}.container_24 .grid_17{width:670px}.container_24 .grid_18{width:710px}.container_24 .grid_19{width:750px}.container_24 .grid_20{width:790px}.container_24 .grid_21{width:830px}.container_24 .grid_22{width:870px}.container_24 .grid_23{width:910px}.container_24 .grid_24{width:950px}.container_24 .prefix_1{padding-left:40px}.container_24 .prefix_2{padding-left:80px}.container_24 .prefix_3{padding-left:120px}.container_24 .prefix_4{padding-left:160px}.container_24 .prefix_5{padding-left:200px}.container_24 .prefix_6{padding-left:240px}.container_24 .prefix_7{padding-left:280px}.container_24 .prefix_8{padding-left:320px}.container_24 .prefix_9{padding-left:360px}.container_24 .prefix_10{padding-left:400px}.container_24 .prefix_11{padding-left:440px}.container_24 .prefix_12{padding-left:480px}.container_24 .prefix_13{padding-left:520px}.container_24 .prefix_14{padding-left:560px}.container_24 .prefix_15{padding-left:600px}.container_24 .prefix_16{padding-left:640px}.container_24 .prefix_17{padding-left:680px}.container_24 .prefix_18{padding-left:720px}.container_24 .prefix_19{padding-left:760px}.container_24 .prefix_20{padding-left:800px}.container_24 .prefix_21{padding-left:840px}.container_24 .prefix_22{padding-left:880px}.container_24 .prefix_23{padding-left:920px}.container_24 .suffix_1{padding-right:40px}.container_24 .suffix_2{padding-right:80px}.container_24 .suffix_3{padding-right:120px}.container_24 .suffix_4{padding-right:160px}.container_24 .suffix_5{padding-right:200px}.container_24 .suffix_6{padding-right:240px}.container_24 .suffix_7{padding-right:280px}.container_24 .suffix_8{padding-right:320px}.container_24 .suffix_9{padding-right:360px}.container_24 .suffix_10{padding-right:400px}.container_24 .suffix_11{padding-right:440px}.container_24 .suffix_12{padding-right:480px}.container_24 .suffix_13{padding-right:520px}.container_24 .suffix_14{padding-right:560px}.container_24 .suffix_15{padding-right:600px}.container_24 .suffix_16{padding-right:640px}.container_24 .suffix_17{padding-right:680px}.container_24 .suffix_18{padding-right:720px}.container_24 .suffix_19{padding-right:760px}.container_24 .suffix_20{padding-right:800px}.container_24 .suffix_21{padding-right:840px}.container_24 .suffix_22{padding-right:880px}.container_24 .suffix_23{padding-right:920px}.container_24 .push_1{left:40px}.container_24 .push_2{left:80px}.container_24 .push_3{left:120px}.container_24 .push_4{left:160px}.container_24 .push_5{left:200px}.container_24 .push_6{left:240px}.container_24 .push_7{left:280px}.container_24 .push_8{left:320px}.container_24 .push_9{left:360px}.container_24 .push_10{left:400px}.container_24 .push_11{left:440px}.container_24 .push_12{left:480px}.container_24 .push_13{left:520px}.container_24 .push_14{left:560px}.container_24 .push_15{left:600px}.container_24 .push_16{left:640px}.container_24 .push_17{left:680px}.container_24 .push_18{left:720px}.container_24 .push_19{left:760px}.container_24 .push_20{left:800px}.container_24 .push_21{left:840px}.container_24 .push_22{left:880px}.container_24 .push_23{left:920px}.container_24 .pull_1{left:-40px}.container_24 .pull_2{left:-80px}.container_24 .pull_3{left:-120px}.container_24 .pull_4{left:-160px}.container_24 .pull_5{left:-200px}.container_24 .pull_6{left:-240px}.container_24 .pull_7{left:-280px}.container_24 .pull_8{left:-320px}.container_24 .pull_9{left:-360px}.container_24 .pull_10{left:-400px}.container_24 .pull_11{left:-440px}.container_24 .pull_12{left:-480px}.container_24 .pull_13{left:-520px}.container_24 .pull_14{left:-560px}.container_24 .pull_15{left:-600px}.container_24 .pull_16{left:-640px}.container_24 .pull_17{left:-680px}.container_24 .pull_18{left:-720px}.container_24 .pull_19{left:-760px}.container_24 .pull_20{left:-800px}.container_24 .pull_21{left:-840px}.container_24 .pull_22{left:-880px}.container_24 .pull_23{left:-920px}.clear{clear:both;display:block;overflow:hidden;visibility:hidden;width:0;height:0}.clearfix:after{clear:both;content:' ';display:block;font-size:0;line-height:0;visibility:hidden;width:0;height:0}* html .clearfix,*:first-child+html .clearfix{zoom:1} \ No newline at end of file diff --git a/pages/static/css/960gs/reset.css b/pages/static/css/960gs/reset.css new file mode 100644 index 0000000..99a0211 --- /dev/null +++ b/pages/static/css/960gs/reset.css @@ -0,0 +1 @@ +html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}:focus{outline:0}ins{text-decoration:none}del{text-decoration:line-through}table{border-collapse:collapse;border-spacing:0} \ No newline at end of file diff --git a/pages/static/css/960gs/text.css b/pages/static/css/960gs/text.css new file mode 100644 index 0000000..f37d174 --- /dev/null +++ b/pages/static/css/960gs/text.css @@ -0,0 +1 @@ +body{font:13px/1.5 'Helvetica Neue',Arial,'Liberation Sans',FreeSans,sans-serif}a:focus{outline:1px dotted}hr{border:0 #ccc solid;border-top-width:1px;clear:both;height:0}h1{font-size:25px}h2{font-size:23px}h3{font-size:21px}h4{font-size:19px}h5{font-size:17px}h6{font-size:15px}ol{list-style:decimal}ul{list-style:disc}li{margin-left:30px}p,dl,hr,h1,h2,h3,h4,h5,h6,ol,ul,pre,table,address,fieldset{margin-bottom:20px} \ No newline at end of file diff --git a/pages/static/css/pygments.css b/pages/static/css/pygments.css new file mode 100644 index 0000000..e89794f --- /dev/null +++ b/pages/static/css/pygments.css @@ -0,0 +1,62 @@ +code .hll { background-color: #ffffcc } +code { background: #ffffff; } +code .c { color: #808080 } /* Comment */ +code .err { color: #F00000; background-color: #F0A0A0 } /* Error */ +code .k { color: #008000; font-weight: bold } /* Keyword */ +code .o { color: #303030 } /* Operator */ +code .cm { color: #808080 } /* Comment.Multiline */ +code .cp { color: #507090 } /* Comment.Preproc */ +code .c1 { color: #808080 } /* Comment.Single */ +code .cs { color: #cc0000; font-weight: bold } /* Comment.Special */ +code .gd { color: #A00000 } /* Generic.Deleted */ +code .ge { font-style: italic } /* Generic.Emph */ +code .gr { color: #FF0000 } /* Generic.Error */ +code .gh { color: #000080; font-weight: bold } /* Generic.Heading */ +code .gi { color: #00A000 } /* Generic.Inserted */ +code .go { color: #808080 } /* Generic.Output */ +code .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */ +code .gs { font-weight: bold } /* Generic.Strong */ +code .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ +code .gt { color: #0040D0 } /* Generic.Traceback */ +code .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ +code .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ +code .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ +code .kp { color: #003080; font-weight: bold } /* Keyword.Pseudo */ +code .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ +code .kt { color: #303090; font-weight: bold } /* Keyword.Type */ +code .m { color: #6000E0; font-weight: bold } /* Literal.Number */ +code .s { background-color: #fff0f0 } /* Literal.String */ +code .na { color: #0000C0 } /* Name.Attribute */ +code .nb { color: #007020 } /* Name.Builtin */ +code .nc { color: #B00060; font-weight: bold } /* Name.Class */ +code .no { color: #003060; font-weight: bold } /* Name.Constant */ +code .nd { color: #505050; font-weight: bold } /* Name.Decorator */ +code .ni { color: #800000; font-weight: bold } /* Name.Entity */ +code .ne { color: #F00000; font-weight: bold } /* Name.Exception */ +code .nf { color: #0060B0; font-weight: bold } /* Name.Function */ +code .nl { color: #907000; font-weight: bold } /* Name.Label */ +code .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */ +code .nt { color: #007000 } /* Name.Tag */ +code .nv { color: #906030 } /* Name.Variable */ +code .ow { color: #000000; font-weight: bold } /* Operator.Word */ +code .w { color: #bbbbbb } /* Text.Whitespace */ +code .mf { color: #6000E0; font-weight: bold } /* Literal.Number.Float */ +code .mh { color: #005080; font-weight: bold } /* Literal.Number.Hex */ +code .mi { color: #0000D0; font-weight: bold } /* Literal.Number.Integer */ +code .mo { color: #4000E0; font-weight: bold } /* Literal.Number.Oct */ +code .sb { background-color: #fff0f0 } /* Literal.String.Backtick */ +code .sc { color: #0040D0 } /* Literal.String.Char */ +code .sd { color: #D04020 } /* Literal.String.Doc */ +code .s2 { background-color: #fff0f0 } /* Literal.String.Double */ +code .se { color: #606060; font-weight: bold; background-color: #fff0f0 } /* Literal.String.Escape */ +code .sh { background-color: #fff0f0 } /* Literal.String.Heredoc */ +code .si { background-color: #e0e0e0 } /* Literal.String.Interpol */ +code .sx { color: #D02000; background-color: #fff0f0 } /* Literal.String.Other */ +code .sr { color: #000000; background-color: #fff0ff } /* Literal.String.Regex */ +code .s1 { background-color: #fff0f0 } /* Literal.String.Single */ +code .ss { color: #A06000 } /* Literal.String.Symbol */ +code .bp { color: #007020 } /* Name.Builtin.Pseudo */ +code .vc { color: #306090 } /* Name.Variable.Class */ +code .vg { color: #d07000; font-weight: bold } /* Name.Variable.Global */ +code .vi { color: #3030B0 } /* Name.Variable.Instance */ +code .il { color: #0000D0; font-weight: bold } /* Literal.Number.Integer.Long */ diff --git a/pages/static/css/screen.css b/pages/static/css/screen.css new file mode 100644 index 0000000..5a08a87 --- /dev/null +++ b/pages/static/css/screen.css @@ -0,0 +1,152 @@ +@import url("960gs/960.css"); + +/* http://www.levien.com/type/myfonts/inconsolata.html */ +@font-face +{ + font-family: "inconsolata"; + src: url("../fonts/inconsolata.otf"); +} + +@font-face +{ + font-family: "droid sans"; + src: url("../fonts/droidsans.ttf"); +} +@font-face +{ + font-family: "droid sans bold"; + src: url("../fonts/droidsans-bold.ttf"); +} +body +{ + color:#333; + font-family: helvetica, arial, sans-serif; + font-size:87.5%; /* 16px * 0.875 = 14px */ + line-height: 137.5%; /* 16px * 1.375 = 22px */ +} +a +{ + color: #55862e; + text-decoration: none; + border-bottom: solid 1px #3030a2; +} +a:hover +{ + text-decoration: none; + border-bottom: 0; +} + +a:visited{ + color: #777; + border-bottom: solid 1px #ccc; +} + +h1, h2, h3, h4, h5, h6 +{ + color: #000; +} +h1, h2, h3 +{ + font-family: "droid sans", helvetica, arial, sans-serif; +} + +h4, h5, h6 +{ + font-family: "droid sans bold", helvetica, arial, sans-serif; +} + +h1 +{ + font-size: 150.0%; +} +h2 +{ + font-size: 137.5%; +} +h3 +{ + font-size: 125.0%; +} +h4 +{ + font-size: 112.5%; +} +h5, h6{ + font-size: 100%; +} + +pre,code +{ + font-family: "inconsolata", monospace; + /* font-size: 1.142em; */ +} + +pre { + border-left: 2px solid #55862e; + padding-left: 1em; +} + +.noul +{ + border-bottom: 0; + text-decoration: none; +} + +img { + border: 0; +} + +img.screenshot { + padding-left: 35px; + padding-right: 10px; +} + +header, footer +{ + display: block; + padding: .1em 0; +} + + +header h1{ + font-size:1.142em; +} + +header h1 a, header h1 a:visited +{ + color:#55862e; + text-decoration: none; + border-bottom: none; +} + +footer{ + margin-top:1em; + border-top: solid 3px #ccc; +} + +footer img { + vertical-align: middle; + height: 59px; +} +.twtr-widget a, +.twtr-widget a:visited, +footer a, +footer a:visited { + border-bottom: none; +} + +ul.posts +{ + list-style-type: none; +} + +nav { + margin-bottom: 25px; +} + +table { border-collapse: collapse; width: 100% } +table th, table td { border: 1px solid #aaa; padding: .2em; } +table td { white-space:nowrap; } +#standalone-downloads td { font-family: monospace; } +#standalone-downloads td.sha { font-size: 0.8em; } +#standalone-downloads .rc td { background-color: #ddd; } diff --git a/pages/static/images/jasmine_logo.png b/pages/static/images/jasmine_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9ffc5a034f04a11cb1eafc3e5fb6556932a7d8ac GIT binary patch literal 4980 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 wkXu8HFQ7O=WL+{~?(v8s#K0|5-ib%7 literal 0 HcmV?d00001