1
0
mirror of https://github.com/stefanocasazza/ULib.git synced 2025-10-05 19:18:01 +08:00

Create gh-pages branch via GitHub

This commit is contained in:
stefano casazza 2015-03-06 15:03:12 +01:00
parent eef308bace
commit a0528dd9e4
6 changed files with 480 additions and 112 deletions

BIN
images/checker.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 B

View File

@ -1,38 +1,34 @@
<!DOCTYPE html> <!doctype html>
<html> <html>
<head> <head>
<meta charset='utf-8'> <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="chrome=1"> <meta http-equiv="X-UA-Compatible" content="chrome=1">
<meta name="description" content="Ulib : C++ application development framework, to help developers create and deploy applications very fast and more simple"> <title>Ulib by stefanocasazza</title>
<link rel="stylesheet" type="text/css" media="screen" href="stylesheets/stylesheet.css"> <link rel="stylesheet" href="stylesheets/styles.css">
<link rel="stylesheet" href="stylesheets/pygment_trac.css">
<script src="javascripts/scale.fix.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
<title>Ulib</title> <!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head> </head>
<body> <body>
<div class="wrapper">
<!-- HEADER --> <header>
<div id="header_wrap" class="outer"> <h1>Ulib</h1>
<header class="inner"> <p>C++ application development framework, to help developers create and deploy applications very fast and more simple</p>
<a id="forkme_banner" href="https://github.com/stefanocasazza/ULib">View on GitHub</a> <p class="view"><a href="https://github.com/stefanocasazza/ULib">View the Project on GitHub <small>stefanocasazza/ULib</small></a></p>
<ul>
<h1 id="project_title">Ulib</h1> <li><a href="https://github.com/stefanocasazza/ULib/zipball/master">Download <strong>ZIP File</strong></a></li>
<h2 id="project_tagline">C++ application development framework, to help developers create and deploy applications very fast and more simple</h2> <li><a href="https://github.com/stefanocasazza/ULib/tarball/master">Download <strong>TAR Ball</strong></a></li>
<li><a href="https://github.com/stefanocasazza/ULib">View On <strong>GitHub</strong></a></li>
<section id="downloads"> </ul>
<a class="zip_download_link" href="https://github.com/stefanocasazza/ULib/zipball/master">Download this project as a .zip file</a> </header>
<a class="tar_download_link" href="https://github.com/stefanocasazza/ULib/tarball/master">Download this project as a tar.gz file</a> <section>
</section>
</header>
</div>
<!-- MAIN CONTENT -->
<div id="main_content_wrap" class="outer">
<section id="main_content" class="inner">
<h1> <h1>
<a name="ulib---c-library" class="anchor" href="#ulib---c-library"><span class="octicon octicon-link"></span></a>ULib - C++ library</h1> <a id="ulib---c-library" class="anchor" href="#ulib---c-library" aria-hidden="true"><span class="octicon octicon-link"></span></a>ULib - C++ library</h1>
<p>Travis CI: <a href="https://travis-ci.org/stefanocasazza/ULib"><img src="https://travis-ci.org/stefanocasazza/ULib.svg?branch=master" alt="Build Status"></a> <p>Travis CI: <a href="https://travis-ci.org/stefanocasazza/ULib"><img src="https://travis-ci.org/stefanocasazza/ULib.svg?branch=master" alt="Build Status"></a>
Coverity Scan: <a href="https://scan.coverity.com/projects/3322"><img src="https://scan.coverity.com/projects/3322/badge.svg" alt="Coverity Scan Build Status"></a></p> Coverity Scan: <a href="https://scan.coverity.com/projects/3322"><img src="https://scan.coverity.com/projects/3322/badge.svg" alt="Coverity Scan Build Status"></a></p>
@ -44,7 +40,7 @@ Coverity Scan: <a href="https://scan.coverity.com/projects/3322"><img src="https
<p>It include as application example a powerful search engine with relative <a href="https://github.com/stefanocasazza/ULib/blob/master/examples/IR/ir_web.usp">web interface</a> and a multi purpose server (plugin oriented) which results, out of <a href="http://john.freml.in/ulib-fast-io-framework">John Fremlin accurate investigations</a>, to be one of the fastest web application frameworks for serving small dynamic webpages (and also make easier the usage of shell scripts for CGI application)</p> <p>It include as application example a powerful search engine with relative <a href="https://github.com/stefanocasazza/ULib/blob/master/examples/IR/ir_web.usp">web interface</a> and a multi purpose server (plugin oriented) which results, out of <a href="http://john.freml.in/ulib-fast-io-framework">John Fremlin accurate investigations</a>, to be one of the fastest web application frameworks for serving small dynamic webpages (and also make easier the usage of shell scripts for CGI application)</p>
<h1> <h1>
<a name="userver-_tcp--_ssl--_ipc-application-server-plugin-oriented" class="anchor" href="#userver-_tcp--_ssl--_ipc-application-server-plugin-oriented"><span class="octicon octicon-link"></span></a>userver (<code>_tcp</code> | <code>_ssl</code> | <code>_ipc</code>) application server (<code>plugin oriented</code>)</h1> <a id="userver-_tcp--_ssl--_ipc-application-server-plugin-oriented" class="anchor" href="#userver-_tcp--_ssl--_ipc-application-server-plugin-oriented" aria-hidden="true"><span class="octicon octicon-link"></span></a>userver (<code>_tcp</code> | <code>_ssl</code> | <code>_ipc</code>) application server (<code>plugin oriented</code>)</h1>
<p>The current version offers the following features :</p> <p>The current version offers the following features :</p>
@ -69,17 +65,16 @@ Coverity Scan: <a href="https://scan.coverity.com/projects/3322"><img src="https
</li> </li>
<li>Support for <a href="http://json.org/JSONRequest.html">JSONRequest</a>.</li> <li>Support for <a href="http://json.org/JSONRequest.html">JSONRequest</a>.</li>
<li>Accept HTTP uploads up to 4 GB without increasing memory usage.</li> <li>Accept HTTP uploads up to 4 GB without increasing memory usage.</li>
<li>Support for upload progress via USP (ULib Servlet Page).</li>
<li>General <a href="http://it.wikipedia.org/wiki/Common_Gateway_Interface">CGI</a> support (run any CGI script) with automatic output compression (using gzip method).</li> <li>General <a href="http://it.wikipedia.org/wiki/Common_Gateway_Interface">CGI</a> support (run any CGI script) with automatic output compression (using gzip method).</li>
<li>CGI support for shell script processes (with automatic management of form and cookie).</li> <li>CGI support for shell script processes (with automatic management of form and cookie).</li>
<li>CGI support for the X-Sendfile feature and also supports X-Accel-Redirect headers transparently.</li> <li>CGI support for the X-Sendfile feature and also supports X-Accel-Redirect headers transparently.</li>
<li>Support for minify HTML CGI output with wrapping <a href="http://code.google.com/speed/page-speed/download.html#pagespeed-sdk">google page speed SDK</a>.</li> <li>Support for minify HTML CGI output by wrapping <a href="http://code.google.com/speed/page-speed/download.html#pagespeed-sdk">google page speed SDK</a>.</li>
<li>Support for running JavaScript code with wrapping <a href="http://code.google.com/apis/v8/intro.html">google V8 JavaScript Engine</a>.</li> <li>Support for running JavaScript code by wrapping <a href="http://code.google.com/apis/v8/intro.html">google V8 JavaScript Engine</a>.</li>
<li> <li>
<a href="http://www.phpmotionwiz.com/what-is-pseudo-streaming">HTTP pseudo-streaming</a> for FLV video managed transparently.</li> <a href="http://www.phpmotionwiz.com/what-is-pseudo-streaming">HTTP pseudo-streaming</a> for FLV video managed transparently.</li>
<li> <li>
<a href="http://bellard.org/tcc/">C Servlet Support</a> with libtcc (if available) as a backend for dynamic code generation (experimental).</li> <a href="http://bellard.org/tcc/">C Servlet Support</a> with libtcc (if available) as a backend for dynamic code generation (experimental).</li>
<li>Preforking mode to improve concurrency.</li> <li>Preforking mode to improve concurrency with dedicated process for long-time request.</li>
<li>Support for Windows (without preforking).</li> <li>Support for Windows (without preforking).</li>
<li>Customizable builds (you can remove unneeded functionality).</li> <li>Customizable builds (you can remove unneeded functionality).</li>
<li>Requests cut in phases for modular architecture (apache-like).</li> <li>Requests cut in phases for modular architecture (apache-like).</li>
@ -134,6 +129,8 @@ Coverity Scan: <a href="https://scan.coverity.com/projects/3322"><img src="https
<li><a href="https://www.ssllabs.com/ssltest/analyze.html?d=wifi-aaa.comune.fi.it">High SSL server quality score</a></li> <li><a href="https://www.ssllabs.com/ssltest/analyze.html?d=wifi-aaa.comune.fi.it">High SSL server quality score</a></li>
</ul> </ul>
<p>It is the main software component of <a href="http://wifi-aaa.comune.fi.it/login?mac=00%3A00%3A00%3A00%3A00%3A00&amp;ip=172.22.11.124&amp;redirect=http%3A//pasta.dianxinos.com/api/data&amp;gateway=159.213.248.230%3A5280&amp;timeout=0&amp;token=1810300063&amp;ap=05@159.213.248.230">city of Florence wireless network</a></p>
<p>We're hoping to get included in <a href="http://techempower.com/">TechEmpower's</a> <a href="http://www.techempower.com/benchmarks/">next round of benchmarks</a>. A pull request has been already issued.</p> <p>We're hoping to get included in <a href="http://techempower.com/">TechEmpower's</a> <a href="http://www.techempower.com/benchmarks/">next round of benchmarks</a>. A pull request has been already issued.</p>
<p>ULib is normally built and installed as a set of shared object libraries and header files. These libraries and headers are installed using directories selected through a "configure" script that has been prepared with automake and autoconf. As such, they should build and install similarly to and in a manner compatible and consistent with most other GNU software. ULib is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</p> <p>ULib is normally built and installed as a set of shared object libraries and header files. These libraries and headers are installed using directories selected through a "configure" script that has been prepared with automake and autoconf. As such, they should build and install similarly to and in a manner compatible and consistent with most other GNU software. ULib is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</p>
@ -144,16 +141,21 @@ Coverity Scan: <a href="https://scan.coverity.com/projects/3322"><img src="https
</code></pre> </code></pre>
</section> </section>
</div> </div>
<footer>
<!-- FOOTER --> <p>Project maintained by <a href="https://github.com/stefanocasazza">stefanocasazza</a></p>
<div id="footer_wrap" class="outer"> <p>Hosted on GitHub Pages &mdash; Theme by <a href="https://github.com/orderedlist">orderedlist</a></p>
<footer class="inner"> </footer>
<p class="copyright">Ulib maintained by <a href="https://github.com/stefanocasazza">stefanocasazza</a></p> <!--[if !IE]><script>fixScale(document);</script><![endif]-->
<p>Published with <a href="http://pages.github.com">GitHub Pages</a></p> <script type="text/javascript">
</footer> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
</div> document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-60470323-1");
pageTracker._trackPageview();
} catch(err) {}
</script>
</body> </body>
</html> </html>

20
javascripts/scale.fix.js Normal file
View File

@ -0,0 +1,20 @@
fixScale = function(doc) {
var addEvent = 'addEventListener',
type = 'gesturestart',
qsa = 'querySelectorAll',
scales = [1, 1],
meta = qsa in doc ? doc[qsa]('meta[name=viewport]') : [];
function fix() {
meta.content = 'width=device-width,minimum-scale=' + scales[0] + ',maximum-scale=' + scales[1];
doc.removeEventListener(type, fix, true);
}
if ((meta = meta[meta.length - 1]) && addEvent in doc) {
fix();
scales = [.25, 1.6];
doc[addEvent](type, fix, true);
}
};

File diff suppressed because one or more lines are too long

View File

@ -1,70 +1,60 @@
.highlight .hll { background-color: #ffffcc } .highlight .hll { background-color: #49483e }
.highlight { background: #f0f3f3; } .highlight { background: #3A3C42; color: #f8f8f2 }
.highlight .c { color: #0099FF; font-style: italic } /* Comment */ .highlight .c { color: #75715e } /* Comment */
.highlight .err { color: #AA0000; background-color: #FFAAAA } /* Error */ .highlight .err { color: #960050; background-color: #1e0010 } /* Error */
.highlight .k { color: #006699; font-weight: bold } /* Keyword */ .highlight .k { color: #66d9ef } /* Keyword */
.highlight .o { color: #555555 } /* Operator */ .highlight .l { color: #ae81ff } /* Literal */
.highlight .cm { color: #0099FF; font-style: italic } /* Comment.Multiline */ .highlight .n { color: #f8f8f2 } /* Name */
.highlight .cp { color: #009999 } /* Comment.Preproc */ .highlight .o { color: #f92672 } /* Operator */
.highlight .c1 { color: #0099FF; font-style: italic } /* Comment.Single */ .highlight .p { color: #f8f8f2 } /* Punctuation */
.highlight .cs { color: #0099FF; font-weight: bold; font-style: italic } /* Comment.Special */ .highlight .cm { color: #75715e } /* Comment.Multiline */
.highlight .gd { background-color: #FFCCCC; border: 1px solid #CC0000 } /* Generic.Deleted */ .highlight .cp { color: #75715e } /* Comment.Preproc */
.highlight .c1 { color: #75715e } /* Comment.Single */
.highlight .cs { color: #75715e } /* Comment.Special */
.highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #FF0000 } /* Generic.Error */
.highlight .gh { color: #003300; font-weight: bold } /* Generic.Heading */
.highlight .gi { background-color: #CCFFCC; border: 1px solid #00CC00 } /* Generic.Inserted */
.highlight .go { color: #AAAAAA } /* Generic.Output */
.highlight .gp { color: #000099; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #003300; font-weight: bold } /* Generic.Subheading */ .highlight .kc { color: #66d9ef } /* Keyword.Constant */
.highlight .gt { color: #99CC66 } /* Generic.Traceback */ .highlight .kd { color: #66d9ef } /* Keyword.Declaration */
.highlight .kc { color: #006699; font-weight: bold } /* Keyword.Constant */ .highlight .kn { color: #f92672 } /* Keyword.Namespace */
.highlight .kd { color: #006699; font-weight: bold } /* Keyword.Declaration */ .highlight .kp { color: #66d9ef } /* Keyword.Pseudo */
.highlight .kn { color: #006699; font-weight: bold } /* Keyword.Namespace */ .highlight .kr { color: #66d9ef } /* Keyword.Reserved */
.highlight .kp { color: #006699 } /* Keyword.Pseudo */ .highlight .kt { color: #66d9ef } /* Keyword.Type */
.highlight .kr { color: #006699; font-weight: bold } /* Keyword.Reserved */ .highlight .ld { color: #e6db74 } /* Literal.Date */
.highlight .kt { color: #007788; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #ae81ff } /* Literal.Number */
.highlight .m { color: #FF6600 } /* Literal.Number */ .highlight .s { color: #e6db74 } /* Literal.String */
.highlight .s { color: #CC3300 } /* Literal.String */ .highlight .na { color: #a6e22e } /* Name.Attribute */
.highlight .na { color: #330099 } /* Name.Attribute */ .highlight .nb { color: #f8f8f2 } /* Name.Builtin */
.highlight .nb { color: #336666 } /* Name.Builtin */ .highlight .nc { color: #a6e22e } /* Name.Class */
.highlight .nc { color: #00AA88; font-weight: bold } /* Name.Class */ .highlight .no { color: #66d9ef } /* Name.Constant */
.highlight .no { color: #336600 } /* Name.Constant */ .highlight .nd { color: #a6e22e } /* Name.Decorator */
.highlight .nd { color: #9999FF } /* Name.Decorator */ .highlight .ni { color: #f8f8f2 } /* Name.Entity */
.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */ .highlight .ne { color: #a6e22e } /* Name.Exception */
.highlight .ne { color: #CC0000; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #a6e22e } /* Name.Function */
.highlight .nf { color: #CC00FF } /* Name.Function */ .highlight .nl { color: #f8f8f2 } /* Name.Label */
.highlight .nl { color: #9999FF } /* Name.Label */ .highlight .nn { color: #f8f8f2 } /* Name.Namespace */
.highlight .nn { color: #00CCFF; font-weight: bold } /* Name.Namespace */ .highlight .nx { color: #a6e22e } /* Name.Other */
.highlight .nt { color: #330099; font-weight: bold } /* Name.Tag */ .highlight .py { color: #f8f8f2 } /* Name.Property */
.highlight .nv { color: #003333 } /* Name.Variable */ .highlight .nt { color: #f92672 } /* Name.Tag */
.highlight .ow { color: #000000; font-weight: bold } /* Operator.Word */ .highlight .nv { color: #f8f8f2 } /* Name.Variable */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .ow { color: #f92672 } /* Operator.Word */
.highlight .mf { color: #FF6600 } /* Literal.Number.Float */ .highlight .w { color: #f8f8f2 } /* Text.Whitespace */
.highlight .mh { color: #FF6600 } /* Literal.Number.Hex */ .highlight .mf { color: #ae81ff } /* Literal.Number.Float */
.highlight .mi { color: #FF6600 } /* Literal.Number.Integer */ .highlight .mh { color: #ae81ff } /* Literal.Number.Hex */
.highlight .mo { color: #FF6600 } /* Literal.Number.Oct */ .highlight .mi { color: #ae81ff } /* Literal.Number.Integer */
.highlight .sb { color: #CC3300 } /* Literal.String.Backtick */ .highlight .mo { color: #ae81ff } /* Literal.Number.Oct */
.highlight .sc { color: #CC3300 } /* Literal.String.Char */ .highlight .sb { color: #e6db74 } /* Literal.String.Backtick */
.highlight .sd { color: #CC3300; font-style: italic } /* Literal.String.Doc */ .highlight .sc { color: #e6db74 } /* Literal.String.Char */
.highlight .s2 { color: #CC3300 } /* Literal.String.Double */ .highlight .sd { color: #e6db74 } /* Literal.String.Doc */
.highlight .se { color: #CC3300; font-weight: bold } /* Literal.String.Escape */ .highlight .s2 { color: #e6db74 } /* Literal.String.Double */
.highlight .sh { color: #CC3300 } /* Literal.String.Heredoc */ .highlight .se { color: #ae81ff } /* Literal.String.Escape */
.highlight .si { color: #AA0000 } /* Literal.String.Interpol */ .highlight .sh { color: #e6db74 } /* Literal.String.Heredoc */
.highlight .sx { color: #CC3300 } /* Literal.String.Other */ .highlight .si { color: #e6db74 } /* Literal.String.Interpol */
.highlight .sr { color: #33AAAA } /* Literal.String.Regex */ .highlight .sx { color: #e6db74 } /* Literal.String.Other */
.highlight .s1 { color: #CC3300 } /* Literal.String.Single */ .highlight .sr { color: #e6db74 } /* Literal.String.Regex */
.highlight .ss { color: #FFCC33 } /* Literal.String.Symbol */ .highlight .s1 { color: #e6db74 } /* Literal.String.Single */
.highlight .bp { color: #336666 } /* Name.Builtin.Pseudo */ .highlight .ss { color: #e6db74 } /* Literal.String.Symbol */
.highlight .vc { color: #003333 } /* Name.Variable.Class */ .highlight .bp { color: #f8f8f2 } /* Name.Builtin.Pseudo */
.highlight .vg { color: #003333 } /* Name.Variable.Global */ .highlight .vc { color: #f8f8f2 } /* Name.Variable.Class */
.highlight .vi { color: #003333 } /* Name.Variable.Instance */ .highlight .vg { color: #f8f8f2 } /* Name.Variable.Global */
.highlight .il { color: #FF6600 } /* Literal.Number.Integer.Long */ .highlight .vi { color: #f8f8f2 } /* Name.Variable.Instance */
.highlight .il { color: #ae81ff } /* Literal.Number.Integer.Long */
.type-csharp .highlight .k { color: #0000FF }
.type-csharp .highlight .kt { color: #0000FF }
.type-csharp .highlight .nf { color: #000000; font-weight: normal }
.type-csharp .highlight .nc { color: #2B91AF }
.type-csharp .highlight .nn { color: #000000 }
.type-csharp .highlight .s { color: #A31515 }
.type-csharp .highlight .sc { color: #A31515 }

356
stylesheets/styles.css Normal file
View File

@ -0,0 +1,356 @@
@import url(https://fonts.googleapis.com/css?family=Lato:300italic,700italic,300,700);
html {
background: #6C7989;
background: #6c7989 -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #6c7989), color-stop(100%, #434b55)) fixed;
background: #6c7989 -webkit-linear-gradient(#6c7989, #434b55) fixed;
background: #6c7989 -moz-linear-gradient(#6c7989, #434b55) fixed;
background: #6c7989 -o-linear-gradient(#6c7989, #434b55) fixed;
background: #6c7989 -ms-linear-gradient(#6c7989, #434b55) fixed;
background: #6c7989 linear-gradient(#6c7989, #434b55) fixed;
}
body {
padding: 50px 0;
margin: 0;
font: 14px/1.5 Lato, "Helvetica Neue", Helvetica, Arial, sans-serif;
color: #555;
font-weight: 300;
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAeCAYAAABNChwpAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABx0RVh0U29mdHdhcmUAQWRvYmUgRmlyZXdvcmtzIENTNXG14zYAAAAUdEVYdENyZWF0aW9uIFRpbWUAMy82LzEygrTcTAAAAFRJREFUSIljfPDggZRf5RIGGNjUHsNATz6jXmSL1Kb2GLiAX+USBnrymRgGGDCORgFmoNAXjEbBaBSMRsFoFIxGwWgUjEbBaBSMRsFoFIxGwWgUAABYNujumib3wAAAAABJRU5ErkJggg==') fixed;
}
.wrapper {
width: 640px;
margin: 0 auto;
background: #DEDEDE;
-webkit-border-radius: 8px;
-moz-border-radius: 8px;
-ms-border-radius: 8px;
-o-border-radius: 8px;
border-radius: 8px;
-webkit-box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 0, 0, 0.45) 0 3px 10px;
-moz-box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 0, 0, 0.45) 0 3px 10px;
box-shadow: rgba(0, 0, 0, 0.2) 0 0 0 1px, rgba(0, 0, 0, 0.45) 0 3px 10px;
}
header, section, footer {
display: block;
}
a {
color: #069;
text-decoration: none;
}
p {
margin: 0 0 20px;
padding: 0;
}
strong {
color: #222;
font-weight: 700;
}
header {
-webkit-border-radius: 8px 8px 0 0;
-moz-border-radius: 8px 8px 0 0;
-ms-border-radius: 8px 8px 0 0;
-o-border-radius: 8px 8px 0 0;
border-radius: 8px 8px 0 0;
background: #C6EAFA;
background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ddfbfc), color-stop(100%, #c6eafa));
background: -webkit-linear-gradient(#ddfbfc, #c6eafa);
background: -moz-linear-gradient(#ddfbfc, #c6eafa);
background: -o-linear-gradient(#ddfbfc, #c6eafa);
background: -ms-linear-gradient(#ddfbfc, #c6eafa);
background: linear-gradient(#ddfbfc, #c6eafa);
position: relative;
padding: 15px 20px;
border-bottom: 1px solid #B2D2E1;
}
header h1 {
margin: 0;
padding: 0;
font-size: 24px;
line-height: 1.2;
color: #069;
text-shadow: rgba(255, 255, 255, 0.9) 0 1px 0;
}
header.without-description h1 {
margin: 10px 0;
}
header p {
margin: 0;
color: #61778B;
width: 300px;
font-size: 13px;
}
header p.view {
display: none;
font-weight: 700;
text-shadow: rgba(255, 255, 255, 0.9) 0 1px 0;
-webkit-font-smoothing: antialiased;
}
header p.view a {
color: #06c;
}
header p.view small {
font-weight: 400;
}
header ul {
margin: 0;
padding: 0;
list-style: none;
position: absolute;
z-index: 1;
right: 20px;
top: 20px;
height: 38px;
padding: 1px 0;
background: #5198DF;
background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #77b9fb), color-stop(100%, #3782cd));
background: -webkit-linear-gradient(#77b9fb, #3782cd);
background: -moz-linear-gradient(#77b9fb, #3782cd);
background: -o-linear-gradient(#77b9fb, #3782cd);
background: -ms-linear-gradient(#77b9fb, #3782cd);
background: linear-gradient(#77b9fb, #3782cd);
border-radius: 5px;
-webkit-box-shadow: inset rgba(255, 255, 255, 0.45) 0 1px 0, inset rgba(0, 0, 0, 0.2) 0 -1px 0;
-moz-box-shadow: inset rgba(255, 255, 255, 0.45) 0 1px 0, inset rgba(0, 0, 0, 0.2) 0 -1px 0;
box-shadow: inset rgba(255, 255, 255, 0.45) 0 1px 0, inset rgba(0, 0, 0, 0.2) 0 -1px 0;
width: auto;
}
header ul:before {
content: '';
position: absolute;
z-index: -1;
left: -5px;
top: -4px;
right: -5px;
bottom: -6px;
background: rgba(0, 0, 0, 0.1);
-webkit-border-radius: 8px;
-moz-border-radius: 8px;
-ms-border-radius: 8px;
-o-border-radius: 8px;
border-radius: 8px;
-webkit-box-shadow: rgba(0, 0, 0, 0.2) 0 -1px 0, inset rgba(255, 255, 255, 0.7) 0 -1px 0;
-moz-box-shadow: rgba(0, 0, 0, 0.2) 0 -1px 0, inset rgba(255, 255, 255, 0.7) 0 -1px 0;
box-shadow: rgba(0, 0, 0, 0.2) 0 -1px 0, inset rgba(255, 255, 255, 0.7) 0 -1px 0;
}
header ul li {
width: 79px;
float: left;
border-right: 1px solid #3A7CBE;
height: 38px;
}
header ul li.single {
border: none;
}
header ul li + li {
width: 78px;
border-left: 1px solid #8BBEF3;
}
header ul li + li + li {
border-right: none;
width: 79px;
}
header ul a {
line-height: 1;
font-size: 11px;
color: #fff;
color: rgba(255, 255, 255, 0.8);
display: block;
text-align: center;
font-weight: 400;
padding-top: 6px;
height: 40px;
text-shadow: rgba(0, 0, 0, 0.4) 0 -1px 0;
}
header ul a strong {
font-size: 14px;
display: block;
color: #fff;
-webkit-font-smoothing: antialiased;
}
section {
padding: 15px 20px;
font-size: 15px;
border-top: 1px solid #fff;
background: -webkit-gradient(linear, 50% 0%, 50% 700, color-stop(0%, #fafafa), color-stop(100%, #dedede));
background: -webkit-linear-gradient(#fafafa, #dedede 700px);
background: -moz-linear-gradient(#fafafa, #dedede 700px);
background: -o-linear-gradient(#fafafa, #dedede 700px);
background: -ms-linear-gradient(#fafafa, #dedede 700px);
background: linear-gradient(#fafafa, #dedede 700px);
-webkit-border-radius: 0 0 8px 8px;
-moz-border-radius: 0 0 8px 8px;
-ms-border-radius: 0 0 8px 8px;
-o-border-radius: 0 0 8px 8px;
border-radius: 0 0 8px 8px;
position: relative;
}
h1, h2, h3, h4, h5, h6 {
color: #222;
padding: 0;
margin: 0 0 20px;
line-height: 1.2;
}
p, ul, ol, table, pre, dl {
margin: 0 0 20px;
}
h1, h2, h3 {
line-height: 1.1;
}
h1 {
font-size: 28px;
}
h2 {
color: #393939;
}
h3, h4, h5, h6 {
color: #494949;
}
blockquote {
margin: 0 -20px 20px;
padding: 15px 20px 1px 40px;
font-style: italic;
background: #ccc;
background: rgba(0, 0, 0, 0.06);
color: #222;
}
img {
max-width: 100%;
}
code, pre {
font-family: Monaco, Bitstream Vera Sans Mono, Lucida Console, Terminal;
color: #333;
font-size: 12px;
overflow-x: auto;
}
pre {
padding: 20px;
background: #3A3C42;
color: #f8f8f2;
margin: 0 -20px 20px;
}
pre code {
color: #f8f8f2;
}
li pre {
margin-left: -60px;
padding-left: 60px;
}
table {
width: 100%;
border-collapse: collapse;
}
th, td {
text-align: left;
padding: 5px 10px;
border-bottom: 1px solid #aaa;
}
dt {
color: #222;
font-weight: 700;
}
th {
color: #222;
}
small {
font-size: 11px;
}
hr {
border: 0;
background: #aaa;
height: 1px;
margin: 0 0 20px;
}
footer {
width: 640px;
margin: 0 auto;
padding: 20px 0 0;
color: #ccc;
overflow: hidden;
}
footer a {
color: #fff;
font-weight: bold;
}
footer p {
float: left;
}
footer p + p {
float: right;
}
@media print, screen and (max-width: 740px) {
body {
padding: 0;
}
.wrapper {
-webkit-border-radius: 0;
-moz-border-radius: 0;
-ms-border-radius: 0;
-o-border-radius: 0;
border-radius: 0;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
width: 100%;
}
footer {
-webkit-border-radius: 0;
-moz-border-radius: 0;
-ms-border-radius: 0;
-o-border-radius: 0;
border-radius: 0;
padding: 20px;
width: auto;
}
footer p {
float: none;
margin: 0;
}
footer p + p {
float: none;
}
}
@media print, screen and (max-width:580px) {
header ul {
display: none;
}
header p.view {
display: block;
}
header p {
width: 100%;
}
}
@media print {
header p.view a small:before {
content: 'at http://github.com/';
}
}