├── .circleci ├── artifact_path └── config.yml ├── .gitignore ├── LICENSE.txt ├── Makefile ├── README.rst ├── _static └── scipyshiny_small.png ├── _theme └── scipy │ ├── layout.html │ ├── searchbox.html │ ├── sourcelink.html │ ├── static │ ├── css │ │ ├── extend.css │ │ ├── pygments.css │ │ ├── scipy-central.css │ │ ├── spc-bootstrap.css │ │ └── spc-extend.css │ ├── img │ │ ├── glyphicons-halflings-white.png │ │ ├── glyphicons-halflings.png │ │ └── scipy_org_logo.png │ ├── js │ │ └── copybutton.js │ ├── less │ │ ├── bootstrap │ │ │ ├── accordion.less │ │ │ ├── alerts.less │ │ │ ├── bootstrap.less │ │ │ ├── breadcrumbs.less │ │ │ ├── button-groups.less │ │ │ ├── buttons.less │ │ │ ├── carousel.less │ │ │ ├── close.less │ │ │ ├── code.less │ │ │ ├── component-animations.less │ │ │ ├── dropdowns.less │ │ │ ├── forms.less │ │ │ ├── grid.less │ │ │ ├── hero-unit.less │ │ │ ├── labels-badges.less │ │ │ ├── layouts.less │ │ │ ├── media.less │ │ │ ├── mixins.less │ │ │ ├── modals.less │ │ │ ├── navbar.less │ │ │ ├── navs.less │ │ │ ├── pager.less │ │ │ ├── pagination.less │ │ │ ├── popovers.less │ │ │ ├── progress-bars.less │ │ │ ├── reset.less │ │ │ ├── responsive-1200px-min.less │ │ │ ├── responsive-767px-max.less │ │ │ ├── responsive-768px-979px.less │ │ │ ├── responsive-navbar.less │ │ │ ├── responsive-utilities.less │ │ │ ├── responsive.less │ │ │ ├── scaffolding.less │ │ │ ├── sprites.less │ │ │ ├── tables.less │ │ │ ├── thumbnails.less │ │ │ ├── tooltip.less │ │ │ ├── type.less │ │ │ ├── utilities.less │ │ │ ├── variables.less │ │ │ └── wells.less │ │ ├── spc-bootstrap.less │ │ ├── spc-content.less │ │ ├── spc-extend.less │ │ ├── spc-footer.less │ │ ├── spc-header.less │ │ ├── spc-rightsidebar.less │ │ └── spc-utils.less │ └── scipy.css_t │ └── theme.conf ├── conf.py ├── examples └── newton_krylov_preconditioning.py ├── index.rst ├── test_autodoc.rst ├── test_autodoc_2.rst ├── test_autodoc_3.rst ├── test_autodoc_4.rst └── test_optimize.rst /.circleci/artifact_path: -------------------------------------------------------------------------------- 1 | 0/html-scipyorg/index.html 2 | -------------------------------------------------------------------------------- /.circleci/config.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | jobs: 3 | build_docs: 4 | docker: 5 | # CircleCI maintains a library of pre-built images 6 | # documented at https://circleci.com/docs/2.0/circleci-images/ 7 | - image: circleci/python:3.7.0 8 | 9 | working_directory: ~/scipy-sphinx-theme 10 | 11 | steps: 12 | - checkout 13 | 14 | - run: 15 | name: clone and configure SciPy repo 16 | command: | 17 | git clone https://github.com/scipy/scipy.git ~/repo 18 | 19 | - run: 20 | name: update submodules 21 | command: | 22 | cd ~/repo 23 | git submodule init 24 | git submodule update 25 | 26 | - run: 27 | name: install Debian dependencies 28 | command: | 29 | sudo apt-get update 30 | sudo apt-get install libatlas-dev libatlas-base-dev liblapack-dev gfortran libgmp-dev libmpfr-dev libfreetype6-dev libpng-dev zlib1g zlib1g-dev texlive-fonts-recommended texlive-latex-recommended texlive-latex-extra texlive-generic-extra latexmk texlive-xetex fonts-freefont-otf 31 | 32 | - run: 33 | name: setup Python venv 34 | command: | 35 | python3 -m venv venv 36 | . venv/bin/activate 37 | pip install --install-option="--no-cython-compile" cython 38 | pip install numpy 39 | pip install nose mpmath argparse Pillow codecov matplotlib Sphinx 40 | pip install pybind11 41 | 42 | - run: 43 | name: override scipy-sphinx-theme in repo 44 | command: | 45 | cd ~/repo/doc 46 | rm -Rf scipy-sphinx-theme 47 | ln -s ~/scipy-sphinx-theme 48 | 49 | - run: 50 | name: build docs 51 | command: | 52 | . venv/bin/activate 53 | cd ~/repo 54 | export SHELL=$(which bash) 55 | python -u runtests.py -g --shell -- -c 'make -C doc PYTHON=python html-scipyorg' 56 | 57 | - store_artifacts: 58 | path: ~/repo/doc/build/html-scipyorg 59 | destination: html-scipyorg 60 | 61 | workflows: 62 | version: 2 63 | default: 64 | jobs: 65 | - build_docs 66 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | *.swp 3 | *.pyd 4 | *.so 5 | *.o 6 | *.lo 7 | *.la 8 | *~ 9 | *.bak 10 | *.swp 11 | .\#* 12 | .deps 13 | .libs 14 | .tox 15 | /_build 16 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | The following copyright statement applies to all files, excluding 2 | exceptions mentioned explicitly below: 3 | 4 | 5 | Copyright (c) 2011 Kevin Dunn, Surya K, Pauli Virtanen, the Sphinx team 6 | All rights reserved. 7 | 8 | Redistribution and use in source and binary forms, with or without 9 | modification, are permitted provided that the following conditions are 10 | met: 11 | 12 | * Redistributions of source code must retain the above copyright 13 | notice, this list of conditions and the following disclaimer. 14 | * Redistributions in binary form must reproduce the above 15 | copyright notice, this list of conditions and the following 16 | disclaimer in the documentation and/or other materials provided 17 | with the distribution. 18 | * Neither the name of the author nor the names of other 19 | contributors may be used to endorse or promote products derived 20 | from this software without specific prior written permission. 21 | 22 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 23 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 24 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 25 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 26 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 27 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 28 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 29 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 30 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 31 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 32 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 33 | 34 | 35 | Exceptions: 36 | 37 | _theme/scipy/static/copybutton.js 38 | 39 | Originates from Python; Doc/tools/sphinxext/static/copybutton.js 40 | 41 | 1. This LICENSE AGREEMENT is between the Python Software Foundation 42 | ("PSF"), and the Individual or Organization ("Licensee") accessing and 43 | otherwise using this software ("Python") in source or binary form and 44 | its associated documentation. 45 | 46 | 2. Subject to the terms and conditions of this License Agreement, PSF hereby 47 | grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce, 48 | analyze, test, perform and/or display publicly, prepare derivative works, 49 | distribute, and otherwise use Python alone or in any derivative version, 50 | provided, however, that PSF's License Agreement and PSF's notice of copyright, 51 | i.e., "Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 52 | 2011, 2012, 2013 Python Software Foundation; All Rights Reserved" are retained 53 | in Python alone or in any derivative version prepared by Licensee. 54 | 55 | 3. In the event Licensee prepares a derivative work that is based on 56 | or incorporates Python or any part thereof, and wants to make 57 | the derivative work available to others as provided herein, then 58 | Licensee hereby agrees to include in any such work a brief summary of 59 | the changes made to Python. 60 | 61 | 4. PSF is making Python available to Licensee on an "AS IS" 62 | basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR 63 | IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND 64 | DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS 65 | FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON WILL NOT 66 | INFRINGE ANY THIRD PARTY RIGHTS. 67 | 68 | 5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON 69 | FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS 70 | A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON, 71 | OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. 72 | 73 | 6. This License Agreement will automatically terminate upon a material 74 | breach of its terms and conditions. 75 | 76 | 7. Nothing in this License Agreement shall be deemed to create any 77 | relationship of agency, partnership, or joint venture between PSF and 78 | Licensee. This License Agreement does not grant permission to use PSF 79 | trademarks or trade name in a trademark sense to endorse or promote 80 | products or services of Licensee, or any third party. 81 | 82 | 8. By copying, installing or otherwise using Python, Licensee 83 | agrees to be bound by the terms and conditions of this License 84 | Agreement. 85 | 86 | _theme/scipy/static/less/bootstrap/*, 87 | _theme/scipy/static/img/glyphicons-*, 88 | _theme/scipy/static/css/spc-bootstrap.css 89 | 90 | Twitter Bootstrap v2.3.1 (and generated output CSS files) 91 | 92 | Copyright 2012 Twitter, Inc 93 | Licensed under the Apache License v2.0 94 | http://www.apache.org/licenses/LICENSE-2.0 95 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | # Makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line. 5 | SPHINXOPTS = 6 | SPHINXBUILD = sphinx-build 7 | PAPER = 8 | BUILDDIR = _build 9 | 10 | # Internal variables. 11 | PAPEROPT_a4 = -D latex_paper_size=a4 12 | PAPEROPT_letter = -D latex_paper_size=letter 13 | ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . 14 | # the i18n builder cannot share the environment and doctrees with the others 15 | I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . 16 | 17 | .PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext all css 18 | 19 | all: html 20 | 21 | css: $(wildcard _theme/scipy/static/css/*.css) 22 | 23 | _theme/scipy/static/css/%.css: _theme/scipy/static/less/%.less 24 | lessc $^ > $@.new 25 | mv -f $@.new $@ 26 | 27 | help: 28 | @echo "Please use \`make ' where is one of" 29 | @echo " html to make standalone HTML files" 30 | @echo " dirhtml to make HTML files named index.html in directories" 31 | @echo " singlehtml to make a single large HTML file" 32 | @echo " pickle to make pickle files" 33 | @echo " json to make JSON files" 34 | @echo " htmlhelp to make HTML files and a HTML help project" 35 | @echo " qthelp to make HTML files and a qthelp project" 36 | @echo " devhelp to make HTML files and a Devhelp project" 37 | @echo " epub to make an epub" 38 | @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" 39 | @echo " latexpdf to make LaTeX files and run them through pdflatex" 40 | @echo " text to make text files" 41 | @echo " man to make manual pages" 42 | @echo " texinfo to make Texinfo files" 43 | @echo " info to make Texinfo files and run them through makeinfo" 44 | @echo " gettext to make PO message catalogs" 45 | @echo " changes to make an overview of all changed/added/deprecated items" 46 | @echo " linkcheck to check all external links for integrity" 47 | @echo " doctest to run all doctests embedded in the documentation (if enabled)" 48 | 49 | clean: 50 | -rm -rf $(BUILDDIR)/* 51 | 52 | html: 53 | $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html 54 | @echo 55 | @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." 56 | -------------------------------------------------------------------------------- /README.rst: -------------------------------------------------------------------------------- 1 | scipy-sphinx-theme 2 | ================== 3 | 4 | `Sphinx `__ theme for `Scipy `__. 5 | 6 | 7 | Theme options 8 | ------------- 9 | 10 | The theme takes the following options in the `html_options` 11 | configuration variable: 12 | 13 | - ``edit_link`` 14 | 15 | ``True`` or ``False``. Determines if an "edit this page" link is displayed 16 | in the left sidebar. 17 | 18 | - ``rootlinks`` 19 | 20 | List of tuples ``(url, link_name)`` to show in the beginning of the 21 | breadcrumb list on the top left. You can override it by defining an 22 | `edit_link` block in ``searchbox.html``. 23 | 24 | - ``sidebar`` 25 | 26 | One of ``"left"``, ``"right"``, ``"none"``. Defines where the sidebar 27 | should appear. 28 | 29 | - ``scipy_org_logo`` 30 | 31 | ``True`` or ``False``. Whether to plaster the scipy.org logo on top. 32 | 33 | You can use your own logo by overriding the :attr:`layout.html:header` 34 | block. 35 | 36 | - ``navigation_links`` 37 | 38 | ``True`` or ``False``. Whether to display "next", "prev", "index", etc. 39 | links. 40 | 41 | The following blocks are defined: 42 | 43 | - ``layout.html:header`` 44 | 45 | Block at the top of the page, for logo etc. 46 | 47 | - ``searchbox.html:edit_link`` 48 | 49 | Edit link HTML code to paste in the left sidebar, if `edit_link` is enabled. 50 | -------------------------------------------------------------------------------- /_static/scipyshiny_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scipy/scipy-sphinx-theme/47c5c8fc0df705d5953fb1ec5c0ccca225ce9f58/_static/scipyshiny_small.png -------------------------------------------------------------------------------- /_theme/scipy/layout.html: -------------------------------------------------------------------------------- 1 | {# 2 | scipy/layout.html 3 | ~~~~~~~~~~~~~~~~~ 4 | 5 | Master layout template for Sphinx themes. 6 | 7 | :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS. 8 | :license: BSD, see LICENSE for details. 9 | #} 10 | {%- block doctype -%} 11 | 12 | {%- endblock %} 13 | {%- set url_root = pathto('', 1) %} 14 | {%- if url_root == '#' %}{% set url_root = '' %}{% endif %} 15 | {%- if not embedded and docstitle %} 16 | {%- set titlesuffix = " — "|safe + docstitle|e %} 17 | {%- else %} 18 | {%- set titlesuffix = "" %} 19 | {%- endif %} 20 | 21 | {%- macro relbar_top() %} 22 | 36 | {%- endmacro %} 37 | 38 | {%- macro relbar_top_right() %} 39 | 47 | {%- endmacro %} 48 | 49 | {%- macro relbar_bottom() %} 50 | {%- endmacro %} 51 | 52 | {%- macro sidebar() %} 53 |
54 |
55 | {%- block sidebarlogo %} 56 | {%- if logo %} 57 | 60 | {%- endif %} 61 | {%- endblock %} 62 | {%- if sidebars != None %} 63 | {#- new style sidebar: explicitly include/exclude templates #} 64 | {%- for sidebartemplate in sidebars %} 65 | {%- include sidebartemplate %} 66 | {%- endfor %} 67 | {%- else %} 68 | {#- old style sidebars: using blocks -- should be deprecated #} 69 | {%- block sidebartoc %} 70 | {%- include "localtoc.html" %} 71 | {%- endblock %} 72 | {%- block sidebarrel %} 73 | {%- include "relations.html" %} 74 | {%- endblock %} 75 | {%- block sidebarsourcelink %} 76 | {%- include "sourcelink.html" %} 77 | {%- endblock %} 78 | {%- if customsidebar %} 79 | {%- include customsidebar %} 80 | {%- endif %} 81 | {%- block sidebarsearch %} 82 | {%- include "searchbox.html" %} 83 | {%- endblock %} 84 | {%- endif %} 85 |
86 |
87 | {%- endmacro %} 88 | 89 | {%- macro script() %} 90 | 91 | {%- for scriptfile in script_files %} 92 | 93 | {%- endfor %} 94 | 95 | {%- endmacro %} 96 | 97 | {%- macro css() %} 98 | 99 | 100 | 101 | 102 | {%- for cssfile in css_files %} 103 | 104 | {%- endfor %} 105 | {%- endmacro %} 106 | 107 | 108 | 109 | 110 | {{ metatags }} 111 | {%- block htmltitle %} 112 | {{ title|striptags|e }}{{ titlesuffix }} 113 | {%- endblock %} 114 | {{ css() }} 115 | {%- if not embedded %} 116 | {%- block scripts %} 117 | {{ script() }} 118 | {%- endblock %} 119 | {%- if use_opensearch %} 120 | 123 | {%- endif %} 124 | {%- if favicon %} 125 | 126 | {%- endif %} 127 | {%- endif %} 128 | {%- block linktags %} 129 | {%- if hasdoc('about') %} 130 | 131 | {%- endif %} 132 | {%- if hasdoc('genindex') %} 133 | 134 | {%- endif %} 135 | {%- if hasdoc('search') %} 136 | 137 | {%- endif %} 138 | {%- if hasdoc('copyright') %} 139 | 140 | {%- endif %} 141 | 142 | {%- if parents %} 143 | 144 | {%- endif %} 145 | {%- if next %} 146 | 147 | {%- endif %} 148 | {%- if prev %} 149 | 150 | {%- endif %} 151 | {%- endblock %} 152 | {%- block extrahead %} {% endblock %} 153 | 154 | 155 | {%- block header %} 156 | {% if theme_scipy_org_logo %} 157 |
158 |
159 | 160 | SciPy 161 |
162 |
163 | 164 | {% else %} 165 |
166 |
167 |
168 |
169 | {% endif %} 170 | {% endblock %} 171 | 172 | {%- block content %} 173 |
174 |
175 | {%- block navbar %} 176 | {% if theme_navigation_links or sidebar == 'left' %} 177 |
178 |
179 |
180 | {{ relbar_top() }} 181 | {% if theme_navigation_links %} 182 | {{ relbar_top_right() }} 183 | {% endif %} 184 |
185 |
186 |
187 | {% endif %} 188 | {% endblock %} 189 |
190 | {%- if theme_sidebar == 'left' -%} 191 | {{ sidebar() }} 192 | {%- endif %} 193 | {%- if theme_sidebar == 'none' -%} 194 |
195 |
196 | {% else %} 197 |
198 | {%- endif %} 199 | {% if not theme_navigation_links and sidebar != 'left' %} 200 |
201 |
202 |
203 | {{ relbar_top() }} 204 |
205 |
206 |
207 | {% endif %} 208 | {%- block document %} 209 |
210 |
211 | {% block body %} {% endblock %} 212 |
213 |
214 | {%- endblock %} 215 |
216 | {%- if theme_sidebar == 'right' -%} 217 | {{ sidebar() }} 218 | {%- elif theme_sidebar == 'none' -%} 219 |
220 | {%- endif %} 221 |
222 |
223 |
224 | {%- endblock %} 225 | 226 |
227 |
228 | {{ relbar_bottom() }} 229 |
230 |
231 | 232 | {%- block footer %} 233 |
234 | 259 |
260 | {%- endblock %} 261 | 262 | 263 | -------------------------------------------------------------------------------- /_theme/scipy/searchbox.html: -------------------------------------------------------------------------------- 1 | {%- if theme_edit_link -%} 2 | {% block edit_link %} 3 | {%- if sourcename %} 4 |
5 | {%- if 'generated/' in sourcename %} 6 | {{_('Edit page')}} 7 | {%- else %} 8 | {{_('Edit page')}} 9 | {%- endif %} 10 |
11 | {%- endif %} 12 | {% endblock %} 13 | {%- endif -%} 14 | -------------------------------------------------------------------------------- /_theme/scipy/sourcelink.html: -------------------------------------------------------------------------------- 1 | {%- if show_source and has_source and sourcename %} 2 |

{{ _('This Page') }}

3 | 7 | {%- endif %} 8 | -------------------------------------------------------------------------------- /_theme/scipy/static/css/extend.css: -------------------------------------------------------------------------------- 1 | .container { 2 | width: 80%; 3 | } 4 | .navbar1 { 5 | padding-bottom: 10px; 6 | } 7 | .navbar1 .nav-pills { 8 | margin-bottom: 0px; 9 | font-size: 12px; 10 | } 11 | .navbar1 .nav-pills > li > a { 12 | padding-top: 2.5px; 13 | padding-bottom: 2.5px; 14 | } 15 | .navbar1 .dropdown.dropdown-menu { 16 | padding: 0px; 17 | } 18 | .header { 19 | padding-top: 30px; 20 | padding-bottom: 18px; 21 | } 22 | .SearchBar .form-search { 23 | margin-bottom: 0px; 24 | } 25 | .SearchBar .input-append input { 26 | height: 12px; 27 | } 28 | body { 29 | font-family: Segoe UI; 30 | background-color: #f9faf7; 31 | } 32 | .main { 33 | background-color: white; 34 | padding: 18px; 35 | -moz-box-shadow: 0 0 3px #888; 36 | -webkit-box-shadow: 0 0 3px #888; 37 | box-shadow: 0 0 3px #888; 38 | } 39 | .MainHeader h1 { 40 | font-weight: normal; 41 | } 42 | .content .contentTitle h4 { 43 | font-size: 18px; 44 | font-weight: normal; 45 | } 46 | .content .meta { 47 | font-size: small; 48 | } 49 | .tags .btn { 50 | border: none; 51 | font-size: 10px; 52 | font-weight: bold; 53 | } 54 | .navigation { 55 | font-size: 12px; 56 | padding-bottom: 12px; 57 | } 58 | .navigation .nav-title { 59 | color: #333333; 60 | font-family: "Segoe UI semibold"; 61 | font-size: 16px; 62 | text-transform: uppercase; 63 | } 64 | .navigation li { 65 | margin: 5px; 66 | } 67 | .snippetHeader { 68 | margin-bottom: 5px; 69 | } 70 | .snippetHeader .snippetTitle { 71 | font-size: 21px; 72 | line-height: 40px; 73 | border-bottom: 1px solid #e5e5e5; 74 | display: block; 75 | color: #333333; 76 | } 77 | .snippetInfo { 78 | padding-top: 10px; 79 | } 80 | .snippetInfo .dl-horizontal { 81 | margin: 5px; 82 | } 83 | .snippet-body { 84 | padding: 10px; 85 | } 86 | .snippet-body .accordion-group { 87 | border: none; 88 | } 89 | .snippet-body .accordion-heading { 90 | text-transform: uppercase; 91 | font-size: 14px; 92 | border-bottom: 1px solid #e5e5e5; 93 | } 94 | .snippet-body .accordion-heading .accordion-toggle { 95 | padding-top: 10px; 96 | padding-bottom: 5px; 97 | } 98 | .SearchResult { 99 | padding: 10px; 100 | padding-top: 0px; 101 | } 102 | .SearchResult .PageTitle { 103 | font-size: 21px; 104 | line-height: 40px; 105 | border-bottom: 1px solid #e5e5e5; 106 | padding-bottom: 5px; 107 | display: block; 108 | color: #333333; 109 | } 110 | .footer { 111 | padding: 10px; 112 | } 113 | .footer-inside { 114 | border-top: 1px solid #e5e5e5; 115 | padding: 10px; 116 | } 117 | -------------------------------------------------------------------------------- /_theme/scipy/static/css/pygments.css: -------------------------------------------------------------------------------- 1 | /* Styling for the source code listings: (mostly from pygments)*/ 2 | 3 | .highlight pre{ 4 | overflow: auto; 5 | padding: 5px; 6 | background-color: #ffffff; 7 | color: #333333; 8 | border: 1px solid #ac9; 9 | border-left: none; 10 | border-right: none; 11 | } 12 | 13 | /* Styling for pre elements: from http://perishablepress.com/press/2009/11/09/perfect-pre-tags/ */ 14 | /* no vertical scrollbars for IE 6 */ 15 | * html pre { 16 | padding-bottom:25px; 17 | overflow-y:hidden; 18 | overflow:visible; 19 | overflow-x:auto 20 | } 21 | /* no vertical scrollbars for IE 7 */ 22 | *:first-child+html pre { 23 | padding-bottom:25px; 24 | overflow-y:hidden; 25 | overflow:visible; 26 | overflow-x:auto 27 | } 28 | 29 | div#spc-section-body td.linenos pre { 30 | padding: 5px 0px; 31 | border: 0; 32 | background-color: transparent; 33 | color: #aaa; 34 | } 35 | .highlight .hll { background-color: #ffffcc } 36 | .highlight { background: #ffffff; } 37 | .highlight .c { color: #008000 } /* Comment */ 38 | .highlight .k { color: #000080; font-weight: bold } /* Keyword */ 39 | .highlight .n { color: #000000 } /* Name */ 40 | .highlight .o { color: #000000 } /* Operator */ 41 | .highlight .cm { color: #008000 } /* Comment.Multiline */ 42 | .highlight .cp { color: #008000 } /* Comment.Preproc */ 43 | .highlight .c1 { color: #008000 } /* Comment.Single */ 44 | .highlight .cs { color: #008000 } /* Comment.Special */ 45 | .highlight .kc { color: #000080; font-weight: bold } /* Keyword.Constant */ 46 | .highlight .kd { color: #000080; font-weight: bold } /* Keyword.Declaration */ 47 | .highlight .kn { color: #000080; font-weight: bold } /* Keyword.Namespace */ 48 | .highlight .kp { color: #000080; font-weight: bold } /* Keyword.Pseudo */ 49 | .highlight .kr { color: #000080; font-weight: bold } /* Keyword.Reserved */ 50 | .highlight .kt { color: #000080; font-weight: bold } /* Keyword.Type */ 51 | .highlight .m { color: #008080 } /* Literal.Number */ 52 | .highlight .s { color: #800080 } /* Literal.String */ 53 | .highlight .na { color: #000000 } /* Name.Attribute */ 54 | .highlight .nb { color: #407090 } /* Name.Builtin */ 55 | .highlight .nc { color: #0000F0; font-weight: bold } /* Name.Class */ 56 | .highlight .no { color: #000000 } /* Name.Constant */ 57 | .highlight .nd { color: #000000 } /* Name.Decorator */ 58 | .highlight .ni { color: #000000 } /* Name.Entity */ 59 | .highlight .ne { color: #000000 } /* Name.Exception */ 60 | .highlight .nf { color: #008080; font-weight: bold } /* Name.Function */ 61 | .highlight .nl { color: #000000 } /* Name.Label */ 62 | .highlight .nn { color: #000000 } /* Name.Namespace */ 63 | .highlight .nx { color: #000000 } /* Name.Other */ 64 | .highlight .py { color: #000000 } /* Name.Property */ 65 | .highlight .nt { color: #000000 } /* Name.Tag */ 66 | .highlight .nv { color: #000000 } /* Name.Variable */ 67 | .highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ 68 | .highlight .mf { color: #008080 } /* Literal.Number.Float */ 69 | .highlight .mh { color: #008080 } /* Literal.Number.Hex */ 70 | .highlight .mi { color: #008080 } /* Literal.Number.Integer */ 71 | .highlight .mo { color: #008080 } /* Literal.Number.Oct */ 72 | .highlight .sb { color: #800080 } /* Literal.String.Backtick */ 73 | .highlight .sc { color: #800080 } /* Literal.String.Char */ 74 | .highlight .sd { color: #800000 } /* Literal.String.Doc */ 75 | .highlight .s2 { color: #800080 } /* Literal.String.Double */ 76 | .highlight .se { color: #800080 } /* Literal.String.Escape */ 77 | .highlight .sh { color: #800080 } /* Literal.String.Heredoc */ 78 | .highlight .si { color: #800080 } /* Literal.String.Interpol */ 79 | .highlight .sx { color: #800080 } /* Literal.String.Other */ 80 | .highlight .sr { color: #800080 } /* Literal.String.Regex */ 81 | .highlight .s1 { color: #800080 } /* Literal.String.Single */ 82 | .highlight .ss { color: #800080 } /* Literal.String.Symbol */ 83 | .highlight .bp { color: #407090 } /* Name.Builtin.Pseudo */ 84 | .highlight .vc { color: #000000 } /* Name.Variable.Class */ 85 | .highlight .vg { color: #000000 } /* Name.Variable.Global */ 86 | .highlight .vi { color: #000000 } /* Name.Variable.Instance */ 87 | .highlight .il { color: #008080 } /* Literal.Number.Integer.Long */ 88 | -------------------------------------------------------------------------------- /_theme/scipy/static/css/scipy-central.css: -------------------------------------------------------------------------------- 1 | /* 2 | Styling to add still 3 | -------------------- 4 | 5 | div: spc-notice (general notices: e.g. submission requested is invalid) 6 | 7 | */ 8 | 9 | /* -------------------------------------------------------------------------*/ 10 | /* Basic layout of the document: no styling - that is applied further down. */ 11 | /* -------------------------------------------------------------------------*/ 12 | body { 13 | /* From: http://matthewjamestaylor.com/blog/perfect-3-column.htm */ 14 | margin:0; 15 | padding:0; 16 | border:0; /* This removes the border around the viewport in old versions of IE */ 17 | width:100%; 18 | background:#ffffff; 19 | min-width:600px; /* Minimum width of layout - remove line if not required */ 20 | /* The min-width property does not work in old versions of Internet Explorer */ 21 | } 22 | 23 | #spc-document-container{ 24 | position: relative; 25 | min-width: 50em; 26 | max-width: 90em; 27 | } 28 | #spc-header { 29 | clear: both; 30 | float: left; 31 | width: 100%; 32 | display: block; 33 | } 34 | .spc-header-row{ 35 | float: left; 36 | width: 100%; 37 | clear: both; 38 | } 39 | .spc-header-left{ 40 | float: left; 41 | position: relative; 42 | left: +1% 43 | } 44 | .spc-header-right{ 45 | float: right; 46 | position: relative; 47 | left: -1% 48 | } 49 | #spc-contentwrap{ 50 | display: block; 51 | overflow: hidden; 52 | } 53 | #spc-content-main{ 54 | float: left; 55 | width: 100%; 56 | } 57 | 58 | #spc-navigation-bottom{ 59 | clear: both; 60 | } 61 | #spc-footer{ 62 | clear: both; 63 | } 64 | 65 | /* -------------------------------------------- */ 66 | /* Now we will begin styling the various blocks */ 67 | /* -------------------------------------------- */ 68 | 69 | /* Document container */ 70 | #spc-document-container { 71 | font: 13px/1.5 'Lucida Grande','Lucida Sans Unicode','Geneva','Verdana',sans-serif; 72 | background: #FFFFFF; 73 | margin: auto; /* display container in the center of the page */ 74 | padding-top: 12px; 75 | } 76 | #spc-document-container img{ 77 | border: 0 78 | } 79 | #spc-document-container a:visited { /* for IE6 */ 80 | color: purple; 81 | } 82 | /* Header block styling */ 83 | .spc-header-row{ 84 | text-align: center; 85 | } 86 | .spc-header-right{ 87 | float: right; 88 | text-align: right; 89 | } 90 | #spc-site-notice{ 91 | /*display: none;*/ 92 | color: #aaf; 93 | font-weight: bold; 94 | padding: 6px 0px; 95 | border-bottom: 1px dashed #aaf; 96 | background: #eee; 97 | /*display: none; Uncomment to remove the site notice*/ 98 | } 99 | #spc-site-title{ 100 | border-bottom: 1px solid #aaa; 101 | margin-top: -2em; 102 | 103 | } 104 | 105 | #spc-top-menu{ 106 | padding-top: 0.25em; 107 | } 108 | #spc-header h1 a { 109 | color: black; 110 | text-decoration: none; 111 | text-align: center; 112 | font: 36px/1.0 'Inconsolata','Lucida Grande','Lucida Sans Unicode','Geneva','Verdana',sans-serif; 113 | font-weight: bold; 114 | } 115 | #spc-top-menu a { 116 | text-decoration: none; 117 | font-weight: bold; 118 | font: 20px 'Inconsolata','Lucida Grande','Lucida Sans Unicode','Geneva','Verdana',sans-serif; 119 | } 120 | #spc-top-menu a:hover{ 121 | text-decoration: underline; 122 | } 123 | 124 | /* contentwrap block: applies to everything in the bulk of the page */ 125 | #spc-contentwrap { 126 | } 127 | 128 | /* The major chunk of content (left side); the sidebar comes later */ 129 | #spc-content-main{ 130 | background: #FFFFFF; 131 | } 132 | 133 | /* Border */ 134 | #spc-border { 135 | margin-left: 0px; 136 | background: white; 137 | padding-top: 0em; /* Don't remove top and bottom padding: leads to */ 138 | padding-bottom: 0em; /* unwanted horizontal borders around the document.*/ 139 | padding-left: 2em; 140 | padding-right: 2em; 141 | } 142 | 143 | /* spc-section-body: the current section of the document. The Sphinx 144 | generated HTML is inserted inside this DIV element. Specific formatting for 145 | the HTML should go here */ 146 | /* ----------------------- */ 147 | #spc-section-body { 148 | margin-bottom: 1em; 149 | } 150 | 151 | /* Styling for the headers */ 152 | div#spc-section-body h1, h2, h3, h4, h5, h6{ 153 | color: #20435C; 154 | font-family: 'Trebuchet MS', sans-serif; 155 | font-weight: normal; 156 | border-bottom: 0px solid #ccc; 157 | margin-bottom: 0.5em; 158 | } 159 | div#spc-section-body h1 { font-size: 200%; font-weight: bold;} 160 | div#spc-section-body h2 { font-size: 160%; font-weight: bold; color: #101074;} 161 | div#spc-section-body h3 { font-size: 140%; color: #362A13;} 162 | div#spc-section-body h4 { font-size: 120%; } 163 | div#spc-section-body h5 { font-size: 110%; } 164 | div#spc-section-body h6 { font-size: 100%; } 165 | 166 | .spc-title-in-span{font-size: 160%; font-weight: bold; color: #101074; float: left;} 167 | 168 | /* Styling for forms */ 169 | input, select, textarea{ 170 | border:solid 1px #aacfe4; 171 | padding: 4px 2px; 172 | margin-bottom: 1em; 173 | } 174 | 175 | /* Styling for hyperlinks */ 176 | div#spc-section-body a{ 177 | text-decoration: none; 178 | } 179 | div#spc-section-body a:hover{ 180 | text-decoration: underline; 181 | } 182 | 183 | /* Styling for images and figures: images are inline, figures are centered */ 184 | div#spc-section-body .align-center{ 185 | text-align: center; 186 | } 187 | 188 | /* Styling for elements */ 189 | tt { 190 | background-color:#EEE; 191 | color:#000; 192 | font: 16px/1.0 'Inconsolata', Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, serif; 193 | } 194 | 195 | /* Main page */ 196 | #spc-site-statement{ 197 | width: 90%; 198 | margin: auto; 199 | text-align: center; 200 | padding-top: 1em; 201 | } 202 | #spc-search{ 203 | clear: both; 204 | float: none; 205 | display: block; 206 | margin: 0 auto; 207 | width: 700px; 208 | } 209 | #spc-search-form{ 210 | margin-top: 10pt; 211 | } 212 | #spc-search-input { 213 | cursor: auto; 214 | display: inline; 215 | height: 31px; 216 | float: left; 217 | width: 580px; 218 | border: 2px solid #3e5d34; 219 | padding: 0; 220 | padding-left: 0.5em; 221 | margin: 0; 222 | margin-right: 20px; 223 | color: #555; 224 | font-family: 'Inconsolata', 'Lucida Grande'; 225 | font-size: 24px; 226 | text-indent: 0px; 227 | text-shadow: none; 228 | text-transform: none; 229 | word-spacing: 0px; 230 | background: none; 231 | } 232 | #spc-search-button{ 233 | border: 1px outset #B6A792; 234 | vertical-align:middle; 235 | border:none; 236 | cursor:pointer; 237 | padding: 0; 238 | display: block; 239 | float: left; 240 | width: 80px; 241 | height: 35px; 242 | margin: 0; 243 | background: #ddd; 244 | display: inline-block; 245 | overflow: hidden; 246 | } 247 | #spc-search-results{ 248 | width: 75%; 249 | } 250 | #spc-search-results li{ 251 | margin: 0 auto; 252 | list-style-type: none; 253 | padding: 0.5em 0; 254 | float: left; 255 | } 256 | 257 | /* Submission buttons */ 258 | .spc-button-container { 259 | float: left; 260 | width: 100%; 261 | clear: both; 262 | margin-bottom:1em; 263 | } 264 | #spc-buttonlist { 265 | margin: 0 auto; 266 | list-style-type: none; 267 | padding: 0; 268 | padding-top: 2em; 269 | float: left; 270 | position: relative; 271 | left: 50%; 272 | } 273 | #spc-buttonlist li { 274 | float: left; 275 | position: relative; 276 | right: 50%; 277 | padding: 0em 1em; 278 | } 279 | #spc-buttonlist a { 280 | text-decoration: none; 281 | margin: 0 auto; 282 | display: block; 283 | } 284 | .spc-button{ 285 | background-position: 0px 0px; 286 | background-color: #DDDDDD; 287 | border: 1px outset #B6A792; 288 | cursor: auto; 289 | display: inline-block; 290 | vertical-align: middle; 291 | overflow: hidden; 292 | padding: 0; 293 | margin: 0; 294 | } 295 | 296 | /* Portals */ 297 | .spc-portal-container{ 298 | width: 65%; 299 | clear: both; 300 | padding: 0px; 301 | position: relative; 302 | display: block; 303 | margin: 0 auto; 304 | } 305 | .spc-portal-row-container { 306 | clear:both; 307 | float:left; 308 | width:100%; /* width of whole page */ 309 | overflow:hidden; /* This chops off any overhanging divs */ 310 | } 311 | .spc-portal-row { 312 | float:left; 313 | width:100%; 314 | position:relative; 315 | right:50%; /* right column width */ 316 | background:#fff; /* left column background colour */ 317 | } 318 | .spc-portal-left, 319 | .spc-portal-right{ 320 | float:left; 321 | position:relative; 322 | padding:0 0 1em 0; 323 | overflow:hidden; 324 | } 325 | .spc-portal-left { 326 | width:46%; /* left column content width (column width minus left and right padding) */ 327 | left:52%; /* right column width plus left column left padding */ 328 | } 329 | .spc-portal-right { 330 | width:46%; /* right column content width (column width minus left and right padding) */ 331 | left:56%; /* (right column width) plus (left column left and right padding) plus (right column left padding) */ 332 | } 333 | .spc-portal-container h3{ 334 | font: 14px/1.0 'Inconsolata', Monaco, Lucida Console, Sans Mono, Courier New, monospace, serif; 335 | text-align: center; 336 | border-bottom: 1px solid; 337 | } 338 | .spc-portal-container a{ 339 | text-decoration: none; 340 | font-weight: bold; 341 | font: 14px sans-serif; 342 | } 343 | .spc-portal-container a:hover{ 344 | text-decoration: underline; 345 | } 346 | .spc-portal-container ul{ 347 | list-style-type: square; 348 | } 349 | .spc-portal-container li{ 350 | margin-left: -1em; 351 | } 352 | 353 | 354 | /* Submission forms */ 355 | #spc-form-error-message{ 356 | margin-bottom: 1em; 357 | text-align: center; 358 | border-bottom:solid 1px #000; 359 | } 360 | .errorlist{ 361 | list-style-type: none; 362 | float: left; 363 | padding: 0; 364 | } 365 | .errorlist li{ 366 | font-style: italic; 367 | } 368 | .spc-field-error{ 369 | background: #ee8888; 370 | padding: 4px; 371 | } 372 | .spc-form-button{ 373 | padding: 5px; 374 | } 375 | 376 | /* column container */ 377 | /* http://matthewjamestaylor.com/blog/perfect-3-column.htm */ 378 | .colmask { 379 | position:relative; /* This fixes the IE7 overflow hidden bug */ 380 | clear:both; 381 | float:left; 382 | width:100%; /* width of whole page */ 383 | overflow:hidden; /* This chops off any overhanging divs */ 384 | padding-bottom: 1em; 385 | } 386 | /* common column settings */ 387 | .colright, 388 | .colmid, 389 | .colleft { 390 | float:left; 391 | width:100%; /* width of page */ 392 | position:relative; 393 | } 394 | .col1, 395 | .col2, 396 | .col3 { 397 | float:left; 398 | position:relative; 399 | padding:0; /* no left and right padding on columns */ 400 | overflow:hidden; 401 | } 402 | /* 3 Column settings */ 403 | .threecol { 404 | background:#fff; /* right column background colour */ 405 | } 406 | .threecol .colmid { 407 | right:25%; /* width of the right column */ 408 | background:#fff; /* center column background colour */ 409 | } 410 | .threecol .colleft { 411 | right:60%; /* width of the middle column */ 412 | background:#fff; /* left column background colour */ 413 | } 414 | .threecol .col1 { 415 | width:58%; /* width of center column content (column width minus padding on either side) */ 416 | left:101%; /* 100% plus left padding of center column */ 417 | } 418 | .threecol .col2 { 419 | width:13%; /* Width of left column content (column width minus padding on either side) */ 420 | left:28%; /* width of (right column) plus (center column left and right padding) plus (left column left padding) */ 421 | } 422 | .threecol .col3 { 423 | width:23%; /* Width of right column content (column width minus padding on either side) */ 424 | left:90%; /* Please make note of the brackets here: 425 | (100% - left column width) plus (center column left and right padding) plus (left column left and right padding) plus (right column left padding) 426 | (100-15)+(1+1)+(1+1)+(1)*/ 427 | } 428 | .form-field input, select, textarea{ 429 | width: 98%; 430 | max-width:1000px; 431 | min-width:500px; 432 | } 433 | .form-field-auto-width{ 434 | width: auto; 435 | } 436 | .spc-code-description{ 437 | height: 15em; 438 | } 439 | span.spc-helptext ul{ 440 | margin: 0; 441 | padding-left: 20px; 442 | } 443 | .spc-odd{ 444 | background: #DDF; 445 | } 446 | .spc-even{ 447 | background: #CCF; 448 | } 449 | li.spc-odd tt{ 450 | background-color: #DDF; 451 | } 452 | li.spc-even tt { 453 | background-color: #CCF; 454 | } 455 | 456 | /* Image upload */ 457 | #spc-item-upload { 458 | } 459 | #spc-item-upload-button{ 460 | padding: 0.5em; 461 | text-align: center; 462 | } 463 | .spc-item-upload-success{ 464 | background: #ffa; 465 | padding: 4px; 466 | } 467 | 468 | /* Tagging */ 469 | .ui-autocomplete { 470 | max-height: 150px; 471 | overflow-y: auto; 472 | overflow-x: hidden; /* prevent horizontal scrollbar */ 473 | padding-right: 20px; /* add padding to account for vertical scrollbar */ 474 | } 475 | /* IE 6 doesn't support max-height 476 | * we use height instead, but this forces the menu to always be this tall */ 477 | * html .ui-autocomplete { 478 | height: 100px; 479 | } 480 | .spc-tag{ 481 | background-color: #E0EAF1; 482 | color: #3E6D8E; 483 | border-bottom: 1px solid #37607D; 484 | border-right: 1px solid #37607D; 485 | text-decoration: none; 486 | padding: 4px 4px 3px 4px; 487 | margin: 2px 5px 2px 0px; 488 | font-size: 90%; 489 | line-height: 1.4; 490 | white-space: nowrap; 491 | cursor: pointer; 492 | float:left; 493 | } 494 | .spc-tag:hover{ 495 | background-color: #3E6D8E; 496 | color: #E0EAF1; 497 | } 498 | .spc-tag-cloud{ 499 | background-color: #FFF; 500 | color: #3E6D8E; 501 | border-bottom: 0px solid #37607D; 502 | border-right: 0px solid #37607D; 503 | text-decoration: none; 504 | padding: 0px 4px 0px 4px; 505 | margin: 2px 5px 2px 0px; 506 | font-size: 90%; 507 | white-space: nowrap; 508 | cursor: pointer; 509 | } 510 | .spc-tag-cloud:hover{ 511 | background-color: #FFF; 512 | color: #1E4D6E; 513 | } 514 | 515 | #spc-preview-edit-submit{ 516 | clear: both; 517 | } 518 | #spc-preview-edit-submit form input{ 519 | display: inline; 520 | padding: 5px; 521 | } 522 | #spc-item-submit{ 523 | margin-left:8em; 524 | font-weight: bold; 525 | } 526 | #spc-item-preview{ 527 | width:auto; 528 | min-width:0; 529 | padding: 0.5em; 530 | text-align:center; 531 | } 532 | 533 | #spc-item-header{ 534 | clear: both; 535 | padding: 0px; 536 | float: left; 537 | width: 102%; 538 | position: relative; 539 | display: block; 540 | margin: 0 auto; 541 | left: -1%; 542 | top: -20px; 543 | } 544 | #spc-item-header-left{ 545 | float: left; 546 | text-align: left; 547 | } 548 | #spc-item-header-right{ 549 | float: right; 550 | text-align: right; 551 | } 552 | 553 | div.spc-item-row { 554 | clear: both; 555 | padding-top: 10px; 556 | } 557 | 558 | div.spc-item-row span.spc-item-label { 559 | float: left; 560 | width: 200px; 561 | text-align: left; 562 | padding-right: 20px; 563 | padding-bottom: 4px; 564 | font-weight: bold; 565 | } 566 | 567 | div.spc-item-row span.spc-item-entry { 568 | float: left; 569 | min-width: 500px; 570 | max-width: 1000px; 571 | text-align: left; 572 | } 573 | 574 | div.spc-item-row span.spc-item-entry ul{ 575 | padding: 0; 576 | margin: 0; 577 | list-style-type: none; 578 | } 579 | 580 | div.spc-item-row span.spc-50-50{ 581 | float: left; 582 | width: 49%; 583 | text-align: left; 584 | } 585 | .spc-help-section a{ 586 | color: #0069CC; 587 | margin-top: 1em; 588 | } 589 | .spc-entries-list ul{ 590 | padding: 0; 591 | margin: 0; 592 | list-style-type: none; 593 | } 594 | /* Unstyle certain elements in the code/link description fields */ 595 | .spc-item-description p{ 596 | margin: 0; 597 | margin-bottom: 1em; 598 | } 599 | .spc-item-row pre{ 600 | border: 0px solid #FFF; 601 | overflow: auto; 602 | padding: 5px; 603 | background-color: #EEE; 604 | border: none; 605 | margin: 0; 606 | font: 16px/1.0 'Inconsolata', Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, serif; 607 | } 608 | 609 | 610 | /* Item display*/ 611 | #spc-itemdisp-container{ 612 | clear: both; 613 | padding: 0; 614 | padding-top: 1em; 615 | margin: 0 auto; 616 | width: 85%; 617 | } 618 | 619 | .spc-itemdisp-row-container { 620 | clear:both; 621 | float:left; 622 | width:100%; 623 | margin: 0 0 1em 0; 624 | } 625 | .spc-itemdisp-row { 626 | float:left; 627 | width:100%; 628 | } 629 | .spc-itemdisp-td{ 630 | float: left; 631 | padding-right: 1%; 632 | } 633 | .spc-itemdisp-description{ 634 | width: 50%; 635 | } 636 | .spc-itemdisp-link{ 637 | float: right; 638 | font-size: 80%; 639 | } 640 | div .spc-itemdisp-mainlink{ 641 | text-decoration: underline; 642 | float: left; 643 | width: 100%; 644 | } 645 | .spc-itemdisp-revinfo{ 646 | float: right; 647 | font-size: 80%; 648 | } 649 | .spc-itemdisp-created{ 650 | width: 23%; 651 | } 652 | .spc-itemdisp-tags{ 653 | width: 23%; 654 | } 655 | .spc-itemdisp-odd{ 656 | background: #fff8f1; 657 | } 658 | .spc-itemdisp-even{ 659 | background: #fff; 660 | } 661 | .spc-itemdisp-header{ 662 | background: #f1c79d; 663 | padding: 0.4em 0 0.4em 0; 664 | font-weight: bold; 665 | } 666 | #spc-itemdisp-pageheader{ 667 | text-align: center; 668 | font: 24px/1.0 'Inconsolata','Lucida Grande','Lucida Sans Unicode','Geneva','Verdana',sans-serif; 669 | font-weight: bold; 670 | } 671 | .spc-itemdisp-pagination{ 672 | float: left; 673 | } 674 | 675 | div#spc-itemdisp-container h1, h2, h3, h4, h5, h6{ 676 | font-weight: normal; 677 | border-bottom: 1px solid #ccc;} 678 | div#spc-itemdisp-container h1 { font-size: 130%; font-weight: bold;} 679 | div#spc-itemdisp-container h2 { font-size: 120%; font-weight: bold;} 680 | div#spc-itemdisp-container h3 { font-size: 110%;} 681 | div#spc-itemdisp-container h4 { font-size: 100%; } 682 | div#spc-itemdisp-container h5 { font-size: 100%; } 683 | div#spc-itemdisp-container h6 { font-size: 100%; } 684 | 685 | /* Permalinks and other minor info*/ 686 | .spc-minor-info { 687 | font-size: 80%; 688 | float: left; 689 | border-top: 1px solid #ddd; 690 | } 691 | .spc-minor-info p{ 692 | margin: 0; 693 | } 694 | .spc-minor-info a{ 695 | text-decoration: none; 696 | } 697 | .spc-minor-info a:hover{ 698 | text-decoration: underline; 699 | } 700 | 701 | /* User profile pages */ 702 | #spc-profile-user-options ul{ 703 | margin: 0 auto; 704 | padding: 0 0; 705 | } 706 | #spc-profile-user-options li{ 707 | margin: 0 auto; 708 | list-style-type: none; 709 | padding: 0 5px 0 5px; 710 | float: left; 711 | border-right: 1px solid; 712 | } 713 | #spc-profile-user-options li:first-child{ 714 | padding-left: 0px; 715 | } 716 | #spc-profile-user-options li:last-child{ 717 | border-right: none; 718 | } 719 | /* Styling for certain static pages */ 720 | #spc-static-centering{ 721 | display: block; 722 | margin: 0 auto; 723 | min-width: 30em; 724 | max-width: 50em; 725 | } 726 | 727 | /* spc-footer: http://www.alistapart.com/articles/practicalcss/ */ 728 | #spc-footer { 729 | clear: both; 730 | font-size: 90%; 731 | padding: 0px; 732 | float: left; 733 | width: 100%; 734 | position: relative; 735 | display: block; 736 | margin: 0 auto; 737 | border-top: 1px solid #aaa; 738 | } 739 | #spc-footer a{ 740 | text-decoration: none; 741 | font-weight: bold; 742 | font: 15px sans-serif; 743 | } 744 | #spc-footer a:hover{ 745 | text-decoration: underline; 746 | } 747 | .spc-footer-left{ 748 | float: left; 749 | text-align: left; 750 | } 751 | .spc-footer-right{ 752 | float: right; 753 | text-align: right; 754 | } 755 | .spc-footer-left ul{ 756 | margin: 0; 757 | padding: 0; 758 | } 759 | .spc-footer-left li{ 760 | display: inline; 761 | padding-left: 3px; 762 | padding-right: 7px; 763 | border-right: 0px solid #aaa; 764 | } 765 | .spc-indent{ 766 | margin-left: 15px; 767 | } 768 | .spc-flag{ 769 | padding-left: 1em; 770 | vertical-align: middle; 771 | } 772 | 773 | /* ---------------- */ 774 | /* Form styling */ 775 | /* ---------------- */ 776 | .spc-form{ 777 | padding-top: 2em; 778 | } 779 | 780 | .spc-form-label{ 781 | display: block; 782 | font-size: 14px; 783 | color: #444; 784 | } 785 | .spc-centering-div-container{ 786 | clear: both; 787 | margin: 0 auto; 788 | border: 1px; 789 | padding: 1em; 790 | float: left; 791 | } 792 | 793 | /* ---------------------- */ 794 | /* Miscellaneous elements */ 795 | /* ---------------------- */ 796 | -------------------------------------------------------------------------------- /_theme/scipy/static/css/spc-extend.css: -------------------------------------------------------------------------------- 1 | body { 2 | background-color: #f9faf5; 3 | } 4 | .container { 5 | width: 80%; 6 | } 7 | .main { 8 | background-color: white; 9 | padding: 18px; 10 | -moz-box-shadow: 0 0 3px #888; 11 | -webkit-box-shadow: 0 0 3px #888; 12 | box-shadow: 0 0 3px #888; 13 | } 14 | .underline { 15 | border-bottom: 1.5px solid #eeeeee; 16 | } 17 | .header { 18 | margin-top: 15px; 19 | margin-bottom: 15px; 20 | margin-left: 0px; 21 | margin-right: 0px; 22 | } 23 | .spc-navbar { 24 | margin-top: 15px; 25 | margin-bottom: 5px; 26 | margin-left: 0px; 27 | margin-right: 0px; 28 | } 29 | .spc-navbar .nav-pills { 30 | margin-bottom: 0px; 31 | font-size: 12px; 32 | } 33 | .spc-navbar .nav-pills > li > a { 34 | padding-top: 2.5px; 35 | padding-bottom: 2.5px; 36 | } 37 | .underline { 38 | border-bottom: 1.5px solid #eeeeee; 39 | } 40 | .spc-page-title h1, 41 | .spc-page-title h2, 42 | .spc-page-title h3, 43 | .spc-page-title h4 { 44 | font-weight: normal; 45 | border-bottom: 1.5px solid #eeeeee; 46 | } 47 | .tags .btn { 48 | border: none; 49 | font-size: 9.5px; 50 | font-weight: bold; 51 | } 52 | .spc-search-result-title h1, 53 | .spc-search-result-title h2, 54 | .spc-search-result-title h3, 55 | .spc-search-result-title h4 { 56 | font-weight: normal; 57 | } 58 | .spc-snippet-header { 59 | margin-bottom: 5px; 60 | } 61 | .spc-snippet-info { 62 | padding-top: 10px; 63 | } 64 | .spc-snippet-info .dl-horizontal { 65 | margin: 5px; 66 | } 67 | .spc-snippet-info .dl-horizontal dt { 68 | font-weight: normal; 69 | } 70 | .spc-snippet-body { 71 | padding: 10px; 72 | } 73 | .spc-snippet-body .accordion-group { 74 | border: none; 75 | } 76 | .spc-snippet-body .accordion-heading { 77 | text-transform: uppercase; 78 | font-size: 14px; 79 | border-bottom: 1px solid #e5e5e5; 80 | } 81 | .spc-snippet-body .accordion-heading .accordion-toggle { 82 | padding-top: 10px; 83 | padding-bottom: 5px; 84 | } 85 | .spc-rightsidebar { 86 | color: #555555; 87 | } 88 | .spc-rightsidebar .navigation { 89 | padding: 2px 10px; 90 | font-size: 11.9px; 91 | } 92 | .spc-rightsidebar .navigation .nav-title { 93 | font-weight: bold; 94 | text-transform: uppercase; 95 | } 96 | .spc-rightsidebar .navigation li { 97 | margin: 5px; 98 | } 99 | .footer { 100 | padding: 5px; 101 | font-size: small; 102 | } 103 | -------------------------------------------------------------------------------- /_theme/scipy/static/img/glyphicons-halflings-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scipy/scipy-sphinx-theme/47c5c8fc0df705d5953fb1ec5c0ccca225ce9f58/_theme/scipy/static/img/glyphicons-halflings-white.png -------------------------------------------------------------------------------- /_theme/scipy/static/img/glyphicons-halflings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scipy/scipy-sphinx-theme/47c5c8fc0df705d5953fb1ec5c0ccca225ce9f58/_theme/scipy/static/img/glyphicons-halflings.png -------------------------------------------------------------------------------- /_theme/scipy/static/img/scipy_org_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/scipy/scipy-sphinx-theme/47c5c8fc0df705d5953fb1ec5c0ccca225ce9f58/_theme/scipy/static/img/scipy_org_logo.png -------------------------------------------------------------------------------- /_theme/scipy/static/js/copybutton.js: -------------------------------------------------------------------------------- 1 | // Copyright 2014 PSF. Licensed under the PYTHON SOFTWARE FOUNDATION LICENSE VERSION 2 2 | // File originates from the cpython source found in Doc/tools/sphinxext/static/copybutton.js 3 | 4 | $(document).ready(function() { 5 | /* Add a [>>>] button on the top-right corner of code samples to hide 6 | * the >>> and ... prompts and the output and thus make the code 7 | * copyable. */ 8 | var div = $('.highlight-python .highlight,' + 9 | '.highlight-default .highlight,' + 10 | '.highlight-python3 .highlight') 11 | var pre = div.find('pre'); 12 | 13 | // get the styles from the current theme 14 | pre.parent().parent().css('position', 'relative'); 15 | var hide_text = 'Hide the prompts and output'; 16 | var show_text = 'Show the prompts and output'; 17 | var border_width = pre.css('border-top-width'); 18 | var border_style = pre.css('border-top-style'); 19 | var border_color = pre.css('border-top-color'); 20 | var button_styles = { 21 | 'cursor':'pointer', 'position': 'absolute', 'top': '0', 'right': '0', 22 | 'border-color': border_color, 'border-style': border_style, 23 | 'border-width': border_width, 'color': border_color, 'text-size': '75%', 24 | 'font-family': 'monospace', 'padding-left': '0.2em', 'padding-right': '0.2em', 25 | 'border-radius': '0 3px 0 0' 26 | } 27 | 28 | // create and add the button to all the code blocks that contain >>> 29 | div.each(function(index) { 30 | var jthis = $(this); 31 | if (jthis.find('.gp').length > 0) { 32 | var button = $('>>>'); 33 | button.css(button_styles) 34 | button.attr('title', hide_text); 35 | button.data('hidden', 'false'); 36 | jthis.prepend(button); 37 | } 38 | // tracebacks (.gt) contain bare text elements that need to be 39 | // wrapped in a span to work with .nextUntil() (see later) 40 | jthis.find('pre:has(.gt)').contents().filter(function() { 41 | return ((this.nodeType == 3) && (this.data.trim().length > 0)); 42 | }).wrap(''); 43 | }); 44 | 45 | // define the behavior of the button when it's clicked 46 | $('.copybutton').click(function(e){ 47 | e.preventDefault(); 48 | var button = $(this); 49 | if (button.data('hidden') === 'false') { 50 | // hide the code output 51 | button.parent().find('.go, .gp, .gt').hide(); 52 | button.next('pre').find('.gt').nextUntil('.gp, .go').css('visibility', 'hidden'); 53 | button.css('text-decoration', 'line-through'); 54 | button.attr('title', show_text); 55 | button.data('hidden', 'true'); 56 | } else { 57 | // show the code output 58 | button.parent().find('.go, .gp, .gt').show(); 59 | button.next('pre').find('.gt').nextUntil('.gp, .go').css('visibility', 'visible'); 60 | button.css('text-decoration', 'none'); 61 | button.attr('title', hide_text); 62 | button.data('hidden', 'false'); 63 | } 64 | }); 65 | }); 66 | 67 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/accordion.less: -------------------------------------------------------------------------------- 1 | // 2 | // Accordion 3 | // -------------------------------------------------- 4 | 5 | 6 | // Parent container 7 | .accordion { 8 | margin-bottom: @baseLineHeight; 9 | } 10 | 11 | // Group == heading + body 12 | .accordion-group { 13 | margin-bottom: 2px; 14 | border: 1px solid #e5e5e5; 15 | .border-radius(@baseBorderRadius); 16 | } 17 | .accordion-heading { 18 | border-bottom: 0; 19 | } 20 | .accordion-heading .accordion-toggle { 21 | display: block; 22 | padding: 8px 15px; 23 | } 24 | 25 | // General toggle styles 26 | .accordion-toggle { 27 | cursor: pointer; 28 | } 29 | 30 | // Inner needs the styles because you can't animate properly with any styles on the element 31 | .accordion-inner { 32 | padding: 9px 15px; 33 | border-top: 1px solid #e5e5e5; 34 | } 35 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/alerts.less: -------------------------------------------------------------------------------- 1 | // 2 | // Alerts 3 | // -------------------------------------------------- 4 | 5 | 6 | // Base styles 7 | // ------------------------- 8 | 9 | .alert { 10 | padding: 8px 35px 8px 14px; 11 | margin-bottom: @baseLineHeight; 12 | text-shadow: 0 1px 0 rgba(255,255,255,.5); 13 | background-color: @warningBackground; 14 | border: 1px solid @warningBorder; 15 | .border-radius(@baseBorderRadius); 16 | } 17 | .alert, 18 | .alert h4 { 19 | // Specified for the h4 to prevent conflicts of changing @headingsColor 20 | color: @warningText; 21 | } 22 | .alert h4 { 23 | margin: 0; 24 | } 25 | 26 | // Adjust close link position 27 | .alert .close { 28 | position: relative; 29 | top: -2px; 30 | right: -21px; 31 | line-height: @baseLineHeight; 32 | } 33 | 34 | 35 | // Alternate styles 36 | // ------------------------- 37 | 38 | .alert-success { 39 | background-color: @successBackground; 40 | border-color: @successBorder; 41 | color: @successText; 42 | } 43 | .alert-success h4 { 44 | color: @successText; 45 | } 46 | .alert-danger, 47 | .alert-error { 48 | background-color: @errorBackground; 49 | border-color: @errorBorder; 50 | color: @errorText; 51 | } 52 | .alert-danger h4, 53 | .alert-error h4 { 54 | color: @errorText; 55 | } 56 | .alert-info { 57 | background-color: @infoBackground; 58 | border-color: @infoBorder; 59 | color: @infoText; 60 | } 61 | .alert-info h4 { 62 | color: @infoText; 63 | } 64 | 65 | 66 | // Block alerts 67 | // ------------------------- 68 | 69 | .alert-block { 70 | padding-top: 14px; 71 | padding-bottom: 14px; 72 | } 73 | .alert-block > p, 74 | .alert-block > ul { 75 | margin-bottom: 0; 76 | } 77 | .alert-block p + p { 78 | margin-top: 5px; 79 | } 80 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/bootstrap.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v2.3.1 3 | * 4 | * Copyright 2012 Twitter, Inc 5 | * Licensed under the Apache License v2.0 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Designed and built with all the love in the world @twitter by @mdo and @fat. 9 | */ 10 | 11 | // Core variables and mixins 12 | @import "variables.less"; // Modify this for custom colors, font-sizes, etc 13 | @import "mixins.less"; 14 | 15 | // CSS Reset 16 | @import "reset.less"; 17 | 18 | // Grid system and page structure 19 | @import "scaffolding.less"; 20 | @import "grid.less"; 21 | @import "layouts.less"; 22 | 23 | // Base CSS 24 | @import "type.less"; 25 | @import "code.less"; 26 | @import "forms.less"; 27 | @import "tables.less"; 28 | 29 | // Components: common 30 | @import "sprites.less"; 31 | @import "dropdowns.less"; 32 | @import "wells.less"; 33 | @import "component-animations.less"; 34 | @import "close.less"; 35 | 36 | // Components: Buttons & Alerts 37 | @import "buttons.less"; 38 | @import "button-groups.less"; 39 | @import "alerts.less"; // Note: alerts share common CSS with buttons and thus have styles in buttons.less 40 | 41 | // Components: Nav 42 | @import "navs.less"; 43 | @import "navbar.less"; 44 | @import "breadcrumbs.less"; 45 | @import "pagination.less"; 46 | @import "pager.less"; 47 | 48 | // Components: Popovers 49 | @import "modals.less"; 50 | @import "tooltip.less"; 51 | @import "popovers.less"; 52 | 53 | // Components: Misc 54 | @import "thumbnails.less"; 55 | @import "media.less"; 56 | @import "labels-badges.less"; 57 | @import "progress-bars.less"; 58 | @import "accordion.less"; 59 | @import "carousel.less"; 60 | @import "hero-unit.less"; 61 | 62 | // Utility classes 63 | @import "utilities.less"; // Has to be last to override when necessary 64 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/breadcrumbs.less: -------------------------------------------------------------------------------- 1 | // 2 | // Breadcrumbs 3 | // -------------------------------------------------- 4 | 5 | 6 | .breadcrumb { 7 | padding: 8px 15px; 8 | margin: 0 0 @baseLineHeight; 9 | list-style: none; 10 | background-color: #f5f5f5; 11 | .border-radius(@baseBorderRadius); 12 | > li { 13 | display: inline-block; 14 | .ie7-inline-block(); 15 | text-shadow: 0 1px 0 @white; 16 | > .divider { 17 | padding: 0 5px; 18 | color: #ccc; 19 | } 20 | } 21 | > .active { 22 | color: @grayLight; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/button-groups.less: -------------------------------------------------------------------------------- 1 | // 2 | // Button groups 3 | // -------------------------------------------------- 4 | 5 | 6 | // Make the div behave like a button 7 | .btn-group { 8 | position: relative; 9 | display: inline-block; 10 | .ie7-inline-block(); 11 | font-size: 0; // remove as part 1 of font-size inline-block hack 12 | vertical-align: middle; // match .btn alignment given font-size hack above 13 | white-space: nowrap; // prevent buttons from wrapping when in tight spaces (e.g., the table on the tests page) 14 | .ie7-restore-left-whitespace(); 15 | } 16 | 17 | // Space out series of button groups 18 | .btn-group + .btn-group { 19 | margin-left: 5px; 20 | } 21 | 22 | // Optional: Group multiple button groups together for a toolbar 23 | .btn-toolbar { 24 | font-size: 0; // Hack to remove whitespace that results from using inline-block 25 | margin-top: @baseLineHeight / 2; 26 | margin-bottom: @baseLineHeight / 2; 27 | > .btn + .btn, 28 | > .btn-group + .btn, 29 | > .btn + .btn-group { 30 | margin-left: 5px; 31 | } 32 | } 33 | 34 | // Float them, remove border radius, then re-add to first and last elements 35 | .btn-group > .btn { 36 | position: relative; 37 | .border-radius(0); 38 | } 39 | .btn-group > .btn + .btn { 40 | margin-left: -1px; 41 | } 42 | .btn-group > .btn, 43 | .btn-group > .dropdown-menu, 44 | .btn-group > .popover { 45 | font-size: @baseFontSize; // redeclare as part 2 of font-size inline-block hack 46 | } 47 | 48 | // Reset fonts for other sizes 49 | .btn-group > .btn-mini { 50 | font-size: @fontSizeMini; 51 | } 52 | .btn-group > .btn-small { 53 | font-size: @fontSizeSmall; 54 | } 55 | .btn-group > .btn-large { 56 | font-size: @fontSizeLarge; 57 | } 58 | 59 | // Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match 60 | .btn-group > .btn:first-child { 61 | margin-left: 0; 62 | .border-top-left-radius(@baseBorderRadius); 63 | .border-bottom-left-radius(@baseBorderRadius); 64 | } 65 | // Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it 66 | .btn-group > .btn:last-child, 67 | .btn-group > .dropdown-toggle { 68 | .border-top-right-radius(@baseBorderRadius); 69 | .border-bottom-right-radius(@baseBorderRadius); 70 | } 71 | // Reset corners for large buttons 72 | .btn-group > .btn.large:first-child { 73 | margin-left: 0; 74 | .border-top-left-radius(@borderRadiusLarge); 75 | .border-bottom-left-radius(@borderRadiusLarge); 76 | } 77 | .btn-group > .btn.large:last-child, 78 | .btn-group > .large.dropdown-toggle { 79 | .border-top-right-radius(@borderRadiusLarge); 80 | .border-bottom-right-radius(@borderRadiusLarge); 81 | } 82 | 83 | // On hover/focus/active, bring the proper btn to front 84 | .btn-group > .btn:hover, 85 | .btn-group > .btn:focus, 86 | .btn-group > .btn:active, 87 | .btn-group > .btn.active { 88 | z-index: 2; 89 | } 90 | 91 | // On active and open, don't show outline 92 | .btn-group .dropdown-toggle:active, 93 | .btn-group.open .dropdown-toggle { 94 | outline: 0; 95 | } 96 | 97 | 98 | 99 | // Split button dropdowns 100 | // ---------------------- 101 | 102 | // Give the line between buttons some depth 103 | .btn-group > .btn + .dropdown-toggle { 104 | padding-left: 8px; 105 | padding-right: 8px; 106 | .box-shadow(~"inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)"); 107 | *padding-top: 5px; 108 | *padding-bottom: 5px; 109 | } 110 | .btn-group > .btn-mini + .dropdown-toggle { 111 | padding-left: 5px; 112 | padding-right: 5px; 113 | *padding-top: 2px; 114 | *padding-bottom: 2px; 115 | } 116 | .btn-group > .btn-small + .dropdown-toggle { 117 | *padding-top: 5px; 118 | *padding-bottom: 4px; 119 | } 120 | .btn-group > .btn-large + .dropdown-toggle { 121 | padding-left: 12px; 122 | padding-right: 12px; 123 | *padding-top: 7px; 124 | *padding-bottom: 7px; 125 | } 126 | 127 | .btn-group.open { 128 | 129 | // The clickable button for toggling the menu 130 | // Remove the gradient and set the same inset shadow as the :active state 131 | .dropdown-toggle { 132 | background-image: none; 133 | .box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)"); 134 | } 135 | 136 | // Keep the hover's background when dropdown is open 137 | .btn.dropdown-toggle { 138 | background-color: @btnBackgroundHighlight; 139 | } 140 | .btn-primary.dropdown-toggle { 141 | background-color: @btnPrimaryBackgroundHighlight; 142 | } 143 | .btn-warning.dropdown-toggle { 144 | background-color: @btnWarningBackgroundHighlight; 145 | } 146 | .btn-danger.dropdown-toggle { 147 | background-color: @btnDangerBackgroundHighlight; 148 | } 149 | .btn-success.dropdown-toggle { 150 | background-color: @btnSuccessBackgroundHighlight; 151 | } 152 | .btn-info.dropdown-toggle { 153 | background-color: @btnInfoBackgroundHighlight; 154 | } 155 | .btn-inverse.dropdown-toggle { 156 | background-color: @btnInverseBackgroundHighlight; 157 | } 158 | } 159 | 160 | 161 | // Reposition the caret 162 | .btn .caret { 163 | margin-top: 8px; 164 | margin-left: 0; 165 | } 166 | // Carets in other button sizes 167 | .btn-large .caret { 168 | margin-top: 6px; 169 | } 170 | .btn-large .caret { 171 | border-left-width: 5px; 172 | border-right-width: 5px; 173 | border-top-width: 5px; 174 | } 175 | .btn-mini .caret, 176 | .btn-small .caret { 177 | margin-top: 8px; 178 | } 179 | // Upside down carets for .dropup 180 | .dropup .btn-large .caret { 181 | border-bottom-width: 5px; 182 | } 183 | 184 | 185 | 186 | // Account for other colors 187 | .btn-primary, 188 | .btn-warning, 189 | .btn-danger, 190 | .btn-info, 191 | .btn-success, 192 | .btn-inverse { 193 | .caret { 194 | border-top-color: @white; 195 | border-bottom-color: @white; 196 | } 197 | } 198 | 199 | 200 | 201 | // Vertical button groups 202 | // ---------------------- 203 | 204 | .btn-group-vertical { 205 | display: inline-block; // makes buttons only take up the width they need 206 | .ie7-inline-block(); 207 | } 208 | .btn-group-vertical > .btn { 209 | display: block; 210 | float: none; 211 | max-width: 100%; 212 | .border-radius(0); 213 | } 214 | .btn-group-vertical > .btn + .btn { 215 | margin-left: 0; 216 | margin-top: -1px; 217 | } 218 | .btn-group-vertical > .btn:first-child { 219 | .border-radius(@baseBorderRadius @baseBorderRadius 0 0); 220 | } 221 | .btn-group-vertical > .btn:last-child { 222 | .border-radius(0 0 @baseBorderRadius @baseBorderRadius); 223 | } 224 | .btn-group-vertical > .btn-large:first-child { 225 | .border-radius(@borderRadiusLarge @borderRadiusLarge 0 0); 226 | } 227 | .btn-group-vertical > .btn-large:last-child { 228 | .border-radius(0 0 @borderRadiusLarge @borderRadiusLarge); 229 | } 230 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/buttons.less: -------------------------------------------------------------------------------- 1 | // 2 | // Buttons 3 | // -------------------------------------------------- 4 | 5 | 6 | // Base styles 7 | // -------------------------------------------------- 8 | 9 | // Core 10 | .btn { 11 | display: inline-block; 12 | .ie7-inline-block(); 13 | padding: 4px 12px; 14 | margin-bottom: 0; // For input.btn 15 | font-size: @baseFontSize; 16 | line-height: @baseLineHeight; 17 | text-align: center; 18 | vertical-align: middle; 19 | cursor: pointer; 20 | .buttonBackground(@btnBackground, @btnBackgroundHighlight, @grayDark, 0 1px 1px rgba(255,255,255,.75)); 21 | border: 1px solid @btnBorder; 22 | *border: 0; // Remove the border to prevent IE7's black border on input:focus 23 | border-bottom-color: darken(@btnBorder, 10%); 24 | .border-radius(@baseBorderRadius); 25 | .ie7-restore-left-whitespace(); // Give IE7 some love 26 | .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05)"); 27 | 28 | // Hover/focus state 29 | &:hover, 30 | &:focus { 31 | color: @grayDark; 32 | text-decoration: none; 33 | background-position: 0 -15px; 34 | 35 | // transition is only when going to hover/focus, otherwise the background 36 | // behind the gradient (there for IE<=9 fallback) gets mismatched 37 | .transition(background-position .1s linear); 38 | } 39 | 40 | // Focus state for keyboard and accessibility 41 | &:focus { 42 | .tab-focus(); 43 | } 44 | 45 | // Active state 46 | &.active, 47 | &:active { 48 | background-image: none; 49 | outline: 0; 50 | .box-shadow(~"inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05)"); 51 | } 52 | 53 | // Disabled state 54 | &.disabled, 55 | &[disabled] { 56 | cursor: default; 57 | background-image: none; 58 | .opacity(65); 59 | .box-shadow(none); 60 | } 61 | 62 | } 63 | 64 | 65 | 66 | // Button Sizes 67 | // -------------------------------------------------- 68 | 69 | // Large 70 | .btn-large { 71 | padding: @paddingLarge; 72 | font-size: @fontSizeLarge; 73 | .border-radius(@borderRadiusLarge); 74 | } 75 | .btn-large [class^="icon-"], 76 | .btn-large [class*=" icon-"] { 77 | margin-top: 4px; 78 | } 79 | 80 | // Small 81 | .btn-small { 82 | padding: @paddingSmall; 83 | font-size: @fontSizeSmall; 84 | .border-radius(@borderRadiusSmall); 85 | } 86 | .btn-small [class^="icon-"], 87 | .btn-small [class*=" icon-"] { 88 | margin-top: 0; 89 | } 90 | .btn-mini [class^="icon-"], 91 | .btn-mini [class*=" icon-"] { 92 | margin-top: -1px; 93 | } 94 | 95 | // Mini 96 | .btn-mini { 97 | padding: @paddingMini; 98 | font-size: @fontSizeMini; 99 | .border-radius(@borderRadiusSmall); 100 | } 101 | 102 | 103 | // Block button 104 | // ------------------------- 105 | 106 | .btn-block { 107 | display: block; 108 | width: 100%; 109 | padding-left: 0; 110 | padding-right: 0; 111 | .box-sizing(border-box); 112 | } 113 | 114 | // Vertically space out multiple block buttons 115 | .btn-block + .btn-block { 116 | margin-top: 5px; 117 | } 118 | 119 | // Specificity overrides 120 | input[type="submit"], 121 | input[type="reset"], 122 | input[type="button"] { 123 | &.btn-block { 124 | width: 100%; 125 | } 126 | } 127 | 128 | 129 | 130 | // Alternate buttons 131 | // -------------------------------------------------- 132 | 133 | // Provide *some* extra contrast for those who can get it 134 | .btn-primary.active, 135 | .btn-warning.active, 136 | .btn-danger.active, 137 | .btn-success.active, 138 | .btn-info.active, 139 | .btn-inverse.active { 140 | color: rgba(255,255,255,.75); 141 | } 142 | 143 | // Set the backgrounds 144 | // ------------------------- 145 | .btn-primary { 146 | .buttonBackground(@btnPrimaryBackground, @btnPrimaryBackgroundHighlight); 147 | } 148 | // Warning appears are orange 149 | .btn-warning { 150 | .buttonBackground(@btnWarningBackground, @btnWarningBackgroundHighlight); 151 | } 152 | // Danger and error appear as red 153 | .btn-danger { 154 | .buttonBackground(@btnDangerBackground, @btnDangerBackgroundHighlight); 155 | } 156 | // Success appears as green 157 | .btn-success { 158 | .buttonBackground(@btnSuccessBackground, @btnSuccessBackgroundHighlight); 159 | } 160 | // Info appears as a neutral blue 161 | .btn-info { 162 | .buttonBackground(@btnInfoBackground, @btnInfoBackgroundHighlight); 163 | } 164 | // Inverse appears as dark gray 165 | .btn-inverse { 166 | .buttonBackground(@btnInverseBackground, @btnInverseBackgroundHighlight); 167 | } 168 | 169 | 170 | // Cross-browser Jank 171 | // -------------------------------------------------- 172 | 173 | button.btn, 174 | input[type="submit"].btn { 175 | 176 | // Firefox 3.6 only I believe 177 | &::-moz-focus-inner { 178 | padding: 0; 179 | border: 0; 180 | } 181 | 182 | // IE7 has some default padding on button controls 183 | *padding-top: 3px; 184 | *padding-bottom: 3px; 185 | 186 | &.btn-large { 187 | *padding-top: 7px; 188 | *padding-bottom: 7px; 189 | } 190 | &.btn-small { 191 | *padding-top: 3px; 192 | *padding-bottom: 3px; 193 | } 194 | &.btn-mini { 195 | *padding-top: 1px; 196 | *padding-bottom: 1px; 197 | } 198 | } 199 | 200 | 201 | // Link buttons 202 | // -------------------------------------------------- 203 | 204 | // Make a button look and behave like a link 205 | .btn-link, 206 | .btn-link:active, 207 | .btn-link[disabled] { 208 | background-color: transparent; 209 | background-image: none; 210 | .box-shadow(none); 211 | } 212 | .btn-link { 213 | border-color: transparent; 214 | cursor: pointer; 215 | color: @linkColor; 216 | .border-radius(0); 217 | } 218 | .btn-link:hover, 219 | .btn-link:focus { 220 | color: @linkColorHover; 221 | text-decoration: underline; 222 | background-color: transparent; 223 | } 224 | .btn-link[disabled]:hover, 225 | .btn-link[disabled]:focus { 226 | color: @grayDark; 227 | text-decoration: none; 228 | } 229 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/carousel.less: -------------------------------------------------------------------------------- 1 | // 2 | // Carousel 3 | // -------------------------------------------------- 4 | 5 | 6 | .carousel { 7 | position: relative; 8 | margin-bottom: @baseLineHeight; 9 | line-height: 1; 10 | } 11 | 12 | .carousel-inner { 13 | overflow: hidden; 14 | width: 100%; 15 | position: relative; 16 | } 17 | 18 | .carousel-inner { 19 | 20 | > .item { 21 | display: none; 22 | position: relative; 23 | .transition(.6s ease-in-out left); 24 | 25 | // Account for jankitude on images 26 | > img, 27 | > a > img { 28 | display: block; 29 | line-height: 1; 30 | } 31 | } 32 | 33 | > .active, 34 | > .next, 35 | > .prev { display: block; } 36 | 37 | > .active { 38 | left: 0; 39 | } 40 | 41 | > .next, 42 | > .prev { 43 | position: absolute; 44 | top: 0; 45 | width: 100%; 46 | } 47 | 48 | > .next { 49 | left: 100%; 50 | } 51 | > .prev { 52 | left: -100%; 53 | } 54 | > .next.left, 55 | > .prev.right { 56 | left: 0; 57 | } 58 | 59 | > .active.left { 60 | left: -100%; 61 | } 62 | > .active.right { 63 | left: 100%; 64 | } 65 | 66 | } 67 | 68 | // Left/right controls for nav 69 | // --------------------------- 70 | 71 | .carousel-control { 72 | position: absolute; 73 | top: 40%; 74 | left: 15px; 75 | width: 40px; 76 | height: 40px; 77 | margin-top: -20px; 78 | font-size: 60px; 79 | font-weight: 100; 80 | line-height: 30px; 81 | color: @white; 82 | text-align: center; 83 | background: @grayDarker; 84 | border: 3px solid @white; 85 | .border-radius(23px); 86 | .opacity(50); 87 | 88 | // we can't have this transition here 89 | // because webkit cancels the carousel 90 | // animation if you trip this while 91 | // in the middle of another animation 92 | // ;_; 93 | // .transition(opacity .2s linear); 94 | 95 | // Reposition the right one 96 | &.right { 97 | left: auto; 98 | right: 15px; 99 | } 100 | 101 | // Hover/focus state 102 | &:hover, 103 | &:focus { 104 | color: @white; 105 | text-decoration: none; 106 | .opacity(90); 107 | } 108 | } 109 | 110 | // Carousel indicator pips 111 | // ----------------------------- 112 | .carousel-indicators { 113 | position: absolute; 114 | top: 15px; 115 | right: 15px; 116 | z-index: 5; 117 | margin: 0; 118 | list-style: none; 119 | 120 | li { 121 | display: block; 122 | float: left; 123 | width: 10px; 124 | height: 10px; 125 | margin-left: 5px; 126 | text-indent: -999px; 127 | background-color: #ccc; 128 | background-color: rgba(255,255,255,.25); 129 | border-radius: 5px; 130 | } 131 | .active { 132 | background-color: #fff; 133 | } 134 | } 135 | 136 | // Caption for text below images 137 | // ----------------------------- 138 | 139 | .carousel-caption { 140 | position: absolute; 141 | left: 0; 142 | right: 0; 143 | bottom: 0; 144 | padding: 15px; 145 | background: @grayDark; 146 | background: rgba(0,0,0,.75); 147 | } 148 | .carousel-caption h4, 149 | .carousel-caption p { 150 | color: @white; 151 | line-height: @baseLineHeight; 152 | } 153 | .carousel-caption h4 { 154 | margin: 0 0 5px; 155 | } 156 | .carousel-caption p { 157 | margin-bottom: 0; 158 | } 159 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/close.less: -------------------------------------------------------------------------------- 1 | // 2 | // Close icons 3 | // -------------------------------------------------- 4 | 5 | 6 | .close { 7 | float: right; 8 | font-size: 20px; 9 | font-weight: bold; 10 | line-height: @baseLineHeight; 11 | color: @black; 12 | text-shadow: 0 1px 0 rgba(255,255,255,1); 13 | .opacity(20); 14 | &:hover, 15 | &:focus { 16 | color: @black; 17 | text-decoration: none; 18 | cursor: pointer; 19 | .opacity(40); 20 | } 21 | } 22 | 23 | // Additional properties for button version 24 | // iOS requires the button element instead of an anchor tag. 25 | // If you want the anchor version, it requires `href="#"`. 26 | button.close { 27 | padding: 0; 28 | cursor: pointer; 29 | background: transparent; 30 | border: 0; 31 | -webkit-appearance: none; 32 | } -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/code.less: -------------------------------------------------------------------------------- 1 | // 2 | // Code (inline and blocK) 3 | // -------------------------------------------------- 4 | 5 | 6 | // Inline and block code styles 7 | code, 8 | pre { 9 | padding: 0 3px 2px; 10 | #font > #family > .monospace; 11 | font-size: @baseFontSize - 2; 12 | color: @grayDark; 13 | .border-radius(3px); 14 | } 15 | 16 | // Inline code 17 | code { 18 | padding: 2px 4px; 19 | color: #d14; 20 | background-color: #f7f7f9; 21 | border: 1px solid #e1e1e8; 22 | white-space: nowrap; 23 | } 24 | 25 | // Blocks of code 26 | pre { 27 | display: block; 28 | padding: (@baseLineHeight - 1) / 2; 29 | margin: 0 0 @baseLineHeight / 2; 30 | font-size: @baseFontSize - 1; // 14px to 13px 31 | line-height: @baseLineHeight; 32 | word-break: break-all; 33 | word-wrap: break-word; 34 | white-space: pre; 35 | white-space: pre-wrap; 36 | background-color: #f5f5f5; 37 | border: 1px solid #ccc; // fallback for IE7-8 38 | border: 1px solid rgba(0,0,0,.15); 39 | .border-radius(@baseBorderRadius); 40 | 41 | // Make prettyprint styles more spaced out for readability 42 | &.prettyprint { 43 | margin-bottom: @baseLineHeight; 44 | } 45 | 46 | // Account for some code outputs that place code tags in pre tags 47 | code { 48 | padding: 0; 49 | color: inherit; 50 | white-space: pre; 51 | white-space: pre-wrap; 52 | background-color: transparent; 53 | border: 0; 54 | } 55 | } 56 | 57 | // Enable scrollable blocks of code 58 | .pre-scrollable { 59 | max-height: 340px; 60 | overflow-y: scroll; 61 | } -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/component-animations.less: -------------------------------------------------------------------------------- 1 | // 2 | // Component animations 3 | // -------------------------------------------------- 4 | 5 | 6 | .fade { 7 | opacity: 0; 8 | .transition(opacity .15s linear); 9 | &.in { 10 | opacity: 1; 11 | } 12 | } 13 | 14 | .collapse { 15 | position: relative; 16 | height: 0; 17 | overflow: hidden; 18 | .transition(height .35s ease); 19 | &.in { 20 | height: auto; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/dropdowns.less: -------------------------------------------------------------------------------- 1 | // 2 | // Dropdown menus 3 | // -------------------------------------------------- 4 | 5 | 6 | // Use the .menu class on any
  • element within the topbar or ul.tabs and you'll get some superfancy dropdowns 7 | .dropup, 8 | .dropdown { 9 | position: relative; 10 | } 11 | .dropdown-toggle { 12 | // The caret makes the toggle a bit too tall in IE7 13 | *margin-bottom: -3px; 14 | } 15 | .dropdown-toggle:active, 16 | .open .dropdown-toggle { 17 | outline: 0; 18 | } 19 | 20 | // Dropdown arrow/caret 21 | // -------------------- 22 | .caret { 23 | display: inline-block; 24 | width: 0; 25 | height: 0; 26 | vertical-align: top; 27 | border-top: 4px solid @black; 28 | border-right: 4px solid transparent; 29 | border-left: 4px solid transparent; 30 | content: ""; 31 | } 32 | 33 | // Place the caret 34 | .dropdown .caret { 35 | margin-top: 8px; 36 | margin-left: 2px; 37 | } 38 | 39 | // The dropdown menu (ul) 40 | // ---------------------- 41 | .dropdown-menu { 42 | position: absolute; 43 | top: 100%; 44 | left: 0; 45 | z-index: @zindexDropdown; 46 | display: none; // none by default, but block on "open" of the menu 47 | float: left; 48 | min-width: 160px; 49 | padding: 5px 0; 50 | margin: 2px 0 0; // override default ul 51 | list-style: none; 52 | background-color: @dropdownBackground; 53 | border: 1px solid #ccc; // Fallback for IE7-8 54 | border: 1px solid @dropdownBorder; 55 | *border-right-width: 2px; 56 | *border-bottom-width: 2px; 57 | .border-radius(6px); 58 | .box-shadow(0 5px 10px rgba(0,0,0,.2)); 59 | -webkit-background-clip: padding-box; 60 | -moz-background-clip: padding; 61 | background-clip: padding-box; 62 | 63 | // Aligns the dropdown menu to right 64 | &.pull-right { 65 | right: 0; 66 | left: auto; 67 | } 68 | 69 | // Dividers (basically an hr) within the dropdown 70 | .divider { 71 | .nav-divider(@dropdownDividerTop, @dropdownDividerBottom); 72 | } 73 | 74 | // Links within the dropdown menu 75 | > li > a { 76 | display: block; 77 | padding: 3px 20px; 78 | clear: both; 79 | font-weight: normal; 80 | line-height: @baseLineHeight; 81 | color: @dropdownLinkColor; 82 | white-space: nowrap; 83 | } 84 | } 85 | 86 | // Hover/Focus state 87 | // ----------- 88 | .dropdown-menu > li > a:hover, 89 | .dropdown-menu > li > a:focus, 90 | .dropdown-submenu:hover > a, 91 | .dropdown-submenu:focus > a { 92 | text-decoration: none; 93 | color: @dropdownLinkColorHover; 94 | #gradient > .vertical(@dropdownLinkBackgroundHover, darken(@dropdownLinkBackgroundHover, 5%)); 95 | } 96 | 97 | // Active state 98 | // ------------ 99 | .dropdown-menu > .active > a, 100 | .dropdown-menu > .active > a:hover, 101 | .dropdown-menu > .active > a:focus { 102 | color: @dropdownLinkColorActive; 103 | text-decoration: none; 104 | outline: 0; 105 | #gradient > .vertical(@dropdownLinkBackgroundActive, darken(@dropdownLinkBackgroundActive, 5%)); 106 | } 107 | 108 | // Disabled state 109 | // -------------- 110 | // Gray out text and ensure the hover/focus state remains gray 111 | .dropdown-menu > .disabled > a, 112 | .dropdown-menu > .disabled > a:hover, 113 | .dropdown-menu > .disabled > a:focus { 114 | color: @grayLight; 115 | } 116 | // Nuke hover/focus effects 117 | .dropdown-menu > .disabled > a:hover, 118 | .dropdown-menu > .disabled > a:focus { 119 | text-decoration: none; 120 | background-color: transparent; 121 | background-image: none; // Remove CSS gradient 122 | .reset-filter(); 123 | cursor: default; 124 | } 125 | 126 | // Open state for the dropdown 127 | // --------------------------- 128 | .open { 129 | // IE7's z-index only goes to the nearest positioned ancestor, which would 130 | // make the menu appear below buttons that appeared later on the page 131 | *z-index: @zindexDropdown; 132 | 133 | & > .dropdown-menu { 134 | display: block; 135 | } 136 | } 137 | 138 | // Right aligned dropdowns 139 | // --------------------------- 140 | .pull-right > .dropdown-menu { 141 | right: 0; 142 | left: auto; 143 | } 144 | 145 | // Allow for dropdowns to go bottom up (aka, dropup-menu) 146 | // ------------------------------------------------------ 147 | // Just add .dropup after the standard .dropdown class and you're set, bro. 148 | // TODO: abstract this so that the navbar fixed styles are not placed here? 149 | .dropup, 150 | .navbar-fixed-bottom .dropdown { 151 | // Reverse the caret 152 | .caret { 153 | border-top: 0; 154 | border-bottom: 4px solid @black; 155 | content: ""; 156 | } 157 | // Different positioning for bottom up menu 158 | .dropdown-menu { 159 | top: auto; 160 | bottom: 100%; 161 | margin-bottom: 1px; 162 | } 163 | } 164 | 165 | // Sub menus 166 | // --------------------------- 167 | .dropdown-submenu { 168 | position: relative; 169 | } 170 | // Default dropdowns 171 | .dropdown-submenu > .dropdown-menu { 172 | top: 0; 173 | left: 100%; 174 | margin-top: -6px; 175 | margin-left: -1px; 176 | .border-radius(0 6px 6px 6px); 177 | } 178 | .dropdown-submenu:hover > .dropdown-menu { 179 | display: block; 180 | } 181 | 182 | // Dropups 183 | .dropup .dropdown-submenu > .dropdown-menu { 184 | top: auto; 185 | bottom: 0; 186 | margin-top: 0; 187 | margin-bottom: -2px; 188 | .border-radius(5px 5px 5px 0); 189 | } 190 | 191 | // Caret to indicate there is a submenu 192 | .dropdown-submenu > a:after { 193 | display: block; 194 | content: " "; 195 | float: right; 196 | width: 0; 197 | height: 0; 198 | border-color: transparent; 199 | border-style: solid; 200 | border-width: 5px 0 5px 5px; 201 | border-left-color: darken(@dropdownBackground, 20%); 202 | margin-top: 5px; 203 | margin-right: -10px; 204 | } 205 | .dropdown-submenu:hover > a:after { 206 | border-left-color: @dropdownLinkColorHover; 207 | } 208 | 209 | // Left aligned submenus 210 | .dropdown-submenu.pull-left { 211 | // Undo the float 212 | // Yes, this is awkward since .pull-left adds a float, but it sticks to our conventions elsewhere. 213 | float: none; 214 | 215 | // Positioning the submenu 216 | > .dropdown-menu { 217 | left: -100%; 218 | margin-left: 10px; 219 | .border-radius(6px 0 6px 6px); 220 | } 221 | } 222 | 223 | // Tweak nav headers 224 | // ----------------- 225 | // Increase padding from 15px to 20px on sides 226 | .dropdown .dropdown-menu .nav-header { 227 | padding-left: 20px; 228 | padding-right: 20px; 229 | } 230 | 231 | // Typeahead 232 | // --------- 233 | .typeahead { 234 | z-index: 1051; 235 | margin-top: 2px; // give it some space to breathe 236 | .border-radius(@baseBorderRadius); 237 | } 238 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/forms.less: -------------------------------------------------------------------------------- 1 | // 2 | // Forms 3 | // -------------------------------------------------- 4 | 5 | 6 | // GENERAL STYLES 7 | // -------------- 8 | 9 | // Make all forms have space below them 10 | form { 11 | margin: 0 0 @baseLineHeight; 12 | } 13 | 14 | fieldset { 15 | padding: 0; 16 | margin: 0; 17 | border: 0; 18 | } 19 | 20 | // Groups of fields with labels on top (legends) 21 | legend { 22 | display: block; 23 | width: 100%; 24 | padding: 0; 25 | margin-bottom: @baseLineHeight; 26 | font-size: @baseFontSize * 1.5; 27 | line-height: @baseLineHeight * 2; 28 | color: @grayDark; 29 | border: 0; 30 | border-bottom: 1px solid #e5e5e5; 31 | 32 | // Small 33 | small { 34 | font-size: @baseLineHeight * .75; 35 | color: @grayLight; 36 | } 37 | } 38 | 39 | // Set font for forms 40 | label, 41 | input, 42 | button, 43 | select, 44 | textarea { 45 | #font > .shorthand(@baseFontSize,normal,@baseLineHeight); // Set size, weight, line-height here 46 | } 47 | input, 48 | button, 49 | select, 50 | textarea { 51 | font-family: @baseFontFamily; // And only set font-family here for those that need it (note the missing label element) 52 | } 53 | 54 | // Identify controls by their labels 55 | label { 56 | display: block; 57 | margin-bottom: 5px; 58 | } 59 | 60 | // Form controls 61 | // ------------------------- 62 | 63 | // Shared size and type resets 64 | select, 65 | textarea, 66 | input[type="text"], 67 | input[type="password"], 68 | input[type="datetime"], 69 | input[type="datetime-local"], 70 | input[type="date"], 71 | input[type="month"], 72 | input[type="time"], 73 | input[type="week"], 74 | input[type="number"], 75 | input[type="email"], 76 | input[type="url"], 77 | input[type="search"], 78 | input[type="tel"], 79 | input[type="color"], 80 | .uneditable-input { 81 | display: inline-block; 82 | height: @baseLineHeight; 83 | padding: 4px 6px; 84 | margin-bottom: @baseLineHeight / 2; 85 | font-size: @baseFontSize; 86 | line-height: @baseLineHeight; 87 | color: @gray; 88 | .border-radius(@inputBorderRadius); 89 | vertical-align: middle; 90 | } 91 | 92 | // Reset appearance properties for textual inputs and textarea 93 | // Declare width for legacy (can't be on input[type=*] selectors or it's too specific) 94 | input, 95 | textarea, 96 | .uneditable-input { 97 | width: 206px; // plus 12px padding and 2px border 98 | } 99 | // Reset height since textareas have rows 100 | textarea { 101 | height: auto; 102 | } 103 | // Everything else 104 | textarea, 105 | input[type="text"], 106 | input[type="password"], 107 | input[type="datetime"], 108 | input[type="datetime-local"], 109 | input[type="date"], 110 | input[type="month"], 111 | input[type="time"], 112 | input[type="week"], 113 | input[type="number"], 114 | input[type="email"], 115 | input[type="url"], 116 | input[type="search"], 117 | input[type="tel"], 118 | input[type="color"], 119 | .uneditable-input { 120 | background-color: @inputBackground; 121 | border: 1px solid @inputBorder; 122 | .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); 123 | .transition(~"border linear .2s, box-shadow linear .2s"); 124 | 125 | // Focus state 126 | &:focus { 127 | border-color: rgba(82,168,236,.8); 128 | outline: 0; 129 | outline: thin dotted \9; /* IE6-9 */ 130 | .box-shadow(~"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6)"); 131 | } 132 | } 133 | 134 | // Position radios and checkboxes better 135 | input[type="radio"], 136 | input[type="checkbox"] { 137 | margin: 4px 0 0; 138 | *margin-top: 0; /* IE7 */ 139 | margin-top: 1px \9; /* IE8-9 */ 140 | line-height: normal; 141 | } 142 | 143 | // Reset width of input images, buttons, radios, checkboxes 144 | input[type="file"], 145 | input[type="image"], 146 | input[type="submit"], 147 | input[type="reset"], 148 | input[type="button"], 149 | input[type="radio"], 150 | input[type="checkbox"] { 151 | width: auto; // Override of generic input selector 152 | } 153 | 154 | // Set the height of select and file controls to match text inputs 155 | select, 156 | input[type="file"] { 157 | height: @inputHeight; /* In IE7, the height of the select element cannot be changed by height, only font-size */ 158 | *margin-top: 4px; /* For IE7, add top margin to align select with labels */ 159 | line-height: @inputHeight; 160 | } 161 | 162 | // Make select elements obey height by applying a border 163 | select { 164 | width: 220px; // default input width + 10px of padding that doesn't get applied 165 | border: 1px solid @inputBorder; 166 | background-color: @inputBackground; // Chrome on Linux and Mobile Safari need background-color 167 | } 168 | 169 | // Make multiple select elements height not fixed 170 | select[multiple], 171 | select[size] { 172 | height: auto; 173 | } 174 | 175 | // Focus for select, file, radio, and checkbox 176 | select:focus, 177 | input[type="file"]:focus, 178 | input[type="radio"]:focus, 179 | input[type="checkbox"]:focus { 180 | .tab-focus(); 181 | } 182 | 183 | 184 | // Uneditable inputs 185 | // ------------------------- 186 | 187 | // Make uneditable inputs look inactive 188 | .uneditable-input, 189 | .uneditable-textarea { 190 | color: @grayLight; 191 | background-color: darken(@inputBackground, 1%); 192 | border-color: @inputBorder; 193 | .box-shadow(inset 0 1px 2px rgba(0,0,0,.025)); 194 | cursor: not-allowed; 195 | } 196 | 197 | // For text that needs to appear as an input but should not be an input 198 | .uneditable-input { 199 | overflow: hidden; // prevent text from wrapping, but still cut it off like an input does 200 | white-space: nowrap; 201 | } 202 | 203 | // Make uneditable textareas behave like a textarea 204 | .uneditable-textarea { 205 | width: auto; 206 | height: auto; 207 | } 208 | 209 | 210 | // Placeholder 211 | // ------------------------- 212 | 213 | // Placeholder text gets special styles because when browsers invalidate entire lines if it doesn't understand a selector 214 | input, 215 | textarea { 216 | .placeholder(); 217 | } 218 | 219 | 220 | // CHECKBOXES & RADIOS 221 | // ------------------- 222 | 223 | // Indent the labels to position radios/checkboxes as hanging 224 | .radio, 225 | .checkbox { 226 | min-height: @baseLineHeight; // clear the floating input if there is no label text 227 | padding-left: 20px; 228 | } 229 | .radio input[type="radio"], 230 | .checkbox input[type="checkbox"] { 231 | float: left; 232 | margin-left: -20px; 233 | } 234 | 235 | // Move the options list down to align with labels 236 | .controls > .radio:first-child, 237 | .controls > .checkbox:first-child { 238 | padding-top: 5px; // has to be padding because margin collaspes 239 | } 240 | 241 | // Radios and checkboxes on same line 242 | // TODO v3: Convert .inline to .control-inline 243 | .radio.inline, 244 | .checkbox.inline { 245 | display: inline-block; 246 | padding-top: 5px; 247 | margin-bottom: 0; 248 | vertical-align: middle; 249 | } 250 | .radio.inline + .radio.inline, 251 | .checkbox.inline + .checkbox.inline { 252 | margin-left: 10px; // space out consecutive inline controls 253 | } 254 | 255 | 256 | 257 | // INPUT SIZES 258 | // ----------- 259 | 260 | // General classes for quick sizes 261 | .input-mini { width: 60px; } 262 | .input-small { width: 90px; } 263 | .input-medium { width: 150px; } 264 | .input-large { width: 210px; } 265 | .input-xlarge { width: 270px; } 266 | .input-xxlarge { width: 530px; } 267 | 268 | // Grid style input sizes 269 | input[class*="span"], 270 | select[class*="span"], 271 | textarea[class*="span"], 272 | .uneditable-input[class*="span"], 273 | // Redeclare since the fluid row class is more specific 274 | .row-fluid input[class*="span"], 275 | .row-fluid select[class*="span"], 276 | .row-fluid textarea[class*="span"], 277 | .row-fluid .uneditable-input[class*="span"] { 278 | float: none; 279 | margin-left: 0; 280 | } 281 | // Ensure input-prepend/append never wraps 282 | .input-append input[class*="span"], 283 | .input-append .uneditable-input[class*="span"], 284 | .input-prepend input[class*="span"], 285 | .input-prepend .uneditable-input[class*="span"], 286 | .row-fluid input[class*="span"], 287 | .row-fluid select[class*="span"], 288 | .row-fluid textarea[class*="span"], 289 | .row-fluid .uneditable-input[class*="span"], 290 | .row-fluid .input-prepend [class*="span"], 291 | .row-fluid .input-append [class*="span"] { 292 | display: inline-block; 293 | } 294 | 295 | 296 | 297 | // GRID SIZING FOR INPUTS 298 | // ---------------------- 299 | 300 | // Grid sizes 301 | #grid > .input(@gridColumnWidth, @gridGutterWidth); 302 | 303 | // Control row for multiple inputs per line 304 | .controls-row { 305 | .clearfix(); // Clear the float from controls 306 | } 307 | 308 | // Float to collapse white-space for proper grid alignment 309 | .controls-row [class*="span"], 310 | // Redeclare the fluid grid collapse since we undo the float for inputs 311 | .row-fluid .controls-row [class*="span"] { 312 | float: left; 313 | } 314 | // Explicitly set top padding on all checkboxes/radios, not just first-child 315 | .controls-row .checkbox[class*="span"], 316 | .controls-row .radio[class*="span"] { 317 | padding-top: 5px; 318 | } 319 | 320 | 321 | 322 | 323 | // DISABLED STATE 324 | // -------------- 325 | 326 | // Disabled and read-only inputs 327 | input[disabled], 328 | select[disabled], 329 | textarea[disabled], 330 | input[readonly], 331 | select[readonly], 332 | textarea[readonly] { 333 | cursor: not-allowed; 334 | background-color: @inputDisabledBackground; 335 | } 336 | // Explicitly reset the colors here 337 | input[type="radio"][disabled], 338 | input[type="checkbox"][disabled], 339 | input[type="radio"][readonly], 340 | input[type="checkbox"][readonly] { 341 | background-color: transparent; 342 | } 343 | 344 | 345 | 346 | 347 | // FORM FIELD FEEDBACK STATES 348 | // -------------------------- 349 | 350 | // Warning 351 | .control-group.warning { 352 | .formFieldState(@warningText, @warningText, @warningBackground); 353 | } 354 | // Error 355 | .control-group.error { 356 | .formFieldState(@errorText, @errorText, @errorBackground); 357 | } 358 | // Success 359 | .control-group.success { 360 | .formFieldState(@successText, @successText, @successBackground); 361 | } 362 | // Success 363 | .control-group.info { 364 | .formFieldState(@infoText, @infoText, @infoBackground); 365 | } 366 | 367 | // HTML5 invalid states 368 | // Shares styles with the .control-group.error above 369 | input:focus:invalid, 370 | textarea:focus:invalid, 371 | select:focus:invalid { 372 | color: #b94a48; 373 | border-color: #ee5f5b; 374 | &:focus { 375 | border-color: darken(#ee5f5b, 10%); 376 | @shadow: 0 0 6px lighten(#ee5f5b, 20%); 377 | .box-shadow(@shadow); 378 | } 379 | } 380 | 381 | 382 | 383 | // FORM ACTIONS 384 | // ------------ 385 | 386 | .form-actions { 387 | padding: (@baseLineHeight - 1) 20px @baseLineHeight; 388 | margin-top: @baseLineHeight; 389 | margin-bottom: @baseLineHeight; 390 | background-color: @formActionsBackground; 391 | border-top: 1px solid #e5e5e5; 392 | .clearfix(); // Adding clearfix to allow for .pull-right button containers 393 | } 394 | 395 | 396 | 397 | // HELP TEXT 398 | // --------- 399 | 400 | .help-block, 401 | .help-inline { 402 | color: lighten(@textColor, 15%); // lighten the text some for contrast 403 | } 404 | 405 | .help-block { 406 | display: block; // account for any element using help-block 407 | margin-bottom: @baseLineHeight / 2; 408 | } 409 | 410 | .help-inline { 411 | display: inline-block; 412 | .ie7-inline-block(); 413 | vertical-align: middle; 414 | padding-left: 5px; 415 | } 416 | 417 | 418 | 419 | // INPUT GROUPS 420 | // ------------ 421 | 422 | // Allow us to put symbols and text within the input field for a cleaner look 423 | .input-append, 424 | .input-prepend { 425 | display: inline-block; 426 | margin-bottom: @baseLineHeight / 2; 427 | vertical-align: middle; 428 | font-size: 0; // white space collapse hack 429 | white-space: nowrap; // Prevent span and input from separating 430 | 431 | // Reset the white space collapse hack 432 | input, 433 | select, 434 | .uneditable-input, 435 | .dropdown-menu, 436 | .popover { 437 | font-size: @baseFontSize; 438 | } 439 | 440 | input, 441 | select, 442 | .uneditable-input { 443 | position: relative; // placed here by default so that on :focus we can place the input above the .add-on for full border and box-shadow goodness 444 | margin-bottom: 0; // prevent bottom margin from screwing up alignment in stacked forms 445 | *margin-left: 0; 446 | vertical-align: top; 447 | .border-radius(0 @inputBorderRadius @inputBorderRadius 0); 448 | // Make input on top when focused so blue border and shadow always show 449 | &:focus { 450 | z-index: 2; 451 | } 452 | } 453 | .add-on { 454 | display: inline-block; 455 | width: auto; 456 | height: @baseLineHeight; 457 | min-width: 16px; 458 | padding: 4px 5px; 459 | font-size: @baseFontSize; 460 | font-weight: normal; 461 | line-height: @baseLineHeight; 462 | text-align: center; 463 | text-shadow: 0 1px 0 @white; 464 | background-color: @grayLighter; 465 | border: 1px solid #ccc; 466 | } 467 | .add-on, 468 | .btn, 469 | .btn-group > .dropdown-toggle { 470 | vertical-align: top; 471 | .border-radius(0); 472 | } 473 | .active { 474 | background-color: lighten(@green, 30); 475 | border-color: @green; 476 | } 477 | } 478 | 479 | .input-prepend { 480 | .add-on, 481 | .btn { 482 | margin-right: -1px; 483 | } 484 | .add-on:first-child, 485 | .btn:first-child { 486 | // FYI, `.btn:first-child` accounts for a button group that's prepended 487 | .border-radius(@inputBorderRadius 0 0 @inputBorderRadius); 488 | } 489 | } 490 | 491 | .input-append { 492 | input, 493 | select, 494 | .uneditable-input { 495 | .border-radius(@inputBorderRadius 0 0 @inputBorderRadius); 496 | + .btn-group .btn:last-child { 497 | .border-radius(0 @inputBorderRadius @inputBorderRadius 0); 498 | } 499 | } 500 | .add-on, 501 | .btn, 502 | .btn-group { 503 | margin-left: -1px; 504 | } 505 | .add-on:last-child, 506 | .btn:last-child, 507 | .btn-group:last-child > .dropdown-toggle { 508 | .border-radius(0 @inputBorderRadius @inputBorderRadius 0); 509 | } 510 | } 511 | 512 | // Remove all border-radius for inputs with both prepend and append 513 | .input-prepend.input-append { 514 | input, 515 | select, 516 | .uneditable-input { 517 | .border-radius(0); 518 | + .btn-group .btn { 519 | .border-radius(0 @inputBorderRadius @inputBorderRadius 0); 520 | } 521 | } 522 | .add-on:first-child, 523 | .btn:first-child { 524 | margin-right: -1px; 525 | .border-radius(@inputBorderRadius 0 0 @inputBorderRadius); 526 | } 527 | .add-on:last-child, 528 | .btn:last-child { 529 | margin-left: -1px; 530 | .border-radius(0 @inputBorderRadius @inputBorderRadius 0); 531 | } 532 | .btn-group:first-child { 533 | margin-left: 0; 534 | } 535 | } 536 | 537 | 538 | 539 | 540 | // SEARCH FORM 541 | // ----------- 542 | 543 | input.search-query { 544 | padding-right: 14px; 545 | padding-right: 4px \9; 546 | padding-left: 14px; 547 | padding-left: 4px \9; /* IE7-8 doesn't have border-radius, so don't indent the padding */ 548 | margin-bottom: 0; // Remove the default margin on all inputs 549 | .border-radius(15px); 550 | } 551 | 552 | /* Allow for input prepend/append in search forms */ 553 | .form-search .input-append .search-query, 554 | .form-search .input-prepend .search-query { 555 | .border-radius(0); // Override due to specificity 556 | } 557 | .form-search .input-append .search-query { 558 | .border-radius(14px 0 0 14px); 559 | } 560 | .form-search .input-append .btn { 561 | .border-radius(0 14px 14px 0); 562 | } 563 | .form-search .input-prepend .search-query { 564 | .border-radius(0 14px 14px 0); 565 | } 566 | .form-search .input-prepend .btn { 567 | .border-radius(14px 0 0 14px); 568 | } 569 | 570 | 571 | 572 | 573 | // HORIZONTAL & VERTICAL FORMS 574 | // --------------------------- 575 | 576 | // Common properties 577 | // ----------------- 578 | 579 | .form-search, 580 | .form-inline, 581 | .form-horizontal { 582 | input, 583 | textarea, 584 | select, 585 | .help-inline, 586 | .uneditable-input, 587 | .input-prepend, 588 | .input-append { 589 | display: inline-block; 590 | .ie7-inline-block(); 591 | margin-bottom: 0; 592 | vertical-align: middle; 593 | } 594 | // Re-hide hidden elements due to specifity 595 | .hide { 596 | display: none; 597 | } 598 | } 599 | .form-search label, 600 | .form-inline label, 601 | .form-search .btn-group, 602 | .form-inline .btn-group { 603 | display: inline-block; 604 | } 605 | // Remove margin for input-prepend/-append 606 | .form-search .input-append, 607 | .form-inline .input-append, 608 | .form-search .input-prepend, 609 | .form-inline .input-prepend { 610 | margin-bottom: 0; 611 | } 612 | // Inline checkbox/radio labels (remove padding on left) 613 | .form-search .radio, 614 | .form-search .checkbox, 615 | .form-inline .radio, 616 | .form-inline .checkbox { 617 | padding-left: 0; 618 | margin-bottom: 0; 619 | vertical-align: middle; 620 | } 621 | // Remove float and margin, set to inline-block 622 | .form-search .radio input[type="radio"], 623 | .form-search .checkbox input[type="checkbox"], 624 | .form-inline .radio input[type="radio"], 625 | .form-inline .checkbox input[type="checkbox"] { 626 | float: left; 627 | margin-right: 3px; 628 | margin-left: 0; 629 | } 630 | 631 | 632 | // Margin to space out fieldsets 633 | .control-group { 634 | margin-bottom: @baseLineHeight / 2; 635 | } 636 | 637 | // Legend collapses margin, so next element is responsible for spacing 638 | legend + .control-group { 639 | margin-top: @baseLineHeight; 640 | -webkit-margin-top-collapse: separate; 641 | } 642 | 643 | // Horizontal-specific styles 644 | // -------------------------- 645 | 646 | .form-horizontal { 647 | // Increase spacing between groups 648 | .control-group { 649 | margin-bottom: @baseLineHeight; 650 | .clearfix(); 651 | } 652 | // Float the labels left 653 | .control-label { 654 | float: left; 655 | width: @horizontalComponentOffset - 20; 656 | padding-top: 5px; 657 | text-align: right; 658 | } 659 | // Move over all input controls and content 660 | .controls { 661 | // Super jank IE7 fix to ensure the inputs in .input-append and input-prepend 662 | // don't inherit the margin of the parent, in this case .controls 663 | *display: inline-block; 664 | *padding-left: 20px; 665 | margin-left: @horizontalComponentOffset; 666 | *margin-left: 0; 667 | &:first-child { 668 | *padding-left: @horizontalComponentOffset; 669 | } 670 | } 671 | // Remove bottom margin on block level help text since that's accounted for on .control-group 672 | .help-block { 673 | margin-bottom: 0; 674 | } 675 | // And apply it only to .help-block instances that follow a form control 676 | input, 677 | select, 678 | textarea, 679 | .uneditable-input, 680 | .input-prepend, 681 | .input-append { 682 | + .help-block { 683 | margin-top: @baseLineHeight / 2; 684 | } 685 | } 686 | // Move over buttons in .form-actions to align with .controls 687 | .form-actions { 688 | padding-left: @horizontalComponentOffset; 689 | } 690 | } 691 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/grid.less: -------------------------------------------------------------------------------- 1 | // 2 | // Grid system 3 | // -------------------------------------------------- 4 | 5 | 6 | // Fixed (940px) 7 | #grid > .core(@gridColumnWidth, @gridGutterWidth); 8 | 9 | // Fluid (940px) 10 | #grid > .fluid(@fluidGridColumnWidth, @fluidGridGutterWidth); 11 | 12 | // Reset utility classes due to specificity 13 | [class*="span"].hide, 14 | .row-fluid [class*="span"].hide { 15 | display: none; 16 | } 17 | 18 | [class*="span"].pull-right, 19 | .row-fluid [class*="span"].pull-right { 20 | float: right; 21 | } 22 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/hero-unit.less: -------------------------------------------------------------------------------- 1 | // 2 | // Hero unit 3 | // -------------------------------------------------- 4 | 5 | 6 | .hero-unit { 7 | padding: 60px; 8 | margin-bottom: 30px; 9 | font-size: 18px; 10 | font-weight: 200; 11 | line-height: @baseLineHeight * 1.5; 12 | color: @heroUnitLeadColor; 13 | background-color: @heroUnitBackground; 14 | .border-radius(6px); 15 | h1 { 16 | margin-bottom: 0; 17 | font-size: 60px; 18 | line-height: 1; 19 | color: @heroUnitHeadingColor; 20 | letter-spacing: -1px; 21 | } 22 | li { 23 | line-height: @baseLineHeight * 1.5; // Reset since we specify in type.less 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/labels-badges.less: -------------------------------------------------------------------------------- 1 | // 2 | // Labels and badges 3 | // -------------------------------------------------- 4 | 5 | 6 | // Base classes 7 | .label, 8 | .badge { 9 | display: inline-block; 10 | padding: 2px 4px; 11 | font-size: @baseFontSize * .846; 12 | font-weight: bold; 13 | line-height: 14px; // ensure proper line-height if floated 14 | color: @white; 15 | vertical-align: baseline; 16 | white-space: nowrap; 17 | text-shadow: 0 -1px 0 rgba(0,0,0,.25); 18 | background-color: @grayLight; 19 | } 20 | // Set unique padding and border-radii 21 | .label { 22 | .border-radius(3px); 23 | } 24 | .badge { 25 | padding-left: 9px; 26 | padding-right: 9px; 27 | .border-radius(9px); 28 | } 29 | 30 | // Empty labels/badges collapse 31 | .label, 32 | .badge { 33 | &:empty { 34 | display: none; 35 | } 36 | } 37 | 38 | // Hover/focus state, but only for links 39 | a { 40 | &.label:hover, 41 | &.label:focus, 42 | &.badge:hover, 43 | &.badge:focus { 44 | color: @white; 45 | text-decoration: none; 46 | cursor: pointer; 47 | } 48 | } 49 | 50 | // Colors 51 | // Only give background-color difference to links (and to simplify, we don't qualifty with `a` but [href] attribute) 52 | .label, 53 | .badge { 54 | // Important (red) 55 | &-important { background-color: @errorText; } 56 | &-important[href] { background-color: darken(@errorText, 10%); } 57 | // Warnings (orange) 58 | &-warning { background-color: @orange; } 59 | &-warning[href] { background-color: darken(@orange, 10%); } 60 | // Success (green) 61 | &-success { background-color: @successText; } 62 | &-success[href] { background-color: darken(@successText, 10%); } 63 | // Info (turquoise) 64 | &-info { background-color: @infoText; } 65 | &-info[href] { background-color: darken(@infoText, 10%); } 66 | // Inverse (black) 67 | &-inverse { background-color: @grayDark; } 68 | &-inverse[href] { background-color: darken(@grayDark, 10%); } 69 | } 70 | 71 | // Quick fix for labels/badges in buttons 72 | .btn { 73 | .label, 74 | .badge { 75 | position: relative; 76 | top: -1px; 77 | } 78 | } 79 | .btn-mini { 80 | .label, 81 | .badge { 82 | top: 0; 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/layouts.less: -------------------------------------------------------------------------------- 1 | // 2 | // Layouts 3 | // -------------------------------------------------- 4 | 5 | 6 | // Container (centered, fixed-width layouts) 7 | .container { 8 | .container-fixed(); 9 | } 10 | 11 | // Fluid layouts (left aligned, with sidebar, min- & max-width content) 12 | .container-fluid { 13 | padding-right: @gridGutterWidth; 14 | padding-left: @gridGutterWidth; 15 | .clearfix(); 16 | } -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/media.less: -------------------------------------------------------------------------------- 1 | // Media objects 2 | // Source: http://stubbornella.org/content/?p=497 3 | // -------------------------------------------------- 4 | 5 | 6 | // Common styles 7 | // ------------------------- 8 | 9 | // Clear the floats 10 | .media, 11 | .media-body { 12 | overflow: hidden; 13 | *overflow: visible; 14 | zoom: 1; 15 | } 16 | 17 | // Proper spacing between instances of .media 18 | .media, 19 | .media .media { 20 | margin-top: 15px; 21 | } 22 | .media:first-child { 23 | margin-top: 0; 24 | } 25 | 26 | // For images and videos, set to block 27 | .media-object { 28 | display: block; 29 | } 30 | 31 | // Reset margins on headings for tighter default spacing 32 | .media-heading { 33 | margin: 0 0 5px; 34 | } 35 | 36 | 37 | // Media image alignment 38 | // ------------------------- 39 | 40 | .media > .pull-left { 41 | margin-right: 10px; 42 | } 43 | .media > .pull-right { 44 | margin-left: 10px; 45 | } 46 | 47 | 48 | // Media list variation 49 | // ------------------------- 50 | 51 | // Undo default ul/ol styles 52 | .media-list { 53 | margin-left: 0; 54 | list-style: none; 55 | } 56 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/modals.less: -------------------------------------------------------------------------------- 1 | // 2 | // Modals 3 | // -------------------------------------------------- 4 | 5 | // Background 6 | .modal-backdrop { 7 | position: fixed; 8 | top: 0; 9 | right: 0; 10 | bottom: 0; 11 | left: 0; 12 | z-index: @zindexModalBackdrop; 13 | background-color: @black; 14 | // Fade for backdrop 15 | &.fade { opacity: 0; } 16 | } 17 | 18 | .modal-backdrop, 19 | .modal-backdrop.fade.in { 20 | .opacity(80); 21 | } 22 | 23 | // Base modal 24 | .modal { 25 | position: fixed; 26 | top: 10%; 27 | left: 50%; 28 | z-index: @zindexModal; 29 | width: 560px; 30 | margin-left: -280px; 31 | background-color: @white; 32 | border: 1px solid #999; 33 | border: 1px solid rgba(0,0,0,.3); 34 | *border: 1px solid #999; /* IE6-7 */ 35 | .border-radius(6px); 36 | .box-shadow(0 3px 7px rgba(0,0,0,0.3)); 37 | .background-clip(padding-box); 38 | // Remove focus outline from opened modal 39 | outline: none; 40 | 41 | &.fade { 42 | .transition(e('opacity .3s linear, top .3s ease-out')); 43 | top: -25%; 44 | } 45 | &.fade.in { top: 10%; } 46 | } 47 | .modal-header { 48 | padding: 9px 15px; 49 | border-bottom: 1px solid #eee; 50 | // Close icon 51 | .close { margin-top: 2px; } 52 | // Heading 53 | h3 { 54 | margin: 0; 55 | line-height: 30px; 56 | } 57 | } 58 | 59 | // Body (where all modal content resides) 60 | .modal-body { 61 | position: relative; 62 | overflow-y: auto; 63 | max-height: 400px; 64 | padding: 15px; 65 | } 66 | // Remove bottom margin if need be 67 | .modal-form { 68 | margin-bottom: 0; 69 | } 70 | 71 | // Footer (for actions) 72 | .modal-footer { 73 | padding: 14px 15px 15px; 74 | margin-bottom: 0; 75 | text-align: right; // right align buttons 76 | background-color: #f5f5f5; 77 | border-top: 1px solid #ddd; 78 | .border-radius(0 0 6px 6px); 79 | .box-shadow(inset 0 1px 0 @white); 80 | .clearfix(); // clear it in case folks use .pull-* classes on buttons 81 | 82 | // Properly space out buttons 83 | .btn + .btn { 84 | margin-left: 5px; 85 | margin-bottom: 0; // account for input[type="submit"] which gets the bottom margin like all other inputs 86 | } 87 | // but override that for button groups 88 | .btn-group .btn + .btn { 89 | margin-left: -1px; 90 | } 91 | // and override it for block buttons as well 92 | .btn-block + .btn-block { 93 | margin-left: 0; 94 | } 95 | } 96 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/navbar.less: -------------------------------------------------------------------------------- 1 | // 2 | // Navbars (Redux) 3 | // -------------------------------------------------- 4 | 5 | 6 | // COMMON STYLES 7 | // ------------- 8 | 9 | // Base class and wrapper 10 | .navbar { 11 | overflow: visible; 12 | margin-bottom: @baseLineHeight; 13 | 14 | // Fix for IE7's bad z-indexing so dropdowns don't appear below content that follows the navbar 15 | *position: relative; 16 | *z-index: 2; 17 | } 18 | 19 | // Inner for background effects 20 | // Gradient is applied to its own element because overflow visible is not honored by IE when filter is present 21 | .navbar-inner { 22 | min-height: @navbarHeight; 23 | padding-left: 20px; 24 | padding-right: 20px; 25 | #gradient > .vertical(@navbarBackgroundHighlight, @navbarBackground); 26 | border: 1px solid @navbarBorder; 27 | .border-radius(@baseBorderRadius); 28 | .box-shadow(0 1px 4px rgba(0,0,0,.065)); 29 | 30 | // Prevent floats from breaking the navbar 31 | .clearfix(); 32 | } 33 | 34 | // Set width to auto for default container 35 | // We then reset it for fixed navbars in the #gridSystem mixin 36 | .navbar .container { 37 | width: auto; 38 | } 39 | 40 | // Override the default collapsed state 41 | .nav-collapse.collapse { 42 | height: auto; 43 | overflow: visible; 44 | } 45 | 46 | 47 | // Brand: website or project name 48 | // ------------------------- 49 | .navbar .brand { 50 | float: left; 51 | display: block; 52 | // Vertically center the text given @navbarHeight 53 | padding: ((@navbarHeight - @baseLineHeight) / 2) 20px ((@navbarHeight - @baseLineHeight) / 2); 54 | margin-left: -20px; // negative indent to left-align the text down the page 55 | font-size: 20px; 56 | font-weight: 200; 57 | color: @navbarBrandColor; 58 | text-shadow: 0 1px 0 @navbarBackgroundHighlight; 59 | &:hover, 60 | &:focus { 61 | text-decoration: none; 62 | } 63 | } 64 | 65 | // Plain text in topbar 66 | // ------------------------- 67 | .navbar-text { 68 | margin-bottom: 0; 69 | line-height: @navbarHeight; 70 | color: @navbarText; 71 | } 72 | 73 | // Janky solution for now to account for links outside the .nav 74 | // ------------------------- 75 | .navbar-link { 76 | color: @navbarLinkColor; 77 | &:hover, 78 | &:focus { 79 | color: @navbarLinkColorHover; 80 | } 81 | } 82 | 83 | // Dividers in navbar 84 | // ------------------------- 85 | .navbar .divider-vertical { 86 | height: @navbarHeight; 87 | margin: 0 9px; 88 | border-left: 1px solid @navbarBackground; 89 | border-right: 1px solid @navbarBackgroundHighlight; 90 | } 91 | 92 | // Buttons in navbar 93 | // ------------------------- 94 | .navbar .btn, 95 | .navbar .btn-group { 96 | .navbarVerticalAlign(30px); // Vertically center in navbar 97 | } 98 | .navbar .btn-group .btn, 99 | .navbar .input-prepend .btn, 100 | .navbar .input-append .btn, 101 | .navbar .input-prepend .btn-group, 102 | .navbar .input-append .btn-group { 103 | margin-top: 0; // then undo the margin here so we don't accidentally double it 104 | } 105 | 106 | // Navbar forms 107 | // ------------------------- 108 | .navbar-form { 109 | margin-bottom: 0; // remove default bottom margin 110 | .clearfix(); 111 | input, 112 | select, 113 | .radio, 114 | .checkbox { 115 | .navbarVerticalAlign(30px); // Vertically center in navbar 116 | } 117 | input, 118 | select, 119 | .btn { 120 | display: inline-block; 121 | margin-bottom: 0; 122 | } 123 | input[type="image"], 124 | input[type="checkbox"], 125 | input[type="radio"] { 126 | margin-top: 3px; 127 | } 128 | .input-append, 129 | .input-prepend { 130 | margin-top: 5px; 131 | white-space: nowrap; // prevent two items from separating within a .navbar-form that has .pull-left 132 | input { 133 | margin-top: 0; // remove the margin on top since it's on the parent 134 | } 135 | } 136 | } 137 | 138 | // Navbar search 139 | // ------------------------- 140 | .navbar-search { 141 | position: relative; 142 | float: left; 143 | .navbarVerticalAlign(30px); // Vertically center in navbar 144 | margin-bottom: 0; 145 | .search-query { 146 | margin-bottom: 0; 147 | padding: 4px 14px; 148 | #font > .sans-serif(13px, normal, 1); 149 | .border-radius(15px); // redeclare because of specificity of the type attribute 150 | } 151 | } 152 | 153 | 154 | 155 | // Static navbar 156 | // ------------------------- 157 | 158 | .navbar-static-top { 159 | position: static; 160 | margin-bottom: 0; // remove 18px margin for default navbar 161 | .navbar-inner { 162 | .border-radius(0); 163 | } 164 | } 165 | 166 | 167 | 168 | // Fixed navbar 169 | // ------------------------- 170 | 171 | // Shared (top/bottom) styles 172 | .navbar-fixed-top, 173 | .navbar-fixed-bottom { 174 | position: fixed; 175 | right: 0; 176 | left: 0; 177 | z-index: @zindexFixedNavbar; 178 | margin-bottom: 0; // remove 18px margin for default navbar 179 | } 180 | .navbar-fixed-top .navbar-inner, 181 | .navbar-static-top .navbar-inner { 182 | border-width: 0 0 1px; 183 | } 184 | .navbar-fixed-bottom .navbar-inner { 185 | border-width: 1px 0 0; 186 | } 187 | .navbar-fixed-top .navbar-inner, 188 | .navbar-fixed-bottom .navbar-inner { 189 | padding-left: 0; 190 | padding-right: 0; 191 | .border-radius(0); 192 | } 193 | 194 | // Reset container width 195 | // Required here as we reset the width earlier on and the grid mixins don't override early enough 196 | .navbar-static-top .container, 197 | .navbar-fixed-top .container, 198 | .navbar-fixed-bottom .container { 199 | #grid > .core > .span(@gridColumns); 200 | } 201 | 202 | // Fixed to top 203 | .navbar-fixed-top { 204 | top: 0; 205 | } 206 | .navbar-fixed-top, 207 | .navbar-static-top { 208 | .navbar-inner { 209 | .box-shadow(~"0 1px 10px rgba(0,0,0,.1)"); 210 | } 211 | } 212 | 213 | // Fixed to bottom 214 | .navbar-fixed-bottom { 215 | bottom: 0; 216 | .navbar-inner { 217 | .box-shadow(~"0 -1px 10px rgba(0,0,0,.1)"); 218 | } 219 | } 220 | 221 | 222 | 223 | // NAVIGATION 224 | // ---------- 225 | 226 | .navbar .nav { 227 | position: relative; 228 | left: 0; 229 | display: block; 230 | float: left; 231 | margin: 0 10px 0 0; 232 | } 233 | .navbar .nav.pull-right { 234 | float: right; // redeclare due to specificity 235 | margin-right: 0; // remove margin on float right nav 236 | } 237 | .navbar .nav > li { 238 | float: left; 239 | } 240 | 241 | // Links 242 | .navbar .nav > li > a { 243 | float: none; 244 | // Vertically center the text given @navbarHeight 245 | padding: ((@navbarHeight - @baseLineHeight) / 2) 15px ((@navbarHeight - @baseLineHeight) / 2); 246 | color: @navbarLinkColor; 247 | text-decoration: none; 248 | text-shadow: 0 1px 0 @navbarBackgroundHighlight; 249 | } 250 | .navbar .nav .dropdown-toggle .caret { 251 | margin-top: 8px; 252 | } 253 | 254 | // Hover/focus 255 | .navbar .nav > li > a:focus, 256 | .navbar .nav > li > a:hover { 257 | background-color: @navbarLinkBackgroundHover; // "transparent" is default to differentiate :hover/:focus from .active 258 | color: @navbarLinkColorHover; 259 | text-decoration: none; 260 | } 261 | 262 | // Active nav items 263 | .navbar .nav > .active > a, 264 | .navbar .nav > .active > a:hover, 265 | .navbar .nav > .active > a:focus { 266 | color: @navbarLinkColorActive; 267 | text-decoration: none; 268 | background-color: @navbarLinkBackgroundActive; 269 | .box-shadow(inset 0 3px 8px rgba(0,0,0,.125)); 270 | } 271 | 272 | // Navbar button for toggling navbar items in responsive layouts 273 | // These definitions need to come after '.navbar .btn' 274 | .navbar .btn-navbar { 275 | display: none; 276 | float: right; 277 | padding: 7px 10px; 278 | margin-left: 5px; 279 | margin-right: 5px; 280 | .buttonBackground(darken(@navbarBackgroundHighlight, 5%), darken(@navbarBackground, 5%)); 281 | .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075)"); 282 | } 283 | .navbar .btn-navbar .icon-bar { 284 | display: block; 285 | width: 18px; 286 | height: 2px; 287 | background-color: #f5f5f5; 288 | .border-radius(1px); 289 | .box-shadow(0 1px 0 rgba(0,0,0,.25)); 290 | } 291 | .btn-navbar .icon-bar + .icon-bar { 292 | margin-top: 3px; 293 | } 294 | 295 | 296 | 297 | // Dropdown menus 298 | // -------------- 299 | 300 | // Menu position and menu carets 301 | .navbar .nav > li > .dropdown-menu { 302 | &:before { 303 | content: ''; 304 | display: inline-block; 305 | border-left: 7px solid transparent; 306 | border-right: 7px solid transparent; 307 | border-bottom: 7px solid #ccc; 308 | border-bottom-color: @dropdownBorder; 309 | position: absolute; 310 | top: -7px; 311 | left: 9px; 312 | } 313 | &:after { 314 | content: ''; 315 | display: inline-block; 316 | border-left: 6px solid transparent; 317 | border-right: 6px solid transparent; 318 | border-bottom: 6px solid @dropdownBackground; 319 | position: absolute; 320 | top: -6px; 321 | left: 10px; 322 | } 323 | } 324 | // Menu position and menu caret support for dropups via extra dropup class 325 | .navbar-fixed-bottom .nav > li > .dropdown-menu { 326 | &:before { 327 | border-top: 7px solid #ccc; 328 | border-top-color: @dropdownBorder; 329 | border-bottom: 0; 330 | bottom: -7px; 331 | top: auto; 332 | } 333 | &:after { 334 | border-top: 6px solid @dropdownBackground; 335 | border-bottom: 0; 336 | bottom: -6px; 337 | top: auto; 338 | } 339 | } 340 | 341 | // Caret should match text color on hover/focus 342 | .navbar .nav li.dropdown > a:hover .caret, 343 | .navbar .nav li.dropdown > a:focus .caret { 344 | border-top-color: @navbarLinkColorHover; 345 | border-bottom-color: @navbarLinkColorHover; 346 | } 347 | 348 | // Remove background color from open dropdown 349 | .navbar .nav li.dropdown.open > .dropdown-toggle, 350 | .navbar .nav li.dropdown.active > .dropdown-toggle, 351 | .navbar .nav li.dropdown.open.active > .dropdown-toggle { 352 | background-color: @navbarLinkBackgroundActive; 353 | color: @navbarLinkColorActive; 354 | } 355 | .navbar .nav li.dropdown > .dropdown-toggle .caret { 356 | border-top-color: @navbarLinkColor; 357 | border-bottom-color: @navbarLinkColor; 358 | } 359 | .navbar .nav li.dropdown.open > .dropdown-toggle .caret, 360 | .navbar .nav li.dropdown.active > .dropdown-toggle .caret, 361 | .navbar .nav li.dropdown.open.active > .dropdown-toggle .caret { 362 | border-top-color: @navbarLinkColorActive; 363 | border-bottom-color: @navbarLinkColorActive; 364 | } 365 | 366 | // Right aligned menus need alt position 367 | .navbar .pull-right > li > .dropdown-menu, 368 | .navbar .nav > li > .dropdown-menu.pull-right { 369 | left: auto; 370 | right: 0; 371 | &:before { 372 | left: auto; 373 | right: 12px; 374 | } 375 | &:after { 376 | left: auto; 377 | right: 13px; 378 | } 379 | .dropdown-menu { 380 | left: auto; 381 | right: 100%; 382 | margin-left: 0; 383 | margin-right: -1px; 384 | .border-radius(6px 0 6px 6px); 385 | } 386 | } 387 | 388 | 389 | // Inverted navbar 390 | // ------------------------- 391 | 392 | .navbar-inverse { 393 | 394 | .navbar-inner { 395 | #gradient > .vertical(@navbarInverseBackgroundHighlight, @navbarInverseBackground); 396 | border-color: @navbarInverseBorder; 397 | } 398 | 399 | .brand, 400 | .nav > li > a { 401 | color: @navbarInverseLinkColor; 402 | text-shadow: 0 -1px 0 rgba(0,0,0,.25); 403 | &:hover, 404 | &:focus { 405 | color: @navbarInverseLinkColorHover; 406 | } 407 | } 408 | 409 | .brand { 410 | color: @navbarInverseBrandColor; 411 | } 412 | 413 | .navbar-text { 414 | color: @navbarInverseText; 415 | } 416 | 417 | .nav > li > a:focus, 418 | .nav > li > a:hover { 419 | background-color: @navbarInverseLinkBackgroundHover; 420 | color: @navbarInverseLinkColorHover; 421 | } 422 | 423 | .nav .active > a, 424 | .nav .active > a:hover, 425 | .nav .active > a:focus { 426 | color: @navbarInverseLinkColorActive; 427 | background-color: @navbarInverseLinkBackgroundActive; 428 | } 429 | 430 | // Inline text links 431 | .navbar-link { 432 | color: @navbarInverseLinkColor; 433 | &:hover, 434 | &:focus { 435 | color: @navbarInverseLinkColorHover; 436 | } 437 | } 438 | 439 | // Dividers in navbar 440 | .divider-vertical { 441 | border-left-color: @navbarInverseBackground; 442 | border-right-color: @navbarInverseBackgroundHighlight; 443 | } 444 | 445 | // Dropdowns 446 | .nav li.dropdown.open > .dropdown-toggle, 447 | .nav li.dropdown.active > .dropdown-toggle, 448 | .nav li.dropdown.open.active > .dropdown-toggle { 449 | background-color: @navbarInverseLinkBackgroundActive; 450 | color: @navbarInverseLinkColorActive; 451 | } 452 | .nav li.dropdown > a:hover .caret, 453 | .nav li.dropdown > a:focus .caret { 454 | border-top-color: @navbarInverseLinkColorActive; 455 | border-bottom-color: @navbarInverseLinkColorActive; 456 | } 457 | .nav li.dropdown > .dropdown-toggle .caret { 458 | border-top-color: @navbarInverseLinkColor; 459 | border-bottom-color: @navbarInverseLinkColor; 460 | } 461 | .nav li.dropdown.open > .dropdown-toggle .caret, 462 | .nav li.dropdown.active > .dropdown-toggle .caret, 463 | .nav li.dropdown.open.active > .dropdown-toggle .caret { 464 | border-top-color: @navbarInverseLinkColorActive; 465 | border-bottom-color: @navbarInverseLinkColorActive; 466 | } 467 | 468 | // Navbar search 469 | .navbar-search { 470 | .search-query { 471 | color: @white; 472 | background-color: @navbarInverseSearchBackground; 473 | border-color: @navbarInverseSearchBorder; 474 | .box-shadow(~"inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15)"); 475 | .transition(none); 476 | .placeholder(@navbarInverseSearchPlaceholderColor); 477 | 478 | // Focus states (we use .focused since IE7-8 and down doesn't support :focus) 479 | &:focus, 480 | &.focused { 481 | padding: 5px 15px; 482 | color: @grayDark; 483 | text-shadow: 0 1px 0 @white; 484 | background-color: @navbarInverseSearchBackgroundFocus; 485 | border: 0; 486 | .box-shadow(0 0 3px rgba(0,0,0,.15)); 487 | outline: 0; 488 | } 489 | } 490 | } 491 | 492 | // Navbar collapse button 493 | .btn-navbar { 494 | .buttonBackground(darken(@navbarInverseBackgroundHighlight, 5%), darken(@navbarInverseBackground, 5%)); 495 | } 496 | 497 | } 498 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/navs.less: -------------------------------------------------------------------------------- 1 | // 2 | // Navs 3 | // -------------------------------------------------- 4 | 5 | 6 | // BASE CLASS 7 | // ---------- 8 | 9 | .nav { 10 | margin-left: 0; 11 | margin-bottom: @baseLineHeight; 12 | list-style: none; 13 | } 14 | 15 | // Make links block level 16 | .nav > li > a { 17 | display: block; 18 | } 19 | .nav > li > a:hover, 20 | .nav > li > a:focus { 21 | text-decoration: none; 22 | background-color: @grayLighter; 23 | } 24 | 25 | // Prevent IE8 from misplacing imgs 26 | // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989 27 | .nav > li > a > img { 28 | max-width: none; 29 | } 30 | 31 | // Redeclare pull classes because of specifity 32 | .nav > .pull-right { 33 | float: right; 34 | } 35 | 36 | // Nav headers (for dropdowns and lists) 37 | .nav-header { 38 | display: block; 39 | padding: 3px 15px; 40 | font-size: 11px; 41 | font-weight: bold; 42 | line-height: @baseLineHeight; 43 | color: @grayLight; 44 | text-shadow: 0 1px 0 rgba(255,255,255,.5); 45 | text-transform: uppercase; 46 | } 47 | // Space them out when they follow another list item (link) 48 | .nav li + .nav-header { 49 | margin-top: 9px; 50 | } 51 | 52 | 53 | 54 | // NAV LIST 55 | // -------- 56 | 57 | .nav-list { 58 | padding-left: 15px; 59 | padding-right: 15px; 60 | margin-bottom: 0; 61 | } 62 | .nav-list > li > a, 63 | .nav-list .nav-header { 64 | margin-left: -15px; 65 | margin-right: -15px; 66 | text-shadow: 0 1px 0 rgba(255,255,255,.5); 67 | } 68 | .nav-list > li > a { 69 | padding: 3px 15px; 70 | } 71 | .nav-list > .active > a, 72 | .nav-list > .active > a:hover, 73 | .nav-list > .active > a:focus { 74 | color: @white; 75 | text-shadow: 0 -1px 0 rgba(0,0,0,.2); 76 | background-color: @linkColor; 77 | } 78 | .nav-list [class^="icon-"], 79 | .nav-list [class*=" icon-"] { 80 | margin-right: 2px; 81 | } 82 | // Dividers (basically an hr) within the dropdown 83 | .nav-list .divider { 84 | .nav-divider(); 85 | } 86 | 87 | 88 | 89 | // TABS AND PILLS 90 | // ------------- 91 | 92 | // Common styles 93 | .nav-tabs, 94 | .nav-pills { 95 | .clearfix(); 96 | } 97 | .nav-tabs > li, 98 | .nav-pills > li { 99 | float: left; 100 | } 101 | .nav-tabs > li > a, 102 | .nav-pills > li > a { 103 | padding-right: 12px; 104 | padding-left: 12px; 105 | margin-right: 2px; 106 | line-height: 14px; // keeps the overall height an even number 107 | } 108 | 109 | // TABS 110 | // ---- 111 | 112 | // Give the tabs something to sit on 113 | .nav-tabs { 114 | border-bottom: 1px solid #ddd; 115 | } 116 | // Make the list-items overlay the bottom border 117 | .nav-tabs > li { 118 | margin-bottom: -1px; 119 | } 120 | // Actual tabs (as links) 121 | .nav-tabs > li > a { 122 | padding-top: 8px; 123 | padding-bottom: 8px; 124 | line-height: @baseLineHeight; 125 | border: 1px solid transparent; 126 | .border-radius(4px 4px 0 0); 127 | &:hover, 128 | &:focus { 129 | border-color: @grayLighter @grayLighter #ddd; 130 | } 131 | } 132 | // Active state, and it's :hover/:focus to override normal :hover/:focus 133 | .nav-tabs > .active > a, 134 | .nav-tabs > .active > a:hover, 135 | .nav-tabs > .active > a:focus { 136 | color: @gray; 137 | background-color: @bodyBackground; 138 | border: 1px solid #ddd; 139 | border-bottom-color: transparent; 140 | cursor: default; 141 | } 142 | 143 | 144 | // PILLS 145 | // ----- 146 | 147 | // Links rendered as pills 148 | .nav-pills > li > a { 149 | padding-top: 8px; 150 | padding-bottom: 8px; 151 | margin-top: 2px; 152 | margin-bottom: 2px; 153 | .border-radius(5px); 154 | } 155 | 156 | // Active state 157 | .nav-pills > .active > a, 158 | .nav-pills > .active > a:hover, 159 | .nav-pills > .active > a:focus { 160 | color: @white; 161 | background-color: @linkColor; 162 | } 163 | 164 | 165 | 166 | // STACKED NAV 167 | // ----------- 168 | 169 | // Stacked tabs and pills 170 | .nav-stacked > li { 171 | float: none; 172 | } 173 | .nav-stacked > li > a { 174 | margin-right: 0; // no need for the gap between nav items 175 | } 176 | 177 | // Tabs 178 | .nav-tabs.nav-stacked { 179 | border-bottom: 0; 180 | } 181 | .nav-tabs.nav-stacked > li > a { 182 | border: 1px solid #ddd; 183 | .border-radius(0); 184 | } 185 | .nav-tabs.nav-stacked > li:first-child > a { 186 | .border-top-radius(4px); 187 | } 188 | .nav-tabs.nav-stacked > li:last-child > a { 189 | .border-bottom-radius(4px); 190 | } 191 | .nav-tabs.nav-stacked > li > a:hover, 192 | .nav-tabs.nav-stacked > li > a:focus { 193 | border-color: #ddd; 194 | z-index: 2; 195 | } 196 | 197 | // Pills 198 | .nav-pills.nav-stacked > li > a { 199 | margin-bottom: 3px; 200 | } 201 | .nav-pills.nav-stacked > li:last-child > a { 202 | margin-bottom: 1px; // decrease margin to match sizing of stacked tabs 203 | } 204 | 205 | 206 | 207 | // DROPDOWNS 208 | // --------- 209 | 210 | .nav-tabs .dropdown-menu { 211 | .border-radius(0 0 6px 6px); // remove the top rounded corners here since there is a hard edge above the menu 212 | } 213 | .nav-pills .dropdown-menu { 214 | .border-radius(6px); // make rounded corners match the pills 215 | } 216 | 217 | // Default dropdown links 218 | // ------------------------- 219 | // Make carets use linkColor to start 220 | .nav .dropdown-toggle .caret { 221 | border-top-color: @linkColor; 222 | border-bottom-color: @linkColor; 223 | margin-top: 6px; 224 | } 225 | .nav .dropdown-toggle:hover .caret, 226 | .nav .dropdown-toggle:focus .caret { 227 | border-top-color: @linkColorHover; 228 | border-bottom-color: @linkColorHover; 229 | } 230 | /* move down carets for tabs */ 231 | .nav-tabs .dropdown-toggle .caret { 232 | margin-top: 8px; 233 | } 234 | 235 | // Active dropdown links 236 | // ------------------------- 237 | .nav .active .dropdown-toggle .caret { 238 | border-top-color: #fff; 239 | border-bottom-color: #fff; 240 | } 241 | .nav-tabs .active .dropdown-toggle .caret { 242 | border-top-color: @gray; 243 | border-bottom-color: @gray; 244 | } 245 | 246 | // Active:hover/:focus dropdown links 247 | // ------------------------- 248 | .nav > .dropdown.active > a:hover, 249 | .nav > .dropdown.active > a:focus { 250 | cursor: pointer; 251 | } 252 | 253 | // Open dropdowns 254 | // ------------------------- 255 | .nav-tabs .open .dropdown-toggle, 256 | .nav-pills .open .dropdown-toggle, 257 | .nav > li.dropdown.open.active > a:hover, 258 | .nav > li.dropdown.open.active > a:focus { 259 | color: @white; 260 | background-color: @grayLight; 261 | border-color: @grayLight; 262 | } 263 | .nav li.dropdown.open .caret, 264 | .nav li.dropdown.open.active .caret, 265 | .nav li.dropdown.open a:hover .caret, 266 | .nav li.dropdown.open a:focus .caret { 267 | border-top-color: @white; 268 | border-bottom-color: @white; 269 | .opacity(100); 270 | } 271 | 272 | // Dropdowns in stacked tabs 273 | .tabs-stacked .open > a:hover, 274 | .tabs-stacked .open > a:focus { 275 | border-color: @grayLight; 276 | } 277 | 278 | 279 | 280 | // TABBABLE 281 | // -------- 282 | 283 | 284 | // COMMON STYLES 285 | // ------------- 286 | 287 | // Clear any floats 288 | .tabbable { 289 | .clearfix(); 290 | } 291 | .tab-content { 292 | overflow: auto; // prevent content from running below tabs 293 | } 294 | 295 | // Remove border on bottom, left, right 296 | .tabs-below > .nav-tabs, 297 | .tabs-right > .nav-tabs, 298 | .tabs-left > .nav-tabs { 299 | border-bottom: 0; 300 | } 301 | 302 | // Show/hide tabbable areas 303 | .tab-content > .tab-pane, 304 | .pill-content > .pill-pane { 305 | display: none; 306 | } 307 | .tab-content > .active, 308 | .pill-content > .active { 309 | display: block; 310 | } 311 | 312 | 313 | // BOTTOM 314 | // ------ 315 | 316 | .tabs-below > .nav-tabs { 317 | border-top: 1px solid #ddd; 318 | } 319 | .tabs-below > .nav-tabs > li { 320 | margin-top: -1px; 321 | margin-bottom: 0; 322 | } 323 | .tabs-below > .nav-tabs > li > a { 324 | .border-radius(0 0 4px 4px); 325 | &:hover, 326 | &:focus { 327 | border-bottom-color: transparent; 328 | border-top-color: #ddd; 329 | } 330 | } 331 | .tabs-below > .nav-tabs > .active > a, 332 | .tabs-below > .nav-tabs > .active > a:hover, 333 | .tabs-below > .nav-tabs > .active > a:focus { 334 | border-color: transparent #ddd #ddd #ddd; 335 | } 336 | 337 | // LEFT & RIGHT 338 | // ------------ 339 | 340 | // Common styles 341 | .tabs-left > .nav-tabs > li, 342 | .tabs-right > .nav-tabs > li { 343 | float: none; 344 | } 345 | .tabs-left > .nav-tabs > li > a, 346 | .tabs-right > .nav-tabs > li > a { 347 | min-width: 74px; 348 | margin-right: 0; 349 | margin-bottom: 3px; 350 | } 351 | 352 | // Tabs on the left 353 | .tabs-left > .nav-tabs { 354 | float: left; 355 | margin-right: 19px; 356 | border-right: 1px solid #ddd; 357 | } 358 | .tabs-left > .nav-tabs > li > a { 359 | margin-right: -1px; 360 | .border-radius(4px 0 0 4px); 361 | } 362 | .tabs-left > .nav-tabs > li > a:hover, 363 | .tabs-left > .nav-tabs > li > a:focus { 364 | border-color: @grayLighter #ddd @grayLighter @grayLighter; 365 | } 366 | .tabs-left > .nav-tabs .active > a, 367 | .tabs-left > .nav-tabs .active > a:hover, 368 | .tabs-left > .nav-tabs .active > a:focus { 369 | border-color: #ddd transparent #ddd #ddd; 370 | *border-right-color: @white; 371 | } 372 | 373 | // Tabs on the right 374 | .tabs-right > .nav-tabs { 375 | float: right; 376 | margin-left: 19px; 377 | border-left: 1px solid #ddd; 378 | } 379 | .tabs-right > .nav-tabs > li > a { 380 | margin-left: -1px; 381 | .border-radius(0 4px 4px 0); 382 | } 383 | .tabs-right > .nav-tabs > li > a:hover, 384 | .tabs-right > .nav-tabs > li > a:focus { 385 | border-color: @grayLighter @grayLighter @grayLighter #ddd; 386 | } 387 | .tabs-right > .nav-tabs .active > a, 388 | .tabs-right > .nav-tabs .active > a:hover, 389 | .tabs-right > .nav-tabs .active > a:focus { 390 | border-color: #ddd #ddd #ddd transparent; 391 | *border-left-color: @white; 392 | } 393 | 394 | 395 | 396 | // DISABLED STATES 397 | // --------------- 398 | 399 | // Gray out text 400 | .nav > .disabled > a { 401 | color: @grayLight; 402 | } 403 | // Nuke hover/focus effects 404 | .nav > .disabled > a:hover, 405 | .nav > .disabled > a:focus { 406 | text-decoration: none; 407 | background-color: transparent; 408 | cursor: default; 409 | } 410 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/pager.less: -------------------------------------------------------------------------------- 1 | // 2 | // Pager pagination 3 | // -------------------------------------------------- 4 | 5 | 6 | .pager { 7 | margin: @baseLineHeight 0; 8 | list-style: none; 9 | text-align: center; 10 | .clearfix(); 11 | } 12 | .pager li { 13 | display: inline; 14 | } 15 | .pager li > a, 16 | .pager li > span { 17 | display: inline-block; 18 | padding: 5px 14px; 19 | background-color: #fff; 20 | border: 1px solid #ddd; 21 | .border-radius(15px); 22 | } 23 | .pager li > a:hover, 24 | .pager li > a:focus { 25 | text-decoration: none; 26 | background-color: #f5f5f5; 27 | } 28 | .pager .next > a, 29 | .pager .next > span { 30 | float: right; 31 | } 32 | .pager .previous > a, 33 | .pager .previous > span { 34 | float: left; 35 | } 36 | .pager .disabled > a, 37 | .pager .disabled > a:hover, 38 | .pager .disabled > a:focus, 39 | .pager .disabled > span { 40 | color: @grayLight; 41 | background-color: #fff; 42 | cursor: default; 43 | } -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/pagination.less: -------------------------------------------------------------------------------- 1 | // 2 | // Pagination (multiple pages) 3 | // -------------------------------------------------- 4 | 5 | // Space out pagination from surrounding content 6 | .pagination { 7 | margin: @baseLineHeight 0; 8 | } 9 | 10 | .pagination ul { 11 | // Allow for text-based alignment 12 | display: inline-block; 13 | .ie7-inline-block(); 14 | // Reset default ul styles 15 | margin-left: 0; 16 | margin-bottom: 0; 17 | // Visuals 18 | .border-radius(@baseBorderRadius); 19 | .box-shadow(0 1px 2px rgba(0,0,0,.05)); 20 | } 21 | .pagination ul > li { 22 | display: inline; // Remove list-style and block-level defaults 23 | } 24 | .pagination ul > li > a, 25 | .pagination ul > li > span { 26 | float: left; // Collapse white-space 27 | padding: 4px 12px; 28 | line-height: @baseLineHeight; 29 | text-decoration: none; 30 | background-color: @paginationBackground; 31 | border: 1px solid @paginationBorder; 32 | border-left-width: 0; 33 | } 34 | .pagination ul > li > a:hover, 35 | .pagination ul > li > a:focus, 36 | .pagination ul > .active > a, 37 | .pagination ul > .active > span { 38 | background-color: @paginationActiveBackground; 39 | } 40 | .pagination ul > .active > a, 41 | .pagination ul > .active > span { 42 | color: @grayLight; 43 | cursor: default; 44 | } 45 | .pagination ul > .disabled > span, 46 | .pagination ul > .disabled > a, 47 | .pagination ul > .disabled > a:hover, 48 | .pagination ul > .disabled > a:focus { 49 | color: @grayLight; 50 | background-color: transparent; 51 | cursor: default; 52 | } 53 | .pagination ul > li:first-child > a, 54 | .pagination ul > li:first-child > span { 55 | border-left-width: 1px; 56 | .border-left-radius(@baseBorderRadius); 57 | } 58 | .pagination ul > li:last-child > a, 59 | .pagination ul > li:last-child > span { 60 | .border-right-radius(@baseBorderRadius); 61 | } 62 | 63 | 64 | // Alignment 65 | // -------------------------------------------------- 66 | 67 | .pagination-centered { 68 | text-align: center; 69 | } 70 | .pagination-right { 71 | text-align: right; 72 | } 73 | 74 | 75 | // Sizing 76 | // -------------------------------------------------- 77 | 78 | // Large 79 | .pagination-large { 80 | ul > li > a, 81 | ul > li > span { 82 | padding: @paddingLarge; 83 | font-size: @fontSizeLarge; 84 | } 85 | ul > li:first-child > a, 86 | ul > li:first-child > span { 87 | .border-left-radius(@borderRadiusLarge); 88 | } 89 | ul > li:last-child > a, 90 | ul > li:last-child > span { 91 | .border-right-radius(@borderRadiusLarge); 92 | } 93 | } 94 | 95 | // Small and mini 96 | .pagination-mini, 97 | .pagination-small { 98 | ul > li:first-child > a, 99 | ul > li:first-child > span { 100 | .border-left-radius(@borderRadiusSmall); 101 | } 102 | ul > li:last-child > a, 103 | ul > li:last-child > span { 104 | .border-right-radius(@borderRadiusSmall); 105 | } 106 | } 107 | 108 | // Small 109 | .pagination-small { 110 | ul > li > a, 111 | ul > li > span { 112 | padding: @paddingSmall; 113 | font-size: @fontSizeSmall; 114 | } 115 | } 116 | // Mini 117 | .pagination-mini { 118 | ul > li > a, 119 | ul > li > span { 120 | padding: @paddingMini; 121 | font-size: @fontSizeMini; 122 | } 123 | } 124 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/popovers.less: -------------------------------------------------------------------------------- 1 | // 2 | // Popovers 3 | // -------------------------------------------------- 4 | 5 | 6 | .popover { 7 | position: absolute; 8 | top: 0; 9 | left: 0; 10 | z-index: @zindexPopover; 11 | display: none; 12 | max-width: 276px; 13 | padding: 1px; 14 | text-align: left; // Reset given new insertion method 15 | background-color: @popoverBackground; 16 | -webkit-background-clip: padding-box; 17 | -moz-background-clip: padding; 18 | background-clip: padding-box; 19 | border: 1px solid #ccc; 20 | border: 1px solid rgba(0,0,0,.2); 21 | .border-radius(6px); 22 | .box-shadow(0 5px 10px rgba(0,0,0,.2)); 23 | 24 | // Overrides for proper insertion 25 | white-space: normal; 26 | 27 | // Offset the popover to account for the popover arrow 28 | &.top { margin-top: -10px; } 29 | &.right { margin-left: 10px; } 30 | &.bottom { margin-top: 10px; } 31 | &.left { margin-left: -10px; } 32 | } 33 | 34 | .popover-title { 35 | margin: 0; // reset heading margin 36 | padding: 8px 14px; 37 | font-size: 14px; 38 | font-weight: normal; 39 | line-height: 18px; 40 | background-color: @popoverTitleBackground; 41 | border-bottom: 1px solid darken(@popoverTitleBackground, 5%); 42 | .border-radius(5px 5px 0 0); 43 | 44 | &:empty { 45 | display: none; 46 | } 47 | } 48 | 49 | .popover-content { 50 | padding: 9px 14px; 51 | } 52 | 53 | // Arrows 54 | // 55 | // .arrow is outer, .arrow:after is inner 56 | 57 | .popover .arrow, 58 | .popover .arrow:after { 59 | position: absolute; 60 | display: block; 61 | width: 0; 62 | height: 0; 63 | border-color: transparent; 64 | border-style: solid; 65 | } 66 | .popover .arrow { 67 | border-width: @popoverArrowOuterWidth; 68 | } 69 | .popover .arrow:after { 70 | border-width: @popoverArrowWidth; 71 | content: ""; 72 | } 73 | 74 | .popover { 75 | &.top .arrow { 76 | left: 50%; 77 | margin-left: -@popoverArrowOuterWidth; 78 | border-bottom-width: 0; 79 | border-top-color: #999; // IE8 fallback 80 | border-top-color: @popoverArrowOuterColor; 81 | bottom: -@popoverArrowOuterWidth; 82 | &:after { 83 | bottom: 1px; 84 | margin-left: -@popoverArrowWidth; 85 | border-bottom-width: 0; 86 | border-top-color: @popoverArrowColor; 87 | } 88 | } 89 | &.right .arrow { 90 | top: 50%; 91 | left: -@popoverArrowOuterWidth; 92 | margin-top: -@popoverArrowOuterWidth; 93 | border-left-width: 0; 94 | border-right-color: #999; // IE8 fallback 95 | border-right-color: @popoverArrowOuterColor; 96 | &:after { 97 | left: 1px; 98 | bottom: -@popoverArrowWidth; 99 | border-left-width: 0; 100 | border-right-color: @popoverArrowColor; 101 | } 102 | } 103 | &.bottom .arrow { 104 | left: 50%; 105 | margin-left: -@popoverArrowOuterWidth; 106 | border-top-width: 0; 107 | border-bottom-color: #999; // IE8 fallback 108 | border-bottom-color: @popoverArrowOuterColor; 109 | top: -@popoverArrowOuterWidth; 110 | &:after { 111 | top: 1px; 112 | margin-left: -@popoverArrowWidth; 113 | border-top-width: 0; 114 | border-bottom-color: @popoverArrowColor; 115 | } 116 | } 117 | 118 | &.left .arrow { 119 | top: 50%; 120 | right: -@popoverArrowOuterWidth; 121 | margin-top: -@popoverArrowOuterWidth; 122 | border-right-width: 0; 123 | border-left-color: #999; // IE8 fallback 124 | border-left-color: @popoverArrowOuterColor; 125 | &:after { 126 | right: 1px; 127 | border-right-width: 0; 128 | border-left-color: @popoverArrowColor; 129 | bottom: -@popoverArrowWidth; 130 | } 131 | } 132 | 133 | } 134 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/progress-bars.less: -------------------------------------------------------------------------------- 1 | // 2 | // Progress bars 3 | // -------------------------------------------------- 4 | 5 | 6 | // ANIMATIONS 7 | // ---------- 8 | 9 | // Webkit 10 | @-webkit-keyframes progress-bar-stripes { 11 | from { background-position: 40px 0; } 12 | to { background-position: 0 0; } 13 | } 14 | 15 | // Firefox 16 | @-moz-keyframes progress-bar-stripes { 17 | from { background-position: 40px 0; } 18 | to { background-position: 0 0; } 19 | } 20 | 21 | // IE9 22 | @-ms-keyframes progress-bar-stripes { 23 | from { background-position: 40px 0; } 24 | to { background-position: 0 0; } 25 | } 26 | 27 | // Opera 28 | @-o-keyframes progress-bar-stripes { 29 | from { background-position: 0 0; } 30 | to { background-position: 40px 0; } 31 | } 32 | 33 | // Spec 34 | @keyframes progress-bar-stripes { 35 | from { background-position: 40px 0; } 36 | to { background-position: 0 0; } 37 | } 38 | 39 | 40 | 41 | // THE BARS 42 | // -------- 43 | 44 | // Outer container 45 | .progress { 46 | overflow: hidden; 47 | height: @baseLineHeight; 48 | margin-bottom: @baseLineHeight; 49 | #gradient > .vertical(#f5f5f5, #f9f9f9); 50 | .box-shadow(inset 0 1px 2px rgba(0,0,0,.1)); 51 | .border-radius(@baseBorderRadius); 52 | } 53 | 54 | // Bar of progress 55 | .progress .bar { 56 | width: 0%; 57 | height: 100%; 58 | color: @white; 59 | float: left; 60 | font-size: 12px; 61 | text-align: center; 62 | text-shadow: 0 -1px 0 rgba(0,0,0,.25); 63 | #gradient > .vertical(#149bdf, #0480be); 64 | .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15)); 65 | .box-sizing(border-box); 66 | .transition(width .6s ease); 67 | } 68 | .progress .bar + .bar { 69 | .box-shadow(~"inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15)"); 70 | } 71 | 72 | // Striped bars 73 | .progress-striped .bar { 74 | #gradient > .striped(#149bdf); 75 | .background-size(40px 40px); 76 | } 77 | 78 | // Call animation for the active one 79 | .progress.active .bar { 80 | -webkit-animation: progress-bar-stripes 2s linear infinite; 81 | -moz-animation: progress-bar-stripes 2s linear infinite; 82 | -ms-animation: progress-bar-stripes 2s linear infinite; 83 | -o-animation: progress-bar-stripes 2s linear infinite; 84 | animation: progress-bar-stripes 2s linear infinite; 85 | } 86 | 87 | 88 | 89 | // COLORS 90 | // ------ 91 | 92 | // Danger (red) 93 | .progress-danger .bar, .progress .bar-danger { 94 | #gradient > .vertical(#ee5f5b, #c43c35); 95 | } 96 | .progress-danger.progress-striped .bar, .progress-striped .bar-danger { 97 | #gradient > .striped(#ee5f5b); 98 | } 99 | 100 | // Success (green) 101 | .progress-success .bar, .progress .bar-success { 102 | #gradient > .vertical(#62c462, #57a957); 103 | } 104 | .progress-success.progress-striped .bar, .progress-striped .bar-success { 105 | #gradient > .striped(#62c462); 106 | } 107 | 108 | // Info (teal) 109 | .progress-info .bar, .progress .bar-info { 110 | #gradient > .vertical(#5bc0de, #339bb9); 111 | } 112 | .progress-info.progress-striped .bar, .progress-striped .bar-info { 113 | #gradient > .striped(#5bc0de); 114 | } 115 | 116 | // Warning (orange) 117 | .progress-warning .bar, .progress .bar-warning { 118 | #gradient > .vertical(lighten(@orange, 15%), @orange); 119 | } 120 | .progress-warning.progress-striped .bar, .progress-striped .bar-warning { 121 | #gradient > .striped(lighten(@orange, 15%)); 122 | } 123 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/reset.less: -------------------------------------------------------------------------------- 1 | // 2 | // Reset CSS 3 | // Adapted from http://github.com/necolas/normalize.css 4 | // -------------------------------------------------- 5 | 6 | 7 | // Display in IE6-9 and FF3 8 | // ------------------------- 9 | 10 | article, 11 | aside, 12 | details, 13 | figcaption, 14 | figure, 15 | footer, 16 | header, 17 | hgroup, 18 | nav, 19 | section { 20 | display: block; 21 | } 22 | 23 | // Display block in IE6-9 and FF3 24 | // ------------------------- 25 | 26 | audio, 27 | canvas, 28 | video { 29 | display: inline-block; 30 | *display: inline; 31 | *zoom: 1; 32 | } 33 | 34 | // Prevents modern browsers from displaying 'audio' without controls 35 | // ------------------------- 36 | 37 | audio:not([controls]) { 38 | display: none; 39 | } 40 | 41 | // Base settings 42 | // ------------------------- 43 | 44 | html { 45 | font-size: 100%; 46 | -webkit-text-size-adjust: 100%; 47 | -ms-text-size-adjust: 100%; 48 | } 49 | // Focus states 50 | a:focus { 51 | .tab-focus(); 52 | } 53 | // Hover & Active 54 | a:hover, 55 | a:active { 56 | outline: 0; 57 | } 58 | 59 | // Prevents sub and sup affecting line-height in all browsers 60 | // ------------------------- 61 | 62 | sub, 63 | sup { 64 | position: relative; 65 | font-size: 75%; 66 | line-height: 0; 67 | vertical-align: baseline; 68 | } 69 | sup { 70 | top: -0.5em; 71 | } 72 | sub { 73 | bottom: -0.25em; 74 | } 75 | 76 | // Img border in a's and image quality 77 | // ------------------------- 78 | 79 | img { 80 | /* Responsive images (ensure images don't scale beyond their parents) */ 81 | max-width: 100%; /* Part 1: Set a maximum relative to the parent */ 82 | width: auto\9; /* IE7-8 need help adjusting responsive images */ 83 | height: auto; /* Part 2: Scale the height according to the width, otherwise you get stretching */ 84 | 85 | vertical-align: middle; 86 | border: 0; 87 | -ms-interpolation-mode: bicubic; 88 | } 89 | 90 | // Prevent max-width from affecting Google Maps 91 | #map_canvas img, 92 | .google-maps img { 93 | max-width: none; 94 | } 95 | 96 | // Forms 97 | // ------------------------- 98 | 99 | // Font size in all browsers, margin changes, misc consistency 100 | button, 101 | input, 102 | select, 103 | textarea { 104 | margin: 0; 105 | font-size: 100%; 106 | vertical-align: middle; 107 | } 108 | button, 109 | input { 110 | *overflow: visible; // Inner spacing ie IE6/7 111 | line-height: normal; // FF3/4 have !important on line-height in UA stylesheet 112 | } 113 | button::-moz-focus-inner, 114 | input::-moz-focus-inner { // Inner padding and border oddities in FF3/4 115 | padding: 0; 116 | border: 0; 117 | } 118 | button, 119 | html input[type="button"], // Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls. 120 | input[type="reset"], 121 | input[type="submit"] { 122 | -webkit-appearance: button; // Corrects inability to style clickable `input` types in iOS. 123 | cursor: pointer; // Improves usability and consistency of cursor style between image-type `input` and others. 124 | } 125 | label, 126 | select, 127 | button, 128 | input[type="button"], 129 | input[type="reset"], 130 | input[type="submit"], 131 | input[type="radio"], 132 | input[type="checkbox"] { 133 | cursor: pointer; // Improves usability and consistency of cursor style between image-type `input` and others. 134 | } 135 | input[type="search"] { // Appearance in Safari/Chrome 136 | .box-sizing(content-box); 137 | -webkit-appearance: textfield; 138 | } 139 | input[type="search"]::-webkit-search-decoration, 140 | input[type="search"]::-webkit-search-cancel-button { 141 | -webkit-appearance: none; // Inner-padding issues in Chrome OSX, Safari 5 142 | } 143 | textarea { 144 | overflow: auto; // Remove vertical scrollbar in IE6-9 145 | vertical-align: top; // Readability and alignment cross-browser 146 | } 147 | 148 | 149 | // Printing 150 | // ------------------------- 151 | // Source: https://github.com/h5bp/html5-boilerplate/blob/master/css/main.css 152 | 153 | @media print { 154 | 155 | * { 156 | text-shadow: none !important; 157 | color: #000 !important; // Black prints faster: h5bp.com/s 158 | background: transparent !important; 159 | box-shadow: none !important; 160 | } 161 | 162 | a, 163 | a:visited { 164 | text-decoration: underline; 165 | } 166 | 167 | a[href]:after { 168 | content: " (" attr(href) ")"; 169 | } 170 | 171 | abbr[title]:after { 172 | content: " (" attr(title) ")"; 173 | } 174 | 175 | // Don't show links for images, or javascript/internal links 176 | .ir a:after, 177 | a[href^="javascript:"]:after, 178 | a[href^="#"]:after { 179 | content: ""; 180 | } 181 | 182 | pre, 183 | blockquote { 184 | border: 1px solid #999; 185 | page-break-inside: avoid; 186 | } 187 | 188 | thead { 189 | display: table-header-group; // h5bp.com/t 190 | } 191 | 192 | tr, 193 | img { 194 | page-break-inside: avoid; 195 | } 196 | 197 | img { 198 | max-width: 100% !important; 199 | } 200 | 201 | @page { 202 | margin: 0.5cm; 203 | } 204 | 205 | p, 206 | h2, 207 | h3 { 208 | orphans: 3; 209 | widows: 3; 210 | } 211 | 212 | h2, 213 | h3 { 214 | page-break-after: avoid; 215 | } 216 | } 217 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/responsive-1200px-min.less: -------------------------------------------------------------------------------- 1 | // 2 | // Responsive: Large desktop and up 3 | // -------------------------------------------------- 4 | 5 | 6 | @media (min-width: 1200px) { 7 | 8 | // Fixed grid 9 | #grid > .core(@gridColumnWidth1200, @gridGutterWidth1200); 10 | 11 | // Fluid grid 12 | #grid > .fluid(@fluidGridColumnWidth1200, @fluidGridGutterWidth1200); 13 | 14 | // Input grid 15 | #grid > .input(@gridColumnWidth1200, @gridGutterWidth1200); 16 | 17 | // Thumbnails 18 | .thumbnails { 19 | margin-left: -@gridGutterWidth1200; 20 | } 21 | .thumbnails > li { 22 | margin-left: @gridGutterWidth1200; 23 | } 24 | .row-fluid .thumbnails { 25 | margin-left: 0; 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/responsive-767px-max.less: -------------------------------------------------------------------------------- 1 | // 2 | // Responsive: Landscape phone to desktop/tablet 3 | // -------------------------------------------------- 4 | 5 | 6 | @media (max-width: 767px) { 7 | 8 | // Padding to set content in a bit 9 | body { 10 | padding-left: 20px; 11 | padding-right: 20px; 12 | } 13 | // Negative indent the now static "fixed" navbar 14 | .navbar-fixed-top, 15 | .navbar-fixed-bottom, 16 | .navbar-static-top { 17 | margin-left: -20px; 18 | margin-right: -20px; 19 | } 20 | // Remove padding on container given explicit padding set on body 21 | .container-fluid { 22 | padding: 0; 23 | } 24 | 25 | // TYPOGRAPHY 26 | // ---------- 27 | // Reset horizontal dl 28 | .dl-horizontal { 29 | dt { 30 | float: none; 31 | clear: none; 32 | width: auto; 33 | text-align: left; 34 | } 35 | dd { 36 | margin-left: 0; 37 | } 38 | } 39 | 40 | // GRID & CONTAINERS 41 | // ----------------- 42 | // Remove width from containers 43 | .container { 44 | width: auto; 45 | } 46 | // Fluid rows 47 | .row-fluid { 48 | width: 100%; 49 | } 50 | // Undo negative margin on rows and thumbnails 51 | .row, 52 | .thumbnails { 53 | margin-left: 0; 54 | } 55 | .thumbnails > li { 56 | float: none; 57 | margin-left: 0; // Reset the default margin for all li elements when no .span* classes are present 58 | } 59 | // Make all grid-sized elements block level again 60 | [class*="span"], 61 | .uneditable-input[class*="span"], // Makes uneditable inputs full-width when using grid sizing 62 | .row-fluid [class*="span"] { 63 | float: none; 64 | display: block; 65 | width: 100%; 66 | margin-left: 0; 67 | .box-sizing(border-box); 68 | } 69 | .span12, 70 | .row-fluid .span12 { 71 | width: 100%; 72 | .box-sizing(border-box); 73 | } 74 | .row-fluid [class*="offset"]:first-child { 75 | margin-left: 0; 76 | } 77 | 78 | // FORM FIELDS 79 | // ----------- 80 | // Make span* classes full width 81 | .input-large, 82 | .input-xlarge, 83 | .input-xxlarge, 84 | input[class*="span"], 85 | select[class*="span"], 86 | textarea[class*="span"], 87 | .uneditable-input { 88 | .input-block-level(); 89 | } 90 | // But don't let it screw up prepend/append inputs 91 | .input-prepend input, 92 | .input-append input, 93 | .input-prepend input[class*="span"], 94 | .input-append input[class*="span"] { 95 | display: inline-block; // redeclare so they don't wrap to new lines 96 | width: auto; 97 | } 98 | .controls-row [class*="span"] + [class*="span"] { 99 | margin-left: 0; 100 | } 101 | 102 | // Modals 103 | .modal { 104 | position: fixed; 105 | top: 20px; 106 | left: 20px; 107 | right: 20px; 108 | width: auto; 109 | margin: 0; 110 | &.fade { top: -100px; } 111 | &.fade.in { top: 20px; } 112 | } 113 | 114 | } 115 | 116 | 117 | 118 | // UP TO LANDSCAPE PHONE 119 | // --------------------- 120 | 121 | @media (max-width: 480px) { 122 | 123 | // Smooth out the collapsing/expanding nav 124 | .nav-collapse { 125 | -webkit-transform: translate3d(0, 0, 0); // activate the GPU 126 | } 127 | 128 | // Block level the page header small tag for readability 129 | .page-header h1 small { 130 | display: block; 131 | line-height: @baseLineHeight; 132 | } 133 | 134 | // Update checkboxes for iOS 135 | input[type="checkbox"], 136 | input[type="radio"] { 137 | border: 1px solid #ccc; 138 | } 139 | 140 | // Remove the horizontal form styles 141 | .form-horizontal { 142 | .control-label { 143 | float: none; 144 | width: auto; 145 | padding-top: 0; 146 | text-align: left; 147 | } 148 | // Move over all input controls and content 149 | .controls { 150 | margin-left: 0; 151 | } 152 | // Move the options list down to align with labels 153 | .control-list { 154 | padding-top: 0; // has to be padding because margin collaspes 155 | } 156 | // Move over buttons in .form-actions to align with .controls 157 | .form-actions { 158 | padding-left: 10px; 159 | padding-right: 10px; 160 | } 161 | } 162 | 163 | // Medias 164 | // Reset float and spacing to stack 165 | .media .pull-left, 166 | .media .pull-right { 167 | float: none; 168 | display: block; 169 | margin-bottom: 10px; 170 | } 171 | // Remove side margins since we stack instead of indent 172 | .media-object { 173 | margin-right: 0; 174 | margin-left: 0; 175 | } 176 | 177 | // Modals 178 | .modal { 179 | top: 10px; 180 | left: 10px; 181 | right: 10px; 182 | } 183 | .modal-header .close { 184 | padding: 10px; 185 | margin: -10px; 186 | } 187 | 188 | // Carousel 189 | .carousel-caption { 190 | position: static; 191 | } 192 | 193 | } 194 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/responsive-768px-979px.less: -------------------------------------------------------------------------------- 1 | // 2 | // Responsive: Tablet to desktop 3 | // -------------------------------------------------- 4 | 5 | 6 | @media (min-width: 768px) and (max-width: 979px) { 7 | 8 | // Fixed grid 9 | #grid > .core(@gridColumnWidth768, @gridGutterWidth768); 10 | 11 | // Fluid grid 12 | #grid > .fluid(@fluidGridColumnWidth768, @fluidGridGutterWidth768); 13 | 14 | // Input grid 15 | #grid > .input(@gridColumnWidth768, @gridGutterWidth768); 16 | 17 | // No need to reset .thumbnails here since it's the same @gridGutterWidth 18 | 19 | } 20 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/responsive-navbar.less: -------------------------------------------------------------------------------- 1 | // 2 | // Responsive: Navbar 3 | // -------------------------------------------------- 4 | 5 | 6 | // TABLETS AND BELOW 7 | // ----------------- 8 | @media (max-width: @navbarCollapseWidth) { 9 | 10 | // UNFIX THE TOPBAR 11 | // ---------------- 12 | // Remove any padding from the body 13 | body { 14 | padding-top: 0; 15 | } 16 | // Unfix the navbars 17 | .navbar-fixed-top, 18 | .navbar-fixed-bottom { 19 | position: static; 20 | } 21 | .navbar-fixed-top { 22 | margin-bottom: @baseLineHeight; 23 | } 24 | .navbar-fixed-bottom { 25 | margin-top: @baseLineHeight; 26 | } 27 | .navbar-fixed-top .navbar-inner, 28 | .navbar-fixed-bottom .navbar-inner { 29 | padding: 5px; 30 | } 31 | .navbar .container { 32 | width: auto; 33 | padding: 0; 34 | } 35 | // Account for brand name 36 | .navbar .brand { 37 | padding-left: 10px; 38 | padding-right: 10px; 39 | margin: 0 0 0 -5px; 40 | } 41 | 42 | // COLLAPSIBLE NAVBAR 43 | // ------------------ 44 | // Nav collapse clears brand 45 | .nav-collapse { 46 | clear: both; 47 | } 48 | // Block-level the nav 49 | .nav-collapse .nav { 50 | float: none; 51 | margin: 0 0 (@baseLineHeight / 2); 52 | } 53 | .nav-collapse .nav > li { 54 | float: none; 55 | } 56 | .nav-collapse .nav > li > a { 57 | margin-bottom: 2px; 58 | } 59 | .nav-collapse .nav > .divider-vertical { 60 | display: none; 61 | } 62 | .nav-collapse .nav .nav-header { 63 | color: @navbarText; 64 | text-shadow: none; 65 | } 66 | // Nav and dropdown links in navbar 67 | .nav-collapse .nav > li > a, 68 | .nav-collapse .dropdown-menu a { 69 | padding: 9px 15px; 70 | font-weight: bold; 71 | color: @navbarLinkColor; 72 | .border-radius(3px); 73 | } 74 | // Buttons 75 | .nav-collapse .btn { 76 | padding: 4px 10px 4px; 77 | font-weight: normal; 78 | .border-radius(@baseBorderRadius); 79 | } 80 | .nav-collapse .dropdown-menu li + li a { 81 | margin-bottom: 2px; 82 | } 83 | .nav-collapse .nav > li > a:hover, 84 | .nav-collapse .nav > li > a:focus, 85 | .nav-collapse .dropdown-menu a:hover, 86 | .nav-collapse .dropdown-menu a:focus { 87 | background-color: @navbarBackground; 88 | } 89 | .navbar-inverse .nav-collapse .nav > li > a, 90 | .navbar-inverse .nav-collapse .dropdown-menu a { 91 | color: @navbarInverseLinkColor; 92 | } 93 | .navbar-inverse .nav-collapse .nav > li > a:hover, 94 | .navbar-inverse .nav-collapse .nav > li > a:focus, 95 | .navbar-inverse .nav-collapse .dropdown-menu a:hover, 96 | .navbar-inverse .nav-collapse .dropdown-menu a:focus { 97 | background-color: @navbarInverseBackground; 98 | } 99 | // Buttons in the navbar 100 | .nav-collapse.in .btn-group { 101 | margin-top: 5px; 102 | padding: 0; 103 | } 104 | // Dropdowns in the navbar 105 | .nav-collapse .dropdown-menu { 106 | position: static; 107 | top: auto; 108 | left: auto; 109 | float: none; 110 | display: none; 111 | max-width: none; 112 | margin: 0 15px; 113 | padding: 0; 114 | background-color: transparent; 115 | border: none; 116 | .border-radius(0); 117 | .box-shadow(none); 118 | } 119 | .nav-collapse .open > .dropdown-menu { 120 | display: block; 121 | } 122 | 123 | .nav-collapse .dropdown-menu:before, 124 | .nav-collapse .dropdown-menu:after { 125 | display: none; 126 | } 127 | .nav-collapse .dropdown-menu .divider { 128 | display: none; 129 | } 130 | .nav-collapse .nav > li > .dropdown-menu { 131 | &:before, 132 | &:after { 133 | display: none; 134 | } 135 | } 136 | // Forms in navbar 137 | .nav-collapse .navbar-form, 138 | .nav-collapse .navbar-search { 139 | float: none; 140 | padding: (@baseLineHeight / 2) 15px; 141 | margin: (@baseLineHeight / 2) 0; 142 | border-top: 1px solid @navbarBackground; 143 | border-bottom: 1px solid @navbarBackground; 144 | .box-shadow(~"inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1)"); 145 | } 146 | .navbar-inverse .nav-collapse .navbar-form, 147 | .navbar-inverse .nav-collapse .navbar-search { 148 | border-top-color: @navbarInverseBackground; 149 | border-bottom-color: @navbarInverseBackground; 150 | } 151 | // Pull right (secondary) nav content 152 | .navbar .nav-collapse .nav.pull-right { 153 | float: none; 154 | margin-left: 0; 155 | } 156 | // Hide everything in the navbar save .brand and toggle button */ 157 | .nav-collapse, 158 | .nav-collapse.collapse { 159 | overflow: hidden; 160 | height: 0; 161 | } 162 | // Navbar button 163 | .navbar .btn-navbar { 164 | display: block; 165 | } 166 | 167 | // STATIC NAVBAR 168 | // ------------- 169 | .navbar-static .navbar-inner { 170 | padding-left: 10px; 171 | padding-right: 10px; 172 | } 173 | 174 | 175 | } 176 | 177 | 178 | // DEFAULT DESKTOP 179 | // --------------- 180 | 181 | @media (min-width: @navbarCollapseDesktopWidth) { 182 | 183 | // Required to make the collapsing navbar work on regular desktops 184 | .nav-collapse.collapse { 185 | height: auto !important; 186 | overflow: visible !important; 187 | } 188 | 189 | } 190 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/responsive-utilities.less: -------------------------------------------------------------------------------- 1 | // 2 | // Responsive: Utility classes 3 | // -------------------------------------------------- 4 | 5 | 6 | // IE10 Metro responsive 7 | // Required for Windows 8 Metro split-screen snapping with IE10 8 | // Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/ 9 | @-ms-viewport{ 10 | width: device-width; 11 | } 12 | 13 | // Hide from screenreaders and browsers 14 | // Credit: HTML5 Boilerplate 15 | .hidden { 16 | display: none; 17 | visibility: hidden; 18 | } 19 | 20 | // Visibility utilities 21 | 22 | // For desktops 23 | .visible-phone { display: none !important; } 24 | .visible-tablet { display: none !important; } 25 | .hidden-phone { } 26 | .hidden-tablet { } 27 | .hidden-desktop { display: none !important; } 28 | .visible-desktop { display: inherit !important; } 29 | 30 | // Tablets & small desktops only 31 | @media (min-width: 768px) and (max-width: 979px) { 32 | // Hide everything else 33 | .hidden-desktop { display: inherit !important; } 34 | .visible-desktop { display: none !important ; } 35 | // Show 36 | .visible-tablet { display: inherit !important; } 37 | // Hide 38 | .hidden-tablet { display: none !important; } 39 | } 40 | 41 | // Phones only 42 | @media (max-width: 767px) { 43 | // Hide everything else 44 | .hidden-desktop { display: inherit !important; } 45 | .visible-desktop { display: none !important; } 46 | // Show 47 | .visible-phone { display: inherit !important; } // Use inherit to restore previous behavior 48 | // Hide 49 | .hidden-phone { display: none !important; } 50 | } 51 | 52 | // Print utilities 53 | .visible-print { display: none !important; } 54 | .hidden-print { } 55 | 56 | @media print { 57 | .visible-print { display: inherit !important; } 58 | .hidden-print { display: none !important; } 59 | } 60 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/responsive.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Responsive v2.3.1 3 | * 4 | * Copyright 2012 Twitter, Inc 5 | * Licensed under the Apache License v2.0 6 | * http://www.apache.org/licenses/LICENSE-2.0 7 | * 8 | * Designed and built with all the love in the world @twitter by @mdo and @fat. 9 | */ 10 | 11 | 12 | // Responsive.less 13 | // For phone and tablet devices 14 | // ------------------------------------------------------------- 15 | 16 | 17 | // REPEAT VARIABLES & MIXINS 18 | // ------------------------- 19 | // Required since we compile the responsive stuff separately 20 | 21 | @import "variables.less"; // Modify this for custom colors, font-sizes, etc 22 | @import "mixins.less"; 23 | 24 | 25 | // RESPONSIVE CLASSES 26 | // ------------------ 27 | 28 | @import "responsive-utilities.less"; 29 | 30 | 31 | // MEDIA QUERIES 32 | // ------------------ 33 | 34 | // Large desktops 35 | @import "responsive-1200px-min.less"; 36 | 37 | // Tablets to regular desktops 38 | @import "responsive-768px-979px.less"; 39 | 40 | // Phones to portrait tablets and narrow desktops 41 | @import "responsive-767px-max.less"; 42 | 43 | 44 | // RESPONSIVE NAVBAR 45 | // ------------------ 46 | 47 | // From 979px and below, show a button to toggle navbar contents 48 | @import "responsive-navbar.less"; 49 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/scaffolding.less: -------------------------------------------------------------------------------- 1 | // 2 | // Scaffolding 3 | // -------------------------------------------------- 4 | 5 | 6 | // Body reset 7 | // ------------------------- 8 | 9 | body { 10 | margin: 0; 11 | font-family: @baseFontFamily; 12 | font-size: @baseFontSize; 13 | line-height: @baseLineHeight; 14 | color: @textColor; 15 | background-color: @bodyBackground; 16 | } 17 | 18 | 19 | // Links 20 | // ------------------------- 21 | 22 | a { 23 | color: @linkColor; 24 | text-decoration: none; 25 | } 26 | a:hover, 27 | a:focus { 28 | color: @linkColorHover; 29 | text-decoration: underline; 30 | } 31 | 32 | 33 | // Images 34 | // ------------------------- 35 | 36 | // Rounded corners 37 | .img-rounded { 38 | .border-radius(6px); 39 | } 40 | 41 | // Add polaroid-esque trim 42 | .img-polaroid { 43 | padding: 4px; 44 | background-color: #fff; 45 | border: 1px solid #ccc; 46 | border: 1px solid rgba(0,0,0,.2); 47 | .box-shadow(0 1px 3px rgba(0,0,0,.1)); 48 | } 49 | 50 | // Perfect circle 51 | .img-circle { 52 | .border-radius(500px); // crank the border-radius so it works with most reasonably sized images 53 | } 54 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/sprites.less: -------------------------------------------------------------------------------- 1 | // 2 | // Sprites 3 | // -------------------------------------------------- 4 | 5 | 6 | // ICONS 7 | // ----- 8 | 9 | // All icons receive the styles of the tag with a base class 10 | // of .i and are then given a unique class to add width, height, 11 | // and background-position. Your resulting HTML will look like 12 | // . 13 | 14 | // For the white version of the icons, just add the .icon-white class: 15 | // 16 | 17 | [class^="icon-"], 18 | [class*=" icon-"] { 19 | display: inline-block; 20 | width: 14px; 21 | height: 14px; 22 | .ie7-restore-right-whitespace(); 23 | line-height: 14px; 24 | vertical-align: text-top; 25 | background-image: url("@{iconSpritePath}"); 26 | background-position: 14px 14px; 27 | background-repeat: no-repeat; 28 | margin-top: 1px; 29 | } 30 | 31 | /* White icons with optional class, or on hover/focus/active states of certain elements */ 32 | .icon-white, 33 | .nav-pills > .active > a > [class^="icon-"], 34 | .nav-pills > .active > a > [class*=" icon-"], 35 | .nav-list > .active > a > [class^="icon-"], 36 | .nav-list > .active > a > [class*=" icon-"], 37 | .navbar-inverse .nav > .active > a > [class^="icon-"], 38 | .navbar-inverse .nav > .active > a > [class*=" icon-"], 39 | .dropdown-menu > li > a:hover > [class^="icon-"], 40 | .dropdown-menu > li > a:focus > [class^="icon-"], 41 | .dropdown-menu > li > a:hover > [class*=" icon-"], 42 | .dropdown-menu > li > a:focus > [class*=" icon-"], 43 | .dropdown-menu > .active > a > [class^="icon-"], 44 | .dropdown-menu > .active > a > [class*=" icon-"], 45 | .dropdown-submenu:hover > a > [class^="icon-"], 46 | .dropdown-submenu:focus > a > [class^="icon-"], 47 | .dropdown-submenu:hover > a > [class*=" icon-"], 48 | .dropdown-submenu:focus > a > [class*=" icon-"] { 49 | background-image: url("@{iconWhiteSpritePath}"); 50 | } 51 | 52 | .icon-glass { background-position: 0 0; } 53 | .icon-music { background-position: -24px 0; } 54 | .icon-search { background-position: -48px 0; } 55 | .icon-envelope { background-position: -72px 0; } 56 | .icon-heart { background-position: -96px 0; } 57 | .icon-star { background-position: -120px 0; } 58 | .icon-star-empty { background-position: -144px 0; } 59 | .icon-user { background-position: -168px 0; } 60 | .icon-film { background-position: -192px 0; } 61 | .icon-th-large { background-position: -216px 0; } 62 | .icon-th { background-position: -240px 0; } 63 | .icon-th-list { background-position: -264px 0; } 64 | .icon-ok { background-position: -288px 0; } 65 | .icon-remove { background-position: -312px 0; } 66 | .icon-zoom-in { background-position: -336px 0; } 67 | .icon-zoom-out { background-position: -360px 0; } 68 | .icon-off { background-position: -384px 0; } 69 | .icon-signal { background-position: -408px 0; } 70 | .icon-cog { background-position: -432px 0; } 71 | .icon-trash { background-position: -456px 0; } 72 | 73 | .icon-home { background-position: 0 -24px; } 74 | .icon-file { background-position: -24px -24px; } 75 | .icon-time { background-position: -48px -24px; } 76 | .icon-road { background-position: -72px -24px; } 77 | .icon-download-alt { background-position: -96px -24px; } 78 | .icon-download { background-position: -120px -24px; } 79 | .icon-upload { background-position: -144px -24px; } 80 | .icon-inbox { background-position: -168px -24px; } 81 | .icon-play-circle { background-position: -192px -24px; } 82 | .icon-repeat { background-position: -216px -24px; } 83 | .icon-refresh { background-position: -240px -24px; } 84 | .icon-list-alt { background-position: -264px -24px; } 85 | .icon-lock { background-position: -287px -24px; } // 1px off 86 | .icon-flag { background-position: -312px -24px; } 87 | .icon-headphones { background-position: -336px -24px; } 88 | .icon-volume-off { background-position: -360px -24px; } 89 | .icon-volume-down { background-position: -384px -24px; } 90 | .icon-volume-up { background-position: -408px -24px; } 91 | .icon-qrcode { background-position: -432px -24px; } 92 | .icon-barcode { background-position: -456px -24px; } 93 | 94 | .icon-tag { background-position: 0 -48px; } 95 | .icon-tags { background-position: -25px -48px; } // 1px off 96 | .icon-book { background-position: -48px -48px; } 97 | .icon-bookmark { background-position: -72px -48px; } 98 | .icon-print { background-position: -96px -48px; } 99 | .icon-camera { background-position: -120px -48px; } 100 | .icon-font { background-position: -144px -48px; } 101 | .icon-bold { background-position: -167px -48px; } // 1px off 102 | .icon-italic { background-position: -192px -48px; } 103 | .icon-text-height { background-position: -216px -48px; } 104 | .icon-text-width { background-position: -240px -48px; } 105 | .icon-align-left { background-position: -264px -48px; } 106 | .icon-align-center { background-position: -288px -48px; } 107 | .icon-align-right { background-position: -312px -48px; } 108 | .icon-align-justify { background-position: -336px -48px; } 109 | .icon-list { background-position: -360px -48px; } 110 | .icon-indent-left { background-position: -384px -48px; } 111 | .icon-indent-right { background-position: -408px -48px; } 112 | .icon-facetime-video { background-position: -432px -48px; } 113 | .icon-picture { background-position: -456px -48px; } 114 | 115 | .icon-pencil { background-position: 0 -72px; } 116 | .icon-map-marker { background-position: -24px -72px; } 117 | .icon-adjust { background-position: -48px -72px; } 118 | .icon-tint { background-position: -72px -72px; } 119 | .icon-edit { background-position: -96px -72px; } 120 | .icon-share { background-position: -120px -72px; } 121 | .icon-check { background-position: -144px -72px; } 122 | .icon-move { background-position: -168px -72px; } 123 | .icon-step-backward { background-position: -192px -72px; } 124 | .icon-fast-backward { background-position: -216px -72px; } 125 | .icon-backward { background-position: -240px -72px; } 126 | .icon-play { background-position: -264px -72px; } 127 | .icon-pause { background-position: -288px -72px; } 128 | .icon-stop { background-position: -312px -72px; } 129 | .icon-forward { background-position: -336px -72px; } 130 | .icon-fast-forward { background-position: -360px -72px; } 131 | .icon-step-forward { background-position: -384px -72px; } 132 | .icon-eject { background-position: -408px -72px; } 133 | .icon-chevron-left { background-position: -432px -72px; } 134 | .icon-chevron-right { background-position: -456px -72px; } 135 | 136 | .icon-plus-sign { background-position: 0 -96px; } 137 | .icon-minus-sign { background-position: -24px -96px; } 138 | .icon-remove-sign { background-position: -48px -96px; } 139 | .icon-ok-sign { background-position: -72px -96px; } 140 | .icon-question-sign { background-position: -96px -96px; } 141 | .icon-info-sign { background-position: -120px -96px; } 142 | .icon-screenshot { background-position: -144px -96px; } 143 | .icon-remove-circle { background-position: -168px -96px; } 144 | .icon-ok-circle { background-position: -192px -96px; } 145 | .icon-ban-circle { background-position: -216px -96px; } 146 | .icon-arrow-left { background-position: -240px -96px; } 147 | .icon-arrow-right { background-position: -264px -96px; } 148 | .icon-arrow-up { background-position: -289px -96px; } // 1px off 149 | .icon-arrow-down { background-position: -312px -96px; } 150 | .icon-share-alt { background-position: -336px -96px; } 151 | .icon-resize-full { background-position: -360px -96px; } 152 | .icon-resize-small { background-position: -384px -96px; } 153 | .icon-plus { background-position: -408px -96px; } 154 | .icon-minus { background-position: -433px -96px; } 155 | .icon-asterisk { background-position: -456px -96px; } 156 | 157 | .icon-exclamation-sign { background-position: 0 -120px; } 158 | .icon-gift { background-position: -24px -120px; } 159 | .icon-leaf { background-position: -48px -120px; } 160 | .icon-fire { background-position: -72px -120px; } 161 | .icon-eye-open { background-position: -96px -120px; } 162 | .icon-eye-close { background-position: -120px -120px; } 163 | .icon-warning-sign { background-position: -144px -120px; } 164 | .icon-plane { background-position: -168px -120px; } 165 | .icon-calendar { background-position: -192px -120px; } 166 | .icon-random { background-position: -216px -120px; width: 16px; } 167 | .icon-comment { background-position: -240px -120px; } 168 | .icon-magnet { background-position: -264px -120px; } 169 | .icon-chevron-up { background-position: -288px -120px; } 170 | .icon-chevron-down { background-position: -313px -119px; } // 1px, 1px off 171 | .icon-retweet { background-position: -336px -120px; } 172 | .icon-shopping-cart { background-position: -360px -120px; } 173 | .icon-folder-close { background-position: -384px -120px; width: 16px; } 174 | .icon-folder-open { background-position: -408px -120px; width: 16px; } 175 | .icon-resize-vertical { background-position: -432px -119px; } // 1px, 1px off 176 | .icon-resize-horizontal { background-position: -456px -118px; } // 1px, 2px off 177 | 178 | .icon-hdd { background-position: 0 -144px; } 179 | .icon-bullhorn { background-position: -24px -144px; } 180 | .icon-bell { background-position: -48px -144px; } 181 | .icon-certificate { background-position: -72px -144px; } 182 | .icon-thumbs-up { background-position: -96px -144px; } 183 | .icon-thumbs-down { background-position: -120px -144px; } 184 | .icon-hand-right { background-position: -144px -144px; } 185 | .icon-hand-left { background-position: -168px -144px; } 186 | .icon-hand-up { background-position: -192px -144px; } 187 | .icon-hand-down { background-position: -216px -144px; } 188 | .icon-circle-arrow-right { background-position: -240px -144px; } 189 | .icon-circle-arrow-left { background-position: -264px -144px; } 190 | .icon-circle-arrow-up { background-position: -288px -144px; } 191 | .icon-circle-arrow-down { background-position: -312px -144px; } 192 | .icon-globe { background-position: -336px -144px; } 193 | .icon-wrench { background-position: -360px -144px; } 194 | .icon-tasks { background-position: -384px -144px; } 195 | .icon-filter { background-position: -408px -144px; } 196 | .icon-briefcase { background-position: -432px -144px; } 197 | .icon-fullscreen { background-position: -456px -144px; } 198 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/tables.less: -------------------------------------------------------------------------------- 1 | // 2 | // Tables 3 | // -------------------------------------------------- 4 | 5 | 6 | // BASE TABLES 7 | // ----------------- 8 | 9 | table { 10 | max-width: 100%; 11 | background-color: @tableBackground; 12 | border-collapse: collapse; 13 | border-spacing: 0; 14 | } 15 | 16 | // BASELINE STYLES 17 | // --------------- 18 | 19 | .table { 20 | width: 100%; 21 | margin-bottom: @baseLineHeight; 22 | // Cells 23 | th, 24 | td { 25 | padding: 8px; 26 | line-height: @baseLineHeight; 27 | text-align: left; 28 | vertical-align: top; 29 | border-top: 1px solid @tableBorder; 30 | } 31 | th { 32 | font-weight: bold; 33 | } 34 | // Bottom align for column headings 35 | thead th { 36 | vertical-align: bottom; 37 | } 38 | // Remove top border from thead by default 39 | caption + thead tr:first-child th, 40 | caption + thead tr:first-child td, 41 | colgroup + thead tr:first-child th, 42 | colgroup + thead tr:first-child td, 43 | thead:first-child tr:first-child th, 44 | thead:first-child tr:first-child td { 45 | border-top: 0; 46 | } 47 | // Account for multiple tbody instances 48 | tbody + tbody { 49 | border-top: 2px solid @tableBorder; 50 | } 51 | 52 | // Nesting 53 | .table { 54 | background-color: @bodyBackground; 55 | } 56 | } 57 | 58 | 59 | 60 | // CONDENSED TABLE W/ HALF PADDING 61 | // ------------------------------- 62 | 63 | .table-condensed { 64 | th, 65 | td { 66 | padding: 4px 5px; 67 | } 68 | } 69 | 70 | 71 | // BORDERED VERSION 72 | // ---------------- 73 | 74 | .table-bordered { 75 | border: 1px solid @tableBorder; 76 | border-collapse: separate; // Done so we can round those corners! 77 | *border-collapse: collapse; // IE7 can't round corners anyway 78 | border-left: 0; 79 | .border-radius(@baseBorderRadius); 80 | th, 81 | td { 82 | border-left: 1px solid @tableBorder; 83 | } 84 | // Prevent a double border 85 | caption + thead tr:first-child th, 86 | caption + tbody tr:first-child th, 87 | caption + tbody tr:first-child td, 88 | colgroup + thead tr:first-child th, 89 | colgroup + tbody tr:first-child th, 90 | colgroup + tbody tr:first-child td, 91 | thead:first-child tr:first-child th, 92 | tbody:first-child tr:first-child th, 93 | tbody:first-child tr:first-child td { 94 | border-top: 0; 95 | } 96 | // For first th/td in the first row in the first thead or tbody 97 | thead:first-child tr:first-child > th:first-child, 98 | tbody:first-child tr:first-child > td:first-child, 99 | tbody:first-child tr:first-child > th:first-child { 100 | .border-top-left-radius(@baseBorderRadius); 101 | } 102 | // For last th/td in the first row in the first thead or tbody 103 | thead:first-child tr:first-child > th:last-child, 104 | tbody:first-child tr:first-child > td:last-child, 105 | tbody:first-child tr:first-child > th:last-child { 106 | .border-top-right-radius(@baseBorderRadius); 107 | } 108 | // For first th/td (can be either) in the last row in the last thead, tbody, and tfoot 109 | thead:last-child tr:last-child > th:first-child, 110 | tbody:last-child tr:last-child > td:first-child, 111 | tbody:last-child tr:last-child > th:first-child, 112 | tfoot:last-child tr:last-child > td:first-child, 113 | tfoot:last-child tr:last-child > th:first-child { 114 | .border-bottom-left-radius(@baseBorderRadius); 115 | } 116 | // For last th/td (can be either) in the last row in the last thead, tbody, and tfoot 117 | thead:last-child tr:last-child > th:last-child, 118 | tbody:last-child tr:last-child > td:last-child, 119 | tbody:last-child tr:last-child > th:last-child, 120 | tfoot:last-child tr:last-child > td:last-child, 121 | tfoot:last-child tr:last-child > th:last-child { 122 | .border-bottom-right-radius(@baseBorderRadius); 123 | } 124 | 125 | // Clear border-radius for first and last td in the last row in the last tbody for table with tfoot 126 | tfoot + tbody:last-child tr:last-child td:first-child { 127 | .border-bottom-left-radius(0); 128 | } 129 | tfoot + tbody:last-child tr:last-child td:last-child { 130 | .border-bottom-right-radius(0); 131 | } 132 | 133 | // Special fixes to round the left border on the first td/th 134 | caption + thead tr:first-child th:first-child, 135 | caption + tbody tr:first-child td:first-child, 136 | colgroup + thead tr:first-child th:first-child, 137 | colgroup + tbody tr:first-child td:first-child { 138 | .border-top-left-radius(@baseBorderRadius); 139 | } 140 | caption + thead tr:first-child th:last-child, 141 | caption + tbody tr:first-child td:last-child, 142 | colgroup + thead tr:first-child th:last-child, 143 | colgroup + tbody tr:first-child td:last-child { 144 | .border-top-right-radius(@baseBorderRadius); 145 | } 146 | 147 | } 148 | 149 | 150 | 151 | 152 | // ZEBRA-STRIPING 153 | // -------------- 154 | 155 | // Default zebra-stripe styles (alternating gray and transparent backgrounds) 156 | .table-striped { 157 | tbody { 158 | > tr:nth-child(odd) > td, 159 | > tr:nth-child(odd) > th { 160 | background-color: @tableBackgroundAccent; 161 | } 162 | } 163 | } 164 | 165 | 166 | // HOVER EFFECT 167 | // ------------ 168 | // Placed here since it has to come after the potential zebra striping 169 | .table-hover { 170 | tbody { 171 | tr:hover > td, 172 | tr:hover > th { 173 | background-color: @tableBackgroundHover; 174 | } 175 | } 176 | } 177 | 178 | 179 | // TABLE CELL SIZING 180 | // ----------------- 181 | 182 | // Reset default grid behavior 183 | table td[class*="span"], 184 | table th[class*="span"], 185 | .row-fluid table td[class*="span"], 186 | .row-fluid table th[class*="span"] { 187 | display: table-cell; 188 | float: none; // undo default grid column styles 189 | margin-left: 0; // undo default grid column styles 190 | } 191 | 192 | // Change the column widths to account for td/th padding 193 | .table td, 194 | .table th { 195 | &.span1 { .tableColumns(1); } 196 | &.span2 { .tableColumns(2); } 197 | &.span3 { .tableColumns(3); } 198 | &.span4 { .tableColumns(4); } 199 | &.span5 { .tableColumns(5); } 200 | &.span6 { .tableColumns(6); } 201 | &.span7 { .tableColumns(7); } 202 | &.span8 { .tableColumns(8); } 203 | &.span9 { .tableColumns(9); } 204 | &.span10 { .tableColumns(10); } 205 | &.span11 { .tableColumns(11); } 206 | &.span12 { .tableColumns(12); } 207 | } 208 | 209 | 210 | 211 | // TABLE BACKGROUNDS 212 | // ----------------- 213 | // Exact selectors below required to override .table-striped 214 | 215 | .table tbody tr { 216 | &.success > td { 217 | background-color: @successBackground; 218 | } 219 | &.error > td { 220 | background-color: @errorBackground; 221 | } 222 | &.warning > td { 223 | background-color: @warningBackground; 224 | } 225 | &.info > td { 226 | background-color: @infoBackground; 227 | } 228 | } 229 | 230 | // Hover states for .table-hover 231 | .table-hover tbody tr { 232 | &.success:hover > td { 233 | background-color: darken(@successBackground, 5%); 234 | } 235 | &.error:hover > td { 236 | background-color: darken(@errorBackground, 5%); 237 | } 238 | &.warning:hover > td { 239 | background-color: darken(@warningBackground, 5%); 240 | } 241 | &.info:hover > td { 242 | background-color: darken(@infoBackground, 5%); 243 | } 244 | } 245 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/thumbnails.less: -------------------------------------------------------------------------------- 1 | // 2 | // Thumbnails 3 | // -------------------------------------------------- 4 | 5 | 6 | // Note: `.thumbnails` and `.thumbnails > li` are overridden in responsive files 7 | 8 | // Make wrapper ul behave like the grid 9 | .thumbnails { 10 | margin-left: -@gridGutterWidth; 11 | list-style: none; 12 | .clearfix(); 13 | } 14 | // Fluid rows have no left margin 15 | .row-fluid .thumbnails { 16 | margin-left: 0; 17 | } 18 | 19 | // Float li to make thumbnails appear in a row 20 | .thumbnails > li { 21 | float: left; // Explicitly set the float since we don't require .span* classes 22 | margin-bottom: @baseLineHeight; 23 | margin-left: @gridGutterWidth; 24 | } 25 | 26 | // The actual thumbnail (can be `a` or `div`) 27 | .thumbnail { 28 | display: block; 29 | padding: 4px; 30 | line-height: @baseLineHeight; 31 | border: 1px solid #ddd; 32 | .border-radius(@baseBorderRadius); 33 | .box-shadow(0 1px 3px rgba(0,0,0,.055)); 34 | .transition(all .2s ease-in-out); 35 | } 36 | // Add a hover/focus state for linked versions only 37 | a.thumbnail:hover, 38 | a.thumbnail:focus { 39 | border-color: @linkColor; 40 | .box-shadow(0 1px 4px rgba(0,105,214,.25)); 41 | } 42 | 43 | // Images and captions 44 | .thumbnail > img { 45 | display: block; 46 | max-width: 100%; 47 | margin-left: auto; 48 | margin-right: auto; 49 | } 50 | .thumbnail .caption { 51 | padding: 9px; 52 | color: @gray; 53 | } 54 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/tooltip.less: -------------------------------------------------------------------------------- 1 | // 2 | // Tooltips 3 | // -------------------------------------------------- 4 | 5 | 6 | // Base class 7 | .tooltip { 8 | position: absolute; 9 | z-index: @zindexTooltip; 10 | display: block; 11 | visibility: visible; 12 | font-size: 11px; 13 | line-height: 1.4; 14 | .opacity(0); 15 | &.in { .opacity(80); } 16 | &.top { margin-top: -3px; padding: 5px 0; } 17 | &.right { margin-left: 3px; padding: 0 5px; } 18 | &.bottom { margin-top: 3px; padding: 5px 0; } 19 | &.left { margin-left: -3px; padding: 0 5px; } 20 | } 21 | 22 | // Wrapper for the tooltip content 23 | .tooltip-inner { 24 | max-width: 200px; 25 | padding: 8px; 26 | color: @tooltipColor; 27 | text-align: center; 28 | text-decoration: none; 29 | background-color: @tooltipBackground; 30 | .border-radius(@baseBorderRadius); 31 | } 32 | 33 | // Arrows 34 | .tooltip-arrow { 35 | position: absolute; 36 | width: 0; 37 | height: 0; 38 | border-color: transparent; 39 | border-style: solid; 40 | } 41 | .tooltip { 42 | &.top .tooltip-arrow { 43 | bottom: 0; 44 | left: 50%; 45 | margin-left: -@tooltipArrowWidth; 46 | border-width: @tooltipArrowWidth @tooltipArrowWidth 0; 47 | border-top-color: @tooltipArrowColor; 48 | } 49 | &.right .tooltip-arrow { 50 | top: 50%; 51 | left: 0; 52 | margin-top: -@tooltipArrowWidth; 53 | border-width: @tooltipArrowWidth @tooltipArrowWidth @tooltipArrowWidth 0; 54 | border-right-color: @tooltipArrowColor; 55 | } 56 | &.left .tooltip-arrow { 57 | top: 50%; 58 | right: 0; 59 | margin-top: -@tooltipArrowWidth; 60 | border-width: @tooltipArrowWidth 0 @tooltipArrowWidth @tooltipArrowWidth; 61 | border-left-color: @tooltipArrowColor; 62 | } 63 | &.bottom .tooltip-arrow { 64 | top: 0; 65 | left: 50%; 66 | margin-left: -@tooltipArrowWidth; 67 | border-width: 0 @tooltipArrowWidth @tooltipArrowWidth; 68 | border-bottom-color: @tooltipArrowColor; 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/type.less: -------------------------------------------------------------------------------- 1 | // 2 | // Typography 3 | // -------------------------------------------------- 4 | 5 | 6 | // Body text 7 | // ------------------------- 8 | 9 | p { 10 | margin: 0 0 @baseLineHeight / 2; 11 | } 12 | .lead { 13 | margin-bottom: @baseLineHeight; 14 | font-size: @baseFontSize * 1.5; 15 | font-weight: 200; 16 | line-height: @baseLineHeight * 1.5; 17 | } 18 | 19 | 20 | // Emphasis & misc 21 | // ------------------------- 22 | 23 | // Ex: 14px base font * 85% = about 12px 24 | small { font-size: 85%; } 25 | 26 | strong { font-weight: bold; } 27 | em { font-style: italic; } 28 | cite { font-style: normal; } 29 | 30 | // Utility classes 31 | .muted { color: @grayLight; } 32 | a.muted:hover, 33 | a.muted:focus { color: darken(@grayLight, 10%); } 34 | 35 | .text-warning { color: @warningText; } 36 | a.text-warning:hover, 37 | a.text-warning:focus { color: darken(@warningText, 10%); } 38 | 39 | .text-error { color: @errorText; } 40 | a.text-error:hover, 41 | a.text-error:focus { color: darken(@errorText, 10%); } 42 | 43 | .text-info { color: @infoText; } 44 | a.text-info:hover, 45 | a.text-info:focus { color: darken(@infoText, 10%); } 46 | 47 | .text-success { color: @successText; } 48 | a.text-success:hover, 49 | a.text-success:focus { color: darken(@successText, 10%); } 50 | 51 | .text-left { text-align: left; } 52 | .text-right { text-align: right; } 53 | .text-center { text-align: center; } 54 | 55 | 56 | // Headings 57 | // ------------------------- 58 | 59 | h1, h2, h3, h4, h5, h6 { 60 | margin: (@baseLineHeight / 2) 0; 61 | font-family: @headingsFontFamily; 62 | font-weight: @headingsFontWeight; 63 | line-height: @baseLineHeight; 64 | color: @headingsColor; 65 | text-rendering: optimizelegibility; // Fix the character spacing for headings 66 | small { 67 | font-weight: normal; 68 | line-height: 1; 69 | color: @grayLight; 70 | } 71 | } 72 | 73 | h1, 74 | h2, 75 | h3 { line-height: @baseLineHeight * 2; } 76 | 77 | h1 { font-size: @baseFontSize * 2.75; } // ~38px 78 | h2 { font-size: @baseFontSize * 2.25; } // ~32px 79 | h3 { font-size: @baseFontSize * 1.75; } // ~24px 80 | h4 { font-size: @baseFontSize * 1.25; } // ~18px 81 | h5 { font-size: @baseFontSize; } 82 | h6 { font-size: @baseFontSize * 0.85; } // ~12px 83 | 84 | h1 small { font-size: @baseFontSize * 1.75; } // ~24px 85 | h2 small { font-size: @baseFontSize * 1.25; } // ~18px 86 | h3 small { font-size: @baseFontSize; } 87 | h4 small { font-size: @baseFontSize; } 88 | 89 | 90 | // Page header 91 | // ------------------------- 92 | 93 | .page-header { 94 | padding-bottom: (@baseLineHeight / 2) - 1; 95 | margin: @baseLineHeight 0 (@baseLineHeight * 1.5); 96 | border-bottom: 1px solid @grayLighter; 97 | } 98 | 99 | 100 | 101 | // Lists 102 | // -------------------------------------------------- 103 | 104 | // Unordered and Ordered lists 105 | ul, ol { 106 | padding: 0; 107 | margin: 0 0 @baseLineHeight / 2 25px; 108 | } 109 | ul ul, 110 | ul ol, 111 | ol ol, 112 | ol ul { 113 | margin-bottom: 0; 114 | } 115 | li { 116 | line-height: @baseLineHeight; 117 | } 118 | 119 | // Remove default list styles 120 | ul.unstyled, 121 | ol.unstyled { 122 | margin-left: 0; 123 | list-style: none; 124 | } 125 | 126 | // Single-line list items 127 | ul.inline, 128 | ol.inline { 129 | margin-left: 0; 130 | list-style: none; 131 | > li { 132 | display: inline-block; 133 | .ie7-inline-block(); 134 | padding-left: 5px; 135 | padding-right: 5px; 136 | } 137 | } 138 | 139 | // Description Lists 140 | dl { 141 | margin-bottom: @baseLineHeight; 142 | } 143 | dt, 144 | dd { 145 | line-height: @baseLineHeight; 146 | } 147 | dt { 148 | font-weight: bold; 149 | } 150 | dd { 151 | margin-left: @baseLineHeight / 2; 152 | } 153 | // Horizontal layout (like forms) 154 | .dl-horizontal { 155 | .clearfix(); // Ensure dl clears floats if empty dd elements present 156 | dt { 157 | float: left; 158 | width: @horizontalComponentOffset - 20; 159 | clear: left; 160 | text-align: right; 161 | .text-overflow(); 162 | } 163 | dd { 164 | margin-left: @horizontalComponentOffset; 165 | } 166 | } 167 | 168 | // MISC 169 | // ---- 170 | 171 | // Horizontal rules 172 | hr { 173 | margin: @baseLineHeight 0; 174 | border: 0; 175 | border-top: 1px solid @hrBorder; 176 | border-bottom: 1px solid @white; 177 | } 178 | 179 | // Abbreviations and acronyms 180 | abbr[title], 181 | // Added data-* attribute to help out our tooltip plugin, per https://github.com/twitter/bootstrap/issues/5257 182 | abbr[data-original-title] { 183 | cursor: help; 184 | border-bottom: 1px dotted @grayLight; 185 | } 186 | abbr.initialism { 187 | font-size: 90%; 188 | text-transform: uppercase; 189 | } 190 | 191 | // Blockquotes 192 | blockquote { 193 | padding: 0 0 0 15px; 194 | margin: 0 0 @baseLineHeight; 195 | border-left: 5px solid @grayLighter; 196 | p { 197 | margin-bottom: 0; 198 | font-size: @baseFontSize * 1.25; 199 | font-weight: 300; 200 | line-height: 1.25; 201 | } 202 | small { 203 | display: block; 204 | line-height: @baseLineHeight; 205 | color: @grayLight; 206 | &:before { 207 | content: '\2014 \00A0'; 208 | } 209 | } 210 | 211 | // Float right with text-align: right 212 | &.pull-right { 213 | float: right; 214 | padding-right: 15px; 215 | padding-left: 0; 216 | border-right: 5px solid @grayLighter; 217 | border-left: 0; 218 | p, 219 | small { 220 | text-align: right; 221 | } 222 | small { 223 | &:before { 224 | content: ''; 225 | } 226 | &:after { 227 | content: '\00A0 \2014'; 228 | } 229 | } 230 | } 231 | } 232 | 233 | // Quotes 234 | q:before, 235 | q:after, 236 | blockquote:before, 237 | blockquote:after { 238 | content: ""; 239 | } 240 | 241 | // Addresses 242 | address { 243 | display: block; 244 | margin-bottom: @baseLineHeight; 245 | font-style: normal; 246 | line-height: @baseLineHeight; 247 | } 248 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/utilities.less: -------------------------------------------------------------------------------- 1 | // 2 | // Utility classes 3 | // -------------------------------------------------- 4 | 5 | 6 | // Quick floats 7 | .pull-right { 8 | float: right; 9 | } 10 | .pull-left { 11 | float: left; 12 | } 13 | 14 | // Toggling content 15 | .hide { 16 | display: none; 17 | } 18 | .show { 19 | display: block; 20 | } 21 | 22 | // Visibility 23 | .invisible { 24 | visibility: hidden; 25 | } 26 | 27 | // For Affix plugin 28 | .affix { 29 | position: fixed; 30 | } 31 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/variables.less: -------------------------------------------------------------------------------- 1 | // 2 | // Variables 3 | // -------------------------------------------------- 4 | 5 | 6 | // Global values 7 | // -------------------------------------------------- 8 | 9 | 10 | // Grays 11 | // ------------------------- 12 | @black: #000; 13 | @grayDarker: #222; 14 | @grayDark: #333; 15 | @gray: #555; 16 | @grayLight: #999; 17 | @grayLighter: #eee; 18 | @white: #fff; 19 | 20 | 21 | // Accent colors 22 | // ------------------------- 23 | @blue: #049cdb; 24 | @blueDark: #0064cd; 25 | @green: #46a546; 26 | @red: #9d261d; 27 | @yellow: #ffc40d; 28 | @orange: #f89406; 29 | @pink: #c3325f; 30 | @purple: #7a43b6; 31 | 32 | 33 | // Scaffolding 34 | // ------------------------- 35 | @bodyBackground: @white; 36 | @textColor: @grayDark; 37 | 38 | 39 | // Links 40 | // ------------------------- 41 | @linkColor: #08c; 42 | @linkColorHover: darken(@linkColor, 15%); 43 | 44 | 45 | // Typography 46 | // ------------------------- 47 | @sansFontFamily: "Helvetica Neue", Helvetica, Arial, sans-serif; 48 | @serifFontFamily: Georgia, "Times New Roman", Times, serif; 49 | @monoFontFamily: Monaco, Menlo, Consolas, "Courier New", monospace; 50 | 51 | @baseFontSize: 14px; 52 | @baseFontFamily: @sansFontFamily; 53 | @baseLineHeight: 20px; 54 | @altFontFamily: @serifFontFamily; 55 | 56 | @headingsFontFamily: inherit; // empty to use BS default, @baseFontFamily 57 | @headingsFontWeight: bold; // instead of browser default, bold 58 | @headingsColor: inherit; // empty to use BS default, @textColor 59 | 60 | 61 | // Component sizing 62 | // ------------------------- 63 | // Based on 14px font-size and 20px line-height 64 | 65 | @fontSizeLarge: @baseFontSize * 1.25; // ~18px 66 | @fontSizeSmall: @baseFontSize * 0.85; // ~12px 67 | @fontSizeMini: @baseFontSize * 0.75; // ~11px 68 | 69 | @paddingLarge: 11px 19px; // 44px 70 | @paddingSmall: 2px 10px; // 26px 71 | @paddingMini: 0 6px; // 22px 72 | 73 | @baseBorderRadius: 4px; 74 | @borderRadiusLarge: 6px; 75 | @borderRadiusSmall: 3px; 76 | 77 | 78 | // Tables 79 | // ------------------------- 80 | @tableBackground: transparent; // overall background-color 81 | @tableBackgroundAccent: #f9f9f9; // for striping 82 | @tableBackgroundHover: #f5f5f5; // for hover 83 | @tableBorder: #ddd; // table and cell border 84 | 85 | // Buttons 86 | // ------------------------- 87 | @btnBackground: @white; 88 | @btnBackgroundHighlight: darken(@white, 10%); 89 | @btnBorder: #ccc; 90 | 91 | @btnPrimaryBackground: @linkColor; 92 | @btnPrimaryBackgroundHighlight: spin(@btnPrimaryBackground, 20%); 93 | 94 | @btnInfoBackground: #5bc0de; 95 | @btnInfoBackgroundHighlight: #2f96b4; 96 | 97 | @btnSuccessBackground: #62c462; 98 | @btnSuccessBackgroundHighlight: #51a351; 99 | 100 | @btnWarningBackground: lighten(@orange, 15%); 101 | @btnWarningBackgroundHighlight: @orange; 102 | 103 | @btnDangerBackground: #ee5f5b; 104 | @btnDangerBackgroundHighlight: #bd362f; 105 | 106 | @btnInverseBackground: #444; 107 | @btnInverseBackgroundHighlight: @grayDarker; 108 | 109 | 110 | // Forms 111 | // ------------------------- 112 | @inputBackground: @white; 113 | @inputBorder: #ccc; 114 | @inputBorderRadius: @baseBorderRadius; 115 | @inputDisabledBackground: @grayLighter; 116 | @formActionsBackground: #f5f5f5; 117 | @inputHeight: @baseLineHeight + 10px; // base line-height + 8px vertical padding + 2px top/bottom border 118 | 119 | 120 | // Dropdowns 121 | // ------------------------- 122 | @dropdownBackground: @white; 123 | @dropdownBorder: rgba(0,0,0,.2); 124 | @dropdownDividerTop: #e5e5e5; 125 | @dropdownDividerBottom: @white; 126 | 127 | @dropdownLinkColor: @grayDark; 128 | @dropdownLinkColorHover: @white; 129 | @dropdownLinkColorActive: @white; 130 | 131 | @dropdownLinkBackgroundActive: @linkColor; 132 | @dropdownLinkBackgroundHover: @dropdownLinkBackgroundActive; 133 | 134 | 135 | 136 | // COMPONENT VARIABLES 137 | // -------------------------------------------------- 138 | 139 | 140 | // Z-index master list 141 | // ------------------------- 142 | // Used for a bird's eye view of components dependent on the z-axis 143 | // Try to avoid customizing these :) 144 | @zindexDropdown: 1000; 145 | @zindexPopover: 1010; 146 | @zindexTooltip: 1030; 147 | @zindexFixedNavbar: 1030; 148 | @zindexModalBackdrop: 1040; 149 | @zindexModal: 1050; 150 | 151 | 152 | // Sprite icons path 153 | // ------------------------- 154 | @iconSpritePath: "../img/glyphicons-halflings.png"; 155 | @iconWhiteSpritePath: "../img/glyphicons-halflings-white.png"; 156 | 157 | 158 | // Input placeholder text color 159 | // ------------------------- 160 | @placeholderText: @grayLight; 161 | 162 | 163 | // Hr border color 164 | // ------------------------- 165 | @hrBorder: @grayLighter; 166 | 167 | 168 | // Horizontal forms & lists 169 | // ------------------------- 170 | @horizontalComponentOffset: 180px; 171 | 172 | 173 | // Wells 174 | // ------------------------- 175 | @wellBackground: #f5f5f5; 176 | 177 | 178 | // Navbar 179 | // ------------------------- 180 | @navbarCollapseWidth: 979px; 181 | @navbarCollapseDesktopWidth: @navbarCollapseWidth + 1; 182 | 183 | @navbarHeight: 40px; 184 | @navbarBackgroundHighlight: #ffffff; 185 | @navbarBackground: darken(@navbarBackgroundHighlight, 5%); 186 | @navbarBorder: darken(@navbarBackground, 12%); 187 | 188 | @navbarText: #777; 189 | @navbarLinkColor: #777; 190 | @navbarLinkColorHover: @grayDark; 191 | @navbarLinkColorActive: @gray; 192 | @navbarLinkBackgroundHover: transparent; 193 | @navbarLinkBackgroundActive: darken(@navbarBackground, 5%); 194 | 195 | @navbarBrandColor: @navbarLinkColor; 196 | 197 | // Inverted navbar 198 | @navbarInverseBackground: #111111; 199 | @navbarInverseBackgroundHighlight: #222222; 200 | @navbarInverseBorder: #252525; 201 | 202 | @navbarInverseText: @grayLight; 203 | @navbarInverseLinkColor: @grayLight; 204 | @navbarInverseLinkColorHover: @white; 205 | @navbarInverseLinkColorActive: @navbarInverseLinkColorHover; 206 | @navbarInverseLinkBackgroundHover: transparent; 207 | @navbarInverseLinkBackgroundActive: @navbarInverseBackground; 208 | 209 | @navbarInverseSearchBackground: lighten(@navbarInverseBackground, 25%); 210 | @navbarInverseSearchBackgroundFocus: @white; 211 | @navbarInverseSearchBorder: @navbarInverseBackground; 212 | @navbarInverseSearchPlaceholderColor: #ccc; 213 | 214 | @navbarInverseBrandColor: @navbarInverseLinkColor; 215 | 216 | 217 | // Pagination 218 | // ------------------------- 219 | @paginationBackground: #fff; 220 | @paginationBorder: #ddd; 221 | @paginationActiveBackground: #f5f5f5; 222 | 223 | 224 | // Hero unit 225 | // ------------------------- 226 | @heroUnitBackground: @grayLighter; 227 | @heroUnitHeadingColor: inherit; 228 | @heroUnitLeadColor: inherit; 229 | 230 | 231 | // Form states and alerts 232 | // ------------------------- 233 | @warningText: #c09853; 234 | @warningBackground: #fcf8e3; 235 | @warningBorder: darken(spin(@warningBackground, -10), 3%); 236 | 237 | @errorText: #b94a48; 238 | @errorBackground: #f2dede; 239 | @errorBorder: darken(spin(@errorBackground, -10), 3%); 240 | 241 | @successText: #468847; 242 | @successBackground: #dff0d8; 243 | @successBorder: darken(spin(@successBackground, -10), 5%); 244 | 245 | @infoText: #3a87ad; 246 | @infoBackground: #d9edf7; 247 | @infoBorder: darken(spin(@infoBackground, -10), 7%); 248 | 249 | 250 | // Tooltips and popovers 251 | // ------------------------- 252 | @tooltipColor: #fff; 253 | @tooltipBackground: #000; 254 | @tooltipArrowWidth: 5px; 255 | @tooltipArrowColor: @tooltipBackground; 256 | 257 | @popoverBackground: #fff; 258 | @popoverArrowWidth: 10px; 259 | @popoverArrowColor: #fff; 260 | @popoverTitleBackground: darken(@popoverBackground, 3%); 261 | 262 | // Special enhancement for popovers 263 | @popoverArrowOuterWidth: @popoverArrowWidth + 1; 264 | @popoverArrowOuterColor: rgba(0,0,0,.25); 265 | 266 | 267 | 268 | // GRID 269 | // -------------------------------------------------- 270 | 271 | 272 | // Default 940px grid 273 | // ------------------------- 274 | @gridColumns: 12; 275 | @gridColumnWidth: 60px; 276 | @gridGutterWidth: 20px; 277 | @gridRowWidth: (@gridColumns * @gridColumnWidth) + (@gridGutterWidth * (@gridColumns - 1)); 278 | 279 | // 1200px min 280 | @gridColumnWidth1200: 70px; 281 | @gridGutterWidth1200: 30px; 282 | @gridRowWidth1200: (@gridColumns * @gridColumnWidth1200) + (@gridGutterWidth1200 * (@gridColumns - 1)); 283 | 284 | // 768px-979px 285 | @gridColumnWidth768: 42px; 286 | @gridGutterWidth768: 20px; 287 | @gridRowWidth768: (@gridColumns * @gridColumnWidth768) + (@gridGutterWidth768 * (@gridColumns - 1)); 288 | 289 | 290 | // Fluid grid 291 | // ------------------------- 292 | @fluidGridColumnWidth: percentage(@gridColumnWidth/@gridRowWidth); 293 | @fluidGridGutterWidth: percentage(@gridGutterWidth/@gridRowWidth); 294 | 295 | // 1200px min 296 | @fluidGridColumnWidth1200: percentage(@gridColumnWidth1200/@gridRowWidth1200); 297 | @fluidGridGutterWidth1200: percentage(@gridGutterWidth1200/@gridRowWidth1200); 298 | 299 | // 768px-979px 300 | @fluidGridColumnWidth768: percentage(@gridColumnWidth768/@gridRowWidth768); 301 | @fluidGridGutterWidth768: percentage(@gridGutterWidth768/@gridRowWidth768); 302 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/bootstrap/wells.less: -------------------------------------------------------------------------------- 1 | // 2 | // Wells 3 | // -------------------------------------------------- 4 | 5 | 6 | // Base class 7 | .well { 8 | min-height: 20px; 9 | padding: 19px; 10 | margin-bottom: 20px; 11 | background-color: @wellBackground; 12 | border: 1px solid darken(@wellBackground, 7%); 13 | .border-radius(@baseBorderRadius); 14 | .box-shadow(inset 0 1px 1px rgba(0,0,0,.05)); 15 | blockquote { 16 | border-color: #ddd; 17 | border-color: rgba(0,0,0,.15); 18 | } 19 | } 20 | 21 | // Sizes 22 | .well-large { 23 | padding: 24px; 24 | .border-radius(@borderRadiusLarge); 25 | } 26 | .well-small { 27 | padding: 9px; 28 | .border-radius(@borderRadiusSmall); 29 | } 30 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/spc-bootstrap.less: -------------------------------------------------------------------------------- 1 | // spc bootstrap settings 2 | @import "bootstrap/bootstrap.less"; 3 | @import "bootstrap/responsive.less"; 4 | 5 | // google webfont 6 | @import url(https://fonts.googleapis.com/css?family=Open+Sans); 7 | 8 | //Typography 9 | @sansFontFamily: 'Open Sans', sans-serif !important; 10 | @baseFontSize: 13px; 11 | @baseLineHeight: 19px; 12 | 13 | //Colors 14 | @blue: #12567D; 15 | 16 | //Sprites 17 | @iconSpritePath: '../../img/glyphicons-halflings.png'; 18 | @iconWhiteSpritePath: '../../img/glyphicons-halflings-white.png'; 19 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/spc-content.less: -------------------------------------------------------------------------------- 1 | @import "spc-utils.less"; 2 | @import "bootstrap/variables.less"; 3 | 4 | .spc-page-title { 5 | h1, h2, h3, h4 { 6 | font-weight: normal; 7 | .underline; 8 | } 9 | } 10 | 11 | //tags -- deprecated 12 | // need to design 13 | .tags .btn { 14 | border: none; 15 | font-size: 9.5px; 16 | font-weight: bold; 17 | } 18 | 19 | // search item specific settings 20 | .spc-search-result { 21 | &-title { 22 | h1, h2, h3, h4 { font-weight: normal; } 23 | } 24 | } 25 | 26 | // snippet specific settings 27 | .spc-snippet-header { 28 | margin-bottom: 5px; 29 | } 30 | 31 | .spc-snippet-info { 32 | padding-top: 10px; 33 | 34 | .dl-horizontal { 35 | margin: 5px; 36 | dt { font-weight: normal; } 37 | } 38 | } 39 | 40 | .spc-snippet-body { 41 | padding: 10px; 42 | 43 | .accordion-group { 44 | border: none; 45 | } 46 | 47 | .accordion-heading { 48 | text-transform: uppercase; 49 | font-size: 14px; 50 | border-bottom: 1px solid #e5e5e5; 51 | } 52 | 53 | .accordion-heading .accordion-toggle { 54 | padding-top: 10px; 55 | padding-bottom: 5px; 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /_theme/scipy/static/less/spc-extend.less: -------------------------------------------------------------------------------- 1 | //spc extend settings 2 | 3 | body { 4 | background-color: rgb(249,250,245); 5 | } 6 | 7 | .container { 8 | width: 80%; 9 | } 10 | 11 | .main { 12 | background-color: white; 13 | padding: 18px; 14 | -moz-box-shadow: 0 0 3px #888; 15 | -webkit-box-shadow: 0 0 3px #888; 16 | box-shadow: 0 0 3px #888; 17 | } 18 | 19 | @import "spc-header.less"; 20 | @import "spc-content.less"; 21 | @import "spc-rightsidebar.less"; 22 | @import "spc-footer.less"; -------------------------------------------------------------------------------- /_theme/scipy/static/less/spc-footer.less: -------------------------------------------------------------------------------- 1 | @import "bootstrap/variables.less"; 2 | 3 | //footer-outside 4 | .footer { 5 | padding: 5px; 6 | font-size: small; 7 | } 8 | 9 | //footer inside yet to be done (may be not required). -------------------------------------------------------------------------------- /_theme/scipy/static/less/spc-header.less: -------------------------------------------------------------------------------- 1 | // settings for 2 | // 1) .header 3 | // header block is found on the top of the website 4 | // spc-navbar, spc-header-searchbar found inside .header 5 | // 2) .spc-navbar 6 | // 3) .spc-header-searchbar 7 | 8 | @import "spc-utils.less"; 9 | 10 | .header { 11 | .margin(@top: 15px, @bottom: 15px); 12 | } 13 | 14 | .spc-navbar { 15 | .margin (@top: 15px, @bottom: 5px); 16 | .nav-pills { 17 | margin-bottom: 0px; 18 | font-size: 12px; 19 | 20 | >li >a { 21 | padding-top: 2.5px; 22 | padding-bottom: 2.5px; 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /_theme/scipy/static/less/spc-rightsidebar.less: -------------------------------------------------------------------------------- 1 | @import "bootstrap/variables.less"; 2 | 3 | .spc-rightsidebar { 4 | color: @gray; 5 | .navigation { 6 | padding: @paddingSmall; 7 | font-size: @fontSizeSmall; 8 | } 9 | .navigation .nav-title { 10 | font-weight: bold; 11 | text-transform: uppercase; 12 | } 13 | .navigation li { margin: 5px; } 14 | } -------------------------------------------------------------------------------- /_theme/scipy/static/less/spc-utils.less: -------------------------------------------------------------------------------- 1 | // LESS Utilities for spc 2 | @import "bootstrap/variables.less"; 3 | 4 | .padding (@top: 0px, @bottom: 0px, @left: 0px, @right: 0px) { 5 | padding-top: @top; 6 | padding-bottom: @bottom; 7 | padding-left: @left; 8 | padding-right: @right; 9 | } 10 | 11 | .margin (@top: 0px, @bottom: 0px, @left: 0px, @right: 0px) { 12 | margin-top: @top; 13 | margin-bottom: @bottom; 14 | margin-left: @left; 15 | margin-right:@right; 16 | } 17 | 18 | .underline { 19 | border-bottom: 1.5px solid @hrBorder; 20 | } 21 | -------------------------------------------------------------------------------- /_theme/scipy/static/scipy.css_t: -------------------------------------------------------------------------------- 1 | /* -*- css -*- 2 | * 3 | * sphinxdoc.css_t 4 | * ~~~~~~~~~~~~~~~ 5 | * 6 | * Sphinx stylesheet -- sphinxdoc theme. Originally created by 7 | * Armin Ronacher for Werkzeug. 8 | * 9 | * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS. 10 | * :license: BSD, see LICENSE for details. 11 | * 12 | */ 13 | 14 | @import url("basic.css"); 15 | 16 | @import url("css/scipy-central.css"); 17 | 18 | 19 | /* 20 | * General tweaks 21 | */ 22 | 23 | div.container-navbar-bottom { 24 | margin-top: 0; 25 | } 26 | 27 | div.container-navbar-bottom div.spc-navbar { 28 | margin-top: 0; 29 | } 30 | 31 | div.spc-navbar { 32 | margin: 0; 33 | } 34 | 35 | tt { 36 | color: inherit; 37 | font: inherit; 38 | } 39 | 40 | tt.literal { 41 | font-family: monospace; 42 | padding-left: 2px; 43 | background-color: rgb(242, 242, 242); 44 | } 45 | 46 | a tt.literal { 47 | border: none; 48 | background-color: inherit; 49 | } 50 | 51 | tt.xref { 52 | font-family: inherit; 53 | border: none; 54 | background-color: inherit; 55 | font-weight: normal; 56 | padding-left: 0px; 57 | } 58 | 59 | tt.descname { 60 | font-size: 16px; 61 | } 62 | 63 | code { 64 | color: inherit; 65 | font: inherit; 66 | padding: inherit; 67 | border: inherit; 68 | } 69 | 70 | code.literal { 71 | font-family: monospace; 72 | padding-left: 2px; 73 | background-color: rgb(242, 242, 242); 74 | } 75 | 76 | a code.literal { 77 | border: none; 78 | background-color: inherit; 79 | } 80 | 81 | code.xref { 82 | font-family: inherit; 83 | border-bottom: none; 84 | background-color: inherit; 85 | padding-left: 0px; 86 | } 87 | 88 | code.descname { 89 | font-size: 16px; 90 | } 91 | 92 | dl.class > dt > em { 93 | font-weight: normal; 94 | } 95 | 96 | dl.function > dt > em { 97 | font-weight: normal; 98 | } 99 | 100 | dl.method > dt > em { 101 | font-weight: normal; 102 | } 103 | 104 | pre { 105 | border-radius: 0; 106 | border: none; 107 | font-family: monospace; 108 | } 109 | 110 | 111 | /* 112 | * Field lists 113 | */ 114 | 115 | table.field-list { 116 | border-collapse: collapse; 117 | border-spacing: 5px; 118 | margin-left: 1px; 119 | border-left: 5px solid rgb(238, 238, 238) !important; 120 | } 121 | 122 | table.field-list th.field-name { 123 | display: inline-block; 124 | padding: 1px 8px 1px 5px; 125 | white-space: nowrap; 126 | background-color: rgb(238, 238, 238); 127 | } 128 | 129 | table.field-list td.field-body { 130 | border-left: none !important; 131 | } 132 | 133 | table.field-list td.field-body > p { 134 | font-style: italic; 135 | } 136 | 137 | table.field-list td.field-body > p > strong { 138 | font-style: normal; 139 | } 140 | 141 | td.field-body blockquote { 142 | border-left: none; 143 | margin: 0; 144 | padding-left: 30px; 145 | } 146 | 147 | td.field-body blockquote p, 148 | dl.class blockquote p, 149 | dl.function blockquote p, 150 | dl.method blockquote p 151 | { 152 | font-family: inherit; 153 | font-size: inherit; 154 | font-weight: inherit; 155 | line-height: inherit; 156 | } 157 | 158 | 159 | /* 160 | * Sidebars and top logo 161 | */ 162 | 163 | div.sphinxsidebarwrapper { 164 | overflow: hidden; 165 | } 166 | 167 | div.spc-rightsidebar h3 { 168 | font-size: 120%; 169 | line-height: inherit; 170 | border-bottom: none; 171 | } 172 | 173 | div.spc-rightsidebar h4 { 174 | font-size: 120%; 175 | line-height: inherit; 176 | border-bottom: none; 177 | } 178 | 179 | div.top-scipy-org-logo-header { 180 | text-align: left; 181 | background-color: rgb(140, 170, 230); 182 | border-bottom: 8px solid rgb(0, 51, 153); 183 | margin-top: 10px; 184 | padding: 5px; 185 | box-shadow: 0px 0px 3px rgb(136, 136, 136); 186 | } 187 | 188 | 189 | /* 190 | * Headers 191 | */ 192 | 193 | h1 a { color: rgb(85, 85, 85); } 194 | h2 a { color: rgb(85, 85, 85); } 195 | h3 a { color: rgb(85, 85, 85); } 196 | h4 a { color: rgb(85, 85, 85); } 197 | h5 a { color: rgb(85, 85, 85); } 198 | h6 a { color: rgb(85, 85, 85); } 199 | 200 | h1 tt { font: inherit; border-bottom: none; } 201 | h2 tt { font: inherit; border-bottom: none; } 202 | h3 tt { font: inherit; border-bottom: none; } 203 | h4 tt { font: inherit; border-bottom: none; } 204 | h5 tt { font: inherit; border-bottom: none; } 205 | h6 tt { font: inherit; border-bottom: none; } 206 | 207 | h1 code { font: inherit; border: none; background-color: inherit; padding: inherit; } 208 | h2 code { font: inherit; border: none; background-color: inherit; padding: inherit; } 209 | h3 code { font: inherit; border: none; background-color: inherit; padding: inherit; } 210 | h4 code { font: inherit; border: none; background-color: inherit; padding: inherit; } 211 | h5 code { font: inherit; border: none; background-color: inherit; padding: inherit; } 212 | h6 code { font: inherit; border: none; background-color: inherit; padding: inherit; } 213 | 214 | div#spc-section-body h1 { color: rgb(85, 85, 85); } 215 | div#spc-section-body h2 { color: rgb(85, 85, 85); } 216 | div#spc-section-body h3 { color: rgb(85, 85, 85); } 217 | div#spc-section-body h4 { color: rgb(85, 85, 85); border-bottom: none; } 218 | div#spc-section-body h5 { color: rgb(85, 85, 85); border-bottom: none; } 219 | div#spc-section-body h6 { color: rgb(85, 85, 85); border-bottom: none; } 220 | 221 | p.rubric { 222 | color: rgb(85, 85, 85); 223 | font-size: 120%; 224 | font-weight: normal; 225 | border-bottom: 1px solid rgb(204, 204, 204); 226 | } 227 | 228 | 229 | /* 230 | * Tables 231 | */ 232 | 233 | table.citation { 234 | border: none; 235 | } 236 | 237 | table.docutils td, table.docutils th { 238 | border: none; 239 | /* align column names (left col) to first line of 240 | multi-line descriptions (right col) */ 241 | vertical-align: top; 242 | } 243 | 244 | table.docutils { 245 | margin-bottom: 9.5px; 246 | } 247 | 248 | table.align-default { /* left align tables like in old Sphinx */ 249 | margin-left: 0; 250 | margin-right: auto; 251 | } 252 | 253 | /* 254 | * Admonitions 255 | */ 256 | 257 | p.admonition-title { 258 | display: inline; 259 | } 260 | 261 | p.admonition-title:after { 262 | content: ":"; 263 | } 264 | 265 | div.seealso { 266 | background-color: #ffc; 267 | border: 1px solid #ff6; 268 | } 269 | 270 | div.seealso dt { 271 | float: left; 272 | clear: left; 273 | min-width: 4em; 274 | padding-right: 1em; 275 | } 276 | 277 | div.seealso dd { 278 | margin-top: 0; 279 | margin-bottom: 0; 280 | } 281 | 282 | div.warning { 283 | background-color: #ffe4e4; 284 | border: 1px solid #f66; 285 | } 286 | 287 | div.note { 288 | background-color: #eee; 289 | border: 1px solid #ccc; 290 | } 291 | -------------------------------------------------------------------------------- /_theme/scipy/theme.conf: -------------------------------------------------------------------------------- 1 | [theme] 2 | inherit = basic 3 | stylesheet = scipy.css 4 | pygments_style = friendly 5 | 6 | [options] 7 | edit_link = false 8 | rootlinks = [] 9 | sidebar = left 10 | scipy_org_logo = 11 | navigation_links = true 12 | -------------------------------------------------------------------------------- /conf.py: -------------------------------------------------------------------------------- 1 | needs_sphinx = '1.1' 2 | 3 | extensions = ['sphinx.ext.autodoc', 'sphinx.ext.imgmath', 'numpydoc', 4 | 'sphinx.ext.intersphinx', 'sphinx.ext.coverage', 5 | 'sphinx.ext.autosummary', 'matplotlib.sphinxext.plot_directive'] 6 | 7 | templates_path = ['_templates'] 8 | source_suffix = '.rst' 9 | master_doc = 'index' 10 | project = u'scipy-sphinx-theme' 11 | copyright = u'2013, Surya Kasturi and Pauli Virtanen' 12 | version = '0.1' 13 | release = '0.1' 14 | exclude_patterns = ['_build'] 15 | pygments_style = 'sphinx' 16 | 17 | # -- Options for HTML output --------------------------------------------------- 18 | 19 | html_theme = 'scipy' 20 | html_theme_path = ['_theme'] 21 | #html_logo = '_static/scipyshiny_small.png' 22 | html_static_path = ['_static'] 23 | html_theme_options = { 24 | "edit_link": "true", 25 | "sidebar": "right", 26 | "scipy_org_logo": "true", 27 | "rootlinks": [("http://scipy.org/", "Scipy.org"), 28 | ("http://docs.scipy.org/", "Docs")] 29 | } 30 | 31 | 32 | #------------------------------------------------------------------------------ 33 | # Plot style 34 | #------------------------------------------------------------------------------ 35 | 36 | plot_pre_code = """ 37 | import numpy as np 38 | import scipy as sp 39 | np.random.seed(123) 40 | """ 41 | plot_include_source = True 42 | plot_formats = [('png', 96), 'pdf'] 43 | plot_html_show_formats = False 44 | 45 | import math 46 | phi = (math.sqrt(5) + 1)/2 47 | 48 | font_size = 13*72/96.0 # 13 px 49 | 50 | plot_rcparams = { 51 | 'font.size': font_size, 52 | 'axes.titlesize': font_size, 53 | 'axes.labelsize': font_size, 54 | 'xtick.labelsize': font_size, 55 | 'ytick.labelsize': font_size, 56 | 'legend.fontsize': font_size, 57 | 'figure.figsize': (3*phi, 3), 58 | 'figure.subplot.bottom': 0.2, 59 | 'figure.subplot.left': 0.2, 60 | 'figure.subplot.right': 0.9, 61 | 'figure.subplot.top': 0.85, 62 | 'figure.subplot.wspace': 0.4, 63 | 'text.usetex': False, 64 | } 65 | -------------------------------------------------------------------------------- /examples/newton_krylov_preconditioning.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | from scipy.optimize import root 3 | from scipy.sparse import spdiags, kron 4 | from scipy.sparse.linalg import spilu, LinearOperator 5 | from numpy import cosh, zeros_like, mgrid, zeros, eye 6 | 7 | # parameters 8 | nx, ny = 75, 75 9 | hx, hy = 1./(nx-1), 1./(ny-1) 10 | 11 | P_left, P_right = 0, 0 12 | P_top, P_bottom = 1, 0 13 | 14 | def get_preconditioner(): 15 | """Compute the preconditioner M""" 16 | diags_x = zeros((3, nx)) 17 | diags_x[0,:] = 1/hx/hx 18 | diags_x[1,:] = -2/hx/hx 19 | diags_x[2,:] = 1/hx/hx 20 | Lx = spdiags(diags_x, [-1,0,1], nx, nx) 21 | 22 | diags_y = zeros((3, ny)) 23 | diags_y[0,:] = 1/hy/hy 24 | diags_y[1,:] = -2/hy/hy 25 | diags_y[2,:] = 1/hy/hy 26 | Ly = spdiags(diags_y, [-1,0,1], ny, ny) 27 | 28 | J1 = kron(Lx, eye(ny)) + kron(eye(nx), Ly) 29 | 30 | # Now we have the matrix `J_1`. We need to find its inverse `M` -- 31 | # however, since an approximate inverse is enough, we can use 32 | # the *incomplete LU* decomposition 33 | 34 | J1_ilu = spilu(J1) 35 | 36 | # This returns an object with a method .solve() that evaluates 37 | # the corresponding matrix-vector product. We need to wrap it into 38 | # a LinearOperator before it can be passed to the Krylov methods: 39 | 40 | M = LinearOperator(shape=(nx*ny, nx*ny), matvec=J1_ilu.solve) 41 | return M 42 | 43 | def solve(preconditioning=True): 44 | """Compute the solution""" 45 | count = [0] 46 | 47 | def residual(P): 48 | count[0] += 1 49 | 50 | d2x = zeros_like(P) 51 | d2y = zeros_like(P) 52 | 53 | d2x[1:-1] = (P[2:] - 2*P[1:-1] + P[:-2])/hx/hx 54 | d2x[0] = (P[1] - 2*P[0] + P_left)/hx/hx 55 | d2x[-1] = (P_right - 2*P[-1] + P[-2])/hx/hx 56 | 57 | d2y[:,1:-1] = (P[:,2:] - 2*P[:,1:-1] + P[:,:-2])/hy/hy 58 | d2y[:,0] = (P[:,1] - 2*P[:,0] + P_bottom)/hy/hy 59 | d2y[:,-1] = (P_top - 2*P[:,-1] + P[:,-2])/hy/hy 60 | 61 | return d2x + d2y + 5*cosh(P).mean()**2 62 | 63 | # preconditioner 64 | if preconditioning: 65 | M = get_preconditioner() 66 | else: 67 | M = None 68 | 69 | # solve 70 | guess = zeros((nx, ny), float) 71 | 72 | sol = root(residual, guess, method='krylov', 73 | options={'disp': True, 74 | 'jac_options': {'inner_M': M}}) 75 | print('Residual', abs(residual(sol.x)).max()) 76 | print('Evaluations', count[0]) 77 | 78 | return sol.x 79 | 80 | def main(): 81 | sol = solve(preconditioning=True) 82 | 83 | # visualize 84 | import matplotlib.pyplot as plt 85 | x, y = mgrid[0:1:(nx*1j), 0:1:(ny*1j)] 86 | plt.clf() 87 | plt.pcolor(x, y, sol) 88 | plt.clim(0, 1) 89 | plt.colorbar() 90 | plt.show() 91 | 92 | 93 | if __name__ == "__main__": 94 | main() 95 | -------------------------------------------------------------------------------- /index.rst: -------------------------------------------------------------------------------- 1 | .. scipy-sphinx-theme documentation master file, created by 2 | sphinx-quickstart on Sun Apr 21 11:22:24 2013. 3 | You can adapt this file completely to your liking, but it should at least 4 | contain the root `toctree` directive. 5 | 6 | Welcome to scipy-sphinx-theme's documentation! 7 | ============================================== 8 | 9 | The theme is under `_theme`, this document contains various test 10 | pages. 11 | 12 | Contents: 13 | 14 | .. toctree:: 15 | :maxdepth: 2 16 | 17 | README 18 | test_optimize 19 | test_autodoc 20 | test_autodoc_2 21 | test_autodoc_3 22 | test_autodoc_4 23 | 24 | Indices and tables 25 | ================== 26 | 27 | * :ref:`genindex` 28 | * :ref:`modindex` 29 | * :ref:`search` 30 | 31 | -------------------------------------------------------------------------------- /test_autodoc.rst: -------------------------------------------------------------------------------- 1 | scipy.odr.Model 2 | =============== 3 | 4 | .. currentmodule:: scipy.odr 5 | 6 | .. autoclass:: ODR 7 | -------------------------------------------------------------------------------- /test_autodoc_2.rst: -------------------------------------------------------------------------------- 1 | scipy.interpolate.griddata 2 | ========================== 3 | 4 | .. currentmodule:: scipy.interpolate 5 | 6 | .. autofunction:: scipy.interpolate.griddata 7 | -------------------------------------------------------------------------------- /test_autodoc_3.rst: -------------------------------------------------------------------------------- 1 | scipy.odr.ODR.run 2 | ================= 3 | 4 | .. currentmodule:: scipy.odr 5 | 6 | .. automethod:: scipy.odr.ODR.run 7 | 8 | -------------------------------------------------------------------------------- /test_autodoc_4.rst: -------------------------------------------------------------------------------- 1 | scipy.sparse.linalg.eigsh 2 | ========================= 3 | 4 | .. currentmodule:: scipy.sparse.linalg 5 | 6 | .. autofunction:: scipy.sparse.linalg.eigsh 7 | --------------------------------------------------------------------------------