Merge "Update Rackspace pages to use new header/footer"

This commit is contained in:
Jenkins
2014-06-27 18:15:02 +00:00
committed by Gerrit Code Review
15 changed files with 1831 additions and 690 deletions

File diff suppressed because one or more lines are too long

View File

@@ -4,7 +4,6 @@
http://staging.openstack.org/themes/openstack/css/main.css http://staging.openstack.org/themes/openstack/css/main.css
*/ */
#rightColumn { #rightColumn {
float:left; float:left;
position: relative; position: relative;
@@ -24,13 +23,14 @@ body {
} }
.navbar-brand { .navbar-brand {
display: block; text-transform: uppercase;
margin-top: 8px; color: #FFF;
text-indent: -1000em; line-height: 20px;
background: url(../images/rackspace-logo.png) no-repeat left center; font-size: 0.9em;
height: 54px; font-weight: 600;
width: 177px; background: url('apiref/images/rs-logo.svg') no-repeat scroll left center / 20px auto transparent;
color: black; padding: 12px 12px 12px 23px;
height: 42px;
} }
.container { .container {
@@ -42,9 +42,9 @@ body {
.navbar-default { .navbar-default {
background-color: black; background-color: black;
border: none; border: none;
margin-top: 0px;
} }
.subhead { .subhead {
border-bottom: 1px dotted; border-bottom: 1px dotted;
padding-bottom: 5px; padding-bottom: 5px;
@@ -226,7 +226,7 @@ dt:hover > a.headerlink {
@media (min-width: 992px) { @media (min-width: 992px) {
.navbar-default { .navbar-default {
margin-top: 25px; margin-top: 0px;
} }
} }
@@ -272,3 +272,12 @@ dt:hover > a.headerlink {
.rowtop { .rowtop {
margin-top: 75px; margin-top: 75px;
} }
.navbar.navbar-static-top.navbar-inverse .navbar-nav > li > a {
color: #FFF;
font-size: 0.9em;
}
.navbar-default .navbar-nav > li > a {
color: white;
}

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="534.622px" height="534.624px" viewBox="0 0 534.622 534.624" enable-background="new 0 0 534.622 534.624"
xml:space="preserve">
<path fill="#010101" d="M534.622,300.726v217.191c0,9.226-7.481,16.707-16.707,16.707H16.706c-4.552,0-8.908-1.856-12.057-5.143
c-3.149-3.284-4.825-7.713-4.634-12.257l16.707-400.968c0.371-8.951,7.734-16.014,16.691-16.014h100.242
c8.884,0,16.217,6.954,16.682,15.828l14.737,279.97l107.131-107.127c3.194-3.198,7.468-4.895,11.816-4.895
c2.149,0,4.323,0.416,6.392,1.273c6.24,2.586,10.311,8.676,10.311,15.434v76.613l88.43-88.426c3.194-3.198,7.468-4.895,11.816-4.895
c2.149,0,4.323,0.416,6.392,1.273c6.24,2.586,10.311,8.676,10.311,15.434v76.613l88.43-88.426c3.194-3.198,7.468-4.895,11.816-4.895
c2.149,0,4.323,0.416,6.392,1.273C530.552,287.877,534.622,293.967,534.622,300.726z M384.259,100.242
C300.724,100.242,267.31,0,167.068,0C112.412,0,63.89,26.252,33.412,66.828c26.668-20.288,69.12-33.414,116.949-33.414
c83.535,0,116.949,100.242,217.191,100.242c54.656,0,103.179-26.252,133.656-66.828C474.54,87.116,432.088,100.242,384.259,100.242z
"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="148.01px" height="152.42px" viewBox="0 0 148.01 152.42" enable-background="new 0 0 148.01 152.42" xml:space="preserve">
<g>
<path fill="#FFFFFF" d="M76.856,41.274c-2.898,6.115-1.747,11.134,2.581,11.213c4.329,0.075,10.193-4.815,13.089-10.927
c2.904-6.118,1.751-11.141-2.578-11.22C85.62,30.269,79.759,35.163,76.856,41.274z M112.124,19.195
c0.036,0.015,0.059,0.054,0.059,0.093c0,0.014-0.002,0.025-0.005,0.032c-2.587,7.328-6.878,15.67-11.131,21.996
c-8.959,13.301-21.819,21.689-28.718,18.728c-6.895-2.953-5.236-16.136,3.731-29.443c2.019-2.986,4.232-5.721,6.523-8.141
c0.016-0.018,0.029-0.043,0.029-0.072c0-0.054-0.047-0.1-0.102-0.1c0,0-0.011,0-0.012,0.004c-2.818,0.39-5.673,0.945-8.553,1.672
c-0.02,0.004-0.041,0.018-0.056,0.036C43.621,61.115,30.74,109.319,32.512,152.32l0,0c0,0.058-0.043,0.1-0.1,0.1
c-0.013,0-0.027,0-0.038-0.004c-17.844-7.192-30.884-24.427-32.241-46.248l-0.018-0.251c-2.25-38.827,28.704-78.599,69.149-88.834
C84.938,13.113,99.746,14.158,112.124,19.195z"/>
<path fill="#FFFFFF" d="M100.682,123.911c-2.941,2.041-6.009,3.927-9.176,5.628c-0.014,0.004-0.032,0.011-0.047,0.011
c-0.054,0-0.1-0.043-0.104-0.097c-0.591-9.322-2.599-18.352-6.072-25.866c-9.258-20.06-25.444-21.603-36.136-3.444
c-6.543,11.113-9.522,27.037-8.716,42.325c0,0.043,0.03,0.079,0.07,0.09c11.345,3.555,24.413,3.945,38.356,0.426
c40.39-10.29,71.281-50.019,69.038-88.806c-1.98-34.072-28.858-56.087-62.742-54.046c-0.023,0-0.048,0.011-0.063,0.029
c-3.295,3.333-6.38,6.698-9.274,10.096c-0.014,0.018-0.023,0.043-0.023,0.064c0,0.058,0.047,0.104,0.1,0.104
c0,0,0.007,0,0.014-0.004c19.855-2.513,35.769,1.521,46.157,9.795c0.022,0.018,0.034,0.047,0.034,0.078
c0,0.018-0.004,0.04-0.012,0.054c-35.782,50.437-31.353,79.175-21.37,103.441c0.006,0.011,0.009,0.022,0.009,0.036
C100.725,123.861,100.707,123.893,100.682,123.911z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -26,14 +26,15 @@
body.</p> body.</p>
</xsl:param> </xsl:param>
<xsl:param name="wadl.noreqresp.msg"> <xsl:param name="wadl.noreqresp.msg">
<p class="nobody">This operation does not accept a request <p class="nobody">This operation does not accept a request body
body and does not return a response body.</p> and does not return a response body.</p>
</xsl:param> </xsl:param>
<xsl:param name="googleAnalyticsId"/> <xsl:param name="googleAnalyticsId"/>
<xsl:param name="googleAnalyticsDomain"/> <xsl:param name="googleAnalyticsDomain"/>
<xsl:param name="enableGoogleAnalytics">0</xsl:param> <xsl:param name="enableGoogleAnalytics">0</xsl:param>
<xsl:param name="branding">openstack</xsl:param> <xsl:param name="branding">openstack</xsl:param>
<xsl:param name="autoPdfUrl">http://developer.openstack.org/api-ref-guides/bk-</xsl:param> <xsl:param name="autoPdfUrl"
>http://api.openstack.org/api-ref-guides/bk-</xsl:param>
<xsl:param name="pdfFilename"/> <xsl:param name="pdfFilename"/>
<xsl:template match="node() | @*"> <xsl:template match="node() | @*">
<xsl:copy> <xsl:copy>
@@ -60,16 +61,28 @@
<link rel="stylesheet" href="apiref/css/syntax.css"/> <link rel="stylesheet" href="apiref/css/syntax.css"/>
<link href="apiref/css/main-rackspace.css" <link href="apiref/css/main-rackspace.css"
rel="stylesheet" type="text/css"/> rel="stylesheet" type="text/css"/>
<link href="apiref/css/bootstrap.min.css" rel="stylesheet" <link href="apiref/css/bootstrap.min.css" rel="stylesheet"/>
<!-- fonts: -->
<!-- This will need to be cleaned up before prod. I'm just including every style right now; once the styles are locked down it should be pared down to what's necessary. -->
<link
href="http://fonts.googleapis.com/css?family=Source+Sans+Pro:200,300,400,600,700,900,200italic,300italic,400italic,600italic,700italic,900italic"
rel="stylesheet" type="text/css"/>
<!-- our styles: -->
<link rel="stylesheet"
href="apiref/css/main-3569f93f8adb6558ac39cab2466620a8.css"
/> />
</head> </head>
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>
<head> <head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/> <meta http-equiv="content-type"
content="text/html; charset=UTF-8"/>
<meta charset="UTF-8"/> <meta charset="UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/> <meta http-equiv="X-UA-Compatible"
<meta name="viewport" content="width=device-width, initial-scale=1.0"/> content="IE=edge,chrome=1"/>
<meta name="viewport"
content="width=device-width, initial-scale=1.0"/>
<title>OpenStack API Documentation</title> <title>OpenStack API Documentation</title>
<link rel="stylesheet" href="apiref/css/bootstrap.min.css"/> <link rel="stylesheet" href="apiref/css/bootstrap.min.css"/>
<!-- OpenStack Specific CSS --> <!-- OpenStack Specific CSS -->
@@ -87,35 +100,71 @@
<body> <body>
<xsl:choose> <xsl:choose>
<xsl:when test="$branding = 'rackspace'"> <xsl:when test="$branding = 'rackspace'">
<div class="header"> <div
<div class="inner clearfix"> class="navbar navbar-static-top navbar-inverse navbar-default">
<a class="title" href="http://162.242.151.184/index.html">Rackspace Developer Portal</a> <div class="container">
<ul> <div class="navbar-header">
<button type="button" class="navbar-toggle"
data-toggle="collapse"
data-target="#navbar-collapse-btn">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"/>
<span class="icon-bar"/>
<span class="icon-bar"/>
</button>
<a class="navbar-brand"
href="/">Rackspace ::
Develop</a>
</div>
<div class="collapse navbar-collapse"
id="navbar-collapse-btn">
<ul class="nav navbar-nav navbar-right">
<li> <li>
<a href="http://162.242.151.184/main-sdks.html">SDKs</a> <a href="/sdks/">SDKs &amp;
Tools</a>
</li> </li>
<li> <li>
<a href="http://162.242.151.184/main-services.html" <a href="/docs/">Docs</a>
>Services</a>
</li> </li>
<li> <li>
<a href="http://162.242.151.184/docs">Docs</a> <a href="/blog/">Blog</a>
</li> </li>
<li> <li>
<a href="http://162.242.151.184/blog-list.html">Developer <a href="/community/"
Blog</a> >Community</a>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle"
data-toggle="dropdown">More <b class="caret"
/></a>
<ul class="dropdown-menu">
<li>
<a href="https://mycloud.rackspace.com/"
target="_blank">Control Panel</a>
</li> </li>
<li> <li>
<a href="#">Sign Up</a> <a href="http://status.rackspace.com/"
target="_blank">Service Status</a>
</li>
<li class="divider"/>
<li>
<a
href="http://www.rackspace.com/knowledge_center/"
target="_blank">Knowledge Base</a>
</li> </li>
<li> <li>
<form> <a
<input name="" id="" placeholder="Search our docs" href="https://community.rackspace.com/developers/default"
type="search"/> target="_blank">Developer Forums</a>
<input name="" value="Search" type="submit"/> </li>
</form> <li>
<a href="http://www.rackspace.com/support/"
target="_blank">Talk with Support</a>
</li> </li>
</ul> </ul>
</li>
</ul>
</div>
</div> </div>
</div> </div>
</xsl:when> </xsl:when>
@@ -169,10 +218,18 @@
title="Go to OpenStack Documentation" title="Go to OpenStack Documentation"
>Documentation</a> >Documentation</a>
</li> </li>
<li><a title="Open the PDF for this page" onclick="_gaq.push(['_trackEvent', 'Header', 'pdfDownload', 'click', 1]);" alt="Download a pdf of this document" class="pdficon" href="{concat(normalize-space(substring($autoPdfUrl,1,string-length($autoPdfUrl) - 3)), $pdfFilename,'.pdf')}"> <li>
<xsl:value-of select="translate(d:title,' ','&#160;')" <a title="Open the PDF for this page"
/>&#160;&#160;&#160;<img src="apiref/images/pdf.png"/> onclick="_gaq.push(['_trackEvent', 'Header', 'pdfDownload', 'click', 1]);"
</a></li> alt="Download a pdf of this document"
class="pdficon"
href="{concat(normalize-space(substring($autoPdfUrl,1,string-length($autoPdfUrl) - 3)), $pdfFilename,'.pdf')}">
<xsl:value-of
select="translate(d:title,' ','&#160;')"
/>&#160;&#160;&#160;<img
src="apiref/images/pdf.png"/>
</a>
</li>
</ul> </ul>
</div> </div>
</div> </div>
@@ -188,8 +245,11 @@
<div class="api-sidebar affix-top" data-spy="affix" <div class="api-sidebar affix-top" data-spy="affix"
data-offset-top="1000" data-offset-bottom="0"> data-offset-top="1000" data-offset-bottom="0">
<ul class="nav api-sidenav"> <ul class="nav api-sidenav">
<li><a class="smallcapped" href="index.html">Technical documentation</a></li> <li>
<li class="divider"></li> <a class="smallcapped" href="index.html"
>Technical documentation</a>
</li>
<li class="divider"/>
<xsl:apply-templates select="d:chapter" <xsl:apply-templates select="d:chapter"
mode="toc"/> mode="toc"/>
<li> <li>
@@ -207,18 +267,15 @@
</ul> </ul>
<div class="row"> <div class="row">
<div class="col-md-7"> <div class="col-md-7">
<label class="sr-only" <label class="sr-only" for="search-box">Search
for="search-box">Search on this on this page</label>
page</label> <input type="text" class="form-control"
<input type="text"
class="form-control"
id="search-box" id="search-box"
placeholder="Search this page"/> placeholder="Search this page"/>
</div> </div>
<div class="col-md-5"> <div class="col-md-5">
<button id="search-btn" <button id="search-btn"
class="btn btn-default" class="btn btn-default">Search</button>
>Search</button>
</div> </div>
</div> </div>
</div> </div>
@@ -227,23 +284,211 @@
<xsl:apply-templates/> <xsl:apply-templates/>
</div> </div>
</div> </div>
</div>
<div class="row"> <div class="row">
<div class="clearfix" id="footer">
<div class="container clearfix" id="fatfooter-wrap">
<!-- <div class="row">
<div class="col-md-3"/> <div class="col-md-3"/>
<div class="col-md-9" id="footer"> <div id="footer" class="clearfix col-md-9">-->
<xsl:choose> <div id="fatfooter-wrap" class="container clearfix">
<xsl:when test="$branding = 'rackspace'"> <div class="row">
<div class="legal"> <div class="col-md-2">
<a href="index.html"> Legal notices </a> <div class="footer-item-header">Products</div>
<ul>
<li>
<a href="http://www.rackspace.com/cloud/"
>Public Cloud</a>
</li>
<li>
<a
href="http://www.rackspace.com/cloud/private/"
>Private Cloud</a>
</li>
<li>
<a
href="http://www.rackspace.com/cloud/hybrid/"
>Hybrid Cloud</a>
</li>
<li>
<a
href="http://www.rackspace.com/managed-hosting/"
>Managed Hosting</a>
</li>
<li>
<a
href="http://www.rackspace.com/email-hosting/"
>Email Hosting</a>
</li>
</ul>
</div> </div>
</xsl:when> <div class="col-md-2">
<xsl:otherwise> <div class="footer-item-header">Support</div>
<p>The OpenStack project is provided under the Apache 2.0 <ul>
license.</p> <li>
</xsl:otherwise> <a href="http://support.rackspace.com/"
</xsl:choose> target="_blank">Support Home</a>
</li>
<li>
<a
href="http://www.rackspace.com/knowledge_center/"
>Knowledge Center</a>
</li>
<li>
<a href="https://community.rackspace.com/"
target="_blank">Rackspace Community</a>
</li>
<li>
<a href="http://docs.rackspace.com/"
target="_blank">API Documentation</a>
</li>
<li>
<a href="http://developer.rackspace.com/"
target="_blank">Developer Center</a>
</li>
</ul>
</div>
<div class="col-md-2">
<div class="footer-item-header">Control
Panels</div>
<ul>
<li>
<a
href="https://my.rackspace.com/portal/auth/login"
target="_blank">MyRackspace Portal</a>
</li>
<li>
<a href="https://mycloud.rackspace.com/"
target="_blank">Cloud Control Panel</a>
</li>
<li>
<a
href="https://manage.rackspacecloud.com/pages/Login.jsp"
target="_blank">Cloud Sites Control
Panel</a>
</li>
<li>
<a href="https://apps.rackspace.com/"
target="_blank">Rackspace Webmail
Login</a>
</li>
<li>
<a href="https://cp.rackspace.com/"
target="_blank">Email Admin Login</a>
</li>
</ul>
</div>
<div class="col-md-4 col-md-offset-1">
<div class="footer-item-header">About
Rackspace</div>
<div class="row">
<div class="col-md-6">
<ul>
<li>
<a
href="http://www.rackspace.com/about/"
>Our Story</a>
</li>
<li>
<a
href="http://stories.rackspace.com/"
target="_blank">Case Studies</a>
</li>
<li>
<a
href="http://www.rackspace.com/events/"
>Events</a>
</li>
<li>
<a
href="http://www.rackspace.com/programs/"
>Programs</a>
</li>
<li>
<a
href="http://www.rackspace.com/blog/newsroom/"
>Newsroom</a>
</li>
</ul>
</div>
<div class="col-md-6">
<ul>
<li>
<a
href="http://www.rackspace.com/blog/"
>The Rackspace Blog</a>
</li>
<li>
<a
href="http://developer.rackspace.com/blog/"
target="_blank">DevOps Blog</a>
</li>
<li>
<a
href="http://www.rackspace.com/information/contactus/"
>Contact Information</a>
</li>
<li>
<a
href="http://www.rackspace.com/information/legal/"
>Legal</a>
</li>
<li>
<a href="http://talent.rackspace.com/"
target="_blank">Careers</a>
</li>
</ul>
</div> </div>
</div> </div>
</div> </div>
</div>
</div>
</div>
<div id="basement-wrap">
<div class="container">
<div class="row">
<div class="col-md-1">
<img
src="apiref/images/rackerpowered-logo.png"
alt="Racker Powered"/>
</div>
<div class="col-md-2 col-md-offset-1">©2014
Rackspace, US Inc.</div>
<div class="col-md-8"><span class="footerlink">
<a href="/about/"
class="basement">About Rackspace</a>
</span> | <span class="footerlink">
<a href="http://ir.rackspace.com/"
class="basement">Investors</a>
</span> | <span class="footerlink">
<a href="http://www.rackertalent.com/"
class="basement">Careers</a>
</span> | <span class="footerlink">
<a
href="/information/legal/privacystatement"
class="basement">Privacy Statement</a>
</span> | <span class="footerlink">
<a
href="/information/legal/websiteterms"
class="basement">Website Terms</a>
</span> | <span class="footerlink">
<a
href="/information/legal/copyrights_trademarks"
class="basement">Trademarks</a>
</span> | <span class="footerlink">
<a href="/sitemap/"
class="basement">Sitemap</a>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="/assets/app-86aefccf54597dda65ee681f8853c86a.js"/>
<!-- syntax highlighter: -->
<script src="http://yandex.st/highlightjs/8.0/highlight.min.js"/>
<script>hljs.initHighlightingOnLoad();</script>
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>
<div class="container"> <div class="container">
@@ -263,18 +508,15 @@
</ul> </ul>
<div class="row"> <div class="row">
<div class="col-md-7"> <div class="col-md-7">
<label class="sr-only" <label class="sr-only" for="search-box">Search
for="search-box">Search on this on this page</label>
page</label> <input type="text" class="form-control"
<input type="text"
class="form-control"
id="search-box" id="search-box"
placeholder="Search this page"/> placeholder="Search this page"/>
</div> </div>
<div class="col-md-5"> <div class="col-md-5">
<button id="search-btn" <button id="search-btn"
class="btn btn-default" class="btn btn-default">Search</button>
>Search</button>
</div> </div>
</div> </div>
</div> </div>
@@ -293,9 +535,9 @@
</div> </div>
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
<script type="text/javascript" src="apiref/js/jquery-1.10.2.min.js"></script> <script type="text/javascript" src="apiref/js/jquery-1.10.2.min.js"/>
<script type="text/javascript" src="apiref/js/bootstrap.min.js"></script> <script type="text/javascript" src="apiref/js/bootstrap.min.js"/>
<script type="text/javascript" src="apiref/js/api-site.js"></script> <script type="text/javascript" src="apiref/js/api-site.js"/>
<xsl:if test="$enableGoogleAnalytics != '0'"> <xsl:if test="$enableGoogleAnalytics != '0'">
<script type="text/javascript"> <script type="text/javascript">
var _gaq = _gaq || []; var _gaq = _gaq || [];
@@ -318,9 +560,11 @@
<xsl:template match="d:preface|d:chapter"> <xsl:template match="d:preface|d:chapter">
<div id="{@xml:id}"> <div id="{@xml:id}">
<div class="subhead"> <div class="subhead">
<h2><xsl:value-of select="d:title"/> <h2>
<a class="headerlink" title="Permalink to this headline" href="#{@xml:id}"> <xsl:value-of select="d:title"/>
<span class="glyphicon glyphicon-link"></span> <a class="headerlink" title="Permalink to this headline"
href="#{@xml:id}">
<span class="glyphicon glyphicon-link"/>
</a> </a>
</h2> </h2>
</div> </div>
@@ -328,11 +572,17 @@
</div> </div>
</xsl:template> </xsl:template>
<xsl:template match="d:section" mode="toc"> <xsl:template match="d:section" mode="toc">
<li><a href="#{@xml:id}"><xsl:value-of select="d:title"/></a></li> <li>
<a href="#{@xml:id}">
<xsl:value-of select="d:title"/>
</a>
</li>
</xsl:template> </xsl:template>
<xsl:template match="//d:preface//d:title" mode="menu-toc"> <xsl:template match="//d:preface//d:title" mode="menu-toc">
<li> <li>
<a href="api-ref.html"><xsl:value-of select="."/></a> <a href="api-ref.html">
<xsl:value-of select="."/>
</a>
</li> </li>
</xsl:template> </xsl:template>
<xsl:template match="d:link" mode="menu-toc"> <xsl:template match="d:link" mode="menu-toc">
@@ -340,7 +590,8 @@
<li> <li>
<a href="{@xlink:href}"> <a href="{@xlink:href}">
<xsl:value-of select="."/> <xsl:value-of select="."/>
</a></li> </a>
</li>
</xsl:template> </xsl:template>
<!-- Do nothing when you see this list - just used to seed the menu --> <!-- Do nothing when you see this list - just used to seed the menu -->
<xsl:template match="d:itemizedlist[@xml:id='service-list']"/> <xsl:template match="d:itemizedlist[@xml:id='service-list']"/>
@@ -348,9 +599,11 @@
<div id="{@xml:id}"> <div id="{@xml:id}">
<div class="subhead"> <div class="subhead">
<!-- headings for API sections --> <!-- headings for API sections -->
<h3><xsl:value-of select="d:title"/> <h3>
<a class="headerlink" title="Permalink to this headline" href="#{@xml:id}"> <xsl:value-of select="d:title"/>
<span class="glyphicon glyphicon-link"></span> <a class="headerlink" title="Permalink to this headline"
href="#{@xml:id}">
<span class="glyphicon glyphicon-link"/>
</a> </a>
</h3> </h3>
</div> </div>
@@ -364,8 +617,7 @@
<xsl:when test="$branding = 'rackspace'"> <xsl:when test="$branding = 'rackspace'">
<li> <li>
<a class="smallcapped" href="#{@xml:id}"> <a class="smallcapped" href="#{@xml:id}">
<xsl:value-of select="translate(d:title,' ','&#160;')" <xsl:value-of select="translate(d:title,' ','&#160;')"/>
/>
</a> </a>
</li> </li>
</xsl:when> </xsl:when>
@@ -373,83 +625,92 @@
<!-- show top menu item in side nav bar --> <!-- show top menu item in side nav bar -->
<li> <li>
<a class="smallcapped" href="#{@xml:id}"> <a class="smallcapped" href="#{@xml:id}">
<xsl:value-of select="translate(d:title,' ','&#160;')" <xsl:value-of select="translate(d:title,' ','&#160;')"/>
/>
</a> </a>
</li> </li>
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
<li class="divider"></li> <li class="divider"/>
</xsl:template> </xsl:template>
<xsl:template match="@*|node()" mode="toc"> <xsl:template match="@*|node()" mode="toc">
<xsl:apply-templates mode="toc"/> <xsl:apply-templates mode="toc"/>
</xsl:template> </xsl:template>
<!-- end toc mode --> <!-- end toc mode -->
<xsl:template match="wadl:method"> <xsl:template match="wadl:method">
<xsl:variable name="id"><xsl:value-of select="generate-id()"/></xsl:variable> <xsl:variable name="id">
<xsl:value-of select="generate-id()"/>
</xsl:variable>
<xsl:variable name="skipNoRequestTextN">0</xsl:variable> <xsl:variable name="skipNoRequestTextN">0</xsl:variable>
<xsl:variable name="skipNoRequestText" select="boolean(number($skipNoRequestTextN))"/> <xsl:variable name="skipNoRequestText"
select="boolean(number($skipNoRequestTextN))"/>
<xsl:variable name="skipNoResponseTextN">0</xsl:variable> <xsl:variable name="skipNoResponseTextN">0</xsl:variable>
<xsl:variable name="skipNoResponseText" select="boolean(number($skipNoResponseTextN))"/> <xsl:variable name="skipNoResponseText"
select="boolean(number($skipNoResponseTextN))"/>
<div class="doc-entry"> <div class="doc-entry">
<div class="row {$id}"> <div class="row {$id}">
<xsl:choose><xsl:when test="$branding = 'rackspace'"> <xsl:choose>
<xsl:when test="$branding = 'rackspace'">
<link href="apiref/css/main-rackspace.css" <link href="apiref/css/main-rackspace.css"
rel="stylesheet" type="text/css"/> rel="stylesheet" type="text/css"/>
<div class="col-md-1"> <div class="col-md-1">
<span class="label label-success"><xsl:value-of select="@name"/></span> <span class="label label-success">
<xsl:value-of select="@name"/>
</span>
</div> </div>
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>
<link href="apiref/css/main.css" <link href="apiref/css/main.css" rel="stylesheet"
rel="stylesheet" type="text/css"/><div class="col-md-1"> type="text/css"/>
<span class="label label-success"><xsl:value-of select="@name"/></span> <div class="col-md-1">
</div></xsl:otherwise></xsl:choose> <span class="label label-success">
<div class="col-md-5">
<xsl:value-of select="replace(replace(ancestor::wadl:resource/@path, '\}','}&#8203;'), '\{','&#8203;{')"/>
<xsl:for-each
select="wadl:request//wadl:param[@style = 'query']|parent::wadl:resource/wadl:param[@style = 'query']">
<xsl:text>&#x200b;</xsl:text>
<xsl:if test="position() = 1">{?</xsl:if>
<xsl:value-of select="@name"/> <xsl:value-of select="@name"/>
<xsl:if test="@repeating = 'true'">*</xsl:if> </span>
<xsl:choose> </div>
<xsl:when test="not(position() = last())" </xsl:otherwise>
>,</xsl:when>
<xsl:otherwise>}</xsl:otherwise>
</xsl:choose> </xsl:choose>
</xsl:for-each> <div class="col-md-5">
<xsl:value-of
select="replace(replace(ancestor::wadl:resource/@path, '\}','}&#8203;'), '\{','&#8203;{')"
/>
</div> </div>
<div class="col-md-5"> <div class="col-md-5">
<xsl:choose> <xsl:choose>
<xsl:when test="wadl:doc//d:*[@role = 'shortdesc'] or wadl:doc//xhtml:*[@class = 'shortdesc']"> <xsl:when
<xsl:apply-templates select=" test="wadl:doc//d:*[@role = 'shortdesc'] or wadl:doc//xhtml:*[@class = 'shortdesc']">
<xsl:apply-templates
select="
wadl:doc/xhtml:p[@class='shortdesc']| wadl:doc/xhtml:p[@class='shortdesc']|
wadl:doc/d:para[@role = 'shortdesc']| wadl:doc/d:para[@role = 'shortdesc']|
wadl:doc//xhtml:span[@class='shortdesc']| wadl:doc//xhtml:span[@class='shortdesc']|
wadl:doc//d:phrase[@role = 'shortdesc'] wadl:doc//d:phrase[@role = 'shortdesc']
"/> "
/>
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>
<xsl:apply-templates select=" <xsl:apply-templates
select="
wadl:doc/xhtml:*| wadl:doc/xhtml:*|
wadl:doc/d:*| wadl:doc/d:*|
wadl:doc/text() wadl:doc/text()
"/> "
/>
</xsl:otherwise> </xsl:otherwise>
</xsl:choose>&#160; </xsl:choose>&#160; </div>
</div>
<div class="col-md-1"> <div class="col-md-1">
<button class="btn btn-info btn-sm btn-detail" id="detail-{$id}-btn" data-toggle="collapse" data-target="#detail-{$id}">detail</button> <button class="btn btn-info btn-sm btn-detail"
id="detail-{$id}-btn" data-toggle="collapse"
data-target="#detail-{$id}">detail</button>
</div> </div>
</div> </div>
<div class="row collapse api-detail" id="detail-{$id}"> <div class="row collapse api-detail" id="detail-{$id}">
<div class="col-md-12"> <div class="col-md-12">
<div> <div>
<!-- Description of method --> <!-- Description of method -->
<xsl:if test="wadl:doc//d:*[@role = 'shortdesc'] or wadl:doc//xhtml:*[@class='shortdesc']"> <xsl:if
test="wadl:doc//d:*[@role = 'shortdesc'] or wadl:doc//xhtml:*[@class='shortdesc']">
<xsl:apply-templates <xsl:apply-templates
select="wadl:doc/d:*[not(@role = 'shortdesc')]|wadl:doc/xhtml:*[not(@role = 'shortdesc')]"/> select="wadl:doc/d:*[not(@role = 'shortdesc')]|wadl:doc/xhtml:*[not(@role = 'shortdesc')]"
/>
</xsl:if> </xsl:if>
</div> </div>
<!-- process response codes --> <!-- process response codes -->
@@ -458,11 +719,11 @@
<!-- Don't output if there are no status codes --> <!-- Don't output if there are no status codes -->
<div class="row"> <div class="row">
<div class="col-md-3"> <div class="col-md-3">
<b>Normal Response Codes</b> <b>Normal response codes</b>
</div> </div>
<div class="col-md-9"> <div class="col-md-9">
<xsl:apply-templates <xsl:apply-templates select="wadl:response"
select="wadl:response" mode="preprocess-normal"/> mode="preprocess-normal"/>
</div> </div>
</div> </div>
</xsl:if> </xsl:if>
@@ -470,7 +731,7 @@
test="wadl:response[not(starts-with(normalize-space(@status),'2') or starts-with(normalize-space(@status),'3'))]"> test="wadl:response[not(starts-with(normalize-space(@status),'2') or starts-with(normalize-space(@status),'3'))]">
<div class="row"> <div class="row">
<div class="col-md-3"> <div class="col-md-3">
<b>Error Response Codes</b> <b>Error response codes</b>
</div> </div>
<div class="col-md-9"> <div class="col-md-9">
<xsl:apply-templates <xsl:apply-templates
@@ -484,7 +745,8 @@
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
<!-- Don't output if there are no params --> <!-- Don't output if there are no params -->
<xsl:if test="./wadl:request//wadl:param or parent::wadl:resource/wadl:param"> <xsl:if
test="./wadl:request//wadl:param or parent::wadl:resource/wadl:param">
<b>Request parameters</b> <b>Request parameters</b>
<table class="table table-bordered table-striped"> <table class="table table-bordered table-striped">
<thead> <thead>
@@ -496,7 +758,8 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<xsl:apply-templates select="./wadl:request//wadl:param|parent::wadl:resource/wadl:param" <xsl:apply-templates
select="./wadl:request//wadl:param|parent::wadl:resource/wadl:param"
mode="param2tr"> mode="param2tr">
<!-- Add templates to handle wadl:params --> <!-- Add templates to handle wadl:params -->
<xsl:with-param name="id" select="$id"/> <xsl:with-param name="id" select="$id"/>
@@ -517,7 +780,9 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<xsl:apply-templates select="./wadl:response//wadl:param" mode="param2tr"> <xsl:apply-templates
select="./wadl:response//wadl:param"
mode="param2tr">
<!-- Add templates to handle wadl:params --> <!-- Add templates to handle wadl:params -->
<xsl:with-param name="id" select="$id"/> <xsl:with-param name="id" select="$id"/>
</xsl:apply-templates> </xsl:apply-templates>
@@ -534,24 +799,31 @@
<div class="row"> <div class="row">
<div class="col-md-3"> <div class="col-md-3">
<select class="example-select form-control"> <select class="example-select form-control">
<option data-target="#req-json-{$id}" value="json" selected="selected">JSON Request</option> <option data-target="#req-json-{$id}" value="json"
<option data-target="#req-xml-{$id}" value="xml">XML Request</option> selected="selected">JSON Request</option>
<option data-target="#req-xml-{$id}" value="xml"
>XML Request</option>
</select> </select>
</div> </div>
</div> </div>
<div class="tab-content"> <div class="tab-content">
<div class="tab-pane example active" id="req-json-{$id}"> <div class="tab-pane example active"
id="req-json-{$id}">
<xsl:apply-templates <xsl:apply-templates
select="wadl:request/wadl:representation[ends-with(@mediaType,'/json') ]/wadl:doc//xsdxt:code"/> select="wadl:request/wadl:representation[ends-with(@mediaType,'/json') ]/wadl:doc//xsdxt:code"
/>
</div> </div>
<div class="tab-pane example" id="req-xml-{$id}"> <div class="tab-pane example" id="req-xml-{$id}">
<xsl:apply-templates <xsl:apply-templates
select="wadl:request/wadl:representation[ends-with(@mediaType,'/xml') ]/wadl:doc//xsdxt:code"/> select="wadl:request/wadl:representation[ends-with(@mediaType,'/xml') ]/wadl:doc//xsdxt:code"
/>
</div> </div>
</div> </div>
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>
<xsl:apply-templates select="wadl:request/wadl:representation/wadl:doc//xsdxt:code"/> <xsl:apply-templates
select="wadl:request/wadl:representation/wadl:doc//xsdxt:code"
/>
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
<xsl:choose> <xsl:choose>
@@ -561,24 +833,32 @@
<div class="row"> <div class="row">
<div class="col-md-3"> <div class="col-md-3">
<select class="example-select form-control"> <select class="example-select form-control">
<option data-target="#resp-json-{$id}" value="json" selected="selected">JSON Response</option> <option data-target="#resp-json-{$id}"
<option data-target="#resp-xml-{$id}" value="xml">XML Response</option> value="json" selected="selected">JSON
Response</option>
<option data-target="#resp-xml-{$id}" value="xml"
>XML Response</option>
</select> </select>
</div> </div>
</div> </div>
<div class="tab-content"> <div class="tab-content">
<div class="tab-pane example active" id="resp-json-{$id}"> <div class="tab-pane example active"
id="resp-json-{$id}">
<xsl:apply-templates <xsl:apply-templates
select="wadl:response/wadl:representation[ends-with(@mediaType,'/json') ]/wadl:doc//xsdxt:code"/> select="wadl:response/wadl:representation[ends-with(@mediaType,'/json') ]/wadl:doc//xsdxt:code"
/>
</div> </div>
<div class="tab-pane example" id="resp-xml-{$id}"> <div class="tab-pane example" id="resp-xml-{$id}">
<xsl:apply-templates <xsl:apply-templates
select="wadl:response/wadl:representation[ends-with(@mediaType,'/xml') ]/wadl:doc//xsdxt:code"/> select="wadl:response/wadl:representation[ends-with(@mediaType,'/xml') ]/wadl:doc//xsdxt:code"
/>
</div> </div>
</div> </div>
</xsl:when> </xsl:when>
<xsl:otherwise> <xsl:otherwise>
<xsl:apply-templates select="wadl:response/wadl:representation/wadl:doc//xsdxt:code"/> <xsl:apply-templates
select="wadl:response/wadl:representation/wadl:doc//xsdxt:code"
/>
</xsl:otherwise> </xsl:otherwise>
</xsl:choose> </xsl:choose>
<!-- we allow no response text and we don't have a 200 level response with a representation --> <!-- we allow no response text and we don't have a 200 level response with a representation -->
@@ -590,31 +870,40 @@
<xsl:when test="not(wadl:request)"> <xsl:when test="not(wadl:request)">
<xsl:copy-of select="$wadl.norequest.msg"/> <xsl:copy-of select="$wadl.norequest.msg"/>
</xsl:when> </xsl:when>
<xsl:when test="not(wadl:response[starts-with(normalize-space(@status),'2')]/wadl:representation)"> <xsl:when
test="not(wadl:response[starts-with(normalize-space(@status),'2')]/wadl:representation)">
<xsl:copy-of select="$wadl.noresponse.msg"/> <xsl:copy-of select="$wadl.noresponse.msg"/>
</xsl:when> </xsl:when>
</xsl:choose> </xsl:choose>
</div> </div>
</div> </div>
</div> </div>
<xsl:text></xsl:text> <xsl:text/>
</xsl:template> </xsl:template>
<xsl:template match="wadl:doc|wadl:resource|wadl:link"> <xsl:template match="wadl:doc|wadl:resource|wadl:link">
<xsl:apply-templates/> <xsl:apply-templates/>
</xsl:template> </xsl:template>
<xsl:template match="wadl:doc[parent::wadl:resource]"/> <xsl:template match="wadl:doc[parent::wadl:resource]"/>
<xsl:template match="d:para"> <xsl:template match="d:para">
<p><xsl:apply-templates/></p> <p>
<xsl:apply-templates/>
</p>
</xsl:template> </xsl:template>
<xsl:template match="d:link" xmlns:xlink="http://www.w3.org/1999/xlink"> <xsl:template match="d:link"
<a href="{@xlink:href}"><xsl:apply-templates/></a> xmlns:xlink="http://www.w3.org/1999/xlink">
<a href="{@xlink:href}">
<xsl:apply-templates/>
</a>
</xsl:template> </xsl:template>
<xsl:template match="d:programlisting"> <xsl:template match="d:programlisting">
<pre><xsl:apply-templates/></pre> <pre><xsl:apply-templates/></pre>
</xsl:template> </xsl:template>
<xsl:template match="d:title[parent::d:chapter or parent::d:section or parent::d:book]|d:info|wadl:param"/> <xsl:template
match="d:title[parent::d:chapter or parent::d:section or parent::d:book]|d:info|wadl:param"/>
<xsl:template match="d:example/d:title"> <xsl:template match="d:example/d:title">
<b><xsl:apply-templates/></b> <b>
<xsl:apply-templates/>
</b>
</xsl:template> </xsl:template>
<xsl:template match="d:example|xsdxt:code"> <xsl:template match="d:example|xsdxt:code">
<div class="example"> <div class="example">
@@ -638,40 +927,36 @@
</xsl:template> </xsl:template>
<xsl:template match="wadl:param" mode="param2tr"> <xsl:template match="wadl:param" mode="param2tr">
<tr> <tr>
<td><xsl:value-of select="@name"/><xsl:if test="not(@required = 'true') and not(@style = 'template') and not(@style = 'matrix')"> (Optional)</xsl:if></td> <td>
<td><xsl:value-of select="if(@style = 'template') then 'URI' else @style"/></td> <xsl:value-of select="@name"/>
<td><xsl:value-of select="if(not(@type) or @type = '') then 'String' else @type"/></td> <xsl:if
<td><xsl:apply-templates select="./wadl:doc/*|./wadl:doc/text()"/></td> test="not(@required = 'true') and not(@style = 'template') and not(@style = 'matrix')"
> (Optional)</xsl:if>
</td>
<td>
<xsl:value-of
select="if(@style = 'template') then 'URI' else @style"/>
</td>
<td>
<xsl:value-of
select="if(not(@type) or @type = '') then 'String' else @type"
/>
</td>
<td>
<xsl:apply-templates select="./wadl:doc/*|./wadl:doc/text()"/>
</td>
</tr> </tr>
</xsl:template> </xsl:template>
<xsl:template match="d:code"><code><xsl:apply-templates/></code></xsl:template> <xsl:template match="d:code">
<code>
<xsl:apply-templates/>
</code>
</xsl:template>
<xsl:template match="d:*"> <xsl:template match="d:*">
<xsl:copy> <xsl:copy>
<xsl:apply-templates select="@*|node()"/> <xsl:apply-templates select="@*|node()"/>
</xsl:copy> </xsl:copy>
</xsl:template> </xsl:template>
<!--<xsl:template name="trimUri">
<!-\- Trims elements -\->
<xsl:param name="trimCount"/>
<xsl:param name="uri"/>
<xsl:param name="i">0</xsl:param>
<xsl:choose>
<xsl:when test="$i &lt; $trimCount and contains($uri,'/')">
<xsl:call-template name="trimUri">
<xsl:with-param name="i" select="$i + 1"/>
<xsl:with-param name="trimCount">
<xsl:value-of select="$trimCount"/>
</xsl:with-param>
<xsl:with-param name="uri">
<xsl:value-of select="substring-after($uri,'/')"/>
</xsl:with-param>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="concat('/',$uri)"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>-->
<xsl:template name="trimUri"> <xsl:template name="trimUri">
<!-- Trims elements --> <!-- Trims elements -->
<xsl:param name="trimCount"/> <xsl:param name="trimCount"/>
@@ -726,7 +1011,8 @@
</xsl:variable> </xsl:variable>
<xsl:value-of <xsl:value-of
select="substring-after((wadl:representation/@element)[1],':')" select="substring-after((wadl:representation/@element)[1],':')"
/> (<xsl:value-of select="normalize-space($statusCodes)"/>)</xsl:when> /> (<xsl:value-of select="normalize-space($statusCodes)"
/>)</xsl:when>
<xsl:otherwise> <xsl:otherwise>
<xsl:call-template name="statusCodeList"> <xsl:call-template name="statusCodeList">
<xsl:with-param name="codes" select="$codes"/> <xsl:with-param name="codes" select="$codes"/>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="148.01px" height="152.42px" viewBox="0 0 148.01 152.42" enable-background="new 0 0 148.01 152.42" xml:space="preserve">
<g>
<path fill="#FFFFFF" d="M76.856,41.274c-2.898,6.115-1.747,11.134,2.581,11.213c4.329,0.075,10.193-4.815,13.089-10.927
c2.904-6.118,1.751-11.141-2.578-11.22C85.62,30.269,79.759,35.163,76.856,41.274z M112.124,19.195
c0.036,0.015,0.059,0.054,0.059,0.093c0,0.014-0.002,0.025-0.005,0.032c-2.587,7.328-6.878,15.67-11.131,21.996
c-8.959,13.301-21.819,21.689-28.718,18.728c-6.895-2.953-5.236-16.136,3.731-29.443c2.019-2.986,4.232-5.721,6.523-8.141
c0.016-0.018,0.029-0.043,0.029-0.072c0-0.054-0.047-0.1-0.102-0.1c0,0-0.011,0-0.012,0.004c-2.818,0.39-5.673,0.945-8.553,1.672
c-0.02,0.004-0.041,0.018-0.056,0.036C43.621,61.115,30.74,109.319,32.512,152.32l0,0c0,0.058-0.043,0.1-0.1,0.1
c-0.013,0-0.027,0-0.038-0.004c-17.844-7.192-30.884-24.427-32.241-46.248l-0.018-0.251c-2.25-38.827,28.704-78.599,69.149-88.834
C84.938,13.113,99.746,14.158,112.124,19.195z"/>
<path fill="#FFFFFF" d="M100.682,123.911c-2.941,2.041-6.009,3.927-9.176,5.628c-0.014,0.004-0.032,0.011-0.047,0.011
c-0.054,0-0.1-0.043-0.104-0.097c-0.591-9.322-2.599-18.352-6.072-25.866c-9.258-20.06-25.444-21.603-36.136-3.444
c-6.543,11.113-9.522,27.037-8.716,42.325c0,0.043,0.03,0.079,0.07,0.09c11.345,3.555,24.413,3.945,38.356,0.426
c40.39-10.29,71.281-50.019,69.038-88.806c-1.98-34.072-28.858-56.087-62.742-54.046c-0.023,0-0.048,0.011-0.063,0.029
c-3.295,3.333-6.38,6.698-9.274,10.096c-0.014,0.018-0.023,0.043-0.023,0.064c0,0.058,0.047,0.104,0.1,0.104
c0,0,0.007,0,0.014-0.004c19.855-2.513,35.769,1.521,46.157,9.795c0.022,0.018,0.034,0.047,0.034,0.078
c0,0.018-0.004,0.04-0.012,0.054c-35.782,50.437-31.353,79.175-21.37,103.441c0.006,0.011,0.009,0.022,0.009,0.036
C100.725,123.861,100.707,123.893,100.682,123.911z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -0,0 +1,9 @@
if(window.location.protocol.substring(0,4) == 'http'){
var disqus_url = window.location.toString().replace(/http\:\/\/docs\.rackspace(cloud)?\.com\//,"http://docs.rackspace.com/");
var disqus_title = document.title;
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
}

18
src/main/resources/common/jquery/ga.js vendored Normal file
View File

@@ -0,0 +1,18 @@
_gaq.push(['_trackPageview']);
var disqus_config = function ()
{
var config = this;
config.callbacks.onNewComment.push (function ()
{
_gaq.push (['_trackEvent', 'Disqus', 'Comment', 'null', 1]);
});
};
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

View File

@@ -0,0 +1,228 @@
/**
* Miscellaneous js functions for WebHelp
* Kasun Gajasinghe, http://kasunbg.blogspot.com
* David Cramer, http://www.thingbag.net
*
*/
$(document).ready(function() {
// When you click on a link to an anchor, scroll down
// 105 px to cope with the fact that the banner
// hides the top 95px or so of the page.
// This code deals with the problem when
// you click on a link within a page.
$('a[href*=#]').click(function() {
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'')
&& location.hostname == this.hostname) {
var $target = $(this.hash);
$target = $target.length && $target
|| $('[name=' + this.hash.slice(1) +']');
if (!(this.hash == "#searchDiv" || this.hash == "#treeDiv" || this.hash == "") && $target.length) {
var targetOffset = $target.offset().top - 140;
$('html,body')
.animate({scrollTop: targetOffset}, 200);
return false;
}
}
});
// $("#showHideHighlight").button(); //add jquery button styling to 'Go' button
//Generate tabs in nav-pane with JQuery
$(function() {
$("#tabs").tabs({
cookie: {
// store cookie for 2 days.
expires: 2
}
});
});
//Generate the tree
$("#ulTreeDiv").attr("style","");
$("#tree").treeview({
collapsed: true,
animated: "medium",
control: "#sidetreecontrol",
persist: "cookie"
});
//after toc fully styled, display it. Until loading, a 'loading' image will be displayed
$("#tocLoading").attr("style","display:none;");
// $("#ulTreeDiv").attr("style","display:block;");
//.searchButton is the css class applied to 'Go' button
$(function() {
$("button", ".searchButton").button();
$("button", ".searchButton").click(function() { return false; });
});
//'ui-tabs-1' is the cookie name which is used for the persistence of the tabs.(Content/Search tab)
if ($.cookie('ui-tabs-1') === '1') { //search tab is visible
if ($.cookie('textToSearch') != undefined && $.cookie('textToSearch').length > 0) {
document.getElementById('textToSearch').value = $.cookie('textToSearch');
Effectuer_recherche($.cookie('textToSearch'));
searchHighlight($.cookie('textToSearch'));
$("#showHideHighlight").css("display","block");
}
}
syncToc(); //Synchronize the toc tree with the content pane, when loading the page.
//$("#doSearch").button(); //add jquery button styling to 'Go' button
// When you click on a link to an anchor, scroll down
// 105 px to cope with the fact that the banner
// hides the top 95px or so of the page.
// This code deals with the problem when
// you click on a link from another page.
var hash = window.location.hash.replace(/[\(\)\<\>\"\'\=]/g,'');
if(hash){
var targetOffset = $(hash).offset().top - 140;
$('html,body').animate({scrollTop: targetOffset}, 200);
return false;
}
$('.gloss').each(function() {
$(this).qtip({
content: {
attr: 'def'
},
position: {
target: 'mouse',
adjust: { x: 5, y: 5 }
}
});
});
});
/**
* Synchronize with the tableOfContents
*/
function syncToc(){
var a = document.getElementById("webhelp-currentid");
if (a != undefined) {
var b = a.getElementsByTagName("a")[0];
if (b != undefined) {
//Setting the background for selected node.
var style = a.getAttribute("style", 2);
if (style != null && !style.match(/background-color: Background;/)) {
a.setAttribute("style", "background-color: #DEE9E9; " + style);
b.setAttribute("style", "color: black;");
} else if (style != null) {
a.setAttribute("style", "background-color: #DEE9E9; " + style);
b.setAttribute("style", "color: black;");
} else {
a.setAttribute("style", "background-color: #DEE9E9; ");
b.setAttribute("style", "color: black;");
}
}
//shows the node related to current content.
//goes a recursive call from current node to ancestor nodes, displaying all of them.
while (a.parentNode && a.parentNode.nodeName) {
var parentNode = a.parentNode;
var nodeName = parentNode.nodeName;
if (nodeName.toLowerCase() == "ul") {
parentNode.setAttribute("style", "display: block;");
} else if (nodeName.toLocaleLowerCase() == "li") {
parentNode.setAttribute("class", "collapsable");
parentNode.firstChild.setAttribute("class", "hitarea collapsable-hitarea ");
}
a = parentNode;
}
}
}
/**
* Code for Show/Hide TOC
*
*/
function showHideToc() {
var showHideButton = $("#showHideButton");
var leftNavigation = $("#leftnavigation");
var content = $("#content");
if (showHideButton != undefined && showHideButton.hasClass("pointLeft")) {
//Hide TOC
showHideButton.removeClass('pointLeft').addClass('pointRight');
content.css("margin", "125px 0 0 0");
leftNavigation.css("display","none");
showHideButton.attr("title", "Show the TOC tree");
$("body").addClass("sidebar");
} else {
//Show the TOC
showHideButton.removeClass('pointRight').addClass('pointLeft');
content.css("margin", "125px 0 0 280px");
leftNavigation.css("display","block");
showHideButton.attr("title", "Hide the TOC Tree");
$("body").removeClass("sidebar");
}
}
/**
* Code for search highlighting
*/
var highlightOn = true;
function searchHighlight(searchText) {
highlightOn = true;
if (searchText != undefined) {
var wList;
var sList = new Array(); //stem list
//Highlight the search terms
searchText = searchText.toLowerCase().replace(/<\//g, "_st_").replace(/\$_/g, "_di_").replace(/\.|%2C|%3B|%21|%3A|@|\/|\*/g, " ").replace(/(%20)+/g, " ").replace(/_st_/g, "</").replace(/_di_/g, "%24_")
searchText = searchText.replace(/ +/g, " ");
searchText = searchText.replace(/ $/, "").replace(/^ /, "");
wList = searchText.split(" ");
$("#content").highlight(wList); //Highlight the search input
if(typeof stemmer != "undefined" ){
//Highlight the stems
for (var i = 0; i < wList.length; i++) {
var stemW = stemmer(wList[i]);
sList.push(stemW);
}
} else {
sList = wList;
}
$("#content").highlight(sList); //Highlight the search input's all stems
}
}
function searchUnhighlight(){
highlightOn = false;
//unhighlight the search input's all stems
$("#content").unhighlight();
$("#content").unhighlight();
}
function toggleHighlight(){
if(highlightOn) {
searchUnhighlight();
} else {
searchHighlight($.cookie('textToSearch'));
}
}
/*
CSS Browser Selector v0.4.0 (Nov 02, 2010)
Rafael Lima (http://rafael.adm.br)
http://rafael.adm.br/css_browser_selector
License: http://creativecommons.org/licenses/by/2.5/
Contributors: http://rafael.adm.br/css_browser_selector#contributors
*/
function css_browser_selector(u){var ua=u.toLowerCase(),is=function(t){return ua.indexOf(t)>-1},g='gecko',w='webkit',s='safari',o='opera',m='mobile',h=document.documentElement,b=[(!(/opera|webtv/i.test(ua))&&/msie\s(\d)/.test(ua))?('ie ie'+RegExp.$1):is('firefox/2')?g+' ff2':is('firefox/3.5')?g+' ff3 ff3_5':is('firefox/3.6')?g+' ff3 ff3_6':is('firefox/3')?g+' ff3':is('gecko/')?g:is('opera')?o+(/version\/(\d+)/.test(ua)?' '+o+RegExp.$1:(/opera(\s|\/)(\d+)/.test(ua)?' '+o+RegExp.$2:'')):is('konqueror')?'konqueror':is('blackberry')?m+' blackberry':is('android')?m+' android':is('chrome')?w+' chrome':is('iron')?w+' iron':is('applewebkit/')?w+' '+s+(/version\/(\d+)/.test(ua)?' '+s+RegExp.$1:''):is('mozilla/')?g:'',is('j2me')?m+' j2me':is('iphone')?m+' iphone':is('ipod')?m+' ipod':is('ipad')?m+' ipad':is('mac')?'mac':is('darwin')?'mac':is('webtv')?'webtv':is('win')?'win'+(is('windows nt 6.0')?' vista':''):is('freebsd')?'freebsd':(is('x11')||is('linux'))?'linux':'','js']; c = b.join(' '); h.className += ' '+c; return c;}; css_browser_selector(navigator.userAgent);
/* End CSS Browser Selector code */
function logABug(bugTitle, fieldComment){
var urlBase = "https://bugs.launchpad.net/openstack-manuals/+filebug?field.title="
var bugLink = urlBase + encodeURIComponent(bugTitle) + "&field.comment=" + lineFeed + lineFeed + "-----------------------------------" + lineFeed + fieldComment;
document.getElementById("logABugLink1").href=bugLink;
document.getElementById("logABugLink2").href=bugLink;
}

View File

@@ -0,0 +1,150 @@
/**
* Miscellaneous js functions for WebHelp
*/
$(document).ready(function() {
//Generate the tree
$("#ulTreeDiv").attr("style","");
$("#tree").treeview({
collapsed: true,
animated: "medium",
control: "#sidetreecontrol",
persist: "cookie"
});
//after toc fully styled, display it. Until loading, a 'loading' image will be displayed
$("#tocLoading").attr("style","display:none;");
var sidebarState = readCookie("webhelp-sidebar");
if(sidebarState == "showing" || sidebarState == "hidden") {
showHideToc(sidebarState);
}else{
showHideToc("showing");
}
syncToc(); //Synchronize the toc tree with the content pane, when loading the page.
$('.gloss').each(function() {
$(this).qtip({
content: {
attr: 'def'
},
position: {
target: 'mouse',
adjust: { x: 5, y: 5 }
}
});
});
});
/**
* Synchronize with the tableOfContents
*/
function syncToc(){
var a = document.getElementById("webhelp-currentid");
if (a != undefined) {
var b = a.getElementsByTagName("a")[0];
if (b != undefined) {
//Setting the background for selected node.
var style = a.getAttribute("style", 2);
if (style != null && !style.match(/background-color: Background;/)) {
a.setAttribute("style", "background-color: #D8D8D8; " + style);
b.setAttribute("style", "color: black;");
} else if (style != null) {
a.setAttribute("style", "background-color: #D8D8D8; " + style);
b.setAttribute("style", "color: black;");
} else {
a.setAttribute("style", "background-color: #D8D8D8; ");
b.setAttribute("style", "color: black;");
}
}
//shows the node related to current content.
//goes a recursive call from current node to ancestor nodes, displaying all of them.
while (a.parentNode && a.parentNode.nodeName) {
var parentNode = a.parentNode;
var nodeName = parentNode.nodeName;
if (nodeName.toLowerCase() == "ul") {
parentNode.setAttribute("style", "display: block;");
} else if (nodeName.toLocaleLowerCase() == "li") {
parentNode.setAttribute("class", "collapsable");
parentNode.firstChild.setAttribute("class", "hitarea collapsable-hitarea ");
}
a = parentNode;
}
}
}
/**
* Code for Show/Hide TOC
*
*/
function showHideToc(state) {
var showHideButton = $("#showHideButton");
var leftNavigation = $("#rax-leftnavigation");
var content = $("#content");
if (state != "showing" && showHideButton != undefined && showHideButton.hasClass("pointLeft")) {
//Hide TOC
showHideButton.removeClass('pointLeft').addClass('pointRight');
content.css("margin", "0 0 0 0");
leftNavigation.css("display","none");
showHideButton.attr("title", "Show the TOC tree");
content.css("padding-left","0px");
$("body").addClass("sidebar");
eraseCookie("webhelp-sidebar");
createCookie("webhelp-sidebar","hidden",365);
} else {
//Show the TOC
showHideButton.removeClass('pointRight').addClass('pointLeft');
content.css("margin", "0 0 0 250px");
content.css("padding-left","40px");
leftNavigation.css("display","block");
showHideButton.attr("title", "Hide the TOC Tree");
$("body").removeClass("sidebar");
eraseCookie("webhelp-sidebar");
createCookie("webhelp-sidebar","showing",365);
}
}
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function eraseCookie(name) {
createCookie(name,"",-1);
}
/*
CSS Browser Selector v0.4.0 (Nov 02, 2010)
Rafael Lima (http://rafael.adm.br)
http://rafael.adm.br/css_browser_selector
License: http://creativecommons.org/licenses/by/2.5/
Contributors: http://rafael.adm.br/css_browser_selector#contributors
*/
// function css_browser_selector(u){var ua=u.toLowerCase(),is=function(t){return ua.indexOf(t)>-1},g='gecko',w='webkit',s='safari',o='opera',m='mobile',h=document.documentElement,b=[(!(/opera|webtv/i.test(ua))&&/msie\s(\d)/.test(ua))?('ie ie'+RegExp.$1):is('firefox/2')?g+' ff2':is('firefox/3.5')?g+' ff3 ff3_5':is('firefox/3.6')?g+' ff3 ff3_6':is('firefox/3')?g+' ff3':is('gecko/')?g:is('opera')?o+(/version\/(\d+)/.test(ua)?' '+o+RegExp.$1:(/opera(\s|\/)(\d+)/.test(ua)?' '+o+RegExp.$2:'')):is('konqueror')?'konqueror':is('blackberry')?m+' blackberry':is('android')?m+' android':is('chrome')?w+' chrome':is('iron')?w+' iron':is('applewebkit/')?w+' '+s+(/version\/(\d+)/.test(ua)?' '+s+RegExp.$1:''):is('mozilla/')?g:'',is('j2me')?m+' j2me':is('iphone')?m+' iphone':is('ipod')?m+' ipod':is('ipad')?m+' ipad':is('mac')?'mac':is('darwin')?'mac':is('webtv')?'webtv':is('win')?'win'+(is('windows nt 6.0')?' vista':''):is('freebsd')?'freebsd':(is('x11')||is('linux'))?'linux':'','js']; c = b.join(' '); h.className += ' '+c; return c;}; css_browser_selector(navigator.userAgent);
/* End CSS Browser Selector code */

View File

@@ -0,0 +1,150 @@
/**
* Miscellaneous js functions for WebHelp
*/
$(document).ready(function() {
//Generate the tree
$("#ulTreeDiv").attr("style","");
$("#tree").treeview({
collapsed: true,
animated: "medium",
control: "#sidetreecontrol",
persist: "cookie"
});
//after toc fully styled, display it. Until loading, a 'loading' image will be displayed
$("#tocLoading").attr("style","display:none;");
var sidebarState = readCookie("webhelp-sidebar");
if(sidebarState == "showing" || sidebarState == "hidden") {
showHideToc(sidebarState);
}else{
showHideToc("showing");
}
syncToc(); //Synchronize the toc tree with the content pane, when loading the page.
$('.gloss').each(function() {
$(this).qtip({
content: {
attr: 'def'
},
position: {
target: 'mouse',
adjust: { x: 5, y: 5 }
}
});
});
});
/**
* Synchronize with the tableOfContents
*/
function syncToc(){
var a = document.getElementById("webhelp-currentid");
if (a != undefined) {
var b = a.getElementsByTagName("a")[0];
if (b != undefined) {
//Setting the background for selected node.
var style = a.getAttribute("style", 2);
if (style != null && !style.match(/background-color: Background;/)) {
a.setAttribute("style", "background-color: #D8D8D8; " + style);
b.setAttribute("style", "color: black;");
} else if (style != null) {
a.setAttribute("style", "background-color: #D8D8D8; " + style);
b.setAttribute("style", "color: black;");
} else {
a.setAttribute("style", "background-color: #D8D8D8; ");
b.setAttribute("style", "color: black;");
}
}
//shows the node related to current content.
//goes a recursive call from current node to ancestor nodes, displaying all of them.
while (a.parentNode && a.parentNode.nodeName) {
var parentNode = a.parentNode;
var nodeName = parentNode.nodeName;
if (nodeName.toLowerCase() == "ul") {
parentNode.setAttribute("style", "display: block;");
} else if (nodeName.toLocaleLowerCase() == "li") {
parentNode.setAttribute("class", "collapsable");
parentNode.firstChild.setAttribute("class", "hitarea collapsable-hitarea ");
}
a = parentNode;
}
}
}
/**
* Code for Show/Hide TOC
*
*/
function showHideToc(state) {
var showHideButton = $("#showHideButton");
var leftNavigation = $("#rax-leftnavigation");
var content = $("#content");
if (state != "showing" && showHideButton != undefined && showHideButton.hasClass("pointLeft")) {
//Hide TOC
showHideButton.removeClass('pointLeft').addClass('pointRight');
content.css("margin", "0 0 0 0");
leftNavigation.css("display","none");
showHideButton.attr("title", "Show the TOC tree");
content.css("padding-left","0px");
$("body").addClass("sidebar");
eraseCookie("webhelp-sidebar");
createCookie("webhelp-sidebar","hidden",365);
} else {
//Show the TOC
showHideButton.removeClass('pointRight').addClass('pointLeft');
content.css("margin", "0 0 0 250px");
content.css("padding-left","40px");
leftNavigation.css("display","block");
showHideButton.attr("title", "Hide the TOC Tree");
$("body").removeClass("sidebar");
eraseCookie("webhelp-sidebar");
createCookie("webhelp-sidebar","showing",365);
}
}
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function eraseCookie(name) {
createCookie(name,"",-1);
}
/*
CSS Browser Selector v0.4.0 (Nov 02, 2010)
Rafael Lima (http://rafael.adm.br)
http://rafael.adm.br/css_browser_selector
License: http://creativecommons.org/licenses/by/2.5/
Contributors: http://rafael.adm.br/css_browser_selector#contributors
*/
// function css_browser_selector(u){var ua=u.toLowerCase(),is=function(t){return ua.indexOf(t)>-1},g='gecko',w='webkit',s='safari',o='opera',m='mobile',h=document.documentElement,b=[(!(/opera|webtv/i.test(ua))&&/msie\s(\d)/.test(ua))?('ie ie'+RegExp.$1):is('firefox/2')?g+' ff2':is('firefox/3.5')?g+' ff3 ff3_5':is('firefox/3.6')?g+' ff3 ff3_6':is('firefox/3')?g+' ff3':is('gecko/')?g:is('opera')?o+(/version\/(\d+)/.test(ua)?' '+o+RegExp.$1:(/opera(\s|\/)(\d+)/.test(ua)?' '+o+RegExp.$2:'')):is('konqueror')?'konqueror':is('blackberry')?m+' blackberry':is('android')?m+' android':is('chrome')?w+' chrome':is('iron')?w+' iron':is('applewebkit/')?w+' '+s+(/version\/(\d+)/.test(ua)?' '+s+RegExp.$1:''):is('mozilla/')?g:'',is('j2me')?m+' j2me':is('iphone')?m+' iphone':is('ipod')?m+' ipod':is('ipad')?m+' ipad':is('mac')?'mac':is('darwin')?'mac':is('webtv')?'webtv':is('win')?'win'+(is('windows nt 6.0')?' vista':''):is('freebsd')?'freebsd':(is('x11')||is('linux'))?'linux':'','js']; c = b.join(' '); h.className += ' '+c; return c;}; css_browser_selector(navigator.userAgent);
/* End CSS Browser Selector code */

View File

@@ -0,0 +1,221 @@
/**
* Miscellaneous js functions for WebHelp
* Kasun Gajasinghe, http://kasunbg.blogspot.com
* David Cramer, http://www.thingbag.net
*
*/
$(document).ready(function() {
// When you click on a link to an anchor, scroll down
// 105 px to cope with the fact that the banner
// hides the top 95px or so of the page.
// This code deals with the problem when
// you click on a link within a page.
$('a[href*=#]').click(function() {
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'')
&& location.hostname == this.hostname) {
var $target = $(this.hash);
$target = $target.length && $target
|| $('[name=' + this.hash.slice(1) +']');
if (!(this.hash == "#searchDiv" || this.hash == "#treeDiv" || this.hash == "") && $target.length) {
var targetOffset = $target.offset().top - 140;
$('html,body')
.animate({scrollTop: targetOffset}, 200);
return false;
}
}
});
// $("#showHideHighlight").button(); //add jquery button styling to 'Go' button
//Generate tabs in nav-pane with JQuery
$(function() {
$("#tabs").tabs({
cookie: {
// store cookie for 2 days.
expires: 2
}
});
});
//Generate the tree
$("#ulTreeDiv").attr("style","");
$("#tree").treeview({
collapsed: true,
animated: "medium",
control: "#sidetreecontrol",
persist: "cookie"
});
//after toc fully styled, display it. Until loading, a 'loading' image will be displayed
$("#tocLoading").attr("style","display:none;");
// $("#ulTreeDiv").attr("style","display:block;");
//.searchButton is the css class applied to 'Go' button
$(function() {
$("button", ".searchButton").button();
$("button", ".searchButton").click(function() { return false; });
});
//'ui-tabs-1' is the cookie name which is used for the persistence of the tabs.(Content/Search tab)
if ($.cookie('ui-tabs-1') === '1') { //search tab is visible
if ($.cookie('textToSearch') != undefined && $.cookie('textToSearch').length > 0) {
document.getElementById('textToSearch').value = $.cookie('textToSearch');
Effectuer_recherche($.cookie('textToSearch'));
searchHighlight($.cookie('textToSearch'));
$("#showHideHighlight").css("display","block");
}
}
syncToc(); //Synchronize the toc tree with the content pane, when loading the page.
//$("#doSearch").button(); //add jquery button styling to 'Go' button
// When you click on a link to an anchor, scroll down
// 140 px to cope with the fact that the banner
// hides the top 95px or so of the page.
// This code deals with the problem when
// you click on a link from another page.
var hash = window.location.hash.replace(/[\(\)\<\>\"\'\=]/g,'');
if(hash){
var targetOffset = $(hash).offset().top - 140;
$('html,body').animate({scrollTop: targetOffset}, 200);
return false;
}
$('.gloss').each(function() {
$(this).qtip({
content: {
attr: 'def'
},
position: {
target: 'mouse',
adjust: { x: 5, y: 5 }
}
});
});
});
/**
* Synchronize with the tableOfContents
*/
function syncToc(){
var a = document.getElementById("webhelp-currentid");
if (a != undefined) {
var b = a.getElementsByTagName("a")[0];
if (b != undefined) {
//Setting the background for selected node.
var style = a.getAttribute("style", 2);
if (style != null && !style.match(/background-color: Background;/)) {
a.setAttribute("style", "background-color: #D8D8D8; " + style);
b.setAttribute("style", "color: black;");
} else if (style != null) {
a.setAttribute("style", "background-color: #D8D8D8; " + style);
b.setAttribute("style", "color: black;");
} else {
a.setAttribute("style", "background-color: #D8D8D8; ");
b.setAttribute("style", "color: black;");
}
}
//shows the node related to current content.
//goes a recursive call from current node to ancestor nodes, displaying all of them.
while (a.parentNode && a.parentNode.nodeName) {
var parentNode = a.parentNode;
var nodeName = parentNode.nodeName;
if (nodeName.toLowerCase() == "ul") {
parentNode.setAttribute("style", "display: block;");
} else if (nodeName.toLocaleLowerCase() == "li") {
parentNode.setAttribute("class", "collapsable");
parentNode.firstChild.setAttribute("class", "hitarea collapsable-hitarea ");
}
a = parentNode;
}
}
}
/**
* Code for Show/Hide TOC
*
*/
function showHideToc() {
var showHideButton = $("#showHideButton");
var leftNavigation = $("#leftnavigation");
var content = $("#content");
if (showHideButton != undefined && showHideButton.hasClass("pointLeft")) {
//Hide TOC
showHideButton.removeClass('pointLeft').addClass('pointRight');
content.css("margin", "125px 0 0 0");
leftNavigation.css("display","none");
showHideButton.attr("title", "Show the TOC tree");
$("body").addClass("sidebar");
} else {
//Show the TOC
showHideButton.removeClass('pointRight').addClass('pointLeft');
content.css("margin", "125px 0 0 280px");
leftNavigation.css("display","block");
showHideButton.attr("title", "Hide the TOC Tree");
$("body").removeClass("sidebar");
}
}
/**
* Code for search highlighting
*/
var highlightOn = true;
function searchHighlight(searchText) {
highlightOn = true;
if (searchText != undefined) {
var wList;
var sList = new Array(); //stem list
//Highlight the search terms
searchText = searchText.toLowerCase().replace(/<\//g, "_st_").replace(/\$_/g, "_di_").replace(/\.|%2C|%3B|%21|%3A|@|\/|\*/g, " ").replace(/(%20)+/g, " ").replace(/_st_/g, "</").replace(/_di_/g, "%24_")
searchText = searchText.replace(/ +/g, " ");
searchText = searchText.replace(/ $/, "").replace(/^ /, "");
wList = searchText.split(" ");
$("#content").highlight(wList); //Highlight the search input
if(typeof stemmer != "undefined" ){
//Highlight the stems
for (var i = 0; i < wList.length; i++) {
var stemW = stemmer(wList[i]);
sList.push(stemW);
}
} else {
sList = wList;
}
$("#content").highlight(sList); //Highlight the search input's all stems
}
}
function searchUnhighlight(){
highlightOn = false;
//unhighlight the search input's all stems
$("#content").unhighlight();
$("#content").unhighlight();
}
function toggleHighlight(){
if(highlightOn) {
searchUnhighlight();
} else {
searchHighlight($.cookie('textToSearch'));
}
}
/*
CSS Browser Selector v0.4.0 (Nov 02, 2010)
Rafael Lima (http://rafael.adm.br)
http://rafael.adm.br/css_browser_selector
License: http://creativecommons.org/licenses/by/2.5/
Contributors: http://rafael.adm.br/css_browser_selector#contributors
*/
function css_browser_selector(u){var ua=u.toLowerCase(),is=function(t){return ua.indexOf(t)>-1},g='gecko',w='webkit',s='safari',o='opera',m='mobile',h=document.documentElement,b=[(!(/opera|webtv/i.test(ua))&&/msie\s(\d)/.test(ua))?('ie ie'+RegExp.$1):is('firefox/2')?g+' ff2':is('firefox/3.5')?g+' ff3 ff3_5':is('firefox/3.6')?g+' ff3 ff3_6':is('firefox/3')?g+' ff3':is('gecko/')?g:is('opera')?o+(/version\/(\d+)/.test(ua)?' '+o+RegExp.$1:(/opera(\s|\/)(\d+)/.test(ua)?' '+o+RegExp.$2:'')):is('konqueror')?'konqueror':is('blackberry')?m+' blackberry':is('android')?m+' android':is('chrome')?w+' chrome':is('iron')?w+' iron':is('applewebkit/')?w+' '+s+(/version\/(\d+)/.test(ua)?' '+s+RegExp.$1:''):is('mozilla/')?g:'',is('j2me')?m+' j2me':is('iphone')?m+' iphone':is('ipod')?m+' ipod':is('ipad')?m+' ipad':is('mac')?'mac':is('darwin')?'mac':is('webtv')?'webtv':is('win')?'win'+(is('windows nt 6.0')?' vista':''):is('freebsd')?'freebsd':(is('x11')||is('linux'))?'linux':'','js']; c = b.join(' '); h.className += ' '+c; return c;}; css_browser_selector(navigator.userAgent);
/* End CSS Browser Selector code */