Showing 2 changed files with 80 additions and 122 deletions
+50 -90
public/css/bootstrap.css
... ...
@@ -1,5 +1,5 @@
1 1
 /*!
2
- * Bootstrap v2.3.1
2
+ *  This is originally Bootstrap v2.3.1, but I'v cleanuped many parts.
3 3
  *
4 4
  * Copyright 2012 Twitter, Inc
5 5
  * Licensed under the Apache License v2.0
... ...
@@ -9,7 +9,12 @@
9 9
  */
10 10
  
11 11
 /*
12
-  I cleanup bootstrap many parts.
12
+  Default values
13
+    border-color: #d8d8d8;
14
+    border-radius: 3px;
15
+    
16
+    Text Gray
17
+    #767676
13 18
 */
14 19
 
15 20
 * {
... ...
@@ -30,6 +35,9 @@ body {
30 35
   color: #333333;
31 36
 }
32 37
 
38
+/* Markdown */
39
+.markdown-body{padding:40px 40px;font-family:"Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:16px;line-height:1.6;word-wrap:break-word}.markdown-body:before{display:table;content:""}.markdown-body:after{display:table;clear:both;content:""}.markdown-body>*:first-child{margin-top:0 !important}.markdown-body>*:last-child{margin-bottom:0 !important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:#c00}.markdown-body .anchor{display:inline-block;padding-right:2px;margin-left:-18px}.markdown-body .anchor:focus{outline:none}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:1em;margin-bottom:16px;font-weight:bold;line-height:1.4}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#000;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{font-size:inherit}.markdown-body h1{padding-bottom:0.3em;font-size:2.25em;line-height:1.2;border-bottom:1px solid #eee}.markdown-body h1 .anchor{line-height:1}.markdown-body h2{padding-bottom:0.3em;font-size:1.75em;line-height:1.225;border-bottom:1px solid #eee}.markdown-body h2 .anchor{line-height:1}.markdown-body h3{font-size:1.5em;line-height:1.43}.markdown-body h3 .anchor{line-height:1.2}.markdown-body h4{font-size:1.25em}.markdown-body h4 .anchor{line-height:1.2}.markdown-body h5{font-size:1em}.markdown-body h5 .anchor{line-height:1.1}.markdown-body h6{font-size:1em;color:#777}.markdown-body h6 .anchor{line-height:1.1}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre{margin-top:0;margin-bottom:16px}.markdown-body hr{height:4px;padding:0;margin:16px 0;background-color:#e7e7e7;border:0 none}.markdown-body ul,.markdown-body ol{padding-left:2em}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:16px}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:bold}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body blockquote{padding:0 15px;color:#777;border-left:4px solid #ddd}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body table{display:block;width:100%;overflow:auto;word-break:normal;word-break:keep-all}.markdown-body table th{font-weight:bold}.markdown-body table th,.markdown-body table td{padding:6px 13px;border:1px solid #ddd}.markdown-body table tr{background-color:#fff;border-top:1px solid #ccc}.markdown-body table tr:nth-child(2n){background-color:#f8f8f8}.markdown-body img{max-width:100%;box-sizing:content-box;background-color:#fff}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid #ddd}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:#333}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:0;padding-top:0.2em;padding-bottom:0.2em;margin:0;font-size:85%;background-color:rgba(0,0,0,0.04);border-radius:3px}.markdown-body code:before,.markdown-body code:after,.markdown-body tt:before,.markdown-body tt:after{letter-spacing:-0.2em;content:"\00a0"}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body pre>code{padding:0;margin:0;font-size:100%;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre,.markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#f7f7f7;border-radius:3px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body pre{word-wrap:normal}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:initial;padding:0;margin:0;overflow:initial;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body pre code:before,.markdown-body pre code:after,.markdown-body pre tt:before,.markdown-body pre tt:after{content:normal}.markdown-body kbd{display:inline-block;padding:3px 5px;font-size:11px;line-height:10px;color:#555;vertical-align:middle;background-color:#fcfcfc;border:solid 1px #ccc;border-bottom-color:#bbb;border-radius:3px;box-shadow:inset 0 -1px 0 #bbb}.markdown-body blockquote{padding:0 0 0 40px;border:0 none}
40
+
33 41
 .container {
34 42
   width: 980px;
35 43
   margin:0 auto;
... ...
@@ -40,6 +48,10 @@ ul {
40 48
   margin: 0;;
41 49
 }
42 50
 
51
+li {
52
+  list-style:none;
53
+}
54
+
43 55
 a {
44 56
   color: #0088cc;
45 57
   text-decoration: none;
... ...
@@ -1449,59 +1461,6 @@ button.close {
1449 1461
   visibility: hidden;
1450 1462
 }
1451 1463
 
1452
-.footer {
1453
-  text-align:center;
1454
-}
1455
-
1456
-/* Font color */
1457
-.font-black {
1458
-  color: #333;
1459
-}
1460
-.font-white {
1461
-  color: white;
1462
-}
1463
-
1464
-/* Background color */
1465
-.bk-blue-light {
1466
-  background:#E6F1F6;
1467
-}
1468
-.bk-black {
1469
-  background:black;
1470
-}
1471
-.bk-gray-light {
1472
-  background:#eee;
1473
-}
1474
-
1475
-/* Border radius */
1476
-.radius-top {
1477
-  border-top-left-radius:4px;
1478
-  border-top-right-radius:4px;
1479
-}
1480
-
1481
-.radius-bottom {
1482
-  border-bottom-left-radius:4px;
1483
-  border-bottom-right-radius:4px;
1484
-}
1485
-
1486
-.radius {
1487
-  border-radius:4px;
1488
-}
1489
-
1490
-/* Border */
1491
-.border-gray {
1492
-  border:1px solid #ccc;
1493
-}
1494
-.border-top-gray {
1495
-  border-top:1px solid #ccc;
1496
-}
1497
-.border-bottom-gray {
1498
-  border-bottom:1px solid #ccc;
1499
-}
1500
-
1501
-.border-blue {
1502
-  border:1px solid #c5d5dd;
1503
-}
1504
-
1505 1464
 /* Plain text */
1506 1465
 .plain-text {
1507 1466
   background             : white;
... ...
@@ -1514,38 +1473,6 @@ button.close {
1514 1473
   padding                : 27px;
1515 1474
 }
1516 1475
 
1517
-/* Markdown */
1518
-.markdown {
1519
-  background             : white;
1520
-  border-radius          : 1px;
1521
-  border-top             : none;
1522
-  border-top-left-radius : 0;
1523
-  font-size              : 14px;
1524
-  line-height            : 1.5em;
1525
-  margin-bottom          : 80px;
1526
-  padding                : 27px;
1527
-  font-color:#aaa;
1528
-}
1529
-
1530
-.markdown h1 { margin-bottom:10px; padding:10px 0; font-size: 36px; }
1531
-.markdown h2 { margin: 0; font-size: 1.5em;  }
1532
-.markdown h3 { margin: 0; font-size: 1.17em; }
1533
-.markdown h5 { margin: 0; font-size:  .83em; }
1534
-.markdown h6 { margin: 0; font-size:  .75em; }
1535
-
1536
-.markdown h1 {
1537
-  border-bottom : 1px solid #DDDDDD;
1538
-}
1539
-
1540
-.markdown p {
1541
-  margin  : 0;
1542
-  padding:10px 0;
1543
-}
1544
-
1545
-.markdown ul {
1546
-  padding : 0 1em;
1547
-}
1548
-
1549 1476
 .header {
1550 1477
   background:#f5f5f5;
1551 1478
   border-bottom:1px solid #e5e5e5;
... ...
@@ -1601,7 +1528,7 @@ button.close {
1601 1528
 .topic1 {
1602 1529
   font-size:19px;
1603 1530
   font-weight:bold;
1604
-  margin:13px 0 8px 0;
1531
+  margin:20px 0 15px 0;
1605 1532
   padding-left:8px;
1606 1533
 }
1607 1534
 
... ...
@@ -1635,5 +1562,38 @@ button.close {
1635 1562
   margin-right:4px;
1636 1563
 }
1637 1564
 
1638
-/* Markdown */
1639
-.markdown-body{padding:40px 40px;font-family:"Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:16px;line-height:1.6;word-wrap:break-word}.markdown-body:before{display:table;content:""}.markdown-body:after{display:table;clear:both;content:""}.markdown-body>*:first-child{margin-top:0 !important}.markdown-body>*:last-child{margin-bottom:0 !important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body .absent{color:#c00}.markdown-body .anchor{display:inline-block;padding-right:2px;margin-left:-18px}.markdown-body .anchor:focus{outline:none}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:1em;margin-bottom:16px;font-weight:bold;line-height:1.4}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#000;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1 tt,.markdown-body h1 code,.markdown-body h2 tt,.markdown-body h2 code,.markdown-body h3 tt,.markdown-body h3 code,.markdown-body h4 tt,.markdown-body h4 code,.markdown-body h5 tt,.markdown-body h5 code,.markdown-body h6 tt,.markdown-body h6 code{font-size:inherit}.markdown-body h1{padding-bottom:0.3em;font-size:2.25em;line-height:1.2;border-bottom:1px solid #eee}.markdown-body h1 .anchor{line-height:1}.markdown-body h2{padding-bottom:0.3em;font-size:1.75em;line-height:1.225;border-bottom:1px solid #eee}.markdown-body h2 .anchor{line-height:1}.markdown-body h3{font-size:1.5em;line-height:1.43}.markdown-body h3 .anchor{line-height:1.2}.markdown-body h4{font-size:1.25em}.markdown-body h4 .anchor{line-height:1.2}.markdown-body h5{font-size:1em}.markdown-body h5 .anchor{line-height:1.1}.markdown-body h6{font-size:1em;color:#777}.markdown-body h6 .anchor{line-height:1.1}.markdown-body p,.markdown-body blockquote,.markdown-body ul,.markdown-body ol,.markdown-body dl,.markdown-body table,.markdown-body pre{margin-top:0;margin-bottom:16px}.markdown-body hr{height:4px;padding:0;margin:16px 0;background-color:#e7e7e7;border:0 none}.markdown-body ul,.markdown-body ol{padding-left:2em}.markdown-body ul.no-list,.markdown-body ol.no-list{padding:0;list-style-type:none}.markdown-body ul ul,.markdown-body ul ol,.markdown-body ol ol,.markdown-body ol ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:16px}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:bold}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body blockquote{padding:0 15px;color:#777;border-left:4px solid #ddd}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body table{display:block;width:100%;overflow:auto;word-break:normal;word-break:keep-all}.markdown-body table th{font-weight:bold}.markdown-body table th,.markdown-body table td{padding:6px 13px;border:1px solid #ddd}.markdown-body table tr{background-color:#fff;border-top:1px solid #ccc}.markdown-body table tr:nth-child(2n){background-color:#f8f8f8}.markdown-body img{max-width:100%;box-sizing:content-box;background-color:#fff}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body .emoji{max-width:none}.markdown-body span.frame{display:block;overflow:hidden}.markdown-body span.frame>span{display:block;float:left;width:auto;padding:7px;margin:13px 0 0;overflow:hidden;border:1px solid #ddd}.markdown-body span.frame span img{display:block;float:left}.markdown-body span.frame span span{display:block;padding:5px 0 0;clear:both;color:#333}.markdown-body span.align-center{display:block;overflow:hidden;clear:both}.markdown-body span.align-center>span{display:block;margin:13px auto 0;overflow:hidden;text-align:center}.markdown-body span.align-center span img{margin:0 auto;text-align:center}.markdown-body span.align-right{display:block;overflow:hidden;clear:both}.markdown-body span.align-right>span{display:block;margin:13px 0 0;overflow:hidden;text-align:right}.markdown-body span.align-right span img{margin:0;text-align:right}.markdown-body span.float-left{display:block;float:left;margin-right:13px;overflow:hidden}.markdown-body span.float-left span{margin:13px 0 0}.markdown-body span.float-right{display:block;float:right;margin-left:13px;overflow:hidden}.markdown-body span.float-right>span{display:block;margin:13px auto 0;overflow:hidden;text-align:right}.markdown-body code,.markdown-body tt{padding:0;padding-top:0.2em;padding-bottom:0.2em;margin:0;font-size:85%;background-color:rgba(0,0,0,0.04);border-radius:3px}.markdown-body code:before,.markdown-body code:after,.markdown-body tt:before,.markdown-body tt:after{letter-spacing:-0.2em;content:"\00a0"}.markdown-body code br,.markdown-body tt br{display:none}.markdown-body del code{text-decoration:inherit}.markdown-body pre>code{padding:0;margin:0;font-size:100%;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre,.markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#f7f7f7;border-radius:3px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body pre{word-wrap:normal}.markdown-body pre code,.markdown-body pre tt{display:inline;max-width:initial;padding:0;margin:0;overflow:initial;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body pre code:before,.markdown-body pre code:after,.markdown-body pre tt:before,.markdown-body pre tt:after{content:normal}.markdown-body kbd{display:inline-block;padding:3px 5px;font-size:11px;line-height:10px;color:#555;vertical-align:middle;background-color:#fcfcfc;border:solid 1px #ccc;border-bottom-color:#bbb;border-radius:3px;box-shadow:inset 0 -1px 0 #bbb}.markdown-body blockquote{padding:0 0 0 40px;border:0 none}
1565
+.footer {
1566
+  text-align:center;
1567
+}
1568
+
1569
+.repositories {
1570
+  margin-bottom:30px;
1571
+}
1572
+
1573
+.repositories li {
1574
+  border-top: 1px solid #d8d8d8;
1575
+  overflow:hidden;
1576
+  padding:10px 0;
1577
+}
1578
+
1579
+.repositories a:hover {
1580
+  text-decoration:underline;
1581
+}
1582
+
1583
+.repositories-name {
1584
+  float:left;
1585
+  width:25%;
1586
+}
1587
+
1588
+.repositories-description {
1589
+  float:left;
1590
+  width:45%;
1591
+  color:#333;
1592
+  min-height:1px;
1593
+}
1594
+
1595
+.repositories-age {
1596
+  float:left;
1597
+  width:30%;
1598
+  color: #767676;
1599
+}
+30 -32
templates/user.html.ep
... ...
@@ -30,40 +30,38 @@
30 30
   %= include '/include/header', title => 'Repositories';
31 31
 
32 32
   <div class="container">
33
-    <div>
34
-      %= include '/include/message', message => flash('message');
33
+    %= include '/include/message', message => flash('message');
35 34
 
36
-      <h3>Repositories</h3>
37
-      
38
-      <table class="table">
39
-        % for my $rep (sort { $a->{age} <=> $b->{age} } @$reps) {
40
-          % if (!$rep->{private} || $api->can_access_private_project($user, $rep->{name})) {
41
-            <tr>
42
-              % my $pname = $rep->{name};
43
-              <td>
44
-                <a href="<%= url_for("/$user/$pname") %>">
45
-                  <%= $rep->{name} %>
46
-                  % if ($rep->{private}) {
47
-                    <i class="icon icon-lock" style="margin-left:5px;margin-right:5px"></i>
48
-                  % }
49
-                </a>
50
-              </td>
51
-              <td>
52
-                <%= $rep->{description} %>
53
-              </td>
35
+    <div class="topic1">Repositories</div>
36
+    
37
+    <ul class="repositories">
38
+      % for my $rep (sort { $a->{age} <=> $b->{age} } @$reps) {
39
+        % if (!$rep->{private} || $api->can_access_private_project($user, $rep->{name})) {
40
+          <li>
41
+            % my $pname = $rep->{name};
42
+            <div class="repositories-name">
43
+              <a href="<%= url_for("/$user/$pname") %>">
44
+                <%= $rep->{name} %>
45
+              </a>
46
+              % if ($rep->{private}) {
47
+                <i class="icon icon-lock"></i>
48
+              % }
49
+            </div>
50
+            <div class="repositories-description">
51
+              <%= $rep->{description} %>
52
+            </div>
53
+            <div class="repositories-age">
54 54
               % my $age = $rep->{age_string};
55
-              <td class="muted">
56
-                % if ($rep->{none}) {
57
-                  <span style="color:red">Repository not exists</span>
58
-                  <a href="<%= "/$user/$rep->{name}/settings" %>" class="btn btn-mini">Settings</a>
59
-                % } else {
60
-                  <%= $age ? "last updated $age" : 'new repository' %>
61
-                % }
62
-              </td>
63
-            </tr>
64
-          % }
55
+              % if ($rep->{none}) {
56
+                <span style="color:red">Repository not exists</span>
57
+                <a href="<%= "/$user/$rep->{name}/settings" %>" class="btn btn-mini">Settings</a>
58
+              % } else {
59
+                <%= $age ? "last updated $age" : 'new repository' %>
60
+              % }
61
+            </div>
62
+          </li>
65 63
         % }
66
-      </table>
67
-    </div>
64
+      % }
65
+    </ul>
68 66
   </div>
69 67
   %= include '/include/footer';