瀏覽代碼

footer, ie8 compatibility, fixing tabs

Vjacheslav Trushkin 13 年之前
父節點
當前提交
3cb88e576d

+ 35 - 9
src/Packagist/WebBundle/Resources/public/css/main.css

@@ -79,11 +79,16 @@ h1, h2, h3, h4, h5, h6 { font-weight: bold; }
     \\ ========================================== //
 */
 
+html {
+  height: 100%;
+}
+
 body {
-  background: #e5e5e5 url("../img/texture.png");
+  background: #555 url("../img/texture.png");
   font-size: 15px;
   font-family: Helvetica, Arial;
   color: #555;
+  min-height: 100%;
 }
 
 a, a:visited, a:active {
@@ -95,6 +100,13 @@ a:hover {
 }
 
 .container {
+  background: #e5e5e5 url("../img/texture.png");
+  padding-bottom: 20px;
+  border-bottom: 1px solid #fafafa;
+  min-height: 400px;
+}
+
+.container > div, .container > header {
   width: 900px;
   margin: auto;
 }
@@ -144,20 +156,34 @@ header {
 }
 
 .main:after {
-	display: block;
-	content: '';
-	clear: both;
+  display: block;
+  content: '';
+  clear: both;
 }
 
 footer {
-  padding-top: 30px;
-  margin-top: 30px;
+  width: 900px;
+  margin: 0 auto;
+  padding: 10px 0 4px;
 }
 footer ul {
   width: 20%;
   list-style: none;
   float: right;
 }
+footer li {
+  margin: 0;
+  padding: 2px;
+}
+footer a, footer a:visited {
+  color: #ddd;
+  padding-left: 11px;
+  background: url("../img/footer_arrows.png") 0 2px no-repeat;
+}
+footer a:hover {
+  color: #fff;
+  background-position: 0 -18px;
+}
 
 .flash-message {
   font-size: 20px;
@@ -252,7 +278,7 @@ ul.packages li {
   padding-left: 10px;
 }
 ul.packages section {
-  position: relative;	
+  position: relative;  
 }
 ul.packages h1 {
   font-family: Verdana;
@@ -315,8 +341,8 @@ ul.packages p:last-child {
 }
 
 ul.packages p a {
-	color: #fff;
-	text-decoration: underline;
+  color: #fff;
+  text-decoration: underline;
 }
 
 label {

二進制
src/Packagist/WebBundle/Resources/public/img/footer_arrows.png


+ 4 - 0
src/Packagist/WebBundle/Resources/public/js/html5.js

@@ -0,0 +1,4 @@
+// iepp v2.1pre @jon_neal & @aFarkas github.com/aFarkas/iepp
+// html5shiv @rem remysharp.com/html5-enabling-script
+// Dual licensed under the MIT or GPL Version 2 licenses
+/*@cc_on(function(a,b){function r(a){var b=-1;while(++b<f)a.createElement(e[b])}if(!window.attachEvent||!b.createStyleSheet||!function(){var a=document.createElement("div");return a.innerHTML="<elem></elem>",a.childNodes.length!==1}())return;a.iepp=a.iepp||{};var c=a.iepp,d=c.html5elements||"abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|subline|summary|time|video",e=d.split("|"),f=e.length,g=new RegExp("(^|\\s)("+d+")","gi"),h=new RegExp("<(/*)("+d+")","gi"),i=/^\s*[\{\}]\s*$/,j=new RegExp("(^|[^\\n]*?\\s)("+d+")([^\\n]*)({[\\n\\w\\W]*?})","gi"),k=b.createDocumentFragment(),l=b.documentElement,m=b.getElementsByTagName("script")[0].parentNode,n=b.createElement("body"),o=b.createElement("style"),p=/print|all/,q;c.getCSS=function(a,b){try{if(a+""===undefined)return""}catch(d){return""}var e=-1,f=a.length,g,h=[];while(++e<f){g=a[e];if(g.disabled)continue;b=g.media||b,p.test(b)&&h.push(c.getCSS(g.imports,b),g.cssText),b="all"}return h.join("")},c.parseCSS=function(a){var b=[],c;while((c=j.exec(a))!=null)b.push(((i.exec(c[1])?"\n":c[1])+c[2]+c[3]).replace(g,"$1.iepp-$2")+c[4]);return b.join("\n")},c.writeHTML=function(){var a=-1;q=q||b.body;while(++a<f){var c=b.getElementsByTagName(e[a]),d=c.length,g=-1;while(++g<d)c[g].className.indexOf("iepp-")<0&&(c[g].className+=" iepp-"+e[a])}k.appendChild(q),l.appendChild(n),n.className=q.className,n.id=q.id,n.innerHTML=q.innerHTML.replace(h,"<$1font")},c._beforePrint=function(){if(c.disablePP)return;o.styleSheet.cssText=c.parseCSS(c.getCSS(b.styleSheets,"all")),c.writeHTML()},c.restoreHTML=function(){if(c.disablePP)return;n.swapNode(q)},c._afterPrint=function(){c.restoreHTML(),o.styleSheet.cssText=""},r(b),r(k);if(c.disablePP)return;m.insertBefore(o,m.firstChild),o.media="print",o.className="iepp-printshim",a.attachEvent("onbeforeprint",c._beforePrint),a.attachEvent("onafterprint",c._afterPrint)})(this,document)@*/

+ 28 - 28
src/Packagist/WebBundle/Resources/views/Web/index.html.twig

@@ -3,37 +3,37 @@
 {% block content %}
     {% block content_title %}<h1>Packages</h1>{% endblock %}
     {% if packages|length %}
-	<ul class="packages">
+    <ul class="packages">
     {% for package in packages %}
-    	<li>
-    		<section>
-				<h1><a href="{{ url('view', { 'name' : package.name }) }}">{{ package.name }}</a></h1>
-    			<div class="package-details"><div>
-				{% if package.versions|length %}
-					<p class="description">{{ package.versions[0].description }}</p>
-					<p class="license">License: {{ package.versions[0].license ? package.versions[0].license|join(', ') : "Unknown" }}</p>
-					<p class="links">
-						{% if package.versions[0].homepage %}
-							Homepage: <a href="{{ package.versions[0].homepage }}">{{ package.versions[0].homepage|replace({'http://': ''}) }}</a><br />
-						{% endif %}
-						Tags: {% for tag in package.versions[0].tags %}<a href="{{ url("tag", { "name" : tag.name }) }}">{{ tag.name }}</a>{{ loop.last ? '' : ', ' }}{% endfor %}
-					</p>
-				{% elseif package.crawledAt is null %}
-					<p>This package has not been crawled yet, some information is missing.</p>
-				{% else %}
-					<p>This package has no released version yet, and little information is available yet.</p>
-				{% endif %}
-	
-				<p class="maintainers">Maintainer{{ package.maintainers|length > 1 ? 's' : '' }}:
-				{% for maintainer in package.maintainers %}
-					<a href="{{ url("user_packages", { "name" : maintainer.username }) }}">{{ maintainer.username }}</a>{{ loop.last ? '' : ', ' }}
-				{% endfor %}</p>
-				</div></div>
-	        </section>
+        <li>
+            <section>
+                <h1><a href="{{ url('view', { 'name' : package.name }) }}">{{ package.name }}</a></h1>
+                <div class="package-details"><div>
+                {% if package.versions|length %}
+                    <p class="description">{{ package.versions[0].description }}</p>
+                    <p class="license">License: {{ package.versions[0].license ? package.versions[0].license|join(', ') : "Unknown" }}</p>
+                    <p class="links">
+                        {% if package.versions[0].homepage %}
+                            Homepage: <a href="{{ package.versions[0].homepage }}">{{ package.versions[0].homepage|replace({'http://': ''}) }}</a><br />
+                        {% endif %}
+                        Tags: {% for tag in package.versions[0].tags %}<a href="{{ url("tag", { "name" : tag.name }) }}">{{ tag.name }}</a>{{ loop.last ? '' : ', ' }}{% endfor %}
+                    </p>
+                {% elseif package.crawledAt is null %}
+                    <p>This package has not been crawled yet, some information is missing.</p>
+                {% else %}
+                    <p>This package has no released version yet, and little information is available yet.</p>
+                {% endif %}
+    
+                <p class="maintainers">Maintainer{{ package.maintainers|length > 1 ? 's' : '' }}:
+                {% for maintainer in package.maintainers %}
+                    <a href="{{ url("user_packages", { "name" : maintainer.username }) }}">{{ maintainer.username }}</a>{{ loop.last ? '' : ', ' }}
+                {% endfor %}</p>
+                </div></div>
+            </section>
         </li>
     {% endfor %}
     </ul>
     {% else %}
-		<p>No packages found.</p>
-	{% endif %}
+        <p>No packages found.</p>
+    {% endif %}
 {% endblock %}

+ 22 - 18
src/Packagist/WebBundle/Resources/views/layout.html.twig

@@ -13,6 +13,10 @@
         <link rel="shortcut icon" href="{{ asset('favicon.ico') }}" />
         <link rel="apple-touch-icon" href="{{ asset('apple-touch-icon.png') }}" />
 
+        <!--[if lt IE 9]>
+        <script src="{{ asset('bundles/packagistweb/js/html5.js') }}"></script>
+        <![endif]-->
+
         <link rel="stylesheet" href="{{ asset('bundles/packagistweb/css/main.css') }}" />
 
         {# {% stylesheets '@PackagistWebBundle/Resources/public/css/main.css' filter="yui_css" output='css/main.css' %}
@@ -59,26 +63,26 @@
                 {% block content %}
                 {% endblock %}
             </div>
-
-            <footer>
-                <ul>
-                    <li><a href="{{ path('about') }}">About Packagist</a></li>
-                    <li><a href="{{ path('about.composer') }}">About Composer</a></li>
-                    <li><a href="{{ path('home') }}">Home</a></li>
-                </ul>
-                <ul>
-                    {% if app.user %}
-                        <li><a href="{{ path('fos_user_profile_show') }}">Profile</a></li>
-                        <li><a href="{{ path('fos_user_security_logout') }}">Logout</a></li>
-                    {% else %}
-                        <li><a href="{{ path('fos_user_registration_register') }}">Register</a></li>
-                        <li><a href="{{ path('fos_user_security_login') }}">Login</a></li>
-                    {% endif %}
-                </ul>
-                <div class="clearfix"></div>
-            </footer>
         </div>
 
+        <footer>
+            <ul>
+                <li><a href="{{ path('about') }}">About Packagist</a></li>
+                <li><a href="{{ path('about.composer') }}">About Composer</a></li>
+                <li><a href="{{ path('home') }}">Home</a></li>
+            </ul>
+            <ul>
+                {% if app.user %}
+                    <li><a href="{{ path('fos_user_profile_show') }}">Profile</a></li>
+                    <li><a href="{{ path('fos_user_security_logout') }}">Logout</a></li>
+                {% else %}
+                    <li><a href="{{ path('fos_user_registration_register') }}">Register</a></li>
+                    <li><a href="{{ path('fos_user_security_login') }}">Login</a></li>
+                {% endif %}
+            </ul>
+            <div class="clearfix"></div>
+        </footer>
+
         <script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
         <script>!window.jQuery && document.write(unescape('%3Cscript src="/js/libs/jquery-1.5.2.min.js"%3E%3C/script%3E'))</script>
         {#<script>