changeset 1308:f0383f5cfbb8

Design: reworked main layout.
author Valentin Bartenev <vbart@nginx.com>
date Fri, 26 Sep 2014 19:12:57 +0400
parents c9e57a486a4b
children 59f7fb43e39c
files binary/nginx.clean.gif binary/nginx.gif binary/nginx.png xsls/body.xsls xsls/style.xsls
diffstat 5 files changed, 53 insertions(+), 54 deletions(-) [+]
line wrap: on
line diff
deleted file mode 100644
index 21bea956627739c66b31e45f2fff9ef129dd59b3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
deleted file mode 100644
index 10490e9c9c9e876418fd5f3f8fbcc82d81821d37..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
new file mode 100644
index 0000000000000000000000000000000000000000..6d2dc15842a1eb799a6dca2e63c5c138ea3eb96a
GIT binary patch
literal 4621
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
HJB0loNNFX@
--- a/xsls/body.xsls
+++ b/xsls/body.xsls
@@ -16,53 +16,33 @@ X:template body (lang) {
     }
 
     <body>
-    <table width="100%">
-    <tr>
-        <td width="70%">
-            <div id="banner">
-                X:if "@lang = 'he'" { X:attribute "class" { X:text{ltr} } }
-                <center>
-                <table>
-                    <tr>
-                        <td align="center">
-                            <strong>Join our upcoming user conference,
-                            <a href="http://nginx.com/nginxconf/?utm_source=nginxorg&amp;utm_medium=banner&amp;utm_campaign=nginxconf2014"
-                            onClick="ga('send', 'event', 'banner', 'click', 'nginxconf14');">nginx.conf 2014</a>.</strong>
-                        </td>
-                    </tr>
-                    <tr>
-                        <td align="center">
-                            <i>Learn, share, and celebrate 10 years of NGINX! Oct. 20-22,
-                            Hyatt Regency San Francisco Airport.</i>
-                        </td>
-                    </tr>
-                </table>
-                </center>
-            </div>
-        </td>
-        <td align="right">
+
+    <div id="banner">
+        X:if "@lang = 'he'" { X:attribute "class" { X:text{ltr} } }
+        <strong>Join our upcoming user conference,
+        <a href="http://nginx.com/nginxconf/?utm_source=nginxorg&amp;utm_medium=banner&amp;utm_campaign=nginxconf2014" onClick="ga('send', 'event', 'banner', 'click', 'nginxconf14');">nginx.conf 2014</a></strong><br/>
+        <em>Learn, share, and celebrate 10 years of NGINX! Oct. 20-22,
+        Hyatt Regency San Francisco Airport.</em>
+    </div>
+
+    <div id="main">
+    <div id="menu">
+        <h1>
             X:if "@lang = 'he'" { X:attribute "align" { X:text{left} } }
-            <a href="http://nginx.org">
-                <img src="http://nginx.org/nginx.gif" alt="nginx" border="0"/>
+            <a href="/">
+                <img src="/nginx.png" alt="nginx" />
             </a>
-        </td>
-    </tr>
-
-    <tr>
-        <td width="70%"><center><h3>
-            !{@name} X:if "$YEAR" { X:text{: } !{$YEAR} }
-        </h3></center></td>
+        </h1>
+        <div>
+        !! "document(concat($XML, '/menu.xml'))
+                        /menus/menu[@lang = $lang]/item";
+        </div>
+    </div>
 
-        <td rowspan="2" align="{$MENU_ALIGN}" valign="top">
-            <br/>
-
-            !! "document(concat($XML, '/menu.xml'))
-                         /menus/menu[@lang = $lang]/item";
-        </td>
-
-    </tr>
-
-    <tr><td valign="top">
+    <div id="content">
+        <h2>
+        !{@name} X:if "$YEAR" { X:text{: } !{$YEAR} }
+        </h2>
 
         X:if "$ORIGIN and document(concat($XML, '/', $ORIGIN))/*/@rev and
               (not(@rev) or
@@ -130,10 +110,8 @@ X:template body (lang) {
 
             </td></tr></table>
         }
-
-    </td></tr>
-
-    </table>
+    </div>
+    </div>
     </body>
 
 }
--- a/xsls/style.xsls
+++ b/xsls/style.xsls
@@ -11,8 +11,31 @@ X:template style (lang) {
         body              { background:     white;
                             color:          black;
                             font-family:    Georgia, serif;
+                            text-align:     center;
                             margin:         0;
-                            padding:        .5em .5em .5em 1.5em; }
+                            padding:        0; }
+        #banner           { background:     black;
+                            color:          #F2F2F2;
+                            padding:        .3em 0;
+                            box-shadow:     0 5px 10px black; }
+        #banner a         { color:          #00B140; }
+        #main             { text-align:     left;
+                            margin:         0 auto;
+                            min-width:      32em;
+                            max-width:      64em; }
+        #menu             { float:          right;
+                            width:          11em;
+                            padding:        0 .5em 1em .5em;
+                            border-left:    2px solid #DDD; }
+        #content          { margin-right:   13.5em;
+                            padding:        0 .2em 0 1.5em; }
+        h1                { display:        block;
+                            font-size:      3em;
+                            text-align:     left;
+                            margin:         0;
+                            margin-bottom:  .5em; }
+        h1 img            { width:          100%; }
+        h2                { text-align:     center; }
         p                 { text-align:     justify; }
         table.news p      { margin-top:     0; }
         table.news td     { vertical-align: baseline; }
@@ -21,11 +44,10 @@ X:template style (lang) {
                             white-space:    nowrap; }
         table.donors td   { vertical-align: baseline; }
         table.donors li   { text-align:     left; }
-        div.directive, #banner {
-                            background:     #F2F2F2;
+        div.directive     { background:     #F2F2F2;
                             margin:         1em 0 1em -1em;
-                            padding:        .7em .7em .7em 1em; }
-        div.directive     { border-top:     2px solid #DDD; }
+                            padding:        .7em .7em .7em 1em;
+                            border-top:     2px solid #DDD; }
         div.directive th  { padding-left:   0;
                             padding-right:  .5em;
                             vertical-align: baseline;
@@ -36,7 +58,6 @@ X:template style (lang) {
                             margin:         0; }
         div.directive p   { margin:         .5em 0 0 .1em;
                             font-size:      .8em; }
-        #banner           { margin:         0 0 0 -1em; }
         a.notrans         { color:          gray;
                             text-decoration:none; }
         span.initial      { font-size:      200%;