From 20571cb5d77f926f2e008d8a72519f858364b4b0 Mon Sep 17 00:00:00 2001 From: Phillip Johnsen Date: Tue, 25 Aug 2015 11:16:48 +0200 Subject: [PATCH] Added the download matrix on the downloads page. More or less copy-n-paste of the current nodejs.org downloads matrix, with some minor adjustments. --- layouts/css/_variables.styl | 3 +- layouts/css/base.styl | 8 ++ layouts/css/page-modules/_download.styl | 125 +++++++++++++++++++----- layouts/download.hbs | 78 ++++++++++++++- locale/en/download.md | 1 + static/images/platform-icon-generic.png | Bin 0 -> 5526 bytes static/images/platform-icon-osx.png | Bin 0 -> 4076 bytes static/images/platform-icon-win.png | Bin 0 -> 6076 bytes 8 files changed, 188 insertions(+), 27 deletions(-) create mode 100644 static/images/platform-icon-generic.png create mode 100644 static/images/platform-icon-osx.png create mode 100644 static/images/platform-icon-win.png diff --git a/layouts/css/_variables.styl b/layouts/css/_variables.styl index 56b88608ab9e0..8b291f5c33299 100644 --- a/layouts/css/_variables.styl +++ b/layouts/css/_variables.styl @@ -3,7 +3,8 @@ $body-max-width = 980px $node-green = #80bd01 $node-gray = #333 $lightgray = #999 - +$darkgray = #666 +$lightgreen = #f1fbda padded-link($padding) padding-left $padding diff --git a/layouts/css/base.styl b/layouts/css/base.styl index 5eec347bd885d..9fb263e087b75 100644 --- a/layouts/css/base.styl +++ b/layouts/css/base.styl @@ -19,6 +19,8 @@ h4, h5 font-weight normal +ul + padding 0 a, a:link, @@ -56,6 +58,9 @@ pre code color #f0f0f0 +small + font-size 10px + // Import specific page sections and layout parts @import 'layout/_sticky-footer' @import 'layout/_grid' @@ -112,3 +117,6 @@ pre article margin-left 200px + +.full-width + width 100% diff --git a/layouts/css/page-modules/_download.styl b/layouts/css/page-modules/_download.styl index 68f62300c1741..1034c0517c026 100644 --- a/layouts/css/page-modules/_download.styl +++ b/layouts/css/page-modules/_download.styl @@ -1,67 +1,146 @@ +.download-hero + display table + margin-bottom 1em + + ul + text-align center + margin 0 auto + display table-row + + li + width 33% + display table-cell + + a + display block + width 100% + padding-top 1em + background $lightgreen + + img + display block + margin 0 auto + + small + font-size 10px + display block + color $lightgray + padding-bottom 1em + + a:hover, a:active + background $darkgray + color $node-green + +.download-matrix + th + text-align left + width 33% + + td + border 1px solid #ccc + + a + background none + display block + height 100% + width 100% + text-align center + + a:hover, a:active + background $darkgray + color $node-green + h5.download-table-previous-releases-header margin-bottom 5px .download-table - width 100% font-size small border 1px solid #C0C0C0 - + td padding 5px > thead font-weight bold - + > tbody td border-top 1px solid #C0C0C0 - + tr:nth-child(odd) background-color #eee - + tr:nth-child(even) background-color #fff td.download-table-last text-align right - + > a padding 0 10px - + @media (max-width: 700px) + .download-hero ul + width auto + display block + + li + display block + width 100% + margin-bottom 1em + + .download-matrix + display block + + th + display block + width 100% + + tr + display block + margin-bottom 1em + + td + display block + border 0 + + a + text-align left + + .download-table border 0 - + > thead display none - + tr margin-bottom 10px display block - + td display block text-align right - + td:last-child border-bottom 0 - - td:before + + td:before content attr(data-label) - float left + float left font-weight bold - - > thead > tr > th, - > tbody > tr > th, - > tfoot > tr > th, - > thead > tr > td, - > tbody > tr > td, - > tfoot > tr > td, + + > thead > tr > th, + > tbody > tr > th, + > tfoot > tr > th, + > thead > tr > td, + > tbody > tr > td, + > tfoot > tr > td, > tbody td border none - + .download-table > tbody td border none - + td.download-table-last text-align center diff --git a/layouts/download.hbs b/layouts/download.hbs index 4f5301c4f05e5..af56e303e2777 100644 --- a/layouts/download.hbs +++ b/layouts/download.hbs @@ -24,11 +24,83 @@ section h2 {

Downloads

-

{{introduction}}

+ +
+

{{introduction}}

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Windows Installer (.msi)32-bit64-bit
Windows Binary (.exe)32-bit64-bit
Mac OS X Installer (.pkg)Universal
Mac OS X Binaries (.tar.gz)64-bit
Linux Binaries (.tar.gz)32-bit64-bit
Source Code + iojs-{{project.currentVersion}}.tar.gz +
+ +

+ {{current-version}}: {{project.currentVersion}} +

+

{{build-disclaimer}}

+

io.js

- {{current-version}}: {{project.currentVersion}}

{{iojs.intro}}

@@ -36,7 +108,7 @@ section h2 {
Previous Releases
- +
diff --git a/locale/en/download.md b/locale/en/download.md index 1ea816ad7ffe6..46bdc0175735a 100644 --- a/locale/en/download.md +++ b/locale/en/download.md @@ -3,6 +3,7 @@ layout: download.hbs title: Download introduction: Download the Node.js source code or a pre-built installer for your platform, and start developing today. current-version: Current version +build-disclaimer: "Note: Python 2.6 or 2.7 is required to build from source tarballs." iojs: intro: "In May 2015, the io.js project TSC voted to join the Node.js Foundation and merge back with Node.js. While the project streams are being converged, io.js releases will continue in parallel." diff --git a/static/images/platform-icon-generic.png b/static/images/platform-icon-generic.png new file mode 100644 index 0000000000000000000000000000000000000000..90fc36a08c1aaa7c2161067e24b978de2c73ce0f GIT binary patch literal 5526 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 Y0Iqgve5XkZ<^TWy07*qoM6N<$g4nZ;H~;_u literal 0 HcmV?d00001 diff --git a/static/images/platform-icon-osx.png b/static/images/platform-icon-osx.png new file mode 100644 index 0000000000000000000000000000000000000000..0bd6582c4cf8dbdbb619eef0e2ab830378240ac4 GIT binary patch literal 4076 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

V>-_ zFRdaViIP9cJr~)PpZ@t3+)I_SB}~WinicNNR^v z9r9p9jex0>--{fVAz`v~5jv@UCyOg$?Qj*T%yqPyueXwTtrdrUl2~&t%n)uz!UFJg ztpJl8u3hY52J^DuVMh^kr~B2tQD&4i?Jh&UHYI+_(K^GDdWV%ve{knnCng9_`m9Aj zZH#xo#?XV%Ne5r~K^aiGsOl9^f~+eVZ5u>F2rouPKTeWrYVU*3M(k$6_>JHMhInMD zZsRHC1}rI=0l0+>OGngdqmmad5(&w3kqnPf8-7~8=QYrH67+dFJ<~KHdorwrr@p`8 z_F-@yFRM``L+a_rP2#d>pq->~3eeeA>UI#(#&{WMqSiaL5ODC&7DU~S!^D7dbz%fJSrwX37A zk$|6-@~Xtae9jL#35aF-{W~#Y0r0C(ERVyBP0*JNG&}Tc$&)MKc3KiflvbS$PH9y9 z$k6c!gz}UJ?Q7wE#MsuVh&!#y6XJzRUX9Fcj<|G*)})K0b@xWyGU1a|cW1<|SeE}5 zU@MdNYx*q_wO=o^|NIy`4#qOKX)-yY6>o#9(tYsWsA;!5E#9n5hy$!9+)BXJPBwWP zTQK6rB*ult^$Z(9xy-%3^nM-Le%xZl(2i1V=-!kGu^R*7aZLvoF(!N9hFC5bRMES2 z2djB_Wx4uU1I-zh%z(NFqW(P=lAOX3^+cthbhd=kJSlQFxxYJ7HfV53F8rrg!K$>E zPvuQwlgUIExpfgY+SH3sC=SEZVX=F-!AY_g-WT=!^J*%Oi=EOE%T^m2=v0rq(M|^| z7ri6|oXU#CX~D2XRPHZGyGO;7sxC+EMEIN)hpt3N@HULxuZQu{7{1Kml-lS``> z+^L|EYM%r3WPH{Qe5lgIl+l;`80az(Q^n~qMb}EwY0Y&6EONKq(x}{_tERXU*45Fv zTdV}+RKz>nl*Ytv0(+*}jj(K>lRY@sX*Jg}(Xg~`fg2~`fLDQEklXbd7pV~NW2G^e zj(2-C=_b6|6ev3_gpsRQwY*HkyH$r!V!%qlwXq!B=;Uydlg0IXT}~~Xt_pOgRSn$P zWB4@JJzFsehRHjSsjX4Fb)ntB9UgCRa)FmJ6P@^W1|h8cfvM`W*z3;1PpcDRXRV;O ztMPbCb}l$)ePt&#FySUp&Gb(A=+g5guMFcvqxa(|{D@0zN!vPRT-}ph4Ij)5;QL8R z+ts|lJR6(ZB)nEF;9J<7Y(k&L^)8IQ6*} zdKpJJ8Oo{s<^*VNFV2+u)6eE>y8Ei}*}wyL<`{ghJSM(ZIBfLWS^uM5*TMtb7SU{( zD2<3G$BFQRfX>Dg^|KCAw2xry^9)bJ4mn*rTJH7hx!7 zlv2~kBD;o#z=h^smACB?HW}P?k%nt|NA)-558YWg!ehG_hY1lMyrSw=rFFTTl-y9X zg1nR!5FyYk!Lvi~LtXbQe@TGm+u%$}_yafG3xeI;N!#3AF^Y*Nx311xLU0Y9xJbW( zaYg)AR-#itrq6_Izrk6R*T?tCKPR95*yV1SV2_K7BFRYq+?|2L(5&6K(DO===#$H} zQ7ogNRCrT-fpp|Q=hnc-+t%X8?KEDc-*d4y*q#?=&|XGfyhtwH_s3rg9-2H}MR^g? zxnh7mMY2ee-4f&{_lqx9CgoQXo$5o$75KaSyIY3SXurc#%f6NbY_na$14S&D8-AWE zjljdj(;U%rqiez}33W1xm!dWFIf@ztp}#8=~8xGvd&?=s_JORNoVBuO8j z_t=Ya{&i^?)Vz{7Qk@pBkZSt5J1d?qPvUE)CF{+lqHF5hM*qr1bbUqZ2iPyuDs4f~ z0=fls>u3Sp0=fls>u3Sp0=jjyfNlZ(D}MZ+00RJ4*2W6VDti_H0000

Version