pax_global_header00006660000000000000000000000064126361322260014515gustar00rootroot0000000000000052 comment=c3dace75c87a089a5ee585468660b7a4a01eebb0 alabaster-0.7.7/000077500000000000000000000000001263613222600134665ustar00rootroot00000000000000alabaster-0.7.7/LICENSE000066400000000000000000000030231263613222600144710ustar00rootroot00000000000000Copyright (c) 2015 Jeff Forcier. Based on original work copyright (c) 2011 Kenneth Reitz and copyright (c) 2010 Armin Ronacher. Some rights reserved. Redistribution and use in source and binary forms of the theme, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * The names of the contributors may not be used to endorse or promote products derived from this software without specific prior written permission. THIS THEME IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS THEME, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. alabaster-0.7.7/MANIFEST.in000066400000000000000000000001451263613222600152240ustar00rootroot00000000000000include LICENSE include README.md recursive-include alabaster *.* recursive-exclude alabaster .*.swp alabaster-0.7.7/README.rst000066400000000000000000000441721263613222600151650ustar00rootroot00000000000000========================= Alabaster: a Sphinx theme ========================= What is Alabaster? ================== Alabaster is a visually (c)lean, responsive, configurable theme for the `Sphinx `_ documentation system. It is Python 2+3 compatible. It began as a third-party theme, and is still maintained separately, but as of Sphinx 1.3, Alabaster is an install-time dependency of Sphinx and is selected as the default theme. Live examples of this theme can be seen on `paramiko.org `_, `fabfile.org `_ and `pyinvoke.org `_. A changelog_ can be found at the bottom of this page. Features ======== Specifically, as compared to Kenneth's theme: * Easy ability to install/use as a Python package (tip o' the hat to `Dave & Eric's sphinx_rtd_theme `_ for showing the way); * Style tweaks, such as better code-block alignment, Github button placement, page source link moved to footer, improved (optional) related-items sidebar item, etc; * Many customization hooks, including toggle of various sidebar & footer components; header/link/etc color control; etc; * Improved documentation for all customizations (pre-existing & new). Installation ============ The bare minimum required to install is as follows: #. ``pip install alabaster`` (or equivalent). #. Enable the 'alabaster' theme, mini-extension, and sidebar templates in your ``conf.py``: .. code-block:: python import alabaster html_theme_path = [alabaster.get_path()] extensions = ['alabaster'] html_theme = 'alabaster' html_sidebars = { '**': [ 'about.html', 'navigation.html', 'relations.html', 'searchbox.html', 'donate.html', ] } That's it! You now have the standard Alabaster theme set up. Read on for more configuration options/concerns. Theme location -------------- The function ``alabaster.get_path`` dynamically returns Alabaster's install location, ensuring that Sphinx can find and load it regardless of where/how you installed Alabaster. Using it is highly recommended. If you've manually installed Alabaster and/or are doing funky things to your PYTHONPATH, you may need to replace the ``alabaster.get_path()`` call with your own explicit string, as per `the Sphinx config docs `_. Sidebars -------- Feel free to adjust ``html_sidebars`` as desired - the theme is designed assuming you'll always have ``about.html`` activated, but otherwise it doesn't care much. * See `the Sphinx docs `_ for details on how this setting behaves. * Alabaster provides ``about.html`` (logo, github button + blurb), ``donate.html`` (Gratipay blurb/button) and ``navigation.html`` (a more flexible version of the builtin ``localtoc``/``globaltoc`` templates). ``searchbox.html`` comes with Sphinx itself. Images ------ If you're using either of the image-related options outlined below (``logo`` or ``touch-icon``), you'll also want to tell Sphinx where to get your images from. If so, add a line like this (changing the path if necessary; see `the Sphinx docs for 'html_static_path' `_): .. code-block:: python html_static_path = ['_static'] Theme options ============= Alabaster's primary configuration route is the ``html_theme_options`` variable, set in ``conf.py`` alongside the rest. A brief example (*note*: snippet doesn't include all possible options, see following list!): .. code-block:: python html_theme_options = { 'logo': 'logo.png', 'github_user': 'bitprophet', 'github_repo': 'alabaster', } Variables and feature toggles ----------------------------- * ``logo``: Relative path (from ``$PROJECT/_static/``) to a logo image, which will appear in the upper left corner above the name of the project. * If ``logo`` is not set, your ``project`` name setting (from the top level Sphinx config) will be used in a text header instead. This preserves a link back to your homepage from inner doc pages. * ``logo_name``: Set to ``true`` to insert your site's ``project`` name under the logo image as text. Useful if your logo doesn't include the project name itself. Defaults to ``false``. * ``logo_text_align``: Which CSS ``text-align`` value to use for logo text (if there is any.) * ``body_text_align``: Which CSS ``text-align`` value to use for body text (if there is any.) * ``description``: Text blurb about your project, to appear under the logo. * ``description_font_style``: Which CSS ``font-style`` to use for description text. Defaults to ``normal``. * ``github_user``, ``github_repo``: Used by ``github_button`` and ``github_banner`` (see below); does nothing if both of those are set to ``false``. * ``github_button``: ``true`` or ``false`` (default: ``true``) - whether to link to your Github. * If ``true``, requires that you set ``github_user`` and ``github_repo``. * See also these other related options, which behave as described in `Github Buttons' README `_: * ``github_type``: Defaults to ``watch``. * ``github_count``: Defaults to ``true``. * ``github_banner``: ``true`` or ``false`` (default: ``false``) - whether to apply a 'Fork me on Github' banner in the top right corner of the page. * If ``true``, requires that you set ``github_user`` and ``github_repo``. * May also submit a string file path (as with ``logo``, relative to ``$PROJECT/_static/``) to be used as the banner image instead of the default. * ``travis_button``: ``true``, ``false`` or a Github-style ``"account/repo"`` string - used to display a `Travis-CI `_ build status button in the sidebar. If ``true``, uses your ``github_(user|repo)`` settings; defaults to ``false.`` * ``codecov_button``: ``true``, ``false`` or a Github-style ``"account/repo"`` string - used to display a `Codecov`_ build status button in the sidebar. If ``true``, uses your ``github_(user|repo)`` settings; defaults to ``false.`` * ``gratipay_user``: Set to your `Gratipay `_ username if you want a Gratipay 'Donate' section in your sidebar. * This used to be ``gittip_user`` before that service changed its name to Gratipay; we've left the old setting in place as an alias for backwards compatibility reasons. It may be removed in the future. * If both options are given, ``gratipay_user`` wins. * ``analytics_id``: Set to your `Google Analytics `_ ID (e.g. ``UA-#######-##``) to enable tracking. * ``touch_icon``: Path to an image (as with ``logo``, relative to ``$PROJECT/_static/``) to be used for an iOS application icon, for when pages are saved to an iOS device's home screen via Safari. * ``extra_nav_links``: Dictionary mapping link names to link targets; these will be added in a UL below the main sidebar navigation (provided you've enabled ``navigation.html``.) Useful for static links outside your Sphinx doctree. * ``sidebar_includehidden``: Boolean determining whether the TOC sidebar should include hidden Sphinx toctree elements. Defaults to ``true`` so you can use ``:hidden:`` in your index page's root toctree & avoid having 2x copies of your navigation on your landing page. * ``show_powered_by``: Boolean controlling display of the ``Powered by Sphinx N.N.N. & Alabaster M.M.M`` section of the footer. When ``true``, is displayed next to the copyright information; when ``false``, is hidden. * ``show_related``: Boolean controlling whether the 'next/previous/related' secondary navigation elements are hidden or displayed. Defaults to ``false`` since on many sites these elements are superfluous. * ``page_width``: CSS width specifier controlling default content/page width. Defaults to ``940px``. * ``sidebar_width``: CSS width specifier controlling default sidebar width. Defaults to ``220px``. Style colors ------------ These should be fully qualified CSS color specifiers such as ``#004B6B`` or ``#444``. The first few items in the list are "global" colors used as defaults for many of the others; update these to make sweeping changes to the colorscheme. The more granular settings can be used to override as needed. * ``gray_1``: Dark gray. * ``gray_2``: Light gray. * ``gray_3``: Medium gray. * ``pink_1``: Light pink. * ``pink_2``: Medium pink. * ``body_text``: Main content text. * ``footer_text``: Footer text (includes links.) * ``link``: Non-hovered body links. * ``link_hover``: Body links, hovered. * ``sidebar_header``: Sidebar headers. Defaults to ``gray_1``. * ``sidebar_text``: Sidebar paragraph text. * ``sidebar_link``: Sidebar links (there is no hover variant.) Applies to both header & text links. Defaults to ``gray_1``. * ``sidebar_link_underscore``: Sidebar links' underline (technically a bottom-border). * ``sidebar_search_button``: Background color of the search field's 'Go' button. * ``sidebar_list``: Foreground color of sidebar list bullets & unlinked text. * ``sidebar_hr``: Color of sidebar horizontal rule dividers. Defaults to ``gray_3``. * ``anchor``: Foreground color of section anchor links (the 'paragraph' symbol that shows up when you mouseover page section headers.) * ``anchor_hover_fg``: Foreground color of section anchor links (as above) when moused over. Defaults to ``gray_1``. * ``anchor_hover_bg``: Background color of above. * ``note_bg``: Background of ``.. note::`` blocks. Defaults to ``gray_2``. * ``note_border``: Border of same. * ``seealso_bg``: Background of ``.. seealso::`` blocks. Defaults to ``gray_2``. * ``seealso_border``: Border of same. * ``warn_bg``: Background of ``.. warn::`` blocks. Defaults to ``pink_1``. * ``warn_border``: Border of same. Defaults to ``pink_2``. * ``footnote_bg``: Background of footnote blocks. * ``footnote_border``: Border of same. Defaults to ``gray_2``. * ``pre_bg``: Background of preformatted text blocks (including code snippets.) Defaults to ``gray_2``. * ``narrow_sidebar_bg``: Background of 'sidebar' when narrow window forces it to the bottom of the page. * ``narrow_sidebar_fg``: Text color of same. * ``narrow_sidebar_link``: Link color of same. Defaults to ``gray_3``. * ``code_highlight``: Color of highlight when using ``:emphasize-lines:`` in a code block. Fonts ----- * ``font_family``: Font family of body text. Defaults to ``'goudy old style', 'minion pro', 'bell mt', Georgia, 'Hiragino Mincho Pro', serif``. * ``head_font_family``: Font family of headings. Defaults to ``'Garamond', 'Georgia', serif``. * ``code_font_size``: Font size of code block text. Defaults to ``0.9em``. * ``code_font_family``: Font family of code block text. Defaults to ``'Consolas', 'Menlo', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace``. Project background ================== Alabaster is a modified (with permission) version of `Kenneth Reitz's `_ "Kr" `Sphinx `_ theme (no official repo, but it's the one used in his `Requests `_ project). Kenneth's theme was itself originally based on Armin Ronacher's `Flask `_ theme. Many thanks to both for their hard work. Implementation notes ==================== * `Fabric #419 `_ contains a lot of general exposition & thoughts as I developed Alabaster, specifically with a mind towards using it on two nearly identical 'sister' sites (single-version www 'info' site & versioned API docs site). * Alabaster includes/requires a tiny Sphinx extension on top of the theme itself; this is just so we can inject dynamic metadata (like Alabaster's own version number) into template contexts. It doesn't add any additional directives or the like, at least not yet. .. _changelog: Changelog ========= 0.1.0 (2013-12-31) ------------------ * First tagged/PyPI'd version. 0.2.0 (2014-01-28) ------------------ * Allow control of logo replacement text's alignment. * Add customized navigation sidebar element. * Tweak page margins a bit. * Add a 3rd level of medium-gray to the stylesheet & apply in a few places. 0.3.0 (2014-02-03) ------------------ * Display Alabaster version in footers alongside Sphinx version. (This necessitates using a mini Sphinx extension). * Other footer tweaks. 0.3.1 (2014-03-13) ------------------ * Improved Python 3 compatibility. * Update styling of changelog pages generated by `bitprophet/releases `_. 0.4.0 (2014-04-06) ------------------ * Add an option to allow un-hiding one's toctree. 0.4.1 (2014-04-06) ------------------ * Fix an inaccuracy in the descriptin of ``logo_text_align``. * Update logo & text styling to be more sensible. 0.5.0 (2014-04-09) ------------------ * Add support for sidebar Travis status buttons. 0.5.1 (2014-04-15) ------------------ * Fix a bug in the new Travis support, re: its default value. 0.6.0 (2014-04-17) ------------------ * Allow hiding the 'powered by' section of the footer. * Fix outdated name in ``setup.py`` URL field. 0.6.1 (2014-09-04) ------------------ * Update Gittip support to acknowledge the service's rename to Gratipay. 0.6.2 (2014-11-25) ------------------ * Make ``.. warn::`` blocks have a pink background (instead of having no background, which was apparently an oversight of the themes Alabaster is based on) and also make that color configurable. 0.7.1 (2015-02-27) ------------------ .. note:: There is no 0.7.0, there was some PyPI fun and replacing sdists isn't permitted :) * Finally add a changelog. To the README, for now, because a full doc site isn't worthwhile just yet. * Allow configuring a custom Github banner image (instead of simply toggling a default on or off). Thanks to Nicola Iarocci for the original patch. * Explicitly note Python version support in the README and ``setup.py``. * Update Github button image link to use the newly-available HTTPS version of the URL; this helps prevent errors on doc pages served via HTTPS. Thanks to Gustavo Narea for the report. * Add control over the font size & family of code blocks. Credit to Steven Loria. * Allow control over font family of body text and headings. Thanks to Georg Brandl. * Stylize ``.. seealso::`` blocks same as ``.. note::`` blocks for consistency's sake (previously, ``.. seealso::`` used the Sphinx default styling, which clashed). We may update these again later but for now, this is an improvement! Thanks again to Steven Loria. * Allow control over CSS ``font-style`` for the site description/tagline element. Credit: Steven Loria. * Add styling to disable default cell borders on ``.. bibliography::`` directives' output. Thanks to Philippe Dessus for the report. 0.7.2 (2015-03-10) ------------------ * Updated CSS stylesheets to apply monospace styling to both ``tt`` and ``code`` elements, instead of just to ``tt``. This addresses a change in HTML generation in Sphinx 1.3 while retaining support for Sphinx 1.2. Thanks to Eric Holscher for the heads up. 0.7.3 (2015-03-20) ------------------ * Hide ``shadow`` related styles on bibliography elements, in addition to the earlier change re: ``border``. Thanks again to Philippe Dessus. 0.7.4 (2015-05-03) ------------------ * Add ``code_highlight`` option (which includes general fixes to styling of code blocks containing highlighted lines). Thanks to Steven Loria. 0.7.5 (2015-06-15) ------------------ * Honor Sphinx's core ``html_show_copyright`` option when rendering page footer. Thanks to Marcin Wojdyr for the report. * Pre-history versions of Alabaster attempted to remove the "related" sub-navigation (typically found as next/previous links in other themes) but this didn't work right for mobile-oriented styling. This has been fixed by (re-)adding an improved sidebar nav element for these links and making its display controllable via the new ``show_related`` theme option (which defaults to ``false`` for backwards compatibility). **NOTE**: to enable the related-links nav, you'll need to set ``show_related`` to ``true`` **and** add ``relations.html`` to your ``html_sidebars`` (we've updated the example config in this README to indicate this for new installs). Thanks to Tomi Pieviläinen for the bug report. * Update the "Fork me on Github" banner image to use an ``https://`` URI so sites hosted over HTTPS don't encounter mixed-content errors. Thanks to ``@nikolas`` for the patch. * Remove an orphaned ```` from the footer 'show source' section. Credit to Marcin Wojdyr. 0.7.6 (2015-06-22) ------------------ * Update how ``setup.py`` handles the ``README.rst`` file - load it explicitly as UTF-8 so the changelog containing non-ASCII characters doesn't generate ``UnicodeDecodeError`` in terminal environments whose default encoding is not UTF-8 or other Unicode-compatible encodings. Thanks to Arun Persaud for the report and Max Tepkeev for the suggested fix. * Fix left-margin & padding styling for code blocks within list-item elements, making them consistent with earlier changes applied to top-level code blocks. * Expose page & sidebar widths as theme options ``page_width`` and ``sidebar_width``. Their defaults are the same as the previously static values. 0.7.7 (2015-12-21) ------------------ * Add some ``margin-bottom`` to ``table.field-list p`` so field lists (e.g. Python function parameter lists in docstrings) written as multiple paragraphs, look like actual paragraphs instead of all globbing together. * Fix incorrect notes in README re: renamed ``github_button_*`` options - the ``button_`` was dropped but docs did not reflect this. Thanks to Nik Nyby. * Fix ``sidebar_hr`` setting - stylesheet wasn't correctly referencing the right variable name. Thanks to Jannis Leidel. * Allow configuring body text-align via ``body_text_align``. Credit to Marçal Solà. * Fix a handful of mismatched/unclosed HTML tags in the templates. Thanks to Marvin Pinto for catch & patch. * Add `Codecov`_ badge support to sidebar. .. _Codecov: https://codecov.io alabaster-0.7.7/alabaster/000077500000000000000000000000001263613222600154245ustar00rootroot00000000000000alabaster-0.7.7/alabaster/__init__.py000066400000000000000000000010521263613222600175330ustar00rootroot00000000000000import os from alabaster import _version as version def get_path(): """ Shortcut for users whose theme is next to their conf.py. """ # Theme directory is defined as our parent directory return os.path.abspath(os.path.dirname(os.path.dirname(__file__))) def update_context(app, pagename, templatename, context, doctree): context['alabaster_version'] = version.__version__ def setup(app): app.connect('html-page-context', update_context) return {'version': version.__version__, 'parallel_read_safe': True} alabaster-0.7.7/alabaster/_version.py000066400000000000000000000001201263613222600176130ustar00rootroot00000000000000__version_info__ = (0, 7, 7) __version__ = '.'.join(map(str, __version_info__)) alabaster-0.7.7/alabaster/about.html000066400000000000000000000032641263613222600174310ustar00rootroot00000000000000{% if theme_logo %}

{{ project }}

{% endif %}

{% else %}

{{ project }}

{% endif %} {% if theme_description %}

{{ theme_description }}

{% endif %} {% if theme_github_button|lower == 'true' %}

{% endif %} {% if theme_travis_button|lower != 'false' %} {% if theme_travis_button|lower == 'true' %} {% set path = theme_github_user + '/' + theme_github_repo %} {% else %} {% set path = theme_travis_button %} {% endif %}

https://secure.travis-ci.org/{{ path }}.png?branch=master

{% endif %} {% if theme_codecov_button|lower != 'false' %} {% if theme_codecov_button|lower == 'true' %} {% set path = theme_github_user + '/' + theme_github_repo %} {% else %} {% set path = theme_codecov_button %} {% endif %}

https://codecov.io/github/{{ path }}/coverage.svg?branch=master

{% endif %} alabaster-0.7.7/alabaster/donate.html000066400000000000000000000005121263613222600175620ustar00rootroot00000000000000{% if theme_gratipay_user or theme_gittip_user %}

Donate

Consider supporting the authors on Gratipay:

{% endif %} alabaster-0.7.7/alabaster/layout.html000066400000000000000000000043501263613222600176310ustar00rootroot00000000000000{%- extends "basic/layout.html" %} {%- block extrahead %} {{ super() }} {% if theme_touch_icon %} {% endif %} {% endblock %} {# Disable base theme's top+bottom related navs; we have our own in sidebar #} {%- block relbar1 %}{% endblock %} {%- block relbar2 %}{% endblock %} {%- block footer %} {% if theme_github_banner|lower != 'false' %} Fork me on GitHub {% endif %} {% if theme_analytics_id %} {% endif %} {%- endblock %} alabaster-0.7.7/alabaster/navigation.html000066400000000000000000000004271263613222600204540ustar00rootroot00000000000000

Navigation

{{ toctree(includehidden=theme_sidebar_includehidden) }} {% if theme_extra_nav_links %}
    {% for text, uri in theme_extra_nav_links.items() %}
  • {{ text }}
  • {% endfor %}
{% endif %} alabaster-0.7.7/alabaster/relations.html000066400000000000000000000011551263613222600203140ustar00rootroot00000000000000

Related Topics

alabaster-0.7.7/alabaster/static/000077500000000000000000000000001263613222600167135ustar00rootroot00000000000000alabaster-0.7.7/alabaster/static/alabaster.css_t000066400000000000000000000246271263613222600217210ustar00rootroot00000000000000{% set theme_sidebar_header = theme_sidebar_header or theme_gray_1 %} {% set theme_sidebar_link = theme_sidebar_link or theme_gray_1 %} {% set theme_anchor_hover_fg = theme_anchor_hover_fg or theme_gray_1 %} {% set theme_note_bg = theme_note_bg or theme_gray_2 %} {% set theme_footnote_border = theme_footnote_border or theme_gray_2 %} {% set theme_pre_bg = theme_pre_bg or theme_gray_2 %} {% set theme_warn_bg = theme_warn_bg or theme_pink_1 %} {% set theme_warn_border = theme_warn_border or theme_pink_2 %} {% set theme_seealso_bg = theme_seealso_bg or theme_gray_2 %} {% set theme_narrow_sidebar_link = theme_narrow_sidebar_link or theme_gray_3 %} {% set theme_sidebar_hr = theme_sidebar_hr or theme_gray_3 %} @import url("basic.css"); /* -- page layout ----------------------------------------------------------- */ body { font-family: {{ theme_font_family }}; font-size: 17px; background-color: white; color: #000; margin: 0; padding: 0; } div.document { width: {{ theme_page_width }}; margin: 30px auto 0 auto; } div.documentwrapper { float: left; width: 100%; } div.bodywrapper { margin: 0 0 0 {{ theme_sidebar_width }}; } div.sphinxsidebar { width: {{ theme_sidebar_width }}; } hr { border: 1px solid #B1B4B6; } div.body { background-color: #ffffff; color: {{ theme_body_text }}; padding: 0 30px 0 30px; } div.body > .section { text-align: {{ theme_body_text_align }}; } div.footer { width: {{ theme_page_width }}; margin: 20px auto 30px auto; font-size: 14px; color: {{ theme_footer_text }}; text-align: right; } div.footer a { color: {{ theme_footer_text }}; } {% if theme_show_related|lower == 'false' %} div.relations { display: none; } {% endif %} div.sphinxsidebar a { color: {{ theme_sidebar_link }}; text-decoration: none; border-bottom: 1px dotted {{ theme_sidebar_link_underscore }}; } div.sphinxsidebar a:hover { border-bottom: 1px solid {{ theme_sidebar_link_underscore }}; } div.sphinxsidebar { font-size: 14px; line-height: 1.5; } div.sphinxsidebarwrapper { padding: 18px 10px; } div.sphinxsidebarwrapper p.logo { padding: 0; margin: -10px 0 0 0px; text-align: center; } div.sphinxsidebarwrapper h1.logo { margin-top: -10px; text-align: center; margin-bottom: 5px; text-align: {{ theme_logo_text_align }}; } div.sphinxsidebarwrapper h1.logo-name { margin-top: 0px; } div.sphinxsidebarwrapper p.blurb { margin-top: 0; font-style: {{ theme_description_font_style }}; } div.sphinxsidebar h3, div.sphinxsidebar h4 { font-family: {{ theme_head_font_family }}; color: {{ theme_sidebar_header }}; font-size: 24px; font-weight: normal; margin: 0 0 5px 0; padding: 0; } div.sphinxsidebar h4 { font-size: 20px; } div.sphinxsidebar h3 a { color: {{ theme_sidebar_link }}; } div.sphinxsidebar p.logo a, div.sphinxsidebar h3 a, div.sphinxsidebar p.logo a:hover, div.sphinxsidebar h3 a:hover { border: none; } div.sphinxsidebar p { color: {{ theme_sidebar_text }}; margin: 10px 0; } div.sphinxsidebar ul { margin: 10px 0; padding: 0; color: {{ theme_sidebar_list }}; } div.sphinxsidebar ul li.toctree-l1 > a { font-size: 120%; } div.sphinxsidebar ul li.toctree-l2 > a { font-size: 110%; } div.sphinxsidebar input { border: 1px solid {{ theme_sidebar_search_button }}; font-family: {{ theme_font_family }}; font-size: 1em; } div.sphinxsidebar hr { border: none; height: 1px; color: {{ theme_sidebar_hr }}; background: {{ theme_sidebar_hr }}; text-align: left; margin-left: 0; width: 50%; } /* -- body styles ----------------------------------------------------------- */ a { color: {{ theme_link }}; text-decoration: underline; } a:hover { color: {{ theme_link_hover }}; text-decoration: underline; } div.body h1, div.body h2, div.body h3, div.body h4, div.body h5, div.body h6 { font-family: {{ theme_head_font_family }}; font-weight: normal; margin: 30px 0px 10px 0px; padding: 0; } div.body h1 { margin-top: 0; padding-top: 0; font-size: 240%; } div.body h2 { font-size: 180%; } div.body h3 { font-size: 150%; } div.body h4 { font-size: 130%; } div.body h5 { font-size: 100%; } div.body h6 { font-size: 100%; } a.headerlink { color: {{ theme_anchor }}; padding: 0 4px; text-decoration: none; } a.headerlink:hover { color: {{ theme_anchor_hover_fg }}; background: {{ theme_anchor_hover_bg }}; } div.body p, div.body dd, div.body li { line-height: 1.4em; } div.admonition { margin: 20px 0px; padding: 10px 30px; background-color: {{ theme_warn_bg }}; border: 1px solid {{ theme_warn_border }}; } div.admonition tt.xref, div.admonition a tt { border-bottom: 1px solid #fafafa; } dd div.admonition { margin-left: -60px; padding-left: 60px; } div.admonition p.admonition-title { font-family: {{ theme_head_font_family }}; font-weight: normal; font-size: 24px; margin: 0 0 10px 0; padding: 0; line-height: 1; } div.admonition p.last { margin-bottom: 0; } div.highlight { background-color: white; } dt:target, .highlight { background: #FAF3E8; } div.note { background-color: {{ theme_note_bg }}; border: 1px solid {{ theme_note_border }}; } div.seealso { background-color: {{ theme_seealso_bg }}; border: 1px solid {{ theme_seealso_border }}; } div.topic { background-color: #eee; } p.admonition-title { display: inline; } p.admonition-title:after { content: ":"; } pre, tt, code { font-family: {{theme_code_font_family}}; font-size: {{ theme_code_font_size }}; } .hll { background-color: {{theme_code_highlight}}; margin: 0 -12px; padding: 0 12px; display: block; } img.screenshot { } tt.descname, tt.descclassname, code.descname, code.descclassname { font-size: 0.95em; } tt.descname, code.descname { padding-right: 0.08em; } img.screenshot { -moz-box-shadow: 2px 2px 4px #eee; -webkit-box-shadow: 2px 2px 4px #eee; box-shadow: 2px 2px 4px #eee; } table.docutils { border: 1px solid #888; -moz-box-shadow: 2px 2px 4px #eee; -webkit-box-shadow: 2px 2px 4px #eee; box-shadow: 2px 2px 4px #eee; } table.docutils td, table.docutils th { border: 1px solid #888; padding: 0.25em 0.7em; } table.field-list, table.footnote { border: none; -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; } table.footnote { margin: 15px 0; width: 100%; border: 1px solid {{ theme_footnote_border }}; background: {{ theme_footnote_bg }}; font-size: 0.9em; } table.footnote + table.footnote { margin-top: -15px; border-top: none; } table.field-list th { padding: 0 0.8em 0 0; } table.field-list td { padding: 0; } table.field-list p { margin-bottom: 0.8em; } table.footnote td.label { width: 0px; padding: 0.3em 0 0.3em 0.5em; } table.footnote td { padding: 0.3em 0.5em; } dl { margin: 0; padding: 0; } dl dd { margin-left: 30px; } blockquote { margin: 0 0 0 30px; padding: 0; } ul, ol { margin: 10px 0 10px 30px; padding: 0; } pre { background: {{ theme_pre_bg }}; padding: 7px 30px; margin: 15px 0px; line-height: 1.3em; } dl pre, blockquote pre, li pre { margin-left: 0; padding-left: 30px; } dl dl pre { margin-left: -90px; padding-left: 90px; } tt, code { background-color: #ecf0f3; color: #222; /* padding: 1px 2px; */ } tt.xref, code.xref, a tt { background-color: #FBFBFB; border-bottom: 1px solid white; } a.reference { text-decoration: none; border-bottom: 1px dotted {{ theme_link }}; } a.reference:hover { border-bottom: 1px solid {{ theme_link_hover }}; } a.footnote-reference { text-decoration: none; font-size: 0.7em; vertical-align: top; border-bottom: 1px dotted {{ theme_link }}; } a.footnote-reference:hover { border-bottom: 1px solid {{ theme_link_hover }}; } a:hover tt, a:hover code { background: #EEE; } @media screen and (max-width: 870px) { div.sphinxsidebar { display: none; } div.document { width: 100%; } div.documentwrapper { margin-left: 0; margin-top: 0; margin-right: 0; margin-bottom: 0; } div.bodywrapper { margin-top: 0; margin-right: 0; margin-bottom: 0; margin-left: 0; } ul { margin-left: 0; } .document { width: auto; } .footer { width: auto; } .bodywrapper { margin: 0; } .footer { width: auto; } .github { display: none; } } @media screen and (max-width: 875px) { body { margin: 0; padding: 20px 30px; } div.documentwrapper { float: none; background: white; } div.sphinxsidebar { display: block; float: none; width: 102.5%; margin: 50px -30px -20px -30px; padding: 10px 20px; background: {{ theme_narrow_sidebar_bg }}; color: {{ theme_narrow_sidebar_fg }}; } div.sphinxsidebar h3, div.sphinxsidebar h4, div.sphinxsidebar p, div.sphinxsidebar h3 a { color: white; } div.sphinxsidebar a { color: {{ theme_narrow_sidebar_link }}; } div.sphinxsidebar p.logo { display: none; } div.document { width: 100%; margin: 0; } div.footer { display: none; } div.bodywrapper { margin: 0; } div.body { min-height: 0; padding: 0; } .rtd_doc_footer { display: none; } .document { width: auto; } .footer { width: auto; } .footer { width: auto; } .github { display: none; } } /* misc. */ .revsys-inline { display: none!important; } /* Make nested-list/multi-paragraph items look better in Releases changelog * pages. Without this, docutils' magical list fuckery causes inconsistent * formatting between different release sub-lists. */ div#changelog > div.section > ul > li > p:only-child { margin-bottom: 0; } /* Hide fugly table cell borders in ..bibliography:: directive output */ table.docutils.citation, table.docutils.citation td, table.docutils.citation th { border: none; /* Below needed in some edge cases; if not applied, bottom shadows appear */ -moz-box-shadow: none; -webkit-box-shadow: none; box-shadow: none; } alabaster-0.7.7/alabaster/support.py000066400000000000000000000114641263613222600175200ustar00rootroot00000000000000from pygments.style import Style from pygments.token import Keyword, Name, Comment, String, Error, \ Number, Operator, Generic, Whitespace, Punctuation, Other, Literal # Originally based on FlaskyStyle which was based on 'tango'. class Alabaster(Style): background_color = "#f8f8f8" # doesn't seem to override CSS 'pre' styling? default_style = "" styles = { # No corresponding class for the following: #Text: "", # class: '' Whitespace: "underline #f8f8f8", # class: 'w' Error: "#a40000 border:#ef2929", # class: 'err' Other: "#000000", # class 'x' Comment: "italic #8f5902", # class: 'c' Comment.Preproc: "noitalic", # class: 'cp' Keyword: "bold #004461", # class: 'k' Keyword.Constant: "bold #004461", # class: 'kc' Keyword.Declaration: "bold #004461", # class: 'kd' Keyword.Namespace: "bold #004461", # class: 'kn' Keyword.Pseudo: "bold #004461", # class: 'kp' Keyword.Reserved: "bold #004461", # class: 'kr' Keyword.Type: "bold #004461", # class: 'kt' Operator: "#582800", # class: 'o' Operator.Word: "bold #004461", # class: 'ow' - like keywords Punctuation: "bold #000000", # class: 'p' # because special names such as Name.Class, Name.Function, etc. # are not recognized as such later in the parsing, we choose them # to look the same as ordinary variables. Name: "#000000", # class: 'n' Name.Attribute: "#c4a000", # class: 'na' - to be revised Name.Builtin: "#004461", # class: 'nb' Name.Builtin.Pseudo: "#3465a4", # class: 'bp' Name.Class: "#000000", # class: 'nc' - to be revised Name.Constant: "#000000", # class: 'no' - to be revised Name.Decorator: "#888", # class: 'nd' - to be revised Name.Entity: "#ce5c00", # class: 'ni' Name.Exception: "bold #cc0000", # class: 'ne' Name.Function: "#000000", # class: 'nf' Name.Property: "#000000", # class: 'py' Name.Label: "#f57900", # class: 'nl' Name.Namespace: "#000000", # class: 'nn' - to be revised Name.Other: "#000000", # class: 'nx' Name.Tag: "bold #004461", # class: 'nt' - like a keyword Name.Variable: "#000000", # class: 'nv' - to be revised Name.Variable.Class: "#000000", # class: 'vc' - to be revised Name.Variable.Global: "#000000", # class: 'vg' - to be revised Name.Variable.Instance: "#000000", # class: 'vi' - to be revised Number: "#990000", # class: 'm' Literal: "#000000", # class: 'l' Literal.Date: "#000000", # class: 'ld' String: "#4e9a06", # class: 's' String.Backtick: "#4e9a06", # class: 'sb' String.Char: "#4e9a06", # class: 'sc' String.Doc: "italic #8f5902", # class: 'sd' - like a comment String.Double: "#4e9a06", # class: 's2' String.Escape: "#4e9a06", # class: 'se' String.Heredoc: "#4e9a06", # class: 'sh' String.Interpol: "#4e9a06", # class: 'si' String.Other: "#4e9a06", # class: 'sx' String.Regex: "#4e9a06", # class: 'sr' String.Single: "#4e9a06", # class: 's1' String.Symbol: "#4e9a06", # class: 'ss' Generic: "#000000", # class: 'g' Generic.Deleted: "#a40000", # class: 'gd' Generic.Emph: "italic #000000", # class: 'ge' Generic.Error: "#ef2929", # class: 'gr' Generic.Heading: "bold #000080", # class: 'gh' Generic.Inserted: "#00A000", # class: 'gi' Generic.Output: "#888", # class: 'go' Generic.Prompt: "#745334", # class: 'gp' Generic.Strong: "bold #000000", # class: 'gs' Generic.Subheading: "bold #800080", # class: 'gu' Generic.Traceback: "bold #a40000", # class: 'gt' } alabaster-0.7.7/alabaster/theme.conf000066400000000000000000000026121263613222600173760ustar00rootroot00000000000000[theme] inherit = basic stylesheet = alabaster.css pygments_style = alabaster.support.Alabaster [options] logo = logo_name = false logo_text_align = left description = description_font_style = normal github_user = github_repo = github_button = true github_banner = false github_type = watch github_count = true travis_button = false codecov_button = false gratipay_user = gittip_user = analytics_id = touch_icon = extra_nav_links = sidebar_includehidden = true show_powered_by = true show_related = false gray_1 = #444 gray_2 = #EEE gray_3 = #AAA pink_1 = #FCC pink_2 = #FAA body_text = #3E4349 body_text_align = left footer_text = #888 link = #004B6B link_hover = #6D4100 sidebar_header = sidebar_text = #555 sidebar_link = sidebar_link_underscore = #999 sidebar_search_button = #CCC sidebar_list = #000 sidebar_hr = anchor = #DDD anchor_hover_fg = anchor_hover_bg = #EAEAEA note_bg = note_border = #CCC seealso_bg = seealso_border = #CCC warn_bg = warn_border = footnote_bg = #FDFDFD footnote_border = pre_bg = narrow_sidebar_bg = #333 narrow_sidebar_fg = #FFF narrow_sidebar_link = code_font_size = 0.9em code_font_family = 'Consolas', 'Menlo', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace font_family = 'goudy old style', 'minion pro', 'bell mt', Georgia, 'Hiragino Mincho Pro', serif head_font_family = 'Garamond', 'Georgia', serif code_highlight = #FFC page_width = 940px sidebar_width = 220px alabaster-0.7.7/dev-requirements.txt000066400000000000000000000001241263613222600175230ustar00rootroot00000000000000invoke>=0.10.1 invocations>=0.6.2 semantic_version>=2.4,<2.5 wheel==0.24 twine==1.5 alabaster-0.7.7/setup.cfg000066400000000000000000000000341263613222600153040ustar00rootroot00000000000000[bdist_wheel] universal = 1 alabaster-0.7.7/setup.py000066400000000000000000000022651263613222600152050ustar00rootroot00000000000000#!/usr/bin/env python import codecs from setuptools import setup # Version info -- read without importing _locals = {} with open('alabaster/_version.py') as fp: exec(fp.read(), None, _locals) version = _locals['__version__'] # README into long description with codecs.open('README.rst', encoding='utf-8') as f: readme = f.read() setup( name='alabaster', version=version, description='A configurable sidebar-enabled Sphinx theme', long_description=readme, author='Jeff Forcier', author_email='jeff@bitprophet.org', url='https://github.com/bitprophet/alabaster', packages=['alabaster'], include_package_data=True, classifiers=[ 'Intended Audience :: Developers', 'License :: OSI Approved :: BSD License', 'Operating System :: OS Independent', 'Topic :: Documentation', 'Topic :: Software Development :: Documentation', 'Programming Language :: Python', 'Programming Language :: Python :: 2.6', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3.2', 'Programming Language :: Python :: 3.3', 'Programming Language :: Python :: 3.4', ], ) alabaster-0.7.7/tasks.py000066400000000000000000000001431263613222600151630ustar00rootroot00000000000000from invoke import Collection from invocations.packaging import release ns = Collection(release)