summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@typesafe.com>2013-07-15 21:16:00 -0700
committerAdriaan Moors <adriaan.moors@typesafe.com>2013-07-15 21:16:00 -0700
commited33a41ca138622b6fbc099d0a026f9b374b43d0 (patch)
treef78607872211bd4656a50cdc27d2fc42aea1d4ad
downloadscala-ed33a41ca138622b6fbc099d0a026f9b374b43d0.tar.gz
scala-ed33a41ca138622b6fbc099d0a026f9b374b43d0.tar.bz2
scala-ed33a41ca138622b6fbc099d0a026f9b374b43d0.zip
Create gh-pages branch via GitHub
-rw-r--r--index.html163
-rw-r--r--javascripts/scale.fix.js17
-rw-r--r--params.json1
-rw-r--r--stylesheets/pygment_trac.css69
-rw-r--r--stylesheets/styles.css255
5 files changed, 505 insertions, 0 deletions
diff --git a/index.html b/index.html
new file mode 100644
index 0000000000..e11740f2ab
--- /dev/null
+++ b/index.html
@@ -0,0 +1,163 @@
+<!doctype html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="chrome=1">
+ <title>Scala by scala</title>
+
+ <link rel="stylesheet" href="stylesheets/styles.css">
+ <link rel="stylesheet" href="stylesheets/pygment_trac.css">
+ <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
+ <!--[if lt IE 9]>
+ <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
+ <![endif]-->
+ </head>
+ <body>
+ <div class="wrapper">
+ <header>
+ <h1>Scala</h1>
+ <p>Documentation on the development of the Scala compiler and standard library.</p>
+
+ <p class="view"><a href="https://github.com/scala/scala">View the Project on GitHub <small>scala/scala</small></a></p>
+
+
+ <ul>
+ <li><a href="https://github.com/scala/scala/zipball/master">Download <strong>ZIP File</strong></a></li>
+ <li><a href="https://github.com/scala/scala/tarball/master">Download <strong>TAR Ball</strong></a></li>
+ <li><a href="https://github.com/scala/scala">View On <strong>GitHub</strong></a></li>
+ </ul>
+ </header>
+ <section>
+ <h1>
+<a name="more-information" class="anchor" href="#more-information"><span class="octicon octicon-link"></span></a>More information</h1>
+
+<ul>
+<li><a href="http://www.scala-lang.org">The official Scala website</a></li>
+<li><a href="http://docs.scala-lang.org">Scala documentation</a></li>
+<li><a href="https://issues.scala-lang.org">Report a bug or request a feature</a></li>
+<li><a href="https://scala-webapps.epfl.ch/jenkins/">Scala Jenkins dashboard</a></li>
+<li>Scala mailing lists:
+
+<ul>
+<li><a href="https://groups.google.com/group/scala-user">Users of Scala</a></li>
+<li><a href="https://groups.google.com/group/scala-language">Scala language discussion</a></li>
+<li><a href="https://groups.google.com/group/scala-internals">Compiler and standard library development</a></li>
+<li><a href="https://groups.google.com/group/scala-sips">Scala Improvement Process</a></li>
+<li><a href="https://groups.google.com/group/scala-debate">Debate</a></li>
+<li><a href="https://groups.google.com/group/scala-announce">Announcements</a></li>
+</ul>
+</li>
+</ul><h1>
+<a name="building" class="anchor" href="#building"><span class="octicon octicon-link"></span></a>Building</h1>
+
+<p>Run <code>ant build-opt</code> to build an optimized version of the compiler.
+Verify your build using <code>ant test-opt</code>.</p>
+
+<p>The Scala build system is based on Apache Ant. Most required pre-compiled
+libraries are part of the repository (in 'lib/'). The following however is
+assumed to be installed on the build machine:</p>
+
+<h2>
+<a name="requirements" class="anchor" href="#requirements"><span class="octicon octicon-link"></span></a>Requirements</h2>
+
+<ul>
+<li>A Java runtime environment (JRE) or SDK 1.6 or above.</li>
+<li>Apache Ant version 1.8.0 or above.</li>
+<li>bash (via cygwin for windows)</li>
+<li>curl</li>
+</ul><h1>
+<a name="contributing" class="anchor" href="#contributing"><span class="octicon octicon-link"></span></a>Contributing</h1>
+
+<p>We ask all contributors <a href="http://typesafe.com/contribute/cla/scala">sign the Scala Contributor License Agreement</a>,
+which allows us to ensure that all code submitted to the project is unencumbered by copyrights or patents.</p>
+
+<p>Please follow the guidelines outlined in our (Pull Request Policy)[<a href="https://github.com/scala/scala/wiki/Pull-Request-Policy">https://github.com/scala/scala/wiki/Pull-Request-Policy</a>].</p>
+
+<h2>
+<a name="repository-structure" class="anchor" href="#repository-structure"><span class="octicon octicon-link"></span></a>Repository structure</h2>
+
+<pre><code>scala/
++--build.xml The main Ant build script, see also under src/build.
++--lib/ Pre-compiled libraries for the build.
++--pull-binary-libs.sh Pulls binary artifacts from remote repository.
++--src/ All the source files of Scala.
++--test/ The Scala test suite.
++--build/ [Generated] Build products output directory for ant.
++--dist/ [Generated] The destination folder for Scala distributions.
+</code></pre>
+
+<h2>
+<a name="tips-and-tricks" class="anchor" href="#tips-and-tricks"><span class="octicon octicon-link"></span></a>Tips and tricks</h2>
+
+<p>Here are some common commands. Most ant targets offer a <code>-opt</code> variant that runs under <code>-optimise</code>.</p>
+
+<ul>
+<li><p><code>./pull-binary-libs.sh</code> downloads all binary artifacts associated with this commit.
+This requires internet access to <a href="http://typesafe.artifactoryonline.com/typesafe">http://typesafe.artifactoryonline.com/typesafe</a>.</p></li>
+<li><p><code>ant -p</code> prints out information about the commonly used ant targets. The interested
+developer can find the rest in the XML files.</p></li>
+<li>
+<p><code>ant</code> or <code>ant build</code>: A quick compilation (to quick) of your changes using the locker compiler.</p>
+
+<ul>
+<li>This will rebuild all quick if locker changed.</li>
+<li>This will also rebuild locker if starr changed.</li>
+</ul>
+</li>
+<li><p><code>ln -s build/quick/bin qbin</code> (once):</p></li>
+<li><p><code>ant &amp;&amp; qbin/scalac -d sandbox sandbox/test.scala &amp;&amp; qbin/scala -cp sandbox Test</code>
+Incrementally builds quick, and then uses it to compile and run the file
+<code>sandbox/test.scala</code>. This is a typical debug cycle.</p></li>
+<li>
+<p><code>ant test</code> tests that your code is working and fit to be committed.</p>
+
+<ul>
+<li>Runs the test suite and bootstrapping test on quick.</li>
+<li>You can run the suite only (skipping strap) with 'ant test.suite'.</li>
+</ul>
+</li>
+<li><p><code>ant docs</code> generates the HTML documentation for the library from the sources using the
+scaladoc tool in quick. Note: on most machines this requires more heap than
+is allocate by default. You can adjust the parameters with ANT_OPTS.
+Example command line::
+<code>ANT_OPTS = "-Xms512M -Xmx2048M -Xss1M -XX:MaxPermSize=128M" ant docs</code></p></li>
+<li><p><code>ant dist</code> builds a distribution in 'dists/latest'.</p></li>
+<li><p><code>ant all.clean</code> Removes all build files and all distributions.</p></li>
+</ul><h1>
+<a name="bootstrapping-soon-to-be-legacy" class="anchor" href="#bootstrapping-soon-to-be-legacy"><span class="octicon octicon-link"></span></a>Bootstrapping (soon to be legacy)</h1>
+
+<p>In order to guarantee the bootstrapping of the Scala compiler, SABBUS builds
+Scala in layers. Each layer is a complete compiled Scala compiler and library.
+A superior layer is always compiled by the layer just below it. Here is a short
+description of the four layers that SABBUS uses, from bottom to top:</p>
+
+<ul>
+<li><p><code>starr</code>: the stable reference Scala release which is shared by all the
+developers. It is found in the repository as 'lib/scala-compiler.jar' and
+'lib/scala-library.jar'. Any committable source code must be compiled directly
+by starr to guarantee the bootstrapping of the compiler.</p></li>
+<li><p><code>locker</code>: the local reference which is compiled by starr and is the work
+compiler in a typical development cycle. When it has been built once, it is
+“frozen” in this state. Updating it to fit the current source code must be
+explicitly requested (see below).</p></li>
+<li><p><code>quick</code>: the layer which is incrementally built when testing changes in the
+compiler or library. This is considered an actual new version when locker is
+up-to-date in relation to the source code.</p></li>
+<li><p><code>strap</code>: a test layer used to check stability of the build.</p></li>
+</ul><p>SABBUS compiles, for each layer, the Scala library first and the compiler next.
+That means that any changes in the library can immediately be used in the
+compiler without an intermediate build. On the other hand, if building the
+library requires changes in the compiler, a new locker must be built if
+bootstrapping is still possible, or a new starr if it is not.</p>
+
+<p>Use <code>ant replacelocker</code> to "unfreeze" locker by updating it to match the current source code.</p>
+ </section>
+ <footer>
+ <p>This project is maintained by <a href="https://github.com/scala">scala</a></p>
+ <p><small>Hosted on GitHub Pages &mdash; Theme by <a href="https://github.com/orderedlist">orderedlist</a></small></p>
+ </footer>
+ </div>
+ <script src="javascripts/scale.fix.js"></script>
+
+ </body>
+</html> \ No newline at end of file
diff --git a/javascripts/scale.fix.js b/javascripts/scale.fix.js
new file mode 100644
index 0000000000..87a40ca716
--- /dev/null
+++ b/javascripts/scale.fix.js
@@ -0,0 +1,17 @@
+var metas = document.getElementsByTagName('meta');
+var i;
+if (navigator.userAgent.match(/iPhone/i)) {
+ for (i=0; i<metas.length; i++) {
+ if (metas[i].name == "viewport") {
+ metas[i].content = "width=device-width, minimum-scale=1.0, maximum-scale=1.0";
+ }
+ }
+ document.addEventListener("gesturestart", gestureStart, false);
+}
+function gestureStart() {
+ for (i=0; i<metas.length; i++) {
+ if (metas[i].name == "viewport") {
+ metas[i].content = "width=device-width, minimum-scale=0.25, maximum-scale=1.6";
+ }
+ }
+} \ No newline at end of file
diff --git a/params.json b/params.json
new file mode 100644
index 0000000000..8560f13a1a
--- /dev/null
+++ b/params.json
@@ -0,0 +1 @@
+{"name":"Scala","tagline":"Documentation on the development of the Scala compiler and standard library.","body":"# More information\r\n - [The official Scala website](http://www.scala-lang.org)\r\n - [Scala documentation](http://docs.scala-lang.org)\r\n - [Report a bug or request a feature](https://issues.scala-lang.org)\r\n - [Scala Jenkins dashboard](https://scala-webapps.epfl.ch/jenkins/)\r\n - Scala mailing lists:\r\n - [Users of Scala](https://groups.google.com/group/scala-user)\r\n - [Scala language discussion](https://groups.google.com/group/scala-language)\r\n - [Compiler and standard library development](https://groups.google.com/group/scala-internals)\r\n - [Scala Improvement Process](https://groups.google.com/group/scala-sips)\r\n - [Debate](https://groups.google.com/group/scala-debate)\r\n - [Announcements](https://groups.google.com/group/scala-announce)\r\n\r\n\r\n# Building\r\nRun `ant build-opt` to build an optimized version of the compiler.\r\nVerify your build using `ant test-opt`.\r\n\r\nThe Scala build system is based on Apache Ant. Most required pre-compiled\r\nlibraries are part of the repository (in 'lib/'). The following however is\r\nassumed to be installed on the build machine:\r\n\r\n## Requirements\r\n - A Java runtime environment (JRE) or SDK 1.6 or above.\r\n - Apache Ant version 1.8.0 or above.\r\n - bash (via cygwin for windows)\r\n - curl\r\n\r\n# Contributing\r\nWe ask all contributors [sign the Scala Contributor License Agreement](http://typesafe.com/contribute/cla/scala),\r\nwhich allows us to ensure that all code submitted to the project is unencumbered by copyrights or patents.\r\n\r\nPlease follow the guidelines outlined in our (Pull Request Policy)[https://github.com/scala/scala/wiki/Pull-Request-Policy].\r\n\r\n## Repository structure\r\n\r\n```\r\nscala/\r\n+--build.xml The main Ant build script, see also under src/build.\r\n+--lib/ Pre-compiled libraries for the build.\r\n+--pull-binary-libs.sh Pulls binary artifacts from remote repository.\r\n+--src/ All the source files of Scala.\r\n+--test/ The Scala test suite.\r\n+--build/ [Generated] Build products output directory for ant.\r\n+--dist/ [Generated] The destination folder for Scala distributions.\r\n```\r\n\r\n## Tips and tricks\r\nHere are some common commands. Most ant targets offer a `-opt` variant that runs under `-optimise`.\r\n\r\n - `./pull-binary-libs.sh` downloads all binary artifacts associated with this commit.\r\n This requires internet access to http://typesafe.artifactoryonline.com/typesafe.\r\n\r\n - `ant -p` prints out information about the commonly used ant targets. The interested\r\n developer can find the rest in the XML files.\r\n\r\n - `ant` or `ant build`: A quick compilation (to quick) of your changes using the locker compiler.\r\n - This will rebuild all quick if locker changed.\r\n - This will also rebuild locker if starr changed.\r\n\r\n - `ln -s build/quick/bin qbin` (once):\r\n - `ant && qbin/scalac -d sandbox sandbox/test.scala && qbin/scala -cp sandbox Test`\r\n Incrementally builds quick, and then uses it to compile and run the file\r\n `sandbox/test.scala`. This is a typical debug cycle.\r\n\r\n - `ant test` tests that your code is working and fit to be committed.\r\n - Runs the test suite and bootstrapping test on quick.\r\n - You can run the suite only (skipping strap) with 'ant test.suite'.\r\n\r\n - `ant docs` generates the HTML documentation for the library from the sources using the\r\n scaladoc tool in quick. Note: on most machines this requires more heap than\r\n is allocate by default. You can adjust the parameters with ANT_OPTS.\r\n Example command line::\r\n `ANT_OPTS = \"-Xms512M -Xmx2048M -Xss1M -XX:MaxPermSize=128M\" ant docs`\r\n\r\n - `ant dist` builds a distribution in 'dists/latest'.\r\n\r\n - `ant all.clean` Removes all build files and all distributions.\r\n\r\n\r\n# Bootstrapping (soon to be legacy)\r\n\r\nIn order to guarantee the bootstrapping of the Scala compiler, SABBUS builds\r\nScala in layers. Each layer is a complete compiled Scala compiler and library.\r\nA superior layer is always compiled by the layer just below it. Here is a short\r\ndescription of the four layers that SABBUS uses, from bottom to top:\r\n\r\n - `starr`: the stable reference Scala release which is shared by all the\r\n developers. It is found in the repository as 'lib/scala-compiler.jar' and\r\n 'lib/scala-library.jar'. Any committable source code must be compiled directly\r\n by starr to guarantee the bootstrapping of the compiler.\r\n\r\n - `locker`: the local reference which is compiled by starr and is the work\r\n compiler in a typical development cycle. When it has been built once, it is\r\n “frozen” in this state. Updating it to fit the current source code must be\r\n explicitly requested (see below).\r\n\r\n - `quick`: the layer which is incrementally built when testing changes in the\r\n compiler or library. This is considered an actual new version when locker is\r\n up-to-date in relation to the source code.\r\n\r\n - `strap`: a test layer used to check stability of the build.\r\n\r\nSABBUS compiles, for each layer, the Scala library first and the compiler next.\r\nThat means that any changes in the library can immediately be used in the\r\ncompiler without an intermediate build. On the other hand, if building the\r\nlibrary requires changes in the compiler, a new locker must be built if\r\nbootstrapping is still possible, or a new starr if it is not.\r\n\r\nUse `ant replacelocker` to \"unfreeze\" locker by updating it to match the current source code.\r\n","google":"","note":"Don't delete this file! It's used internally to help with page regeneration."} \ No newline at end of file
diff --git a/stylesheets/pygment_trac.css b/stylesheets/pygment_trac.css
new file mode 100644
index 0000000000..c6a6452d24
--- /dev/null
+++ b/stylesheets/pygment_trac.css
@@ -0,0 +1,69 @@
+.highlight { background: #ffffff; }
+.highlight .c { color: #999988; font-style: italic } /* Comment */
+.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
+.highlight .k { font-weight: bold } /* Keyword */
+.highlight .o { font-weight: bold } /* Operator */
+.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */
+.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */
+.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */
+.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
+.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
+.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .gr { color: #aa0000 } /* Generic.Error */
+.highlight .gh { color: #999999 } /* Generic.Heading */
+.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
+.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */
+.highlight .go { color: #888888 } /* Generic.Output */
+.highlight .gp { color: #555555 } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold; } /* Generic.Subheading */
+.highlight .gt { color: #aa0000 } /* Generic.Traceback */
+.highlight .kc { font-weight: bold } /* Keyword.Constant */
+.highlight .kd { font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { font-weight: bold } /* Keyword.Pseudo */
+.highlight .kr { font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */
+.highlight .m { color: #009999 } /* Literal.Number */
+.highlight .s { color: #d14 } /* Literal.String */
+.highlight .na { color: #008080 } /* Name.Attribute */
+.highlight .nb { color: #0086B3 } /* Name.Builtin */
+.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */
+.highlight .no { color: #008080 } /* Name.Constant */
+.highlight .ni { color: #800080 } /* Name.Entity */
+.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */
+.highlight .nn { color: #555555 } /* Name.Namespace */
+.highlight .nt { color: #000080 } /* Name.Tag */
+.highlight .nv { color: #008080 } /* Name.Variable */
+.highlight .ow { font-weight: bold } /* Operator.Word */
+.highlight .w { color: #bbbbbb } /* Text.Whitespace */
+.highlight .mf { color: #009999 } /* Literal.Number.Float */
+.highlight .mh { color: #009999 } /* Literal.Number.Hex */
+.highlight .mi { color: #009999 } /* Literal.Number.Integer */
+.highlight .mo { color: #009999 } /* Literal.Number.Oct */
+.highlight .sb { color: #d14 } /* Literal.String.Backtick */
+.highlight .sc { color: #d14 } /* Literal.String.Char */
+.highlight .sd { color: #d14 } /* Literal.String.Doc */
+.highlight .s2 { color: #d14 } /* Literal.String.Double */
+.highlight .se { color: #d14 } /* Literal.String.Escape */
+.highlight .sh { color: #d14 } /* Literal.String.Heredoc */
+.highlight .si { color: #d14 } /* Literal.String.Interpol */
+.highlight .sx { color: #d14 } /* Literal.String.Other */
+.highlight .sr { color: #009926 } /* Literal.String.Regex */
+.highlight .s1 { color: #d14 } /* Literal.String.Single */
+.highlight .ss { color: #990073 } /* Literal.String.Symbol */
+.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */
+.highlight .vc { color: #008080 } /* Name.Variable.Class */
+.highlight .vg { color: #008080 } /* Name.Variable.Global */
+.highlight .vi { color: #008080 } /* Name.Variable.Instance */
+.highlight .il { color: #009999 } /* 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 }
diff --git a/stylesheets/styles.css b/stylesheets/styles.css
new file mode 100644
index 0000000000..dacf2e1861
--- /dev/null
+++ b/stylesheets/styles.css
@@ -0,0 +1,255 @@
+@import url(https://fonts.googleapis.com/css?family=Lato:300italic,700italic,300,700);
+
+body {
+ padding:50px;
+ font:14px/1.5 Lato, "Helvetica Neue", Helvetica, Arial, sans-serif;
+ color:#777;
+ font-weight:300;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ color:#222;
+ margin:0 0 20px;
+}
+
+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;
+}
+
+a {
+ color:#39c;
+ font-weight:400;
+ text-decoration:none;
+}
+
+a small {
+ font-size:11px;
+ color:#777;
+ margin-top:-0.6em;
+ display:block;
+}
+
+.wrapper {
+ width:860px;
+ margin:0 auto;
+}
+
+blockquote {
+ border-left:1px solid #e5e5e5;
+ margin:0;
+ padding:0 0 0 20px;
+ font-style:italic;
+}
+
+code, pre {
+ font-family:Monaco, Bitstream Vera Sans Mono, Lucida Console, Terminal;
+ color:#333;
+ font-size:12px;
+}
+
+pre {
+ padding:8px 15px;
+ background: #f8f8f8;
+ border-radius:5px;
+ border:1px solid #e5e5e5;
+ overflow-x: auto;
+}
+
+table {
+ width:100%;
+ border-collapse:collapse;
+}
+
+th, td {
+ text-align:left;
+ padding:5px 10px;
+ border-bottom:1px solid #e5e5e5;
+}
+
+dt {
+ color:#444;
+ font-weight:700;
+}
+
+th {
+ color:#444;
+}
+
+img {
+ max-width:100%;
+}
+
+header {
+ width:270px;
+ float:left;
+ position:fixed;
+}
+
+header ul {
+ list-style:none;
+ height:40px;
+
+ padding:0;
+
+ background: #eee;
+ background: -moz-linear-gradient(top, #f8f8f8 0%, #dddddd 100%);
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f8f8f8), color-stop(100%,#dddddd));
+ background: -webkit-linear-gradient(top, #f8f8f8 0%,#dddddd 100%);
+ background: -o-linear-gradient(top, #f8f8f8 0%,#dddddd 100%);
+ background: -ms-linear-gradient(top, #f8f8f8 0%,#dddddd 100%);
+ background: linear-gradient(top, #f8f8f8 0%,#dddddd 100%);
+
+ border-radius:5px;
+ border:1px solid #d2d2d2;
+ box-shadow:inset #fff 0 1px 0, inset rgba(0,0,0,0.03) 0 -1px 0;
+ width:270px;
+}
+
+header li {
+ width:89px;
+ float:left;
+ border-right:1px solid #d2d2d2;
+ height:40px;
+}
+
+header ul a {
+ line-height:1;
+ font-size:11px;
+ color:#999;
+ display:block;
+ text-align:center;
+ padding-top:6px;
+ height:40px;
+}
+
+strong {
+ color:#222;
+ font-weight:700;
+}
+
+header ul li + li {
+ width:88px;
+ border-left:1px solid #fff;
+}
+
+header ul li + li + li {
+ border-right:none;
+ width:89px;
+}
+
+header ul a strong {
+ font-size:14px;
+ display:block;
+ color:#222;
+}
+
+section {
+ width:500px;
+ float:right;
+ padding-bottom:50px;
+}
+
+small {
+ font-size:11px;
+}
+
+hr {
+ border:0;
+ background:#e5e5e5;
+ height:1px;
+ margin:0 0 20px;
+}
+
+footer {
+ width:270px;
+ float:left;
+ position:fixed;
+ bottom:50px;
+}
+
+@media print, screen and (max-width: 960px) {
+
+ div.wrapper {
+ width:auto;
+ margin:0;
+ }
+
+ header, section, footer {
+ float:none;
+ position:static;
+ width:auto;
+ }
+
+ header {
+ padding-right:320px;
+ }
+
+ section {
+ border:1px solid #e5e5e5;
+ border-width:1px 0;
+ padding:20px 0;
+ margin:0 0 20px;
+ }
+
+ header a small {
+ display:inline;
+ }
+
+ header ul {
+ position:absolute;
+ right:50px;
+ top:52px;
+ }
+}
+
+@media print, screen and (max-width: 720px) {
+ body {
+ word-wrap:break-word;
+ }
+
+ header {
+ padding:0;
+ }
+
+ header ul, header p.view {
+ position:static;
+ }
+
+ pre, code {
+ word-wrap:normal;
+ }
+}
+
+@media print, screen and (max-width: 480px) {
+ body {
+ padding:15px;
+ }
+
+ header ul {
+ display:none;
+ }
+}
+
+@media print {
+ body {
+ padding:0.4in;
+ font-size:12pt;
+ color:#444;
+ }
+}