Adding a box to each page that gives readers links to 1.1 and 1.2 Swift docs sites
This commit is contained in:
parent
a29b1da65c
commit
5c4340039d
@ -62,4 +62,151 @@ table.docutils {
|
|||||||
|
|
||||||
a tt {
|
a tt {
|
||||||
color:#CF2F19;
|
color:#CF2F19;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ------------------------------------------
|
||||||
|
PURE CSS SPEECH BUBBLES
|
||||||
|
by Nicolas Gallagher
|
||||||
|
- http://nicolasgallagher.com/pure-css-speech-bubbles/
|
||||||
|
|
||||||
|
http://nicolasgallagher.com
|
||||||
|
http://twitter.com/necolas
|
||||||
|
|
||||||
|
Created: 02 March 2010
|
||||||
|
Version: 1.1 (21 October 2010)
|
||||||
|
|
||||||
|
Dual licensed under MIT and GNU GPLv2 © Nicolas Gallagher
|
||||||
|
------------------------------------------ */
|
||||||
|
/* THE SPEECH BUBBLE
|
||||||
|
------------------------------------------------------------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
/* THE SPEECH BUBBLE
|
||||||
|
------------------------------------------------------------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
.triangle-border {
|
||||||
|
position:relative;
|
||||||
|
padding:15px;
|
||||||
|
margin:1em 0 3em;
|
||||||
|
border:5px solid #BC1518;
|
||||||
|
color:#333;
|
||||||
|
background:#fff;
|
||||||
|
|
||||||
|
/* css3 */
|
||||||
|
-moz-border-radius:10px;
|
||||||
|
-webkit-border-radius:10px;
|
||||||
|
border-radius:10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Variant : for left positioned triangle
|
||||||
|
------------------------------------------ */
|
||||||
|
|
||||||
|
.triangle-border.left {
|
||||||
|
margin-left:30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Variant : for right positioned triangle
|
||||||
|
------------------------------------------ */
|
||||||
|
|
||||||
|
.triangle-border.right {
|
||||||
|
margin-right:30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* THE TRIANGLE
|
||||||
|
------------------------------------------------------------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
.triangle-border:before {
|
||||||
|
content:"";
|
||||||
|
display:block; /* reduce the damage in FF3.0 */
|
||||||
|
position:absolute;
|
||||||
|
bottom:-40px; /* value = - border-top-width - border-bottom-width */
|
||||||
|
left:40px; /* controls horizontal position */
|
||||||
|
width:0;
|
||||||
|
height:0;
|
||||||
|
border:20px solid transparent;
|
||||||
|
border-top-color:#BC1518;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* creates the smaller triangle */
|
||||||
|
.triangle-border:after {
|
||||||
|
content:"";
|
||||||
|
display:block; /* reduce the damage in FF3.0 */
|
||||||
|
position:absolute;
|
||||||
|
bottom:-26px; /* value = - border-top-width - border-bottom-width */
|
||||||
|
left:47px; /* value = (:before left) + (:before border-left) - (:after border-left) */
|
||||||
|
width:0;
|
||||||
|
height:0;
|
||||||
|
border:13px solid transparent;
|
||||||
|
border-top-color:#fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Variant : top
|
||||||
|
------------------------------------------ */
|
||||||
|
|
||||||
|
/* creates the larger triangle */
|
||||||
|
.triangle-border.top:before {
|
||||||
|
top:-40px; /* value = - border-top-width - border-bottom-width */
|
||||||
|
right:40px; /* controls horizontal position */
|
||||||
|
bottom:auto;
|
||||||
|
left:auto;
|
||||||
|
border:20px solid transparent;
|
||||||
|
border-bottom-color:#BC1518;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* creates the smaller triangle */
|
||||||
|
.triangle-border.top:after {
|
||||||
|
top:-26px; /* value = - border-top-width - border-bottom-width */
|
||||||
|
right:47px; /* value = (:before right) + (:before border-right) - (:after border-right) */
|
||||||
|
bottom:auto;
|
||||||
|
left:auto;
|
||||||
|
border:13px solid transparent;
|
||||||
|
border-bottom-color:#fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Variant : left
|
||||||
|
------------------------------------------ */
|
||||||
|
|
||||||
|
/* creates the larger triangle */
|
||||||
|
.triangle-border.left:before {
|
||||||
|
top:10px; /* controls vertical position */
|
||||||
|
left:-30px; /* value = - border-left-width - border-right-width */
|
||||||
|
bottom:auto;
|
||||||
|
border-width:15px 30px 15px 0;
|
||||||
|
border-style:solid;
|
||||||
|
border-color:transparent #BC1518;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* creates the smaller triangle */
|
||||||
|
.triangle-border.left:after {
|
||||||
|
top:16px; /* value = (:before top) + (:before border-top) - (:after border-top) */
|
||||||
|
left:-21px; /* value = - border-left-width - border-right-width */
|
||||||
|
bottom:auto;
|
||||||
|
border-width:9px 21px 9px 0;
|
||||||
|
border-style:solid;
|
||||||
|
border-color:transparent #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Variant : right
|
||||||
|
------------------------------------------ */
|
||||||
|
|
||||||
|
/* creates the larger triangle */
|
||||||
|
.triangle-border.right:before {
|
||||||
|
top:10px; /* controls vertical position */
|
||||||
|
right:-30px; /* value = - border-left-width - border-right-width */
|
||||||
|
bottom:auto;
|
||||||
|
left:auto;
|
||||||
|
border-width:15px 0 15px 30px;
|
||||||
|
border-style:solid;
|
||||||
|
border-color:transparent #BC1518;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* creates the smaller triangle */
|
||||||
|
.triangle-border.right:after {
|
||||||
|
top:16px; /* value = (:before top) + (:before border-top) - (:after border-top) */
|
||||||
|
right:-21px; /* value = - border-left-width - border-right-width */
|
||||||
|
bottom:auto;
|
||||||
|
left:auto;
|
||||||
|
border-width:9px 0 9px 21px;
|
||||||
|
border-style:solid;
|
||||||
|
border-color:transparent #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -1,2 +1,69 @@
|
|||||||
{% extends "sphinxdoc/layout.html" %}
|
{% extends "sphinxdoc/layout.html" %}
|
||||||
{% set css_files = css_files + ['_static/tweaks.css'] %}
|
{% set css_files = css_files + ['_static/tweaks.css'] %}
|
||||||
|
|
||||||
|
{%- macro sidebar() %}
|
||||||
|
{%- if not embedded %}{% if not theme_nosidebar|tobool %}
|
||||||
|
<div class="sphinxsidebar">
|
||||||
|
<div class="sphinxsidebarwrapper">
|
||||||
|
{%- block sidebarlogo %}
|
||||||
|
{%- if logo %}
|
||||||
|
<p class="logo"><a href="{{ pathto(master_doc) }}">
|
||||||
|
<img class="logo" src="{{ pathto('_static/' + logo, 1) }}" alt="Logo"/>
|
||||||
|
</a></p>
|
||||||
|
{%- endif %}
|
||||||
|
{%- endblock %}
|
||||||
|
{%- block sidebartoc %}
|
||||||
|
{%- if display_toc %}
|
||||||
|
<h3><a href="{{ pathto(master_doc) }}">{{ _('Table Of Contents') }}</a></h3>
|
||||||
|
{{ toc }}
|
||||||
|
{%- endif %}
|
||||||
|
{%- endblock %}
|
||||||
|
{%- block sidebarrel %}
|
||||||
|
{%- if prev %}
|
||||||
|
<h4>{{ _('Previous topic') }}</h4>
|
||||||
|
<p class="topless"><a href="{{ prev.link|e }}"
|
||||||
|
title="{{ _('previous chapter') }}">{{ prev.title }}</a></p>
|
||||||
|
{%- endif %}
|
||||||
|
{%- if next %}
|
||||||
|
<h4>{{ _('Next topic') }}</h4>
|
||||||
|
<p class="topless"><a href="{{ next.link|e }}"
|
||||||
|
title="{{ _('next chapter') }}">{{ next.title }}</a></p>
|
||||||
|
{%- endif %}
|
||||||
|
{%- endblock %}
|
||||||
|
{%- block sidebarsourcelink %}
|
||||||
|
{%- if show_source and has_source and sourcename %}
|
||||||
|
<h3>{{ _('This Page') }}</h3>
|
||||||
|
<ul class="this-page-menu">
|
||||||
|
<li><a href="{{ pathto('_sources/' + sourcename, true)|e }}"
|
||||||
|
rel="nofollow">{{ _('Show Source') }}</a></li>
|
||||||
|
</ul>
|
||||||
|
{%- endif %}
|
||||||
|
{%- endblock %}
|
||||||
|
{%- if customsidebar %}
|
||||||
|
{% include customsidebar %}
|
||||||
|
{%- endif %}
|
||||||
|
{%- block sidebarsearch %}
|
||||||
|
{%- if pagename != "search" %}
|
||||||
|
<div id="searchbox" style="display: none">
|
||||||
|
<h3>{{ _('Quick search') }}</h3>
|
||||||
|
<form class="search" action="{{ pathto('search') }}" method="get">
|
||||||
|
<input type="text" name="q" size="18" />
|
||||||
|
<input type="submit" value="{{ _('Go') }}" />
|
||||||
|
<input type="hidden" name="check_keywords" value="yes" />
|
||||||
|
<input type="hidden" name="area" value="default" />
|
||||||
|
</form>
|
||||||
|
<p class="searchtip" style="font-size: 90%">
|
||||||
|
{{ _('Enter search terms or a module, class or function name.') }}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<script type="text/javascript">$('#searchbox').show(0);</script>
|
||||||
|
<p class="triangle-border right">
|
||||||
|
Psst... hey. Did you know you can read <a href="http://swift.openstack.org/1.2">Swift 1.2 docs</a> or <a href="http://swift.openstack.org/1.1">Swift 1.1 docs</a> also?
|
||||||
|
</p>
|
||||||
|
{%- endif %}
|
||||||
|
|
||||||
|
{%- endblock %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{%- endif %}{% endif %}
|
||||||
|
{%- endmacro %}
|
@ -60,7 +60,7 @@ master_doc = 'index'
|
|||||||
|
|
||||||
# General information about the project.
|
# General information about the project.
|
||||||
project = u'Swift'
|
project = u'Swift'
|
||||||
copyright = u'2010, OpenStack, LLC'
|
copyright = u'2011, OpenStack, LLC'
|
||||||
|
|
||||||
# The version info for the project you're documenting, acts as replacement for
|
# The version info for the project you're documenting, acts as replacement for
|
||||||
# |version| and |release|, also used in various other places throughout the
|
# |version| and |release|, also used in various other places throughout the
|
||||||
@ -220,5 +220,6 @@ latex_documents = [
|
|||||||
|
|
||||||
# Example configuration for intersphinx: refer to the Python standard library.
|
# Example configuration for intersphinx: refer to the Python standard library.
|
||||||
intersphinx_mapping = {'python': ('http://docs.python.org/', None),
|
intersphinx_mapping = {'python': ('http://docs.python.org/', None),
|
||||||
'nova': ('http://nova.openstack.org', None)}
|
'nova': ('http://nova.openstack.org', None),
|
||||||
|
'glance': ('http://glance.openstack.org', None)}
|
||||||
|
|
||||||
|
@ -48,7 +48,7 @@ Talking to Swift with Cyberduck
|
|||||||
|
|
||||||
#. Go to "Open Connection", select Rackspace Cloud Files, and connect.
|
#. Go to "Open Connection", select Rackspace Cloud Files, and connect.
|
||||||
|
|
||||||
.. image:: howto_cyberduck_config.png
|
.. image:: images/howto_cyberduck_config.png
|
||||||
|
|
||||||
#. If you get SSL errors, make sure your auth and proxy server are both setup
|
#. If you get SSL errors, make sure your auth and proxy server are both setup
|
||||||
for SSL. If you get certificate errors (specifically, 'unable to find valid
|
for SSL. If you get certificate errors (specifically, 'unable to find valid
|
||||||
|
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
Loading…
Reference in New Issue
Block a user