You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by pq...@apache.org on 2009/11/17 23:20:12 UTC

svn commit: r881572 - in /incubator/libcloud/site: css/ css/ie.css css/libcloud.css css/print.css css/screen.css images/ images/favicon.png images/libcloud_logo.png index.html js/ js/chili/ js/chili/jquery.chili-2.2.js js/chili/python.js js/libcloud.js

Author: pquerna
Date: Tue Nov 17 22:20:10 2009
New Revision: 881572

URL: http://svn.apache.org/viewvc?rev=881572&view=rev
Log:
Add existing libcloud website.

Added:
    incubator/libcloud/site/css/
    incubator/libcloud/site/css/ie.css   (with props)
    incubator/libcloud/site/css/libcloud.css   (with props)
    incubator/libcloud/site/css/print.css   (with props)
    incubator/libcloud/site/css/screen.css   (with props)
    incubator/libcloud/site/images/
    incubator/libcloud/site/images/favicon.png   (with props)
    incubator/libcloud/site/images/libcloud_logo.png   (with props)
    incubator/libcloud/site/index.html   (with props)
    incubator/libcloud/site/js/
    incubator/libcloud/site/js/chili/
    incubator/libcloud/site/js/chili/jquery.chili-2.2.js   (with props)
    incubator/libcloud/site/js/chili/python.js   (with props)
    incubator/libcloud/site/js/libcloud.js   (with props)

Added: incubator/libcloud/site/css/ie.css
URL: http://svn.apache.org/viewvc/incubator/libcloud/site/css/ie.css?rev=881572&view=auto
==============================================================================
--- incubator/libcloud/site/css/ie.css (added)
+++ incubator/libcloud/site/css/ie.css Tue Nov 17 22:20:10 2009
@@ -0,0 +1,35 @@
+/* -----------------------------------------------------------------------
+
+
+ Blueprint CSS Framework 0.9
+ http://blueprintcss.org
+
+   * Copyright (c) 2007-Present. See LICENSE for more info.
+   * See README for instructions on how to use Blueprint.
+   * For credits and origins, see AUTHORS.
+   * This is a compressed file. See the sources in the 'src' directory.
+
+----------------------------------------------------------------------- */
+
+/* ie.css */
+body {text-align:center;}
+.container {text-align:left;}
+* html .column, * html div.span-1, * html div.span-2, * html div.span-3, * html div.span-4, * html div.span-5, * html div.span-6, * html div.span-7, * html div.span-8, * html div.span-9, * html div.span-10, * html div.span-11, * html div.span-12, * html div.span-13, * html div.span-14, * html div.span-15, * html div.span-16, * html div.span-17, * html div.span-18, * html div.span-19, * html div.span-20, * html div.span-21, * html div.span-22, * html div.span-23, * html div.span-24 {overflow-x:hidden;}
+* html legend {margin:0px -8px 16px 0;padding:0;}
+ol {margin-left:2em;}
+sup {vertical-align:text-top;}
+sub {vertical-align:text-bottom;}
+html>body p code {*white-space:normal;}
+hr {margin:-8px auto 11px;}
+img {-ms-interpolation-mode:bicubic;}
+.clearfix, .container {display:inline-block;}
+* html .clearfix, * html .container {height:1%;}
+fieldset {padding-top:0;}
+input.text, input.title {background-color:#fff;border:1px solid #bbb;}
+input.text:focus, input.title:focus {border-color:#666;}
+input.text, input.title, textarea, select {margin:0.5em 0;}
+input.checkbox, input.radio {position:relative;top:.25em;}
+form.inline div, form.inline p {vertical-align:middle;}
+form.inline label {position:relative;top:-0.25em;}
+form.inline input.checkbox, form.inline input.radio, form.inline input.button, form.inline button {margin:0.5em 0;}
+button, input.button {position:relative;top:0.25em;}
\ No newline at end of file

Propchange: incubator/libcloud/site/css/ie.css
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/libcloud/site/css/ie.css
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/libcloud/site/css/ie.css
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/libcloud/site/css/ie.css
------------------------------------------------------------------------------
    svn:mime-type = text/css

Added: incubator/libcloud/site/css/libcloud.css
URL: http://svn.apache.org/viewvc/incubator/libcloud/site/css/libcloud.css?rev=881572&view=auto
==============================================================================
--- incubator/libcloud/site/css/libcloud.css (added)
+++ incubator/libcloud/site/css/libcloud.css Tue Nov 17 22:20:10 2009
@@ -0,0 +1,44 @@
+/*  color 100    80     50     20
+ *  aqua  007bff 3395ff 80bdff cce5ff
+ *  melon ff5050 ff7373 ffa7a7 ffdcdc
+ */
+* { margin:0; }
+html {}
+body { border-top:10px solid #007bff; border-bottom:10px solid #007bff; }
+#wrapper { width:800px; margin:0 auto; }
+
+a {color:inherit;}
+a:hover { color:#ff5050;}
+
+#header { padding:15px 0 0; margin:0 0 5px 0; }
+#banner { padding:5px 0; margin:0 0 5px 0; border-top:1px solid #ddd; border-bottom:1px solid #ddd; }
+#banner h2 { margin:0; color:#ff5050; line-height:30px; }
+#feature { }
+#feature blockquote { margin:0; padding:10px; font-size:11px;}
+#sidebar {}
+#main {}
+#footer { margin:20px 0 10px; border-top:1px solid #ddd; padding:5px 0;}
+
+h1 { color:#80bdff; font-size:60px; padding-left:90px; background:url(../images/libcloud_logo.png) left no-repeat; }
+h1 span { color:#333; font-size:36px; }
+h2 { color:#007bff;}
+#sidebar h2 { padding-left:10px; margin:0; cursor:pointer; background:#cce5ff; border-bottom:1px solid #fff; }
+#sidebar h2:hover { background:#80bdff;}
+#sidebar .accordion { background:#f5f5f5; padding:10px; }
+#sidebar h2:focus, #sidebar h2.ui-state-active { outline:none; background:#80bdff; color:#fff;}
+#sidebar .accordion { }
+#sidebar h3 { color:#ff5050; margin-bottom:5px; }
+#sidebar h3 a:hover { color:#80bdff; }
+
+pre, code { font-family:"Courier New", "Courier", "Lucida Console", fixed-width; padding:10px; background:#f5f5f5; border:1px solid #ddd; display:block; white-space:pre; }
+
+#support-table td, #support-table th { width:14%; border-right:1px solid #fff; border-bottom:1px solid #ddd;}
+#support-table th { background:#f5f5f5; }
+#support-table td { }
+#support-table td.supported { background:#80bdff;}
+#support-table td.unsupported { background:#ffa7a7;}
+
+.byline { color:#007fbb; font-size:10px;}
+.center { text-align:center;}
+
+pre, code { margin-bottom: 12px; }

Propchange: incubator/libcloud/site/css/libcloud.css
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/libcloud/site/css/libcloud.css
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/libcloud/site/css/libcloud.css
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/libcloud/site/css/libcloud.css
------------------------------------------------------------------------------
    svn:mime-type = text/css

Added: incubator/libcloud/site/css/print.css
URL: http://svn.apache.org/viewvc/incubator/libcloud/site/css/print.css?rev=881572&view=auto
==============================================================================
--- incubator/libcloud/site/css/print.css (added)
+++ incubator/libcloud/site/css/print.css Tue Nov 17 22:20:10 2009
@@ -0,0 +1,30 @@
+/* -----------------------------------------------------------------------
+
+
+ Blueprint CSS Framework 0.9
+ http://blueprintcss.org
+
+   * Copyright (c) 2007-Present. See LICENSE for more info.
+   * See README for instructions on how to use Blueprint.
+   * For credits and origins, see AUTHORS.
+   * This is a compressed file. See the sources in the 'src' directory.
+
+----------------------------------------------------------------------- */
+
+/* print.css */
+body {line-height:1.5;font-family:"Helvetica Neue", Arial, Helvetica, sans-serif;color:#000;background:none;font-size:10pt;}
+.container {background:none;}
+hr {background:#ccc;color:#ccc;width:100%;height:2px;margin:2em 0;padding:0;border:none;}
+hr.space {background:#fff;color:#fff;}
+h1, h2, h3, h4, h5, h6 {font-family:"Helvetica Neue", Arial, "Lucida Grande", sans-serif;}
+code {font:.9em "Courier New", Monaco, Courier, monospace;}
+img {float:left;margin:1.5em 1.5em 1.5em 0;}
+a img {border:none;}
+p img.top {margin-top:0;}
+blockquote {margin:1.5em;padding:1em;font-style:italic;font-size:.9em;}
+.small {font-size:.9em;}
+.large {font-size:1.1em;}
+.quiet {color:#999;}
+.hide {display:none;}
+a:link, a:visited {background:transparent;font-weight:700;text-decoration:underline;}
+a:link:after, a:visited:after {content:" (" attr(href) ")";font-size:90%;}
\ No newline at end of file

Propchange: incubator/libcloud/site/css/print.css
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/libcloud/site/css/print.css
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/libcloud/site/css/print.css
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/libcloud/site/css/print.css
------------------------------------------------------------------------------
    svn:mime-type = text/css

Added: incubator/libcloud/site/css/screen.css
URL: http://svn.apache.org/viewvc/incubator/libcloud/site/css/screen.css?rev=881572&view=auto
==============================================================================
--- incubator/libcloud/site/css/screen.css (added)
+++ incubator/libcloud/site/css/screen.css Tue Nov 17 22:20:10 2009
@@ -0,0 +1,242 @@
+/* reset.css */
+html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, code, del, dfn, em, img, q, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {margin:0;padding:0;border:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline;}
+body {line-height:1.5;}
+table {border-collapse:separate;border-spacing:0;}
+caption, th, td {text-align:left;font-weight:normal;}
+table, td, th {vertical-align:middle;}
+blockquote:before, blockquote:after, q:before, q:after {content:"";}
+blockquote, q {quotes:"" "";}
+a img {border:none;}
+
+/* typography.css */
+body {font-size:75%;color:#222;background:#fff;font-family:"Trebuchet MS", "Helvetica Neue", Arial, Helvetica, sans-serif;}
+h1, h2, h3, h4, h5, h6 {font-weight:normal;color:#111;}
+h1 {font-size:3em;line-height:1; }
+h2 {font-size:2em;margin-bottom:0.75em;}
+h3 {font-size:1.5em;line-height:1;margin-bottom:1em;}
+h4 {font-size:1.2em;line-height:1.25;margin-bottom:1.25em;}
+h5 {font-size:1em;font-weight:bold;margin-bottom:1.5em;}
+h6 {font-size:1em;font-weight:bold;}
+h1 img, h2 img, h3 img, h4 img, h5 img, h6 img {margin:0;}
+p {margin:0 0 1.5em;}
+p img.left {float:left;margin:1.5em 1.5em 1.5em 0;padding:0;}
+p img.right {float:right;margin:1.5em 0 1.5em 1.5em;}
+a:focus, a:hover {color:#000;}
+a {color:#009;text-decoration:underline;}
+blockquote {margin:1.5em;color:#666;font-style:italic;}
+strong {font-weight:bold;}
+em, dfn {font-style:italic;}
+dfn {font-weight:bold;}
+sup, sub {line-height:0;}
+abbr, acronym {border-bottom:1px dotted #666;}
+address {margin:0 0 1.5em;font-style:italic;}
+del {color:#666;}
+pre {margin:1.5em 0;white-space:pre;}
+pre, code, tt {font:1em 'andale mono', 'lucida console', monospace;line-height:1.5;}
+li ul, li ol {margin:0 1.5em;}
+ul, ol {margin:0 1.5em 1.5em 1.5em;}
+ul {list-style-type:disc;}
+ol {list-style-type:decimal;}
+dl {margin:0 0 1.5em 0;}
+dl dt {font-weight:bold;}
+dd {margin-left:1.5em;}
+table {margin-bottom:1.4em;width:100%;}
+th {font-weight:bold;}
+thead th {background:#c3d9ff;}
+th, td, caption {padding:4px 10px 4px 5px;}
+tr.even td {background:#e5ecf9;}
+tfoot {font-style:italic;}
+caption {background:#eee;}
+.small {font-size:.8em;margin-bottom:1.875em;line-height:1.875em;}
+.large {font-size:1.2em;line-height:2.5em;margin-bottom:1.25em;}
+.hide {display:none;}
+.quiet {color:#666;}
+.loud {color:#000;}
+.highlight {background:#ff0;}
+.added {background:#060;color:#fff;}
+.removed {background:#900;color:#fff;}
+.first {margin-left:0;padding-left:0;}
+.last {margin-right:0;padding-right:0;}
+.top {margin-top:0;padding-top:0;}
+.bottom {margin-bottom:0;padding-bottom:0;}
+
+/* forms.css */
+label {font-weight:bold;}
+fieldset {padding:1.4em;margin:0 0 1.5em 0;border:1px solid #ccc;}
+legend {font-weight:bold;font-size:1.2em;}
+input[type=text], input[type=password], input.text, input.title, textarea, select {background-color:#fff;border:1px solid #bbb;}
+input[type=text]:focus, input[type=password]:focus, input.text:focus, input.title:focus, textarea:focus, select:focus {border-color:#666;}
+input[type=text], input[type=password], input.text, input.title, textarea, select {margin:0.5em 0;}
+input.text, input.title {width:300px;padding:5px;}
+input.title {font-size:1.5em;}
+textarea {width:390px;height:250px;padding:5px;}
+input[type=checkbox], input[type=radio], input.checkbox, input.radio {position:relative;top:.25em;}
+form.inline {line-height:3;}
+form.inline p {margin-bottom:0;}
+.error, .notice, .success {padding:.8em;margin-bottom:1em;border:2px solid #ddd;}
+.error {background:#FBE3E4;color:#8a1f11;border-color:#FBC2C4;}
+.notice {background:#FFF6BF;color:#514721;border-color:#FFD324;}
+.success {background:#E6EFC2;color:#264409;border-color:#C6D880;}
+.error a {color:#8a1f11;}
+.notice a {color:#514721;}
+.success a {color:#264409;}
+
+/* grid.css */
+.container {width:950px;margin:0 auto;}
+.column, div.span-1, div.span-2, div.span-3, div.span-4, div.span-5, div.span-6, div.span-7, div.span-8, div.span-9, div.span-10, div.span-11, div.span-12, div.span-13, div.span-14, div.span-15, div.span-16, div.span-17, div.span-18, div.span-19, div.span-20, div.span-21, div.span-22, div.span-23, div.span-24 {float:left;margin-right:10px;}
+.last, div.last {margin-right:0;}
+.span-1 {width:30px;}
+.span-2 {width:70px;}
+.span-3 {width:110px;}
+.span-4 {width:150px;}
+.span-5 {width:190px;}
+.span-6 {width:230px;}
+.span-7 {width:270px;}
+.span-8 {width:310px;}
+.span-9 {width:350px;}
+.span-10 {width:390px;}
+.span-11 {width:430px;}
+.span-12 {width:470px;}
+.span-13 {width:510px;}
+.span-14 {width:550px;}
+.span-15 {width:590px;}
+.span-16 {width:630px;}
+.span-17 {width:670px;}
+.span-18 {width:710px;}
+.span-19 {width:750px;}
+.span-20 {width:790px;}
+.span-21 {width:830px;}
+.span-22 {width:870px;}
+.span-23 {width:910px;}
+.span-24, div.span-24 {width:950px;margin:0;}
+input.span-1, textarea.span-1, input.span-2, textarea.span-2, input.span-3, textarea.span-3, input.span-4, textarea.span-4, input.span-5, textarea.span-5, input.span-6, textarea.span-6, input.span-7, textarea.span-7, input.span-8, textarea.span-8, input.span-9, textarea.span-9, input.span-10, textarea.span-10, input.span-11, textarea.span-11, input.span-12, textarea.span-12, input.span-13, textarea.span-13, input.span-14, textarea.span-14, input.span-15, textarea.span-15, input.span-16, textarea.span-16, input.span-17, textarea.span-17, input.span-18, textarea.span-18, input.span-19, textarea.span-19, input.span-20, textarea.span-20, input.span-21, textarea.span-21, input.span-22, textarea.span-22, input.span-23, textarea.span-23, input.span-24, textarea.span-24 {border-left-width:1px!important;border-right-width:1px!important;padding-left:5px!important;padding-right:5px!important;}
+input.span-1, textarea.span-1 {width:18px!important;}
+input.span-2, textarea.span-2 {width:58px!important;}
+input.span-3, textarea.span-3 {width:98px!important;}
+input.span-4, textarea.span-4 {width:138px!important;}
+input.span-5, textarea.span-5 {width:178px!important;}
+input.span-6, textarea.span-6 {width:218px!important;}
+input.span-7, textarea.span-7 {width:258px!important;}
+input.span-8, textarea.span-8 {width:298px!important;}
+input.span-9, textarea.span-9 {width:338px!important;}
+input.span-10, textarea.span-10 {width:378px!important;}
+input.span-11, textarea.span-11 {width:418px!important;}
+input.span-12, textarea.span-12 {width:458px!important;}
+input.span-13, textarea.span-13 {width:498px!important;}
+input.span-14, textarea.span-14 {width:538px!important;}
+input.span-15, textarea.span-15 {width:578px!important;}
+input.span-16, textarea.span-16 {width:618px!important;}
+input.span-17, textarea.span-17 {width:658px!important;}
+input.span-18, textarea.span-18 {width:698px!important;}
+input.span-19, textarea.span-19 {width:738px!important;}
+input.span-20, textarea.span-20 {width:778px!important;}
+input.span-21, textarea.span-21 {width:818px!important;}
+input.span-22, textarea.span-22 {width:858px!important;}
+input.span-23, textarea.span-23 {width:898px!important;}
+input.span-24, textarea.span-24 {width:938px!important;}
+.append-1 {padding-right:40px;}
+.append-2 {padding-right:80px;}
+.append-3 {padding-right:120px;}
+.append-4 {padding-right:160px;}
+.append-5 {padding-right:200px;}
+.append-6 {padding-right:240px;}
+.append-7 {padding-right:280px;}
+.append-8 {padding-right:320px;}
+.append-9 {padding-right:360px;}
+.append-10 {padding-right:400px;}
+.append-11 {padding-right:440px;}
+.append-12 {padding-right:480px;}
+.append-13 {padding-right:520px;}
+.append-14 {padding-right:560px;}
+.append-15 {padding-right:600px;}
+.append-16 {padding-right:640px;}
+.append-17 {padding-right:680px;}
+.append-18 {padding-right:720px;}
+.append-19 {padding-right:760px;}
+.append-20 {padding-right:800px;}
+.append-21 {padding-right:840px;}
+.append-22 {padding-right:880px;}
+.append-23 {padding-right:920px;}
+.prepend-1 {padding-left:40px;}
+.prepend-2 {padding-left:80px;}
+.prepend-3 {padding-left:120px;}
+.prepend-4 {padding-left:160px;}
+.prepend-5 {padding-left:200px;}
+.prepend-6 {padding-left:240px;}
+.prepend-7 {padding-left:280px;}
+.prepend-8 {padding-left:320px;}
+.prepend-9 {padding-left:360px;}
+.prepend-10 {padding-left:400px;}
+.prepend-11 {padding-left:440px;}
+.prepend-12 {padding-left:480px;}
+.prepend-13 {padding-left:520px;}
+.prepend-14 {padding-left:560px;}
+.prepend-15 {padding-left:600px;}
+.prepend-16 {padding-left:640px;}
+.prepend-17 {padding-left:680px;}
+.prepend-18 {padding-left:720px;}
+.prepend-19 {padding-left:760px;}
+.prepend-20 {padding-left:800px;}
+.prepend-21 {padding-left:840px;}
+.prepend-22 {padding-left:880px;}
+.prepend-23 {padding-left:920px;}
+div.border {padding-right:4px;margin-right:5px;border-right:1px solid #eee;}
+div.colborder {padding-right:24px;margin-right:25px;border-right:1px solid #eee;}
+.pull-1 {margin-left:-40px;}
+.pull-2 {margin-left:-80px;}
+.pull-3 {margin-left:-120px;}
+.pull-4 {margin-left:-160px;}
+.pull-5 {margin-left:-200px;}
+.pull-6 {margin-left:-240px;}
+.pull-7 {margin-left:-280px;}
+.pull-8 {margin-left:-320px;}
+.pull-9 {margin-left:-360px;}
+.pull-10 {margin-left:-400px;}
+.pull-11 {margin-left:-440px;}
+.pull-12 {margin-left:-480px;}
+.pull-13 {margin-left:-520px;}
+.pull-14 {margin-left:-560px;}
+.pull-15 {margin-left:-600px;}
+.pull-16 {margin-left:-640px;}
+.pull-17 {margin-left:-680px;}
+.pull-18 {margin-left:-720px;}
+.pull-19 {margin-left:-760px;}
+.pull-20 {margin-left:-800px;}
+.pull-21 {margin-left:-840px;}
+.pull-22 {margin-left:-880px;}
+.pull-23 {margin-left:-920px;}
+.pull-24 {margin-left:-960px;}
+.pull-1, .pull-2, .pull-3, .pull-4, .pull-5, .pull-6, .pull-7, .pull-8, .pull-9, .pull-10, .pull-11, .pull-12, .pull-13, .pull-14, .pull-15, .pull-16, .pull-17, .pull-18, .pull-19, .pull-20, .pull-21, .pull-22, .pull-23, .pull-24 {float:left;position:relative;}
+.push-1 {margin:0 -40px 1.5em 40px;}
+.push-2 {margin:0 -80px 1.5em 80px;}
+.push-3 {margin:0 -120px 1.5em 120px;}
+.push-4 {margin:0 -160px 1.5em 160px;}
+.push-5 {margin:0 -200px 1.5em 200px;}
+.push-6 {margin:0 -240px 1.5em 240px;}
+.push-7 {margin:0 -280px 1.5em 280px;}
+.push-8 {margin:0 -320px 1.5em 320px;}
+.push-9 {margin:0 -360px 1.5em 360px;}
+.push-10 {margin:0 -400px 1.5em 400px;}
+.push-11 {margin:0 -440px 1.5em 440px;}
+.push-12 {margin:0 -480px 1.5em 480px;}
+.push-13 {margin:0 -520px 1.5em 520px;}
+.push-14 {margin:0 -560px 1.5em 560px;}
+.push-15 {margin:0 -600px 1.5em 600px;}
+.push-16 {margin:0 -640px 1.5em 640px;}
+.push-17 {margin:0 -680px 1.5em 680px;}
+.push-18 {margin:0 -720px 1.5em 720px;}
+.push-19 {margin:0 -760px 1.5em 760px;}
+.push-20 {margin:0 -800px 1.5em 800px;}
+.push-21 {margin:0 -840px 1.5em 840px;}
+.push-22 {margin:0 -880px 1.5em 880px;}
+.push-23 {margin:0 -920px 1.5em 920px;}
+.push-24 {margin:0 -960px 1.5em 960px;}
+.push-1, .push-2, .push-3, .push-4, .push-5, .push-6, .push-7, .push-8, .push-9, .push-10, .push-11, .push-12, .push-13, .push-14, .push-15, .push-16, .push-17, .push-18, .push-19, .push-20, .push-21, .push-22, .push-23, .push-24 {float:right;position:relative;}
+.prepend-top {margin-top:1.5em;}
+.append-bottom {margin-bottom:1.5em;}
+.box {padding:1.5em;margin-bottom:1.5em;background:#E5ECF9;}
+hr {background:#ddd;color:#ddd;clear:both;float:none;width:100%;height:.1em;margin:0 0 1.45em;border:none;}
+hr.space {background:#fff;color:#fff;}
+.clearfix:after, .container:after {content:"\0020";display:block;height:0;clear:both;visibility:hidden;overflow:hidden;}
+.clearfix, .container {display:block;}
+.clear {clear:both;}

Propchange: incubator/libcloud/site/css/screen.css
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/libcloud/site/css/screen.css
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/libcloud/site/css/screen.css
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/libcloud/site/css/screen.css
------------------------------------------------------------------------------
    svn:mime-type = text/css

Added: incubator/libcloud/site/images/favicon.png
URL: http://svn.apache.org/viewvc/incubator/libcloud/site/images/favicon.png?rev=881572&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/libcloud/site/images/favicon.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: incubator/libcloud/site/images/libcloud_logo.png
URL: http://svn.apache.org/viewvc/incubator/libcloud/site/images/libcloud_logo.png?rev=881572&view=auto
==============================================================================
Binary file - no diff available.

Propchange: incubator/libcloud/site/images/libcloud_logo.png
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/libcloud/site/images/libcloud_logo.png
------------------------------------------------------------------------------
    svn:mime-type = image/png

Added: incubator/libcloud/site/index.html
URL: http://svn.apache.org/viewvc/incubator/libcloud/site/index.html?rev=881572&view=auto
==============================================================================
--- incubator/libcloud/site/index.html (added)
+++ incubator/libcloud/site/index.html Tue Nov 17 22:20:10 2009
@@ -0,0 +1,168 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+  <title>libcloud python library - a unified interface to cloud server providers</title>
+  <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
+  <meta name="description" content="libcloud is a pure python client library for interacting with many of the popular cloud server providers. It was created to make it easy for developers to build products that work between any of the services that it supports.">
+  <meta name="keywords" content="libcloud, cloud, cloud servers, cloud management, cloud interoperability, cloud provider, cloud interface, cloud computing, cloud api, cloud standard">
+  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
+  <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js" type="text/javascript"></script>
+  <script src="js/chili/jquery.chili-2.2.js" type="text/javascript"></script>
+  <script type="text/javascript">
+    ChiliBook.recipeFolder = "js/chili/";
+  </script>
+  <script src="js/libcloud.js" type="text/javascript"></script>
+  <link rel="stylesheet" href="css/screen.css" type="text/css">
+  <link rel="stylesheet" href="css/libcloud.css" type="text/css">
+  <link rel="icon" type="image/png" href="images/favicon.png"/>
+</head>
+<body>
+  <div class="container">
+    <div id="header" class="span-24 last">
+      <h1>libcloud <span>a unified interface to the cloud</span></h1>
+    </div><!--/#header-->
+    <div id="banner" class="span-24 last">
+      <h2>
+        libcloud is a standard client library for many popular cloud providers, written in python
+      </h2>
+    </div><!--/#banner-->
+    <div id="feature" class="container">
+      <div class="span-6">
+        <blockquote>
+          &#8220;libcloud represents a fundamental change in the way clouds are managed, breaking the barriers of proprietary, closed clouds.  We at Linode believe this is of the utmost importance and fully support this effort.&#8221;
+          <br>
+          <span class="byline">
+            - Christopher S. Aker, <a href="http://www.linode.com">Linode</a>, Founder
+          </span>
+        </blockquote>
+      </div>
+      <div class="span-6">
+        <blockquote>
+          &#8220;Libcloud will make life easier for our customers. We appreciate and support this standardization tool.&#8221;
+          <br>
+          <span class="byline">
+            - Matt Tanase, <a href="http://www.slicehost.com">Slicehost</a>, Founder
+          </span>
+        </blockquote>
+      </div>
+      <div class="span-6">
+        <blockquote>
+          &#8220;I'm excited to see the development of projects, like libcloud, that help make the lives of the cloud computing community easier by offering a standardized way to communicate with their provider of choice.&#8221;
+          <br>
+          <span class="byline">
+            - Bret Piatt, <a href="http://www.rackspace.com">Rackspace</a>, Technical Alliance Manager
+          </span>
+        </blockquote>
+      </div>
+      <div class="span-6 last">
+        <blockquote>
+          &#8220;We believe in an open cloud and are thrilled to see libcloud push the movement forward.&#8221;
+          <br>
+          <span class="byline">
+            - Paul Lancaster, <a href="http://www.gogrid.com">GoGrid</a>, Business Development Manager
+          </span>
+        </blockquote>
+      </div>
+    </div><!--/#feature-->
+    <hr>
+    <div id="sidebar" class="span-8 border">
+      <!--everything after each h2 needs to be in containing div for accordion to work-->
+      <h2>code</h2>
+      <div class="accordion">
+        <h3>
+          <a href="http://github.com/cloudkick/libcloud" target="_blank">
+            libcloud is hosted on github!
+          </a>
+        </h3>
+        If you are a server provider, and would like to be included in libcloud, please consider contributing.
+      </div>
+      <h2>mailing list</h2>
+      <div class="accordion">
+        <h3>
+          <a href="mailto:libcloud@googlegroups.com" target="_blank">
+            libcloud@googlegroups.com
+          </a>
+        </h3>
+        We discuss development on our mailing list. Sign up over on <a href="http://groups.google.com/group/libcloud" target="_blank">Google Groups</a>.
+      </div>
+      <h2>about</h2>
+      <div class="accordion">
+        <p>libcloud is a pure python client library for interacting with many of the popular cloud server providers. It was created to make it easy for developers to build products that work between any of the services that it supports.</p>
+        <p>libcloud was originally created by the folks over at <a href="https://www.cloudkick.com/">Cloudkick</a>, but has since grown into an independent free software project licensed under the Apache License (2.0).</p>
+        <p>The libcloud team can be contacted at <a href="mailto:libcloud@googlegroups.com">libcloud@googlegroups.com</a>.</p>
+      </div>
+    </div><!--/#sidebar-->
+    <div id="main" class="span-16 last">
+      <h2>current support</h2>
+      <table id="support-table" cellpadding="0" cellspacing="0" border="0">
+        <tr>
+          <th>provider</th>
+          <th>list</th>
+          <th>reboot</th>
+          <th>create</th>
+          <th>destroy</th>
+          <th>images</th>
+          <th>sizes</th>
+        </tr>
+        <tr><th><a href="http://aws.amazon.com/" title="EC2" target="_blank">EC2</a></th>                     <td>y</td><td>y</td><td>y</td><td>y</td><td>y</td><td>y</td></tr>
+        <tr><th><a href="http://aws.amazon.com/" title="EC2-EU" target="_blank">EC2-EU</a></th>               <td>y</td><td>y</td><td>y</td><td>y</td><td>y</td><td>y</td></tr>
+        <tr><th><a href="http://www.slicehost.com/" title="slicehost" target="_blank">Slicehost</a></th>      <td>y</td><td>y</td><td>y</td><td>y</td><td>y</td><td>y</td></tr>
+        <tr><th><a href="http://www.rackspacecloud.com" title="rackspace" target="_blank">Rackspace</a></th>  <td>y</td><td>y</td><td>y</td><td>y</td><td>y</td><td>y</td></tr>
+        <tr><th><a href="http://www.linode.com/" title="linode" target="_blank">Linode</a></th>               <td>y</td><td>y</td><td>y</td><td>y</td><td>y</td><td>y</td></tr>
+        <tr><th><a href="http://vps.net/" title="vps.net" target="_blank">VPS.net</a></th>                    <td>y</td><td>y</td><td>y</td><td>y</td><td>y</td><td>y</td></tr>
+        <tr><th><a href="http://rimuhosting.com/" title="RimuHosting" target="_blank">RimuHosting</a></th>    <td>y</td><td>y</td><td>y</td><td>y</td><td>y</td><td>y</td></tr>
+        <tr><th><a href="http://www.gogrid.com/" title="gogrid" target="_blank">GoGrid</a></th>               <td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>
+        <tr><th><a href="http://www.flexiscale.com/" title="flexiscale" target="_blank">flexiscale</a></th>   <td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>
+        <tr><th><a href="http://www.eucalyptus.com/" title="Eucalyptus" target="_blank">Eucalyptus</a></th>   <td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>
+        <tr><th><a href="http://www.vmware.com/appliances/deploy/vcloud-express.html" title="vCloud" target="_blank">vCloud</a></th>   <td>y</td><td>y</td><td>y</td><td>y</td><td>y</td><td>y</td></tr>
+        <tr><th><a href="http://hosting.com/" title="Hosting.com" target="_blank">Hosting.com</a></th>   <td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>
+        <tr><th><a href="http://www.terremark.com/default.aspx" title="Terremark" target="_blank">Terremark</a></th>   <td>y</td><td>y</td><td>y</td><td>y</td><td>y</td><td>y</td></tr>
+        <tr><th><a href="http://www.voxel.net/" title="Voxel" target="_blank">Voxel</a></th>   <td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>
+      </table>
+
+      <h2>example</h2>
+      <p>The following example will list servers across Amazon EC2, Slicehost, and Rackspace Cloud Servers using the same API call. The servers will be represented in a standard Node object</p>
+      <code class="python">from libcloud.types import Provider
+from libcloud.providers import get_driver
+ 
+EC2 = get_driver(Provider.EC2)
+Slicehost = get_driver(Provider.SLICEHOST)
+Rackspace = get_driver(Provider.RACKSPACE)
+ 
+drivers = [ EC2('access key id', 'secret key'),
+            Slicehost('api key'),
+            Rackspace('username', 'api key') ]
+ 
+nodes = [ driver.list_nodes() for driver in drivers ]
+ 
+print nodes
+# [ &lt;Node: provider=Amazon, status=RUNNING, name=bob, ip=1.2.3.4.5&gt;,
+# &lt;Node: provider=Slicehost, status=REBOOT, name=korine, ip=6.7.8.9.10&gt;, ... ]
+
+ 
+# grab the node named "test"
+node = filter(lambda x: x.name == 'test', nodes)[0]
+ 
+# reboot "test"
+node.reboot()      
+</code>
+      <h2>installation</h2>
+      <p>Currently libcloud is only available via git. To pull the repository please run:</p>
+      <code>git clone git://github.com/cloudkick/libcloud.git</code>
+      <p>To install, cd into the libcloud directory, then run:</p>
+      <code>python setup.py install</code>
+    </div><!--/#main-->
+    <div id="footer" class="span-24">
+    </div><!--/#footer-->
+  </div>
+<script type="text/javascript">
+var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+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-9902461-1");
+pageTracker._trackPageview();
+} catch(err) {}</script>
+</body>
+</html>

Propchange: incubator/libcloud/site/index.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/libcloud/site/index.html
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/libcloud/site/index.html
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/libcloud/site/index.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: incubator/libcloud/site/js/chili/jquery.chili-2.2.js
URL: http://svn.apache.org/viewvc/incubator/libcloud/site/js/chili/jquery.chili-2.2.js?rev=881572&view=auto
==============================================================================
--- incubator/libcloud/site/js/chili/jquery.chili-2.2.js (added)
+++ incubator/libcloud/site/js/chili/jquery.chili-2.2.js Tue Nov 17 22:20:10 2009
@@ -0,0 +1,704 @@
+/*
+===============================================================================
+Chili is the jQuery code highlighter plugin
+...............................................................................
+LICENSE: http://www.opensource.org/licenses/mit-license.php
+WEBSITE: http://noteslog.com/chili/
+
+											   Copyright 2008 / Andrea Ercolino
+===============================================================================
+*/
+
+
+( function($) {
+
+ChiliBook = { //implied global
+
+	  version:            "2.2" // 2008-07-06
+
+// options --------------------------------------------------------------------
+
+	, automatic:          true
+	, automaticSelector:  "code"
+
+	, lineNumbers:        !true
+
+	, codeLanguage:       function( el ) {
+		var recipeName = $( el ).attr( "class" );
+		return recipeName ? recipeName : '';
+	}
+
+	, recipeLoading:      true
+	, recipeFolder:       "" // used like: recipeFolder + recipeName + '.js'
+
+	// IE and FF convert &#160; to "&nbsp;", Safari and Opera do not
+	, replaceSpace:       "&#160;"
+	, replaceTab:         "&#160;&#160;&#160;&#160;"
+	, replaceNewLine:     "&#160;<br/>"
+
+	, selectionStyle:     [ "position:absolute; z-index:3000; overflow:scroll;"
+						  , "width:16em;"
+						  , "height:9em;"
+						  , "border:1px solid gray;"
+						  , "padding:15px;"
+						  , "background-color:yellow;"
+						  ].join( ' ' )
+
+// ------------------------------------------------------------- end of options
+
+	, defaultReplacement: '<span class="$0">$$</span>' // TODO: make this an option again
+	, recipes:            {} //repository
+	, queue:              {} //registry
+
+	, unique:             function() {
+		return (new Date()).valueOf();
+	}
+};
+
+
+
+$.fn.chili = function( options ) {
+	var book = $.extend( {}, ChiliBook, options || {} );
+
+	function cook( ingredients, recipe, blockName ) {
+
+		function prepareBlock( recipe, blockName ) {
+			var steps = [];
+			for( var stepName in recipe[ blockName ] ) {
+				steps.push( prepareStep( recipe, blockName, stepName ) );
+			}
+			return steps;
+		} // prepareBlock
+
+		function prepareStep( recipe, blockName, stepName ) {
+			var step = recipe[ blockName ][ stepName ];
+			var exp = ( typeof step._match == "string" ) ? step._match : step._match.source;
+			return {
+				recipe: recipe
+				, blockName: blockName
+				, stepName: stepName
+				, exp: "(" + exp + ")"
+				, length: 1                         // add 1 to account for the newly added parentheses
+					+ (exp                          // count number of submatches in here
+						.replace( /\\./g, "%" )     // disable any escaped character
+						.replace( /\[.*?\]/g, "%" ) // disable any character class
+						.match( /\((?!\?)/g )       // match any open parenthesis, not followed by a ?
+					|| []                           // make sure it is an empty array if there are no matches
+					).length                        // get the number of matches
+				, replacement: step._replace ? step._replace : book.defaultReplacement
+			};
+		} // prepareStep
+	
+		function knowHow( steps ) {
+			var prevLength = 1;
+			var exps = [];
+			for (var i = 0; i < steps.length; i++) {
+				var exp = steps[ i ].exp;
+				// adjust backreferences
+				exp = exp.replace( /\\\\|\\(\d+)/g, function( m, aNum ) {
+					return !aNum ? m : "\\" + ( prevLength + 1 + parseInt( aNum, 10 ) );
+				} );
+				exps.push( exp );
+				prevLength += steps[ i ].length;
+			}
+			var prolog = '((?:\\s|\\S)*?)';
+			var epilog = '((?:\\s|\\S)+)';
+			var source = '(?:' + exps.join( "|" ) + ')';
+			source = prolog + source + '|' + epilog;
+			return new RegExp( source, recipe._case ? "g" : "gi" );
+		} // knowHow
+
+		function escapeHTML( str ) {
+			return str.replace( /&/g, "&amp;" ).replace( /</g, "&lt;" );
+		} // escapeHTML
+
+		function replaceSpaces( str ) {
+			return str.replace( / +/g, function( spaces ) {
+				return spaces.replace( / /g, replaceSpace );
+			} );
+		} // replaceSpaces
+
+		function filter( str ) {
+			str = escapeHTML( str );
+			if( replaceSpace ) {
+				str = replaceSpaces( str );
+			}
+			return str;
+		} // filter
+
+		function applyRecipe( subject, recipe ) {
+			return cook( subject, recipe );
+		} // applyRecipe
+
+		function applyBlock( subject, recipe, blockName ) {
+			return cook( subject, recipe, blockName );
+		} // applyBlock
+
+		function applyStep( subject, recipe, blockName, stepName ) {
+			var replaceSpace       = book.replaceSpace;
+
+			var step = prepareStep( recipe, blockName, stepName );
+			var steps = [step];
+
+			var perfect = subject.replace( knowHow( steps ), function() {
+				return chef.apply( { steps: steps }, arguments );
+			} );
+			return perfect;
+		} // applyStep
+
+		function applyModule( subject, module, context ) {
+			if( ! module ) {
+				return filter( subject );
+			}
+
+			var sub = module.split( '/' );
+			var recipeName = '';
+			var blockName  = '';
+			var stepName   = '';
+			switch( sub.length ) {
+				case 1:
+					recipeName = sub[0];
+					break;
+				case 2:
+					recipeName = sub[0]; blockName = sub[1];
+					break;
+				case 3:
+					recipeName = sub[0]; blockName = sub[1]; stepName = sub[2];
+					break;
+				default:
+					return filter( subject );
+			}
+
+			function getRecipe( recipeName ) {
+				var path = getPath( recipeName );
+				var recipe = book.recipes[ path ];
+				if( ! recipe ) {
+					throw {msg:"recipe not available"};
+				}
+				return recipe;
+			}
+
+			try {
+				var recipe;
+				if ( '' == stepName ) {
+					if ( '' == blockName ) {
+						if ( '' == recipeName ) {
+							//nothing to do
+						}
+						else { // ( '' != recipeName )
+							recipe = getRecipe( recipeName );
+							return applyRecipe( subject, recipe );
+						}
+					}
+					else { // ( '' != blockName )
+						if( '' == recipeName ) {
+							recipe = context.recipe;
+						}
+						else {
+							recipe = getRecipe( recipeName );
+						}
+						if( ! (blockName in recipe) ) {
+							return filter( subject );
+						}
+						return applyBlock( subject, recipe, blockName );
+					}
+				}
+				else { // ( '' != stepName )
+					if( '' == recipeName ) {
+						recipe = context.recipe;
+					}
+					else {
+						recipe = getRecipe( recipeName );
+					}
+					if( '' == blockName ) {
+						blockName = context.blockName;
+					}
+					if( ! (blockName in recipe) ) {
+						return filter( subject );
+					}
+					if( ! (stepName in recipe[blockName]) ) {
+						return filter( subject );
+					}
+					return applyStep( subject, recipe, blockName, stepName );
+				}
+			}
+			catch( e ) {
+				if (e.msg && e.msg == "recipe not available") {
+					var cue = 'chili_' + book.unique();
+					if( book.recipeLoading ) {
+						var path = getPath( recipeName );
+						if( ! book.queue[ path ] ) {
+							/* this is a new recipe to download */
+							try {
+								book.queue[ path ] = [ {cue: cue, subject: subject, module: module, context: context} ];
+								$.getJSON( path, function( recipeLoaded ) {
+									book.recipes[ path ] = recipeLoaded;
+									var q = book.queue[ path ];
+									for( var i = 0, iTop = q.length; i < iTop; i++ ) {
+										var replacement = applyModule( q[ i ].subject, q[ i ].module, q[ i ].context );
+										if( book.replaceTab ) {
+											replacement = replacement.replace( /\t/g, book.replaceTab );
+										}
+										if( book.replaceNewLine ) {
+											replacement = replacement.replace( /\n/g, book.replaceNewLine );
+										}
+										$( '#' + q[ i ].cue ).replaceWith( replacement );
+									}
+								} );
+							}
+							catch( recipeNotAvailable ) {
+								alert( "the recipe for '" + recipeName + "' was not found in '" + path + "'" );
+							}
+						}
+						else {
+							/* not a new recipe, so just enqueue this element */
+							book.queue[ path ].push( {cue: cue, subject: subject, module: module, context: context} );
+						}
+						return '<span id="' + cue + '">' + filter( subject ) + '</span>';
+					}
+					return filter( subject );
+				}
+				else {
+					return filter( subject );
+				}
+			}
+		} // applyModule
+
+		function addPrefix( prefix, replacement ) {
+			var aux = replacement.replace( /(<span\s+class\s*=\s*(["']))((?:(?!__)\w)+\2\s*>)/ig, "$1" + prefix + "__$3" );
+			return aux;
+		} // addPrefix
+
+		function chef() {
+			if (! arguments[ 0 ]) {
+				return '';
+			}
+			var steps = this.steps;
+			var i = 0;  // iterate steps
+			var j = 2;	// iterate chef's arguments
+			var prolog = arguments[ 1 ];
+			var epilog = arguments[ arguments.length - 3 ];
+			if (! epilog) {
+				var step;
+				while( step = steps[ i++ ] ) {
+					var aux = arguments; // this unmasks chef's arguments inside the next function
+					if( aux[ j ] ) {
+						var replacement = '';
+						if( $.isFunction( step.replacement ) ) {
+							var matches = []; //Array.slice.call( aux, j, step.length );
+							for (var k = 0, kTop = step.length; k < kTop; k++) {
+								matches.push( aux[ j + k ] );
+							}
+							matches.push( aux[ aux.length - 2 ] );
+							matches.push( aux[ aux.length - 1 ] );
+							replacement = step.replacement
+								.apply( { 
+									x: function() { 
+										var subject = arguments[0];
+										var module  = arguments[1];
+										var context = { 
+											  recipe:    step.recipe
+											, blockName: step.blockName 
+										};
+										return applyModule( subject, module, context );
+									} 
+								}, matches );
+						}
+						else { //we expect step.replacement to be a string
+							replacement = step.replacement
+								.replace( /(\\\$)|(?:\$\$)|(?:\$(\d+))/g, function( m, escaped, K ) {
+									if( escaped ) {       /* \$ */ 
+										return "$";
+									}
+									else if( !K ) {       /* $$ */ 
+										return filter( aux[ j ] );
+									}
+									else if( K == "0" ) { /* $0 */ 
+										return step.stepName;
+									}
+									else {                /* $K */
+										return filter( aux[ j + parseInt( K, 10 ) ] );
+									}
+								} );
+						}
+						replacement = addPrefix( step.recipe._name, replacement );
+						return filter( prolog ) + replacement;
+					} 
+					else {
+						j+= step.length;
+					}
+				}
+			}
+			else {
+				return filter( epilog );
+			}
+		} // chef
+
+		if( ! blockName ) {
+			blockName = '_main';
+			checkSpices( recipe );
+		}
+		if( ! (blockName in recipe) ) {
+			return filter( ingredients );
+		}
+		var replaceSpace = book.replaceSpace;
+		var steps = prepareBlock( recipe, blockName );
+		var kh = knowHow( steps );
+		var perfect = ingredients.replace( kh, function() {
+			return chef.apply( { steps: steps }, arguments );
+		} );
+		return perfect;
+
+	} // cook
+
+	function loadStylesheetInline( sourceCode ) { 
+		if( document.createElement ) { 
+			var e = document.createElement( "style" ); 
+			e.type = "text/css"; 
+			if( e.styleSheet ) { // IE 
+				e.styleSheet.cssText = sourceCode; 
+			}  
+			else { 
+				var t = document.createTextNode( sourceCode ); 
+				e.appendChild( t ); 
+			} 
+			document.getElementsByTagName( "head" )[0].appendChild( e ); 
+		} 
+	} // loadStylesheetInline
+			
+	function checkSpices( recipe ) {
+		var name = recipe._name;
+		if( ! book.queue[ name ] ) {
+
+			var content = ['/* Chili -- ' + name + ' */'];
+			for (var blockName in recipe) {
+				if( blockName.search( /^_(?!main\b)/ ) < 0 ) {
+					for (var stepName in recipe[ blockName ]) {
+						var step = recipe[ blockName ][ stepName ];
+						if( '_style' in step ) {
+							if( step[ '_style' ].constructor == String ) {
+								content.push( '.' + name + '__' + stepName + ' { ' + step[ '_style' ] + ' }' );
+							}
+							else {
+								for (var className in step[ '_style' ]) {
+									content.push( '.' + name + '__' + className + ' { ' + step[ '_style' ][ className ] + ' }' );
+								}
+							}
+						}
+					}
+				}
+			}
+			content = content.join('\n');
+
+			loadStylesheetInline( content );
+
+			book.queue[ name ] = true;
+		}
+	} // checkSpices
+
+	function askDish( el ) {
+		var recipeName = book.codeLanguage( el );
+		if( '' != recipeName ) {
+			var path = getPath( recipeName );
+			if( book.recipeLoading ) {
+				/* dynamic setups come here */
+				if( ! book.queue[ path ] ) {
+					/* this is a new recipe to download */
+					try {
+						book.queue[ path ] = [ el ];
+						$.getJSON( path, function( recipeLoaded ) {
+							book.recipes[ path ] = recipeLoaded;
+							var q = book.queue[ path ];
+							for( var i = 0, iTop = q.length; i < iTop; i++ ) {
+								makeDish( q[ i ], path );
+							}
+						} );
+					}
+					catch( recipeNotAvailable ) {
+						alert( "the recipe for '" + recipeName + "' was not found in '" + path + "'" );
+					}
+				}
+				else {
+					/* not a new recipe, so just enqueue this element */
+					book.queue[ path ].push( el );
+				}
+				/* a recipe could have been already downloaded */
+				makeDish( el, path ); 
+			}
+			else {
+				/* static setups come here */
+				makeDish( el, path );
+			}
+		}
+	} // askDish
+
+	function makeDish( el, recipePath ) {
+		var recipe = book.recipes[ recipePath ];
+		if( ! recipe ) {
+			return;
+		}
+		var $el = $( el );
+		var ingredients = $el.text();
+		if( ! ingredients ) {
+			return;
+		}
+
+		//fix for msie: \r (13) is used instead of \n (10)
+		//fix for opera: \r\n is used instead of \n
+		ingredients = ingredients.replace(/\r\n?/g, "\n");
+
+		//reverse fix for safari: msie, mozilla and opera render the initial \n
+		if( $el.parent().is('pre') ) {
+			if( ! $.browser.safari ) {
+				ingredients = ingredients.replace(/^\n/g, "");
+			}
+		}
+
+		var dish = cook( ingredients, recipe ); // all happens here
+	
+		if( book.replaceTab ) {
+			dish = dish.replace( /\t/g, book.replaceTab );
+		}
+		if( book.replaceNewLine ) {
+			dish = dish.replace( /\n/g, book.replaceNewLine );
+		}
+
+		el.innerHTML = dish; //much faster than $el.html( dish );
+		//tried also the function replaceHtml from http://blog.stevenlevithan.com/archives/faster-than-innerhtml
+		//but it was not faster nor without sideffects (it was not possible to count spans into el)
+
+		//opera and safari select PRE text correctly 
+		if( $.browser.msie || $.browser.mozilla ) {
+			enableSelectionHelper( el );
+		}
+
+		var $that = $el.parent();
+		var classes = $that.attr( 'class' );
+		var ln = /ln-(\d+)-([\w][\w\-]*)|ln-(\d+)|ln-/.exec( classes );
+		if( ln ) {
+			addLineNumbers( el );
+			var start = 0;
+			if( ln[1] ) {
+				start = parseInt( ln[1], 10 );
+				var $pieces = $( '.ln-' + ln[1] + '-' + ln[2] );
+				var pos = $pieces.index( $that[0] );
+				$pieces.slice( 0, pos ).each( function() {
+					start += $( this ).find( 'li' ).length;
+				} );
+			}
+			else if( ln[3] ) {
+				start = parseInt( ln[3], 10 );
+			}
+			else {
+				start = 1;
+			}
+			$el.find( 'ol' )[0].start = start;
+			$('body').width( $('body').width() - 1 ).width( $('body').width() + 1 );
+		}
+		else if( book.lineNumbers ) {
+			addLineNumbers( el );
+		}
+
+	} // makeDish
+
+	function enableSelectionHelper( el ) {
+		var element = null;
+		$( el )
+		.parents()
+		.filter( "pre" )
+		.bind( "mousedown", function() {
+			element = this;
+			if( $.browser.msie ) {
+				document.selection.empty();
+			}
+			else {
+				window.getSelection().removeAllRanges();
+			}
+		} )
+		.bind( "mouseup", function( event ) {
+			if( element && (element == this) ) {
+				element = null;
+				var selected = '';
+				if( $.browser.msie ) {
+					selected = document.selection.createRange().htmlText;
+					if( '' == selected ) { 
+						return;
+					}
+					selected = preserveNewLines( selected );
+					var container_tag = '<textarea style="STYLE">';
+				}
+				else {
+					selected = window.getSelection().toString(); //opera doesn't select new lines
+					if( '' == selected ) {
+						return;
+					}
+					selected = selected
+						.replace( /\r/g, '' )
+						.replace( /^# ?/g, '' )
+						.replace( /\n# ?/g, '\n' )
+					;
+					var container_tag = '<pre style="STYLE">';
+				}
+				var $container = $( container_tag.replace( /\bSTYLE\b/, ChiliBook.selectionStyle ) )
+					.appendTo( 'body' )
+					.text( selected )
+					.attr( 'id', 'chili_selection' )
+					.click( function() { $(this).remove(); } )
+				;
+				var top  = event.pageY - Math.round( $container.height() / 2 ) + "px";
+				var left = event.pageX - Math.round( $container.width() / 2 ) + "px";
+				$container.css( { top: top, left: left } );
+				if( $.browser.msie ) {
+//					window.clipboardData.setData( 'Text', selected ); //I couldn't find anything similar for Mozilla
+					$container[0].focus();
+					$container[0].select();
+				}
+				else {
+					var s = window.getSelection();
+					s.removeAllRanges();
+					var r = document.createRange();
+					r.selectNodeContents( $container[0] );
+					s.addRange( r );
+				}
+			}
+		} )
+		;
+	} // enableSelectionHelper
+
+	function getPath( recipeName ) {
+		return book.recipeFolder + recipeName + ".js";
+	} // getPath
+
+	function getSelectedText() {
+		var text = '';
+		if( $.browser.msie ) {
+			text = document.selection.createRange().htmlText;
+		}
+		else {
+			text = window.getSelection().toString();
+		}
+		return text;
+	} // getSelectedText
+
+	function preserveNewLines( html ) {
+		do { 
+			var newline_flag = ChiliBook.unique();
+		}
+		while( html.indexOf( newline_flag ) > -1 );
+		var text = '';
+		if (/<br/i.test(html) || /<li/i.test(html)) {
+			if (/<br/i.test(html)) {
+				html = html.replace( /\<br[^>]*?\>/ig, newline_flag );
+			}
+			else if (/<li/i.test(html)) {
+				html = html.replace( /<ol[^>]*?>|<\/ol>|<li[^>]*?>/ig, '' ).replace( /<\/li>/ig, newline_flag );
+			}
+			var el = $( '<pre>' ).appendTo( 'body' ).hide()[0];
+			el.innerHTML = html;
+			text = $( el ).text().replace( new RegExp( newline_flag, "g" ), '\r\n' );
+			$( el ).remove();
+		}
+		return text;
+	} // preserveNewLines
+
+	function addLineNumbers( el ) {
+
+		function makeListItem1( not_last_line, not_last, last, open ) {
+			var close = open ? '</span>' : '';
+			var aux = '';
+			if( not_last_line ) {
+				aux = '<li>' + open + not_last + close + '</li>';
+			}
+			else if( last ) {
+				aux = '<li>' + open + last + close + '</li>';
+			}
+			return aux;
+		} // makeListItem1
+
+		function makeListItem2( not_last_line, not_last, last, prev_li ) {
+			var aux = '';
+			if( prev_li ) {
+				aux = prev_li;
+			}
+			else {
+				aux = makeListItem1( not_last_line, not_last, last, '' )
+			}
+			return aux;
+		} // makeListItem2
+
+		var html = $( el ).html();
+		var br = /<br>/.test(html) ? '<br>' : '<BR>';
+		var empty_line = '<li>' + book.replaceSpace + '</li>';
+		var list_items = html
+			//extract newlines at the beginning of a span
+			.replace( /(<span [^>]+>)((?:(?:&nbsp;|\xA0)<br>)+)(.*?)(<\/span>)/ig, '$2$1$3$4' ) // I don't know why <span .*?> does not work here
+			//transform newlines inside of a span
+			.replace( /(.*?)(<span .*?>)(.*?)(?:<\/span>(?:&nbsp;|\xA0)<br>|<\/span>)/ig,       // but here it does
+				function( all, before, open, content ) {
+					if (/<br>/i.test(content)) {
+						var pieces = before.split( br );
+						var lastPiece = pieces.pop();
+						before = pieces.join( br );
+						var aux = (before ? before + br : '') //+ replace1( lastPiece + content, open );
+							+ (lastPiece + content).replace( /((.*?)(?:&nbsp;|\xA0)<br>)|(.*)/ig, 
+							function( tmp, not_last_line, not_last, last ) {
+								var aux2 = makeListItem1( not_last_line, not_last, last, open );
+								return aux2;
+							} 
+						);
+						return aux;
+					}
+					else {
+						return all;
+					}
+				} 
+			)
+			//transform newlines outside of a span
+			.replace( /(<li>.*?<\/li>)|((.*?)(?:&nbsp;|\xA0)<br>)|(.+)/ig, 
+				function( tmp, prev_li, not_last_line, not_last, last ) {
+					var aux2 = makeListItem2( not_last_line, not_last, last, prev_li );
+					return aux2;
+				} 
+			)
+			//fix empty lines for Opera
+			.replace( /<li><\/li>/ig, empty_line )
+		;
+
+		el.innerHTML = '<ol>' + list_items + '</ol>';
+	} // addLineNumbers
+
+	function revealChars( tmp ) {
+		return $
+			.map( tmp.split(''), 
+				function(n, i) { 
+					return ' ' + n + ' ' + n.charCodeAt( 0 ) + ' ';
+				} )
+			.join(' ');
+	} // revealChars
+
+//-----------------------------------------------------------------------------
+// the coloring starts here
+	this
+	.each( function() {
+		var $this = $( this );
+		$this.trigger( 'chili.before_coloring' );
+		askDish( this );
+		$this.trigger( 'chili.after_coloring' );
+	} );
+
+	return this;
+//-----------------------------------------------------------------------------
+};
+
+
+
+//main
+$( function() {
+
+	if( ChiliBook.automatic ) {
+		$( ChiliBook.automaticSelector ).chili();
+	}
+
+} );
+
+} ) ( jQuery );

Propchange: incubator/libcloud/site/js/chili/jquery.chili-2.2.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/libcloud/site/js/chili/jquery.chili-2.2.js
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/libcloud/site/js/chili/jquery.chili-2.2.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/libcloud/site/js/chili/jquery.chili-2.2.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: incubator/libcloud/site/js/chili/python.js
URL: http://svn.apache.org/viewvc/incubator/libcloud/site/js/chili/python.js?rev=881572&view=auto
==============================================================================
--- incubator/libcloud/site/js/chili/python.js (added)
+++ incubator/libcloud/site/js/chili/python.js Tue Nov 17 22:20:10 2009
@@ -0,0 +1,34 @@
+/*
+ *  Python recipe for Chili syntax highlighter for jQuery
+ *
+ *  Copyright Ben Godfrey <ben at ben2.com>, 2009.
+ */
+{
+	  _name: 'python'
+	, _case: true
+	, _main: {
+		  sl_comment: { 
+			  _match: /#.*/
+			, _style: 'color: green;'
+		}
+		, string: { 
+			  _match: /(?:\'[^\'\\\n]*(?:\\.[^\'\\\n]*)*\')|(?:\"[^\"\\\n]*(?:\\.[^\"\\\n]*)*\")/
+			, _style: 'color: teal;'
+		}
+		, num: { 
+			  _match: /\b[+-]?(?:\d*\.?\d+|\d+\.?\d*)(?:[eE][+-]?\d+)?\b/
+			, _style: 'color: red;'
+		}
+		, statement: { 
+			  _match: /\b(and|as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|not|or|pass|print|raise|return|try|while|with|yield)\b/
+			, _style: 'color: navy; font-weight: bold;'
+		}
+		, property: { 
+			  _match: /\b(None|True|False)\b/
+			, _style: 'color: Purple; font-weight: bold;'
+		}
+	}
+}
+
+
+

Propchange: incubator/libcloud/site/js/chili/python.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/libcloud/site/js/chili/python.js
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/libcloud/site/js/chili/python.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/libcloud/site/js/chili/python.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: incubator/libcloud/site/js/libcloud.js
URL: http://svn.apache.org/viewvc/incubator/libcloud/site/js/libcloud.js?rev=881572&view=auto
==============================================================================
--- incubator/libcloud/site/js/libcloud.js (added)
+++ incubator/libcloud/site/js/libcloud.js Tue Nov 17 22:20:10 2009
@@ -0,0 +1,15 @@
+$(document).ready(function(){
+
+  //SUPPORT TABLE
+  $('#support-table td:contains("y")')
+    .addClass('supported').text('yes');
+  $('#support-table td:contains(" ")').add('#support-table td:empty')
+    .addClass('unsupported').text('no');
+
+  //SIDEBAR
+  $('#sidebar').accordion({ 
+    header:'h2',
+    autoHeight:false
+  }); 
+
+});

Propchange: incubator/libcloud/site/js/libcloud.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/libcloud/site/js/libcloud.js
------------------------------------------------------------------------------
    svn:executable = *

Propchange: incubator/libcloud/site/js/libcloud.js
------------------------------------------------------------------------------
    svn:keywords = Date Revision Author HeadURL Id

Propchange: incubator/libcloud/site/js/libcloud.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain