slitaz-forge rev 434
Add pangolin web interface and update pangolin tool
line diff
1.1 --- a/pangolin/pangolin Wed Jan 15 15:47:36 2014 +0100 1.2 +++ b/pangolin/pangolin Sun Jan 19 19:34:21 2014 +0100 1.3 @@ -53,7 +53,7 @@ 1.4 newline 1.5 boldify "Updating: www.slitaz.org..." 1.6 cd ${WEBSITE} && hg pull -u 1.7 - newline;; 1.8 + newline ;; 1.9 up-forum) 1.10 # Update forum.slitaz.org theme 1.11 newline 1.12 @@ -78,10 +78,17 @@ 1.13 cp -a slitaz-mercurial-style/* $PYTHON_LIB/site-packages/mercurial 1.14 chown -R root.root $PYTHON_LIB/site-packages/mercurial/templates 1.15 newline ;; 1.16 + up-pangolin) 1.17 + # Update pangolin.slitaz.org 1.18 + newline 1.19 + boldify "Updating: pangolin.slitaz.org..." 1.20 + cd ${REPOS}/slitaz-forge && hg pull -u 1.21 + cp -a pangolin/web/* $WWW/pangolin.slitaz.org/public_html 1.22 + newline ;; 1.23 adduser) 1.24 [ ! "$2" ] && echo "Missing user name arg" && exit 0 1.25 [ ! "$3" ] && echo "Missing password arg" && exit 0 1.26 - htpasswd -b $HGUSERS $2 $3 ;; 1.27 + htpasswd -b ${HGUSERS} $2 $3 ;; 1.28 stats) 1.29 # Echo some stats. 1.30 newline
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 2.2 +++ b/pangolin/web/HEADER.html Sun Jan 19 19:34:21 2014 +0100 2.3 @@ -0,0 +1,252 @@ 2.4 +<!DOCTYPE html> 2.5 +<html lang="en"> 2.6 +<head> 2.7 + <meta charset="utf-8" /> 2.8 + <title>SliTaz Pizza</title> 2.9 +<style type="text/css"> 2.10 +<!-- 2.11 + 2.12 +/* CSS style for SliTaz Pizza */ 2.13 + 2.14 +html { height: 102%; } 2.15 +body { font: 13px sans-serif, vernada, arial; margin: 0; } 2.16 +h1 { margin: 0; padding: 8px; color: #fff; font-size: 20px; } 2.17 +h1 a { color: #fff; text-decoration: none; } 2.18 +h2 { color: #444; } h3 { color: #666; font-size: 130%; } 2.19 +a { text-decoration: underline; color: #215090; } 2.20 +a:hover { text-decoration: none; } 2.21 +img { vertical-align: middle; } 2.22 +h2 img { padding: 0px 6px 6px 0px; } 2.23 +pre img { margin: 2px 0px; } 2.24 + 2.25 +pre { 2.26 + background-color: #f8f8f8; 2.27 + border: 1px solid #ddd; 2.28 + padding: 10px; 2.29 + overflow: auto; 2.30 + font-size: 98%; 2.31 +} 2.32 +table { 2.33 + background-color: #f8f8f8; 2.34 + border: 1px solid #ddd; 2.35 + width: 100%; 2.36 + margin: 0px 0px 20px 0px; 2.37 + padding: 10px; 2.38 +} 2.39 +/* HTML 5 dont allow size="40" but it's buggy on FF 2.40 + * input[type="file"] { width: 240px; margin: 0 5px; } */ 2.41 + 2.42 +/* Header */ 2.43 + 2.44 +#header { 2.45 + background: #351a0a; 2.46 + height: 40px; 2.47 + border-bottom: 8px solid #ffad02; 2.48 + /*border-bottom: 8px solid #d66018;*/ 2.49 +} 2.50 + 2.51 +#header h1 { 2.52 + margin: 0; 2.53 + padding: 8px 0 0 42px; 2.54 + width: 250px; 2.55 +} 2.56 + 2.57 +#header h1 a { 2.58 + color: white; 2.59 + text-decoration: none; 2.60 + font-size: 20px; 2.61 + font-style: italic; 2.62 +} 2.63 + 2.64 +#header h1 a:hover { 2.65 + color: #d66018; 2.66 +} 2.67 + 2.68 +/* Logo */ 2.69 + 2.70 +#logo { 2.71 + background: url(/images/logo.png) no-repeat left; 2.72 + position: absolute; 2.73 + float: left; 2.74 + left: 0px; 2.75 + top: 0px; 2.76 + width: 40px; 2.77 + height: 40px; 2.78 +} 2.79 + 2.80 +/* Header links */ 2.81 + 2.82 +#network { 2.83 + float: right; 2.84 + padding: 12px 5px 0; 2.85 + font-size: 12px; 2.86 +} 2.87 + 2.88 +#network a { 2.89 + padding: 0 4px; 2.90 + color: #fff; 2.91 + font-weight: bold; 2.92 + text-decoration: none; 2.93 +} 2.94 +#network a:hover { color: #cfcfcf; } 2.95 + 2.96 +/* Notification box */ 2.97 + 2.98 +#notify { 2.99 + /*font-weight: bold;*/ 2.100 + background-color: #351a0a; 2.101 + border: 1px solid #ffad02; 2.102 + color: #fff; 2.103 + cursor: help; 2.104 + position: absolute; 2.105 + top: 58px; 2.106 + right: 10px; 2.107 + width: auto; 2.108 + padding: 6px 12px; 2.109 +} 2.110 +#notify img { margin-right: 10px; } 2.111 + 2.112 +/* Content */ 2.113 + 2.114 +#content { 2.115 + margin: 40px auto; 2.116 + text-align: justify; 2.117 + width: 740px; 2.118 +} 2.119 + 2.120 +.note { 2.121 + margin: 20px; 2.122 + padding: 20px; 2.123 + background-color: #eaeaea; 2.124 + border: 2px solid #ccc; 2.125 +} 2.126 + 2.127 +.box { margin: 20px 0; } 2.128 +.next { float: right; } 2.129 + 2.130 +.span-ok { color: green; } 2.131 +.span-red { color: red; } 2.132 +.log-date { color: #666; font-size: 95%; } 2.133 + 2.134 +#packages { 2.135 + width: 100%; 2.136 + height: 260px; 2.137 + overflow: auto; 2.138 + border: 1px solid #ddd; 2.139 + background-color: #f8f8f8; 2.140 +} 2.141 + 2.142 +#packages table { 2.143 + border: 0px solid #fff; 2.144 +} 2.145 + 2.146 +#pkgs-search { 2.147 + width: 100%; 2.148 + max-height: 180px; 2.149 + overflow: auto; 2.150 +} 2.151 + 2.152 +/* Form */ 2.153 + 2.154 +form { display: inline; } 2.155 +input[type="submit"], input[type="text"], textarea, select { 2.156 + color: #444444; 2.157 + border: 1px solid #cccccc; 2.158 + padding: 4px; 2.159 + margin: 4px 0px; 2.160 + font-size: 14px; 2.161 + line-height: 1.2em; 2.162 + background-image: -webkit-linear-gradient(#FAFAFA, #F4F4F4 40%, #E5E5E5); 2.163 + background-image: -moz-linear-gradient(#FAFAFA, #F4F4F4 40%, #E5E5E5); 2.164 + -webkit-appearance: none; 2.165 + -webkit-padding-end: 12px; 2.166 + -webkit-padding-start: 6px; 2.167 +} 2.168 + 2.169 +input[type="text"] { background: #fefefe; border: 2px solid #ccc; 2.170 + width: 460px; } 2.171 +/*input[type="file"] { border: 2px solid #ddd; }*/ 2.172 +/*input[type="checkbox"] { background: #fefefe; }*/ 2.173 + 2.174 +/* Be compatible with old FF and Webkit version. */ 2.175 +input[type="submit"] { 2.176 + -webkit-box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.1); 2.177 + -moz-box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.1); 2.178 + box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.1); 2.179 +} 2.180 + 2.181 +input[type="submit"]:hover { 2.182 + cursor: pointer; 2.183 + color: black; 2.184 +} 2.185 + 2.186 +select { 2.187 + background-image: url(images/down.png), 2.188 + -webkit-linear-gradient(#FAFAFA, #F4F4F4 40%, #E5E5E5); 2.189 + background-position: center right; 2.190 + background-repeat: no-repeat; 2.191 +} 2.192 + 2.193 +input[type="file"] { 2.194 + width: 576px; 2.195 + z-index: -1; 2.196 + vertical-align: middle; 2.197 + cursor: pointer; 2.198 + margin: 0; 2.199 +} 2.200 + 2.201 +.inputhide { overflow: hidden; width: 420px; } 2.202 + 2.203 +.inputfile { 2.204 + width: 462px; 2.205 + background: #f8f8f8 url(images/open.png) no-repeat center right; 2.206 + z-index: 2; 2.207 + border: 1px solid #ccc; 2.208 + padding: 3px 0px 0px 2px; 2.209 + height: 25px; 2.210 + float: left; 2.211 + margin-top: 4px; 2.212 +} 2.213 + 2.214 +input[type="file"]::-webkit-file-upload-button { 2.215 + float: right; 2.216 +} 2.217 + 2.218 +/* Round corner */ 2.219 + 2.220 +img, pre, table, input, textarea, select, .note, .box, #notify, 2.221 +#packages, #pkgs-search, .inputfile { 2.222 + -moz-border-radius: 4px; 2.223 + -webkit-border-radius: 4px; 2.224 + border-radius: 4px; 2.225 +} 2.226 + 2.227 +/* Footer */ 2.228 + 2.229 +#footer { 2.230 + text-align: center; 2.231 + margin-top: 80px; 2.232 + padding: 20px; 2.233 + /*border-top: 1px solid #ddd;*/ 2.234 + font-size: 90%; 2.235 +} 2.236 + 2.237 +#footer a { padding: 0 2px; } 2.238 +--> 2.239 +</style> 2.240 +</head> 2.241 +<body> 2.242 + 2.243 +<div id="header"> 2.244 + <div id="logo"></div> 2.245 + <div id="network"> 2.246 + <a href="http://www.slitaz.org/">Home</a> 2.247 + <a href="http://scn.slitaz.org/">Community</a> 2.248 + <a href="http://forum.slitaz.org/">Forum</a> 2.249 + <a href="http://pizza.slitaz.me">Pizza</a> 2.250 + </div> 2.251 + <h1><a href="/">SliTaz Pangolin</a></h1> 2.252 +</div> 2.253 + 2.254 +<div id="content"> 2.255 +
3.1 Binary file pangolin/web/favicon.ico has changed
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 4.2 +++ b/pangolin/web/graphs.php Sun Jan 19 19:34:21 2014 +0100 4.3 @@ -0,0 +1,134 @@ 4.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 4.5 + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 4.6 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 4.7 +<head> 4.8 + <title>Pangolin RRD stats</title> 4.9 + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> 4.10 + <meta name="description" content="slitaz pangolin rrdtool graphs" /> 4.11 + <meta name="robots" content="noindex" /> 4.12 + <meta name="author" content="SliTaz Contributors" /> 4.13 + <link rel="shortcut icon" href="favicon.ico" /> 4.14 + <link rel="stylesheet" type="text/css" href="slitaz.css" /> 4.15 +</head> 4.16 +<body> 4.17 + 4.18 +<!-- Header --> 4.19 +<div id="header"> 4.20 + <div id="logo"></div> 4.21 + <div id="network"> 4.22 + <a href="http://www.slitaz.org/"> 4.23 + <img src="images/network.png" alt="network.png" /></a> 4.24 + <a href="http://scn.slitaz.org/">Community</a> 4.25 + <a href="http://doc.slitaz.org/">Doc</a> 4.26 + <a href="http://forum.slitaz.org/">Forum</a> 4.27 + <a href="http://bugs.slitaz.org">Bugs</a> 4.28 + <a href="http://hg.slitaz.org/">Hg</a> 4.29 + </div> 4.30 + <h1><a href="http://www.slitaz.org/">SliTaz Pangolin</a></h1> 4.31 +</div> 4.32 + 4.33 +<!-- Block --> 4.34 +<div id="block"> 4.35 + <!-- Navigation --> 4.36 + <div id="block_nav"> 4.37 + <h4><img src="images/development.png" alt="development.png" />Developers Corner</h4> 4.38 + <ul> 4.39 + <li><a href="http://www.slitaz.org/en/devel/">Website devel</a></li> 4.40 + <li><a href="http://scn.slitaz.org/">Community</a></li> 4.41 + <li><a href="http://labs.slitaz.org/">Laboratories</a></li> 4.42 + <li><a href="http://hg.slitaz.org/">Mercurial Repos</a></li> 4.43 + <li><a href="http://cook.slitaz.org/">Build Bot</a></li> 4.44 + <li><a href="http://tank.slitaz.org/">Tank Server</a></li> 4.45 + <li><a href="http://mirror.slitaz.org/info/">Mirror Server</a></li> 4.46 + </ul> 4.47 + </div> 4.48 + <!-- Information/image --> 4.49 + <div id="block_info"> 4.50 + <h4>Codename: pangolin</h4> 4.51 + <p> 4.52 + This is the SliTaz GNU/Linux main server and build host. 4.53 + The server runs naturally SliTaz and provides some services 4.54 + to all contributors such as: secure access, disk space, a 4.55 + public directory or cron jobs. 4.56 + </p> 4.57 + <p> 4.58 + Pangolin CPU is a <?php system("sed -e '/^model name/!d;s/.*Intel(R) //;" . 4.59 + "s/@//;s/(.*)//;s/CPU //;s/.*AMD //;s/.*: //;s/Processor //' </proc/cpuinfo |" . 4.60 + " awk '{ s=$0; n++ } END { if (n == 2) printf \"dual \";" . 4.61 + "if (n == 4) printf \"quad \"; print s }' ")?> - 4.62 + <?php system("free | awk '/Mem:/ { x=2*$2-1; while (x >= 1024) { x /= 1024; ". 4.63 + "n++ }; y=1; while (x > 2) { x /= 2; y *= 2}; ". 4.64 + "printf \"%d%cB RAM\",y,substr(\"MG\",n,1) }' ")?> 4.65 + - Located in Paris, 4.66 + France. 4.67 + </p> 4.68 + </div> 4.69 +</div> 4.70 + 4.71 +<!-- Content --> 4.72 +<div id="content"> 4.73 + 4.74 +<div align="center"> <?php echo date("r"); ?> </div> 4.75 +<?php 4.76 + 4.77 +$myurl="http://".$_SERVER['SERVER_NAME'].$_SERVER['SCRIPT_NAME']; 4.78 + 4.79 +function one_graphic($img,$name) 4.80 +{ 4.81 + echo '<img src="pics/rrd/'.$img.'" title="'. 4.82 + $name.'" alt="'.$name.'" />'."\n"; 4.83 +} 4.84 + 4.85 +function graphic($res, $img='') 4.86 +{ 4.87 + global $myurl; 4.88 + if (!$img) $img=$res; 4.89 + echo "<a name=\"".$res."\"></a>"; 4.90 + echo "<a href=\"".$myurl."?stats=".$res."#".$res."\">\n"; 4.91 + one_graphic($img."-day.png",$res." daily"); 4.92 + echo "</a>"; 4.93 + if (isset($_GET['stats']) && $_GET['stats'] == $res) { 4.94 + one_graphic($img."-week.png",$res." weekly"); 4.95 + one_graphic($img."-month.png",$res." monthly"); 4.96 + one_graphic($img."-year.png",$res." yearly"); 4.97 + } 4.98 +} 4.99 + 4.100 +echo "<h2>CPU</h2>\n"; 4.101 +graphic("cpu"); 4.102 +echo "<h2>Memory</h2>\n"; 4.103 +graphic("memory"); 4.104 +echo "<h2>Disk</h2>\n"; 4.105 +graphic("disk"); 4.106 +echo "<h2>Network</h2>\n"; 4.107 +$eth = array(); 4.108 +exec("/sbin/route -n | awk '{ if (/^0.0.0.0/) print $8 }'", $eth); 4.109 +graphic("net",$eth[0]); 4.110 + 4.111 +?> 4.112 + 4.113 +<!-- End of content --> 4.114 +</div> 4.115 + 4.116 +<!-- Footer --> 4.117 +<div id="footer"> 4.118 + Copyright © <span class="year"></span> 4.119 + <a href="http://www.slitaz.org/">SliTaz</a> - Network: 4.120 + <a href="http://scn.slitaz.org/">Community</a> 4.121 + <a href="http://doc.slitaz.org/">Doc</a> 4.122 + <a href="http://forum.slitaz.org/">Forum</a> 4.123 + <a href="http://pkgs.slitaz.org/">Packages</a> 4.124 + <a href="http://bugs.slitaz.org">Bugs</a> 4.125 + <a href="http://hg.slitaz.org/">Hg</a> 4.126 + <p> 4.127 + SliTaz @ 4.128 + <a href="http://twitter.com/slitaz">Twitter</a> 4.129 + <a href="http://www.facebook.com/slitaz">Facebook</a> 4.130 + <a href="http://distrowatch.com/slitaz">Distrowatch</a> 4.131 + <a href="http://en.wikipedia.org/wiki/SliTaz">Wikipedia</a> 4.132 + <a href="http://flattr.com/profile/slitaz">Flattr</a> 4.133 + </p> 4.134 +</div> 4.135 + 4.136 +</body> 4.137 +</html>
5.1 Binary file pangolin/web/images/archive.png has changed
6.1 Binary file pangolin/web/images/development.png has changed
7.1 Binary file pangolin/web/images/down.png has changed
8.1 Binary file pangolin/web/images/download.png has changed
9.1 Binary file pangolin/web/images/info.png has changed
10.1 Binary file pangolin/web/images/iso.png has changed
11.1 Binary file pangolin/web/images/logo.png has changed
12.1 Binary file pangolin/web/images/monitor.png has changed
13.1 Binary file pangolin/web/images/network.png has changed
14.1 Binary file pangolin/web/images/open.png has changed
15.1 Binary file pangolin/web/images/paypal.png has changed
16.1 Binary file pangolin/web/images/slitaz-doc.png has changed
17.1 Binary file pangolin/web/images/tazpkg.png has changed
18.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 18.2 +++ b/pangolin/web/index.php Sun Jan 19 19:34:21 2014 +0100 18.3 @@ -0,0 +1,305 @@ 18.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 18.5 + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 18.6 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 18.7 +<head> 18.8 + <title>SliTaz Pangolin</title> 18.9 + <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> 18.10 + <meta name="description" content="slitaz pangolin server" /> 18.11 + <meta name="robots" content="index, nofollow" /> 18.12 + <meta name="author" content="SliTaz Contributors" /> 18.13 + <link rel="shortcut icon" href="favicon.ico" /> 18.14 + <link rel="stylesheet" type="text/css" href="slitaz.css" /> 18.15 +</head> 18.16 +<body> 18.17 + 18.18 +<!-- Header --> 18.19 +<div id="header"> 18.20 + <div id="logo"></div> 18.21 + <div id="network"> 18.22 + <a href="http://www.slitaz.org/">Home</a> 18.23 + <a href="http://scn.slitaz.org/">Community</a> 18.24 + <a href="http://doc.slitaz.org/">Doc</a> 18.25 + <a href="http://forum.slitaz.org/">Forum</a> 18.26 + <a href="http://irc.slitaz.org/">IRC</a> 18.27 + <a href="http://slitaz.pro/">Pro</a> 18.28 + <a href="http://shop.slitaz.org/">Shop</a> 18.29 + <a href="http://bugs.slitaz.org">Bugs</a> 18.30 + <a href="http://hg.slitaz.org/?sort=lastchange">Hg</a> 18.31 + </div> 18.32 + <h1><a href="http://www.slitaz.org/">SliTaz Pangolin</a></h1> 18.33 +</div> 18.34 + 18.35 +<!-- Block --> 18.36 +<div id="block"> 18.37 + <!-- Navigation --> 18.38 + <div id="block_nav"> 18.39 + <h4><img src="images/development.png" alt="development.png" />Developers Corner</h4> 18.40 + <div class="right_box"> 18.41 + <ul> 18.42 + <li><a href="http://tank.slitaz.org/">Tank Server</a></li> 18.43 + <li><a href="http://mirror.slitaz.org/">Main Mirror</a></li> 18.44 + </ul> 18.45 + </div> 18.46 + <div class="left_box"> 18.47 + <ul> 18.48 + <li><a href="http://www.slitaz.org/en/devel/">Devel Doc</a></li> 18.49 + <li><a href="http://people.slitaz.org/">SliTaz People</a></li> 18.50 + <li><a href="http://cook.slitaz.org/">Cooker</a></li> 18.51 + <li><a href="http://pizza.slitaz.me/">Pizza Builder</a></li> 18.52 + </ul> 18.53 + </div> 18.54 + </div> 18.55 + <!-- Information/image --> 18.56 + <div id="block_info"> 18.57 + <h4>Codename: pangolin - Maintainer: erjo</h4> 18.58 + <p> 18.59 + This is the SliTaz GNU/Linux main server and build host. 18.60 + The server runs naturally SliTaz and provides some services 18.61 + to all contributors. 18.62 + </p> 18.63 + <p> 18.64 + Pangolin CPU is a <?php system("sed -e '/^model name/!d;s/.*Intel(R) //;" . 18.65 + "s/@//;s/(.*)//;s/CPU //;s/.*AMD //;s/.*: //;s/Processor //' </proc/cpuinfo |" . 18.66 + " awk '{ s=$0; n++ } END { if (n == 2) printf \"dual \";" . 18.67 + "if (n == 4) printf \"quad \"; print s }' ")?> - 18.68 + <?php system("free | awk '/Mem:/ { x=2*$2-1; while (x >= 1024) { x /= 1024; ". 18.69 + "n++ }; y=1; while (x > 2) { x /= 2; y *= 2}; ". 18.70 + "printf \"%d%cB RAM\",y,substr(\"MG\",n,1) }' ")?> 18.71 + - Located in Paris, 18.72 + France. Pangolin is also monitored by RRDtool which provides 18.73 + <a href="graphs.php">graphical stats</a>. 18.74 + </p> 18.75 + </div> 18.76 +</div> 18.77 + 18.78 +<!-- Content --> 18.79 +<div id="content"> 18.80 + 18.81 +<h2><a href="graphs.php"><img 18.82 + style="vertical-align: middle; padding: 0 4px 4px 0;" 18.83 + title="Pangolin RRDtool graphs" alt="graphs" 18.84 + src="images/monitor.png" /></a>System stats</h2> 18.85 + 18.86 +<h4>Uptime</h4> 18.87 + 18.88 +<pre class="package"> 18.89 +<?php 18.90 +system("uptime | sed 's/^\s*//'"); 18.91 +?> 18.92 +</pre> 18.93 + 18.94 +<h4>Disk usage</h4> 18.95 +<pre class="package"> 18.96 +<?php 18.97 +system("df -h | sed '/^rootfs/d' | grep '\(^/dev\|Filesystem\)'"); 18.98 +?> 18.99 +</pre> 18.100 + 18.101 +<h4>Network</h4> 18.102 +<pre class="package"> 18.103 +<?php 18.104 +system("ifconfig eth0 | awk '{ if (/X packet/ || /X byte/) print }' | sed 's/^\s*//'"); 18.105 +?> 18.106 +</pre> 18.107 + 18.108 +<h2><a href="/stats/awstats.pl?config=www.slitaz.org"><img 18.109 + style="vertical-align: middle; padding: 0 4px 4px 0;" 18.110 + title="Pangolin Virtual hosts" alt="vhosts" 18.111 + src="images/network.png" /></a>Virtual hosts</h2> 18.112 + 18.113 +<ul> 18.114 + <li><a href="http://www.slitaz.org/">www.slitaz.org</a> - SliTaz Website. 18.115 + (<a href="/stats/awstats.pl?config=www.slitaz.org">stats</a>)</li> 18.116 + <li><a href="http://doc.slitaz.org/">doc.slitaz.org</a> - Documentation platform.</li> 18.117 + <li><a href="http://forum.slitaz.org/">forum.slitaz.org</a> - SliTaz support forum.</li> 18.118 + <li><a href="http://vanilla.slitaz.org/">vanilla.slitaz.org</a> - previous SliTaz forum.</li> 18.119 + <li><a href="http://hg.slitaz.org/">hg.slitaz.org</a> - Mercurial repositories.</li> 18.120 + <li><a href="http://pizza.slitaz.me/">pizza.slitaz.me</a> - SliTaz flavor builder.</li> 18.121 + <li><a href="http://scn.slitaz.org/">scn.slitaz.org</a> - Community platform.</li> 18.122 +</ul> 18.123 + 18.124 +<h2><img 18.125 + style="vertical-align: middle; padding: 0 4px 4px 0;" 18.126 + title="Erjo Virtual hosts" alt="vhosts" 18.127 + src="images/network.png" />Other hosts</h2> 18.128 + 18.129 +<p> 18.130 + These services are hosted by some individual sponsors who gracefully offer 18.131 + resources to the SliTaz project. 18.132 +</p> 18.133 +<ul> 18.134 + <li><a href="http://mirror.slitaz.org/">mirror.slitaz.org</a> - SliTaz main mirror and replicas. 18.135 + (<a href="http://mirror.slitaz.org/info/">more...</a>)</li> 18.136 + <li><a href="http://pkgs.slitaz.org/">pkgs.slitaz.org</a> - Packages Web interface.</li> 18.137 + <li><a href="http://tiny.slitaz.org/">tiny.slitaz.org</a> - Tiny SliTaz builder.</li> 18.138 + <!-- ajaxterm archives console-mirror demo dvd floppy ssh usbkey --> 18.139 + <li><a href="http://boot.slitaz.org/">boot.slitaz.org</a> - gPXE Web boot.</li> 18.140 + <li><a href="http://cook.slitaz.org/">cook.slitaz.org</a> - SliTaz Build Bot.</li> 18.141 + <li><a href="http://people.slitaz.org/">people.slitaz.org</a> - SliTaz People stuff.</li> 18.142 + <li><a href="http://slitaz.pro/">slitaz.pro</a> - SliTaz Professional services.</li> 18.143 + <!-- bb cloud ssfs stats store tank --> 18.144 +</ul> 18.145 + 18.146 +<a name="mirrors"></a> 18.147 +<h2><a href="http://mirror.slitaz.org/info/"> <img 18.148 + style="vertical-align: middle; padding: 0 4px 4px 0;" 18.149 + src="images/network.png" 18.150 + title="Secondary mirrors" alt="mirrors" /></a>Mirrors</h2> 18.151 + Most mirrors are updated using the url: <b>rsync://mirror.slitaz.org/slitaz/</b> 18.152 + (<a href="http://mirror.slitaz.org/awstats.pl?config=rsync">stats</a>) 18.153 + <pre> 18.154 +rsync -azH --delete rsync://mirror.slitaz.org/slitaz/ /local/slitaz/mirror/ </pre> 18.155 + New mirrors should be announced on the 18.156 + <a href="http://www.slitaz.org/en/mailing-list.html">mailing list</a>. 18.157 +<ul> 18.158 +<?php 18.159 +$output_url_file=""; 18.160 +$output_url_handler; 18.161 +$mirrors_url_file="./mirrors"; 18.162 + 18.163 +function test_url($link, $proto) 18.164 +{ 18.165 + global $output_url_file; 18.166 + global $mirrors_url_file; 18.167 + global $output_url_handler; 18.168 + 18.169 + if ($output_url_file != "") { 18.170 + switch($proto) { 18.171 + case "http" : 18.172 + case "ftp" : 18.173 + $cmd = "busybox wget -s $link/README" ; 18.174 + break; 18.175 + case "rsync" : 18.176 + $cmd = "rsync $link > /dev/null 2>&1" ; 18.177 + break; 18.178 + default : 18.179 + return FALSE; 18.180 + } 18.181 + if (shell_exec("$cmd && echo -n OK") == "OK") { 18.182 + fwrite($output_url_handler,$link."\n"); 18.183 + return TRUE; 18.184 + } 18.185 + return FALSE; 18.186 + } 18.187 + return shell_exec("grep -qs ^$link$ $mirrors_url_file && echo -n OK") == "OK"; 18.188 +} 18.189 + 18.190 +if (! file_exists($mirrors_url_file)) { 18.191 + $output_url_file = tempnam('/tmp','mkmirrors'); 18.192 + $output_url_handler = fopen($output_url_file, "w"); 18.193 + fwrite($output_url_handler,"http://mirror.slitaz.org/\n"); 18.194 + fwrite($output_url_handler,"rsync://mirror.slitaz.org/\n"); 18.195 +} 18.196 + 18.197 +# Flags icons from http://www.famfamfam.com/lab/icons/flags/famfamfam_flag_icons.zip 18.198 +foreach (array( 18.199 + array( "flag" => "ch", 18.200 + "http" => "http://mirror.switch.ch/ftp/mirror/slitaz/", 18.201 + "ftp" => "ftp://mirror.switch.ch/mirror/slitaz/"), 18.202 + array( "flag" => "us", 18.203 + "http" => "http://www.gtlib.gatech.edu/pub/slitaz/", 18.204 + "ftp" => "ftp://ftp.gtlib.gatech.edu/pub/slitaz/", 18.205 + "rsync" => "rsync://www.gtlib.gatech.edu/slitaz/"), 18.206 + array( "flag" => "fr", 18.207 + "http" => "http://download.tuxfamily.org/slitaz/", 18.208 + "ftp" => "ftp://download.tuxfamily.org/slitaz/", 18.209 + "rsync" => "rsync://download.tuxfamily.org/pub/slitaz/"), 18.210 + array( "flag" => "fr", 18.211 + "http" => "http://www.linuxembarque.com/slitaz/mirror/"), 18.212 + array( "flag" => "cn", 18.213 + "http" => "http://mirror.lupaworld.com/slitaz/"), 18.214 + array( "flag" => "cn", 18.215 + "http" => "http://ks.lupaworld.com/slitaz/"), 18.216 + array( "flag" => "br", 18.217 + "http" => "http://slitaz.c3sl.ufpr.br/", 18.218 + "ftp" => "ftp://slitaz.c3sl.ufpr.br/slitaz/", 18.219 + "rsync" => "rsync://slitaz.c3sl.ufpr.br/slitaz/"), 18.220 + array( "flag" => "it", 18.221 + "http" => "http://slitaz.mirror.garr.it/mirrors/slitaz/", 18.222 + "ftp" => "ftp://slitaz.mirror.garr.it/mirrors/slitaz/", 18.223 + "rsync" => "rsync://slitaz.mirror.garr.it/mirrors/slitaz/"), 18.224 + array( "flag" => "si", 18.225 + "http" => "http://mirror.drustvo-dns.si/slitaz/"), 18.226 + array( "flag" => "si", 18.227 + "ftp" => "ftp://ftp.pina.si/slitaz/"), 18.228 + array( "flag" => "us", 18.229 + "http" => "http://distro.ibiblio.org/pub/linux/distributions/slitaz/", 18.230 + "ftp" => "ftp://distro.ibiblio.org/pub/linux/distributions/slitaz/"), 18.231 + array( "flag" => "nl", 18.232 + "http" => "http://ftp.vim.org/ftp/os/Linux/distr/slitaz/", 18.233 + "ftp" => "ftp://ftp.vim.org/mirror/os/Linux/distr/slitaz/"), 18.234 + array( "flag" => "nl", 18.235 + "http" => "http://ftp.nedit.org/ftp/ftp/pub/os/Linux/distr/slitaz/", 18.236 + "ftp" => "ftp://ftp.nedit.org/ftp/ftp/pub/os/Linux/distr/slitaz/"), 18.237 + array( "flag" => "ch", 18.238 + "http" => "http://ftp.ch.xemacs.org/ftp/pool/2/mirror/slitaz/", 18.239 + "ftp" => "ftp://ftp.ch.xemacs.org//pool/2/mirror/slitaz/"), 18.240 + array( "flag" => "de", 18.241 + "http" => "http://ftp.uni-stuttgart.de/slitaz/", 18.242 + "ftp" => "ftp://ftp.uni-stuttgart.de/slitaz/"), 18.243 + array( "flag" => "ro", 18.244 + "http" => "http://ftp.info.uvt.ro/pub/slitaz/", 18.245 + "ftp" => "ftp://ftp.info.uvt.ro/pub/slitaz/", 18.246 + "rsync" => "rsync://ftp.info.uvt.ro/ftp/pub/slitaz/"), 18.247 + array( "flag" => "au", 18.248 + "http" => "http://mirror.iprimus.com/slitaz/"), 18.249 + array( "flag" => "au", 18.250 + "http" => "http://mirror01.ipgn.com.au/slitaz/"), 18.251 + array( "flag" => "us", 18.252 + "http" => "http://mirror.clarkson.edu/slitaz/", 18.253 + "rsync" => "rsync://mirror.clarkson.edu/slitaz/")) as $mirror) { 18.254 + $flag = "pics/website/".$mirror["flag"].".png"; 18.255 + $head = TRUE; 18.256 + foreach(array("http", "ftp", "rsync") as $proto) { 18.257 + if (!isset($mirror[$proto])) continue; 18.258 + $link = $mirror[$proto]; 18.259 + if (!test_url($link, $proto)) continue; 18.260 + $serveur = parse_url($link, PHP_URL_HOST); 18.261 + if ($head) echo <<<EOT 18.262 + <li><a href="http://en.utrace.de/?query=$serveur"> 18.263 + <img title="map" src="$flag" alt="map" /></a> 18.264 + <a href="$link">$link</a> 18.265 +EOT; 18.266 + else echo <<<EOT 18.267 + or <a href="$link">$proto</a> 18.268 +EOT; 18.269 + $head = FALSE; 18.270 + } 18.271 + if ($head) continue; 18.272 + echo " </li>\n"; 18.273 +} 18.274 + 18.275 +if ($output_url_file != "") { 18.276 + fclose($output_url_handler); 18.277 + rename($output_url_file, $mirrors_url_file); 18.278 + chmod($mirrors_url_file, 0644); 18.279 +} 18.280 + 18.281 +?> 18.282 +</ul> 18.283 + 18.284 +<!-- End of content --> 18.285 +</div> 18.286 + 18.287 +<!-- Footer --> 18.288 +<div id="footer"> 18.289 + Copyright © <span class="year"></span> 18.290 + <a href="http://www.slitaz.org/">SliTaz</a> - Network: 18.291 + <a href="http://scn.slitaz.org/">Community</a> 18.292 + <a href="http://doc.slitaz.org/">Doc</a> 18.293 + <a href="http://forum.slitaz.org/">Forum</a> 18.294 + <a href="http://pkgs.slitaz.org/">Packages</a> 18.295 + <a href="http://bugs.slitaz.org">Bugs</a> 18.296 + <a href="http://hg.slitaz.org/">Hg</a> 18.297 + <p> 18.298 + SliTaz @ 18.299 + <a href="http://twitter.com/slitaz">Twitter</a> 18.300 + <a href="http://www.facebook.com/slitaz">Facebook</a> 18.301 + <a href="http://distrowatch.com/slitaz">Distrowatch</a> 18.302 + <a href="http://en.wikipedia.org/wiki/SliTaz">Wikipedia</a> 18.303 + <a href="http://flattr.com/profile/slitaz">Flattr</a> 18.304 + </p> 18.305 +</div> 18.306 + 18.307 +</body> 18.308 +</html>
19.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 19.2 +++ b/pangolin/web/mirrors Sun Jan 19 19:34:21 2014 +0100 19.3 @@ -0,0 +1,28 @@ 19.4 +http://mirror.slitaz.org/ 19.5 +rsync://mirror.slitaz.org/ 19.6 +http://mirror.switch.ch/ftp/mirror/slitaz/ 19.7 +ftp://mirror.switch.ch/mirror/slitaz/ 19.8 +http://www.gtlib.gatech.edu/pub/slitaz/ 19.9 +ftp://ftp.gtlib.gatech.edu/pub/slitaz/ 19.10 +http://download.tuxfamily.org/slitaz/ 19.11 +ftp://download.tuxfamily.org/slitaz/ 19.12 +rsync://download.tuxfamily.org/pub/slitaz/ 19.13 +http://slitaz.c3sl.ufpr.br/ 19.14 +ftp://slitaz.c3sl.ufpr.br/slitaz/ 19.15 +rsync://slitaz.c3sl.ufpr.br/slitaz/ 19.16 +http://slitaz.mirror.garr.it/mirrors/slitaz/ 19.17 +ftp://slitaz.mirror.garr.it/mirrors/slitaz/ 19.18 +http://distro.ibiblio.org/pub/linux/distributions/slitaz/ 19.19 +ftp://distro.ibiblio.org/pub/linux/distributions/slitaz/ 19.20 +http://ftp.vim.org/ftp/os/Linux/distr/slitaz/ 19.21 +ftp://ftp.vim.org/mirror/os/Linux/distr/slitaz/ 19.22 +http://ftp.nedit.org/ftp/ftp/pub/os/Linux/distr/slitaz/ 19.23 +ftp://ftp.nedit.org/ftp/ftp/pub/os/Linux/distr/slitaz/ 19.24 +http://ftp.ch.xemacs.org/ftp/pool/2/mirror/slitaz/ 19.25 +ftp://ftp.ch.xemacs.org//pool/2/mirror/slitaz/ 19.26 +http://ftp.uni-stuttgart.de/slitaz/ 19.27 +ftp://ftp.uni-stuttgart.de/slitaz/ 19.28 +http://ftp.info.uvt.ro/pub/slitaz/ 19.29 +ftp://ftp.info.uvt.ro/pub/slitaz/ 19.30 +http://mirror01.ipgn.com.au/slitaz/ 19.31 +http://mirror.clarkson.edu/slitaz/
20.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 20.2 +++ b/pangolin/web/robots.txt Sun Jan 19 19:34:21 2014 +0100 20.3 @@ -0,0 +1,4 @@ 20.4 +User-agent: * 20.5 +Disallow: /lib/ 20.6 +Disallow: /README 20.7 +Disallow:
21.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 21.2 +++ b/pangolin/web/slitaz.css Sun Jan 19 19:34:21 2014 +0100 21.3 @@ -0,0 +1,374 @@ 21.4 +/* 21.5 + CSS style for SliTaz Network - (C) 2014 SliTaz GNU/Linux 21.6 +*/ 21.7 + 21.8 +html { 21.9 + min-height: 102%; 21.10 +} 21.11 + 21.12 +body { 21.13 + background: #ffffff; 21.14 + color: black; 21.15 + font: 13px sans-serif, vernada, arial; 21.16 + margin: 0; 21.17 + min-width: 780px; 21.18 + height: 100%; 21.19 +} 21.20 + 21.21 +a { text-decoration: underline; color: #215090; } 21.22 +a:hover { text-decoration: none; color: blue; } 21.23 +img { border: 0pt none; vertical-align: middle; } 21.24 +h2 { color: #444; } 21.25 +h3 { color: #666; font-size: 140%; } 21.26 +h4 { color: #888; font-size: 120%; } 21.27 +pre { 21.28 + background-color: #f8f8f8; 21.29 + border: 1px solid #ddd; 21.30 + padding: 10px; 21.31 +} 21.32 + 21.33 +/* Header */ 21.34 + 21.35 +#header { 21.36 + height: 40px; 21.37 + background: #222; 21.38 +} 21.39 + 21.40 +#header h1 { 21.41 + margin: 0; 21.42 + padding: 8px 0 0 42px; 21.43 + width: 250px; 21.44 +} 21.45 + 21.46 +#header h1 a { 21.47 + color: white; 21.48 + text-decoration: none; 21.49 + font-size: 20px; 21.50 + font-style: italic; 21.51 +} 21.52 + 21.53 +#header h1 a:hover, #network a:hover, #network span { 21.54 + color: #afafaf; 21.55 +} 21.56 + 21.57 +/* Logo */ 21.58 + 21.59 +#logo { 21.60 + background: url(images/logo.png) no-repeat left; 21.61 + position: absolute; 21.62 + float: left; 21.63 + left: 0px; 21.64 + top: 0px; 21.65 + width: 40px; 21.66 + height: 40px; 21.67 +} 21.68 + 21.69 +/* SliTaz Network */ 21.70 + 21.71 +#network { 21.72 + float: right; 21.73 + padding: 14px 5px 0; 21.74 + font-size: 12px; 21.75 +} 21.76 + 21.77 +#network a, #network span { padding: 0 4px; } 21.78 +#network span { font-weight: bold; } 21.79 + 21.80 +/* Block */ 21.81 + 21.82 +#block { 21.83 + min-height: 180px; 21.84 + background: #ccc; 21.85 + padding: 20px 10% 0px; 21.86 + text-align: center; 21.87 + color: #222; 21.88 + border-bottom: 1px solid #afafaf; 21.89 +} 21.90 + 21.91 +#block_info { 21.92 + text-align: justify; 21.93 + width: 48%; 21.94 + padding: 10px 10px 0 0; 21.95 +} 21.96 + 21.97 +#block a, #network a { 21.98 + color: #fff; 21.99 + font-weight: bold; 21.100 + text-decoration: none; 21.101 +} 21.102 + 21.103 +#block h4 { 21.104 + color: #222; 21.105 + margin: 0px; 21.106 + font-weight: bold; 21.107 + font-size: 110%; 21.108 +} 21.109 + 21.110 +#block_info p { margin: 6px 0; padding: 0 12px 0 0; } 21.111 +#block_info a { font-weight: normal; color: #215090; } 21.112 +#block_info a:hover { text-decoration: underline; } 21.113 +#block ul { list-style-type: square; } 21.114 +#block_nav a:hover { color: #afafaf; } 21.115 + 21.116 +/* Navigation */ 21.117 + 21.118 +#block_nav { 21.119 + background: #666; 21.120 + padding: 10px 10px 20px; 21.121 + text-align: justify; 21.122 + width: 48%; 21.123 + float: right; 21.124 +} 21.125 + 21.126 +#block_nav ul { 21.127 + list-style-type: none; 21.128 + margin: 6px 0; 21.129 + padding: 0; 21.130 +} 21.131 + 21.132 +#block_nav h4 img { 21.133 + margin: 0 4px 0 0; 21.134 + padding: 0; 21.135 +} 21.136 + 21.137 +/* Languages */ 21.138 + 21.139 +#lang { 21.140 + padding: 6px; 21.141 + font-size: 11px; 21.142 + position: absolute; 21.143 + right: 0px; 21.144 +} 21.145 + 21.146 +#lang a { 21.147 + text-decoration: none; 21.148 + padding: 0 2px; 21.149 +} 21.150 + 21.151 +#lang a:hover { 21.152 + text-decoration: underline; 21.153 +} 21.154 + 21.155 +.box #lang { text-align: center; position: relative; 21.156 + font-size: 13px; } /* for /i18n page */ 21.157 + 21.158 +/* Content */ 21.159 + 21.160 +#content { 21.161 + padding: 30px 80px; 21.162 + text-align: justify; 21.163 +} 21.164 + 21.165 +.news li { 21.166 + list-style-type: square; 21.167 + border-bottom: 1px dotted #BEBEBE; 21.168 + margin-left: -25px; 21.169 + padding: 4px 0px 4px 0px; 21.170 +} 21.171 + 21.172 +.news a, .feed-grid a { text-decoration: none; } 21.173 +.news p a { text-decoration: underline; } 21.174 +.news p a:hover { text-decoration: none; } 21.175 +#twitter { margin: 20px 0; text-align: center; } 21.176 +#gallery { text-align: center; } 21.177 + 21.178 +#sponsor { 21.179 + font-size: 90%; 21.180 + background-color: #fbfbfb; 21.181 + border: 2px solid #ddd; 21.182 + width: 200px; 21.183 + height: 160px; 21.184 + float: right; 21.185 + text-align: center; 21.186 + margin: 10px 0px 20px 20px; 21.187 +} 21.188 + 21.189 +/* Classes */ 21.190 + 21.191 +.right_box { width: 48%; float: right; } 21.192 +.left_box { width: 48%; float: left; } 21.193 + 21.194 +.box { 21.195 + margin: 20px 60px; 21.196 + padding: 12px; 21.197 + background: #efefef; 21.198 + border: 1px solid #ddd; 21.199 +} 21.200 + 21.201 +.box-dl, .box-up { 21.202 + margin: 20px 60px; 21.203 + padding: 12px 12px 12px 66px; 21.204 + min-height: 48px; 21.205 + border: 1px solid #ddd; 21.206 + vertical-align: middle; 21.207 +} 21.208 +.box-dl { 21.209 + background: url("/images/download.png") no-repeat 12px 12px #efefef; 21.210 +} 21.211 +.box-up { 21.212 + background: url("/images/update.png") no-repeat center left #efefef; 21.213 +} 21.214 +.box-dl p { color: #456; } 21.215 + 21.216 +.searchbox { 21.217 + margin: 20px 80px; 21.218 + padding: 12px; 21.219 + background: #f8f8f8; 21.220 + text-align: center; 21.221 + border: 1px solid #ddd; 21.222 +} 21.223 + 21.224 +/* Activity Box */ 21.225 + 21.226 +.activity { 21.227 + margin: 0 0 20px; 21.228 + background: #efefef; 21.229 + padding: 5px 2px 0; 21.230 + border: 1px solid #ddd; 21.231 +} 21.232 +.activity div { padding: 5px 10px; background: #fff; margin-top: 5px; } 21.233 +.activity p { margin: 0; padding: 5px 10px; font-weight: bold; } 21.234 +.activity a { text-decoration: none; } 21.235 +.activity ul { list-style-type: none; 21.236 + margin: 4px 0; padding: 0 4px; line-height: 150%; } 21.237 +.activity_more { text-align: right; } 21.238 +.activity_more a { font-weight: normal; color: #000; padding: 0 4px; } 21.239 +.activity_more a:hover { text-decoration: underline; } 21.240 + 21.241 +.activity span, .news span { 21.242 + color: #666; 21.243 + font-size: 11px; 21.244 + font-weight: normal; 21.245 +} 21.246 + 21.247 +/* Button */ 21.248 + 21.249 +#block_info .button a { 21.250 + background-color: #666; 21.251 + color: #ffffff; 21.252 + margin: 0px 4px; 21.253 + padding: 6px 10px; 21.254 + font-size: 12px; 21.255 + text-decoration: none; 21.256 + font-weight: bold; 21.257 +} 21.258 +#block_info .button a:hover, input[type=submit]:hover { 21.259 + background-color: #444; 21.260 + color: #ffffff; 21.261 +} 21.262 + 21.263 +/* Round corner */ 21.264 + 21.265 +#block_nav, pre, .box, .box-dl, .box-up, .searchbox, .button a, #twitter, .activity, 21.266 +.activity div, #sponsor { 21.267 + -moz-border-radius: 4px; 21.268 + -webkit-border-radius: 4px; 21.269 + border-radius: 4px; 21.270 +} 21.271 + 21.272 +/* Form */ 21.273 + 21.274 +input[type=submit] { 21.275 + border: 1px solid #666; 21.276 + background-color: #666; 21.277 + color: white; 21.278 + font-weight: bold; 21.279 + cursor: pointer; 21.280 + padding: 4px 10px; 21.281 + font-size: 14px; 21.282 + margin-left: -5px; 21.283 + -webkit-border-top-right-radius: 4px; 21.284 + -webkit-border-bottom-right-radius: 4px; 21.285 + -moz-border-radius-topright: 4px; 21.286 + -moz-border-radius-bottomright: 4px; 21.287 + border-top-right-radius: 4px; 21.288 + border-bottom-right-radius: 4px; 21.289 +} 21.290 + 21.291 +input[type=submit]:hover { background-color: #444; } 21.292 + 21.293 +input[type=text] { 21.294 + border: 1px solid #333333; 21.295 + padding: 4px; 21.296 + height: 17px; 21.297 + width: 100%; 21.298 + -webkit-border-top-left-radius: 4px; 21.299 + -webkit-border-bottom-left-radius: 4px; 21.300 + -moz-border-radius-topleft: 4px; 21.301 + -moz-border-radius-bottomleft: 4px; 21.302 + border-top-left-radius: 4px; 21.303 + border-bottom-left-radius: 4px; 21.304 +} 21.305 + 21.306 +/* Footer */ 21.307 + 21.308 +#footer { 21.309 + background: #f1f1f1; 21.310 + text-align: center; 21.311 + border-top: 1px solid #ddd; 21.312 + padding: 40px; 21.313 + color: #666; 21.314 + clear: both; 21.315 + margin-bottom: -2%; 21.316 +} 21.317 + 21.318 +#footer a { color: #666; padding: 0 2px; } 21.319 + 21.320 +.year:after { 21.321 + /* content: "2007-2014"; */ 21.322 + content: "2014"; 21.323 +} 21.324 + 21.325 +p, li { 21.326 + -moz-hyphens: auto; 21.327 + -webkit-hyphens: auto; 21.328 + hyphens: auto; 21.329 +} 21.330 + 21.331 + 21.332 +/* --- SEARCH --- */ 21.333 + 21.334 +input.gsc-search-button { 21.335 + border: 1px solid #b64b22; 21.336 + background-color: #b64b22; 21.337 + color: white; 21.338 + font-weight: bold; 21.339 + cursor: pointer; 21.340 + padding: 2px 10px; 21.341 + font-size: 14px; 21.342 + margin-left: -4px; 21.343 + -webkit-border-top-right-radius: 4px; 21.344 + -webkit-border-bottom-right-radius: 4px; 21.345 + -moz-border-radius-topright: 4px; 21.346 + -moz-border-radius-bottomright: 4px; 21.347 + border-top-right-radius: 4px; 21.348 + border-bottom-right-radius: 4px; 21.349 +} 21.350 + 21.351 +.gs-webResult.gs-result a.gs-title:link, 21.352 +.gs-webResult.gs-result a.gs-title:link b { 21.353 + color: #103a5e; 21.354 +} 21.355 + 21.356 +#cse { 21.357 + margin-bottom: 120px; 21.358 + width:100%; 21.359 +} 21.360 + 21.361 + 21.362 +/* --- GALLERY --- */ 21.363 + 21.364 +#gallery div { 21.365 + width: 496px; 21.366 + border: none; 21.367 + border-radius: 12px; 21.368 + padding-bottom: 8px; 21.369 + margin: 12px auto; 21.370 + webkit-box-shadow: 0 0 6px rgba(0,0,0,0.5); 21.371 + -moz-box-shadow: 0 0 6px rgba(0,0,0,0.5); 21.372 + box-shadow: 0 0 6px rgba(0,0,0,0.5); 21.373 +} 21.374 +#gallery img { 21.375 + width: 480px; 21.376 + margin: 8px; 21.377 +}