From d080be43f385c060c193cb56a630f8af236f3691 Mon Sep 17 00:00:00 2001 From: imsky Date: Sat, 25 Jun 2011 02:35:49 -0400 Subject: [PATCH 01/43] add comparison image --- comparison.png | Bin 0 -> 41659 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 comparison.png diff --git a/comparison.png b/comparison.png new file mode 100644 index 0000000000000000000000000000000000000000..46376adce331f5c8b96530b6cae482d3da5ac0fe GIT binary patch literal 41659 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 XH1qu4Ran>jd$KADn(|e$uipI+EIAJk literal 0 HcmV?d00001 From 5981c04448d55a06ae5e8119194b810f7a91a0eb Mon Sep 17 00:00:00 2001 From: imsky Date: Sat, 25 Jun 2011 02:37:39 -0400 Subject: [PATCH 02/43] change index.html --- index.html | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/index.html b/index.html index 4e779ec..81ddcd7 100644 --- a/index.html +++ b/index.html @@ -46,7 +46,10 @@

cssFx by imsky

- Adds support for browser-specific CSS3 properties + cssFx is a very easy-to-use JavaScript polyfill that adds forward-compatibility for CSS3 property syntax to browser versions that used vendor-specific syntax. What that means is you can stop adding -moz-border-radius and -webkit-box-shadow to your CSS and just write border-radius and box-shadow, keeping your stylesheets clean and your download size low. + + Here's a demonstration: +

Dependencies

@@ -54,9 +57,12 @@

Dependencies

License

BSD

Authors

-

imsky

+

imsky +
+

Contact

-

Ivan M (ivan@imsky.org)

+

Ivan M (ivan@imsky.org) +

Download

@@ -76,6 +82,6 @@

Download

- + From b892d40498354ec8521603108279297338d0fbb5 Mon Sep 17 00:00:00 2001 From: imsky Date: Sat, 25 Jun 2011 02:42:07 -0400 Subject: [PATCH 03/43] css changes --- index.html | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/index.html b/index.html index 81ddcd7..881a938 100644 --- a/index.html +++ b/index.html @@ -8,7 +8,7 @@ +small { + text-align:center; + margin-top:10px; + opacity:0.8; + display:block +} +small a { + color: #fff +} + - - Fork me on GitHub - -
- -
- - - - -
- -

cssFx - by imsky

- -
- cssFx is a very easy-to-use JavaScript polyfill that adds forward-compatibility for CSS3 property syntax to browser versions that used vendor-specific syntax. What that means is you can stop adding -moz-border-radius and -webkit-box-shadow to your CSS and just write border-radius and box-shadow, keeping your stylesheets clean and your download size low. - -

Here's a demonstration:

-

- -

-
- -

License

-

BSD

-

Authors

-

Ivan Malopinsky

- - -

Download

-

- You can download this project in either - zip or - tar formats. -

-

You can also clone the project with Git - by running: -

$ git clone git://github.com/imsky/cssFx
-

- - - -
- - +Fork me on GitHub +
+

cssFx

+

It's so futuristic, baby!

+

+ cssFx is a standalone polyfill that adds all the vendor-specific CSS3 properties you normally have to add for older browsers. This saves you tons of time, maintenance, and bandwidth! Check it out: +

+
+
+

CSS rules

+ #cssfx {
+ border-top-left-radius:20px;
+ border-bottom-right-radius:20px;
+ box-shadow:0px 0px 15px #407fab;
+ background-clip:padding-box
+ }
+ #example {
+ display:box;
+ box-pack:center
+ }
+
+
+ → +
+
+

cssFx generated rules

+ #cssfx {
+ -moz-border-radius-topleft:20px;
+ -webkit-border-top-left-radius:20px;
+ -moz-border-radius-bottomright:20px;
+ -webkit-border-bottom-right-radius:20px;
+ -moz-box-shadow:0px 0px 15px #407fab;
+ -webkit-box-shadow:0px 0px 15px #407fab;
+ -webkit-background-clip:padding-box;
+ -moz-background-clip:padding
+ }
+ #example {
+ display:-moz-box;
+ display:-webkit-box;
+ display:-ms-box;
+ -moz-box-pack:center;
+ -webkit-box-pack:center
+ }
+
+
+

What features are supported?

+

+ Box shadows, border radius, multiple columns, transforms, transitions, flexible box, gradients, and a ton of other useful things (like opacity, ellipsis, and inline-block). +

+

Which browsers are supported?

+

+ Firefox 3+, Chrome 1+, Internet Explorer 6+, Opera 9+. +

+

How do I use it?

+

+ Include the JS file, and give external stylesheets the "cssfx" class: +

+ <script src="cssfx.min.js"></script>
+ <link rel="effects.css" class="cssfx"> + + © 2011 Ivan Malopinsky +
+ + diff --git a/showcase.png b/showcase.png deleted file mode 100644 index e725dee030ceb7cf2dc0854b5ed67cccdd66a762..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50424 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

=?Jj@h3u^j~bY1C5O|9jrdiZ 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 From 6a3dec0cfe1beef77b1a8fae030bbacab104896d Mon Sep 17 00:00:00 2001 From: Ivan Malopinsky Date: Sat, 1 Oct 2011 18:16:59 -0400 Subject: [PATCH 07/43] add missing line --- index.html | 1 + 1 file changed, 1 insertion(+) diff --git a/index.html b/index.html index 4f09e9d..0eb9c06 100644 --- a/index.html +++ b/index.html @@ -155,6 +155,7 @@

cssFx generated rules

display:-ms-box;
-moz-box-pack:center;
-webkit-box-pack:center
+ -ms-box-pack:center
} From b198fd135a070dd4c8477bf5771c224d643abb8b Mon Sep 17 00:00:00 2001 From: Ivan Malopinsky Date: Sat, 1 Oct 2011 19:00:23 -0400 Subject: [PATCH 08/43] add .js --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 0eb9c06..70d622a 100644 --- a/index.html +++ b/index.html @@ -5,7 +5,7 @@ --> - cssFx - CSS3 property polyfill - It's So Futuristic, Baby! + cssFx.js - CSS3 property polyfill - It's So Futuristic, Baby! + Fork me on GitHub From a6b9d64662de91d1b67da0d99f60fc5241af1d9a Mon Sep 17 00:00:00 2001 From: Ivan Malopinsky Date: Sun, 2 Oct 2011 17:39:21 -0400 Subject: [PATCH 18/43] adjust page design, analytics --- cssfx.css | 38 ++++++++++++++++++-------------- cssfx.min.js | 2 +- index.html | 62 ++++++++++++++++++++++++++++------------------------ 3 files changed, 57 insertions(+), 45 deletions(-) diff --git a/cssfx.css b/cssfx.css index b3544de..c72f6d6 100644 --- a/cssfx.css +++ b/cssfx.css @@ -1,14 +1,8 @@ #cssfx { margin:0 auto; - width:700px; + width:720px; padding:20px } -#cssfx { - border-top-left-radius:20px; - border-bottom-right-radius:20px; - box-shadow:0px 0px 15px #407fab; - background-clip:padding-box -} h1 { font-size:3em; margin:0; @@ -29,21 +23,34 @@ h2,h2:hover { transition:all 0.5s ease-out } h3 { - text-shadow:0px 1px 0px #09121e + text-shadow:0px 1px 0px #09121e; + margin-top:2em; + margin-bottom:0; +} +#example h3 { + margin-bottom:0.5em } p { line-height:1.4em; - margin-bottom:2em + margin-bottom:1em; + margin-top:0.5em +} +em { + text-decoration:underline } #desc { padding-top:20px; font-size:1.2em } #example { + box-shadow:0px 0px 15px #407fab; + border-radius:10px; display:box; box-pack:center; box-align:center; - width:100% + width:100%; + padding:20px 0; + margin:30px 0 } #example div { white-space:normal; @@ -60,9 +67,8 @@ p { box-pack:center; width:100%; padding:30px 0; - border:solid 1px #03416a; - border-width:1px 0; - margin-top:30px + border-top:solid 1px #042841; + margin:20px 0 } #download { display:block; @@ -77,9 +83,9 @@ p { color:#fff; text-shadow:0px 0px 10px #407fab } - -#download, #download:hover {transition:all 0.2s ease-out} - +#download,#download:hover { + transition:all 0.2s ease-out +} small { text-align:center; margin-top:10px; diff --git a/cssfx.min.js b/cssfx.min.js index fb59f1a..b08c94b 100644 --- a/cssfx.min.js +++ b/cssfx.min.js @@ -1 +1 @@ -(function(){var a=false;!function(m,a){function l(a){c=1;while(a=b.shift())a()}var b=[],d,e,f=false,g=a.documentElement,h=g.doScroll,i="DOMContentLoaded",j="addEventListener",k="onreadystatechange",c=/^loade|c/.test(a.readyState);a[j]&&a[j](i,e=function(){a.removeEventListener(i,e,f),l()},f),h&&a.attachEvent(k,d=function(){/^c/.test(a.readyState)&&(a.detachEvent(k,d),l())}),m.domReady=h?function(a){self!=top?c?a():b.push(a):function(){try{g.doScroll("left")}catch(b){return setTimeout(function(){domReady(a)},50)}a()}()}:function(a){c?a():b.push(a)}}(this,document);function d(b){if(AJAX=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP")){AJAX.open("GET",b,a);AJAX.send(null);return AJAX.responseText}else return a}function b(a){return a.replace(/\n/gm,"").replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function c(a){return a.replace(/\/\*([\s\S]*?)\*\//gim,"")}domReady(function(){var N="background",k="background-image",M="background-clip",L="transition",K="transform",J="text-overflow",I="column-rule-width",H="column-rule-style",G="column-rule-color",F="column-rule",E="column-gap",D="column-count",C="box-pack",B="box-orient",A="box-ordinal-group",z="box-lines",y="box-flex-group",x="box-flex",w="box-direction",v="box-align",u="border-top-right-radius",t="border-top-left-radius",s="border-bottom-right-radius",r="border-bottom-left-radius",j="background-size",q="box-shadow",p="border-radius",o=[p,q,j,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,"display","opacity",J,K,L,M,j,k,N],e=["-moz-","-webkit-","-o-","-ms-"],P=/([\s\S]*?)\{([\s\S]*?)\}/gim,l=document.getElementsByTagName("style"),g=document.getElementsByTagName("link"),i=[];for(var f in g)if(typeof g[f]==="object"&&g[f].className==="cssfx")if(g[f].styleSheet)i.push(g[f].styleSheet.cssText);else i.push(d(g[f].href));for(var f in l)typeof l[f]==="object"&&i.push(l[f].innerHTML);for(var f in i){var h=document.createElement("style");h.setAttribute("type","text/css");for(var S=i[f],Q=[],T=0,V=S.match(P).length;T0&&m.push(d.join(";"))}return m.length>0?P+"{"+m.join(";")+"}":a}})})(); +(function(){var a=false;!function(m,a){function l(a){c=1;while(a=b.shift())a()}var b=[],d,e,f=false,g=a.documentElement,h=g.doScroll,i="DOMContentLoaded",j="addEventListener",k="onreadystatechange",c=/^loade|c/.test(a.readyState);a[j]&&a[j](i,e=function(){a.removeEventListener(i,e,f),l()},f),h&&a.attachEvent(k,d=function(){/^c/.test(a.readyState)&&(a.detachEvent(k,d),l())}),m.domReady=h?function(a){self!=top?c?a():b.push(a):function(){try{g.doScroll("left")}catch(b){return setTimeout(function(){domReady(a)},50)}a()}()}:function(a){c?a():b.push(a)}}(this,document);function d(b){if(AJAX=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP")){AJAX.open("GET",b,a);AJAX.send(null);return AJAX.responseText}else return a}function b(a){return a.replace(/\n/gm,"").replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function c(a){return a.replace(/\/\*([\s\S]*?)\*\//gim,"")}domReady(function(){var N="background",k="background-image",M="background-clip",L="transition",K="transform",J="text-overflow",I="column-rule-width",H="column-rule-style",G="column-rule-color",F="column-rule",E="column-gap",D="column-count",C="box-pack",B="box-orient",A="box-ordinal-group",z="box-lines",y="box-flex-group",x="box-flex",w="box-direction",v="box-align",u="border-top-right-radius",t="border-top-left-radius",s="border-bottom-right-radius",r="border-bottom-left-radius",j="background-size",q="box-shadow",p="border-radius",o=[p,q,j,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,"display","opacity",J,K,L,M,j,k,N],e=["-moz-","-webkit-","-o-","-ms-"],P=/([\s\S]*?)\{([\s\S]*?)\}/gim,l=document.getElementsByTagName("style"),g=document.getElementsByTagName("link"),i=[];for(var f in g)if(typeof g[f]==="object"&&g[f].className==="cssfx")if(g[f].styleSheet)i.push(g[f].styleSheet.cssText);else i.push(d(g[f].href));for(var f in l)typeof l[f]==="object"&&i.push(l[f].innerHTML);for(var f in i){var h=document.createElement("style");h.setAttribute("type","text/css");for(var S=i[f],Q=[],T=0,V=S.match(P).length;T0&&n.push(d.join(";"))}return n.length>0?Q+"{"+n.join(";")+"}":a}})})(); diff --git a/index.html b/index.html index 646d3f8..17105a2 100644 --- a/index.html +++ b/index.html @@ -35,40 +35,34 @@

It's so futuristic, baby!

CSS rules

- #cssfx {
- border-top-left-radius:20px;
- border-bottom-right-radius:20px;
- box-shadow:0px 0px 15px #407fab;
- background-clip:padding-box
- }
- #example {
- display:box;
- box-pack:center
- }
+ #example {
+ box-shadow:0px 0px 15px #407fab;
+ border-radius:10px;
+ display:box;
+ box-pack:center;
+ box-align:center
+ } +

cssFx generated rules

- #cssfx {
- -moz-border-radius-topleft:20px;
- -webkit-border-top-left-radius:20px;
- -moz-border-radius-bottomright:20px;
- -webkit-border-bottom-right-radius:20px;
- -moz-box-shadow:0px 0px 15px #407fab;
- -webkit-box-shadow:0px 0px 15px #407fab;
- -webkit-background-clip:padding-box;
- -moz-background-clip:padding
- }
- #example {
- display:-moz-box;
- display:-webkit-box;
- display:-ms-box;
- -moz-box-pack:center;
- -webkit-box-pack:center;
- -ms-box-pack:center
- }
+ #example {
+ -moz-box-shadow:0px 0px 15px #407fab;
+ -webkit-box-shadow:0px 0px 15px #407fab;
+-moz-border-radius:10px;
+-webkit-border-radius:10px;
+display:-moz-box;
+display:-webkit-box;
+display:-ms-box;
+-moz-box-pack:center;
+-webkit-box-pack:center;
+-ms-box-pack:center;
+-moz-box-align:center;
+-webkit-box-align:center;
+-ms-box-align:center
}

What features are supported?

@@ -92,5 +86,17 @@

How do I use it?

+ + + From bba2b8ff7487dd2659a85f637df3d0b8bb92f96a Mon Sep 17 00:00:00 2001 From: Ivan Malopinsky Date: Sun, 2 Oct 2011 17:41:46 -0400 Subject: [PATCH 19/43] minor change to css --- cssfx.css | 1 + 1 file changed, 1 insertion(+) diff --git a/cssfx.css b/cssfx.css index c72f6d6..55c5f9b 100644 --- a/cssfx.css +++ b/cssfx.css @@ -28,6 +28,7 @@ h3 { margin-bottom:0; } #example h3 { + margin-top:0; margin-bottom:0.5em } p { From 1a2a7b9b55b85086b44dcd34ceb59c60a913ca4f Mon Sep 17 00:00:00 2001 From: Ivan Malopinsky Date: Sun, 2 Oct 2011 21:54:00 -0400 Subject: [PATCH 20/43] update page --- cssfx.min.js | 2 +- index.html | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cssfx.min.js b/cssfx.min.js index b08c94b..516f502 100644 --- a/cssfx.min.js +++ b/cssfx.min.js @@ -1 +1 @@ -(function(){var a=false;!function(m,a){function l(a){c=1;while(a=b.shift())a()}var b=[],d,e,f=false,g=a.documentElement,h=g.doScroll,i="DOMContentLoaded",j="addEventListener",k="onreadystatechange",c=/^loade|c/.test(a.readyState);a[j]&&a[j](i,e=function(){a.removeEventListener(i,e,f),l()},f),h&&a.attachEvent(k,d=function(){/^c/.test(a.readyState)&&(a.detachEvent(k,d),l())}),m.domReady=h?function(a){self!=top?c?a():b.push(a):function(){try{g.doScroll("left")}catch(b){return setTimeout(function(){domReady(a)},50)}a()}()}:function(a){c?a():b.push(a)}}(this,document);function d(b){if(AJAX=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP")){AJAX.open("GET",b,a);AJAX.send(null);return AJAX.responseText}else return a}function b(a){return a.replace(/\n/gm,"").replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function c(a){return a.replace(/\/\*([\s\S]*?)\*\//gim,"")}domReady(function(){var N="background",k="background-image",M="background-clip",L="transition",K="transform",J="text-overflow",I="column-rule-width",H="column-rule-style",G="column-rule-color",F="column-rule",E="column-gap",D="column-count",C="box-pack",B="box-orient",A="box-ordinal-group",z="box-lines",y="box-flex-group",x="box-flex",w="box-direction",v="box-align",u="border-top-right-radius",t="border-top-left-radius",s="border-bottom-right-radius",r="border-bottom-left-radius",j="background-size",q="box-shadow",p="border-radius",o=[p,q,j,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,"display","opacity",J,K,L,M,j,k,N],e=["-moz-","-webkit-","-o-","-ms-"],P=/([\s\S]*?)\{([\s\S]*?)\}/gim,l=document.getElementsByTagName("style"),g=document.getElementsByTagName("link"),i=[];for(var f in g)if(typeof g[f]==="object"&&g[f].className==="cssfx")if(g[f].styleSheet)i.push(g[f].styleSheet.cssText);else i.push(d(g[f].href));for(var f in l)typeof l[f]==="object"&&i.push(l[f].innerHTML);for(var f in i){var h=document.createElement("style");h.setAttribute("type","text/css");for(var S=i[f],Q=[],T=0,V=S.match(P).length;T0&&n.push(d.join(";"))}return n.length>0?Q+"{"+n.join(";")+"}":a}})})(); +(function(){var a=false;!function(m,a){function l(a){c=1;while(a=b.shift())a()}var b=[],d,e,f=false,g=a.documentElement,h=g.doScroll,i="DOMContentLoaded",j="addEventListener",k="onreadystatechange",c=/^loade|c/.test(a.readyState);a[j]&&a[j](i,e=function(){a.removeEventListener(i,e,f),l()},f),h&&a.attachEvent(k,d=function(){/^c/.test(a.readyState)&&(a.detachEvent(k,d),l())}),m.domReady=h?function(a){self!=top?c?a():b.push(a):function(){try{g.doScroll("left")}catch(b){return setTimeout(function(){domReady(a)},50)}a()}()}:function(a){c?a():b.push(a)}}(this,document);function d(b){if(AJAX=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP")){AJAX.open("GET",b,a);AJAX.send(null);return AJAX.responseText}else return a}function b(a){return a.replace(/\n/gm,"").replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function c(a){return a.replace(/\/\*([\s\S]*?)\*\//gim,"")}domReady(function(){var N="background",l="background-image",M="background-clip",L="transition",K="transform",J="text-overflow",I="column-rule-width",H="column-rule-style",G="column-rule-color",F="column-rule",E="column-gap",D="column-count",C="box-pack",B="box-orient",A="box-ordinal-group",z="box-lines",y="box-flex-group",x="box-flex",w="box-direction",k="box-align",v="border-top-right-radius",u="border-top-left-radius",t="border-bottom-right-radius",s="border-bottom-left-radius",j="background-size",r="box-shadow",q="border-radius",p=[q,r,j,s,t,u,v,k,w,x,y,z,A,B,C,D,E,F,G,H,I,"display","opacity",J,K,L,M,j,l,N],e=["-moz-","-webkit-","-o-","-ms-"],P=/([\s\S]*?)\{([\s\S]*?)\}/gim,m=document.getElementsByTagName("style"),i=document.getElementsByTagName("link"),h=[];for(var f in i)typeof i[f]==="object"&&i[f].className==="cssfx"&&h.push(d(i[f].href));for(var f in m)typeof m[f]==="object"&&h.push(m[f].innerHTML);for(var f in h){var g=document.createElement("style");g.setAttribute("type","text/css");for(var S=h[f],Q=[],T=0,V=S.match(P).length;T0&&o.push(c.join(";"))}return o.length>0?Q+"{"+o.join(";")+"}":a}})})(); diff --git a/index.html b/index.html index 17105a2..2df2056 100644 --- a/index.html +++ b/index.html @@ -62,7 +62,7 @@

cssFx generated rules

-ms-box-pack:center;
-moz-box-align:center;
-webkit-box-align:center;
--ms-box-align:center
} +-ms-box-align:middle
}

What features are supported?

@@ -80,11 +80,11 @@

How do I use it?

<script src="cssfx.min.js"></script>
<link rel="stylesheet" href="effects.css" class="cssfx"> © 2011 Ivan Malopinsky - + From 4bb508a3931282d6438d022b0245acdfaf6f6a5d Mon Sep 17 00:00:00 2001 From: Ivan Malopinsky Date: Sun, 2 Oct 2011 23:11:00 -0400 Subject: [PATCH 22/43] =?UTF-8?q?tidy=20up=20the=20layout=20for=20non-box-?= =?UTF-8?q?flexing=20browsers,=20like=20opera=20=E0=B2=A0=5F=E0=B2=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cssfx.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cssfx.css b/cssfx.css index 5c56a09..898929e 100644 --- a/cssfx.css +++ b/cssfx.css @@ -63,8 +63,8 @@ em { text-shadow:0px 0px 5px #407fab } #lead {display:box;box-pack:left;box-align:center} -#download-well {width:300px;margin-left:50px} -#desc {box-flex:1} +#download-well {width:300px;display:box;box-pack:center} +#desc {box-flex:1;margin-right:50px} #download { display:block; From cb98c2e511cb5458725e1b62bc729821af1a0960 Mon Sep 17 00:00:00 2001 From: Ivan Malopinsky Date: Sat, 8 Oct 2011 16:49:18 -0400 Subject: [PATCH 23/43] general update --- index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index 6825273..8fd23bb 100644 --- a/index.html +++ b/index.html @@ -34,7 +34,7 @@

It's so futuristic, baby!

cssFx is a standalone polyfill that inserts the vendor-specific CSS3 properties necessary for old and new browsers. This saves you tons of time, maintenance, and bandwidth! Check it out:

@@ -72,7 +72,7 @@

cssFx generated rules

What features are supported?

- Box shadows, border radius, multiple columns, transforms, transitions, flexible box, gradients, and a ton of other useful things (like opacity, ellipsis, and inline-block). + Box shadows, border radius, multiple columns, border image, RGBA, transforms, transitions, flexible box, gradients, and a ton of other useful things (like opacity, ellipsis, and inline-block).

Which browsers are supported?

From 3972cf74fddd6a904a14ac1b11449e7d3416f928 Mon Sep 17 00:00:00 2001 From: imsky Date: Tue, 1 Nov 2011 23:35:21 -0400 Subject: [PATCH 24/43] dynamic prefix generation, in page --- cssfx.css | 26 ++++++++----------- cssfx.min.js | 2 +- index.html | 71 ++++++++++++++++++++++++++++------------------------ 3 files changed, 50 insertions(+), 49 deletions(-) diff --git a/cssfx.css b/cssfx.css index 898929e..00b8426 100644 --- a/cssfx.css +++ b/cssfx.css @@ -44,24 +44,20 @@ em { font-size:1.2em } #example { - box-shadow:0px 0px 15px #407fab; - border-radius:10px; - display:box; - box-pack:center; - box-align:center; width:100%; padding:20px 0; - margin:30px 0 -} -#example div { - display:block -} -#example #arrow { - width:100px; - text-align:center; - font-size:3em; - text-shadow:0px 0px 5px #407fab + margin:30px 0; + overflow:hidden } + +#example-to, #example-from {float:left;width:45%} +#example-from, #example-to {margin-left:3%} +#example textarea {width:98%;min-width:98%;max-width:98%;min-height:200px;height:200px;background:transparent;color:#fff;font-family:Envy Code R, monospace;font-size:14px;border:solid 1px #003C62;border-radius:4px;padding:5px;box-shadow:inset 0px 2px 8px #09121e} +#example textarea:focus {box-shadow:0px 0px 8px #407fab} +#generate {margin:3%;width:94%;margin-bottom:0;padding:10px;font-size:2em;font-weight:bold;font-family:sans-serif;border-radius:8px;border:0;background:0; text-shadow:0px 0px 20px #407fab;color:#fff; box-shadow:0px 0px 10px #407fab;} +#generate:hover {box-shadow:0px 0px 13px #47b6ff;transform:scale(1.02)} +#generate, #generate:hover {transition:all 0.2s ease-out} + #lead {display:box;box-pack:left;box-align:center} #download-well {width:300px;display:box;box-pack:center} #desc {box-flex:1;margin-right:50px} diff --git a/cssfx.min.js b/cssfx.min.js index 516f502..0e19fa1 100644 --- a/cssfx.min.js +++ b/cssfx.min.js @@ -1 +1 @@ -(function(){var a=false;!function(m,a){function l(a){c=1;while(a=b.shift())a()}var b=[],d,e,f=false,g=a.documentElement,h=g.doScroll,i="DOMContentLoaded",j="addEventListener",k="onreadystatechange",c=/^loade|c/.test(a.readyState);a[j]&&a[j](i,e=function(){a.removeEventListener(i,e,f),l()},f),h&&a.attachEvent(k,d=function(){/^c/.test(a.readyState)&&(a.detachEvent(k,d),l())}),m.domReady=h?function(a){self!=top?c?a():b.push(a):function(){try{g.doScroll("left")}catch(b){return setTimeout(function(){domReady(a)},50)}a()}()}:function(a){c?a():b.push(a)}}(this,document);function d(b){if(AJAX=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP")){AJAX.open("GET",b,a);AJAX.send(null);return AJAX.responseText}else return a}function b(a){return a.replace(/\n/gm,"").replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function c(a){return a.replace(/\/\*([\s\S]*?)\*\//gim,"")}domReady(function(){var N="background",l="background-image",M="background-clip",L="transition",K="transform",J="text-overflow",I="column-rule-width",H="column-rule-style",G="column-rule-color",F="column-rule",E="column-gap",D="column-count",C="box-pack",B="box-orient",A="box-ordinal-group",z="box-lines",y="box-flex-group",x="box-flex",w="box-direction",k="box-align",v="border-top-right-radius",u="border-top-left-radius",t="border-bottom-right-radius",s="border-bottom-left-radius",j="background-size",r="box-shadow",q="border-radius",p=[q,r,j,s,t,u,v,k,w,x,y,z,A,B,C,D,E,F,G,H,I,"display","opacity",J,K,L,M,j,l,N],e=["-moz-","-webkit-","-o-","-ms-"],P=/([\s\S]*?)\{([\s\S]*?)\}/gim,m=document.getElementsByTagName("style"),i=document.getElementsByTagName("link"),h=[];for(var f in i)typeof i[f]==="object"&&i[f].className==="cssfx"&&h.push(d(i[f].href));for(var f in m)typeof m[f]==="object"&&h.push(m[f].innerHTML);for(var f in h){var g=document.createElement("style");g.setAttribute("type","text/css");for(var S=h[f],Q=[],T=0,V=S.match(P).length;T0&&o.push(c.join(";"))}return o.length>0?Q+"{"+o.join(";")+"}":a}})})(); +var cssFx=cssFx||{};(function(b){var e="string",o="background",d="background-image",n="background-clip",m="text-overflow",l="border-top-right-radius",k="border-top-left-radius",j="border-bottom-right-radius",i="border-bottom-left-radius",h="box-align";!function(m,a){function l(a){c=1;while(a=b.shift())a()}var b=[],d,e,f=false,g=a.documentElement,h=g.doScroll,i="DOMContentLoaded",j="addEventListener",k="onreadystatechange",c=/^loade|c/.test(a.readyState);a[j]&&a[j](i,e=function(){a.removeEventListener(i,e,f),l()},f),h&&a.attachEvent(k,d=function(){/^c/.test(a.readyState)&&(a.detachEvent(k,d),l())}),m.domReady=h?function(a){self!=top?c?a():b.push(a):function(){try{g.doScroll("left")}catch(b){return setTimeout(function(){domReady(a)},50)}a()}()}:function(a){c?a():b.push(a)}}(this,document);function t(a){if(AJAX=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP")){AJAX.open("GET",a,false);AJAX.send(null);return AJAX.responseText}else return false}function c(a){return a.replace(/\n/gm,"").replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function f(a){return a.replace(/\/\*([\s\S]*?)\*\//gim,"")}function s(a,b,c){return((256+a<<8|b)<<8|c).toString(16).slice(1)}if(!Array.indexOf)Array.prototype.indexOf=function(c,b){for(var a=b||0;a0)for(var d=0;d0&&n.push(k.join("\n"))}return n};b.insertCSS=function(b){for(var c in b)if(typeof b[c]===e){var a=document.createElement("style");a.setAttribute("type","text/css");if(a.styleSheet)a.styleSheet.cssText=b[c];else a.textContent=b[c];document.getElementsByTagName("head")[0].appendChild(a)}};b.processElement=function(E,b){var v="display:",t=":",w=b.split(";"),z=[];for(var A in w)if(typeof w[A]===e&&w[A].indexOf(t)!==-1){var b=w[A].split(t);b[0]=c(b[0]);b[1]=c(b[1]);var f=[],g=b.join(t);if(r.indexOf(b[0])!==-1){f.push(a[0]+g);f.push(a[1]+g)}else if(q.indexOf(b[0])!==-1){f.push(a[0]+g);f.push(a[1]+g);if(b[0]===h)f.push(a[3]+b[0]+":middle");else f.push(a[3]+g)}else if(p.indexOf(b[0])!==-1){f.push(a[0]+g);f.push(a[1]+g);f.push(a[2]+g);f.push(a[3]+g)}else switch(b[0]){case k:case l:case i:case j:var D=b[0].split("-");f.push(a[0]+"border-radius-"+D[1]+D[2]+t+b[1]);f.push(a[1]+g);break;case"display":if(b[1]==="box"){f.push(v+a[0]+b[1]);f.push(v+a[1]+b[1]);f.push(v+a[3]+b[1])}else if(b[1]==="inline-block"){f.push(v+a[0]+"inline-stack");f.push("zoom:1;*display:inline")}break;case m:b[1]==="ellipsis"&&f.push(a[2]+g);break;case"opacity":f.push("filter: alpha(opacity="+parseInt(parseFloat(b[1])*100)+")");f.push(a[0]+g);f.push(a[1]+g);break;case n:if(b[1]==="padding-box"){f.push(a[1]+g);f.push(a[0]+b[0]+":padding")}break;case d:case"background-color":case o:var y="linear-gradient";if(b[1].indexOf(y)!==-1){var B=b[1].substr(y.length);if(b[0]===d)B=b[1].substr(y.length).match(/\((.*)\)/)[0];var u=y+B;f.push(b[0]+t+a[0]+u);f.push(b[0]+t+a[1]+"gradient"+u);f.push(b[0]+t+a[1]+u);f.push(b[0]+t+a[2]+u);f.push(b[0]+t+a[3]+u)}else if(b[1].indexOf("rgba")!==-1){var x=b[1].match(/rgba\((.*?)\)/)[1].split(","),C=Math.floor(+c(x[3])*255).toString(16)+s(+c(x[0]),+c(x[1]),+c(x[2]));f.push("filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#"+C+",endColorstr=#"+C+");zoom:1")}}f.length>0&&z.push(f.join(";"))}return z.length>0?E+"{"+z.join(";")+"}":false};b.fetchCSS=function(b,d){var a=[];for(var c in b)typeof b[c]===e&&a.push(t(b[c]));return d===undefined?a:a[0]};domReady(function(){var d=document.getElementsByTagName("style"),c=document.getElementsByTagName("link"),e=[];for(var a in c)typeof c[a]==="object"&&c[a].className==="cssfx"&&e.push(c[a].href);var f=b.fetchCSS(e);for(var a in d)typeof d[a]==="object"&&f.push(d[a].innerHTML);b.insertCSS(b.processCSS(f))})})(cssFx); diff --git a/index.html b/index.html index 8fd23bb..a0bb6fe 100644 --- a/index.html +++ b/index.html @@ -22,9 +22,18 @@ color:#fff } + + - + Fork me on GitHub

cssFx

@@ -34,41 +43,39 @@

It's so futuristic, baby!

cssFx is a standalone polyfill that inserts the vendor-specific CSS3 properties necessary for old and new browsers. This saves you tons of time, maintenance, and bandwidth! Check it out:

-
-

CSS rules

- #example {
- box-shadow:0px 0px 15px #407fab;
- border-radius:10px;
- display:box;
- box-pack:center;
- box-align:center
- } -
+
+

CSS Rules

+
-
- → -
-
-

cssFx generated rules

- #example {
- -moz-box-shadow:0px 0px 15px #407fab;
- -webkit-box-shadow:0px 0px 15px #407fab;
--moz-border-radius:10px;
--webkit-border-radius:10px;
-display:-moz-box;
-display:-webkit-box;
-display:-ms-box;
--moz-box-pack:center;
--webkit-box-pack:center;
--ms-box-pack:center;
--moz-box-align:center;
--webkit-box-align:center;
--ms-box-align:middle
}
+
+

cssFx Generated Rules

+
+

What features are supported?

@@ -86,8 +93,6 @@

How do I use it?

<link rel="stylesheet" href="effects.css" class="cssfx"> Made by Ivan Malopinsky
- - - + Fork me on GitHub

cssFx

From d310866343f9337436935d543b6b35aecf01dd2b Mon Sep 17 00:00:00 2001 From: imsky Date: Wed, 2 Nov 2011 00:22:34 -0400 Subject: [PATCH 26/43] enable generator handler --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index e56bd32..48e2e66 100644 --- a/index.html +++ b/index.html @@ -33,7 +33,7 @@ - + Fork me on GitHub

cssFx

From 76d8c3f05eedc40cd6f7b837d27fe0cd7c20993e Mon Sep 17 00:00:00 2001 From: imsky Date: Thu, 3 Nov 2011 12:19:07 -0400 Subject: [PATCH 27/43] update to 0.8.6 --- cssfx.min.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cssfx.min.js b/cssfx.min.js index 5f55305..317034f 100644 --- a/cssfx.min.js +++ b/cssfx.min.js @@ -1 +1 @@ -var cssFx=cssFx||{};(function(b){var d="string",o="background",e="background-image",n="background-clip",m="text-overflow",l="border-top-right-radius",k="border-top-left-radius",j="border-bottom-right-radius",i="border-bottom-left-radius",h="box-align";!function(m,a){function l(a){c=1;while(a=b.shift())a()}var b=[],d,e,f=false,g=a.documentElement,h=g.doScroll,i="DOMContentLoaded",j="addEventListener",k="onreadystatechange",c=/^loade|c/.test(a.readyState);a[j]&&a[j](i,e=function(){a.removeEventListener(i,e,f),l()},f),h&&a.attachEvent(k,d=function(){/^c/.test(a.readyState)&&(a.detachEvent(k,d),l())}),m.domReady=h?function(a){self!=top?c?a():b.push(a):function(){try{g.doScroll("left")}catch(b){return setTimeout(function(){domReady(a)},50)}a()}()}:function(a){c?a():b.push(a)}}(this,document);function t(a){if(AJAX=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP")){AJAX.open("GET",a,false);AJAX.send(null);return AJAX.responseText}else return false}function c(a){return a.replace(/\n/gm,"").replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function f(a){return a.replace(/\/\*([\s\S]*?)\*\//gim,"")}function s(a,b,c){return((256+a<<8|b)<<8|c).toString(16).slice(1)}if(!Array.indexOf)Array.prototype.indexOf=function(c,b){for(var a=b||0;a0)for(var n=0;n0&&o.push(m.join("\n"))}}return o};b.insertCSS=function(b){for(var c in b)if(typeof b[c]===d){var a=document.createElement("style");a.setAttribute("type","text/css");if(a.styleSheet)a.styleSheet.cssText=b[c];else a.textContent=b[c];document.getElementsByTagName("head")[0].appendChild(a)}};b.processElement=function(E,b){var v="display:",t=":",w=b.split(";"),z=[];for(var A in w)if(typeof w[A]===d&&w[A].indexOf(t)!==-1){var b=w[A].split(t);b[0]=c(b[0]);b[1]=c(b[1]);var f=[],g=b.join(t);if(r.indexOf(b[0])!==-1){f.push(a[0]+g);f.push(a[1]+g)}else if(q.indexOf(b[0])!==-1){f.push(a[0]+g);f.push(a[1]+g);if(b[0]===h)f.push(a[3]+b[0]+":middle");else f.push(a[3]+g)}else if(p.indexOf(b[0])!==-1){f.push(a[0]+g);f.push(a[1]+g);f.push(a[2]+g);f.push(a[3]+g)}else switch(b[0]){case k:case l:case i:case j:var D=b[0].split("-");f.push(a[0]+"border-radius-"+D[1]+D[2]+t+b[1]);f.push(a[1]+g);break;case"display":if(b[1]==="box"){f.push(v+a[0]+b[1]);f.push(v+a[1]+b[1]);f.push(v+a[3]+b[1])}else if(b[1]==="inline-block"){f.push(v+a[0]+"inline-stack");f.push("zoom:1;*display:inline")}break;case m:b[1]==="ellipsis"&&f.push(a[2]+g);break;case"opacity":f.push("filter: alpha(opacity="+parseInt(parseFloat(b[1])*100)+")");f.push(a[0]+g);f.push(a[1]+g);break;case n:if(b[1]==="padding-box"){f.push(a[1]+g);f.push(a[0]+b[0]+":padding")}break;case e:case"background-color":case o:var y="linear-gradient";if(b[1].indexOf(y)!==-1){var B=b[1].substr(y.length);if(b[0]===e)B=b[1].substr(y.length).match(/\((.*)\)/)[0];var u=y+B;f.push(b[0]+t+a[0]+u);f.push(b[0]+t+a[1]+"gradient"+u);f.push(b[0]+t+a[1]+u);f.push(b[0]+t+a[2]+u);f.push(b[0]+t+a[3]+u)}else if(b[1].indexOf("rgba")!==-1){var x=b[1].match(/rgba\((.*?)\)/)[1].split(","),C=Math.floor(+c(x[3])*255).toString(16)+s(+c(x[0]),+c(x[1]),+c(x[2]));f.push("filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#"+C+",endColorstr=#"+C+");zoom:1")}}f.length>0&&z.push(f.join(";"))}return z.length>0?E+"{"+z.join(";")+"}":false};b.fetchCSS=function(b,e){var a=[];for(var c in b)typeof b[c]===d&&a.push(t(b[c]));return e===undefined?a:a[0]};domReady(function(){var d=document.getElementsByTagName("style"),c=document.getElementsByTagName("link"),e=[];for(var a in c)typeof c[a]==="object"&&c[a].className==="cssfx"&&e.push(c[a].href);var f=b.fetchCSS(e);for(var a in d)typeof d[a]==="object"&&f.push(d[a].innerHTML);b.insertCSS(b.processCSS(f))})})(cssFx); +var cssFx=cssFx||{};(function(b){var d="string",o="background",e="background-image",n="background-clip",m="text-overflow",l="border-top-right-radius",k="border-top-left-radius",j="border-bottom-right-radius",i="border-bottom-left-radius",h="box-align";!function(m,a){function l(a){c=1;while(a=b.shift())a()}var b=[],d,e,f=false,g=a.documentElement,h=g.doScroll,i="DOMContentLoaded",j="addEventListener",k="onreadystatechange",c=/^loade|c/.test(a.readyState);a[j]&&a[j](i,e=function(){a.removeEventListener(i,e,f),l()},f),h&&a.attachEvent(k,d=function(){/^c/.test(a.readyState)&&(a.detachEvent(k,d),l())}),m.domReady=h?function(a){self!=top?c?a():b.push(a):function(){try{g.doScroll("left")}catch(b){return setTimeout(function(){domReady(a)},50)}a()}()}:function(a){c?a():b.push(a)}}(this,document);function t(a){if(AJAX=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP")){AJAX.open("GET",a,false);AJAX.send(null);return AJAX.responseText}else return false}function c(a){return a.replace(/\n/gm,"").replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function f(a){return a.replace(/\/\*([\s\S]*?)\*\//gim,"")}function s(a,b,c){return((256+a<<8|b)<<8|c).toString(16).slice(1)}if(!Array.indexOf)Array.prototype.indexOf=function(c,b){for(var a=b||0;a0)for(var m=0;m0&&n.push(l.join("\n"))}}return n};b.insertCSS=function(b){for(var c in b)if(typeof b[c]===d){var a=document.createElement("style");a.setAttribute("type","text/css");if(a.styleSheet)a.styleSheet.cssText=b[c];else a.textContent=b[c];document.getElementsByTagName("head")[0].appendChild(a)}};b.processElement=function(F,b){var u="display:",t=":",v=b.split(";"),z=[];for(var A in v)if(typeof v[A]===d&&v[A].indexOf(t)!==-1){var b=v[A].split(t);b[0]=c(b[0]);b[1]=c(b[1]);var f=[],g=b.join(t);if(r.indexOf(b[0])!==-1){f.push(a[0]+g);f.push(a[1]+g)}else if(q.indexOf(b[0])!==-1){f.push(a[0]+g);f.push(a[1]+g);if(b[0]===h)f.push(a[3]+b[0]+":middle");else f.push(a[3]+g)}else if(p.indexOf(b[0])!==-1){f.push(a[0]+g);f.push(a[1]+g);f.push(a[2]+g);f.push(a[3]+g)}else switch(b[0]){case k:case l:case i:case j:var E=b[0].split("-");f.push(a[0]+"border-radius-"+E[1]+E[2]+t+b[1]);f.push(a[1]+g);break;case"display":if(b[1]==="box"){f.push(u+a[0]+b[1]);f.push(u+a[1]+b[1]);f.push(u+a[3]+b[1])}else if(b[1]==="inline-block"){f.push(u+a[0]+"inline-stack");f.push("zoom:1;*display:inline")}break;case m:b[1]==="ellipsis"&&f.push(a[2]+g);break;case"opacity":var C=parseInt(parseFloat(b[1])*100);f.push(a[3]+"filter:progid:DXImageTransform.Microsoft.Alpha(Opacity="+C+")");f.push("filter: alpha(opacity="+C+")");f.push(a[0]+g);f.push(a[1]+g);break;case n:if(b[1]==="padding-box"){f.push(a[1]+g);f.push(a[0]+b[0]+":padding")}break;case e:case"background-color":case o:var y="linear-gradient";if(b[1].indexOf(y)!==-1){var B=b[1].substr(y.length);if(b[0]===e)B=b[1].substr(y.length).match(/\((.*)\)/)[0];var w=y+B;f.push(b[0]+t+a[0]+w);f.push(b[0]+t+a[1]+w);f.push(b[0]+t+a[2]+w);f.push(b[0]+t+a[3]+w)}else if(b[1].indexOf("rgba")!==-1){var x=b[1].match(/rgba\((.*?)\)/)[1].split(","),D=Math.floor(+c(x[3])*255).toString(16)+s(+c(x[0]),+c(x[1]),+c(x[2]));f.push("filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#"+D+",endColorstr=#"+D+");zoom:1")}}f.length>0&&z.push(f.join(";"))}return z.length>0?F+"{"+z.join(";")+"}":false};b.fetchCSS=function(b,e){var a=[];for(var c in b)typeof b[c]===d&&a.push(t(b[c]));return e===undefined?a:a[0]};domReady(function(){var d=document.getElementsByTagName("style"),c=document.getElementsByTagName("link"),e=[];for(var a in c)typeof c[a]==="object"&&c[a].className==="cssfx"&&e.push(c[a].href);var f=b.fetchCSS(e);for(var a in d)typeof d[a]==="object"&&f.push(d[a].innerHTML);b.insertCSS(b.processCSS(f))})})(cssFx); From f5502bcd3efbe25cd2d9bd662223149b85ed1af1 Mon Sep 17 00:00:00 2001 From: imsky Date: Thu, 3 Nov 2011 12:25:49 -0400 Subject: [PATCH 28/43] clean up site --- cssfx.min.js | 2 +- index.html | 28 ++++++++++++++-------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/cssfx.min.js b/cssfx.min.js index 317034f..67d8750 100644 --- a/cssfx.min.js +++ b/cssfx.min.js @@ -1 +1 @@ -var cssFx=cssFx||{};(function(b){var d="string",o="background",e="background-image",n="background-clip",m="text-overflow",l="border-top-right-radius",k="border-top-left-radius",j="border-bottom-right-radius",i="border-bottom-left-radius",h="box-align";!function(m,a){function l(a){c=1;while(a=b.shift())a()}var b=[],d,e,f=false,g=a.documentElement,h=g.doScroll,i="DOMContentLoaded",j="addEventListener",k="onreadystatechange",c=/^loade|c/.test(a.readyState);a[j]&&a[j](i,e=function(){a.removeEventListener(i,e,f),l()},f),h&&a.attachEvent(k,d=function(){/^c/.test(a.readyState)&&(a.detachEvent(k,d),l())}),m.domReady=h?function(a){self!=top?c?a():b.push(a):function(){try{g.doScroll("left")}catch(b){return setTimeout(function(){domReady(a)},50)}a()}()}:function(a){c?a():b.push(a)}}(this,document);function t(a){if(AJAX=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP")){AJAX.open("GET",a,false);AJAX.send(null);return AJAX.responseText}else return false}function c(a){return a.replace(/\n/gm,"").replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function f(a){return a.replace(/\/\*([\s\S]*?)\*\//gim,"")}function s(a,b,c){return((256+a<<8|b)<<8|c).toString(16).slice(1)}if(!Array.indexOf)Array.prototype.indexOf=function(c,b){for(var a=b||0;a0)for(var m=0;m0&&n.push(l.join("\n"))}}return n};b.insertCSS=function(b){for(var c in b)if(typeof b[c]===d){var a=document.createElement("style");a.setAttribute("type","text/css");if(a.styleSheet)a.styleSheet.cssText=b[c];else a.textContent=b[c];document.getElementsByTagName("head")[0].appendChild(a)}};b.processElement=function(F,b){var u="display:",t=":",v=b.split(";"),z=[];for(var A in v)if(typeof v[A]===d&&v[A].indexOf(t)!==-1){var b=v[A].split(t);b[0]=c(b[0]);b[1]=c(b[1]);var f=[],g=b.join(t);if(r.indexOf(b[0])!==-1){f.push(a[0]+g);f.push(a[1]+g)}else if(q.indexOf(b[0])!==-1){f.push(a[0]+g);f.push(a[1]+g);if(b[0]===h)f.push(a[3]+b[0]+":middle");else f.push(a[3]+g)}else if(p.indexOf(b[0])!==-1){f.push(a[0]+g);f.push(a[1]+g);f.push(a[2]+g);f.push(a[3]+g)}else switch(b[0]){case k:case l:case i:case j:var E=b[0].split("-");f.push(a[0]+"border-radius-"+E[1]+E[2]+t+b[1]);f.push(a[1]+g);break;case"display":if(b[1]==="box"){f.push(u+a[0]+b[1]);f.push(u+a[1]+b[1]);f.push(u+a[3]+b[1])}else if(b[1]==="inline-block"){f.push(u+a[0]+"inline-stack");f.push("zoom:1;*display:inline")}break;case m:b[1]==="ellipsis"&&f.push(a[2]+g);break;case"opacity":var C=parseInt(parseFloat(b[1])*100);f.push(a[3]+"filter:progid:DXImageTransform.Microsoft.Alpha(Opacity="+C+")");f.push("filter: alpha(opacity="+C+")");f.push(a[0]+g);f.push(a[1]+g);break;case n:if(b[1]==="padding-box"){f.push(a[1]+g);f.push(a[0]+b[0]+":padding")}break;case e:case"background-color":case o:var y="linear-gradient";if(b[1].indexOf(y)!==-1){var B=b[1].substr(y.length);if(b[0]===e)B=b[1].substr(y.length).match(/\((.*)\)/)[0];var w=y+B;f.push(b[0]+t+a[0]+w);f.push(b[0]+t+a[1]+w);f.push(b[0]+t+a[2]+w);f.push(b[0]+t+a[3]+w)}else if(b[1].indexOf("rgba")!==-1){var x=b[1].match(/rgba\((.*?)\)/)[1].split(","),D=Math.floor(+c(x[3])*255).toString(16)+s(+c(x[0]),+c(x[1]),+c(x[2]));f.push("filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#"+D+",endColorstr=#"+D+");zoom:1")}}f.length>0&&z.push(f.join(";"))}return z.length>0?F+"{"+z.join(";")+"}":false};b.fetchCSS=function(b,e){var a=[];for(var c in b)typeof b[c]===d&&a.push(t(b[c]));return e===undefined?a:a[0]};domReady(function(){var d=document.getElementsByTagName("style"),c=document.getElementsByTagName("link"),e=[];for(var a in c)typeof c[a]==="object"&&c[a].className==="cssfx"&&e.push(c[a].href);var f=b.fetchCSS(e);for(var a in d)typeof d[a]==="object"&&f.push(d[a].innerHTML);b.insertCSS(b.processCSS(f))})})(cssFx); +var cssFx=cssFx||{};(function(b){var d="string",o="background",e="background-image",n="background-clip",m="text-overflow",l="border-top-right-radius",k="border-top-left-radius",j="border-bottom-right-radius",i="border-bottom-left-radius",h="box-align";!function(m,a){function l(a){c=1;while(a=b.shift())a()}var b=[],d,e,f=false,g=a.documentElement,h=g.doScroll,i="DOMContentLoaded",j="addEventListener",k="onreadystatechange",c=/^loade|c/.test(a.readyState);a[j]&&a[j](i,e=function(){a.removeEventListener(i,e,f),l()},f),h&&a.attachEvent(k,d=function(){/^c/.test(a.readyState)&&(a.detachEvent(k,d),l())}),m.domReady=h?function(a){self!=top?c?a():b.push(a):function(){try{g.doScroll("left")}catch(b){return setTimeout(function(){domReady(a)},50)}a()}()}:function(a){c?a():b.push(a)}}(this,document);function t(a){if(AJAX=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP")){AJAX.open("GET",a,false);AJAX.send(null);return AJAX.responseText}else return false}function c(a){return a.replace(/\n/gm,"").replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function f(a){return a.replace(/\/\*([\s\S]*?)\*\//gim,"")}function s(a,b,c){return((256+a<<8|b)<<8|c).toString(16).slice(1)}if(!Array.indexOf)Array.prototype.indexOf=function(c,b){for(var a=b||0;a0)for(var l=0;l0&&m.push(k.join("\n"))}}return m};b.insertCSS=function(b){for(var c in b)if(typeof b[c]===d){var a=document.createElement("style");a.setAttribute("type","text/css");if(a.styleSheet)a.styleSheet.cssText=b[c];else a.textContent=b[c];document.getElementsByTagName("head")[0].appendChild(a)}};b.processElement=function(F,b){var u="display:",t=":",v=b.split(";"),z=[];for(var A in v)if(typeof v[A]===d&&v[A].indexOf(t)!==-1){var b=v[A].split(t);b[0]=c(b[0]);b[1]=c(b[1]);var f=[],g=b.join(t);if(r.indexOf(b[0])!==-1){f.push(a[0]+g);f.push(a[1]+g)}else if(q.indexOf(b[0])!==-1){f.push(a[0]+g);f.push(a[1]+g);if(b[0]===h)f.push(a[3]+b[0]+":middle");else f.push(a[3]+g)}else if(p.indexOf(b[0])!==-1){f.push(a[0]+g);f.push(a[1]+g);f.push(a[2]+g);f.push(a[3]+g)}else switch(b[0]){case k:case l:case i:case j:var E=b[0].split("-");f.push(a[0]+"border-radius-"+E[1]+E[2]+t+b[1]);f.push(a[1]+g);break;case"display":if(b[1]==="box"){f.push(u+a[0]+b[1]);f.push(u+a[1]+b[1]);f.push(u+a[3]+b[1])}else if(b[1]==="inline-block"){f.push(u+a[0]+"inline-stack");f.push("zoom:1;*display:inline")}break;case m:b[1]==="ellipsis"&&f.push(a[2]+g);break;case"opacity":var C=parseInt(parseFloat(b[1])*100);f.push(a[3]+"filter:progid:DXImageTransform.Microsoft.Alpha(Opacity="+C+")");f.push("filter: alpha(opacity="+C+")");f.push(a[0]+g);f.push(a[1]+g);break;case n:if(b[1]==="padding-box"){f.push(a[1]+g);f.push(a[0]+b[0]+":padding")}break;case e:case"background-color":case o:var y="linear-gradient";if(b[1].indexOf(y)!==-1){var B=b[1].substr(y.length);if(b[0]===e)B=b[1].substr(y.length).match(/\((.*)\)/)[0];var w=y+B;f.push(b[0]+t+a[0]+w);f.push(b[0]+t+a[1]+w);f.push(b[0]+t+a[2]+w);f.push(b[0]+t+a[3]+w)}else if(b[1].indexOf("rgba")!==-1){var x=b[1].match(/rgba\((.*?)\)/)[1].split(","),D=Math.floor(+c(x[3])*255).toString(16)+s(+c(x[0]),+c(x[1]),+c(x[2]));f.push("filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#"+D+",endColorstr=#"+D+");zoom:1")}}f.length>0&&z.push(f.join(";"))}return z.length>0?F+"{"+z.join(";")+"}":false};b.fetchCSS=function(b,e){var a=[];for(var c in b)typeof b[c]===d&&a.push(t(b[c]));return e===undefined?a:a[0]};domReady(function(){var d=document.getElementsByTagName("style"),c=document.getElementsByTagName("link"),e=[];for(var a in c)typeof c[a]==="object"&&c[a].className==="cssfx"&&e.push(c[a].href);var f=b.fetchCSS(e);for(var a in d)typeof d[a]==="object"&&f.push(d[a].innerHTML);b.insertCSS(b.processCSS(f))})})(cssFx); diff --git a/index.html b/index.html index 48e2e66..12989a1 100644 --- a/index.html +++ b/index.html @@ -27,7 +27,7 @@ function generateHandler(){ document.getElementById("generate").onclick = function(){ var newCSS = cssFx.processCSS([document.getElementById("example-from-text").value])[0]; - document.getElementById("example-to-text").value=newCSS.replace(/\{/g," { \r\n").replace(/\}/g,"\n}\r\n\n"); + document.getElementById("example-to-text").value=newCSS.replace(/\{/g," { \r\n").replace(/\}/g,"\n}\r\n\n").replace(/\;/g,";\n"); } } @@ -60,19 +60,19 @@

CSS Rules

cssFx Generated Rules

From 4ad0912055cba774b49d9a3285c7cc93011c4b91 Mon Sep 17 00:00:00 2001 From: Ivan Malopinsky Date: Sat, 17 Dec 2011 14:43:11 -0500 Subject: [PATCH 29/43] update version and filesize --- index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index 12989a1..c282b2d 100644 --- a/index.html +++ b/index.html @@ -43,7 +43,7 @@

It's so futuristic, baby!

cssFx is a standalone polyfill that inserts the vendor-specific CSS3 properties necessary for old and new browsers. This saves you tons of time, maintenance, and bandwidth! Check it out:

@@ -79,7 +79,7 @@

cssFx Generated Rules

What features are supported?

- Box shadows, border radius, multiple columns, border image, RGBA, transforms, transitions, flexible box, gradients, and a ton of other useful things (like opacity, ellipsis, and inline-block). + Box shadows, border radius, multiple columns, border image, RGBA, transforms, transitions (and properties inside transitions), flexible box, gradients, and a ton of other useful things (like opacity, ellipsis, and inline-block).

Which browsers are supported?

From 20b5d3f84108295a3920edc7101cf89d371adaa1 Mon Sep 17 00:00:00 2001 From: Ivan Malopinsky Date: Mon, 19 Dec 2011 10:14:12 -0500 Subject: [PATCH 30/43] switch to latest cssfx version --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index 12989a1..5176a57 100644 --- a/index.html +++ b/index.html @@ -22,7 +22,7 @@ color:#fff } - + + - - - - -Fork me on GitHub -

-

cssFx

-

It's so futuristic, baby!

-
-

- cssFx is a standalone polyfill that inserts the vendor-specific CSS3 properties necessary for old and new browsers. This saves you tons of time, maintenance, and bandwidth! Check it out: -

- -
-
-
-

CSS Rules

- -
-
-

cssFx Generated Rules

- -
- -
-

What features are supported?

-

- Box shadows, border radius, multiple columns, border image, RGBA, transforms, keyframes, transitions (and properties inside transitions), flexible box, gradients, and a ton of other useful things (like opacity, ellipsis, and inline-block). -

-

Which browsers are supported?

-

- Firefox 3+, Chrome 1+, Internet Explorer 6+, Safari 3+, Opera 9+. -

-

How do I use it?

-

- Include the JS file, and give external stylesheets the "cssfx" class: -

- <link rel="stylesheet" href="effects.css" class="cssfx"> - <script src="cssfx.min.js"></script>
- Made by Ivan Malopinsky -
- - - - + + + + + + + + + cssFx + + + + + +
+
+ View on GitHub + +

cssFx

+

cssFx inserts vendor prefixes for CSS3 properties.

+ +
+ Download this project as a .zip file + Download this project as a tar.gz file +
+
+
+ + +
+
+

+cssFx

+ +

cssFx automatically adds vendor-specific prefixes to CSS properties that need them.

+ +

+Usage

+ +
    +
  • Include a script tag in your source:
  • +
<script src="cssfx.js"></script>
+
+ +

+Browsers Supported

+ +
    +
  • Firefox 3+
  • +
  • Chrome 1+
  • +
  • Internet Explorer 6+
  • +
  • Safari 3+
  • +
  • Opera 9+
  • +

+Important Considerations

+ +
    +
  • IE and other browsers remove either unknown properties or properties with unknown values. To guarantee that all properties are parsed, link your stylesheet externally.
  • +
  • To prevent FOUC (flash of unstyled content), place cssfx.js immediately under the stylesheet tags.
  • +
  • cssFx adds the prefixes necessary to enable CSS3 functionality in supporting browsers, it doesn't simulate it (e.g. border-radius in IE6).
  • +

+License

+ +

cssFx is provided under the MIT license.

+
+
+ + + + + + + diff --git a/javascripts/main.js b/javascripts/main.js new file mode 100644 index 0000000..d8135d3 --- /dev/null +++ b/javascripts/main.js @@ -0,0 +1 @@ +console.log('This would be the main JS file.'); diff --git a/params.json b/params.json new file mode 100644 index 0000000..7b9f5a3 --- /dev/null +++ b/params.json @@ -0,0 +1 @@ +{"name":"cssFx","tagline":"cssFx inserts vendor prefixes for CSS3 properties.","body":"cssFx\r\n--------\r\n\r\ncssFx automatically adds vendor-specific prefixes to CSS properties that need them.\r\n\r\nUsage\r\n-----\r\n * Include a script tag in your source:\r\n \r\n``` html\r\n\r\n```\r\n\r\nBrowsers Supported\r\n------------------\r\n\r\n * Firefox 3+\r\n * Chrome 1+\r\n * Internet Explorer 6+\r\n * Safari 3+\r\n * Opera 9+\r\n\r\nImportant Considerations\r\n------------------------\r\n\r\n* IE and other browsers remove either unknown properties or properties with unknown values. To guarantee that all properties are parsed, link your stylesheet externally.\r\n* To prevent FOUC (flash of unstyled content), place cssfx.js immediately under the stylesheet tags.\r\n* cssFx adds the prefixes necessary to enable CSS3 functionality in supporting browsers, it doesn't simulate it (e.g. border-radius in IE6).\r\n\r\nLicense\r\n-------\r\ncssFx is provided under the MIT license.\r\n","google":"","note":"Don't delete this file! It's used internally to help with page regeneration."} \ No newline at end of file diff --git a/stylesheets/pygment_trac.css b/stylesheets/pygment_trac.css new file mode 100644 index 0000000..e65cedf --- /dev/null +++ b/stylesheets/pygment_trac.css @@ -0,0 +1,70 @@ +.highlight .hll { background-color: #ffffcc } +.highlight { background: #f0f3f3; } +.highlight .c { color: #0099FF; font-style: italic } /* Comment */ +.highlight .err { color: #AA0000; background-color: #FFAAAA } /* Error */ +.highlight .k { color: #006699; font-weight: bold } /* Keyword */ +.highlight .o { color: #555555 } /* Operator */ +.highlight .cm { color: #0099FF; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #009999 } /* Comment.Preproc */ +.highlight .c1 { color: #0099FF; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #0099FF; font-weight: bold; font-style: italic } /* Comment.Special */ +.highlight .gd { background-color: #FFCCCC; border: 1px solid #CC0000 } /* Generic.Deleted */ +.highlight .ge { font-style: italic } /* Generic.Emph */ +.highlight .gr { color: #FF0000 } /* Generic.Error */ +.highlight .gh { color: #003300; font-weight: bold } /* Generic.Heading */ +.highlight .gi { background-color: #CCFFCC; border: 1px solid #00CC00 } /* Generic.Inserted */ +.highlight .go { color: #AAAAAA } /* Generic.Output */ +.highlight .gp { color: #000099; font-weight: bold } /* Generic.Prompt */ +.highlight .gs { font-weight: bold } /* Generic.Strong */ +.highlight .gu { color: #003300; font-weight: bold } /* Generic.Subheading */ +.highlight .gt { color: #99CC66 } /* Generic.Traceback */ +.highlight .kc { color: #006699; font-weight: bold } /* Keyword.Constant */ +.highlight .kd { color: #006699; font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { color: #006699; font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { color: #006699 } /* Keyword.Pseudo */ +.highlight .kr { color: #006699; font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #007788; font-weight: bold } /* Keyword.Type */ +.highlight .m { color: #FF6600 } /* Literal.Number */ +.highlight .s { color: #CC3300 } /* Literal.String */ +.highlight .na { color: #330099 } /* Name.Attribute */ +.highlight .nb { color: #336666 } /* Name.Builtin */ +.highlight .nc { color: #00AA88; font-weight: bold } /* Name.Class */ +.highlight .no { color: #336600 } /* Name.Constant */ +.highlight .nd { color: #9999FF } /* Name.Decorator */ +.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ +.highlight .ne { color: #CC0000; font-weight: bold } /* Name.Exception */ +.highlight .nf { color: #CC00FF } /* Name.Function */ +.highlight .nl { color: #9999FF } /* Name.Label */ +.highlight .nn { color: #00CCFF; font-weight: bold } /* Name.Namespace */ +.highlight .nt { color: #330099; font-weight: bold } /* Name.Tag */ +.highlight .nv { color: #003333 } /* Name.Variable */ +.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */ +.highlight .w { color: #bbbbbb } /* Text.Whitespace */ +.highlight .mf { color: #FF6600 } /* Literal.Number.Float */ +.highlight .mh { color: #FF6600 } /* Literal.Number.Hex */ +.highlight .mi { color: #FF6600 } /* Literal.Number.Integer */ +.highlight .mo { color: #FF6600 } /* Literal.Number.Oct */ +.highlight .sb { color: #CC3300 } /* Literal.String.Backtick */ +.highlight .sc { color: #CC3300 } /* Literal.String.Char */ +.highlight .sd { color: #CC3300; font-style: italic } /* Literal.String.Doc */ +.highlight .s2 { color: #CC3300 } /* Literal.String.Double */ +.highlight .se { color: #CC3300; font-weight: bold } /* Literal.String.Escape */ +.highlight .sh { color: #CC3300 } /* Literal.String.Heredoc */ +.highlight .si { color: #AA0000 } /* Literal.String.Interpol */ +.highlight .sx { color: #CC3300 } /* Literal.String.Other */ +.highlight .sr { color: #33AAAA } /* Literal.String.Regex */ +.highlight .s1 { color: #CC3300 } /* Literal.String.Single */ +.highlight .ss { color: #FFCC33 } /* Literal.String.Symbol */ +.highlight .bp { color: #336666 } /* Name.Builtin.Pseudo */ +.highlight .vc { color: #003333 } /* Name.Variable.Class */ +.highlight .vg { color: #003333 } /* Name.Variable.Global */ +.highlight .vi { color: #003333 } /* Name.Variable.Instance */ +.highlight .il { color: #FF6600 } /* Literal.Number.Integer.Long */ + +.type-csharp .highlight .k { color: #0000FF } +.type-csharp .highlight .kt { color: #0000FF } +.type-csharp .highlight .nf { color: #000000; font-weight: normal } +.type-csharp .highlight .nc { color: #2B91AF } +.type-csharp .highlight .nn { color: #000000 } +.type-csharp .highlight .s { color: #A31515 } +.type-csharp .highlight .sc { color: #A31515 } diff --git a/stylesheets/stylesheet.css b/stylesheets/stylesheet.css new file mode 100644 index 0000000..7a08b01 --- /dev/null +++ b/stylesheets/stylesheet.css @@ -0,0 +1,423 @@ +/******************************************************************************* +Slate Theme for GitHub Pages +by Jason Costello, @jsncostello +*******************************************************************************/ + +@import url(pygment_trac.css); + +/******************************************************************************* +MeyerWeb Reset +*******************************************************************************/ + +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, 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, +article, aside, canvas, details, embed, +figure, figcaption, footer, header, hgroup, +menu, nav, output, ruby, section, summary, +time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font: inherit; + vertical-align: baseline; +} + +/* HTML5 display-role reset for older browsers */ +article, aside, details, figcaption, figure, +footer, header, hgroup, menu, nav, section { + display: block; +} + +ol, ul { + list-style: none; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +/******************************************************************************* +Theme Styles +*******************************************************************************/ + +body { + box-sizing: border-box; + color:#373737; + background: #212121; + font-size: 16px; + font-family: 'Myriad Pro', Calibri, Helvetica, Arial, sans-serif; + line-height: 1.5; + -webkit-font-smoothing: antialiased; +} + +h1, h2, h3, h4, h5, h6 { + margin: 10px 0; + font-weight: 700; + color:#222222; + font-family: 'Lucida Grande', 'Calibri', Helvetica, Arial, sans-serif; + letter-spacing: -1px; +} + +h1 { + font-size: 36px; + font-weight: 700; +} + +h2 { + padding-bottom: 10px; + font-size: 32px; + background: url('../images/bg_hr.png') repeat-x bottom; +} + +h3 { + font-size: 24px; +} + +h4 { + font-size: 21px; +} + +h5 { + font-size: 18px; +} + +h6 { + font-size: 16px; +} + +p { + margin: 10px 0 15px 0; +} + +footer p { + color: #f2f2f2; +} + +a { + text-decoration: none; + color: #007edf; + text-shadow: none; + + transition: color 0.5s ease; + transition: text-shadow 0.5s ease; + -webkit-transition: color 0.5s ease; + -webkit-transition: text-shadow 0.5s ease; + -moz-transition: color 0.5s ease; + -moz-transition: text-shadow 0.5s ease; + -o-transition: color 0.5s ease; + -o-transition: text-shadow 0.5s ease; + -ms-transition: color 0.5s ease; + -ms-transition: text-shadow 0.5s ease; +} + +a:hover, a:focus {text-decoration: underline;} + +footer a { + color: #F2F2F2; + text-decoration: underline; +} + +em { + font-style: italic; +} + +strong { + font-weight: bold; +} + +img { + position: relative; + margin: 0 auto; + max-width: 739px; + padding: 5px; + margin: 10px 0 10px 0; + border: 1px solid #ebebeb; + + box-shadow: 0 0 5px #ebebeb; + -webkit-box-shadow: 0 0 5px #ebebeb; + -moz-box-shadow: 0 0 5px #ebebeb; + -o-box-shadow: 0 0 5px #ebebeb; + -ms-box-shadow: 0 0 5px #ebebeb; +} + +p img { + display: inline; + margin: 0; + padding: 0; + vertical-align: middle; + text-align: center; + border: none; +} + +pre, code { + width: 100%; + color: #222; + background-color: #fff; + + font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; + font-size: 14px; + + border-radius: 2px; + -moz-border-radius: 2px; + -webkit-border-radius: 2px; +} + +pre { + width: 100%; + padding: 10px; + box-shadow: 0 0 10px rgba(0,0,0,.1); + overflow: auto; +} + +code { + padding: 3px; + margin: 0 3px; + box-shadow: 0 0 10px rgba(0,0,0,.1); +} + +pre code { + display: block; + box-shadow: none; +} + +blockquote { + color: #666; + margin-bottom: 20px; + padding: 0 0 0 20px; + border-left: 3px solid #bbb; +} + + +ul, ol, dl { + margin-bottom: 15px +} + +ul { + list-style: inside; + padding-left: 20px; +} + +ol { + list-style: decimal inside; + padding-left: 20px; +} + +dl dt { + font-weight: bold; +} + +dl dd { + padding-left: 20px; + font-style: italic; +} + +dl p { + padding-left: 20px; + font-style: italic; +} + +hr { + height: 1px; + margin-bottom: 5px; + border: none; + background: url('../images/bg_hr.png') repeat-x center; +} + +table { + border: 1px solid #373737; + margin-bottom: 20px; + text-align: left; + } + +th { + font-family: 'Lucida Grande', 'Helvetica Neue', Helvetica, Arial, sans-serif; + padding: 10px; + background: #373737; + color: #fff; + } + +td { + padding: 10px; + border: 1px solid #373737; + } + +form { + background: #f2f2f2; + padding: 20px; +} + +/******************************************************************************* +Full-Width Styles +*******************************************************************************/ + +.outer { + width: 100%; +} + +.inner { + position: relative; + max-width: 640px; + padding: 20px 10px; + margin: 0 auto; +} + +#forkme_banner { + display: block; + position: absolute; + top:0; + right: 10px; + z-index: 10; + padding: 10px 50px 10px 10px; + color: #fff; + background: url('../images/blacktocat.png') #0090ff no-repeat 95% 50%; + font-weight: 700; + box-shadow: 0 0 10px rgba(0,0,0,.5); + border-bottom-left-radius: 2px; + border-bottom-right-radius: 2px; +} + +#header_wrap { + background: #212121; + background: -moz-linear-gradient(top, #373737, #212121); + background: -webkit-linear-gradient(top, #373737, #212121); + background: -ms-linear-gradient(top, #373737, #212121); + background: -o-linear-gradient(top, #373737, #212121); + background: linear-gradient(top, #373737, #212121); +} + +#header_wrap .inner { + padding: 50px 10px 30px 10px; +} + +#project_title { + margin: 0; + color: #fff; + font-size: 42px; + font-weight: 700; + text-shadow: #111 0px 0px 10px; +} + +#project_tagline { + color: #fff; + font-size: 24px; + font-weight: 300; + background: none; + text-shadow: #111 0px 0px 10px; +} + +#downloads { + position: absolute; + width: 210px; + z-index: 10; + bottom: -40px; + right: 0; + height: 70px; + background: url('../images/icon_download.png') no-repeat 0% 90%; +} + +.zip_download_link { + display: block; + float: right; + width: 90px; + height:70px; + text-indent: -5000px; + overflow: hidden; + background: url(../images/sprite_download.png) no-repeat bottom left; +} + +.tar_download_link { + display: block; + float: right; + width: 90px; + height:70px; + text-indent: -5000px; + overflow: hidden; + background: url(../images/sprite_download.png) no-repeat bottom right; + margin-left: 10px; +} + +.zip_download_link:hover { + background: url(../images/sprite_download.png) no-repeat top left; +} + +.tar_download_link:hover { + background: url(../images/sprite_download.png) no-repeat top right; +} + +#main_content_wrap { + background: #f2f2f2; + border-top: 1px solid #111; + border-bottom: 1px solid #111; +} + +#main_content { + padding-top: 40px; +} + +#footer_wrap { + background: #212121; +} + + + +/******************************************************************************* +Small Device Styles +*******************************************************************************/ + +@media screen and (max-width: 480px) { + body { + font-size:14px; + } + + #downloads { + display: none; + } + + .inner { + min-width: 320px; + max-width: 480px; + } + + #project_title { + font-size: 32px; + } + + h1 { + font-size: 28px; + } + + h2 { + font-size: 24px; + } + + h3 { + font-size: 21px; + } + + h4 { + font-size: 18px; + } + + h5 { + font-size: 14px; + } + + h6 { + font-size: 12px; + } + + code, pre { + min-width: 320px; + max-width: 480px; + font-size: 11px; + } + +} From 99e3bf5a18422753c36f39454714b2dbf1765244 Mon Sep 17 00:00:00 2001 From: Ivan Malopinsky Date: Thu, 14 Aug 2014 18:18:53 -0400 Subject: [PATCH 43/43] Create gh-pages branch via GitHub --- images/body-bg.png | Bin 0 -> 2401 bytes images/highlight-bg.jpg | Bin 0 -> 30991 bytes images/hr.png | Bin 0 -> 130 bytes images/octocat-icon.png | Bin 0 -> 477 bytes images/tar-gz-icon.png | Bin 0 -> 741 bytes images/zip-icon.png | Bin 0 -> 735 bytes index.html | 93 +++--- params.json | 2 +- stylesheets/print.css | 226 ++++++++++++++ stylesheets/pygment_trac.css | 117 ++++---- stylesheets/stylesheet.css | 568 ++++++++++++++++------------------- 11 files changed, 595 insertions(+), 411 deletions(-) create mode 100644 images/body-bg.png create mode 100644 images/highlight-bg.jpg create mode 100644 images/hr.png create mode 100644 images/octocat-icon.png create mode 100644 images/tar-gz-icon.png create mode 100644 images/zip-icon.png create mode 100644 stylesheets/print.css diff --git a/images/body-bg.png b/images/body-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..5e8c4c29f9d71310d144ba68e133079c675e2107 GIT binary patch literal 2401 zcmV-n37+<9;0CQMuiWA zm6TpzH!R7$ZWhr;>bLPlS%+v!#u--LcbYXf5`IdU3Z=&?|eqw|86j0^qmtLBONioAbPB?U74Y{%aYiZW$>$US6z~ zA~(Nn4lVE0ran+n^V|3wEp{K@NCnUHv?bYm2hyXkO*4e>n0elM3PX&qL+xnOwl^@Y z_*n3_@xjP;Pz&FlS90;wBt#<^dP&Y!*l{6q)x#j<-R2FBaDH6r@=XhtOuvoquZsJR zL;m}!zgKQ>Hv0m0*(^1vIG260#?(q_Q9JTD29!|qwRo?dlQAlYLYX!<57_i>jQjSr`IUMJ3?>I`0<+8qJCO}3*hcd#_J z^a>vwKyC<2)lBjb_uuG#0pMt;t*k>F>M=U-pq;KaO&mO?YHq^ zdRreh_T>?Mv-P4JY;(~|>Nz1DbO98m?T8FG7}C$Rk2V_;ks zLdLaPs?+W2G_AUw+byY^LaBD3pBd*0vs$1TdperT$f1_%(i9z>jOkaKs4kj%W}K!p z+bKxO1c|88th5bWQ)S_Hcd<8O9s)-W0)!b*skq4$IBS*lb4BTSX zaW;0>NQ@WNDfKk_pf4<(E?Aypr;b`ZiM&wf20&|=0+$NWPW*jv$0ZW)3PY+@E^%soI>Jpxnk>R#w*>N+_^UOF1 z+^SJbPr6#^qH-6SR%>qq#hqzont?I3Nl}BL2fDuHu2AlQw0EW-KvrsYkS7-o7tNr^mL;6)kKbSRgI@YZ>liSP*e6o#+%)3 zXz7`8q%1WxS9nS@O^8d*<#wdWEml?hRUKCiof#{xL9p>1jW(t$Bj#ci&y17o70VFT zjx|lmm>DH@uN$<4TpHQ)Ctm;aO4j}J ztXz+~Vv5R|&D@%HZJ10C#`ZJgOxcW4*^ns#ZVW_e;3Ar;@smZzpthxnYJ8KJ$}{7< zDm3*|j^s%@)avP-OhMBl zo6Tm*?a>U}XU4()y!$XSKXObD9rukrE6KOI35~)uLsn)- zjBXZ_Fo780nQ>bjcA~wXet63{Sn>&uNbbIPn zuN>mSKRSITwXduQQ{tI%UO6UT)~sj7d3Eu={PbtW zc{L1ZcAdGgn--}VWvJ?#n^+g_OeD#CK5#g%mi1ZPe)-&-wM2g?GXMH^zt9KIj3d2h zm?}TiFr8P^x&k`T8&AAMOlDw5==+J_d1XYrlQS>Oj`M1Ze@Frr$JT9qD0b(S8&YCI zcb*yNRl)o6WfWv}?mIIk?-FZbb@ zasHt>A3BlmH0Lwp{5_JO?b#{X?udV+XugdkJTuO#{^!NQy=&pl=S8FaLq&t-ys{SG z4c=eam*>@)<#o^U5)qwg^2`1u(6;d#{+H(@iB-94qs=D|6l{ zXsLTD6#Ano{d~S7-2BXrY}NT&KEorqZ?he@T&B~^s^(VoWj^DXab8{Y=SBOnn4D@F z0Xsv>ZF*#TOE5NC!(l&Z~J{ zk-D4hVVD+8LxHHtEqyx^JQh2>_0f7e#@f_WgEMYrs^)UL6W_QgWkFTCr0fR5c6wi$FD%seX z{Sk}yyhQl~{%ry&K;jPr3`PE))H zJ-*B2omYGNyHJIzwUDpQ&v{jPzl+rCnQ>mF#|o?OAV&PjWZwBt`*v&s006@-B-*mu}ka{yTmTBOY9Q6#4fQ*>=L`gF0o7O(vn?bm)NBPz02Dp Thhtn800000NkvXXu0mjf`O(CF literal 0 HcmV?d00001 diff --git a/images/highlight-bg.jpg b/images/highlight-bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..355e089b2d7d7a6f78caa818e302c8a15c6c0e3c GIT binary patch literal 30991 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 literal 0 HcmV?d00001 diff --git a/images/hr.png b/images/hr.png new file mode 100644 index 0000000000000000000000000000000000000000..d32f689cf418b2dd5a51e8f2e0cc4cd766b005d8 GIT binary patch literal 130 zcmeAS@N?(olHy`uVBq!ia0y~yV44eLGjgy1Nwep7mjEeGPZ!6K3dXgQ4EY!oc$iNA zm+x)f{mkaBMZoMSKF>-XX{yi8)Qy=W>S;Lf(!7SX_bosCeiE+of5M`gpV@!ZeqG)j hx4CwjdCS&Z#vS6S%%1PBw*d`h@O1TaS?83{1ORq0FmnI^ literal 0 HcmV?d00001 diff --git a/images/octocat-icon.png b/images/octocat-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..24066080022de71de4da557be1ada8dfa64640fe GIT binary patch literal 477 zcmV<30V4j1P)<-ZGd|yZvdFc<67(EwAH{-83Oih18hoz&Ba-GzBvQ0a0zgK{ZEvm zJ@P2PrVY@)zm0|IR`b#WfakV;1*qi|sMil5qKS^h|M!0L-v$(RcL3a<4p7UHmw^>S zzb=p-IVx`CFFMVW+ucAVM_vZz0tV_i#9?ABU%EYaO;2gFa0RqS9`cUjJE}(7@Xn>35rz&O*;i%QPn<;Xx5GUqPeqrgjr-P0Xs zq=5~YaVFJAW29%1fh=SS>T++g4k=Te*+Ub}IsEq4aUS(Jc%&hd-_&RDP;DBwoQyZY z7r@?dT{`0|-od-bKo&9ub$QEf9WMUvcmLvnDwYtRR1=?TKlY@Mg-k(R-n2`D!k^E} zdFFAERBK+MNn_SV%k#)Wrl2mrvr~gBKc1EG*WSxAR^^uGk%de_UEa7u1K0Pb*ZA|p zOHxK*k9{2vghuf&h0WKP5KErz8kBtNE8*$xd?};+r6}&FFn<}N`XmiXXM8UH*mXe) z#Z{^6`2~gg71eChpzO<|LZ0kAD}`cQeH1D+YZPl{RJB!u^63W!JkfSqsf!kwUx>PDO;(ILQF8Y z=86)`taYs6-V)tNuz`Erdx}SIpHQlxU=xQZFb4O=`mDjT6qU!@pc;SKh{vH+OulOQP^DNfkK3^L|E!4i%~2rRF(e$ X&uf9dMkn>&00000NkvXXu0mjf-Fsw* literal 0 HcmV?d00001 diff --git a/images/zip-icon.png b/images/zip-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..732aced6031d4a3537060217be59f437df1db1a1 GIT binary patch literal 735 zcmV<50wDc~P)$_YSV*+6bjOe>}69>8`}hB`O47DrWab4qnSx2gKx9c zG_}MmX%dQBM4FmrVrlj;DyXmXUtAbGXO4k$m>+ZI-0%MXGn+f~V4rD;6r3uVYssVH zV;+!2z|1~TyTc^tbeM7duK2#Gwp^aA=-^5v)hsfQW##@)`GO9Infj?Yb4nF>%|FK-G6wXk`=@&S>kaWP|gCfkSXZPn|2#e@cU&M z&pa(uYRiq6G-ht{Igc!43i|T9y9~Jc>qRMl@4ceptK8>2vXCk0%NutZ;QIOeI)8n9 zS;;EwajfHkkVqb;(D@n@qN!nr0mVQ1ig~&_Psu8OEsFao)L+J^F2R738IOxUcU@FM zab@xbenlaEMb+C4DE;=NfG0c8DWMqe9tx3oE$=h!bqiH)GoWnxQ9e)HKcm$}izEdU z2*|e1q`hhe$Q^G$`J{L(j^E4CYN22ytn*~|{_MTSl4gJ^w%VZLW4n{bnzFQNDOiG) zLw4zG)^%wH=w_S^+~cjMdGyXnt#S&IcrWWry_Zp0tPQI0%SIY9w2CN5a+K^A>rAy* zqN2?f`*@PmqO7Wb2;oSYi8DP)YWB>h&j)d5wrd=PI`g;ldJOsh=!Hv9M5A{tq{DilQfu RAf^BS002ovPDHLkV1nhyXGZ`4 literal 0 HcmV?d00001 diff --git a/index.html b/index.html index 5fdd8fe..1ee0bb0 100644 --- a/index.html +++ b/index.html @@ -1,48 +1,57 @@ - - - - - - - - cssFx + + + + + + + + cssFx by imsky +
+
- -
-
- View on GitHub +
+

cssFx

+

cssFx inserts vendor prefixes for CSS3 properties.

+
-

cssFx

-

cssFx inserts vendor prefixes for CSS3 properties.

+
+ Download .zip + Download .tar.gz + View on GitHub +
-
- Download this project as a .zip file - Download this project as a tar.gz file -
-
-
+
- -
-
-

+
+

cssFx

-

cssFx automatically adds vendor-specific prefixes to CSS properties that need them.

+

cssFx adds vendor-specific prefixes to your stylesheets.

+ +

+How it works

+ +

When the document has finished loading, internal (<style>) and external (<link>) stylesheets are processed, fetching any @import stylesheets as well. It's recommended to bundle stylesheets into one file to minimize request overhead. Once processing is done, a new <style> tag is appended to the <head> with processed properties. Properties for all vendors (Mozilla, Webkit, Opera, Microsoft) are included by default.

+ +

+Installing

+ +

Download cssFx or install it with Bower: bower install cssfx.

Usage

-
    -
  • Include a script tag in your source:
  • -
<script src="cssfx.js"></script>
-
+

Include cssFx in your <head> tag: <script src="cssfx.js"></script>

+ +

Make sure any external stylesheets you want processed have the cssfx class.

Browsers Supported

@@ -59,23 +68,25 @@

  • IE and other browsers remove either unknown properties or properties with unknown values. To guarantee that all properties are parsed, link your stylesheet externally.
  • To prevent FOUC (flash of unstyled content), place cssfx.js immediately under the stylesheet tags.
  • -
  • cssFx adds the prefixes necessary to enable CSS3 functionality in supporting browsers, it doesn't simulate it (e.g. border-radius in IE6).
  • +
  • cssFx only adds prefixes. It does not polyfill functionality unavailable in the browser.

License

cssFx is provided under the MIT license.

-
-

- - +

+Credits

- +

cssFx is a project by Ivan Malopinsky.

+ + + + +
+
- + \ No newline at end of file diff --git a/params.json b/params.json index 7b9f5a3..bc1801f 100644 --- a/params.json +++ b/params.json @@ -1 +1 @@ -{"name":"cssFx","tagline":"cssFx inserts vendor prefixes for CSS3 properties.","body":"cssFx\r\n--------\r\n\r\ncssFx automatically adds vendor-specific prefixes to CSS properties that need them.\r\n\r\nUsage\r\n-----\r\n * Include a script tag in your source:\r\n \r\n``` html\r\n\r\n```\r\n\r\nBrowsers Supported\r\n------------------\r\n\r\n * Firefox 3+\r\n * Chrome 1+\r\n * Internet Explorer 6+\r\n * Safari 3+\r\n * Opera 9+\r\n\r\nImportant Considerations\r\n------------------------\r\n\r\n* IE and other browsers remove either unknown properties or properties with unknown values. To guarantee that all properties are parsed, link your stylesheet externally.\r\n* To prevent FOUC (flash of unstyled content), place cssfx.js immediately under the stylesheet tags.\r\n* cssFx adds the prefixes necessary to enable CSS3 functionality in supporting browsers, it doesn't simulate it (e.g. border-radius in IE6).\r\n\r\nLicense\r\n-------\r\ncssFx is provided under the MIT license.\r\n","google":"","note":"Don't delete this file! It's used internally to help with page regeneration."} \ No newline at end of file +{"name":"cssFx","tagline":"cssFx inserts vendor prefixes for CSS3 properties.","body":"cssFx\r\n-----\r\n\r\ncssFx adds vendor-specific prefixes to your stylesheets.\r\n\r\nHow it works\r\n------------\r\n\r\nWhen the document has finished loading, internal (``) and external (``) stylesheets are processed, fetching any `@import` stylesheets as well. It's recommended to bundle stylesheets into one file to minimize request overhead. Once processing is done, a new `` tag is appended to the `` with processed properties. Properties for all vendors (Mozilla, Webkit, Opera, Microsoft) are included by default.\r\n\r\nInstalling\r\n----------\r\n\r\n[Download cssFx](https://github.com/imsky/cssFx/zipball/master) or install it with Bower: `bower install cssfx`.\r\n\r\nUsage\r\n-----\r\n\r\nInclude cssFx in your `` tag: ``\r\n\r\nMake sure any external stylesheets you want processed have the `cssfx` class.\r\n\r\nBrowsers Supported\r\n------------------\r\n\r\n * Firefox 3+\r\n * Chrome 1+\r\n * Internet Explorer 6+\r\n * Safari 3+\r\n * Opera 9+\r\n\r\nImportant Considerations\r\n------------------------\r\n\r\n* IE and other browsers remove either unknown properties or properties with unknown values. To guarantee that all properties are parsed, link your stylesheet externally.\r\n* To prevent FOUC (flash of unstyled content), place cssfx.js immediately under the stylesheet tags.\r\n* cssFx only adds prefixes. It does not polyfill functionality unavailable in the browser.\r\n\r\nLicense\r\n-------\r\n\r\ncssFx is provided under the MIT license.\r\n\r\nCredits\r\n-------\r\n\r\ncssFx is a project by [Ivan Malopinsky](http://imsky.co).\r\n","google":"","note":"Don't delete this file! It's used internally to help with page regeneration."} \ No newline at end of file diff --git a/stylesheets/print.css b/stylesheets/print.css new file mode 100644 index 0000000..541695b --- /dev/null +++ b/stylesheets/print.css @@ -0,0 +1,226 @@ +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, 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, +article, aside, canvas, details, embed, +figure, figcaption, footer, header, hgroup, +menu, nav, output, ruby, section, summary, +time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; +} +/* HTML5 display-role reset for older browsers */ +article, aside, details, figcaption, figure, +footer, header, hgroup, menu, nav, section { + display: block; +} +body { + line-height: 1; +} +ol, ul { + list-style: none; +} +blockquote, q { + quotes: none; +} +blockquote:before, blockquote:after, +q:before, q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +body { + font-size: 13px; + line-height: 1.5; + font-family: 'Helvetica Neue', Helvetica, Arial, serif; + color: #000; +} + +a { + color: #d5000d; + font-weight: bold; +} + +header { + padding-top: 35px; + padding-bottom: 10px; +} + +header h1 { + font-weight: bold; + letter-spacing: -1px; + font-size: 48px; + color: #303030; + line-height: 1.2; +} + +header h2 { + letter-spacing: -1px; + font-size: 24px; + color: #aaa; + font-weight: normal; + line-height: 1.3; +} +#downloads { + display: none; +} +#main_content { + padding-top: 20px; +} + +code, pre { + font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal; + color: #222; + margin-bottom: 30px; + font-size: 12px; +} + +code { + padding: 0 3px; +} + +pre { + border: solid 1px #ddd; + padding: 20px; + overflow: auto; +} +pre code { + padding: 0; +} + +ul, ol, dl { + margin-bottom: 20px; +} + + +/* COMMON STYLES */ + +table { + width: 100%; + border: 1px solid #ebebeb; +} + +th { + font-weight: 500; +} + +td { + border: 1px solid #ebebeb; + text-align: center; + font-weight: 300; +} + +form { + background: #f2f2f2; + padding: 20px; + +} + + +/* GENERAL ELEMENT TYPE STYLES */ + +h1 { + font-size: 2.8em; +} + +h2 { + font-size: 22px; + font-weight: bold; + color: #303030; + margin-bottom: 8px; +} + +h3 { + color: #d5000d; + font-size: 18px; + font-weight: bold; + margin-bottom: 8px; +} + +h4 { + font-size: 16px; + color: #303030; + font-weight: bold; +} + +h5 { + font-size: 1em; + color: #303030; +} + +h6 { + font-size: .8em; + color: #303030; +} + +p { + font-weight: 300; + margin-bottom: 20px; +} + +a { + text-decoration: none; +} + +p a { + font-weight: 400; +} + +blockquote { + font-size: 1.6em; + border-left: 10px solid #e9e9e9; + margin-bottom: 20px; + padding: 0 0 0 30px; +} + +ul li { + list-style: disc inside; + padding-left: 20px; +} + +ol li { + list-style: decimal inside; + padding-left: 3px; +} + +dl dd { + font-style: italic; + font-weight: 100; +} + +footer { + margin-top: 40px; + padding-top: 20px; + padding-bottom: 30px; + font-size: 13px; + color: #aaa; +} + +footer a { + color: #666; +} + +/* MISC */ +.clearfix:after { + clear: both; + content: '.'; + display: block; + visibility: hidden; + height: 0; +} + +.clearfix {display: inline-block;} +* html .clearfix {height: 1%;} +.clearfix {display: block;} \ No newline at end of file diff --git a/stylesheets/pygment_trac.css b/stylesheets/pygment_trac.css index e65cedf..c6a6452 100644 --- a/stylesheets/pygment_trac.css +++ b/stylesheets/pygment_trac.css @@ -1,65 +1,64 @@ -.highlight .hll { background-color: #ffffcc } -.highlight { background: #f0f3f3; } -.highlight .c { color: #0099FF; font-style: italic } /* Comment */ -.highlight .err { color: #AA0000; background-color: #FFAAAA } /* Error */ -.highlight .k { color: #006699; font-weight: bold } /* Keyword */ -.highlight .o { color: #555555 } /* Operator */ -.highlight .cm { color: #0099FF; font-style: italic } /* Comment.Multiline */ -.highlight .cp { color: #009999 } /* Comment.Preproc */ -.highlight .c1 { color: #0099FF; font-style: italic } /* Comment.Single */ -.highlight .cs { color: #0099FF; font-weight: bold; font-style: italic } /* Comment.Special */ -.highlight .gd { background-color: #FFCCCC; border: 1px solid #CC0000 } /* Generic.Deleted */ +.highlight { background: #ffffff; } +.highlight .c { color: #999988; font-style: italic } /* Comment */ +.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ +.highlight .k { font-weight: bold } /* Keyword */ +.highlight .o { font-weight: bold } /* Operator */ +.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */ +.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */ +.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */ +.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */ +.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ +.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */ .highlight .ge { font-style: italic } /* Generic.Emph */ -.highlight .gr { color: #FF0000 } /* Generic.Error */ -.highlight .gh { color: #003300; font-weight: bold } /* Generic.Heading */ -.highlight .gi { background-color: #CCFFCC; border: 1px solid #00CC00 } /* Generic.Inserted */ -.highlight .go { color: #AAAAAA } /* Generic.Output */ -.highlight .gp { color: #000099; font-weight: bold } /* Generic.Prompt */ +.highlight .gr { color: #aa0000 } /* Generic.Error */ +.highlight .gh { color: #999999 } /* Generic.Heading */ +.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ +.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */ +.highlight .go { color: #888888 } /* Generic.Output */ +.highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ -.highlight .gu { color: #003300; font-weight: bold } /* Generic.Subheading */ -.highlight .gt { color: #99CC66 } /* Generic.Traceback */ -.highlight .kc { color: #006699; font-weight: bold } /* Keyword.Constant */ -.highlight .kd { color: #006699; font-weight: bold } /* Keyword.Declaration */ -.highlight .kn { color: #006699; font-weight: bold } /* Keyword.Namespace */ -.highlight .kp { color: #006699 } /* Keyword.Pseudo */ -.highlight .kr { color: #006699; font-weight: bold } /* Keyword.Reserved */ -.highlight .kt { color: #007788; font-weight: bold } /* Keyword.Type */ -.highlight .m { color: #FF6600 } /* Literal.Number */ -.highlight .s { color: #CC3300 } /* Literal.String */ -.highlight .na { color: #330099 } /* Name.Attribute */ -.highlight .nb { color: #336666 } /* Name.Builtin */ -.highlight .nc { color: #00AA88; font-weight: bold } /* Name.Class */ -.highlight .no { color: #336600 } /* Name.Constant */ -.highlight .nd { color: #9999FF } /* Name.Decorator */ -.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ -.highlight .ne { color: #CC0000; font-weight: bold } /* Name.Exception */ -.highlight .nf { color: #CC00FF } /* Name.Function */ -.highlight .nl { color: #9999FF } /* Name.Label */ -.highlight .nn { color: #00CCFF; font-weight: bold } /* Name.Namespace */ -.highlight .nt { color: #330099; font-weight: bold } /* Name.Tag */ -.highlight .nv { color: #003333 } /* Name.Variable */ -.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */ +.highlight .gu { color: #800080; font-weight: bold; } /* Generic.Subheading */ +.highlight .gt { color: #aa0000 } /* Generic.Traceback */ +.highlight .kc { font-weight: bold } /* Keyword.Constant */ +.highlight .kd { font-weight: bold } /* Keyword.Declaration */ +.highlight .kn { font-weight: bold } /* Keyword.Namespace */ +.highlight .kp { font-weight: bold } /* Keyword.Pseudo */ +.highlight .kr { font-weight: bold } /* Keyword.Reserved */ +.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */ +.highlight .m { color: #009999 } /* Literal.Number */ +.highlight .s { color: #d14 } /* Literal.String */ +.highlight .na { color: #008080 } /* Name.Attribute */ +.highlight .nb { color: #0086B3 } /* Name.Builtin */ +.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */ +.highlight .no { color: #008080 } /* Name.Constant */ +.highlight .ni { color: #800080 } /* Name.Entity */ +.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */ +.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */ +.highlight .nn { color: #555555 } /* Name.Namespace */ +.highlight .nt { color: #000080 } /* Name.Tag */ +.highlight .nv { color: #008080 } /* Name.Variable */ +.highlight .ow { font-weight: bold } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ -.highlight .mf { color: #FF6600 } /* Literal.Number.Float */ -.highlight .mh { color: #FF6600 } /* Literal.Number.Hex */ -.highlight .mi { color: #FF6600 } /* Literal.Number.Integer */ -.highlight .mo { color: #FF6600 } /* Literal.Number.Oct */ -.highlight .sb { color: #CC3300 } /* Literal.String.Backtick */ -.highlight .sc { color: #CC3300 } /* Literal.String.Char */ -.highlight .sd { color: #CC3300; font-style: italic } /* Literal.String.Doc */ -.highlight .s2 { color: #CC3300 } /* Literal.String.Double */ -.highlight .se { color: #CC3300; font-weight: bold } /* Literal.String.Escape */ -.highlight .sh { color: #CC3300 } /* Literal.String.Heredoc */ -.highlight .si { color: #AA0000 } /* Literal.String.Interpol */ -.highlight .sx { color: #CC3300 } /* Literal.String.Other */ -.highlight .sr { color: #33AAAA } /* Literal.String.Regex */ -.highlight .s1 { color: #CC3300 } /* Literal.String.Single */ -.highlight .ss { color: #FFCC33 } /* Literal.String.Symbol */ -.highlight .bp { color: #336666 } /* Name.Builtin.Pseudo */ -.highlight .vc { color: #003333 } /* Name.Variable.Class */ -.highlight .vg { color: #003333 } /* Name.Variable.Global */ -.highlight .vi { color: #003333 } /* Name.Variable.Instance */ -.highlight .il { color: #FF6600 } /* Literal.Number.Integer.Long */ +.highlight .mf { color: #009999 } /* Literal.Number.Float */ +.highlight .mh { color: #009999 } /* Literal.Number.Hex */ +.highlight .mi { color: #009999 } /* Literal.Number.Integer */ +.highlight .mo { color: #009999 } /* Literal.Number.Oct */ +.highlight .sb { color: #d14 } /* Literal.String.Backtick */ +.highlight .sc { color: #d14 } /* Literal.String.Char */ +.highlight .sd { color: #d14 } /* Literal.String.Doc */ +.highlight .s2 { color: #d14 } /* Literal.String.Double */ +.highlight .se { color: #d14 } /* Literal.String.Escape */ +.highlight .sh { color: #d14 } /* Literal.String.Heredoc */ +.highlight .si { color: #d14 } /* Literal.String.Interpol */ +.highlight .sx { color: #d14 } /* Literal.String.Other */ +.highlight .sr { color: #009926 } /* Literal.String.Regex */ +.highlight .s1 { color: #d14 } /* Literal.String.Single */ +.highlight .ss { color: #990073 } /* Literal.String.Symbol */ +.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */ +.highlight .vc { color: #008080 } /* Name.Variable.Class */ +.highlight .vg { color: #008080 } /* Name.Variable.Global */ +.highlight .vi { color: #008080 } /* Name.Variable.Instance */ +.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */ .type-csharp .highlight .k { color: #0000FF } .type-csharp .highlight .kt { color: #0000FF } diff --git a/stylesheets/stylesheet.css b/stylesheets/stylesheet.css index 7a08b01..020ad6d 100644 --- a/stylesheets/stylesheet.css +++ b/stylesheets/stylesheet.css @@ -1,14 +1,7 @@ -/******************************************************************************* -Slate Theme for GitHub Pages -by Jason Costello, @jsncostello -*******************************************************************************/ - -@import url(pygment_trac.css); - -/******************************************************************************* -MeyerWeb Reset -*******************************************************************************/ - +/* http://meyerweb.com/eric/tools/css/reset/ + v2.0 | 20110126 + License: none (public domain) +*/ html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, @@ -18,406 +11,361 @@ b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, -article, aside, canvas, details, embed, -figure, figcaption, footer, header, hgroup, +article, aside, canvas, details, embed, +figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { - margin: 0; - padding: 0; - border: 0; - font: inherit; - vertical-align: baseline; + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; } - /* HTML5 display-role reset for older browsers */ -article, aside, details, figcaption, figure, +article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { - display: block; + display: block; +} +body { + line-height: 1; } - ol, ul { - list-style: none; + list-style: none; } - -table { - border-collapse: collapse; - border-spacing: 0; +blockquote, q { + quotes: none; } - -/******************************************************************************* -Theme Styles -*******************************************************************************/ - -body { - box-sizing: border-box; - color:#373737; - background: #212121; - font-size: 16px; - font-family: 'Myriad Pro', Calibri, Helvetica, Arial, sans-serif; - line-height: 1.5; - -webkit-font-smoothing: antialiased; +blockquote:before, blockquote:after, +q:before, q:after { + content: ''; + content: none; } - -h1, h2, h3, h4, h5, h6 { - margin: 10px 0; - font-weight: 700; - color:#222222; - font-family: 'Lucida Grande', 'Calibri', Helvetica, Arial, sans-serif; - letter-spacing: -1px; +table { + border-collapse: collapse; + border-spacing: 0; } -h1 { - font-size: 36px; - font-weight: 700; +/* LAYOUT STYLES */ +body { + font-size: 1em; + line-height: 1.5; + background: #e7e7e7 url(../images/body-bg.png) 0 0 repeat; + font-family: 'Helvetica Neue', Helvetica, Arial, serif; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8); + color: #6d6d6d; } -h2 { - padding-bottom: 10px; - font-size: 32px; - background: url('../images/bg_hr.png') repeat-x bottom; +a { + color: #d5000d; } - -h3 { - font-size: 24px; +a:hover { + color: #c5000c; } -h4 { - font-size: 21px; +header { + padding-top: 35px; + padding-bottom: 25px; } -h5 { - font-size: 18px; +header h1 { + font-family: 'Chivo', 'Helvetica Neue', Helvetica, Arial, serif; font-weight: 900; + letter-spacing: -1px; + font-size: 48px; + color: #303030; + line-height: 1.2; } -h6 { - font-size: 16px; +header h2 { + letter-spacing: -1px; + font-size: 24px; + color: #aaa; + font-weight: normal; + line-height: 1.3; } -p { - margin: 10px 0 15px 0; +#container { + background: transparent url(../images/highlight-bg.jpg) 50% 0 no-repeat; + min-height: 595px; } -footer p { - color: #f2f2f2; +.inner { + width: 620px; + margin: 0 auto; } -a { - text-decoration: none; - color: #007edf; - text-shadow: none; - - transition: color 0.5s ease; - transition: text-shadow 0.5s ease; - -webkit-transition: color 0.5s ease; - -webkit-transition: text-shadow 0.5s ease; - -moz-transition: color 0.5s ease; - -moz-transition: text-shadow 0.5s ease; - -o-transition: color 0.5s ease; - -o-transition: text-shadow 0.5s ease; - -ms-transition: color 0.5s ease; - -ms-transition: text-shadow 0.5s ease; +#container .inner img { + max-width: 100%; } -a:hover, a:focus {text-decoration: underline;} - -footer a { - color: #F2F2F2; - text-decoration: underline; +#downloads { + margin-bottom: 40px; +} + +a.button { + -moz-border-radius: 30px; + -webkit-border-radius: 30px; + border-radius: 30px; + border-top: solid 1px #cbcbcb; + border-left: solid 1px #b7b7b7; + border-right: solid 1px #b7b7b7; + border-bottom: solid 1px #b3b3b3; + color: #303030; + line-height: 25px; + font-weight: bold; + font-size: 15px; + padding: 12px 8px 12px 8px; + display: block; + float: left; + width: 179px; + margin-right: 14px; + background: #fdfdfd; /* Old browsers */ + background: -moz-linear-gradient(top, #fdfdfd 0%, #f2f2f2 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fdfdfd), color-stop(100%,#f2f2f2)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #fdfdfd 0%,#f2f2f2 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #fdfdfd 0%,#f2f2f2 100%); /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #fdfdfd 0%,#f2f2f2 100%); /* IE10+ */ + background: linear-gradient(top, #fdfdfd 0%,#f2f2f2 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fdfdfd', endColorstr='#f2f2f2',GradientType=0 ); /* IE6-9 */ + -webkit-box-shadow: 10px 10px 5px #888; + -moz-box-shadow: 10px 10px 5px #888; + box-shadow: 0px 1px 5px #e8e8e8; +} +a.button:hover { + border-top: solid 1px #b7b7b7; + border-left: solid 1px #b3b3b3; + border-right: solid 1px #b3b3b3; + border-bottom: solid 1px #b3b3b3; + background: #fafafa; /* Old browsers */ + background: -moz-linear-gradient(top, #fdfdfd 0%, #f6f6f6 100%); /* FF3.6+ */ + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fdfdfd), color-stop(100%,#f6f6f6)); /* Chrome,Safari4+ */ + background: -webkit-linear-gradient(top, #fdfdfd 0%,#f6f6f6 100%); /* Chrome10+,Safari5.1+ */ + background: -o-linear-gradient(top, #fdfdfd 0%,#f6f6f6 100%); /* Opera 11.10+ */ + background: -ms-linear-gradient(top, #fdfdfd 0%,#f6f6f6 100%); /* IE10+ */ + background: linear-gradient(top, #fdfdfd 0%,#f6f6f6, 100%); /* W3C */ + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fdfdfd', endColorstr='#f6f6f6',GradientType=0 ); /* IE6-9 */ +} + +a.button span { + padding-left: 50px; + display: block; + height: 23px; } -em { - font-style: italic; +#download-zip span { + background: transparent url(../images/zip-icon.png) 12px 50% no-repeat; } - -strong { - font-weight: bold; +#download-tar-gz span { + background: transparent url(../images/tar-gz-icon.png) 12px 50% no-repeat; } - -img { - position: relative; - margin: 0 auto; - max-width: 739px; - padding: 5px; - margin: 10px 0 10px 0; - border: 1px solid #ebebeb; - - box-shadow: 0 0 5px #ebebeb; - -webkit-box-shadow: 0 0 5px #ebebeb; - -moz-box-shadow: 0 0 5px #ebebeb; - -o-box-shadow: 0 0 5px #ebebeb; - -ms-box-shadow: 0 0 5px #ebebeb; +#view-on-github span { + background: transparent url(../images/octocat-icon.png) 12px 50% no-repeat; } - -p img { - display: inline; - margin: 0; - padding: 0; - vertical-align: middle; - text-align: center; - border: none; +#view-on-github { + margin-right: 0; } -pre, code { - width: 100%; +code, pre { + font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal; color: #222; - background-color: #fff; - - font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal, monospace; + margin-bottom: 30px; font-size: 14px; +} - border-radius: 2px; - -moz-border-radius: 2px; - -webkit-border-radius: 2px; +code { + background-color: #f2f2f2; + border: solid 1px #ddd; + padding: 0 3px; } pre { - width: 100%; - padding: 10px; - box-shadow: 0 0 10px rgba(0,0,0,.1); + padding: 20px; + background: #303030; + color: #f2f2f2; + text-shadow: none; overflow: auto; } - -code { - padding: 3px; - margin: 0 3px; - box-shadow: 0 0 10px rgba(0,0,0,.1); -} - pre code { - display: block; - box-shadow: none; + color: #f2f2f2; + background-color: #303030; + border: none; + padding: 0; } -blockquote { - color: #666; +ul, ol, dl { margin-bottom: 20px; - padding: 0 0 0 20px; - border-left: 3px solid #bbb; } -ul, ol, dl { - margin-bottom: 15px -} - -ul { - list-style: inside; - padding-left: 20px; -} +/* COMMON STYLES */ -ol { - list-style: decimal inside; - padding-left: 20px; +hr { + height: 1px; + line-height: 1px; + margin-top: 1em; + padding-bottom: 1em; + border: none; + background: transparent url('../images/hr.png') 50% 0 no-repeat; } -dl dt { +strong { font-weight: bold; } -dl dd { - padding-left: 20px; - font-style: italic; -} - -dl p { - padding-left: 20px; +em { font-style: italic; } -hr { - height: 1px; - margin-bottom: 5px; - border: none; - background: url('../images/bg_hr.png') repeat-x center; -} - table { - border: 1px solid #373737; - margin-bottom: 20px; - text-align: left; - } + width: 100%; + border: 1px solid #ebebeb; +} th { - font-family: 'Lucida Grande', 'Helvetica Neue', Helvetica, Arial, sans-serif; - padding: 10px; - background: #373737; - color: #fff; - } + font-weight: 500; +} td { - padding: 10px; - border: 1px solid #373737; - } + border: 1px solid #ebebeb; + text-align: center; + font-weight: 300; +} form { background: #f2f2f2; padding: 20px; + } -/******************************************************************************* -Full-Width Styles -*******************************************************************************/ -.outer { - width: 100%; -} +/* GENERAL ELEMENT TYPE STYLES */ -.inner { - position: relative; - max-width: 640px; - padding: 20px 10px; - margin: 0 auto; -} +h1 { + font-size: 32px; +} -#forkme_banner { - display: block; - position: absolute; - top:0; - right: 10px; - z-index: 10; - padding: 10px 50px 10px 10px; - color: #fff; - background: url('../images/blacktocat.png') #0090ff no-repeat 95% 50%; - font-weight: 700; - box-shadow: 0 0 10px rgba(0,0,0,.5); - border-bottom-left-radius: 2px; - border-bottom-right-radius: 2px; -} - -#header_wrap { - background: #212121; - background: -moz-linear-gradient(top, #373737, #212121); - background: -webkit-linear-gradient(top, #373737, #212121); - background: -ms-linear-gradient(top, #373737, #212121); - background: -o-linear-gradient(top, #373737, #212121); - background: linear-gradient(top, #373737, #212121); -} - -#header_wrap .inner { - padding: 50px 10px 30px 10px; -} - -#project_title { - margin: 0; - color: #fff; - font-size: 42px; - font-weight: 700; - text-shadow: #111 0px 0px 10px; -} - -#project_tagline { - color: #fff; - font-size: 24px; +h2 { + font-size: 22px; + font-weight: bold; + color: #303030; + margin-bottom: 8px; +} + +h3 { + color: #d5000d; + font-size: 18px; + font-weight: bold; + margin-bottom: 8px; +} + +h4 { + font-size: 16px; + color: #303030; + font-weight: bold; +} + +h5 { + font-size: 1em; + color: #303030; +} + +h6 { + font-size: .8em; + color: #303030; +} + +p { font-weight: 300; - background: none; - text-shadow: #111 0px 0px 10px; + margin-bottom: 20px; +} + +a { + text-decoration: none; } -#downloads { - position: absolute; - width: 210px; - z-index: 10; - bottom: -40px; - right: 0; - height: 70px; - background: url('../images/icon_download.png') no-repeat 0% 90%; +p a { + font-weight: 400; } -.zip_download_link { - display: block; - float: right; - width: 90px; - height:70px; - text-indent: -5000px; - overflow: hidden; - background: url(../images/sprite_download.png) no-repeat bottom left; +blockquote { + font-size: 1.6em; + border-left: 10px solid #e9e9e9; + margin-bottom: 20px; + padding: 0 0 0 30px; } -.tar_download_link { - display: block; - float: right; - width: 90px; - height:70px; - text-indent: -5000px; - overflow: hidden; - background: url(../images/sprite_download.png) no-repeat bottom right; - margin-left: 10px; +ul li { + list-style: disc inside; + padding-left: 20px; } -.zip_download_link:hover { - background: url(../images/sprite_download.png) no-repeat top left; +ol li { + list-style: decimal inside; + padding-left: 3px; } -.tar_download_link:hover { - background: url(../images/sprite_download.png) no-repeat top right; +dl dt { + color: #303030; } -#main_content_wrap { - background: #f2f2f2; - border-top: 1px solid #111; - border-bottom: 1px solid #111; +footer { + background: transparent url('../images/hr.png') 0 0 no-repeat; + margin-top: 40px; + padding-top: 20px; + padding-bottom: 30px; + font-size: 13px; + color: #aaa; } -#main_content { - padding-top: 40px; +footer a { + color: #666; +} +footer a:hover { + color: #444; } -#footer_wrap { - background: #212121; +/* MISC */ +.clearfix:after { + clear: both; + content: '.'; + display: block; + visibility: hidden; + height: 0; } +.clearfix {display: inline-block;} +* html .clearfix {height: 1%;} +.clearfix {display: block;} +/* #Media Queries +================================================== */ -/******************************************************************************* -Small Device Styles -*******************************************************************************/ +/* Smaller than standard 960 (devices and browsers) */ +@media only screen and (max-width: 959px) {} -@media screen and (max-width: 480px) { - body { - font-size:14px; - } +/* Tablet Portrait size to standard 960 (devices and browsers) */ +@media only screen and (min-width: 768px) and (max-width: 959px) {} +/* All Mobile Sizes (devices and browser) */ +@media only screen and (max-width: 767px) { + header { + padding-top: 10px; + padding-bottom: 10px; + } #downloads { + margin-bottom: 25px; + } + #download-zip, #download-tar-gz { display: none; } - .inner { - min-width: 320px; - max-width: 480px; - } - - #project_title { - font-size: 32px; - } - - h1 { - font-size: 28px; - } - - h2 { - font-size: 24px; - } - - h3 { - font-size: 21px; - } - - h4 { - font-size: 18px; - } - - h5 { - font-size: 14px; + width: 94%; + margin: 0 auto; } +} - h6 { - font-size: 12px; - } +/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */ +@media only screen and (min-width: 480px) and (max-width: 767px) {} - code, pre { - min-width: 320px; - max-width: 480px; - font-size: 11px; - } - -} +/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */ +@media only screen and (max-width: 479px) {}